專利名稱:在ospf配置的網(wǎng)絡(luò)中散布bgp屬性信息來(lái)防止路由環(huán)的技術(shù)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般地涉及在計(jì)算機(jī)網(wǎng)絡(luò)中防止路由環(huán)(routing loop),更具 體地,涉及一種用于在開放式最短路徑優(yōu)先(OSPF)配置的網(wǎng)絡(luò)中傳輸邊 界網(wǎng)關(guān)協(xié)議(BGP)屬性信息以防止路由環(huán)的新技術(shù)。
背景技術(shù):
計(jì)算機(jī)網(wǎng)絡(luò)是在網(wǎng)絡(luò)節(jié)點(diǎn)之間傳輸數(shù)據(jù)的互相連接的子網(wǎng)絡(luò)(諸如, 局域網(wǎng)(LAN))的地理分布的集合。如這里所使用的,網(wǎng)絡(luò)節(jié)點(diǎn)是計(jì)算 機(jī)網(wǎng)絡(luò)中的適用于發(fā)送和/或接收數(shù)據(jù)的任何設(shè)備。所以,在本公開的上下 文中,術(shù)語(yǔ)"節(jié)點(diǎn)"和"設(shè)備"可交換使用。網(wǎng)絡(luò)拓?fù)溆?一般,通過(guò)諸 如路由器和交換機(jī)的一個(gè)或多個(gè)中間網(wǎng)絡(luò)節(jié)點(diǎn))相互通信的多個(gè)網(wǎng)絡(luò)節(jié)點(diǎn) 的排列定義。除了位于相同網(wǎng)絡(luò)中的網(wǎng)絡(luò)節(jié)點(diǎn)之間的網(wǎng)絡(luò)內(nèi)通信外,數(shù)據(jù) 還可以在位于不同網(wǎng)絡(luò)中的節(jié)點(diǎn)之間交換。對(duì)此,位于第一計(jì)算機(jī)網(wǎng)絡(luò)的 邏輯外邊界的"邊緣設(shè)備"可以適用于利用位于相鄰(即,臨近)網(wǎng)絡(luò)中 的邊緣設(shè)備發(fā)送和接收數(shù)據(jù)。網(wǎng)絡(luò)間和網(wǎng)絡(luò)內(nèi)通信一般都是通過(guò)根據(jù)預(yù)定 協(xié)議交換離散數(shù)據(jù)包實(shí)現(xiàn)的。在此上下文中,協(xié)議包括定義網(wǎng)絡(luò)節(jié)點(diǎn)如何 相互作用的規(guī)則的集合。每個(gè)數(shù)據(jù)包一般都包括通過(guò)根據(jù)網(wǎng)絡(luò)通信協(xié)議格式化的至少一個(gè)網(wǎng)絡(luò) 頭部前置("封裝")的"有效載荷"數(shù)據(jù)。網(wǎng)絡(luò)頭部包括使能網(wǎng)絡(luò)節(jié)點(diǎn) 有效通過(guò)計(jì)算機(jī)網(wǎng)絡(luò)路由信息包的信息。通常,信息包的網(wǎng)絡(luò)頭部包括由 傳輸控制協(xié)議/互聯(lián)網(wǎng)協(xié)議(TCP/IP)模型定義的數(shù)據(jù)鏈路(層2)頭部、 互聯(lián)網(wǎng)(層3)頭部、以及傳輸(層4)頭部。TCP/IP參考模型在由 Andrew Tanenbaum于2003年出版布的名為"Computer Networks, Fourth Edition"的參考書的Section 1.4.2.中詳細(xì)描述,其全部?jī)?nèi)容結(jié)合于此作為 參考。 數(shù)據(jù)包可以從源節(jié)點(diǎn)發(fā)起,然后依次沿著邏輯數(shù)據(jù)路徑從節(jié)點(diǎn)"跳" 到節(jié)點(diǎn)直到到達(dá)其目的地為止。定義數(shù)據(jù)流的邏輯數(shù)據(jù)路徑的網(wǎng)絡(luò)地址通 常被作為互聯(lián)網(wǎng)協(xié)議(IP)地址存儲(chǔ)在信息包的互聯(lián)網(wǎng)頭部中。通常根據(jù)IP版本4 (IPv4)協(xié)議對(duì)IP地址進(jìn)行格式化,其中,使用32比特(4字節(jié))的值來(lái)對(duì)網(wǎng)絡(luò)節(jié)點(diǎn)進(jìn)行尋址。盡管IPv4在今天的大多數(shù)網(wǎng)絡(luò)中盛行, 但是已經(jīng)引入了IP版本6 (IPv6)以將IP地址的長(zhǎng)度增加到128比特(16 字節(jié)),從而增加可用IP地址的數(shù)目。 一般,為網(wǎng)絡(luò)或子網(wǎng)絡(luò)分配預(yù)定的 IP地址的集合,這些IP地址可以被分配到位于該網(wǎng)絡(luò)或子網(wǎng)絡(luò)中的網(wǎng)絡(luò) 節(jié)點(diǎn)。這里,子網(wǎng)絡(luò)是較大的計(jì)算機(jī)網(wǎng)絡(luò)的子集,從而子網(wǎng)絡(luò)中的網(wǎng)絡(luò)節(jié) 點(diǎn)可以被配置為與位于其他子網(wǎng)絡(luò)中的節(jié)點(diǎn)通信??梢允褂米泳W(wǎng)掩碼來(lái)從子網(wǎng)的分配地址空間內(nèi)的IP地址中選擇鄰接的 高階比特的集合。子網(wǎng)掩碼長(zhǎng)度指示通過(guò)子網(wǎng)掩碼選擇的鄰接高階比特的 數(shù)目,并且N比特的子網(wǎng)掩碼長(zhǎng)度在下文中表示為/N。通常,根據(jù)在給定 子網(wǎng)絡(luò)中對(duì)節(jié)點(diǎn)進(jìn)行清楚地尋址所需的比特?cái)?shù)目,來(lái)選擇給定子網(wǎng)絡(luò)的子 網(wǎng)掩碼長(zhǎng)度。如這里所使用的,將"地址前綴"定義為將子網(wǎng)掩碼應(yīng)用于 網(wǎng)絡(luò)地址(諸如,IP地址)的結(jié)果。所以,地址前綴指定子網(wǎng)絡(luò)中的網(wǎng)絡(luò) 地址的范圍,并且在IPv4中,/32地址前綴對(duì)應(yīng)于特定網(wǎng)絡(luò)地址。這里, 將"路由"定義為地址前綴及其相關(guān)的路徑屬性。路徑屬性一般包括定義 地址前綴的特征的任何信息,并可以包括各種協(xié)議特定屬性,諸如,傳統(tǒng) 的邊界網(wǎng)絡(luò)協(xié)議屬性。內(nèi)部網(wǎng)關(guān)協(xié)議(IGP)計(jì)算機(jī)網(wǎng)絡(luò)可以包括可以作為獨(dú)立的自治系統(tǒng)管理的一個(gè)或多個(gè)子網(wǎng) 絡(luò)的更小的分組。如這里所使用的,自治系統(tǒng)(autonomous system, AS) 被廣泛地構(gòu)建為公共管理下的互聯(lián)網(wǎng)絡(luò)節(jié)點(diǎn)的集合。通常,AS由諸如公 司、學(xué)術(shù)機(jī)構(gòu)、或政府分支的一個(gè)管理實(shí)體管理。例如,AS可以作為企 業(yè)網(wǎng)絡(luò)、服務(wù)提供者任何其他類型的網(wǎng)絡(luò)或子網(wǎng)絡(luò)操作。為每個(gè)AS分配 諸如唯一的AS號(hào)的唯一標(biāo)識(shí)符,用于從計(jì)算機(jī)網(wǎng)絡(luò)中的多個(gè)AS中標(biāo)識(shí) 出AS。AS可以包括具有到位于相鄰網(wǎng)絡(luò)或子網(wǎng)絡(luò)中的其他邊緣設(shè)備的對(duì)等
連接的一個(gè)或多個(gè)邊緣設(shè)備(或"自治系統(tǒng)邊界路由器"(ASBR))。 所以,信息包通過(guò)適當(dāng)?shù)腁SBR進(jìn)入或離開AS??梢栽谶壿嬌蠈S分割 為多個(gè)不同的"路由區(qū)域"。每個(gè)路由區(qū)域包括被配置為共享路由和拓?fù)?信息的指定的網(wǎng)絡(luò)節(jié)點(diǎn)的集合。這樣,路由區(qū)域中的網(wǎng)絡(luò)節(jié)點(diǎn)共享一致的 網(wǎng)絡(luò)拓?fù)?視圖"。由于區(qū)域內(nèi)、區(qū)域間、以及AS間信息的一致集合通 常在AS的網(wǎng)絡(luò)節(jié)點(diǎn)之間分布,所以節(jié)點(diǎn)可以計(jì)算通過(guò)AS的"最佳路 徑"的一致集合,例如,使用傳統(tǒng)的最短路徑優(yōu)先(SPF)計(jì)算或其他路 由計(jì)算。計(jì)算出的最佳路徑對(duì)應(yīng)于用于在一對(duì)源和目的地節(jié)點(diǎn)之間傳輸數(shù) 據(jù)的優(yōu)選數(shù)據(jù)路徑?;谠春湍康牡毓?jié)點(diǎn)的位置,最佳路徑可以是區(qū)域內(nèi) 的、區(qū)域間的、或AS間的數(shù)據(jù)路徑。諸如區(qū)域邊界路由器(ABR)的區(qū)域邊界設(shè)備位于兩個(gè)或兩個(gè)以上的 路由區(qū)域的邏輯邊界處。因此,每個(gè)ABR設(shè)備都參與到多個(gè)路由區(qū)域 中,并且通常為其參與的每個(gè)相鄰路由區(qū)域保持路由和拓?fù)湫畔⒌莫?dú)立集 合。路由區(qū)域中的每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)一般都保持其自身的鏈路狀態(tài)數(shù)據(jù)庫(kù) (LSDB) 。 LSDB被配置為存儲(chǔ)利用節(jié)點(diǎn)的路由區(qū)域通告的拓?fù)湫畔?。?于ABR (通過(guò)定義)參與到了多個(gè)路由區(qū)域中,所以每個(gè)ABR都為其自 己的路由區(qū)域保持獨(dú)立的LSDB。位于同一個(gè)路由區(qū)域中的網(wǎng)絡(luò)節(jié)點(diǎn)一般使用諸如鏈路狀態(tài)協(xié)議的"內(nèi) 部網(wǎng)關(guān)"路由協(xié)議(IGP)來(lái)交換路由信息和網(wǎng)絡(luò)拓?fù)湫畔?。傳統(tǒng)的鏈路 狀態(tài)協(xié)議的示例是開放式最短路徑優(yōu)先(OSPF)協(xié)議,該開放式最短路徑 優(yōu)先協(xié)議在可通過(guò)互聯(lián)網(wǎng)工程任務(wù)小組(IETF)獲得的、于1998年4月 公開的名為"OSPF Version 2"的Request for Comments (RFC) 2328中詳 細(xì)描述,其全部?jī)?nèi)容結(jié)合與此作為參考。OSPF采用傳統(tǒng)的鏈路狀態(tài)通告(LSA)來(lái)在一組相互連接的中間網(wǎng) 絡(luò)節(jié)點(diǎn)(即,路由器和交換機(jī))之間交換路由和拓?fù)湫畔?。?shí)際上,可以 使用不同類型的LSA來(lái)傳送路由和拓?fù)湫畔?。例如,OSPF版本2說(shuō)明 (RFC 2328)定義了以下類型的LSA:路由器、網(wǎng)絡(luò)、匯總和AS外部 LSA (Summary and AS-Extemal LSA)。路由器和網(wǎng)絡(luò)LSA用于在路由區(qū) 域內(nèi)傳送鏈路信息。具體地,路由器LSA通告路由器接口鏈路(S卩,連接
到路由器的鏈路)和他們的相關(guān)的開銷值,而網(wǎng)絡(luò)LSA在路由區(qū)域內(nèi)通告網(wǎng)絡(luò)接口鏈路(即,連接到子網(wǎng)絡(luò)的鏈路)和他們的相關(guān)的開銷值。匯總和AS外部LSA用于在路由區(qū)域之間散布路由信息。匯總LSA 一般由ABR生成,并用于在路由區(qū)域之間通告內(nèi)部AS ("內(nèi)部")路 由。首先,ABR接收在第一路由區(qū)域中通告的各種LSA。 ABR通過(guò)在可 能的情況下聚集路由來(lái)"匯總"所通告的路由。接著,ABR在匯總LSA 中存儲(chǔ)所匯總的路由,然后在第二路由區(qū)域中通告所匯總的路由。這樣, 可以使得第二區(qū)域中的節(jié)點(diǎn)獲知可以通過(guò)ABR到達(dá)的第一路由區(qū)域中的 路由。AS外部LSA存儲(chǔ)可到達(dá)的AS間("外部")路由,即位于AS外 部的路由的列表。AS外部LSA —般由ASBR生成,并被傳播到AS的各 處以標(biāo)識(shí)哪些外部路由可以通過(guò)廣播ASBR獲得。與匯總LSA不同,通 常不對(duì)存儲(chǔ)在AS外部LSA中的路由進(jìn)行聚集。不透明LSA提供與OSPF協(xié)議一起使用的可擴(kuò)展LSA格式,該不透 明LSA在由R.Coltun于1998年7月出版的名為"The OSPF Opaque LSA Option"的IETE公開RFC 2370中詳細(xì)描述,其全部?jī)?nèi)容結(jié)合于此作為參 考。如在RFC 2370中所述,可以在網(wǎng)絡(luò)節(jié)點(diǎn)(鏈路范圍)之間、路由區(qū) 域(區(qū)域范圍)內(nèi)或AS的各處(AS范圍)通告(泛洪(flood))不透明 LSA。盡管傳統(tǒng)的路由器、網(wǎng)絡(luò)、匯總、和AS外部LSA被OSPF協(xié)議說(shuō) 明(RFC 2328)中闡述的他們各自的格式所限制,但是不透明LSA在他 們能夠傳輸什么內(nèi)容方面通常是比較靈活的。例如,不透明LSA可以被配 置為存儲(chǔ)包含與在不透明LSA中通告的路由相關(guān)的所選擇OSPF屬性的一 個(gè)或多個(gè)類型長(zhǎng)度值(type-length-value, TLV)元組。由S.Mirtorabi等于2005年8月公開的名為"Extensions to OSPFv2 for Advertising Optional Route/Link Attributes "的互聯(lián)網(wǎng)草禾高公開<dmft-mirtorabi-ospf-tag-01.txt> (其全部?jī)?nèi)容結(jié)合于此作為參考)描述了可以被 用于傳輸至少一個(gè)區(qū)域間/外部路由屬性TLV (RA-TLV)的OSPF路由器 屬性(RA)不透明LSA。 RA-TLV可以包含被編碼為RA-TLV內(nèi)的子 TLV的一個(gè)或多個(gè)路由屬性。當(dāng)前,RA-TLV僅被用于傳輸包含與RA不 透明LSA中所通告的OSPF路由相關(guān)的OSPF標(biāo)簽、擴(kuò)展標(biāo)簽、以及多拓
撲標(biāo)識(shí)符的子TLV。 PE-CE網(wǎng)絡(luò)拓?fù)涮摂M專用網(wǎng)(VPN)是在共享骨干網(wǎng)上建立專用通信的網(wǎng)絡(luò)節(jié)點(diǎn)的集 合。以前,VPN通過(guò)在共享網(wǎng)絡(luò)中嵌入專用線(leased line)來(lái)實(shí)現(xiàn)???以僅為參與到VPN中的這些網(wǎng)絡(luò)節(jié)點(diǎn)中的網(wǎng)絡(luò)流量預(yù)留專用線(即,通 信鏈路)。今天,上述的VPN實(shí)現(xiàn)方式基本已經(jīng)被公用網(wǎng)絡(luò)中采用的專 用"虛擬電路"所取代。具體地,每個(gè)虛擬電路都定義參與到VPN中的 一對(duì)網(wǎng)絡(luò)節(jié)點(diǎn)之間的邏輯的端到端數(shù)據(jù)路徑。屬于相同VPN的網(wǎng)絡(luò)節(jié)點(diǎn)可以位于不同的子網(wǎng)絡(luò)或"客戶現(xiàn)場(chǎng)(customer site)"中。每個(gè)客戶現(xiàn)場(chǎng)可以參與到一個(gè)或多個(gè)不同VPN 中,盡管大多數(shù)情況下每個(gè)客戶現(xiàn)場(chǎng)只與一個(gè)VPN相關(guān),并且在下文 中,說(shuō)明性的實(shí)施例將假設(shè)客戶現(xiàn)場(chǎng)和VPN之間是一對(duì)一的對(duì)應(yīng)關(guān)系。 例如,可以在統(tǒng)計(jì)上將由共同的管理實(shí)體(諸如,集團(tuán)企業(yè))擁有或管理 的客戶現(xiàn)場(chǎng)分配到企業(yè)的VPN。這樣,位于企業(yè)的不同客戶現(xiàn)場(chǎng)的網(wǎng)絡(luò)節(jié) 點(diǎn)參與到相同的VPN中,從而被允許安全地相互通信。客戶現(xiàn)場(chǎng)一般通過(guò)服務(wù)提供者網(wǎng)絡(luò)("提供者網(wǎng)絡(luò)")相互通信。提 供者網(wǎng)絡(luò)是用作骨干網(wǎng)絡(luò)的AS,通過(guò)該提供者網(wǎng)絡(luò)可以在客戶現(xiàn)場(chǎng)之間 交換VPN信息。提供者網(wǎng)絡(luò)可以包括用作位于提供者網(wǎng)絡(luò)的邏輯外邊緣 處的ASBR的提供者邊緣(PE)設(shè)備、以及位于提供者網(wǎng)絡(luò)的內(nèi)部("核 心")的提供者(P)設(shè)備。因此,每個(gè)客戶現(xiàn)場(chǎng)都包含耦合至提供者網(wǎng) 絡(luò)中的PE設(shè)備的至少一個(gè)客戶邊緣(CE)設(shè)備??蛻衄F(xiàn)場(chǎng)可以多宿(milti-homed)到提供者網(wǎng)絡(luò),艮卩,其中, 一個(gè)或多個(gè)客戶的CE設(shè)備被 耦合至多個(gè)PE設(shè)備。PE-CE數(shù)據(jù)鏈路可以在諸如傳統(tǒng)的有線鏈路、光學(xué) 鏈路、無(wú)線鏈路等的各種物理介質(zhì)上建立,并可以傳送使用包括ATM、 幀中繼、以太網(wǎng)、光纖分布數(shù)據(jù)接口 (FDDI)等的各種網(wǎng)絡(luò)通信協(xié)議格式 化的數(shù)據(jù)。在普及的VPN配置中,提供者網(wǎng)絡(luò)通常通過(guò)利用了 IP和/或多協(xié)議標(biāo) 簽交換(MPLS)技術(shù)的層3基于網(wǎng)絡(luò)的VPN服務(wù)來(lái)提供客戶現(xiàn)場(chǎng)。通常 說(shuō),這些網(wǎng)絡(luò)提供"MPLS/VPN"服務(wù)。這種廣泛采用的MPLS/VPN結(jié)構(gòu)
在由E.Rosen等于1999年3月公開的名為"BGP/MPLS VPNs"的IETF公 開RFC 2547中更詳細(xì)地描述,其全部?jī)?nèi)容結(jié)合于此作為參考。最一般地,PE和CE設(shè)備被配置為根據(jù)邊界網(wǎng)關(guān)協(xié)議(BGP)在他們 各自的PE-CE數(shù)據(jù)鏈路上交換路由信息。BGP協(xié)議是公知的,并在由 Y.Rekhter和T丄i于1995年3月公開的名為"A border Gateway Protocol 4 (BGP-4)"的RFC 1771中描述,其全部?jī)?nèi)容結(jié)合于此作為參考。通常使 用BGP協(xié)議的變形(公知為內(nèi)部BGP (iBGP))來(lái)在提供者網(wǎng)絡(luò)中的PE 設(shè)備之間分配路由和可到達(dá)性信息。為了實(shí)現(xiàn)iBGP, PE設(shè)備必須是"完 全網(wǎng)狀的",以使每個(gè)PE設(shè)備都(例如)通過(guò)傳輸控制協(xié)議(TCP)連 接而耦合至每個(gè)其他PE設(shè)備。本領(lǐng)域技術(shù)人員將理解,完全網(wǎng)狀的PE設(shè) 備可以直接連接,也可以通過(guò)(例如) 一個(gè)或多個(gè)傳統(tǒng)的BGP路由反射器BGP使能的PE和CE設(shè)備基于BGP路由策略執(zhí)行包括發(fā)送和接收 BGP消息以及提交路由決定的各種路由功能。每個(gè)BGP使能的設(shè)備都保 持有列出了去往可到達(dá)(即,可訪問(wèn))的網(wǎng)絡(luò)節(jié)點(diǎn)和子網(wǎng)絡(luò)的可行路由的 本地BGP路由表。BGP表還可以將一個(gè)或多個(gè)BGP屬性與其存儲(chǔ)的每條 路由相關(guān)聯(lián)。例如,可以將傳統(tǒng)的BGP AS路徑屬性與BGP路由相關(guān)聯(lián), 以標(biāo)識(shí)出可以用來(lái)到達(dá)那條路由的特定AS路徑。通常,AS路徑由AS號(hào) 的有序序列標(biāo)識(shí)表示,這些AS號(hào)對(duì)應(yīng)于為了到達(dá)路由的相關(guān)聯(lián)的節(jié)點(diǎn)或 子網(wǎng)絡(luò)必須經(jīng)過(guò)的AS。盡管最常見在PE-CE數(shù)據(jù)鏈路上執(zhí)行BGP,但是也可以使用其他協(xié) 議來(lái)在客戶現(xiàn)場(chǎng)CE設(shè)備和提供者網(wǎng)絡(luò)PE設(shè)備之間交換路由和拓?fù)湫畔ⅰ?例如,由Rosen等于2005年11月公開的名為"OSPF as the Provider/Customer Edge Protocol for BGP/MPLS VPNs"的互聯(lián)網(wǎng)草稿公開 <draft-ietf-13vpn-ospf-2547-05.txt> (其全部?jī)?nèi)容結(jié)合于此作為參考)描述 了一種在PE-CE鏈路上執(zhí)行OSPF的實(shí)施方式。在這種情況下,PE設(shè)備 用作用于包含CE設(shè)備的客戶現(xiàn)場(chǎng)的ABR,所以PE設(shè)備既保持包含客戶 現(xiàn)場(chǎng)的IGP拓?fù)湫畔⒌腛SPF LSDB,也保持包含(例如)已經(jīng)經(jīng)由iBGP 在提供者網(wǎng)絡(luò)內(nèi)分配的BGP路由的BGP表。 路由環(huán)諸如OSPF和BGP的路由協(xié)議一般執(zhí)行用于選擇向目的地節(jié)點(diǎn)或子網(wǎng) 絡(luò)傳輸數(shù)據(jù)的優(yōu)選數(shù)據(jù)路徑的"最佳路徑"計(jì)算。所以,兩個(gè)或兩個(gè)以上 的網(wǎng)絡(luò)或子網(wǎng)絡(luò)可能會(huì)選擇彼此作為到達(dá)某個(gè)目的地的最佳路徑。在這種 情況下,如果尋址到那個(gè)目的地的數(shù)據(jù)在該兩個(gè)或兩個(gè)以上的網(wǎng)絡(luò)或子網(wǎng) 絡(luò)中循環(huán)并且可能從來(lái)沒有實(shí)際到達(dá)其想要到達(dá)的接收者,則該"路由 環(huán)"會(huì)產(chǎn)生。傳統(tǒng)的路由環(huán)的實(shí)例如圖1中所示。圖1示出了包括耦合到兩個(gè)客戶現(xiàn)場(chǎng)120和130 (分別標(biāo)記為"A"和 "B")的提供者網(wǎng)絡(luò)AS1 110的示例性網(wǎng)絡(luò)100。這里,客戶現(xiàn)場(chǎng)A和 B參與到同一個(gè)VPN中,例如VPN1,從而通過(guò)提供者網(wǎng)絡(luò)110相互通 信。如圖所示,客戶現(xiàn)場(chǎng)120包括分別耦合到提供者網(wǎng)絡(luò)中的PE設(shè)備 115a和115b (PE1禾Q PE2)的CE設(shè)備125a和125b (CE1禾Q CE2)。另 外,客戶現(xiàn)場(chǎng)130包括耦合到提供者網(wǎng)絡(luò)中的PE設(shè)備115c (PE3)的CE 設(shè)備135c (CE3)。假設(shè)CE3在PE3-CE3數(shù)據(jù)鏈路上通告指示CE3可以到達(dá)目的地前綴 (prefix) "X"的消息。PE3接收所通告的前綴,然后例如在iBGP更新 消息中依次向提供者網(wǎng)絡(luò)中的設(shè)備PE1和PE2分發(fā)所通告的前綴。在PE1 接收到iBGP通告后,PE1在PE1-CE1數(shù)據(jù)鏈路上通告前綴X,從而向客 戶現(xiàn)場(chǎng)120中的節(jié)點(diǎn)發(fā)送指示可以經(jīng)由PE1到達(dá)前綴X的信號(hào)。然后,使 用適當(dāng)?shù)腎GP協(xié)議在客戶現(xiàn)場(chǎng)120內(nèi)分發(fā)前綴X。 CE2可以在PE2-CE2數(shù) 據(jù)鏈路上通告其可以到達(dá)前綴X。響應(yīng)于接收CE2的通告,PE2可以將這 個(gè)可到達(dá)性信息分發(fā)給提供者邊緣設(shè)備PE1和PE3。盡管圖1示出了沿著 連續(xù)數(shù)據(jù)流CE3-PE3-PE1-CE1-CE2-PE2-PE1通告的前綴X,但是前綴X 也可以沿著類似的環(huán)路(未示出)CE3-PE3-PE2-CE2-CE1-PE1-PE2通告。作為上述通告的結(jié)果,客戶現(xiàn)場(chǎng)120中的網(wǎng)絡(luò)節(jié)點(diǎn)變得意識(shí)到可以通 過(guò)PE1到達(dá)前綴X,并且PE1變得意識(shí)到可以經(jīng)由PE2或PE3到達(dá)前綴 X。在這種情況下,如果在PE1處執(zhí)行的最佳路徑計(jì)算確定尋址到目的地 前綴X的數(shù)據(jù)應(yīng)該經(jīng)由PE2被路由到客戶現(xiàn)場(chǎng)120而不是通過(guò)PE3直接將 數(shù)據(jù)路由的客戶現(xiàn)場(chǎng)130,則路由環(huán)可能產(chǎn)生。所以,尋址到前綴X的數(shù)
據(jù)可以被在AS1和客戶現(xiàn)場(chǎng)120之間向前或向后傳,例如,圍繞路由環(huán)CE1-PE2-PE2隱CE2-CE1。在以上結(jié)合的名為"OSPF as the Provider/Customer Edge Protocol for BGP/MPLS IP VPNs "的互聯(lián)網(wǎng)草稿公開〈draft-ietf-13vpn-ospf-2547陽(yáng) 05.txt〉中描述了一種用于在PE-CE數(shù)據(jù)鏈路上執(zhí)行OSPF的情況下防止路 由環(huán)的解決方案。所提出的解決方案依靠用于標(biāo)識(shí)一個(gè)或多個(gè)所通告的路 由已經(jīng)在何時(shí)被從PE設(shè)備通告到CE設(shè)備的OSPF路由標(biāo)記。因此,當(dāng)在 PE設(shè)備處接收到包含所通告的路由和對(duì)應(yīng)于OSPF路由標(biāo)記的LSA時(shí), 該P(yáng)E設(shè)備可以識(shí)別路由標(biāo)記并確定所接收的路由先前已經(jīng)被提供者網(wǎng)絡(luò) 中的PE設(shè)備通告過(guò)?;谶@個(gè)確定,PE設(shè)備可以得出這樣的結(jié)論所接 收的路由不應(yīng)該被通過(guò)提供者網(wǎng)絡(luò)再次傳送。這個(gè)已知的OSPF路由標(biāo)記解決方案遭受了這樣的缺點(diǎn)在PE-CE數(shù) 據(jù)鏈路上交換匯總LSA是不適當(dāng)。更具體地,匯總LSA沒有被以這樣的 方式格式化使匯總LSA能夠傳輸OSPF路由標(biāo)記。相反,路由標(biāo)記通常 在攜帶外部路由信息的AS外部LSA中傳輸。所以,這個(gè)解決方案通常是 不期望的,因?yàn)樗懦藢?duì)用于在PE-CE鏈路上通告內(nèi)部路由的匯總LSA 的使用,從而不允許傳統(tǒng)上使用的用于減少在OSPF路由區(qū)域中處理的路 由數(shù)目的傳統(tǒng)的路由聚合技術(shù)。另外,本領(lǐng)域技術(shù)人員將理解,OSPF外 部路由標(biāo)記解決方案沒有牽涉到多宿網(wǎng)絡(luò)。在由Rosen等于2004年3月公開的名為"Using an LSA Options Bit to Prevent Looping in BGP/MPLS IP VPNs"的互聯(lián)網(wǎng)草稿公開〈draft-ietf-ospf-2547-dnbit-04.txt〉中(其全部?jī)?nèi)容結(jié)合于此作為參考)描述了用于在PE-CE 數(shù)據(jù)鏈路上執(zhí)行 OSPF的情況下防止路由環(huán)的另一種解決方案。這種解 決方案提出使用傳統(tǒng)的LSA選項(xiàng)字段中的最高比特,即"DN"比特來(lái)指 示OSPF LSA已經(jīng)被從PE設(shè)備通告給了 CE設(shè)備。由于每個(gè)LSA都傳輸 LSA選項(xiàng)字段,所以這個(gè)DN比特解決方案不僅限于AS外部LSA。當(dāng)PE 設(shè)備接收到其DN比特為"設(shè)置"的LSA時(shí),從PE設(shè)備的SPF計(jì)算中排 除在所接收的LSA中傳輸?shù)穆酚尚畔?例如,OSPF LSDB中沒有存儲(chǔ) LSA)。這樣,沒有在PE設(shè)備的路由表中安裝LSA的所通告的路由。通 過(guò)這種方式,沒有將未安裝的路由重新分配到提供者網(wǎng)絡(luò)的BGP表中,從而確保了不會(huì)在提供者網(wǎng)絡(luò)和包含CE設(shè)備的客戶現(xiàn)場(chǎng)之間產(chǎn)生路由環(huán)。圖2示出了其中采用了 DN比特解決方案來(lái)防止路由環(huán)的示例性網(wǎng)絡(luò) 100。首先,CE3在PE3-CE3數(shù)據(jù)鏈路上通告前綴X。 PE3接收所通告的 前綴X,然后在(例如)iBGP更新消息中將該前綴通告給設(shè)備PE1和 PE2。在PE1接收到iBGP通告后,PE1在PE1-CE1數(shù)據(jù)鏈路上通告包含 前綴X的傳統(tǒng)的OSPF LSA。然而,根據(jù)這個(gè)DN比特解決方案,PE1設(shè) 置所通告的LSA中的DN比特,以指示可以通過(guò)提供者網(wǎng)絡(luò)到達(dá)前綴X。 在客戶現(xiàn)場(chǎng)120的各處分布其DN比特被設(shè)置了的LSA。 CE2可以在PE2-CE2鏈路上將LSA轉(zhuǎn)發(fā)給提供者網(wǎng)絡(luò)110。然而,由于在LSA中設(shè)置DN 比特,所以PE2可以確定LSA是由提供者網(wǎng)絡(luò)中的另一個(gè)PE設(shè)備 (PE1)生成的。在作出這個(gè)確定之后,PE2不在其路由表中安裝前綴 X,從而防止了在客戶現(xiàn)場(chǎng)120和提供者網(wǎng)絡(luò)110之間產(chǎn)生任何潛在的路 由環(huán)。也就是說(shuō),客戶現(xiàn)場(chǎng)120中的網(wǎng)絡(luò)節(jié)點(diǎn)知道可以經(jīng)由PE1到達(dá)前綴 X,并且PE1僅知道可以經(jīng)由PE3到達(dá)前綴X。盡管這種用于防止路由環(huán)的傳統(tǒng)的DN比特解決方案在很多網(wǎng)絡(luò)拓?fù)?中都工作良好,但是其在具有沒有被配置為相互直接通信的多個(gè)提供者網(wǎng) 絡(luò)(AS)的拓?fù)渲性馐芰烁鞣N問(wèn)題,例如,由于契約條款或缺少網(wǎng)絡(luò)連通 性。例如,考慮圖3中所示的示例性網(wǎng)絡(luò)300。這里,提供者網(wǎng)絡(luò)AS1 310耦合到參與到相同VPN (例如,VPN1)中的客戶現(xiàn)場(chǎng)330、 340、和 350 (分別標(biāo)記為"A" 、 "B"、和"C")。另外,客戶現(xiàn)場(chǎng)340和350 也耦合至第二提供者網(wǎng)絡(luò)AS2 320。在這種情況下,提供者網(wǎng)絡(luò)AS1可以 用作主(primary)互聯(lián)網(wǎng)服務(wù)提供者(ISP),而提供者網(wǎng)絡(luò)AS2用作備 用ISP,在去往AS1的PE-CE鏈路失效的情況下,客戶現(xiàn)場(chǎng)330-350可以 通過(guò)該備用ISP通信。注意,AS1和AS2沒有被配置為直接相互通信。如圖所示,客戶現(xiàn)場(chǎng)330包括耦合至位于AS1中的PE設(shè)備315a (PE1)的CE設(shè)備335a (CE1)。另外,AS1還包括耦合至位于客戶現(xiàn)場(chǎng) 340中的CE設(shè)備345b、并耦合至耦合到位于客戶現(xiàn)場(chǎng)350中的CE設(shè)備 355c (CE3)的PE設(shè)備315c (PE3)的PE設(shè)備315b (PE2)。另外,客 戶現(xiàn)場(chǎng)340中的CE設(shè)備345d (CE4)耦合至AS2中的PE設(shè)備325d (PE4),并且客戶現(xiàn)場(chǎng)350中的CE設(shè)備355e (CE5)耦合至AS2中的 PE設(shè)備325e (PE5)。進(jìn)一步假設(shè)每條PE-CE數(shù)據(jù)鏈路都被配置為執(zhí)行 OSPF。在這種說(shuō)明性的拓?fù)渲?,CE1可以向PE1通告可以經(jīng)由CE1到達(dá)前綴 X。作為響應(yīng),PE1在(例如)iBGP更新消息中將前綴X傳送到設(shè)備PE2 和PE3。接著,PE2和PE3中的每一個(gè)都可以將包含前綴X的LSA通告 給用戶邊緣設(shè)備CE2和CE3。根據(jù)傳統(tǒng)的DN比特技術(shù),在PE2-CE2和 PE3-CE3數(shù)據(jù)鏈路上所通告的LSA使得他們的DN比特被設(shè)置為預(yù)定值, 以指示可以通過(guò)PE設(shè)備到達(dá)前綴X。當(dāng)在PE4-CE4和PE5-CE5數(shù)據(jù)鏈路 上轉(zhuǎn)發(fā)LSA時(shí),提供者邊緣設(shè)備PE4和PE5注意到在所接收的LSA中設(shè) 置了 DN比特,從而從他們的OSPF禾卩BGP路由表中排除前綴X。結(jié)果, 客戶現(xiàn)場(chǎng)340和350沒有獲知可以經(jīng)由ISP AS2到達(dá)前綴X。換言之,對(duì) 于ISP AS2而言AS2的備用連通性被"破壞"了,因?yàn)閮H使客戶現(xiàn)場(chǎng)340 和350獲知可以通過(guò)主ISP AS1到達(dá)前綴X。例如,在PE2-CE2鏈路失效的情況下,客戶現(xiàn)場(chǎng)340不知道可以可選 地通過(guò)AS2到達(dá)前綴X,例如,經(jīng)由備用數(shù)據(jù)路徑CE4-PE4-PE5-CE5-CE3-PE3-PE1-CE1。類似地,如果PE3-CE3數(shù)據(jù)鏈路失效,則客戶現(xiàn)場(chǎng) 350不知道可以通過(guò)AS2到達(dá)前綴X,例如,經(jīng)由備用數(shù)據(jù)路徑CE5-PE5-PE4-CE4-CE2-PE2-PE1-CE1 。在具有沒有被配置為相互通信的多個(gè)提供者網(wǎng)絡(luò)的網(wǎng)絡(luò)中,如圖3中 所示,通常期望在不破壞拓?fù)涞膫溆眠B通性的條件下執(zhí)行路由環(huán)防止技 術(shù)。該技術(shù)不應(yīng)該被局限于在PE-CE鏈路上發(fā)送的AS外部LSA,而相反 應(yīng)該可以利用在PE-CE數(shù)據(jù)鏈路上發(fā)送的任何類型的OSPF LSA操作。發(fā)明內(nèi)容本發(fā)明通過(guò)提供一種通過(guò)在OSPF配置的網(wǎng)絡(luò)中散布BGP屬性信息來(lái) 防止路由環(huán)的新技術(shù)克服了現(xiàn)有技術(shù)的缺點(diǎn)。具體地,引入了新的OSPF 子TLV,用于通過(guò)OSPF配置的網(wǎng)絡(luò)傳輸傳統(tǒng)的BGP AS路徑屬性。像 BGP AS路徑屬性一樣,OSPF AS路徑子TLV被配置為存儲(chǔ)對(duì)應(yīng)于一條或 多條所通告的路由的AS路徑的AS號(hào)的集合。當(dāng)網(wǎng)絡(luò)設(shè)備接收到包含新 AS路徑子TLV的OSPF LSA時(shí),該網(wǎng)絡(luò)設(shè)備確定其是否位于AS號(hào)被存 儲(chǔ)在所接收的子TLV中的自治系統(tǒng)中。如果是,則該網(wǎng)絡(luò)設(shè)備確定LSA 的所通告的路由己經(jīng)預(yù)先被通告給了自治系統(tǒng),所以該網(wǎng)絡(luò)設(shè)備不在其路 由表中安裝該些路由,因?yàn)槿绻惭b這些路由的話,可能會(huì)造成多個(gè)自治 系統(tǒng)之間的路由環(huán)。然而,如果該網(wǎng)絡(luò)設(shè)備確定其自治系統(tǒng)的AS號(hào)沒有 被存儲(chǔ)在所接收的AS路徑子TLV中,則該網(wǎng)絡(luò)設(shè)備可以在其路由表中安 裝LSA的所通告的路由,然后將這些路由傳播到其他自治系統(tǒng)。在這種情 況下,可以沿著存儲(chǔ)有包括該網(wǎng)絡(luò)設(shè)備的自治系統(tǒng)的AS號(hào)的AS路徑的 更新后的AS路徑子TLV傳送路由。在這種方式中,可以將LSA的所通 告的路由傳送通過(guò)多個(gè)自治系統(tǒng),而不會(huì)造成作為他們的傳送結(jié)果的路由 環(huán)。有利地,新的AS路徑子TLV可以被用于在不破壞具有多個(gè)沒有被配 置為相互通信的自治系統(tǒng)的網(wǎng)絡(luò)中的備用連通性的情況下防止路由環(huán)。例 如,與現(xiàn)有實(shí)施方式不同,本發(fā)明的技術(shù)可以在路由被從第一客戶現(xiàn)場(chǎng)通 告到主AS、進(jìn)而通告到第二客戶現(xiàn)場(chǎng)、然后通告到不與初始AS通信的次 ("備用")AS時(shí)防止路由環(huán)產(chǎn)生。更一般地,該技術(shù)可以被用來(lái)防止 單AS和多AS環(huán)境中的路由環(huán)。另外,本發(fā)明的技術(shù)可以被用于防止在 OSPF路由區(qū)域中通告的內(nèi)部和外部路由的路由環(huán)。
通過(guò)結(jié)合附圖參考以下描述,可以更好地理解本發(fā)明的上述及其他優(yōu) 點(diǎn),其中,相同的參考標(biāo)號(hào)指示相同或功能類似的元件,其中 前面描述的圖1是其中可能產(chǎn)生路由環(huán)的示例性計(jì)算機(jī)網(wǎng)絡(luò); 前面描述的圖2是被配置為在PE-CE數(shù)據(jù)鏈路上執(zhí)行OSPF協(xié)議的示 例性計(jì)算機(jī)網(wǎng)絡(luò),其中,在PE-CE數(shù)據(jù)鏈路上采用了 DN比特解決方案來(lái) 防止路由環(huán);前面描述的圖3是其中的傳統(tǒng)DN比特解決方案沒有有效防止路由環(huán) 的示例性網(wǎng)絡(luò)拓?fù)?,其中,該拓?fù)浒]有被配置為相互直接通信的多個(gè) 提供者網(wǎng)絡(luò);圖4是其中可以優(yōu)選地采用本發(fā)明的說(shuō)明性實(shí)施例來(lái)防止路由環(huán)的示 例性計(jì)算機(jī)網(wǎng)絡(luò);圖5是可以被用于在其他事物中傳輸根據(jù)說(shuō)明性實(shí)施例的新的AS路 徑子TLV的示例性O(shè)SPF LSA;圖6是可以被用于在其他事物中傳輸根據(jù)說(shuō)明性實(shí)施例的BGP AS路 徑屬性的示例性BGP更新消息;圖7是可以被優(yōu)選地在本發(fā)明的說(shuō)明性實(shí)施例中采用的示例性PE設(shè) 備的示意性框圖;圖8是示出根據(jù)說(shuō)明性實(shí)施例的可以被示例性PE設(shè)備用來(lái)在OSPF 和BGP協(xié)議之間重新分配路由和AS路徑信息的示例性軟件程序配置的示 意性框圖;圖9是示出根據(jù)說(shuō)明性實(shí)施例的可以由被配置為通告OSPF路由及其 相關(guān)的AS路徑子TLV的網(wǎng)絡(luò)設(shè)備執(zhí)行的步驟序列的流程圖;以及圖10是示出根據(jù)說(shuō)明性實(shí)施例的可以由網(wǎng)絡(luò)設(shè)備執(zhí)行用來(lái)防止路由 環(huán)的步驟序列的流程圖。
具體實(shí)施方式
圖4示出了可以采用本發(fā)明的說(shuō)明性實(shí)施例的示例性計(jì)算機(jī)網(wǎng)絡(luò) 400。網(wǎng)絡(luò)400包括第一提供者網(wǎng)絡(luò)AS1 410和第二提供者網(wǎng)絡(luò)AS2 420。 提供者網(wǎng)絡(luò)ASl和AS2沒有被配置為相互直接通信,例如,由于合同協(xié) 議或缺乏連通性。示例性網(wǎng)絡(luò)400還包括參與到同一個(gè)VPN (例如, VPN1)中的一組客戶現(xiàn)場(chǎng)430、 440、和450 (分別標(biāo)記為"A"、 "B"、禾P "C")??蛻衄F(xiàn)場(chǎng)430-450中的每一個(gè)都耦合至ASl,該ASl 用作用于在VPN1客戶現(xiàn)場(chǎng)中交換數(shù)據(jù)的"主"ISP。另外,客戶現(xiàn)場(chǎng)440 和450還耦合至AS2,該AS2用作在去往ASl的PE-CE鏈路失效的情況 下的"備用"ISP。如圖所示,客戶現(xiàn)場(chǎng)430包括耦合至位于ASl中的PE設(shè)備700a (PE1)的CE設(shè)備470a (CE1)。另外,AS1還包括PE設(shè)備700b(PE2) , PE設(shè)備700b (PE2)耦合至位于客戶現(xiàn)場(chǎng)440中的CE設(shè)備 470b (CE2)并耦合至與位于客戶現(xiàn)場(chǎng)450中的CE設(shè)備470c (CE3)耦 合的PE設(shè)備700c (PE3)。另外,客戶現(xiàn)場(chǎng)440中的CE設(shè)備470d(CE4)耦合至AS2中的PE設(shè)備700d (PE4),并且客戶現(xiàn)場(chǎng)350中的 CE設(shè)備470e (CE5)耦合至AS2中的PE設(shè)備700e (PE5)。數(shù)據(jù)鏈路 PE1-CE1 460a、 PE2-CE2 460b、 PE3-CE3 460c、 PE4-CE4 460d、以及PE5-CE5 460e中的每一條都優(yōu)選地被配置為適應(yīng)OSPF協(xié)議的執(zhí)行,并且設(shè)備 PE1-PE5中的每一個(gè)都用作為用于其各自的相鄰OSPF配置的客戶現(xiàn)場(chǎng) 430-450的ABR設(shè)備。在所示拓?fù)渲?,CE1可以向PE1通告OSPF LSA 500a,指示可以經(jīng)由 CE1到達(dá)前綴X。作為響應(yīng),PE1在(例如)iBGP更新消息(下文中稱為"BGP更新消息")中向其他完全網(wǎng)狀的設(shè)備PE2和PE3傳送前綴X。 BGP更新消息可以被直接發(fā)送到PE2和PE3,或可以使用傳統(tǒng)的路由反射 器被轉(zhuǎn)發(fā),如現(xiàn)有技術(shù)中已知的。為了說(shuō)明和解釋的簡(jiǎn)潔,僅示出了 BGP 更新消息600a被轉(zhuǎn)發(fā)到PE2。在接收到消息600a后,PE2可以向CE2通 知可以通過(guò)PE2到達(dá)前綴X。至此,PE2可以在OSPF LSA 500b中將前綴 X轉(zhuǎn)發(fā)到CE2。與現(xiàn)有的實(shí)施方式不同,PE2可以被配置為在LSA 500b中存儲(chǔ)諸如 AS路徑信息的BGP路徑屬性信息。根據(jù)本發(fā)明,AS路徑信息可以被用于 防止路由環(huán)。更具體地,LSA 500b包括被配置為存儲(chǔ)在OSPF配置的 PE2-CE2數(shù)據(jù)鏈路460b上傳統(tǒng)的BGP AS路徑屬性的新的OSPF子TLV 550b。像傳統(tǒng)的BGP AS路徑屬性一樣,OSPF AS路徑子TLV被配置為 存儲(chǔ)對(duì)應(yīng)于一條或多條所通告的路由的AS路徑的AS號(hào)的集合。因此, 在這種情況下,子TLV 550b存儲(chǔ)提供者網(wǎng)絡(luò)AS1的AS號(hào),因?yàn)長(zhǎng)SA 500b正在被位于AS1中的PEl通告。CE2從PE2接收LSA 500b,并將該LSA散布到OSPF配置的客戶現(xiàn) 場(chǎng)400的各處。注意,客戶現(xiàn)場(chǎng)440可以包含通過(guò)其可傳送LSA 500b的 一個(gè)或多個(gè)路由區(qū)域。當(dāng)CE4接收到LSA 500b時(shí),它在PE4-CE4數(shù)據(jù)鏈 路上將LSA轉(zhuǎn)發(fā)到位于AS2中的PE4。根據(jù)說(shuō)明性實(shí)施例,PE4被配置為 將前綴X及其相關(guān)的AS路徑信息通告到AS2中的其他PE設(shè)備,只要 AS2的AS號(hào)沒有包括在前綴的AS路徑中。在這種情況下,AS路徑子 TLV 550b指示用于前綴X的AS路徑僅包括AS1,所以子TLV不存儲(chǔ) PE4所在的提供者網(wǎng)絡(luò)AS2的AS號(hào)。由于AS2的AS號(hào)沒有被存儲(chǔ)在所 接收的AS路徑子TLV 550b中,所以PE4將BGP更新消息600b中的前綴 X和傳統(tǒng)的BGP AS路徑屬性650b —起通告到提供者網(wǎng)絡(luò)AS2中的其他 完全網(wǎng)狀的PE設(shè)備。BGP屬性650b存儲(chǔ)在AS路徑子TLV 550b中所接 收的AS號(hào)的相同列表,從而僅存儲(chǔ)AS1的AS號(hào)。響應(yīng)于接收BGP更新消息600b, PE5可以將前綴X及其AS路徑信 息存儲(chǔ)在OSPF LSA 500c中并將LSA 500c發(fā)送到客戶邊緣設(shè)備CE5,從 而向CE5發(fā)出用于通知可以通過(guò)PE5到達(dá)前綴X的信號(hào)。因此,PE5包括 LSA 500c中的新的AS路徑子TLV 550c,其中,該AS路徑子TLV 550c 存儲(chǔ)有與所通告的前綴X相關(guān)的AS路徑。優(yōu)選地,PE5通過(guò)向已經(jīng)存儲(chǔ) 在所接收的BGP AS路徑屬性650b中的AS號(hào)列表前置添加提供者網(wǎng)絡(luò) AS2的AS號(hào),來(lái)生成AS路徑子TLV 550c。所以,在這個(gè)示例中,子 TLV 550c傳輸AS號(hào)的有序序列(AS2,AS1》。當(dāng)然,本領(lǐng)域技術(shù)人員將理 解,AS號(hào)不需要像本文中的說(shuō)明性描述的那樣被順序前置,更一般地, 可以以各種順序或無(wú)序的方式將AS號(hào)的集合列在AS路徑子TLV中。在接收到OSPF LSA 500c后,CE5將LSA 500c散布到客戶現(xiàn)場(chǎng)450 的各處。CE3接收LSA 500c,并在PE3-CE3數(shù)據(jù)鏈路460c上將其轉(zhuǎn)發(fā)到 PE3。根據(jù)說(shuō)明性實(shí)施例,PE3確定所接收的AS路徑子TLV 550c是否包 括對(duì)應(yīng)于AS1 (即,PE3所在的提供者網(wǎng)絡(luò))的AS號(hào)。在這種情況下, 由于AS路徑子TLV 550c包含AS1的AS號(hào),所以PE3確定前綴X (由 LSA 500c傳輸)已經(jīng)被預(yù)先通告到了提供者網(wǎng)絡(luò)AS1的各處。因此,PE3 不在其路由表中安裝前綴X,以防在網(wǎng)絡(luò)400中產(chǎn)生潛在的路由環(huán)。盡管 按照CE1-PE1-PE2-CE2-CE4-PE4-PE5-CE5-CE3-PE3的順序描述了上述數(shù) 據(jù)流,但是本領(lǐng)域技術(shù)人員將明白,類似地,PE2可以根據(jù)本發(fā)明識(shí)別潛 在路由環(huán),如果PE2接收到前綴X和包含AS1的AS號(hào)的AS路徑子 TLV,其中,數(shù)據(jù)流為CE1-PE1-PE3-CE3-CE5-PE5-PE4-CE4畫CE2-PE2。注意,如參考圖2和圖3所描述的,本發(fā)明可以與DN比特一起使 用。具體地,DN比特通過(guò)從SPF計(jì)算中排除利用出口邊界路由器(例 如,PE設(shè)備)設(shè)置的DN比特接收的任何所通告的前綴,來(lái)防止路由環(huán)的 發(fā)生。如上所述,這個(gè)解決方案的一個(gè)問(wèn)題在于,在各種網(wǎng)絡(luò)配置(諸 如,圖3和圖4的備用服務(wù)提供者配置)中可能發(fā)生不必要的排除。通過(guò) 繼續(xù)利用DN比特,本發(fā)明通過(guò)使在接收AS路徑子TLV 550 LSA 500之 前接收DN比特LSA的PE設(shè)備排除(可能不必要) 一個(gè)或多個(gè)可到達(dá)的 地址前綴(例如,前綴X)來(lái)"改善"DN比特性能。然而, 一旦AS路徑 子TLV 550 LSA 500被接收,則基于AS路徑子TLV的在其路由表中排除 /包括前綴(X)的決定取代了基于DN比特的任何決定。換句話說(shuō),如果 DN比特排除適當(dāng),則不進(jìn)行改變,但是如果不適當(dāng),則需要相應(yīng)地添加 前綴。圖5示出了根據(jù)說(shuō)明性實(shí)施例的可以被用于傳輸新的AS路徑子TLV 550的示例性O(shè)SPF LSA 500。 LSA 500可以被格式化為以上結(jié)合的名為 "The OSPF Opaque LSA Option"的RFC 2370中定義的類型10不透明 LSA。除其他事項(xiàng)外,不透明LSA 500包括LSA頭部510和一個(gè)或多個(gè) TLV (諸如,在以上結(jié)合的名為"Extensions to OSPFv2 for advertising Optional Route/Link Attributes"的IETF互聯(lián)網(wǎng)草稿公開<draft-mirtorabi-ospf-tag-01.txt>中更加詳細(xì)描述的 RA-TLV530) 。 LSA 500還可以存儲(chǔ)鏈 路狀態(tài)信息和圖5中未明確示出的其他TLV。本領(lǐng)域技術(shù)人員將理解,盡 管這里描述了類型10不透明LSA,但是根據(jù)本發(fā)明可以使用其他類型。LSA頭部510包括鏈路狀態(tài)(LS)年齡字段512、 LSA選項(xiàng)字段 514、 LS類型字段516、不透明類型字段518、實(shí)例字段520、通告路由器 字段522、 LS序列號(hào)字段524、 LS校驗(yàn)和字段526、以及長(zhǎng)度字段528。 LS年齡字段512存儲(chǔ)可以被用于確定LSA 500是否有效的例如以秒計(jì)的 年齡值。該年齡值通常被初始化為零,并以例如每秒加一的速度增大,直 到達(dá)到預(yù)定的最大值,從而指示LSA己經(jīng)變得無(wú)效。選項(xiàng)字段514存儲(chǔ)可 以被用于用信號(hào)通知LSA的通告路由器是否支持某些性能的多個(gè)標(biāo)記值。
例如, 一個(gè)標(biāo)記可以指示通告路由器是否被配置為接收和轉(zhuǎn)發(fā)不透明LSA。類型字段516等于10,以指示LSA 500具有區(qū)域?qū)挼姆秶瑥亩荒?泛洪超過(guò)其最初泛洪的路由區(qū)域。不透明類型字段518存儲(chǔ)將LSA 500標(biāo) 識(shí)為標(biāo)簽映射LSA的值。如果OSPF的多個(gè)實(shí)例在同一條數(shù)據(jù)鏈路460上 執(zhí)行,則實(shí)例字段520存儲(chǔ)標(biāo)識(shí)特定OSPF實(shí)例的值,其中,LSA 500為 該特定OSPF實(shí)例傳輸鏈路狀態(tài)信息。通告路由器字段522存儲(chǔ)用于標(biāo)識(shí) 生成并最初廣播LSA 500的路由器的值(諸如,回送IP地址)。LS序列 號(hào)字段524存儲(chǔ)指示LSA的相關(guān)版本的序列號(hào)。 一般,對(duì)于LSA的每個(gè) 新版本,序列號(hào)增加(例如)1。 LS校驗(yàn)和字段526存儲(chǔ)可以被用于使 LSA的內(nèi)容有效的校驗(yàn)和(或其他數(shù)據(jù)完整性校驗(yàn))。長(zhǎng)度字段528 (例 如)以字節(jié)存儲(chǔ)LSA500的長(zhǎng)度。除其他事項(xiàng)外,RA-TLV 530包括TLV類型字段532、 TLV長(zhǎng)度字段 534、鏈路狀態(tài)標(biāo)識(shí)符(ID)字段536、保留比特538、前綴長(zhǎng)度字段 540、保留字段542、以及AS路徑子TLV 550。 TLV類型字段532存儲(chǔ)指 示存儲(chǔ)在RA-TLV 530中的路由屬性信息的類型(例如,區(qū)域間或外部路 由屬性)的值。TLV長(zhǎng)度字段534存儲(chǔ)RA-TLV的長(zhǎng)度(例如,以字 節(jié))。鏈路狀態(tài)ID字段536存儲(chǔ)域在RA-TLV中傳輸?shù)穆酚蓪傩韵嚓P(guān)的 數(shù)據(jù)鏈路的地址前綴。前綴長(zhǎng)度字段540存儲(chǔ)在鏈路狀態(tài)ID字段536中 存儲(chǔ)的前綴的長(zhǎng)度。保留比特538和保留字段542當(dāng)前未被使用。RA-TLV 530可以被配置為存儲(chǔ)諸如新的AS路徑子TLV 550的一個(gè) 或多個(gè)子TLV。盡管AS路徑子TLV 550優(yōu)選地被格式化為RA-TLV 530 中的子TLV,但是還可以清楚地預(yù)見,AS路徑子TLV可以可選地被格式 化為其他類型的OSPF TLV中的子TLV。另外,在一些實(shí)施例中,AS路 徑子TLV可以被格式化為實(shí)際TLV而不是子TLV。 AS路徑子TLV 550 被配置為尤其存儲(chǔ)子TLV類型字段552、子TLV長(zhǎng)度字段554、以及一個(gè) 或多個(gè)AS號(hào)的列表556。子TLV類型字段552存儲(chǔ)將AS路徑子TLV標(biāo) 識(shí)為包含AS路徑信息的值。子TLV長(zhǎng)度字段554存儲(chǔ)AS路徑子TLV 550的長(zhǎng)度(例如,以字節(jié))。AS號(hào)的列表556指示與存儲(chǔ)在鏈路狀態(tài)ID字段536中的地址前綴相關(guān)的AS路徑。注意,該列表優(yōu)選地是AS號(hào) 的有序序列556,盡管該列表可選地可以基于特定實(shí)施方式而被配置為存 儲(chǔ)無(wú)序列表。圖6示出了根據(jù)說(shuō)明性實(shí)施例的可以被使用的示例性BGP更新消息 600。更新消息600包括BGP頭部610、撤銷的路由的集合620、路徑屬性 的集合630、以及網(wǎng)絡(luò)層可達(dá)信息(NLRI)的集合640。除其他事項(xiàng)外, BGP頭部610可以被配置為存儲(chǔ)消息600的長(zhǎng)度(以字節(jié))、將消息標(biāo)識(shí) 為BGP更新消息的類型值(例如,等于2)、以及傳統(tǒng)的16字節(jié)BGP標(biāo) 志(如本領(lǐng)域公知的)。該撤銷的路由的集合620被配置為存儲(chǔ)不再可以 通過(guò)發(fā)送PE設(shè)備到達(dá)的零個(gè)或零個(gè)以上的地址前綴。例如,PE設(shè)備可以 響應(yīng)于拓?fù)涓淖兌崛∫粋€(gè)路由集,諸如失效的數(shù)據(jù)鏈路或網(wǎng)絡(luò)節(jié)點(diǎn),從 而導(dǎo)致網(wǎng)絡(luò)流量變得不可能通過(guò)撤銷的路由訪問(wèn)。相反,NLRI 640指定對(duì) 于發(fā)送PE設(shè)備來(lái)說(shuō)可到達(dá)(即,可訪問(wèn))的零個(gè)或零個(gè)以上的地址前 綴。例如,在示例性的更新消息600中,NLRI存儲(chǔ)前綴X645。路徑屬性的集合630被配置為存儲(chǔ)描述存儲(chǔ)在NLRI 640中的前綴的 特性的零個(gè)或零個(gè)以上的屬性。在該上下文下,路徑屬性通常是可以與 NLRI前綴相關(guān)的任何性質(zhì)或特性。例如,路徑屬性的集合可以包括攜帶 與存儲(chǔ)在NLRI中的前綴相關(guān)的AS路徑信息的AS路徑屬性650。 AS路 徑屬性650包括屬性標(biāo)記的集合652、代碼字段654、長(zhǎng)度字段656、以及 一個(gè)或多個(gè)AS號(hào)的列表658。屬性標(biāo)記的集合652是公知的,并且在以 上結(jié)合的RFC 1771中被更加詳細(xì)地描述。代碼字段654存儲(chǔ)用于將BGP 屬性標(biāo)識(shí)為包含AS路徑信息的值。長(zhǎng)度字段656存儲(chǔ)屬性650的長(zhǎng)度 (例如,以字節(jié))。AS號(hào)的列表658可以包含描述存儲(chǔ)在NLRI 640中的 前綴的AS路徑的AS號(hào)的有序或無(wú)序集合。注意,其他BGP路徑屬性和 他們的格式一般也是公知的,并被在以上結(jié)合的RFC 1771中更加詳細(xì)地 描述。圖7是可以優(yōu)選地用在說(shuō)明性實(shí)施例中的示例性PE設(shè)備700的示意 性框圖。為了說(shuō)明和描述的簡(jiǎn)單,在通用硬件平臺(tái)上對(duì)PE設(shè)備700進(jìn)行 說(shuō)明。然而,在說(shuō)明性實(shí)施例中,PE設(shè)備可以包含通過(guò)交換結(jié)構(gòu)(即,背
板邏輯和電路)與路由處理引擎相互連接的多個(gè)線卡。因此,本領(lǐng)域技術(shù) 人員將明白,所描述的PE設(shè)備僅是示例性的,本發(fā)明的優(yōu)點(diǎn)可以在具有 各種軟件性能的不同硬件平臺(tái)上實(shí)現(xiàn)。PE設(shè)備700包括通過(guò)系統(tǒng)總線790互相連接的多個(gè)網(wǎng)絡(luò)接口 710、處 理器720、以及存儲(chǔ)器740。網(wǎng)絡(luò)接口 720包括用于在耦合到計(jì)算機(jī)網(wǎng)絡(luò) 400中的其他網(wǎng)絡(luò)節(jié)點(diǎn)的物理鏈路上傳送數(shù)據(jù)的機(jī)械的、電的、以及信令 的邏輯和電路。網(wǎng)絡(luò)接口可以被配置為使用各種不同的通信協(xié)議傳送和/或 接收數(shù)據(jù),尤其包括TCP/IP、異步傳輸模式(ATM)、用戶數(shù)據(jù)報(bào)協(xié)議(UDP)、同步光纖網(wǎng)(SONET)、同步數(shù)字體系(SDH)、各種無(wú)線協(xié) 議、幀中繼、以太網(wǎng)(Ethernet)、光纖分布數(shù)據(jù)接口 (FDDI)等。存儲(chǔ)器740包括可以被處理器720和網(wǎng)絡(luò)接口 710尋址的多個(gè)存儲(chǔ)位 置。存儲(chǔ)器存儲(chǔ)位置適用于存儲(chǔ)與本發(fā)明相關(guān)的程序代碼和數(shù)據(jù)結(jié)構(gòu)。處 理器720包括適用于執(zhí)行程序代碼和處理數(shù)據(jù)結(jié)構(gòu)的電路和邏輯。存儲(chǔ)器740優(yōu)選地包括一種形式的一般通過(guò)功率循環(huán)或其他重新啟動(dòng) 操作進(jìn)行清除(例如,其是"易失"存儲(chǔ)器)的隨機(jī)存取存儲(chǔ)器(RAM)。本領(lǐng)域技術(shù)人員將明白,存儲(chǔ)器740還可以包括其他存儲(chǔ)器裝 置(包括用于存儲(chǔ)涉及PE設(shè)備700的操作的程序指令和數(shù)據(jù)結(jié)構(gòu)的各種 計(jì)算機(jī)可讀介質(zhì))。另外,本領(lǐng)域技術(shù)人員將明白,存儲(chǔ)器740的至少一 部分可以被具體化為從遠(yuǎn)程存儲(chǔ)器元件傳送到PE設(shè)備700的電磁信號(hào)。除其他事項(xiàng)外,存儲(chǔ)器740存儲(chǔ)用于執(zhí)行路由操作系統(tǒng)750 (尤其通 過(guò)對(duì)PE設(shè)備700在功能上進(jìn)行組織)、調(diào)用支持在PE設(shè)備中執(zhí)行的軟件 處理和服務(wù)的網(wǎng)絡(luò)操作的計(jì)算機(jī)可讀指令。Cisco系統(tǒng)公司的IOSTM是這 種路由操作系統(tǒng)750的一個(gè)示例。路由操作系統(tǒng)支持的軟件處理和服務(wù)包 括BGP處理760、 OSPF處理770、以及導(dǎo)入(import) /導(dǎo)出(export)處 理780 (例如,本領(lǐng)域技術(shù)人員將理解的,說(shuō)明性地與路由表775 —起執(zhí) 行)。BGP處理包括使能處理器720實(shí)現(xiàn)外部BGP (eBGP)和內(nèi)部BGP(iBGP)功能的計(jì)算機(jī)可執(zhí)行指令。BGP處理760可以被配置為管理列出 對(duì)于PE設(shè)備700來(lái)說(shuō)可通過(guò)相鄰的客戶現(xiàn)場(chǎng)到達(dá)(即,訪問(wèn))的所有可 行路由的BGP表765的內(nèi)容。此外,BGP "路由"包括地址前綴及其相關(guān) 的BGP路徑屬性。PE設(shè)備700可以對(duì)其耦合到的每個(gè)VPN執(zhí)行獨(dú)立的OSPF處理770。 為了簡(jiǎn)單,說(shuō)明性的客戶現(xiàn)場(chǎng)430-450中的每一個(gè)都參與到了同一個(gè)VPN (例如,VPN1)中。因此,說(shuō)明性的PE設(shè)備700a-e中的每一個(gè)都僅執(zhí)行 用于管理VPN1中的可到達(dá)性信息的一個(gè)OSPF處理770。 OSPF處理770 可以被配置為管理包含鏈路狀態(tài)信息的LSDB 772 (例如,用于VPN1)。 更具體地,LSDB可以被配置為存儲(chǔ)VPN中的可到達(dá)的目的地(節(jié)點(diǎn)、網(wǎng) 絡(luò)、或子網(wǎng)絡(luò))集合,并可以被進(jìn)一步配置為存儲(chǔ)與去往可到達(dá)目的地的 數(shù)據(jù)鏈路相關(guān)的傳統(tǒng)OSPF開銷度量。另外,對(duì)于每個(gè)可到達(dá)的目的地, LSDB 772還可以被配置為存儲(chǔ)一個(gè)或多個(gè)相關(guān)的OSPF TLV或子TLV, 諸如,AS路徑子TLV 550。圖8示出可以用于在路由表775和BGP表765之間重新分配路由的示 例性處理配置800的示意性框圖。例如,當(dāng)在PE設(shè)備700處接收到OSPF LSA 500時(shí),OSPF處理770在LSDB 772中的適當(dāng)條目中存儲(chǔ)LSA的所 通告的前綴(例如,前綴X) 。 OSPF處理770還在LSDB中存儲(chǔ)任何 OSPF開銷度量或其他鏈路狀態(tài)信息,諸如,在LSA 500中接收的AS路 徑子TLV 550。在LSDB 772中安裝所通告的OSPF路由后,OSPF處理 770可以執(zhí)行最短路徑優(yōu)先(SPA)計(jì)算,以計(jì)算去往存儲(chǔ)在路由表775 中的VPN1中的可到達(dá)的目的地的最佳路徑(例如,最低開銷路徑)。在 這種情景下,每條"最佳路徑"都是標(biāo)識(shí)去往可到達(dá)的目的地的優(yōu)選數(shù)據(jù) 路徑的路由。注意,由于在LSDB中存儲(chǔ)前綴和AS路徑信息以及在路由 表中存儲(chǔ)路由的相互關(guān)系,可以交替地使用他們,如本領(lǐng)域技術(shù)人員將可 以理解的。換言之,通過(guò)從LSDB 772 (或者,從路由計(jì)算)中排除 LSA,本發(fā)明排除了對(duì)基于路由表775中的被排除LSA的路由的存儲(chǔ)。導(dǎo)入/導(dǎo)出處理780將來(lái)自路由表775的計(jì)算出的OSPF最佳路徑重新 分配到BGP表765中。至此,導(dǎo)入/導(dǎo)出處理可以(例如)通過(guò)添加適當(dāng) 的路由識(shí)別符(RD)值(如每RFC 2547),來(lái)將OSPF路由轉(zhuǎn)換為功能 上等效的BGP路由。導(dǎo)入/導(dǎo)出處理780還可以將OSPF最佳路徑的OSPF AS路徑子TLV 550轉(zhuǎn)換為可以被存儲(chǔ)在BGP表765中的功能上等效的 BGPAS路徑屬性650。當(dāng)在PE設(shè)備700處接收到BGP更新消息600時(shí),BGP處理760在 BGP表765中存儲(chǔ)所通告的BGP路由和他們的相關(guān)的BGP AS路徑屬性 650。 BGP處理760可以為存儲(chǔ)在BGP表中的可到達(dá)的路由確定BGP最佳 路徑的集合。然后,導(dǎo)入/導(dǎo)出處理780可以將來(lái)自BGP表765中的BGP 最佳路徑和他們的相關(guān)的BGP AS路徑屬性650重新分配到路由表775 中。具體地,導(dǎo)入/導(dǎo)出處理780可以通過(guò)將BGP路由和他們的相關(guān)的 BGP AS路徑屬性轉(zhuǎn)換為可以被存儲(chǔ)在路由表775中的功能上等效的OSPF 路由和OSPF AS路徑子TLV來(lái)重新分配BGP最佳路徑。根據(jù)說(shuō)明性實(shí)施例,OSPF處理770被配置為通過(guò)基于存儲(chǔ)在路由的 相關(guān)AS路徑子TLV 550中的AS路徑信息有選擇地在路由表775中安裝 OSPF路由來(lái)防止路由環(huán)。更具體地,當(dāng)PE設(shè)備700接收到包含AS路徑 子TLV 550的OSPF LSA 500時(shí),PE設(shè)備的OSPF處理770確定PE設(shè)備 是否位于其AS號(hào)被存儲(chǔ)在所接收的AS路徑子TLV 550中的自治系統(tǒng) 中d如果是,則OSPF處理確定LSA的所通告的OSPF路由已經(jīng)被預(yù)先通 告給該自治系統(tǒng),所以O(shè)SPF處理不在其路由表775中安裝該些路由,因 為如果安裝這些路由的話會(huì)導(dǎo)致路由環(huán)。這樣,所接收的OSPF路由被從 路由表(和SPF計(jì)算)中排除,并不被重新分配到BGP中用于將來(lái)傳送 通過(guò)自治系統(tǒng)。注意,OSPF處理還可以被配置為基于如上所述的附加的 DN比特性能來(lái)防止暫時(shí)的路由環(huán)。另一方面,如果OSPF處理770確定PE設(shè)備的自治系統(tǒng)的AS號(hào)沒有 被存儲(chǔ)在所接收的AS路徑子TLV 550中,則OSPF處理可以在路由表 775中安裝LSA的所通告的OSPF路由。在這種情況下,所安裝的OSPF 路由和他們的相關(guān)的AS路徑子TLV可以(例如)通過(guò)導(dǎo)入/導(dǎo)出處理780 被重新分配到BGP表765中。重新分配的路由可以在BGP更新消息600 中被傳送到自治系統(tǒng)中的其他完全網(wǎng)狀的PE設(shè)備700。隨后接收BGP更 新消息600的PE設(shè)備700可以在其本地BGP表中存儲(chǔ)所通告的BGP路 由,將所接收的BGP路由重新分配到其本地OSPF路由表中,然后將重新 分配的路由通告給相鄰的OSPF配置的CE設(shè)備。在這種場(chǎng)景中,PE設(shè)備
優(yōu)選地向CE設(shè)備發(fā)送包含更新的AS路徑子TLV 550的LSA 500,其 中,該更新的AS路徑子TLV存儲(chǔ)有包括PE設(shè)備的自治系統(tǒng)的AS號(hào)的 AS路徑。圖9示出了根據(jù)說(shuō)明性實(shí)施例的可以由PE設(shè)備700 (例如,作為出口 PE設(shè)備)執(zhí)行的步驟序列。該序列在步驟900開始,并進(jìn)行到步驟910, 在步驟910,在PE設(shè)備處接收包含至少一個(gè)所通告的BGP前綴645和相 關(guān)的BGP AS路徑屬性650的BGP更新消息600。在步驟920, BGP處理 760將所接收的BGP前綴和AS路徑屬性存儲(chǔ)在BGP表765中。接著,在 步驟930,導(dǎo)入/導(dǎo)出處理780將前綴和AS屬性重新分配到OSPF路由表 775中。對(duì)此,BGP前綴可以從VPN-IPv4 BGP前綴轉(zhuǎn)換為傳統(tǒng)的OSPF IPv4前綴,并BGP AS路徑屬性可以轉(zhuǎn)換為功能上等效的OSPF AS路徑子 TLV 550。在步驟940,在PE設(shè)備700中執(zhí)行的OSPF處理770生成被配 置為存儲(chǔ)重新分配的OSPF前綴和其相關(guān)的AS路徑子TLV的LSA 500。 注意,PE設(shè)備還可以通過(guò)將PE設(shè)備的提供者網(wǎng)絡(luò)的AS號(hào)前置添加到存 儲(chǔ)在AS路徑子TLV中的AS號(hào)列表中來(lái)更新存儲(chǔ)在AS路徑子TLV中的 AS路徑信息。在步驟950, OSPF處理經(jīng)由OSPF配置的PE-CE數(shù)據(jù)鏈路 460,將LSA 500轉(zhuǎn)發(fā)到CE設(shè)備470。在步驟960,該序列終止。圖10示出了根據(jù)說(shuō)明性實(shí)施例的PE設(shè)備700 (例如入口 PE設(shè)備) 可以執(zhí)行的用于防止路由環(huán)的步驟序列。該序列在步驟1000開始,并進(jìn) 行到步驟1010,在步驟1010, PE設(shè)備接收包含至少一個(gè)前綴和存儲(chǔ)用于 該至少一個(gè)前綴的AS路徑信息的相關(guān)的AS路徑子TLV 550的一個(gè)或多 個(gè)OSPF LSA 500。在步驟1020,在PE設(shè)備中執(zhí)行的OSPF處理770確定 所接收的AS路徑子TLV是否存儲(chǔ)有包含該P(yáng)E設(shè)備的提供者網(wǎng)絡(luò)的AS 號(hào)。如果是,則該序列進(jìn)行到步驟1030,在步驟1030, OSPF處理確定路 由已經(jīng)被通告到提供者網(wǎng)絡(luò)的各處,所以PE設(shè)備不在其路由表775中安 裝該路由;該序列在歩驟1080終止。另一方面,如果在歩驟1020, PE設(shè)備700確定所接收的AS路徑子 TLV 550沒有存儲(chǔ)包含PE設(shè)備的提供者網(wǎng)絡(luò)的AS號(hào),則在步驟1040, 在PE設(shè)備中執(zhí)行的OSPF處理770在路由表775中存儲(chǔ)所通告的路由(例
如,存儲(chǔ)來(lái)自LSDB 772中的LSA的前綴及其AS路徑信息)。(注意, 在路由表中存儲(chǔ)所通告的路由可以取代先前的基于DN比特的決定,以排 除該路由)。然后,在步驟1050,導(dǎo)入/導(dǎo)出處理780將前綴和AS路徑信 息重新分配到BGP表765中。在步驟1060,在PE設(shè)備中執(zhí)行的BGP處 理760生成包含重新分配的前綴和存儲(chǔ)該路由的相關(guān)的AS路徑信息的 BGP AS路徑屬性650的BGP更新消息600。在步驟1070, BGP處理將所 生成的BGP更新消息600轉(zhuǎn)發(fā)到PE設(shè)備的提供者網(wǎng)絡(luò)中的其他PE設(shè) 備。在步驟1080,該序列終止。有利地,新的AS路徑子TLV可以被用于在不破壞具有多個(gè)沒有被配 置為相互通信的自治系統(tǒng)的網(wǎng)絡(luò)中的備用連通性的條件下防止路由環(huán)。例 如,與現(xiàn)有實(shí)施方式不同,本發(fā)明的技術(shù)可以防止在路由被從第一客戶現(xiàn) 場(chǎng)通告到主AS、從主AS通告到第二客戶現(xiàn)場(chǎng)、然后從第二客戶現(xiàn)場(chǎng)通告 到不與主AS通信的次("備用")AS時(shí)的路由環(huán)的產(chǎn)生。更一般地,該 技術(shù)被用來(lái)防止單AS和多AS環(huán)境中的路由環(huán)。另外,本發(fā)明的技術(shù)可 以被用于防止在OSPF路由區(qū)域中所通告的內(nèi)部和外部路由的路由環(huán)。前述的是本發(fā)明的說(shuō)明性實(shí)施例的詳細(xì)說(shuō)明。在不脫離本發(fā)明的精神 和范圍的條件下,可以進(jìn)行各種修改和添加。例如,當(dāng)在PE-CE數(shù)據(jù)鏈路 上執(zhí)行OSPF時(shí),盡管說(shuō)明性實(shí)施例利用新的AS-路徑子-TLV來(lái)防止路由 環(huán),但是還清楚地預(yù)見,當(dāng)在PE-CE數(shù)據(jù)鏈路上執(zhí)行其他IGP協(xié)議時(shí)同樣 可以使用本發(fā)明的教導(dǎo)。例如,如果在PE-CE鏈路460上執(zhí)行中間系統(tǒng)到 中間系統(tǒng)(IS-IS)的協(xié)議,則這里描述的OSPF AS路徑子TLV可以被 (例如)能夠在傳統(tǒng)的IS-IS鏈路狀態(tài)數(shù)據(jù)包(LSP)中傳輸?shù)墓δ苌系刃?的IS-IS AS路徑子TLV代替。本領(lǐng)域技術(shù)人員將理解,本發(fā)明不限于諸 如OSPF和BGP的任何特定的網(wǎng)絡(luò)通信協(xié)議,而可以被推廣到與各種不同 的內(nèi)部和外部網(wǎng)關(guān)協(xié)議一起防止路由環(huán)的網(wǎng)絡(luò)通信協(xié)議。本發(fā)明一般地可用于在OSPF LAS中傳輸任何類型的BGP屬性信 息。所以,盡管說(shuō)明性實(shí)施例使用了用于攜帶BGP AS路徑屬性信息通過(guò) OSPF配置的網(wǎng)絡(luò)的新的子TLV 550,但是本領(lǐng)域技術(shù)人員將理解,新的 子TLV更一般地可以被格式化為攜帶任何類型的BGP屬性信息,諸如, 傳統(tǒng)上在以上結(jié)合的REC 1771中描述并存儲(chǔ)的BGP屬性的信息。廣泛地 陳述,新的OSPF子TLV可以被配置為存儲(chǔ)傳統(tǒng)上被存儲(chǔ)在一個(gè)或多個(gè) BGP屬性中的BGP信息。還可以清楚地預(yù)見,本發(fā)明的教導(dǎo)可以實(shí)施為軟件(包括具有存儲(chǔ)在 其上的程序指令的計(jì)算機(jī)可讀介質(zhì))、硬件、固件、攜帶由處理器執(zhí)行的 指令的電磁信號(hào)、或他們的任意組合。更一般地,本發(fā)明的技術(shù)可以以硬 件和/或軟件的各種組合實(shí)現(xiàn)。因此,本描述僅通過(guò)實(shí)例示出,而不用于限 制本發(fā)明的范圍。
權(quán)利要求
1. 一種方法,包括在第一網(wǎng)絡(luò)設(shè)備處接收包含具有相關(guān)的邊界網(wǎng)關(guān)協(xié)議(BGP)屬性的至少一條路由的BGP消息,所述第一網(wǎng)絡(luò)設(shè)備位于第一自治系統(tǒng)(AS)的邊緣處;將所接收的BGP屬性轉(zhuǎn)換為功能等同的開放式最短路徑優(yōu)先(OSPF)類型長(zhǎng)度值元組(TLV);以及將包含與所述至少一條路由相關(guān)的OSPF TLV的OSPF鏈路狀態(tài)通告(LSA)發(fā)送到第二網(wǎng)絡(luò)設(shè)備,所述第二網(wǎng)絡(luò)設(shè)備位于與所述第一AS不同的第二AS的邊緣處。
2. 根據(jù)權(quán)利要求1所述的方法,還包括將包含與所述至少一條路由相關(guān)的OSPF TLV的OSPF LSA從所述第 二網(wǎng)絡(luò)設(shè)備傳播到第三網(wǎng)絡(luò)設(shè)備,所述第三網(wǎng)絡(luò)設(shè)備位于第三AS的邊緣 處,所述第三AS沒有與所述第一AS直接通信;在所述第三網(wǎng)絡(luò)設(shè)備處確定所接收的OSPF TLV是否存儲(chǔ)有對(duì)應(yīng)于所 述第三AS的AS號(hào);響應(yīng)于確定出所接收的OSPF TLV存儲(chǔ)有對(duì)應(yīng)于所述第三AS的AS 號(hào),從存儲(chǔ)在所述第三網(wǎng)絡(luò)設(shè)備處的OSPF路由集中排除所述至少一條路 由。
3. 根據(jù)權(quán)利要求2所述的方法,還包括響應(yīng)于確定出所接收的OSPF TLV沒有存儲(chǔ)對(duì)應(yīng)于所述第三AS的AS 號(hào),將所接收的OSPFTLV轉(zhuǎn)換為功能等同的BGP屬性;以及將包含與所述至少一條路由相關(guān)的BGP屬性的BGP更新消息從所述 第三網(wǎng)絡(luò)設(shè)備發(fā)送到所述第三AS中的一個(gè)或多個(gè)其他網(wǎng)絡(luò)設(shè)備。
4. 根據(jù)權(quán)利要求3所述的方法,還包括響應(yīng)于所接收的具有設(shè)置的DN比特的LSA,從存儲(chǔ)在所述第三網(wǎng)絡(luò) 設(shè)備處的所述OSPF路由集中排除所述至少一條路由;以及響應(yīng)于確定出所接收的OSPF TLV沒有存儲(chǔ)對(duì)應(yīng)于所述第三AS的AS號(hào),通過(guò)將所接收的OSPF TLV轉(zhuǎn)換為功能等同的BGP屬性來(lái)取代所述 排除。
5. 根據(jù)權(quán)利要求2所述的方法,其中,所述第一網(wǎng)絡(luò)設(shè)備是提供者邊 緣(PE)設(shè)備并且所述第一 AS是第一提供者網(wǎng)絡(luò),所述第二網(wǎng)絡(luò)設(shè)備是 客戶邊緣(CE)設(shè)備并且所述第二 AS是位置相鄰于所述第一提供者網(wǎng)絡(luò) 的客戶現(xiàn)場(chǎng),并且所述第三網(wǎng)絡(luò)設(shè)備是PE設(shè)備并且所述第三AS是位置相 鄰于所述客戶現(xiàn)場(chǎng)的第二提供者網(wǎng)絡(luò),所述第二提供者網(wǎng)絡(luò)沒有與所述第 一提供者網(wǎng)絡(luò)直接通信。
6. 根據(jù)權(quán)利要求l所述的方法,其中,所述BGP屬性是BGP AS路徑 屬性,并且所述OSPF TLV是OSPF AS路徑子TLV。
7. 根據(jù)權(quán)利要求6所述的方法,其中,所述OSPF AS路徑子TLV存 儲(chǔ)在區(qū)域間/外部路由屬性TLV (RA-TLV)中。
8. 根據(jù)權(quán)利要求1所述的方法,還包括在將所述OSPF LSA發(fā)送到所述第二網(wǎng)絡(luò)設(shè)備之前,將所述至少一條 路由從虛擬專用網(wǎng)絡(luò)互聯(lián)網(wǎng)協(xié)議版本4 (VPN-IPv4)格式轉(zhuǎn)換到IPv4格 式。
9. 一種計(jì)算機(jī)網(wǎng)絡(luò),具有多個(gè)自治系統(tǒng)(AS),所述計(jì)算機(jī)網(wǎng)絡(luò)包括第一設(shè)備,位于第一AS中,所述第一設(shè)備被配置為執(zhí)行以下步驟接收包含具有相關(guān)的邊界網(wǎng)關(guān)協(xié)議(BGP)屬性的至少一條路由 的BGP消息;將所接收的BPG屬性轉(zhuǎn)換為功能等同的開放式最短路徑優(yōu)先 (OSPF)類型長(zhǎng)度值元組(TLV);以及通告包含與所述至少一條路由相關(guān)的OSPF TLV的OSPF鏈路狀 態(tài)通告(LSA)。
10. 根據(jù)權(quán)利要求9所述的計(jì)算機(jī)網(wǎng)絡(luò),還包括第二網(wǎng)絡(luò)設(shè)備,位于第二 AS中,所述第二 AS沒有被配置為與所述 第一 AS直接通信,所述第二網(wǎng)絡(luò)設(shè)備被配置為接收所通告的OSPF LSA,并且還被配置為執(zhí)行以下步驟確定所接收的OSPF TLV是否存儲(chǔ)有對(duì)應(yīng)于所述第二 AS的AS號(hào);響應(yīng)于確定出所接收的OSPF TLV存儲(chǔ)有對(duì)應(yīng)于所述第二 AS的 AS號(hào),從存儲(chǔ)在所述第二網(wǎng)絡(luò)設(shè)備處的OSPF路由集中排除所述至少一條路由。
11. 根據(jù)權(quán)利要求IO所述的計(jì)算機(jī)網(wǎng)絡(luò),其中,所述第二網(wǎng)絡(luò)設(shè)備還 被配置為執(zhí)行以下步驟響應(yīng)于確定出所接收的OSPF TLV沒有存儲(chǔ)對(duì)應(yīng)于所述第二 AS的AS 號(hào),將所接收的OSPFTLV轉(zhuǎn)換為功能等同的BGP屬性;以及將包含與所述至少一條路由相關(guān)的BGP屬性的BGP更新消息從所述 第二網(wǎng)絡(luò)設(shè)備通告到所述第二AS中的一個(gè)或多個(gè)其他網(wǎng)絡(luò)設(shè)備。
12. 根據(jù)權(quán)利要求11所述的計(jì)算機(jī)網(wǎng)絡(luò),其中,所述第二網(wǎng)絡(luò)設(shè)備還 被配置為執(zhí)行以下步驟響應(yīng)于所接收的具有設(shè)置的DN比特的LSA,從存儲(chǔ)在所述第三網(wǎng)絡(luò) 設(shè)備處的所述OSPF路由集中排除所述至少一條路由;以及響應(yīng)于確定出所接收的OSPF TLV沒有存儲(chǔ)對(duì)應(yīng)于所述第三AS的AS 號(hào),通過(guò)將所接收的OSPF TLV轉(zhuǎn)換為功能等同的BGP屬性來(lái)取代所述 排除。
13. 根據(jù)權(quán)利要求9所述的計(jì)算機(jī)網(wǎng)絡(luò),其中,所述BGP屬性是BGP 自洽系統(tǒng)AS路徑屬性,并且所述TLV是OSPF AS路徑子TLV。
14. 根據(jù)權(quán)利要求13所述的計(jì)算機(jī)網(wǎng)絡(luò),其中,所述OSPFAS路徑子 TLV被存儲(chǔ)在區(qū)域間/外部路由屬性TLV (RA-TLV)中。
15. —種系統(tǒng),包括用于在第一網(wǎng)絡(luò)設(shè)備處接收包含具有相關(guān)的邊界網(wǎng)關(guān)協(xié)議(BGP)屬 性的至少一條路由的BGP消息的裝置,所述第一網(wǎng)絡(luò)設(shè)備位于第一自治系 統(tǒng)(AS)的邊緣處;用于將所接收的BGP屬性轉(zhuǎn)換為功能等同的開放式最短路徑優(yōu)先 (OSPF)類型長(zhǎng)度值元組(TLV)的裝置;以及用于將包含與所述至少一條路由相關(guān)的所述OSPF TLV的OSPF鏈路 狀態(tài)通告(LSA)發(fā)送到第二網(wǎng)絡(luò)設(shè)備的裝置,所述第二網(wǎng)絡(luò)設(shè)備位于與 所述第一 AS不同的第二 AS的邊緣處。
16. 根據(jù)權(quán)利要求15所述的系統(tǒng),還包括用于將包含與所述至少一條路由相關(guān)的所述OSPF TLV的所述OSPF LSA從所述第二網(wǎng)絡(luò)設(shè)備傳播到第三網(wǎng)絡(luò)設(shè)備的裝置,所述第三網(wǎng)絡(luò)設(shè)備 位于第三AS的邊緣處,所述第三AS沒有與所述第一 AS直接通信;用于在所述第三網(wǎng)絡(luò)設(shè)備處確定所接收的OSPF TLV是否存儲(chǔ)有對(duì)應(yīng) 于所述第三AS的AS號(hào)的裝置;用于響應(yīng)于確定出所接收的OSPF TLV存儲(chǔ)有對(duì)應(yīng)于所述第三AS的 AS號(hào),從存儲(chǔ)在所述第三網(wǎng)絡(luò)設(shè)備處的OSPF路由集中排除所述至少一條 路由的裝置。
17. 根據(jù)權(quán)利要求16所述的系統(tǒng),還包括用于響應(yīng)于確定出所接收的OSPF TLV沒有存儲(chǔ)對(duì)應(yīng)于所述第三AS 的AS號(hào),將所接收的OSPF TLV轉(zhuǎn)換為功能等同的BGP屬性的裝置;以 及用于將包含與所述至少一條路由相關(guān)的BGP屬性的BGP更新消息從 所述第三網(wǎng)絡(luò)設(shè)備發(fā)送到所述第三AS中的一個(gè)或多個(gè)其他網(wǎng)絡(luò)設(shè)備的裝 置。
18. 根據(jù)權(quán)利要求17所述的系統(tǒng),還包括用于響應(yīng)于所接收的具有設(shè)置的DN比特的LSA,從存儲(chǔ)在所述第三 網(wǎng)絡(luò)設(shè)備處的所述OSPF路由集中排除所述至少一條路由的裝置;以及用于響應(yīng)于確定出所接收的OSPF TLV沒有存儲(chǔ)對(duì)應(yīng)于所述第三AS 的AS號(hào),通過(guò)將所接收的OSPF TLV轉(zhuǎn)換為功能等同的BGP屬性來(lái)取代 所述排除的裝置。
19. 根據(jù)權(quán)利要求16所述的系統(tǒng),其中,所述第一網(wǎng)絡(luò)設(shè)備是提供者 邊緣(PE)設(shè)備并且所述第一 AS是第一提供者網(wǎng)絡(luò),所述第二網(wǎng)絡(luò)設(shè)備 是客戶邊緣(CE)設(shè)備并且所述第二 AS是位置鄰近于所述第一提供者網(wǎng) 絡(luò)的客戶現(xiàn)場(chǎng),并且所述第三網(wǎng)絡(luò)設(shè)備是PE設(shè)備并且所述第三AS是位置 鄰近于所述客戶現(xiàn)場(chǎng)的第二提供者網(wǎng)絡(luò),所述第二提供者網(wǎng)絡(luò)沒有與所述 第一提供者網(wǎng)絡(luò)直接通信。
20. 根據(jù)權(quán)利要求15所述的系統(tǒng),其中,所述BGP屬性是BGP AS路 徑屬性,并且所述OSPF TLV是OSPF AS路徑子TLV。
21. 根據(jù)權(quán)利要求20所述的系統(tǒng),其中,所述OSPF AS路徑子TLV 存儲(chǔ)在區(qū)域間/外部路由屬性TLV (RA-TLV)中。
22. 根據(jù)權(quán)利要求15所述的系統(tǒng),還包括用于在將所述OSPF LSA發(fā)送到所述第二網(wǎng)絡(luò)設(shè)備之前,將所述至少 一條路由從虛擬專用網(wǎng)絡(luò)互聯(lián)網(wǎng)協(xié)議版本4 (VPN-IPv4)格式轉(zhuǎn)換到IPv4 格式的裝置。
23. —種計(jì)算機(jī)可讀介質(zhì),存儲(chǔ)有用于在處理器上執(zhí)行以實(shí)施包括以 下步驟的方法的指令在第一網(wǎng)絡(luò)設(shè)備處接收包含具有相關(guān)的邊界網(wǎng)關(guān)協(xié)議(BGP)屬性的 至少一條路由的BGP消息,所述第一網(wǎng)絡(luò)設(shè)備位于第一自治系統(tǒng)(AS) 的邊緣處;將所接收的BGP屬性轉(zhuǎn)換為功能等同的開放式最短路徑優(yōu)先 (OSPF)類型長(zhǎng)度值元組(TLV);以及將包含與所述至少一條路由相關(guān)的OSPF TLV的OSPF鏈路狀態(tài)通告 (LSA)發(fā)送到第二網(wǎng)絡(luò)設(shè)備,所述第二網(wǎng)絡(luò)設(shè)備位于與所述第一 AS不 同的第二AS的邊緣處。
24. —種節(jié)點(diǎn),位于第一自治系統(tǒng)(AS)的邊緣處,所述節(jié)點(diǎn)包括 一個(gè)或多個(gè)網(wǎng)絡(luò)接口;處理器,耦合到所述一個(gè)或多個(gè)網(wǎng)絡(luò)接口并適用于執(zhí)行軟件處理;以及存儲(chǔ)器,適用于存儲(chǔ)可由所述處理器執(zhí)行的一個(gè)或多個(gè)處理,所述一 個(gè)或多個(gè)處理被配置為i )接收包含具有相關(guān)的邊界網(wǎng)關(guān)協(xié)議(BGP) 屬性的至少一條路由的BGP消息,ii)將所接收的BGP屬性轉(zhuǎn)換為功能 等同的開放式最短路徑優(yōu)先(OSPF)類型長(zhǎng)度值元組(TLV),以及iii) 將包含與所述至少一條路由相關(guān)的所述OSPF TLV的OSPF鏈路狀態(tài)通告 (LSA)發(fā)送到位于與所述第一 AS不同的第二 AS的邊緣處的節(jié)點(diǎn)。
全文摘要
提供了一種用于在開放式最短路徑優(yōu)先(OSPF)配置的網(wǎng)絡(luò)中散布邊界網(wǎng)關(guān)協(xié)議(BGP)屬性信息來(lái)防止路由環(huán)的新技術(shù)。具體地,引入了新的OSPF子類型長(zhǎng)度值(TLV),用于通過(guò)OSPF配置的網(wǎng)絡(luò)傳輸傳統(tǒng)的BGP自治系統(tǒng)(AS)路徑屬性。像BGP AS路徑屬性一樣,新的OSPFAS路徑子TLV被配置為存儲(chǔ)與一條或多條所通告的路由的AS路徑相對(duì)應(yīng)的AS號(hào)的集合。這樣,當(dāng)網(wǎng)絡(luò)設(shè)備接收到包含新的AS路徑子TLV的OSPF鏈路狀態(tài)通告(LSA)時(shí),該網(wǎng)絡(luò)設(shè)備確定其是否位于AS號(hào)被存儲(chǔ)在子TLV中的自治系統(tǒng)中。如果是,則該網(wǎng)絡(luò)設(shè)備不在其鏈路狀態(tài)數(shù)據(jù)庫(kù)中安裝LSA的所通告的路由,因?yàn)槿绻惭b的話,該路由將導(dǎo)致路由環(huán)。
文檔編號(hào)G06F15/16GK101401083SQ200780008232
公開日2009年4月1日 申請(qǐng)日期2007年2月6日 優(yōu)先權(quán)日2006年3月8日
發(fā)明者彼得·普森納克, 穆希塔爾·沙依克, 穆罕默德·艾哈邁德·莫依祖蒂, 西納·米爾托比 申請(qǐng)人:思科技術(shù)公司