一種邊界網(wǎng)關(guān)協(xié)議的實(shí)現(xiàn)方法和裝置制造方法
【專利摘要】本發(fā)明公開了一種IPv6網(wǎng)絡(luò)中的BGP協(xié)議的實(shí)現(xiàn)方法:BGP speaker將自身對(duì)應(yīng)的各IPv6全球單播地址中的一個(gè)作為自身的IPv6BGP ID,并基于所述IPv6BGP ID與作為通信對(duì)端的BGP speaker之間建立BGP連接并進(jìn)行通信。本發(fā)明同時(shí)公開了一種BGP speaker。應(yīng)用本發(fā)明所述方案,能夠簡(jiǎn)化配置過程并降低對(duì)網(wǎng)絡(luò)規(guī)劃的要求。
【專利說明】一種邊界網(wǎng)關(guān)協(xié)議的實(shí)現(xiàn)方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)技術(shù),特別涉及一種互聯(lián)網(wǎng)協(xié)議版本6 (IPv6, InternetProtocol Vers1n6)網(wǎng)絡(luò)中的邊界網(wǎng)關(guān)協(xié)議(BGP,Border Gateway Protocol)的實(shí)現(xiàn)方法和裝置。
【背景技術(shù)】
[0002]目前,BGP協(xié)議及其擴(kuò)展已經(jīng)在全世界互聯(lián)網(wǎng)中得到了廣泛應(yīng)用。
[0003]通常,將運(yùn)行BGP協(xié)議的路由器稱為BGP speaker, BGP speaker用BGP ID進(jìn)行標(biāo)示?,F(xiàn)有標(biāo)準(zhǔn)中規(guī)定,BGP ID是一個(gè)4字節(jié)的無符號(hào)整數(shù),并配置為BGP speaker的一個(gè)端口的有效IPv4地址。BGP ID是BGP協(xié)議中的一個(gè)重要參數(shù),可用于建立BGP連接以及進(jìn)行最優(yōu)路由選擇等。
[0004]IPv6地址為128位的IP地址,地址資源豐富,可徹底解決目前IPv4網(wǎng)絡(luò)面臨的IP地址資源不足的問題,目前已經(jīng)在全世界范圍內(nèi)得到了廣泛部署。
[0005]最初的BGP協(xié)議是針對(duì)IPv4網(wǎng)絡(luò)設(shè)計(jì)的,不能用于傳遞IPv6路由,但經(jīng)過多協(xié)議擴(kuò)展之后,經(jīng)過能力協(xié)商之后的BGP speaker之間也可以使用BGP協(xié)議來傳遞IPv6路由。
[0006]但是,在純IPv6環(huán)境下,即在僅運(yùn)行IPv6協(xié)議的網(wǎng)絡(luò)(簡(jiǎn)稱為IPv6網(wǎng)絡(luò)沖,將不會(huì)再為路由器配置IPv4地址,相應(yīng)地,也就無法再按照現(xiàn)有方式配置BGP ID,進(jìn)而導(dǎo)致BGP協(xié)議無法運(yùn)行。
[0007]為此,現(xiàn)有技術(shù)中提出了如下解決方式:在IPv6網(wǎng)絡(luò)中,當(dāng)為BGP speaker配置了IPv6相關(guān)信息后,再為其額外配置一個(gè)專門的4字節(jié)無符號(hào)整數(shù)作為BGP ID ;而且,同一個(gè)自治域(AS, Autonomous System)內(nèi)部的BGP speaker的BGP ID需要仔細(xì)規(guī)劃,以避免重復(fù)。
[0008]可見,現(xiàn)有方式中,需要額外配置BGP ID,而且對(duì)網(wǎng)絡(luò)規(guī)劃的要求較高,應(yīng)用起來不夠簡(jiǎn)單方便。
【發(fā)明內(nèi)容】
[0009]有鑒于此,本發(fā)明提供了一種IPv6網(wǎng)絡(luò)中的BGP協(xié)議的實(shí)現(xiàn)方法和裝置,能夠簡(jiǎn)化配置過程并降低對(duì)網(wǎng)絡(luò)規(guī)劃的要求。
[0010]為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:
[0011]一種IPv6網(wǎng)絡(luò)中的BGP協(xié)議的實(shí)現(xiàn)方法,包括:
[0012]BGP speaker將自身對(duì)應(yīng)的各IPv6全球單播地址中的一個(gè)作為自身的IPv6BGPID ;
[0013]基于所述IPv6BGP ID與作為通信對(duì)端的BGP speaker之間建立BGP連接并進(jìn)行通信。
[0014]一種 BGP speaker,該 BGP speaker 應(yīng)用于 IPv6 網(wǎng)絡(luò)中,包括:
[0015]第一處理模塊,用于將所在BGP speaker對(duì)應(yīng)的各IPv6全球單播地址中的一個(gè)作為所在BGP speaker的IPv6BGP ID,并發(fā)送給第二處理模塊;
[0016]所述第二處理模塊,用于基于所述IPv6BGP ID與作為通信對(duì)端的BGP speaker之間建立BGP連接并進(jìn)行通信。
[0017]可見,采用本發(fā)明所述方案,針對(duì)每個(gè)BGP speaker,可直接將其對(duì)應(yīng)的各IPv6全球單播地址中的一個(gè)作為其BGP ID,即IPv6BGP ID,而無需像現(xiàn)有技術(shù)中一樣,在為BGPspeaker配置完IPv6相關(guān)信息后,再為其額外配置一個(gè)4字節(jié)無符號(hào)整數(shù)作為BGP ID,從而簡(jiǎn)化了配置過程;而且,由于IPv6全球單播地址具有唯一性,因此也就無需再針對(duì)各BGPspeaker的IPv6BGP ID進(jìn)行網(wǎng)絡(luò)規(guī)劃,以避免重復(fù),從而降低了對(duì)網(wǎng)絡(luò)規(guī)劃的要求;再有,本發(fā)明所述方案實(shí)現(xiàn)起來簡(jiǎn)單方便,便于普及和推廣。
【專利附圖】
【附圖說明】
[0018]圖1為本發(fā)明IPv6網(wǎng)絡(luò)中的BGP協(xié)議的實(shí)現(xiàn)方法實(shí)施例的流程圖。
【具體實(shí)施方式】
[0019]針對(duì)現(xiàn)有技術(shù)中存在的問題,本發(fā)明中提出一種IPv6網(wǎng)絡(luò)中的BGP協(xié)議的實(shí)現(xiàn)方案,對(duì)BGP ID進(jìn)行擴(kuò)展,允許BGP speaker使用IPv6全球單播地址作為BGP ID,稱為IPv6BGP ID,并充分考慮對(duì)已有BGP協(xié)議的兼容性,只有通過IPv6地址建立BGP連接的BGPspeaker 之間才使用 IPv6BGP ID。
[0020]圖1為本發(fā)明IPv6網(wǎng)絡(luò)中的BGP協(xié)議的實(shí)現(xiàn)方法實(shí)施例的流程圖。如圖1所示,對(duì)于IPv6網(wǎng)絡(luò)中的每個(gè)BGP speaker,其可分別按照步驟11?12所示方式進(jìn)行處理。
[0021]步驟11:BGP speaker將自身對(duì)應(yīng)的各IPv6全球單播地址中的一個(gè)作為自身的IPv6BGP ID0
[0022]BGP speaker可將自身某一端口的IPv6全球單播地址作為自身的BGP ID,由于該BGP ID為IPv6全球單播地址,因此稱為IPv6BGP ID。
[0023]BGP speaker具體將哪個(gè)IPv6全球單播地址作為IPv6BGP ID可根據(jù)實(shí)際情況而定,并可通過配置進(jìn)行設(shè)定,或者按照一定規(guī)則自行設(shè)定。
[0024]步驟12:BGP speaker基于所述IPv6BGP ID與作為通信對(duì)端的BGP speaker之間建立BGP連接并進(jìn)行通信。
[0025]以下從不同方面,對(duì)本發(fā)明所述方案的具體實(shí)現(xiàn)作進(jìn)一步地詳細(xì)說明。
[0026]一)BGP 連接
[0027]對(duì)于本領(lǐng)域技術(shù)人員公知的內(nèi)容,本發(fā)明中將不作介紹,僅介紹改進(jìn)后的相關(guān)內(nèi)容。
[0028]I)對(duì)于 IPv6 網(wǎng)絡(luò)中的每個(gè)BGP speaker 如BGP speaker x,當(dāng)需要時(shí),BGP speakerX可向BGP speaker y發(fā)送打開(OPEN)消息,將OPEN消息中的BGP ID字段的取值設(shè)置為0,并在OPEN消息中的能力選項(xiàng)字段中攜帶自身的IPv6BGP ID。
[0029]為便于表述和區(qū)分,將發(fā)送OPEN消息的BGP speaker稱為BGP speaker x,將接收OPEN 消息的 BGP speaker 稱為 BGP speaker y。
[0030]現(xiàn)有技術(shù)中,能力選項(xiàng)字段中通常會(huì)進(jìn)一步包括以下三個(gè)字段:能力代碼(Capability Code)、能力長(zhǎng)度(Capability Length)以及能力值(Capability Value)。
[0031]本發(fā)明所述方案中,可用Capability Value字段來攜帶IPv6BGP ID ;相應(yīng)地,將Capability Length字段的取值設(shè)置為16,即Capability Length字段用于指示Capability Value字段的長(zhǎng)度為16字節(jié);Capability Code字段的取值可為O?255之間的一個(gè)整數(shù),具體取值可在后續(xù)向互聯(lián)網(wǎng)數(shù)字分配機(jī)構(gòu)(IANA, Internet AssignedNumbers Authority)進(jìn)行申請(qǐng),Capability Code字段用于指示所在能力選項(xiàng)為IPv6BGPID能力選項(xiàng)。
[0032]2) BGP speaker y接收到BGP speaker x發(fā)送來的OPEN消息后,可確定其中的BGP ID字段的取值是否為O ;如果是,則可進(jìn)一步確定其中的IPv6BGP ID能力選項(xiàng)字段中是否攜帶有一個(gè)合法有效的IPv6全球單播地址;如果是,則將該IPv6全球單播地址作為BGP speaker x 的 IPv6BGP ID。
[0033]如果BGP speaker y確定BGP ID字段的取值為0,但I(xiàn)Pv6BGP ID能力選項(xiàng)字段中未攜帶有一個(gè)合法有效的IPv6全球單播地址,則可產(chǎn)生一個(gè)通知(Notificat1n)消息,并將該Notificat1n消息返回給BGP speaker x,以通知BGP speaker x發(fā)生了錯(cuò)誤。其中,將Notificat1n消息中的錯(cuò)誤代碼(Error Code)字段的取值設(shè)置為2(表示Open MessageError,打開消息錯(cuò)誤),將Notificat1n消息中的錯(cuò)誤子碼(Error Subcode)字段的取值設(shè)置為3 (表示Bad BGP Identifier,錯(cuò)誤的BGP標(biāo)示)。
[0034]另外,如果BGP speaker y確定BGP ID字段的取值不為0,則可按照現(xiàn)有方式進(jìn)行處理。
[0035]再有,BGP speaker y正確獲取到BGP speaker x的IPv6BGP ID后,如果檢測(cè)至IjBGP連接沖突,則可將自身的IPv6BGP ID與BGP speaker x的IPv6BGP ID分別轉(zhuǎn)換成16字節(jié)無符號(hào)整數(shù)后進(jìn)行比較,選出一個(gè)取值較大的IPv6BGP ID,保留選出的IPv6BGP ID對(duì)應(yīng)的BGP speaker發(fā)起的BGP連接,斷開未選出的IPv6BGP ID對(duì)應(yīng)的BGP speaker發(fā)起的BGP連接。
[0036]綜合上述介紹,當(dāng)BGP speaker y接收到BGP speaker x發(fā)送來的OPEN消息后,可進(jìn)行如下處理:
[0037]A、確定其中的BGP ID字段的取值是否為0,如果否,則將該OPEN消息按照不含IPv6BGP ID的方式進(jìn)行處理,即按照現(xiàn)有方式進(jìn)行處理,如果是,則執(zhí)行步驟B ;
[0038]B、確定IPv6BGP ID能力選項(xiàng)字段中的Capability Value字段中是否攜帶有一個(gè)合法有效的IPv6全球單播地址,如果否,則產(chǎn)生一個(gè)Notificat1n消息,并將其中的Error Code字段的取值設(shè)置為2,將其中的Error Subcode字段的取值設(shè)置為3,將該Notificat1n消息返回給BGP speaker x,如果是,則執(zhí)行步驟C ;
[0039]C、確定與BGP speaker x之間的BGP連接狀態(tài)是否發(fā)生沖突,如果發(fā)生沖突,SPBGP speaker x 向 BGP speaker y 發(fā)起了 BGP 連接,BGP speaker y 也向 BGP speaker x 發(fā)起了 BGP連接,則將自身的IPv6BGP ID與BGP speaker x的IPv6BGP ID分別轉(zhuǎn)換成16字節(jié)無符號(hào)整數(shù)后進(jìn)行比較,并從兩個(gè)IPv6BGP ID中選出一個(gè)取值較大的IPv6BGP ID,保留選出的IPv6BGP ID對(duì)應(yīng)的BGP speaker發(fā)起的BGP連接,斷開未選出的IPv6BGP ID對(duì)應(yīng)的BGP speaker發(fā)起的BGP連接。
[0040]需要說明的是,上述從兩個(gè)IPv6BGP ID中選出一個(gè)取值較大的IPv6BGP ID的方式僅為舉例說明,并不用于限制本發(fā)明的技術(shù)方案,從實(shí)現(xiàn)上來說,如果選擇取值較小的,也是可以的。
[0041]二)聚匯(Aggregator)屬性
[0042]BGP協(xié)議中包括多個(gè)BGP屬性,其中一個(gè)即為Aggregator屬性,Aggregator屬性中也需要用到BGP ID,因此也需要對(duì)Aggregator屬性進(jìn)行擴(kuò)展。
[0043]現(xiàn)有標(biāo)準(zhǔn)中規(guī)定,Aggregator屬性中包括類型(Type)、長(zhǎng)度(Length)和取值(Value)等字段,其中,Type字段的取值為7,Length字段的取值為6 (6個(gè)字節(jié)),Value字段中包括2個(gè)字節(jié)的AS號(hào)+ 4個(gè)字節(jié)的BGP ID (IPv4地址);而經(jīng)擴(kuò)展后,Type字段的取值仍為7,但Length字段的取值則為18 (18個(gè)字節(jié)),Value字段中則包括2個(gè)字節(jié)的AS號(hào)+ 16個(gè)字節(jié)的BGP ID (IPv6地址)。
[0044]具體來說,對(duì)于IPv6網(wǎng)絡(luò)中的每個(gè)BGP speaker,當(dāng)需要進(jìn)行路由匯聚時(shí),該BGPspeaker可將Aggregator屬性中的Length字段的取值設(shè)置為18,并將其中的Value字段設(shè)置為包括:2字節(jié)的該BGP speaker的AS號(hào),以及16字節(jié)的該BGP speaker的IPv6BGPID。
[0045]三)路由選擇
[0046]對(duì)于IPv6網(wǎng)絡(luò)中的每個(gè)BGP speaker,當(dāng)需要選擇不同BGP speaker宣告的路由時(shí),
[0047]如果同一路由分別來自兩個(gè)不同的BGP speaker,且其中一個(gè)BGP speaker的BGPID 為 IPv4BGP ID,而另一個(gè) BGP speaker 的 BGP ID 為 IPv6BGP ID,則該 BGP speaker 可優(yōu)選 BGP ID 為 IPv6BGP ID 的 BGP speaker 宣告的路由;
[0048]如果同一路由分別來自兩個(gè)不同的BGP speaker,且兩個(gè)BGP speaker的BGP ID均為IPv6BGP ID,則該BGP speaker可將兩個(gè)IPv6BGP ID分別轉(zhuǎn)換成16字節(jié)無符號(hào)整數(shù)后進(jìn)行比較,并優(yōu)選取值較小的IPv6BGP ID對(duì)應(yīng)的BGP speaker宣告的路由。
[0049]需要說明的是,上述優(yōu)選BGP ID為IPv6BGP ID的BGP speaker宣告的路由以及優(yōu)選取值較小的IPv6BGP ID對(duì)應(yīng)的BGP speaker宣告的路由的方式僅為舉例說明,并不用于限制本發(fā)明的技術(shù)方案,從實(shí)現(xiàn)上來說,如果優(yōu)選BGP ID為IPv4BGP ID的BGP speaker宣告的路由以及優(yōu)選取值較大的IPv6BGP ID對(duì)應(yīng)的BGP speaker宣告的路由,也是可以的。
[0050]基于上述介紹,本發(fā)明同時(shí)公開了一種BGP speaker,該BGP speaker應(yīng)用于IPv6網(wǎng)絡(luò)中,包括:
[0051]第一處理模塊,用于將所在BGP speaker對(duì)應(yīng)的各IPv6全球單播地址中的一個(gè)作為所在BGP speaker的IPv6BGP ID,并發(fā)送給第二處理模塊;
[0052]第二處理模塊,用于基于所述IPv6BGP ID與作為通信對(duì)端的BGP speaker之間建立BGP連接并進(jìn)行通信。
[0053]其中,
[0054]第二處理模塊向通信對(duì)端的BGP speaker發(fā)送OPEN消息,將OPEN消息中的BGP ID字段的取值設(shè)置為0,并在OPEN消息中的能力選項(xiàng)字段中攜帶所在BGP speaker的IPv6BGPID0
[0055]所述BGP speaker中還可進(jìn)一步包括:第三處理模塊;
[0056]第三處理模塊,用于當(dāng)接收到通信對(duì)端的BGP speaker發(fā)送來的OPEN消息時(shí),確定OPEN消息中的BGP ID字段的取值是否為O ;如果是,則進(jìn)一步確定OPEN消息中的能力選項(xiàng)字段中是否攜帶有一個(gè)合法有效的IPv6全球單播地址;如果是,則將該IPv6全球單播地址作為通信對(duì)端的BGP speaker的IPv6BGP ID。
[0057]另外,
[0058]第三處理模塊還可進(jìn)一步用于,若確定BGP ID字段的取值為0,但能力選項(xiàng)字段中未攜帶有一個(gè)合法有效的IPv6全球單播地址,則產(chǎn)生一個(gè)Notificat1n消息,并將該Notificat1n消息返回給通信對(duì)端的BGP speaker ;
[0059]其中,將Notificat1n消息中的Error Code字段的取值設(shè)置為2,將Notificat1n消息中的Error Subcode字段的取值設(shè)置為3。
[0060]再有,
[0061]第三處理模塊還可進(jìn)一步用于,當(dāng)檢測(cè)到BGP連接沖突時(shí),從第一處理模塊中獲取所在BGP speaker的IPv6BGP ID,并將所在BGP speaker的IPv6BGP ID以及通信對(duì)端的BGP speaker的IPv6BGP ID分別轉(zhuǎn)換成16字節(jié)無符號(hào)整數(shù)后進(jìn)行比較,選出一個(gè)取值較大的IPv6BGP ID,保留選出的IPv6BGP ID對(duì)應(yīng)的BGP speaker發(fā)起的BGP連接,斷開未選出的IPv6BGP ID對(duì)應(yīng)的BGP speaker發(fā)起的BGP連接。
[0062]所述BGP speaker中還可進(jìn)一步包括:第四處理模塊;
[0063]第四處理模塊,用于當(dāng)需要進(jìn)行路由匯聚時(shí),從第一處理模塊中獲取所在BGPspeaker的IPv6BGP ID,并將BGP屬性中的Aggregator屬性中的Length字段的取值設(shè)置為18,將其中的Value字段設(shè)置為包括:2字節(jié)的所在BGP speaker的AS號(hào),以及16字節(jié)的所在 BGP speaker 的 IPv6BGP ID。
[0064]所述BGP speaker中還可進(jìn)一步包括:第五處理模塊;
[0065]第五處理模塊,用于當(dāng)需要選擇不同BGP speaker宣告的路由時(shí),
[0066]如果同一路由分別來自兩個(gè)不同的BGP speaker,且其中一個(gè)BGP speaker的BGPID 為 IPv4BGP ID,而另一個(gè)BGP speaker 的BGP ID 為 IPv6BGPID 為 IPv6BGPID的BGP speaker宣告的路由;
[0067]如果同一路由分別來自兩個(gè)不同的BGP speaker,且兩個(gè)BGP speaker的BGP ID均為IPv6BGP ID,則將兩個(gè)IPv6BGP ID分別轉(zhuǎn)換成16字節(jié)無符號(hào)整數(shù)后進(jìn)行比較,優(yōu)選取值較小的IPv6BGP ID對(duì)應(yīng)的BGP speaker宣告的路由。
[0068]上述裝置實(shí)施例的具體工作流程請(qǐng)參照前述方法實(shí)施例中的相應(yīng)說明,此處不再贅述。
[0069]總之,采用本發(fā)明所述方案,針對(duì)每個(gè)BGP speaker,可直接將其對(duì)應(yīng)的各IPv6全球單播地址中的一個(gè)作為其BGP ID,即IPv6BGP ID,而無需像現(xiàn)有技術(shù)中一樣,在為BGPspeaker配置完IPv6相關(guān)信息后,再為其額外配置一個(gè)4字節(jié)無符號(hào)整數(shù)作為BGP ID,從而簡(jiǎn)化了配置過程;而且,由于IPv6全球單播地址具有唯一性,因此也就無需再針對(duì)各BGPspeaker的IPv6BGP ID進(jìn)行網(wǎng)絡(luò)規(guī)劃,以避免重復(fù),從而降低了對(duì)網(wǎng)絡(luò)規(guī)劃的要求;再有,本發(fā)明所述方案實(shí)現(xiàn)起來簡(jiǎn)單方便,便于普及和推廣。
[0070]綜上所述,以上僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種互聯(lián)網(wǎng)協(xié)議版本6IPV6網(wǎng)絡(luò)中的邊界網(wǎng)關(guān)協(xié)議BGP的實(shí)現(xiàn)方法,其特征在于,包括: 邊界網(wǎng)關(guān)協(xié)議路由器BGP speaker將自身對(duì)應(yīng)的各IPv6全球單播地址中的一個(gè)作為自身的 IPv6BGP ID ; 基于所述IPv6BGP ID與作為通信對(duì)端的BGP speaker之間建立BGP連接并進(jìn)行通信。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述基于所述IPv6BGPID與所述通信對(duì)端的BGP speaker之間建立BGP連接包括: 向所述通信對(duì)端的BGP speaker發(fā)送打開OPEN消息,將所述OPEN消息中的BGP ID字段的取值設(shè)置為0,并在所述OPEN消息中的能力選項(xiàng)字段中攜帶自身的IPv6BGP ID ; 所述通信對(duì)端的BGP speaker接收到所述OPEN消息后,確定所述BGP ID字段的取值是否為O ;如果是,則進(jìn)一步確定所述能力選項(xiàng)字段中是否攜帶有一個(gè)合法有效的IPv6全球單播地址;如果是,則將該IPv6全球單播地址作為發(fā)送所述OPEN消息的BGP speaker的IPv6BGP ID0
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述將該IPv6全球單播地址作為發(fā)送所述OPEN消息的BGP speaker的IPv6BGP ID之后,進(jìn)一步包括: 若所述通信對(duì)端的BGP speaker檢測(cè)到BGP連接沖突,則將自身的IPv6BGP ID與發(fā)送所述OPEN消息的BGP speaker的IPv6BGP ID分別轉(zhuǎn)換成16字節(jié)無符號(hào)整數(shù)后進(jìn)行比較,選出一個(gè)取值較大的IPv6BGP ID,保留選出的IPv6BGP ID對(duì)應(yīng)的BGP speaker發(fā)起的BGP連接,斷開未選出的IPv6BGP ID對(duì)應(yīng)的BGP speaker發(fā)起的BGP連接。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于, 所述在所述OPEN消息中的能力選項(xiàng)字段中攜帶自身的IPv6BGP ID包括:在所述能力選項(xiàng)字段中的能力值Capability Value字段中攜帶自身的IPv6BGP ID。
5.根據(jù)權(quán)利要求2所述的方法,其特征在于,該方法進(jìn)一步包括: 若確定所述BGP ID字段的取值為0,但所述能力選項(xiàng)字段中未攜帶有一個(gè)合法有效的IPv6全球單播地址,則所述通信對(duì)端的BGP speaker產(chǎn)生一個(gè)通知Notificat1n消息,并將所述Notificat1n消息返回給發(fā)送所述OPEN消息的BGP speaker ; 其中,將所述Notificat1n消息中的錯(cuò)誤代碼Error Code字段的取值設(shè)置為2,將所述Notificat1n消息中的錯(cuò)誤子碼Error Subcode字段的取值設(shè)置為3。
6.根據(jù)權(quán)利要求1?5中任一項(xiàng)所述的方法,其特征在于,該方法進(jìn)一步包括: 當(dāng)需要進(jìn)行路由匯聚時(shí),所述BGP speaker將BGP屬性中的聚匯Aggregator屬性中的長(zhǎng)度Length字段的取值設(shè)置為18,并將其中的取值Value字段設(shè)置為包括:2字節(jié)的所述BGP speaker的自治域AS號(hào),以及16字節(jié)的所述BGP speaker的IPv6BGPID。
7.根據(jù)權(quán)利要求1?5中任一項(xiàng)所述的方法,其特征在于,該方法進(jìn)一步包括: 當(dāng)需要選擇不同BGP speaker宣告的路由時(shí), 如果同一路由分別來自兩個(gè)不同的BGP speaker,且其中一個(gè)BGP speaker的BGP ID為 IPv4BGP ID,而另一個(gè) BGP speaker 的 BGP ID 為 IPv6BGP ID,則所述 BGP speaker 優(yōu)選BGP ID 為 IPv6BGP ID 的 BGP speaker 宣告的路由; 如果同一路由分別來自兩個(gè)不同的BGP speaker,且兩個(gè)BGP speaker的BGP ID均為IPv6BGP ID,則所述BGP speaker將兩個(gè)IPv6BGP ID分別轉(zhuǎn)換成16字節(jié)無符號(hào)整數(shù)后進(jìn)行比較,優(yōu)選取值較小的IPv6BGP ID對(duì)應(yīng)的BGP speaker宣告的路由。
8.一種邊界網(wǎng)關(guān)協(xié)議路由器BGP speaker,其特征在于,該BGP speaker應(yīng)用于互聯(lián)網(wǎng)協(xié)議版本6IPv6網(wǎng)絡(luò)中,包括: 第一處理模塊,用于將所在BGP speaker對(duì)應(yīng)的各IPv6全球單播地址中的一個(gè)作為所在BGP speaker的IPv6BGP ID,并發(fā)送給第二處理模塊; 所述第二處理模塊,用于基于所述IPv6BGP ID與作為通信對(duì)端的BGP speaker之間建立BGP連接并進(jìn)行通信。
9.根據(jù)權(quán)利要求8所述的BGPspeaker,其特征在于, 所述第二處理模塊向所述通信對(duì)端的BGP speaker發(fā)送打開OPEN消息,將所述OPEN消息中的BGP ID字段的取值設(shè)置為0,并在所述OPEN消息中的能力選項(xiàng)字段中攜帶所在BGPspeaker 的 IPv6BGP ID。
10.根據(jù)權(quán)利要求9所述的BGPspeaker,其特征在于, 所述BGP speaker中進(jìn)一步包括:第三處理模塊; 所述第三處理模塊,用于當(dāng)接收到所述通信對(duì)端的BGP speaker發(fā)送來的OPEN消息時(shí),確定所述OPEN消息中的BGP ID字段的取值是否為O ;如果是,則進(jìn)一步確定所述OPEN消息中的能力選項(xiàng)字段中是否攜帶有一個(gè)合法有效的IPv6全球單播地址;如果是,則將該IPv6全球單播地址作為所述通信對(duì)端的BGP speaker的IPv6BGP ID。
11.根據(jù)權(quán)利要求10所述的BGPspeaker,其特征在于, 所述第三處理模塊進(jìn)一步用于,若確定所述BGP ID字段的取值為0,但所述能力選項(xiàng)字段中未攜帶有一個(gè)合法有效的IPv6全球單播地址,則產(chǎn)生一個(gè)通知Notificat1n消息,并將所述Notificat1n消息返回給所述通信對(duì)端的BGP speaker ; 其中,將所述Notificat1n消息中的錯(cuò)誤代碼Error Code字段的取值設(shè)置為2,將所述Notificat1n消息中的錯(cuò)誤子碼Error Subcode字段的取值設(shè)置為3。
12.根據(jù)權(quán)利要求10所述的BGPspeaker,其特征在于, 所述第三處理模塊進(jìn)一步用于,當(dāng)檢測(cè)到BGP連接沖突時(shí),從所述第一處理模塊中獲取所在BGP speaker的IPv6BGP ID,并將所在BGP speaker的IPv6BGP ID以及所述通信對(duì)端的BGP speaker的IPv6BGP ID分別轉(zhuǎn)換成16字節(jié)無符號(hào)整數(shù)后進(jìn)行比較,選出一個(gè)取值較大的IPv6BGP ID,保留選出的IPv6BGP ID對(duì)應(yīng)的BGP speaker發(fā)起的BGP連接,斷開未選出的IPv6BGP ID對(duì)應(yīng)的BGP speaker發(fā)起的BGP連接。
13.根據(jù)權(quán)利要求8?12中任一項(xiàng)所述的BGPspeaker,其特征在于, 所述BGP speaker中進(jìn)一步包括:第四處理模塊; 所述第四處理模塊,用于當(dāng)需要進(jìn)行路由匯聚時(shí),從所述第一處理模塊中獲取所在BGPspeaker的IPv6BGP ID,并將BGP屬性中的聚匯Aggregator屬性中的長(zhǎng)度Length字段的取值設(shè)置為18,將其中的取值Value字段設(shè)置為包括:2字節(jié)的所在BGPspeaker的自治域AS號(hào),以及16字節(jié)的所在BGP speaker的IPv6BGP ID。
14.根據(jù)權(quán)利要求8?12中任一項(xiàng)所述的BGPspeaker,其特征在于, 所述BGP speaker中進(jìn)一步包括:第五處理模塊; 所述第五處理模塊,用于當(dāng)需要選擇不同BGP speaker宣告的路由時(shí), 如果同一路由分別來自兩個(gè)不同的BGP speaker,且其中一個(gè)BGP speaker的BGPID為IPv4BGP ID,而另一個(gè)BGP speaker 的 BGP ID 為 IPv6BGP ID,則優(yōu)選BGP ID 為 IPv6BGP ID的BGP speaker宣告的路由; 如果同一路由分別來自兩個(gè)不同的BGP speaker,且兩個(gè)BGP speaker的BGP ID均為IPv6BGP ID,則將兩個(gè)IPv6BGP ID分別轉(zhuǎn)換成16字節(jié)無符號(hào)整數(shù)后進(jìn)行比較,優(yōu)選取值較小的IPv6BGP ID對(duì)應(yīng)的BGP speaker宣告的路由。
【文檔編號(hào)】H04L29/12GK104426872SQ201310386728
【公開日】2015年3月18日 申請(qǐng)日期:2013年8月30日 優(yōu)先權(quán)日:2013年8月30日
【發(fā)明者】李振強(qiáng) 申請(qǐng)人:中國(guó)移動(dòng)通信集團(tuán)公司