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