專利名稱::號碼自動路由方法、更新方法、撤銷方法、路由器及設(shè)備的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明屬于計算機(jī)網(wǎng)絡(luò)領(lǐng)域,涉及一種擴(kuò)展的MP-BGP,尤其是涉及通信網(wǎng)中基于擴(kuò)展的MP-BGP協(xié)議的號碼自動^各由方法及路由器。
背景技術(shù):
:標(biāo)準(zhǔn)RFC1771中定義的傳統(tǒng)的邊界網(wǎng)關(guān)協(xié)議(BorderGatewayProtocol,簡稱BGP),即BGP-4,只能管理網(wǎng)絡(luò)層協(xié)議IPv4的路由信息,對于其它網(wǎng)絡(luò)層協(xié)議,如IPv6、IPX、L3VPN協(xié)議等,在跨自治系統(tǒng)傳播時就受到一定限制。(1)對BGP-4的擴(kuò)展作為對BGP-4的擴(kuò)充,正TF發(fā)布了標(biāo)準(zhǔn)RFC2858(MultiprotocolExtensionsforBGP-4,BGP-4的多協(xié)議擴(kuò)展),RFC4760,該標(biāo)準(zhǔn)中定義了多協(xié)議擴(kuò)展邊界網(wǎng)關(guān)協(xié)議(MultiProtocol-BGP,簡稱MP-BGP),該MP-BGP能夠支持多種網(wǎng)絡(luò)協(xié)議,如IPv6、IPX、L3VPN等。MP-BGP擴(kuò)展是向后兼BGP-4使用的報文中,與IPv4相關(guān)的三條信息由UPDATE報文攜帶,這三條信息分別是網(wǎng)絡(luò)層可達(dá)信息(NetworkLayerReachabilityInformation,簡稱NLRI)、路徑屬性中的下一跳屬性(NEXT-HOP)、路徑屬性中的聚合屬性(AGGREGATOR)。在原有基于BGP-4協(xié)議的系統(tǒng)中,路徑屬性是包含在UPDATE報文中的,不論UPDATE報文轉(zhuǎn)發(fā)的路由信息中包含了NLRI信息或者只有撤銷路由信息(Withdrawn)。對于MP-BGP來說,它認(rèn)為下一跳信息(由Next-Hop屬性所提供)僅僅在與目的地址可達(dá)信息的通告連接中有意義,在目的地不可達(dá)的情況(Withdrawn)下是沒有什么意義的。所以目的地可達(dá)信息的通告應(yīng)該和與之相關(guān)的下一跳信息的通告相關(guān)聯(lián),而目的地可達(dá)信息的通告應(yīng)該與撤銷路由信息的通告隔離開來。為實(shí)現(xiàn)對多種網(wǎng)絡(luò)層協(xié)議的支持,BGP-4需要將網(wǎng)絡(luò)層協(xié)議的信息反映到NLRI及NEXT-HOP。RFC2858中的MP-BGP定義了兩個新的鴻4圣屬性,分別為多協(xié)議可達(dá)NLRI(MultiprotocolReachableNLRI,簡稱MP_REACH—NLRI)屬性,用于承載聚集了可達(dá)目的地信息與提供轉(zhuǎn)發(fā)這些可達(dá)目的地信息的下一跳信息的組。多協(xié)議不可達(dá)NLRI(MultiprotocolUnreachableNLRI,簡稱MP—UNREACH一NLRI)屬性。用于承載目的地不可達(dá)信息的組。這兩種屬性均為可選非壽爭發(fā)(Optionalnon-transitive)的。如果BGPspeaker不提供多協(xié)議支持能力,那就只是簡單的忽略帶有這些屬性的信息,同樣也不會將這些信息傳遞給別的BGP發(fā)言人(BGPspeaker)。以下MP-BGP所涉及的MP—REACH—NLRI屬性、MP—UNREACH—NLRI屬性、NLRI編碼(NLRIEncoding)處理、4晉誤處理、以及使用BGP能力通告進(jìn)^f亍詳細(xì)"i兌明。(11)MP—REACKLNLRI屬性。此屬性類型碼為14,是一個可選非轉(zhuǎn)發(fā)屬性,用于以下場合(a)通告一個可用路由給鄰居;(b)允許一個路由器通告它的網(wǎng)絡(luò)層地址,網(wǎng)絡(luò)層地址就像下一跳信息一樣用來指示被列在MP—NLRI屬性的網(wǎng)絡(luò)層可達(dá)信息域中的目的地。MP_REACH_NLRI屬性編碼結(jié)構(gòu)如圖l所示。每個字段的用法及意義如下地址族標(biāo)識(AddressFamilyIdentifier,簡稱AFI):該字段攜帶網(wǎng)絡(luò)層協(xié)議與網(wǎng)絡(luò)地址的連接標(biāo)識。MP-BGP采用地址族(AddressFamily)來區(qū)分不同的網(wǎng)絡(luò)層協(xié)議,關(guān)于地址族的一些取值可以參考RFC1700(參見AddressFamilyNumbers部分)。目前,系統(tǒng)實(shí)現(xiàn)了多種MP-BGP擴(kuò)展應(yīng)用,包括對IPv6的擴(kuò)展、對IPX的擴(kuò)展、層3虛擬個人網(wǎng)絡(luò)(FrameworkforLayer3VirtualPrivateNetworks,簡稱L3VPN)的擴(kuò)展等,不同的擴(kuò)展應(yīng)用在各自的地址族;f見圖下配置。并發(fā)地址》臭標(biāo)識(SubsequentAddressFamilyIdentifier,簡稱SAFI):該字段攜帶包含在屬性中的網(wǎng)絡(luò)層可達(dá)信息(NLRI)類型的補(bǔ)充信息。下一跳地址長度(LengthofNextHopNetworkAddress):—個字節(jié)長度的下一跳地址長度字段,表明了下一跳地址的長度。下一跳地址(NetworkAddressofNextHop):該字#炎長度可變,包含了到達(dá)目的系統(tǒng)的下一個路由器的地址。網(wǎng)絡(luò)層可達(dá)信息(NetworkLayerReachabilityInformation,簡稱NLRI):可變長度區(qū)域,列出了將在本屬性中被通告的可用路由的NLRI信息。當(dāng)SAFI被設(shè)置為標(biāo)準(zhǔn)RFC4760中定義的某個值時,所有NLRI將會按照"NLRIencoding"中指定的方式進(jìn)4亍編碼處理。由于MP—REACH—NLRI屬性中包括了NEXT-HOP信息(如LengthofNextHopNetworkAddress及NetworkAddressofNextHop)及NLRI,因jt匕擁有MP_REACH_NLRI屬性的UPDATE報文中不再直接承載BGP-4協(xié)議中的NLRI及NEXT-HOP屬性。如果MP-BGP協(xié)議的路由器中接收到的UPDATE報文中直接包含了NEXT-HOP屬性,那么該路由器應(yīng)忽略該UPDATE報文。(12)MP—UNREACH_NLRI屬性。此屬性類型碼為15,是一個可選非轉(zhuǎn)發(fā)屬性,用于撤銷多個不可用路由的場合。MP一UNREACH一NLRI屬性編碼結(jié)構(gòu)如圖2所示。每個字段的用法及意義如下地址族標(biāo)識(AddressFamilyIdentifier,簡稱AFI):該字段攜帶與下層NLRI相關(guān)的網(wǎng)絡(luò)層協(xié)議標(biāo)識。目前這個字段定義的值在RFC1700中指定(參見AddressFamilyNumbers部分)。并發(fā)地址力矣標(biāo)識(SubsequentAddressFamilyIdentifier,筒稱SAFI):該字段攜帶包含在屬性中的網(wǎng)絡(luò)層可達(dá)信息(NLRI)類型的補(bǔ)充信息。撤銷路由(WithdrawnRoutes):可變長度區(qū)域。列出將要被從服務(wù)中撤銷的路由的NLRI。當(dāng)SAFI被設(shè)置為RFC4760定義的某個值,每條NLRI都按照"NLRIencoding"—節(jié)中指定的方式進(jìn)行編碼處理。包含有MP_UNREACH_NRLI屬性的UPDATE消息不用攜帶其他路徑屬性。(13)NLRI編碼(NLRIencoding)處理。網(wǎng)絡(luò)層可達(dá)信息被編碼成一個或者若干個類似于的二元組,如圖3所示。每個字,爻的用法及意義如下長度(Length):該字段按位指出地址前綴的長度。如果是全零,那么表示匹配所有地址。前綴(Prefix):該字段包含一個地址前綴,按位補(bǔ)齊成完整字節(jié)。填充位不影響前綴的真實(shí)值。(14)錯誤處理。如果某BGPspeaker收到來自一個鄰居的包含MP—REACH一NLRI或者M(jìn)P—UNREACH—NLRI屬性的UPDATE消息,而且該BGPspeaker確定該UPDATE消息中的MP—REACH—NLRI或者M(jìn)P—UNREACH—NLRI屬性不正確,那么該BGPspeaker則刪除該鄰居發(fā)布的所有BGP路由。在BGP會話持續(xù)時間中若是收到這種UPDATE消息,那么BGPspeaker應(yīng)該忽略所有在會話中收到的錯誤AFI/SAFI并發(fā)路由。另外,如果BGPspeaker收到這種UPDATE消息,BGPspeaker可能會中止BGP會話過程。MOTIFICATION消息的指示的錯誤碼、錯誤子碼分別設(shè)為"UpdateMessageError"和"OptionalAttributeError"。(15)使用BGP能力通告(CapabilityAdvertisement)。應(yīng)用了MP-BGP的BGPspeaker應(yīng)該使用能力通告過程[BGP-CAP]來測定speaker是否能夠和一個特定對等體使用多協(xié)議擴(kuò)展的方法。能力可選參數(shù)域的設(shè)置為CapabilityCode被設(shè)置為1(指明多協(xié)議擴(kuò)展能力)。CapabilityLength被設(shè)置為4。Capability值域依次包括"AFI"域,"Res."域和"SAFI"域。其中,AFI域-地址族標(biāo)識符(16位),編碼方式同多協(xié)議擴(kuò)展中所設(shè)置。Res.域-保留(8位)區(qū)域。發(fā)送方應(yīng)當(dāng)設(shè)其值為0,接收方則忽略它。SAFI域-并發(fā)地址族標(biāo)識符(8位),編碼方式同多協(xié)議擴(kuò)展中所設(shè)置。為了能夠在一對BGPspeaker之間為特定雙向交換路由信息,每個BGPspeaker都應(yīng)該通過能力通告機(jī)制通告對方它支持這種特別的路由。(2)對BGP/MPLSVPN所進(jìn)行的擴(kuò)展概述RFC2547bis標(biāo)準(zhǔn)定義了一種機(jī)制,允許服務(wù)供應(yīng)商使用自己的IP骨干,為客戶提供虛擬個人網(wǎng)絡(luò)(即VPN)服務(wù)。RFC2547bisVPN也稱為BGP/MPLSVPN,因?yàn)樗褂肂GP把VPN路由信息分布到供應(yīng)商的骨干中,并使用MPLS把VPN流量從一個站點(diǎn)轉(zhuǎn)發(fā)到另一個站點(diǎn)上。(21)VPN-IPv4i也址結(jié)構(gòu)VPN客戶經(jīng)常管理自己的網(wǎng)絡(luò),并使用RFC1918專用地址空間。如果客戶沒有使用全球唯一的IP地址,那么可以使用相同的32位IPv4地址,識別不同VPN中的不同系統(tǒng),這會導(dǎo)致路由困難,因?yàn)锽GP假設(shè)它攜帶的每個IPv4地址都是全球唯一的。為了解決這個問題,BGP/MPLSVPN支持一種機(jī)制,通過使用VPN-IPv4地址家族及部署多協(xié)議BGP擴(kuò)展(MP-BGP),把非唯一的IP地址轉(zhuǎn)換成全球唯一的地址。重疊地址空間提出的一個才兆戰(zhàn)是,如果傳統(tǒng)BGP看到同一個IPv4地址前綴有兩條不同的路由(前綴被分配給不同VPN中的系統(tǒng)),BGP將像僅有一條路由一樣處理前綴。結(jié)果,有一個VPN系統(tǒng)是不可達(dá)的。解決這個問題要求一種機(jī)制,允許BGP消除前綴歧義,這樣就可以安裝兩條到達(dá)該地址的完全不同的路由,每個VPN—條。通過定義VPN-IPv4地址家族,RFC2547bis標(biāo)準(zhǔn)支持這種功能。VPN-IPv4地址一共12字節(jié),包括8字節(jié)的路由標(biāo)識(RouteDistinguisher,簡稱RD)和4字節(jié)的IPv4地址前綴。VPN-IPv4地址結(jié)構(gòu)包括TypeField:2bytesValueField:6bytes8字節(jié)的RD由2字節(jié)的類型字段和6字節(jié)的值字段構(gòu)成,值字段的解釋取決于類型字段的值,目前類型字段定義了三種值0、l和2。A、當(dāng)類型字段值為0時,值字段由兩個子字段組成管理者子字段2字節(jié);分配編號子字_^:4字節(jié)。管理者子字段必須包含一個自治系統(tǒng)編號(ASN),如果這個ASN取自公共ASN空間,它必須由適當(dāng)?shù)臋?quán)威機(jī)構(gòu)分配;分配編號子字段包含一個編號,這個編號取自企業(yè)所管理的編號空間,而企業(yè)已經(jīng)由適當(dāng)?shù)臋?quán)威機(jī)構(gòu)分配管理者字段所指定的ASN。B、當(dāng)類型字段值為l時,值字段也由兩個子字段組成管理者子字^::4字節(jié);分配編號子字段2字節(jié)。管理者子字段必須包含一個IP地址,如果這個IP地址取自公共的IP地址空間,它必須由一個適當(dāng)?shù)臋?quán)威機(jī)構(gòu)分配;分配編號子字段包含一個編號,這個編號取自企業(yè)所管理的編號空間,而企業(yè)已經(jīng)分配了管理者子字段所指定的IP地址。C、當(dāng)類型字段值為2時,兩個子字段的結(jié)構(gòu)如下管理者子字段4字節(jié);分配編碼子字段2字節(jié)。管理者子字段包含4字節(jié)長度的BGP-AS4號,如果這個ASN取自公共ASN空間,它必須由適當(dāng)?shù)臋?quán)威機(jī)構(gòu)分配;分配編號子字^&包含一個編號,這個編號取自企業(yè)所管理的編號空間,而企業(yè)已經(jīng)由適當(dāng)?shù)臋?quán)威機(jī)構(gòu)分配管理者字段所指定的ASN。RD的這種結(jié)構(gòu)保證提供VPN主干網(wǎng)服務(wù)的服務(wù)提供者能夠生成唯一的RD,但是這種RD本身沒有特別意義。(22)MP-BGP對VPN-IPv4的支持當(dāng)PE之間建立了初始VRF和LSP之后,他們各自向自己的BGP對等體公告路由信息。在公告路由信息時,先將路由的IPv4地址前綴轉(zhuǎn)換成VPN-IPv4地址前綴格式,VPN-IPv4地址前綴中的RD在配置VRF時指定。PE在向BGP對等體公告路由信息的時候,每條路由(MP-BGP路由)中應(yīng)包含如下內(nèi)容1)路由的VPN-IPv4地址前綴(8字節(jié)RD+4字節(jié)IPv4地址前綴)。2)PE自身的IP地址作為路由的MP-BGP下一跳LSR地址,由于MP-BGP要求下一跳LSR地址采用相同的地址4各式,所以MP-BGP下一跳LSR地址的格式為RD=0的VPN-IPv4地址。3)PE分配給該5各由的標(biāo)簽。4)包含該路由的VRF的輸出路由目標(biāo)(exportRT),該輸出路由目標(biāo)作為該路由的一個"COMMUNITY"屬性。5)有可能包含該路由的ORIGIN和AS—PATH屬性。VPN-IPv4地址前綴結(jié)構(gòu)在前面已經(jīng)描述過,它將被編碼后封裝在MP一REACH一NLRI的NLRI字l爻里面。用BGP多協(xié)議擴(kuò)展編碼NLRI,AFI字段值為1(因?yàn)楹蚇LRI相關(guān)聯(lián)的網(wǎng)絡(luò)層協(xié)議仍然是IP),表明承載VPN-IPv4地址。同時MP-BGP路由還需要承載PE分配給該路由的標(biāo)簽,這個標(biāo)簽同樣也封裝在NLRI字段里面,這樣改進(jìn)了RFC2858中的NLRIEncoding格式,轉(zhuǎn)換成一個格式的三元組。根據(jù)RFC3107(CarryingLabelInformationinBGP-4)的描述,可以攜帶一個或者多個"Label",每個標(biāo)簽都只有3個字節(jié)長度,高20位承載標(biāo)簽值,低4位中3位被保留,最后一位(S位)設(shè)置為1時標(biāo)識已經(jīng)到達(dá)標(biāo)簽棧的棧底。(此時的標(biāo)簽編碼才各式略不同于標(biāo)準(zhǔn)的MPLS標(biāo)簽,不需要包含TTL字段)當(dāng)MP-BGP承載Label的時候,MP_REACH—NLRI的SAFI字段用于指出屬性攜帶有"Label"信息(將SAFI的值設(shè)置為4)。PE可能分發(fā)出現(xiàn)在VRF中的所有路由,也可能現(xiàn)對這些路由進(jìn)行聚合,然后分發(fā)聚合的路由。假定PE已經(jīng)對路由R分配了標(biāo)簽L,并且通過BGP分發(fā)了這種標(biāo)簽映射,當(dāng)路由R是VRF中多條路由聚合后產(chǎn)生的路由,PE通過查找相應(yīng)的VRF才能最終確定如何轉(zhuǎn)發(fā)該才艮文,l艮文所攜帶的標(biāo)簽用于確定查找最終路由的VRF,標(biāo)簽信息庫反映了標(biāo)簽和VRF的對應(yīng)關(guān)系;如果R不是一條聚合路由,標(biāo)簽信息庫中直接給出報文的輸出接口及鏈路層封裝類型,這種情況下,不需要再查找VRF。針對現(xiàn)有VPN-IPV4協(xié)議的NLRIEncoding的格式,如圖4所示。現(xiàn)有的MP-BGP協(xié)議支持IPv6、IPX、L3VPN等協(xié)議的路由,但是并不支持路由E.164號段、E.214以及企業(yè)自己分配的SP代碼等,不能實(shí)現(xiàn)自動路由E.164、E.214、SP號碼功能。
發(fā)明內(nèi)容本發(fā)明的目的是針對上述現(xiàn)有技術(shù)中的MP-BGP協(xié)議不支持路由E.164號段、E.214以及企業(yè)自己分配的SP代碼、網(wǎng)絡(luò)結(jié)構(gòu)不優(yōu)化的缺陷,提出了一種號碼自動路由方法、更新方法、撤銷方法、路由器及號碼路由器設(shè)備,對現(xiàn)有MP-BGP進(jìn)行改進(jìn),實(shí)現(xiàn)號碼的自動路由,并同時優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)、提高效率。為實(shí)現(xiàn)上述目的,本發(fā)明提供一種號碼自動路由方法,包括將待分發(fā)的號碼轉(zhuǎn)換為號碼路由,加入動態(tài)路由協(xié)議中;根據(jù)號碼路由生成動態(tài)路由協(xié)議報文;將動態(tài)路由協(xié)議報文通過IP網(wǎng)絡(luò)進(jìn)行傳輸,進(jìn)行號碼的分發(fā)。優(yōu)選地,動態(tài)路由協(xié)議為擴(kuò)展的邊界網(wǎng)關(guān)協(xié)議MP-BGP。優(yōu)選地,將號碼路由信息加入動態(tài)路由協(xié)議的操作具體包括將MP_REACH—NLRI路徑屬性或MP一UNREACH一NLRI路徑屬性中的AFI與SAFI增加一種新的取值,所述取值表示NLRI所攜帶的路由信息是號碼路由信息。優(yōu)選地,AFI=8,SAFI=1。優(yōu)選地,將MP—REACH_NLRIif各徑屬性或MP—UNREACH—NLRI路徑屬性中NLRI的地址前綴配置為號碼l史對應(yīng)的信息。優(yōu)選地,地址前綴配置的號碼采用緊湊型BCD編碼。優(yōu)選地,號碼路由信息中的號碼為E.164號碼,E.214號碼或SP代碼。優(yōu)選地,MP-BGP的下一跳LSR地址與NLRI中的地址前綴釆用不同的地址格式。當(dāng)AFI與SAFI增加的取值表示NLRI所攜帶的路由信息是號碼路由信息,且下一跳LSR地址為IPV4地址時,處理下一跳LSR地址與NLRI中的地址前綴不同的路由。優(yōu)選地,下一跳LSR地址為IPv4格式,NLRI中的地址前綴包括占用八字節(jié)的RD及占用可變字節(jié)的網(wǎng)絡(luò)層地址E.164號碼、E.212號碼或SP代碼。為實(shí)現(xiàn)上述目的,本發(fā)明還提供一種路由更新方法,包括第一路由器將號碼轉(zhuǎn)換為號碼路由,并將號碼路由信息加入動態(tài)路由協(xié)議中;第一路由器將包含號碼路由信息的動態(tài)路由協(xié)議報文在IP網(wǎng)絡(luò)中傳輸,發(fā)送至第二路由器;第二路由器解析動態(tài)路由協(xié)議報文,得到號碼路由信息及相應(yīng)號碼的路由。優(yōu)選地,第一路由器和第二路由器通過BGP能力通告過程測定動態(tài)路由協(xié)議MP-BGP是否支持號碼自動路由;第一路由器在測定結(jié)果為支持號碼自動路由時,執(zhí)行號碼轉(zhuǎn)換為號碼路由。優(yōu)選地,還包括將第一路由器及第二路由器中的動態(tài)路由協(xié)議設(shè)置為支持號碼路由將第一路由器及第二路由器中的MP一REACH^NLRI路徑屬性或MP—UNREACH—NLRI路徑屬性中的AFI的值i殳置為網(wǎng)絡(luò)層地址E.164協(xié)議、E.212協(xié)議或SP代碼對應(yīng)的地址族取值。優(yōu)選地,對于做號碼段路由聚合的MP—REACH一NLRI屬性,按照十進(jìn)制號碼縮位遞歸算法進(jìn)行縮位。為實(shí)現(xiàn)上述目的,本發(fā)明還提供一種路由撤銷方法,包括第一路由器生成包含號碼路由信息的動態(tài)路由協(xié)議撤銷路由報文;第一路由器將撤銷路由報文通過IP網(wǎng)絡(luò)傳輸,發(fā)送至第二路由器;第二路由器接收并解析撤銷路由報文,獲得號碼路由信息,將路由表中的號碼路由信息刪除。為實(shí)現(xiàn)上述目的,本發(fā)明還提供一種路由器,包括配置模塊,用于將號碼路由信息加入動態(tài)路由協(xié)議;處理模塊,用于將號碼的路由轉(zhuǎn)換為號碼路由,并將號碼路由信息加入動態(tài)路由協(xié)議報文中;發(fā)送模塊,用于發(fā)送報文至路由反射器。優(yōu)選地,上述處理模塊包括檢測子模塊,用于通過動態(tài)路由協(xié)議能力通告過程測接收方是否支持號碼自動路由;執(zhí)行子模塊,用于在測定結(jié)果為支持號碼自動路由時,將號碼轉(zhuǎn)換為號碼路由,并將號碼路由信息加入動態(tài)路由協(xié)議報文中。為實(shí)現(xiàn)上述目的,本發(fā)明還提供一種路由器,包括接收模塊,用于接收動態(tài)路由協(xié)議報文;解析模塊,用于對接收的動態(tài)路由協(xié)議報文進(jìn)行解析,獲取號碼路由信息,并一步解析獲得號碼的路由;處理模塊,用于在接收的報文為撤銷路由報文時,將路由表中的號碼路由信息刪除。為實(shí)現(xiàn)上述目的,本發(fā)明還提供一種號碼路由設(shè)備,包括存儲模塊,用于存儲待分發(fā)號碼;配置模塊,用于對動態(tài)路由協(xié)議進(jìn)行擴(kuò)展,將待分發(fā)的號碼轉(zhuǎn)換為號碼路由,加入動態(tài)路由協(xié)議中,生成封裝后的動態(tài)路由協(xié)議報文;發(fā)送模塊,用于發(fā)送動態(tài)路由協(xié)議報文。其中,配置模塊可以包括屬性子模塊,用于將MP—REACI"LNLRI路徑屬性或MP—UNREACH—NLRI路徑屬性中的AFI與SAFI分別增加一種新的取值,所述取值表示NLRI所攜帶的路由信息是號碼路由信息;前綴子模塊,用于將MP_REACH—NLRI路徑屬性或MP—UNREACH—NLRI路徑屬性中NLRI的地址前綴配置為待分發(fā)的號碼;生成子模塊,用于根據(jù)屬性子模塊和前綴子模塊中的路徑屬性生成擴(kuò)展的邊界網(wǎng)關(guān)協(xié)議MP-BGP對應(yīng)的報文。優(yōu)選地,配置模塊還包括標(biāo)識子模塊,用于在同一號碼歸屬不同下一跳業(yè)務(wù)地址時,在MP-BGP中加入路由標(biāo)識RD對同一號碼歸屬不同上層業(yè)務(wù)進(jìn)行區(qū)分。本發(fā)明的以上實(shí)施例中,提出了一種對現(xiàn)有動態(tài)路由協(xié)議,如MP-BGP協(xié)議進(jìn)行擴(kuò)展,將號碼路由信息加入動態(tài)路由協(xié)議;當(dāng)路由器之間基于號碼進(jìn)行通信時,通過動態(tài)路由協(xié)議,如擴(kuò)展后的MP-BGP協(xié)議能夠?qū)崿F(xiàn)路由器之間的號碼自動分發(fā),從而可有效優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)、提高效率。圖1為現(xiàn)有的基于MP-BGP協(xié)議的MP—REACH—NLRI屬性的編碼示意圖2為現(xiàn)有的基于MP-BGP協(xié)議的MPJJNREACH一NLRI屬性的編碼示意圖3為現(xiàn)有的基于MP-BGP協(xié)議的NLRI的編碼示意圖;圖4為現(xiàn)有的基于MP-BGP協(xié)議,針對VPN-IPV4協(xié)議的NLRI的編碼示意圖5為本發(fā)明號碼自動路由方法中基于MP-BGP協(xié)議的NLRI編碼處理實(shí)施例流程圖6為采用本發(fā)明號碼自動路由方法中基于MP-BGP協(xié)議的NLRI編碼處理,針對E.164協(xié)i義的NLRI編碼實(shí)施例示意例示意圖8為本發(fā)明基于MP-BGP協(xié)議的號碼自動路由方法實(shí)施例流程圖9為本發(fā)明路由器的實(shí)施例示意圖IO為本發(fā)明另一路由器的實(shí)施例示意圖11為本發(fā)明號碼路由設(shè)備實(shí)施例示意圖。具體實(shí)施例方式下面通過附圖和實(shí)施例,對本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。本發(fā)明的基本思路是利用MP-BGP中地址族標(biāo)識(AddressFamilyIdentifier,簡稱AFI)的取值,提出了一種新的NLRI配置方法,以實(shí)現(xiàn)MP-BGP自動路由E.164、E.214、SP號碼功能。其中NLRI配置包4舌MP—REACH—NLRI的配置及MP—UNREACH—NLRI的配置。本發(fā)明所涉及的MP_REACH—NLRI配置需要對現(xiàn)有MP—REACH—NLRI路由屬性進(jìn)行相應(yīng)的修改;本發(fā)明所涉及的MP—UNREACH—NLRI配置需要對現(xiàn)有MP—UNREACH—NLRI路由屬性進(jìn)行相應(yīng)的修改。以下分別對MP-BGP消息格式中的MP—REACH—NLRI路由屬性、MP—UNREACH—NLRI路由屬性、NLRLEncoding進(jìn)行說明。1、對MP-BGP消息格式的修改1.1、MP—REACH—NLRI路由屬性MP_REACH—NLRI屬性中每一個字段的用法上文已傳丈過相應(yīng)解釋,下面說明本發(fā)明與現(xiàn)有^^支術(shù)相比的新增需求1.11、地址族標(biāo)識(AddressFamilyIdentifier,簡稱AFI):這個字段攜帶網(wǎng)絡(luò)層協(xié)議與網(wǎng)絡(luò)地址的連接標(biāo)識。目前這個字段定義的值在RFC1700中指定(參見地址族取值A(chǔ)ddressFamilyNumbers部分)部分^口下NumberDescription0Reserved1IP(IPversion4)2IP6(IPversion6)3NSAP4HDLC(8-bitmultidrop)5BBN18226802(includesall802mediaplusEthernet"canonicalformat")7E.1638E.164(S函S,F(xiàn)rameRelay,ATM)9F.69(Telex)10X.121(X.25,FrameRelay)11IPX12Appletalk13DecnetIV14BanyanVines65535Reserved為了MP-BGP能支持路由E.164號段、E.214、SP代碼,需要確定AddressFamilyNumbers。1.對于E.164協(xié)議,按照RFC1700中指定的AddressFamilyNumbers,可以采用AFI=8。2.對于E.214協(xié)議,由于E.214的格式與E.164類似,也可以采用AFI=8。3.對于SP代碼,管理機(jī)構(gòu)已經(jīng)保證企業(yè)內(nèi)部不重復(fù),而且與E.164不重復(fù),雖然不能做到全球唯一,但是可用不同RD來保證唯一性。因此也可采用AFI=8。當(dāng)然AFI采用什么值需要互聯(lián)網(wǎng)號碼分配當(dāng)局(INTERNETASSIGNEDNUMBERSAUTHORITY,簡稱IANA)分配,不論采用什么值并不影響本發(fā)明的實(shí)質(zhì)。1.12、并發(fā)地址族標(biāo)識(SubsequentAddressFamilyIdentifier,簡稱SAFI):SAFI的使用情況如下-SAFIl和2已經(jīng);故指配。-SAFI3保留。-SAFI5到63已經(jīng)被IANA使用。-SAFI67到127由IANA按先到先得的原則指派,具體定義參見RFC2434。-SAFI0和255保留。-SAFI128至240間的部分已經(jīng)被私自使用。沒有被用部分IANA已經(jīng)收回。包括130,131,135到139,以及141到240,Y旦是為了避免沖突還是被保留。-SAFI241到254屬于允許私用部分,IANA不對此范圍^故分配。SAFI如何取值不影響本發(fā)明,本發(fā)明只是指出需要分配AFI與SAFI來表示傳遞E.164/E.214/SP號碼路由。具體的取Y直可以由IANA來分配決定。現(xiàn)有已分配的AFI、SAFI值并不影響本發(fā)明。本實(shí)施例中可以暫時取值A(chǔ)FI-8,SAFI=1。但本領(lǐng)域普通技術(shù)人員應(yīng)當(dāng)了解,SAFI取任何值不影響本發(fā)明,但是需要IANA分配。1.13、LengthofNextHopNetworkAddress(下一i兆地址長度)與現(xiàn)有MP-BGP失見定一致。1.14、NetworkAddressofNextHop(下一跳地址)本字段長度可變,包含了到達(dá)目的系統(tǒng)的下一個路由器的地址?,F(xiàn)有MP-BGP要求下一跳標(biāo)簽交換路由器(LSR)地址與NLRI中地址前綴采用相同的地址格式,本實(shí)施例中下一跳LSR地址采用IPv4,NLRI中的網(wǎng)絡(luò)前綴采用8字節(jié)RD+變長E.164(或者E.214、SP代碼)號碼,兩者不是一個格式。因此本發(fā)明的實(shí)施例將對現(xiàn)有MP-BGP作出修改,當(dāng)MP一REACH一NLRI屬性中的地址族標(biāo)識AFI=8且SAFI=1時,MP-BGP下一跳LSR地址的格式為IPv4地址,此時MP-BGP需要處理下一跳地址才各式與NLRI中前綴地址格式不一致的路由。1.15、網(wǎng)纟備層可達(dá)寸言息'(NetworkLayerReachabilityInformation):可變長度區(qū)域,列出了將在本屬性中4皮通告的可用路由的NLRI信息。所有NLRI將會按照下面"NLRIencoding"中指定的方式進(jìn)行編碼處理。1.2、MP—UNREACH—NLRI屬性各個字段修改如下1.21、地址族標(biāo)識(AddressFamilyIdentifier):與MP—REACH—NLRI的》務(wù)文4呆持一致。1.22、并發(fā)地址族標(biāo)識(SubsequentAddressFamilyIdentifier):與MP—REACH—NLRI的《務(wù)改保持一致。1.23、撤銷路由(WithdrawnRoutes):可變長度區(qū)域。列出將要被從服務(wù)中撤銷的路由的NLRI。每條NLRI都按照下文"NLRIencoding"—節(jié)中指定的方式進(jìn)行編碼處理。1.3、網(wǎng)絡(luò)層可達(dá)信息編碼(NLRLEncoding)圖5為本發(fā)明號碼自動路由方法中基于MP-BGP協(xié)議的NLRI編碼處理實(shí)施例流程圖,如圖5所示,本實(shí)施例包括步驟501、設(shè)置MP_REACH—NLRI路徑屬性或MP—UNREACH_NLRI路徑屬性中的AFI的值為網(wǎng)絡(luò)層地址E.164協(xié)議、E.214協(xié)議或SP代碼對應(yīng)的地址族取值;步驟502、設(shè)置MP_REACH—NLRI路徑屬性或MPJJNREACH—NLRI路徑屬性中的NLRI的地址前綴為VPN-E.164號碼、VPN-E.214號碼或VPN-SP代碼。其中VPN-E.164號碼可以包括占用八字節(jié)的RD及占用可變字節(jié)的網(wǎng)絡(luò)層地址E.164號碼;VPN-E.214號碼可以包括占用八字節(jié)的RD及占用可變字節(jié)的網(wǎng)絡(luò)層地址E.214號碼;占用八字節(jié)的RD及占用可變字節(jié)的網(wǎng)絡(luò)層地址SP號碼。以E.164協(xié)議為例,一個路由器可能承載多個E.164地址的VPN,例如移動通信E.164VPN用來建立E.164號段與移動交換中心(MSC)的IP地址對應(yīng)關(guān)系,彩信E.164VPN用來建立E.164號,爻與彩^言中心IP地址的對應(yīng)關(guān)系。因?yàn)锽GP假設(shè)它攜帶的每個地址都是全球唯一的,但是不同VPN的E.164號碼可能會重疊,為了解決這個問題,本實(shí)施例的MP-BGP支持一種機(jī)制,通過使用VPN-E.164地址家族及部署多協(xié)議BGP擴(kuò)展(MP-BGP),把有重疊可能的E.164號碼轉(zhuǎn)換成全球唯一的地址。重疊地址空間提出的一個挑戰(zhàn)是,如果傳統(tǒng)BGP看到同一個E.164地址前綴有兩條不同的路由(前綴被分配給不同VPN中的系統(tǒng)),但恰好E.164號碼是相同的,例如E.164地址前綴1388/4,下一跳是該號IS:歸屬彩信中心IP地址A,另外一條E.164地址前綴1388/4,下一跳是該號^殳歸屬HLR的IP地址B,BGP將像僅有一條路由一樣處理前綴。結(jié)果,有可能一個目的地不可達(dá)。解決這個問題需要允許BGP消除前綴歧義,通過定義VPN-E.164號碼地址家族可以支持這種功能。以下對VPN-E.164號碼地址結(jié)構(gòu)、及MP-BGP對VPN-E.164號碼的支持情況進(jìn)行詳細(xì)說明。1.31、VPN-E.164號碼地址結(jié)構(gòu)VPN-E.164號碼地址一共12字節(jié),包括8字節(jié)的路由標(biāo)識(RouteDistinguishes簡稱RD)和變長的E.164號碼。下圖i兌明了VPN-E.164號碼地址結(jié)構(gòu)-TypeField:2bytes-ValueField:6bytes-Variable:E.164號碼8字節(jié)的RD與BGP/MPLSVPN所定義的含義一才羊,由2字節(jié)的類型字段和6字節(jié)的值字段構(gòu)成,具體描述請參考RFC4364[4.2.EncodingofRouteDistinguishers]。RD的這種結(jié)構(gòu)保證提供主干網(wǎng)服務(wù)的服務(wù)提供者能夠生成唯一的RD,但是這種RD本身沒有特別意義。1.32、MP-BGP對VPN-E.164號碼的支持當(dāng)路由器之間建立了BGP鄰居關(guān)系之后,它們各自向自己的BGP鄰居公告路由信息。在公告路由信息時,先將E.164號碼路由轉(zhuǎn)換成VPN-E.164號碼地址格式,VPN-E.164號碼地址中的RD在配置E.164VRF時指定。路由器在向BGP對等體公告路由信息的時候,每條路由(MP-BGP路由)中應(yīng)包含如下內(nèi)容a.路由器的VPN-E.164號碼地址(8字節(jié)RD+變長E.164號碼地址)。b.路由器自身的IP地址作為路由的MP-BGP下一跳LSR地址,由于現(xiàn)有MP-BGP要求下一跳LSR地址與NLRI中的地址前綴采用相同的地址格式,本發(fā)明的1.14節(jié)對現(xiàn)有MP-BGP作出修改,所以本發(fā)明所指的MP-BGP下一跳LSR地址的格式為IPv4地址。c.包含該路由的VRF的輸出路由目標(biāo)(exportRT),該輸出路由目標(biāo)封裝到BGP的"Community"屬性中。d.有可能包含該路由的"ORIGIN"和"AS—PATH"屬性。VPN-E.164號碼地址結(jié)構(gòu)在前面已經(jīng)描述過,它將被編碼后封裝在MP—REACH—NLRI的NLRI屬性里。用BGP多協(xié)議擴(kuò)展編碼NLRI,AFI字段值為8(因?yàn)楹蚇LRI相關(guān)聯(lián)的網(wǎng)絡(luò)層協(xié)議仍然是E.164),表明承載VPN-E.164號碼地址。同時由于本發(fā)明的MP-BGP路由用于用戶上層業(yè)務(wù)通信,數(shù)據(jù)包到達(dá)接收方路由器后,由于不同的業(yè)務(wù)通過不同的應(yīng)用層協(xié)議承載,所以不需要查詢VPN路由表。并且,如果分發(fā)標(biāo)簽,發(fā)送方路由器與接受方路由器之間并沒有要求必需運(yùn)行端到端的MPLS,打上標(biāo)簽后發(fā)送方路由器反而不能發(fā)送?;谝陨蟽牲c(diǎn)考慮,不給E.164路由分發(fā)標(biāo)簽。此時SAFI可設(shè)置為l。對于E.164號碼路由而言,路由的聚合是IO進(jìn)制號碼的縮位。不論聚合與否,發(fā)送方路由器知道<接收方管轄的號段,接受方路由器地址>對就可以發(fā)送數(shù)據(jù)包。接收方根據(jù)不同上層協(xié)議來區(qū)分不同業(yè)務(wù),并不需要查詢VPN路由表轉(zhuǎn)發(fā)。不同的VPN接收不同路由需要由RT值區(qū)分,因此RT值需要保留。為了支持一個路由器可以處理同一號段歸屬不同業(yè)務(wù)的情況,例如表一所示,引入了現(xiàn)有VPN中的RD概念,用RD來區(qū)分不同的業(yè)務(wù)(引入RD就同時要引入VPN中RT)。如果不引入RD,也可以實(shí)現(xiàn)號段路由功能,但是一個路由器就不支持處理多個上層電信業(yè)務(wù)的功能。表一<table>tableseeoriginaldocumentpage23</column></row><table>如果引入RD,表一中的號段路由在BGP路由表中就不會重復(fù),如表二所示表二<table>tableseeoriginaldocumentpage23</column></row><table>綜上所述,NLRI編碼(NLRIEncoding)的格式如圖6所示,每個字段域的用法和意義如下所示長度(Length):Length字段按位指出地址前綴的長度。如果是全零,則表示匹配所有地址。RD的"Type"與"Value"域8字節(jié)RD,與VPN-IPv4定義完全一致。E.164號碼地址前綴(E.164Prefix):該字段包含一個號碼地址前綴,按位補(bǔ)齊成完整字節(jié)。填充位不影響前綴的真實(shí)值。下面舉例說明假設(shè)對于E.164號碼地址前綴861391178978,NLRI編碼采用BCD緊湊編碼格式,即4個比特表示一位IO進(jìn)制數(shù),當(dāng)然也可以采用其他的編碼格式。RD的Type等于2,Value中ASN等于9808,分配編號字字,殳等于100,則NLRI編碼如表三所示表三<table>tableseeoriginaldocumentpage24</column></row><table>對于輸出^各由目標(biāo)(exportroute—target,簡稱exportRT),封裝在"Community"屬性中,方法與VPN-IPv4的方法一致,詳細(xì)描述請參考RFC4364。在MP—UNREACH—NLRI屬性中,"withdrawn"3各由按照NLRIencoding方式封裝。在終止BGP會話的時候?qū)⒊蜂N所有以前公布的路由。1.33、錯誤處理與現(xiàn)有MP-BGP方式一致。1.34、<吏用BGP能力通告(CapabilityAdvertisement)與現(xiàn)有MP-BGP方式一致。但AFI的取值為8,SAFI取值為1。2、VPN-E.164號碼路由的具體實(shí)現(xiàn)方式例示意圖。Pl-P4為運(yùn)營商路由器,PE為運(yùn)營商邊緣路由器(ProviderEdge),CE為客戶邊緣路由器(CustomEdge),Rl,R2為運(yùn)行經(jīng)過本發(fā)明擴(kuò)展后的MP-BGP的路由器。RR1、RR2為R1、R2的路由反射器。Rl,R2處于同一AS域。需要說明的是本發(fā)明上述實(shí)施例對MP-BGP所做的擴(kuò)展對于任何運(yùn)行或者不運(yùn)行MPLSVPN的IP網(wǎng)絡(luò)都是適用的。本發(fā)明對MP-BGP所喉丈的擴(kuò)展可以與BGP-4,MP-BGP共存在一臺路由器的一個BGP實(shí)例中,互相不影響。但是考慮路由器性能,對于自治系統(tǒng)邊界路由器(ASBR)及路由反射器(RR),建議傳統(tǒng)BGP-4的ASBR、RR與本發(fā)明ASBR、RR分開i更置。2.1、VPN-E.164號碼路由器界面配置可能的實(shí)現(xiàn)方式有多種,例如Rl:E.164vrfVPN訓(xùn)rd100:1route-targetexport100:1route-targetimport100:1E.164vrfVPN200rd100:2route-targetexport100:2route-targetimport100:2interfaceloopback100ipvrfforwardingVPN100ipaddress10.10.10.100255.255.255.252interfaceloopback200ipvrfforwardingVPN200ipaddress10.10.10.200255.255.255.252routerE.164address-familyE.164vrfVPNl00noauto-summarynetwork001network002network003network004network005network006network007network008network009network000network01111address-familyE.164vrfVPN200noauto-summarynetwork13911178network13800001network13700001network13740001network15700001network15,001routerbgp9808/*普通的BGP鄰居*/nosynchronizationneighbor20.20.20.1remote-as9808neighbor20.20.20.1update-sourceLoopBackO/*對于每個VRF的特定操作,將該VRF的路由發(fā)布到BGP中*/address-familyE.164vrfVPN謂redistributestaticnosynchronizationexit-address-familyaddress-familyE.164vrfVPN200redistributestaticnosynchronizationexit-address-family/*對于普通的鄰居,使其可以傳遞vpnE.164路由"address-familyvpnE.164neighbor20.20.20.1activateexit-address-familyR2:E.164vrfVP扁Ord100:1route-targetexport100:1route-targetimport100:1E.164vrfVPN200rd100:2route-targetexport100:2route-targetimport100:2interfaceloopback100ipvrfforwardingVPNIOOipaddress20.20.20.100255.255.255.252interfaceloopback200ipvrfforwardingWN200ipaddress20.20.20.200255.255.255.252routerE.164address-familyE.164vrfVPNIOOnoauto-summarynetwork0574network010network020address-familyE.164vrfVPN200noauto-summarynetwork1330network1331network1332network1333network1334network1335network1336network133728network1338network131network130network1339routerbgp9808嚴(yán)普通的BGP鄰居817nosynchronizationneighbor10.10.10.1remote-as9808neighbor10.10.10.1update-sourceLoopBackO/*對于每個VRF的特定操作,將該VRF的路由發(fā)布到BGP中*/address-familyE.164vrfVPN100redistributestaticnosynchronizationexit-address-familyaddress-familyE.164vrfVPN200redistributestaticnosynchronizationexit-address-family/*對于普通的鄰居,使其可以傳遞vpnE.164路由"address-familyvpnE.164neighbor10.10.10.1activateexit-address-family配置與VPN-IPv4類似,不同點(diǎn)在于VPN-IPv4與本發(fā)明采用的地址不同。2.2、VPN-E.164號碼路由表Rl的VPNIOO路由如表四所示:表四Rl的VPNIOO路由表<table>tableseeoriginaldocumentpage30</column></row><table>Rl的VPN200路由如表五所示表五R1的VPN200路由表<table>tableseeoriginaldocumentpage30</column></row><table>R2的VPNIOO路由如表六所示表六R2的VPNIOO路由表<table>tableseeoriginaldocumentpage30</column></row><table>R2的VPN200路由如表七所示:表七R2的VPN200路由表<table>tableseeoriginaldocumentpage31</column></row><table>上述表四-表七路由表中路由代碼與現(xiàn)有IP路由表含義相同,S指靜態(tài)路由,B指BGP。目的號碼前綴與現(xiàn)有IP路由表中的目的網(wǎng)絡(luò)前綴含義相同,但本實(shí)施例存放的具體內(nèi)容為E.164號碼,現(xiàn)有技術(shù)存放IP網(wǎng)段或地址。號碼長度目的號碼前綴字段中十進(jìn)制號碼的位數(shù)長度。對應(yīng)現(xiàn)有IP路由表中的掩碼長度,但掩碼長度表示網(wǎng)絡(luò)前綴有效比特位數(shù)。其它與現(xiàn)有IP路由表含義相同。2.3、詳細(xì)步驟說明圖8為本發(fā)明基于MP-BGP協(xié)議的號碼自動路由方法實(shí)施例流程圖。當(dāng)?shù)谝宦酚善骰贓.164協(xié)議、E.214協(xié)議或SP代碼與第二路由器進(jìn)行通信時,該方法包括步驟801、將第一路由器及第二路由器中的MP一REACH—NLRI路徑屬性或MP—UNREACH—NLRI路徑屬性中的AFI的值設(shè)置為網(wǎng)絡(luò)層地址E.164協(xié)議、E.214協(xié)議或SP代碼對應(yīng)的地址族取值;步驟802、第一路由器設(shè)置UPDATE報文中的MP—REACH—NLRI路徑屬性或MP—UNREACH—NLRI路徑屬性中的NLRI的地址前綴為VPN-E.164號碼、VPN-E.214號碼或VPN-SP代碼;步驟803、第一路由器將UPDATE報文發(fā)送到路由發(fā)射器;步驟804、路由發(fā)射器將UPDATE報文反射到第二路由器;步驟805、第二路由器解析UPDATE報文,得到VPN-E.164號碼、VPN-E.214號碼或VPN-SP代碼;步驟806、第二路由器解析VPN-E.164號碼、VPN-E.214號碼或VPN-SP代碼得到相應(yīng)的E.164號碼、E.214號碼及SP代碼。以上步驟可以劃分為兩個部分前期的配置工作以及路由分發(fā)流程。對照圖7的網(wǎng)絡(luò)拓樸,舉例說明支持E.164號碼路由的BGP/MPLSVPN網(wǎng)絡(luò)。CE1-CE4路由器接入兩個處于不同位置的VPN,PE1和PE2之間由MPLS骨干網(wǎng)絡(luò)連接,在PE1和PE2之間除了MPLS特有的標(biāo)簽交換路徑(LSP)之外,還通過MP-BGP建立peer對等關(guān)系,用于發(fā)布VPN-IPv4路由。R1與R2通過RR1,RR2反射器建立本發(fā)明擴(kuò)展的MP-BGPpeer對等關(guān)系,用于發(fā)布VPN-E.164號段路由。2.31前期的配置工作第一步工作是配置PE上的VRF,PE1、PE2針對連接CE的端口為每個VPN建立VRF,保證VPN的信息的安全性;第二步配置任務(wù)是BGP,即在PE1與PE2之間配置MP-BGP協(xié)議,這個協(xié)議可以保i正VPN-IPv4路由的正確分發(fā);第三步工作是建立LSP,PE1、PE2與MPLS骨干網(wǎng)絡(luò)中的其他P路由器通過LDP協(xié)議,請求獲取一條LSP,在PE1與PE2之間建立一條交換路徑,其間所有數(shù)據(jù)包都按照MPLS的標(biāo)簽交換模式進(jìn)行轉(zhuǎn)發(fā);第四步配置CE與PE之間的IGP路由協(xié)議(一般采用OSPF即可),以便VPN中的路由可以通告給PE;第五步是配置Rl,R2上的VRF,Rl、R2針對每個應(yīng)用為每個VPN建立VRF,保證VPN的信息的安全性;第六步配置任務(wù)是BGP,即在Rl與R2之間配置本發(fā)明擴(kuò)展的MP-BGP協(xié)議,這個協(xié)議可以保證VPN-E.164號碼路由的正確分發(fā)。2.32路由分發(fā)流程協(xié)議配置好之后,整個網(wǎng)絡(luò)正常工作,Rl與R2連通之后,VPN-E.164號碼路由分發(fā)流程包括路由更新與撤銷流程。2.321路由更新流程1)Rl,R2按現(xiàn)有BGP方式建立鄰居關(guān)系,Rl使用BGP能力通告過程(BGP-CAP)來測定R2是否支持本發(fā)明對MP-BGP所做的擴(kuò)展方法。能力可選參數(shù)域的設(shè)置為CapabilityCode被設(shè)置為1(指明多協(xié)議擴(kuò)展能力)。CapabilityLength被設(shè)置為4。Capability值域依次包括"AFI"域,"Res."域和"SAFI"域。其中,AFI域-地址族標(biāo)識符(16位),編碼方式同本發(fā)明NLRI中的設(shè)置;Res.域-保留(8位)區(qū)域。發(fā)送方應(yīng)當(dāng)設(shè)其值為O,接收方則忽略它;SAFI域-并發(fā)地址族標(biāo)識符(8位),編碼方式同本發(fā)明NLRI中的設(shè)置。為了能夠在一對BGPspeaker之間為特定雙向交換路由信息,每個BGPspeaker都應(yīng)該通過能力通告機(jī)制通告對方它支持這種特別的路由;2)假定Rl在VPN100中通過手工配置E.164號碼路由000,001,002,...,009,01111。表明上述號革史可通過VPN100到達(dá);3)VPN100將號段路由000,001,002,…,009,01111(這些路由應(yīng)該帶有VPN標(biāo)記)其放入為VPN100而設(shè)立的VRF100中;4)BGP協(xié)議將從VRF100中讀取號段路由000,001,002,...,009,01111,并將這些號段路由轉(zhuǎn)換為VPN-E.164路由,然后把它們封裝到MP—REACH一NLRI屬性中,同時將RT信息封裝到"Community"屬性中。RT的封裝與現(xiàn)有BGP/MLSVPN—致,本發(fā)明不再贅述;5)BGP協(xié)議把Rl的LookbacklOO地址設(shè)置為VPN-E.164路由的下一跳;判斷是否需要聚合,對于不做號段路由聚合的MP—REACH—NLRI屬性執(zhí)行步驟6),否則執(zhí)行步驟7);6)MP—REACH一NLRI屬性的詳細(xì)封裝過禾呈如下AFI字段置為IANA分配給本發(fā)明的值。SAFI字段置為IANA分配給本發(fā)明的值。LengthofNextHopNetworkAddress字段置為4,表示下一跳網(wǎng)絡(luò)地址為IPv4,地址長度為4。NetworkAddressofNextHop(variable)字^殳置為Rl的loopbacklOO地址10.10.10.100。該值可以在配置界面做修改,例如可以改為接口地址或其它loopback地址或其它地址。Reserved(1octet)字段按現(xiàn)有MP-BGP的處理方式。NLRI的Length字段置為76,具體計算方法如下000號段按BCD編碼換成二進(jìn)制占12比特,RD8字節(jié)長占64比特,因此000號段的有效長度為76比特。NLRI的TypeField字段置為2,本實(shí)施例中RD的Type采用AS+編號的方式(詳細(xì)說明請參考本發(fā)明的"(21)VPN-IPv4地址結(jié)構(gòu),,部分描述)。NLRI的ValueField字段高4個字節(jié)置為100,低2個字節(jié)置為1。NLRI的E.164Prefix字段置為十進(jìn)制000,具體方法是路由器根據(jù)表2VPN100中的號碼長度字段等于3,從目的號碼前綴字段中取出十進(jìn)制前3位000,按緊湊型BCD編碼按位補(bǔ)齊完整字節(jié)原則轉(zhuǎn)換成二進(jìn)制0000,0000,0000,0000。其它號段路由OOl,002,…,009,01111的NLRI封裝方法與ooo類似,不再詳細(xì)說明。封裝后的MP_REACH—NLRI如表八如示表八<table>tableseeoriginaldocumentpage35</column></row><table>7)如果R1配置需要聚合號段路由命令,Rl按現(xiàn)有的IO進(jìn)制號段縮位算法進(jìn)行縮位,該縮位算法是個遞歸算法,通過號段的縮位實(shí)現(xiàn)號段路由的聚合。本實(shí)施例中001~009號,史都有,因此可以縮位成00號^:。通過號段的聚合可以減少號段路由的數(shù)目提高BGP更新號段路由的效率。MP—REACH一NLRI的封裝方法與步驟6)類似,只是號段路由數(shù)目減少。封裝后的MP_REACH_NLRI示意如表九所示表九<table>tableseeoriginaldocumentpage36</column></row><table>8)Rl通過TCP協(xié)議將BGPUPDATE報文發(fā)送到路由反射器RRl、RR2,RRl、RR2將BGPUPDATE報文反射到R2。該報文從CE->PE->P->PE->CE的過程完全遵循現(xiàn)有的BGP/MPLSVPN的傳遞方式,本實(shí)施例不再詳細(xì)說明;9)如果CE->PE->P->PE->CE為普通IP網(wǎng)絡(luò),BGPUPDATE報文可以按照普通IP包轉(zhuǎn)發(fā)。這個過程也是現(xiàn)有技術(shù),本實(shí)施例也不再贅述;10)R2收到Rl的MP-BGPUPDATE報文后,為了簡單起見,以處理步驟⑦的MP—REACH一NLRI為例進(jìn)行說明按現(xiàn)有MP-BGP方法的到MP—REACH—NLRI,R2根據(jù)AFI與SAFI字4爻可以得知該MP—REACH—NLRI屬性經(jīng)過上述實(shí)施例所述的擴(kuò)展,轉(zhuǎn)步驟ll處理;11)R2按現(xiàn)有MP-BGP的方法獲取MP—REACH_NLRI的nexthop地址,根據(jù)NLRI的TypeField(2Octets)與ValueField(6Octets)獲取RD=100:1。根據(jù)NLRI的長度域(length)等于72比特,減去RD的64比特(8字節(jié))可知E.164前綴長度為8bit,從ValueField之后讀8比特二進(jìn)制值0000000,按緊湊型十進(jìn)制BCD編碼轉(zhuǎn)換成十進(jìn)制,獲知號段路由為00。E.164前綴長度為8bit按緊湊型十進(jìn)制BCD編碼可以換算出E.164前綴長度按十進(jìn)制計算為2。同理可以獲取01111號段路由。本實(shí)施例中,R2只收到R1發(fā)布的號段路由OO,01111,因此肯定是最優(yōu)路由將它們》丈入BGP路由表,如表十所示。假設(shè)R2還收到其它路由器比方說R3發(fā)布的號段路由00,01111,此時R2按現(xiàn)有的BGP優(yōu)選路由決策步驟,選出最優(yōu)路由放入BGP路由表中。表十<table>tableseeoriginaldocumentpage37</column></row><table>12)R2通過比較R2各個VPN的ImportRT與上述號段路由00,01111的ExportRT屬性,把上述號段路由OO,01111從BGP路由表裝入VRF100的路由表中,R2的VPN100路由如表六所示。2.322路由招i銷流程與現(xiàn)有的MP-BGP—樣,本發(fā)明對路由撤銷也是釆用MP_UNREACH_NLRI屬性,其NLRI的封裝方法與MP—REACH_NLRI屬性一致。我們以Rl撤銷號段路由00與01111為例進(jìn)4亍說明①Rl首先需要從配置上做相應(yīng)的刪除。②Rl構(gòu)造MP—UNREACH一NLRI屬性的Withdrawn報文,每個字段的封裝方法與MP—REACH—NLRI基本一致,不再重復(fù)說明。MP一UNREACH—NLRI屬性如表十一所示:表十一<table>tableseeoriginaldocumentpage38</column></row><table>③Rl將4姿現(xiàn)有MP-BGP的方法將MP—UNREACH_NLRI屬性封裝到BGP報文中發(fā)到R2。R2按類似解封裝MP_REACH—NLRI屬性的方法,將號段路由00,01U1從BGP才艮文中解封裝。⑤R2刪除BGP路由表中的號段路由00,01111。同時R2按現(xiàn)有BGP的做法刪除VPN中的路由。至此,VPNIOO中上層業(yè)務(wù)將可以通過E.164號^l路由進(jìn)^f亍業(yè)務(wù)通信,VPN200中的路由分發(fā)過程與之類似,不再舉例說明。2.33業(yè)務(wù)報文轉(zhuǎn)發(fā)流程以R1中對02010086進(jìn)4亍BICC呼叫的流程為例,包括以下步驟1、Rl查找VPNIOO的路由表,按最長比配原則,得到該業(yè)務(wù)下一跳地址是R2的"loopbacklOO"地址;2、Rl進(jìn)行BICC封裝成IP包,將目的IP地址填成R2的"loopbacklOO"地址;3、數(shù)據(jù)包通過中間網(wǎng)絡(luò)傳送到R2;4、R2根據(jù)BICC/SCTP/IP進(jìn)行解封裝;5、R2進(jìn)^f亍上層一些處理,組裝BICC回應(yīng)包;6、R2根據(jù)主叫號碼,查詢VPN100路由表,得到Rl地址loopbacklOO地址填入目的IP地址;7、數(shù)據(jù)包通過中間網(wǎng)絡(luò)返回Rl;8、Rl根據(jù)BICC/SCTP/IP進(jìn)行解封裝處理。圖9為本發(fā)明路由器的實(shí)施例示意圖。如圖9所示,本實(shí)施例包括配置模塊l,用于號碼路由信息加入動態(tài)路由協(xié)議,具體的可參見上述方法實(shí)施例的相關(guān)說明,如將MP_REACH—NLRI路徑屬性或MP—UNREACH一NLRI路徑屬性中的AFI值配置為網(wǎng)絡(luò)層地址E.164協(xié)議、E.214協(xié)議或SP代碼對應(yīng)的地址族取值,將MP_REACH—NLRI路徑屬性或MP—UNREACH—NLRI路徑屬性中NLRI的地址前綴配置為VPN-E.164號碼、VPN-E.214號碼或VPN-SP代碼等;處理模塊3,用于將號碼轉(zhuǎn)換為號碼路由,并將號碼路由信息加入動態(tài)路由協(xié)議才艮文中;發(fā)送模塊5,用于發(fā)送報文至路由反射器。其中,處理模塊3可以進(jìn)一步包括檢測子模塊,用于通過動態(tài)路由協(xié)議能力通告過程測接收方是否支持號碼自動路由;執(zhí)行子模塊,用于在測定結(jié)果為支持號碼自動路由時,將號碼轉(zhuǎn)換為號碼路由,并將號碼路由信息加入動態(tài)路由協(xié)議報文中。本實(shí)施例路由器具體應(yīng)用時可作為圖7中Rl,對MP一REACH—NLRI路徑屬性或MP一UNREACt^NLRI路徑屬性進(jìn)行配置,支持E.164號碼、E.214號碼或SP代碼等號碼路由。圖10為本發(fā)明另一路由器的實(shí)施例示意圖。如圖IO所示,本實(shí)施例包括接收模塊2,用于接收動態(tài)路由協(xié)議報文;解析模塊4,用于在支持號碼自動路由時,對接收的動態(tài)路由協(xié)議報文進(jìn)行解析,獲取號碼路由信息,并一步解析獲得號碼的路由;處理模塊6,用于在接收的報文為撤銷路由報文時,將路由表中的號碼路由信息刪除。本實(shí)施例路由器具體應(yīng)用時可作為圖7中R2,對包含MP—REACH—NLRI路徑屬性或MP—UNREACH—NLRI路徑屬性的報文進(jìn)行解析,獲得E.164號碼、E.214號碼或SP代碼等號碼路由,或在收到撤銷報文時,刪除路由表中的相應(yīng)號碼路由。圖11為本發(fā)明號碼路由設(shè)備的實(shí)施例示意圖。如圖11所示,本實(shí)施例包括存儲模塊IO,用于存儲待分發(fā)號碼;配置模塊20,用于對動態(tài)路由協(xié)議進(jìn)行擴(kuò)展,將待分發(fā)的號碼轉(zhuǎn)換為號碼路由,加入動態(tài)路由協(xié)議中,生成封裝后的動態(tài)路由協(xié)議報文;發(fā)送模塊30,用于發(fā)送動態(tài)路由協(xié)議報文。其中,配置模塊20可以包括屬性子模塊,用于將MP一REACH—NLRI路徑屬性或MP—UNREACH—NLRI路徑屬性中的AFI與SAFI分別增加一種新的取值,所述取值表示NLRI所攜帶的路由信息是號碼路由信息;前綴子才莫塊,用于將MP—REACH—NLRI路徑屬性或MP一UNREACH^NLRI路徑屬性中NLRI的地址前綴配置為待分發(fā)的號碼;生成子模塊,用于根據(jù)屬性子模塊和前綴子模塊中的路徑屬性生成擴(kuò)展的邊界網(wǎng)關(guān)協(xié)議MP-BGP對應(yīng)的才艮文。具體如何將號碼信息封裝進(jìn)MP-BGP可以參見前述各方法實(shí)施例,如前述介紹的1、對MP-BGP消息格式的修改部分及2、VPN-E.164號碼路由的具體實(shí)現(xiàn)方式部分。配置模塊還可以進(jìn)一步包括標(biāo)識子模塊,用于在同一號碼歸屬不同下一跳業(yè)務(wù)地址時,在MP-BGP中加入路由標(biāo)識RD對同一號碼歸屬不同上層業(yè)務(wù)進(jìn)行區(qū)分。引入路由標(biāo)識RD以后,同一號段路由在BGP路由表中就不會重復(fù),可參見表一及表二的相關(guān)說明。綜上所述,本發(fā)明的上述各實(shí)施例,提出了一種對現(xiàn)有MP-BGP協(xié)議進(jìn)行擴(kuò)展方案,實(shí)現(xiàn)號碼的自動路由和分發(fā),如E.164號碼、E.214號碼及SP代碼,通過將MP-BGP協(xié)議中攜帶號碼路由信息,使得擴(kuò)展后的MP-BGP協(xié)議支持路由E.164號碼、E,214號碼、SP代碼等,該擴(kuò)展后的MP-BGP協(xié)議能夠?qū)崿F(xiàn)路由器之間的號碼自動分發(fā)。最后應(yīng)說明的是以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的i兌明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解其依然可以對前述各實(shí)施例所記載的4支術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。權(quán)利要求1、一種號碼自動路由方法,其特征在于,包括將待分發(fā)的號碼轉(zhuǎn)換為號碼路由信息,加入動態(tài)路由協(xié)議中;根據(jù)所述號碼路由信息生成動態(tài)路由協(xié)議報文;將所述動態(tài)路由協(xié)議報文通過IP網(wǎng)絡(luò)進(jìn)行傳輸,通過所述動態(tài)路由協(xié)議報文及IP網(wǎng)絡(luò)進(jìn)行號碼的分發(fā)。2、根據(jù)權(quán)利要求1所述的方法,其特征在于,所述動態(tài)路由協(xié)議為擴(kuò)展的邊界網(wǎng)關(guān)協(xié)議MP-BGP。3、根據(jù)權(quán)利要求2所述的方法,其特征在于,所述將號碼路由信息加入動態(tài)路由協(xié)議的操作具體包括將MP—REACH—NLRIi各徑屬性或MP—UNREACH—NLRI路徑屬性中的AFI與SAFI分別增加一種新的取值,所述取值表示NLRI所攜帶的路由信息是號碼路由信息。4、根據(jù)權(quán)利要求3所述的方法,其特征在于,所述AFI-8,SAFI=1。5、根據(jù)權(quán)利要求2所述的方法,其特征在于,所述將號碼信息加入動態(tài)路由協(xié)議的操作還包括將MP—REACH—NLRI路徑屬性或MP—UNREACH—NLRI路徑屬性中NLRI的地址前綴配置為號碼。6、根據(jù)權(quán)利要求5所述的方法,其特征在于,所述地址前綴配置的號碼采用緊湊型BCD編碼。7、根據(jù)權(quán)利要求2所述的方法,其特征在于,還包括在同一號碼歸屬不同下一跳業(yè)務(wù)地址時,在所述MP-BGP中加入路由標(biāo)識RD對同一號碼歸屬不同上層業(yè)務(wù)進(jìn)行區(qū)分。8、根據(jù)權(quán)利要求1-7中任一項(xiàng)所述的方法,其特征在于,所述號碼路由信息中的號碼為E.164號碼,E.214號碼或SP代碼。9、根據(jù)權(quán)利要求2-7中任一項(xiàng)所述的方法,其特征在于,所述MP-BGP的下一跳LSR地址與NLRI中的地址前綴采用不同的地址才各式。10、根據(jù)權(quán)利要求9所述的方法,其特征在于,還包括當(dāng)AFI與SAFI增加的取值表示NLRI所攜帶的路由信息是號碼路由信息,且下一跳LSR地址為IPV4地址時,處理下一跳LSR地址與NLRI中的地址前綴不同的路由。11、根據(jù)權(quán)利要求IO所述的方法,其特征在于,所述下一跳LSR地址為IPv4格式,所述NLRI中的地址前綴包括占用八字節(jié)的RD及占用可變字節(jié)的網(wǎng)絡(luò)層地址E.164號碼、E.212號碼或SP碼。12、一種路由更新方法,其特征在于,第一路由器基于號碼路由與第二路由器進(jìn)行通信,所述方法包括第一路由器將號碼轉(zhuǎn)換為號碼路由,并將所述號碼路由信息加入動態(tài)路由協(xié)議中;第一路由器將包含所述號碼路由信息的動態(tài)路由協(xié)議報文在IP網(wǎng)絡(luò)中傳輸,發(fā)送至第二路由器;第二路由器解析所述動態(tài)路由協(xié)議報文,得到號碼路由信息及相應(yīng)號碼的路由。13、根據(jù)權(quán)利要求12所述的方法,其特征在于,第一路由器和第二路由器通過BGP能力通告過程測定動態(tài)路由協(xié)議MP-BGP是否支持號碼自動路由;第一路由器在測定結(jié)果為支持號碼自動路由時,執(zhí)行所述號碼轉(zhuǎn)換為號碼路由。14、根據(jù)權(quán)利要求12或13所述的方法,其特征在于,將所述號碼路由信息加入動態(tài)路由協(xié)議包括將所述號碼路由信息加入MP-BGP中的MP—REACH一NLRI。15、根據(jù)權(quán)利要求12或13所述的方法,其特征在于,還包括將第一路由器及第二路由器中的動態(tài)路由協(xié)議設(shè)置為支持號碼路由將第一路由器及第二路由器中的MP_REACH—NLRI路徑屬性或MP—UNREACH—NLRI路徑屬性中的AFI的值設(shè)置為網(wǎng)絡(luò)層地址E.164協(xié)議、E.212協(xié)議或SP代碼對應(yīng)的地址族取值。16、根據(jù)權(quán)利要求14所述的方法,其特征在于,還包括對于不做號碼路由聚合的MP—REACH一NLRI屬性,將下一跳網(wǎng)絡(luò)地址配置為路由器接口地址或"loopback"地址。17、根據(jù)權(quán)利要求14所述的方法,其特征在于,還包括對于做號碼路由聚合的MP—REACH—NLRI屬性,按照十進(jìn)制號碼縮位遞歸算法進(jìn)行縮位。18、一種路由撤銷方法,其特征在于,包括第一路由器生成包含號碼路由信息的動態(tài)路由協(xié)議撤銷路由報文;第一路由器將所述撤銷路由報文通過IP網(wǎng)絡(luò)中傳輸,發(fā)送至第二路由器;第二路由器接收并解析所述撤銷路由報文,獲得號碼路由信息,將路由表中的所述號碼路由信息刪除。19、一種路由器,其特征在于,包括配置模塊,用于將號碼路由信息加入動態(tài)路由協(xié)議;處理模塊,用于將所述號碼轉(zhuǎn)換為號碼路由,并將所述號碼路由信息加入動態(tài)路由協(xié)議凈艮文中;發(fā)送模塊,用于發(fā)送所述報文至路由反射器。20、根據(jù)權(quán)利要求19所述的路由器,其特征在于,所述處理模塊包括檢測子模塊,用于通過所述動態(tài)路由協(xié)議能力通告過程測接收方是否支持號碼自動路由;執(zhí)行子模塊,用于在測定結(jié)果為支持號碼自動路由時,將所述號碼轉(zhuǎn)換為號碼路由,并將所述號碼路由信息加入動態(tài)路由協(xié)議報文中。21、—種路由器,其特征在于,包括接收模塊,用于接收動態(tài)路由協(xié)議報文;解析模塊,用于對接收的動態(tài)路由協(xié)議報文進(jìn)行解析,獲取號碼路由信息,并一步解析獲得所述號碼的路由;處理模塊,用于在接收的報文為撤銷路由報文時,將路由表中的所述號碼路由信息刪除。22、一種號碼路由設(shè)備,其特征在于,包括存儲模塊,用于存儲待分發(fā)號碼;配置模塊,用于對動態(tài)路由協(xié)議進(jìn)行擴(kuò)展,將待分發(fā)的號碼轉(zhuǎn)換為號碼路由,加入所述動態(tài)路由協(xié)議中,生成封裝后的動態(tài)路由協(xié)議報文;發(fā)送模塊,用于發(fā)送所述動態(tài)路由協(xié)議報文。23、根據(jù)權(quán)利要求22所述的設(shè)備,其特征在于,所述配置模塊包括屬性子模塊,用于將MP一REACH一NLRI路徑屬性或MPJJNREACH一NLRIi各徑屬性中的AFI與SAFI分別增加一種新的取值,所述取值表示NLRI所攜帶的路由信息是號碼路由信息;前綴子4莫塊,用于將MP一REACH—NLRI路徑屬性或MPJJNREACH—NLRI路徑屬性中NLRI的地址前綴配置為4寺分發(fā)的號碼;生成子模塊,用于根據(jù)屬性子模塊和前綴子模塊中的路徑屬性生成擴(kuò)展的邊界網(wǎng)關(guān)協(xié)議MP-BGP對應(yīng)的報文。24、根據(jù)權(quán)利要求23所述的設(shè)備,其特征在于,所述配置模塊還包括標(biāo)識子模塊,用于在同一號碼歸屬不同下一跳業(yè)務(wù)地址時,在所述MP-BGP中加入路由標(biāo)識RD對同一號碼歸屬不同上層業(yè)務(wù)進(jìn)行區(qū)分。全文摘要本發(fā)明涉及一種號碼自動路由方法、更新方法、撤銷方法、路由器及設(shè)備,其中,號碼自動路由方法包括將待分發(fā)的號碼轉(zhuǎn)換為號碼路由信息,加入動態(tài)路由協(xié)議中;根據(jù)號碼路由信息生成動態(tài)路由協(xié)議報文;將動態(tài)路由協(xié)議報文通過IP網(wǎng)絡(luò)進(jìn)行傳輸,通過動態(tài)路由協(xié)議報文及IP網(wǎng)絡(luò)進(jìn)行號碼的分發(fā)。本發(fā)明通過擴(kuò)展現(xiàn)有的MP-BGP協(xié)議,可以支持路由E.164、E.214、SP等號碼的自動路由,實(shí)現(xiàn)優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)、提高效率。文檔編號H04L12/56GK101340372SQ200810118760公開日2009年1月7日申請日期2008年8月21日優(yōu)先權(quán)日2008年8月21日發(fā)明者澍葛申請人:中國移動通信集團(tuán)公司