一種bgp鄰居的建立方法及設(shè)備的制作方法
【專利摘要】本發(fā)明提供一種BGP鄰居的建立方法及設(shè)備,方法包括:本端路由器接收對端路由器發(fā)送的鄰居建立請求報文,鄰居建立請求報文攜帶對端路由器的聯(lián)盟標識;在確定對端路由器的聯(lián)盟標識與本端路由器的至少一個配置標識中的一個配置標識相同時,本端路由器與對端路由器建立BGP鄰居。根據(jù)上述方案,通過在本端路由器與對端路由器間建立BGP鄰居所發(fā)送的第一個報文中添加聯(lián)盟標識,以使本端路由器能夠根據(jù)對端路由器的至少一個聯(lián)盟標識中的一個配置標識是否與本端路由器的配置標識相同確定是否與對端路由器建立BGP鄰居,以保證建立BGP鄰居后,同一聯(lián)盟內(nèi)的所有路由器的聯(lián)盟標識相同,從而消除了路由環(huán)路及路由震蕩的問題。
【專利說明】—種BGP鄰居的建立方法及設(shè)備
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信【技術(shù)領(lǐng)域】,特別涉及一種BGP鄰居的建立方法及設(shè)備。
【背景技術(shù)】
[0002]BGP (Border Gateway Protocol,邊界網(wǎng)關(guān)協(xié)議)是一種 AS (Autonomous System,自治系統(tǒng))之間的動態(tài)路由協(xié)議,用于負責本自治系統(tǒng)和外部自治系統(tǒng)間路由的交換。聯(lián)盟(Confederat1n)用于解決AS內(nèi)部的IBGP(Inter1r BGP,內(nèi)部BGP)網(wǎng)絡(luò)連接激增的問題,如圖1所示,圖1示出了兩個自治系統(tǒng)AS (包括AS100和AS200),其中AS200中IBGP網(wǎng)絡(luò)連接激增,此時就可以應用聯(lián)盟技術(shù),它將該自治系統(tǒng)AS200作為一個聯(lián)盟,并將AS200作為該聯(lián)盟的聯(lián)盟標識,該聯(lián)盟劃分為若干個自治系統(tǒng)(例如圖1中的AS65002,AS65003,AS65004),聯(lián)盟中的每個自治系統(tǒng)內(nèi)部的各路由器之間建立IBGP連接關(guān)系,聯(lián)盟中的自治系統(tǒng)之間的路由器建立聯(lián)盟內(nèi)部EBGP(External BGP,外部EPG)連接關(guān)系。
[0003]以圖2為例,說明現(xiàn)有的建立BGP鄰居的過程。管理層為路由器H配置的聯(lián)盟標識為AS2,并配置該聯(lián)盟標識為AS2的聯(lián)盟中包括AS序列號為AS1000的自治系統(tǒng)(即路由器H的指定鄰居的AS序列號包括:AS1000)。路由器H與路由器I在建立BGP鄰居時,路由器H只能獲知路由器I的AS序列號,由于路由器I的AS序列號為AS1000,即路由器I所在的AS1000包括于聯(lián)盟標識為AS2的聯(lián)盟中,因此路由器H與路由器I建立聯(lián)盟內(nèi)部BGP鄰居。但實際上,路由器I上被配置的聯(lián)盟標識為AS3,即在建立BGP鄰居時,兩個聯(lián)盟標識不同的路由器之間建立了聯(lián)盟內(nèi)部BGP鄰居,因此會出現(xiàn)如下情況:
[0004]當路由器G通過BGP引進一條路由1.1.1.1/32發(fā)送給路由器H,其中攜帶AS_PATH(描述到達目的網(wǎng)絡(luò)所要經(jīng)過的AS序列號,其中,如果路由器所屬于某個聯(lián)盟,AS序列號即為路由器的聯(lián)盟標識)為(ASl);路由器H將該路由分別轉(zhuǎn)發(fā)到路由器I和路由器J,攜帶的AS_PATH分別為(ASl)和(AS1、AS2);路由器I將該路由轉(zhuǎn)發(fā)到路由器J,攜帶的AS_PATH為(AS1、AS3);當路由器J將該條路由轉(zhuǎn)發(fā)給路由器I,攜帶的AS_PATH為(AS1、AS3、AS4)。然而路由器H的聯(lián)盟標識為AS2,因此路由器H接收路由器J發(fā)送的該條路由時根據(jù)攜帶的AS_PATH(AS1、AS3、AS4)不知道是本聯(lián)盟內(nèi)的路由器I發(fā)送出去的,因此正常接收該條路由,此時該路由的AS_PATH發(fā)生了變化,路由器H重新記錄該路由,并將變化后的該路由發(fā)送給路由器I,多次循環(huán),從而影響路由的正常選擇以及造成路由環(huán)路及路由震蕩。
【發(fā)明內(nèi)容】
[0005]有鑒于此,本發(fā)明提供一種BGP鄰居的建立方法及設(shè)備,以解決影響路由的正常選擇以及路由震蕩的問題。
[0006]本發(fā)明實施例提供了一種BGP鄰居的建立方法,包括:
[0007]本端路由器接收對端路由器發(fā)送的鄰居建立請求報文,所述鄰居建立請求報文攜帶所述對端路由器的聯(lián)盟標識;
[0008]所述本端路由器確定所述對端路由器的聯(lián)盟標識與所述本端路由器的至少一個配置標識中的一個配置標識相同時,所述本端路由器與所述對端路由器建立BGP鄰居。
[0009]優(yōu)選地,所述本端路由器的至少一個配置標識包括:所述至少一個本端路由器的聯(lián)盟標識;
[0010]所述本端路由器確定所述對端路由器的聯(lián)盟標識與所述本端路由器的至少一個配置標識中的一個配置標識相同時,所述本端路由器與所述對端路由器建立BGP鄰居,包括:
[0011]所述本端路由器確定所述對端路由器的聯(lián)盟標識與所述本端路由器的聯(lián)盟標識相同時,所述本端路由器與所述對端路由器建立聯(lián)盟內(nèi)部BGP鄰居。
[0012]優(yōu)選地,所述本端路由器的至少一個配置標識包括:所述本端路由器的至少一個指定鄰居的自治系統(tǒng)AS序列號;
[0013]所述本端路由器確定所述對端路由器的聯(lián)盟標識與所述本端路由器的至少一個配置標識中的一個配置標識相同時,所述本端路由器與所述對端路由器建立BGP鄰居,包括:
[0014]所述本端路由器確定所述對端路由器的聯(lián)盟標識與所述本端路由器的至少一個指定鄰居的AS序列號中的一個AS序列號相同時,所述本端路由器與所述對端路由器建立聯(lián)盟外部BGP鄰居。
[0015]優(yōu)選地,還包括:
[0016]所述本端路由器確定所述對端路由器的聯(lián)盟標識與所述本端路由器的至少一個配置標識均不相同時,所述本端路由器向?qū)λ龆寺酚善靼l(fā)送錯誤通知報文,所述錯誤通知報文用于通知所述對端路由器,所述本端路由器未與所述對端路由器建立BGP鄰居。
[0017]優(yōu)選地,在所述本端路由器與所述對端路由器建立聯(lián)盟外部BGP鄰居之后,還包括:
[0018]所述本端路由器接收所述對端路由器發(fā)送的刪除所述對端路由器所在聯(lián)盟的地址族信息后的BGP更新消息;或者,所述本端路由器接收到所述對端路由器發(fā)送的攜帶所述對端路由器所在聯(lián)盟的地址族信息的BGP更新消息時,忽略所述對端路由器所在聯(lián)盟的地址族信息。
[0019]本發(fā)明實施例還提供了一種BGP鄰居的建立設(shè)備,應用于本端路由器,包括:
[0020]接收單元,用于接收對端路由器發(fā)送的鄰居建立請求報文,所述鄰居建立請求報文攜帶所述對端路由器的聯(lián)盟標識;
[0021]BGP鄰居建立單元,用于確定所述對端路由器的聯(lián)盟標識與所述本端路由器的至少一個配置標識中的一個配置標識相同時,與所述對端路由器建立BGP鄰居。
[0022]優(yōu)選地,所述本端路由器的至少一個配置標識包括:所述本端路由器的聯(lián)盟標識;
[0023]所述BGP鄰居建立單元,具體用于確定所述對端路由器的聯(lián)盟標識與所述本端路由器的聯(lián)盟標識相同時,與所述對端路由器建立聯(lián)盟內(nèi)部BGP鄰居。
[0024]優(yōu)選地,所述本端路由器的至少一個配置標識包括:所述本端路由器的至少一個指定鄰居的自治系統(tǒng)AS序列號;
[0025]所述BGP鄰居建立單元,具體用于確定所述對端路由器的聯(lián)盟標識與所述本端路由器的至少一個指定鄰居的AS序列號中的一個AS序列號相同時,與所述對端路由器建立聯(lián)盟外部BGP鄰居。
[0026]優(yōu)選地,還包括:
[0027]發(fā)送單元,用于確定所述對端路由器的聯(lián)盟標識與所述本端路由器的至少一個配置標識均不相同時,向?qū)λ龆寺酚善靼l(fā)送錯誤通知報文,所述錯誤通知報文用于通知所述對端路由器,所述本端路由器未與所述對端路由器建立BGP鄰居。
[0028]優(yōu)選地,所述接收單元,還用于接收所述對端路由器發(fā)送的刪除所述對端路由器所在聯(lián)盟的地址族信息后的BGP更新消息;或者,還用于接收到所述對端路由器發(fā)送的攜帶所述對端路由器所在聯(lián)盟的地址族信息的BGP更新消息時,忽略所述對端路由器所在聯(lián)盟的地址族信息。
[0029]本發(fā)明實施例提供一種BGP鄰居的建立方法及設(shè)備,通過在本端路由器與對端路由器間建立BGP鄰居所發(fā)送的第一個報文(即鄰居建立請求報文)中添加聯(lián)盟標識,從而使得本端路由器能夠根據(jù)對端路由器的聯(lián)盟標識是否與本端路由器的至少一個配置標識中的一個配置標識相同確定是否與對端路由器建立BGP鄰居,以保證建立BGP鄰居后,同一聯(lián)盟內(nèi)的所有路由器的聯(lián)盟標識相同,從而消除了路由環(huán)路及路由震蕩的問題。
【專利附圖】
【附圖說明】
[0030]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0031]圖1是現(xiàn)有技術(shù)提供的兩個自治系統(tǒng)關(guān)系不意圖;
[0032]圖2是現(xiàn)有技術(shù)提供的聯(lián)盟關(guān)系示意圖;
[0033]圖3本發(fā)明實施例提供的方法流程圖;
[0034]圖4是本發(fā)明另一實施例提供的方法流程圖;
[0035]圖5是本發(fā)明實施例提供的聯(lián)盟關(guān)系示意圖;
[0036]圖6是本發(fā)明實施例提供的設(shè)備結(jié)構(gòu)示意圖。
【具體實施方式】
[0037]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0038]由于現(xiàn)有技術(shù)中,本端路由器預先配置AS序列號、聯(lián)盟標識,以及該聯(lián)盟標識內(nèi)的本端路由器的指定鄰居的AS序列號,例如,圖2中,路由器H作為本端路由器,其AS序列號為AS1000,聯(lián)盟標識為AS2,以及指定鄰居的AS序列號為AS1000。建立BGP鄰居時,當路由器H接收路由器I發(fā)送的鄰居建立請求報文時,該鄰居建立請求報文攜帶路由器I的AS序列號AS 1000,則路由器H通過路由器I的AS序列號AS 1000,獲知AS1000與路由器H的指定鄰居的AS序列號AS1000相同,即路由器I的AS序列號AS1000是在聯(lián)盟標識為AS2的聯(lián)盟內(nèi),因此與路由器I建立聯(lián)盟內(nèi)部BGP鄰居。然而,管理層可能給路由器I配置的聯(lián)盟標識為AS3,與路由器H為不同聯(lián)盟,建立聯(lián)盟內(nèi)部BGP鄰居會導致路由環(huán)路及路由震蕩。
[0039]本發(fā)明實施例的BGP鄰居建立方法,使得在建立BGP鄰居時,本端路由器能夠根據(jù)對端路由器的聯(lián)盟標識是否與本端路由器的至少一個配置標識中的一個配置標識相同確定是否與對端路由器建立BGP鄰居。
[0040]實施例一
[0041 ] 如圖3所示,本發(fā)明實施例提供了一種BGP鄰居的建立方法,本實施例的方法是對端路由器向本端路由器發(fā)送鄰居建立請求報文,由本端路由器執(zhí)行,可以包括以下步驟:
[0042]步驟301:本端路由器接收對端路由器發(fā)送的鄰居建立請求報文,所述鄰居建立請求報文攜帶所述對端路由器的聯(lián)盟標識。
[0043]其中,鄰居建立請求報文為本端路由器接收對端路由器發(fā)送的第一個報文,如OPEN(打開)報文。在該鄰居建立請求報文中,在攜帶原有參數(shù)的基礎(chǔ)上,還攜帶對端路由器的聯(lián)盟標識,聯(lián)盟標識可以具體為聯(lián)盟ID。
[0044]步驟302:本端路由器確定所述對端路由器的聯(lián)盟標識與所述本端路由器的至少一個配置標識中的一個配置標識相同時,所述本端路由器與所述對端路由器建立BGP鄰居。
[0045]首先需要獲知本端路由器的配置標識,其中,若管理層為本端路由器配置了聯(lián)盟標識,則該本端路由器的至少一個配置標識為本端路由器的聯(lián)盟標識。若管理層未給本端路由器配置聯(lián)盟標識,則該本端路由器的至少一個配置標識為本端路由器的至少一個指定鄰居的AS序列號。
[0046]進一步地,若本端路由器確定本端路由器的至少一個配置標識為本端路由器的聯(lián)盟標識,則本端路由器確定所述對端路由器的聯(lián)盟標識與本端路由器的聯(lián)盟標識相同時,本端路由器與對端路由器建立聯(lián)盟內(nèi)部BGP鄰居。
[0047]若本端路由器確定本端路由器的至少一個配置標識為本端路由器的至少一個指定鄰居的AS序列號,則本端路由器確定對端路由器的聯(lián)盟標識與本端路由器的至少一個指定鄰居的AS序列號中的一個AS序列號相同時,本端路由器與對端路由器建立聯(lián)盟外部BGP鄰居。
[0048]根據(jù)上述方案,通過在鄰居建立請求報文中添加對端路由器的聯(lián)盟標識,從而使得本端路由器在接收到對端路由器的鄰居建立請求報文時,獲知對端路由器的聯(lián)盟標識,能夠根據(jù)對端路由器的聯(lián)盟標識是否與本端路由器的至少一個配置標識中的一個配置標識相同確定是否與對端路由器建立BGP鄰居。
[0049]實施例二
[0050]如圖4所示,本發(fā)明實施例提供了一種BGP鄰居的建立方法,該方法由本端路由器執(zhí)行,本發(fā)明實施例更加詳細的描述了本端路由器如何根據(jù)配置標識和對端路由器聯(lián)盟標識的比較來建立BGP鄰居??梢园ㄒ韵虏襟E:
[0051]步驟401:本端路由器接收對端路由器發(fā)送的鄰居建立請求報文,該鄰居建立請求報文攜帶該對端路由器的聯(lián)盟標識。
[0052]如圖5所示,在一個網(wǎng)絡(luò)內(nèi),包括多個路由器設(shè)備,該網(wǎng)絡(luò)內(nèi)包括有路由器M、路由器N和路由器O。其中,路由器M的AS序列號為AS30。路由器N的AS序列號為AS40。路由器O的AS序列號為AS40。
[0053]以路由器O作為本端路由器,路由器N作為對端路由器。路由器N通過學習到的到路由器O的路徑,向路由器O發(fā)送BGP消息,其中,包括向路由器O發(fā)送鄰居建立請求報文,該鄰居建立請求文中攜帶路由器N的聯(lián)盟標識,聯(lián)盟標識可以具體為聯(lián)盟ID。路由器N的聯(lián)盟標識,如AS2,另外,該鄰居建立請求報文中還攜帶了路由器N的AS序列號,如,AS40。
[0054]其中,BGP消息包括5種消息類型:0pen (打開)報文、Update (更新)報文、Notificat1n (通知)報文、Keepalive (?;?報文和Route-refresh (路由恢復)報文。該鄰居建立請求報文為路由器N與路由器O之間進行鄰居建立的第一個報文,本實施例中路由器N發(fā)送的鄰居建立請求報文例如可以為OPEN報文,即在OPEN報文中添加路由器N的聯(lián)盟標識,該OPEN報文中的新增參數(shù)的格式如下:
[0055]Mutiprotocol extens1ns capability(6bytes)
[0056]capability code:Confederat1n negotiate capability(120bytes)
[0057]capability length:4bytes
[0058]Confederat1n Identifier: 2
[0059]其中,Mutiprotocolextens1ns capability (6bytes)用于表不 OPEN報文中的新增參數(shù)!capability code:Confederat1n negotiate capability用于表不該參數(shù)用于進行聯(lián)盟協(xié)商,capability length:4byteS用于表示用于進行聯(lián)盟協(xié)商的參數(shù)(即聯(lián)盟標識)的長度為4bytes, Confederat1n Identifier:2用于表示用于進行聯(lián)盟協(xié)商的聯(lián)盟標識為2,即該OPEN報文中攜帶的聯(lián)盟標識為AS2。
[0060]步驟402:本端路由器確定自身的至少一個配置標識,若確定該至少一個配置標識為本端路由器的聯(lián)盟標識,則執(zhí)行步驟403 ;若確定該至少一個配置標識為本端路由器的至少一個指定鄰居的AS序列號,則執(zhí)行步驟406。
[0061]在本發(fā)明實施例中,若管理層為本端路由器配置了聯(lián)盟標識,則該至少一個配置標識為聯(lián)盟標識。如圖5所示,若路由器O作為本端路由器,管理層為路由器O配置了聯(lián)盟標識,如AS3,則該至少一個配置標識為路由器O的聯(lián)盟標識。
[0062]若管理層未給本端路由器配置聯(lián)盟標識,則該至少一個配置標識為本端路由器的至少一個指定鄰居的序列號,如圖5所示,若路由器M作為本端路由器,管理層未給路由器M配置聯(lián)盟標識,則該至少一個配置標識為本端路由器的至少一個指定鄰居的AS序列號,如AS30、AS40。
[0063]步驟403:判斷對端路由器的聯(lián)盟標識與本端路由器的聯(lián)盟標識是否相同,若相同,則執(zhí)行步驟404 ;若不相同,則執(zhí)行步驟405。
[0064]步驟404:本端路由器與對端路由器建立聯(lián)盟內(nèi)部BGP鄰居。步驟405:向?qū)Χ寺酚善靼l(fā)送錯誤通知報文。
[0065]如圖5所示,假設(shè)路由器O作為本端路由器,路由器N作為對端路由器。
[0066]其中,路由器N和路由器O的聯(lián)盟標識可以配置為相同聯(lián)盟標識,如AS2。則在該步驟403下的判斷過程中,路由器O的聯(lián)盟標識與路由器O的聯(lián)盟標識均為AS2,因此,路由器O與路由器N建立聯(lián)盟內(nèi)部BGP鄰居。
[0067]需要說明的是,聯(lián)盟內(nèi)部BGP鄰居包括:聯(lián)盟內(nèi)部IBGP鄰居和聯(lián)盟內(nèi)部EBGP鄰居。若本端路由器與對端路由器聯(lián)盟標識相同且AS序列號相同,則建立聯(lián)盟內(nèi)部IBGP鄰居。若本端路由器與對端路由器聯(lián)盟標識相同且AS序列號不同,則建立聯(lián)盟內(nèi)部EBGP鄰居。
[0068]另外,路由器N和路由器O的聯(lián)盟標識可以配置為不相同的聯(lián)盟標識,如路由器N的聯(lián)盟標識為AS2,路由器O的聯(lián)盟標識為AS3,因此路由器O和路由器N不屬于同一聯(lián)盟,因此協(xié)商失敗,路由器O向路由器N發(fā)送錯誤通知報文,以告知路由器N路由器O未與路由器N建立BGP鄰居。
[0069]在本發(fā)明實施例中,錯誤通知報文可以為錯誤類型為2/8的Notificat1n報文。該錯誤類型為2/8的Notificat1n報文為新增報文,該錯誤類型為2/8的Notificat1n報文的格式如下:
[0070]Marker: 16bytes
[0071]Length:21bytes
[0072]Type NOTIFICAT1N Message (3)
[0073]Error code:OPEN Message Error (2)
[0074]Error subcode:Bad Confederat1n Identifier (8)
[0075]其中,Marker:16bytes,用于識別BGP報文,長度為16bytes,內(nèi)容為全F ;Length:21bytes 用于表不 Notificat1n 報文的長度為 21bytes, Type !NOTIFICAT1N Message (3)用于表示該報文為Notificat1n報文;Error code:0PEN Message Error (2)用于通知對端路由器 OPEN 報文出現(xiàn)錯誤;Error subcode:Bad Confederat1n Identifier (8)用于表不該錯誤碼為聯(lián)盟標識錯誤。
[0076]根據(jù)上述錯誤類型為2/8的Notificat1n報文的參數(shù),可知本端路由器向?qū)Χ寺酚善靼l(fā)送錯誤類型為2/8的Notificat1n報文,用于通知對端路由器,由于對端路由器的聯(lián)盟標識錯誤,因此本端路由器未與對端路由器建立BGP鄰居。
[0077]步驟406:判斷本端路由器的至少一個指定鄰居的AS序列號中是否有與對端路由器的聯(lián)盟標識相同的AS序列號,若本端路由器的至少一個指定鄰居的AS序列號中有與對端路由器的聯(lián)盟標識相同的AS序列號,則執(zhí)行步驟407 ;若本端路由器的至少一個指定鄰居的AS序列號中沒有與對端路由器的聯(lián)盟標識相同的AS序列號,則執(zhí)行步驟408。
[0078]步驟407:本端路由器與對端路由器建立聯(lián)盟外部BGP鄰居。
[0079]步驟408:向?qū)Χ寺酚善靼l(fā)送錯誤通知報文。
[0080]如圖5所示,假設(shè)路由器M作為本端路由器,路由器N作為對端路由器,其中,管理層未給路由器M配置聯(lián)盟標識,路由器M的AS序列號為AS30,路由器M的指定鄰居的AS序列號包括:AS2,AS30。
[0081]若路由器N的聯(lián)盟標識為AS2,則在該步驟406的判斷過程中,路由器N的聯(lián)盟標識與路由器M的指定鄰居的AS序列號AS2是相同,因此路由器M與路由器N建立聯(lián)盟外部BGP鄰居。
[0082]需要說明的是,聯(lián)盟外部BGP鄰居為EBGP鄰居。
[0083]若路由器N的聯(lián)盟標識為AS3,路由器M的指定鄰居的AS序列號不包括AS3,沒有與路由器N的聯(lián)盟標識AS3相同的指定鄰居的AS序列號,因此協(xié)商失敗,路由器M向路由器N發(fā)送錯誤通知報文,以告知路由器N路由器M未與路由器N建立BGP鄰居。
[0084]其中,該錯誤通知報文也可以為錯誤類型為2/8的Notificat1n報文。
[0085]需要說明的是,上述實施例是在鄰居建立請求報文攜帶了對端路由器的聯(lián)盟標識的情況下進行的,若管理層未給對端路由器配置聯(lián)盟標識或鄰居建立請求報文未攜帶聯(lián)盟標識,那么本端路由器接收到的對端路由器發(fā)送的鄰居建立請求報文中不包括對端路由器的聯(lián)盟標識。因此,本端路由器與對端路由器的BGP鄰居建立方法還包括兩種情況:
[0086]第一種情況是:管理側(cè)為本端路由器配置了聯(lián)盟標識,本端路由器收到的對端路由器發(fā)送的鄰居建立請求報文中不包括對端路由器的聯(lián)盟標識,包括對端路由器的AS序列號的情況下。如圖5所示,假設(shè)路由器N作為本端路由器,路由器M作為對端路由器。其中,路由器N的聯(lián)盟標識為AS2,路由器N的AS序列號為AS40。路由器N接收路由器M發(fā)送的鄰居建立請求報文,該鄰居建立請求報文中攜帶路由器M的AS序列號AS30,未攜帶路由器M的聯(lián)盟標識。若路由器N的指定鄰居的AS序列號包括AS30,則路由器N與路由器M建立聯(lián)盟內(nèi)部BGP鄰居。并且路由器N本地顯示提示信息。該提示信息可以是“路由器M的聯(lián)盟標識可能存在錯誤”。若路由器N的指定鄰居的AS序列號不包括AS30,則路由器N和路由器M協(xié)商錯誤,路由器N向路由器M發(fā)送錯誤通知報文,該錯誤通知報文可以為錯誤類型為2/2的Notificat1n報文,該錯誤類型為2/2的Notificat1n報文用于通知路由器M,由于路由器M的AS序列號錯誤,因此未與路由器M建立BGP鄰居。
[0087]第二種情況是:管理側(cè)未給本端路由器配置聯(lián)盟標識,本端路由器收到的對端路由器發(fā)送的鄰居建立請求報文中不包括對端路由器的聯(lián)盟標識,包括對端路由器的AS序列號的情況下。如圖5所示,假設(shè)路由器N作為本端路由器,路由器M作為對端路由器。其中,管理層未給路由器N配置聯(lián)盟標識,路由器N的AS序列號為AS40。路由器N接收到路由器M的鄰居建立請求報文,該鄰居建立請求報文攜帶路由器M的序列號AS30,未攜帶路由器M的聯(lián)盟標識。若路由器N的指定鄰居的AS序列號為AS30,則路由器N與路由器M建立EBGP鄰居。若路由器N的指定鄰居的AS序列號不包括AS30時,則路由器N和路由器M協(xié)商錯誤,路由器N向路由器M發(fā)送錯誤通知報文,該錯誤通知報文可以為錯誤類型為2/2的Notificat1n報文,該錯誤類型為2/2的Notificat1n報文用于通知路由器Μ,由于路由器M的AS序列號錯誤,因此未與路由器M建立BGP鄰居。
[0088]另外,在本端路由器與對端路由器建立聯(lián)盟外部BGP鄰居之后,由于對端路由器在向不屬于相同聯(lián)盟的本端路由器發(fā)送BGP更新消息時,該BGP更新消息包括對端路由器所在聯(lián)盟的地址族信息,當本端路由器接收到該BGP更新消息后,發(fā)現(xiàn)該BGP更新中包括不是自身所在聯(lián)盟的地址族信息,則將該BGP更新消息刪除或忽略該BGP更新消息。因此,在本端路由器與對端路由器建立完成了 BGP鄰居之后,若本端路由器與對端路由器建立的是聯(lián)盟外部的BGP鄰居,對端路由器向本端路由器發(fā)送BGP更新消息的時候,將該BGP更新消息中的對端路由器所在聯(lián)盟的地址族信息刪除,并將刪除對端路由器所在聯(lián)盟的地址族信息后的BGP更新消息發(fā)送給本端路由器,即本端路由器接收的是對端路由器發(fā)送的刪除對端路由器所在聯(lián)盟的地址族信息后的BGP更新消息。若本端路由器與對端路由器建立的是聯(lián)盟外部的BGP鄰居,對端路由器向本端路由器發(fā)送的BGP更新消息攜帶了對端路由器所在聯(lián)盟的地址族信息刪除,則本端路由器在收到該BGP更新消息時,忽略該BGP更新消息中攜帶的對端路由器所在聯(lián)盟的地址族信息。
[0089]根據(jù)上述方案,通過在本端路由器與對端路由器間建立BGP鄰居所發(fā)送的第一個報文,即鄰居建立請求報文中添加聯(lián)盟標識,從而使得本端路由器能夠根據(jù)對端路由器的聯(lián)盟標識是否與本端路由器的至少一個配置標識中的一個配置標識相同確定是否與對端路由器建立BGP鄰居,以保證建立BGP鄰居后,同一聯(lián)盟內(nèi)的所有路由器的聯(lián)盟標識相同,從而消除了路由環(huán)路及路由震蕩的問題。
[0090]實施例三
[0091]如圖6所示,本發(fā)明實施例提供了一種BGP鄰居的建立設(shè)備,應用于本端路由器,可以包括:
[0092]接收單元601,用于接收對端路由器發(fā)送的鄰居建立請求報文,所述鄰居建立請求報文攜帶所述對端路由器的聯(lián)盟標識;
[0093]BGP鄰居建立單元602,用于確定所述對端路由器的聯(lián)盟標識與所述本端路由器的至少一個配置標識中的一個配置標識相同時,與所述對端路由器建立BGP鄰居。
[0094]進一步的,所述本端路由器的至少一個配置標識包括:所述本端路由器的聯(lián)盟標識;
[0095]所述BGP鄰居建立單元,具體用于確定所述對端路由器的聯(lián)盟標識與所述本端路由器的聯(lián)盟標識相同時,與所述對端路由器建立聯(lián)盟內(nèi)部BGP鄰居。
[0096]進一步的,所述本端路由器的至少一個配置標識包括:所述本端路由器的指定鄰居的自治系統(tǒng)AS序列號;
[0097]所述BGP鄰居建立單元,具體用于確定所述對端路由器的聯(lián)盟標識與所述本端路由器的至少一個指定鄰居的AS序列號中的一個AS序列號相同時,與所述對端路由器建立聯(lián)盟外部BGP鄰居。
[0098]進一步的,還包括:
[0099]發(fā)送單元603,用于確定所述對端路由器的聯(lián)盟標識與所述本端路由器的至少一個配置標識均不相同時,所述本端路由器向?qū)λ龆寺酚善靼l(fā)送錯誤通知報文,所述錯誤通知報文用于通知所述對端路由器,所述本端路由器未與所述對端路由器建立BGP鄰居。
[0100]進一步的,
[0101]接收單元601,還用于所述本端路由器接收所述對端路由器發(fā)送的刪除所述對端路由器所在聯(lián)盟的地址族信息后的BGP更新消息;或者,還用于接收到所述對端路由器發(fā)送的攜帶所述對端路由器所在聯(lián)盟的地址族信息的BGP更新消息時,忽略所述對端路由器所在聯(lián)盟的地址族信息。
[0102]以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應包含在本發(fā)明保護的范圍之內(nèi)。
【權(quán)利要求】
1.一種BGP鄰居的建立方法,其特征在于,包括: 本端路由器接收對端路由器發(fā)送的鄰居建立請求報文,所述鄰居建立請求報文攜帶所述對端路由器的聯(lián)盟標識; 所述本端路由器確定所述對端路由器的聯(lián)盟標識與所述本端路由器的至少一個配置標識中的一個配置標識相同時,所述本端路由器與所述對端路由器建立BGP鄰居。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述本端路由器的至少一個配置標識包括:所述本端路由器的聯(lián)盟標識; 所述本端路由器確定所述對端路由器的聯(lián)盟標識與所述本端路由器的至少一個配置標識中的一個配置標識相同時,所述本端路由器與所述對端路由器建立BGP鄰居,包括: 所述本端路由器確定所述對端路由器的聯(lián)盟標識與所述本端路由器的聯(lián)盟標識相同時,所述本端路由器與所述對端路由器建立聯(lián)盟內(nèi)部BGP鄰居。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述本端路由器的至少一個配置標識包括:所述本端路由器的至少一個指定鄰居的自治系統(tǒng)AS序列號; 所述本端路由器確定所述對端路由器的聯(lián)盟標識與所述本端路由器的至少一個配置標識中的一個配置標識相同時,所述本端路由器與所述對端路由器建立BGP鄰居,包括: 所述本端路由器確定所述對端路由器的聯(lián)盟標識與所述本端路由器的至少一個指定鄰居的AS序列號中的一個AS序列號相同時,所述本端路由器與所述對端路由器建立聯(lián)盟外部BGP鄰居。
4.根據(jù)權(quán)利要求1-3任一所述的方法,其特征在于,還包括: 所述本端路由器確定所述對端路由器的聯(lián)盟標識與所述本端路由器的至少一個配置標識均不相同時,所述本端路由器向?qū)λ龆寺酚善靼l(fā)送錯誤通知報文,所述錯誤通知報文用于通知所述對端路由器,所述本端路由器未與所述對端路由器建立BGP鄰居。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,在所述本端路由器與所述對端路由器建立聯(lián)盟外部BGP鄰居之后,還包括: 所述本端路由器接收所述對端路由器發(fā)送的刪除所述對端路由器所在聯(lián)盟的地址族信息后的BGP更新消息;或者, 所述本端路由器接收到所述對端路由器發(fā)送的攜帶所述對端路由器所在聯(lián)盟的地址族信息的BGP更新消息時,忽略所述對端路由器所在聯(lián)盟的地址族信息。
6.一種BGP鄰居的建立設(shè)備,應用于本端路由器,其特征在于,包括: 接收單元,用于接收對端路由器發(fā)送的鄰居建立請求報文,所述鄰居建立請求報文攜帶所述對端路由器的聯(lián)盟標識; BGP鄰居建立單元,用于確定所述對端路由器的聯(lián)盟標識與所述本端路由器的至少一個配置標識中的一個配置標識相同時,與所述對端路由器建立BGP鄰居。
7.根據(jù)權(quán)利要求6所述的設(shè)備,其特征在于,所述本端路由器的至少一個配置標識包括:所述本端路由器的聯(lián)盟標識; 所述BGP鄰居建立單元,具體用于確定所述對端路由器的聯(lián)盟標識與所述本端路由器的聯(lián)盟標識相同時,與所述對端路由器建立聯(lián)盟內(nèi)部BGP鄰居。
8.根據(jù)權(quán)利要求6所述的設(shè)備,其特征在于,所述本端路由器的至少一個配置標識包括:所述本端路由器的至少一個指定鄰居的自治系統(tǒng)AS序列號; 所述BGP鄰居建立單元,具體用于確定所述對端路由器的聯(lián)盟標識與所述本端路由器的至少一個指定鄰居的AS序列號中的一個AS序列號相同時,與所述對端路由器建立聯(lián)盟外部BGP鄰居。
9.根據(jù)權(quán)利要求6-8任一所述的設(shè)備,其特征在于,還包括: 發(fā)送單元,用于確定所述對端路由器的聯(lián)盟標識與所述本端路由器的至少一個配置標識均不相同時,向?qū)λ龆寺酚善靼l(fā)送錯誤通知報文,所述錯誤通知報文用于通知所述對端路由器,所述本端路由器未與所述對端路由器建立BGP鄰居。
10.根據(jù)權(quán)利要求8所述的設(shè)備,其特征在于,所述接收單元,還用于接收所述對端路由器發(fā)送的刪除所述對端路由器所在聯(lián)盟的地址族信息后的BGP更新消息;或者,還用于接收到所述對端路由器發(fā)送的攜帶所述對端路由器所在聯(lián)盟的地址族信息的BGP更新消息時,忽略所述對端路由器所在聯(lián)盟的地址族信息。
【文檔編號】H04L12/701GK104270307SQ201410509627
【公開日】2015年1月7日 申請日期:2014年9月28日 優(yōu)先權(quán)日:2014年9月28日
【發(fā)明者】田鈞宇, 許瑛, 王磊 申請人:杭州華三通信技術(shù)有限公司