用于多宿主網(wǎng)絡(luò)的無環(huán)路替換選擇的制作方法
【技術(shù)領(lǐng)域】
[0001]本公開內(nèi)容涉及計算機(jī)網(wǎng)絡(luò),并且更特別地,涉及在計算機(jī)網(wǎng)絡(luò)內(nèi)轉(zhuǎn)發(fā)網(wǎng)絡(luò)流量。
【背景技術(shù)】
[0002]路由協(xié)議定義了如下的過程:分組交換網(wǎng)絡(luò)中的被稱為路由器的網(wǎng)絡(luò)設(shè)備通過該過程相互通信來散布如下的信息,該信息允許這些路由器選擇計算機(jī)網(wǎng)絡(luò)上的任何兩個節(jié)點(diǎn)之間的路由。被稱為鏈路狀態(tài)協(xié)議的一種類型的路由協(xié)議允許路由器交換并且積累鏈路狀態(tài)信息,即,描述網(wǎng)絡(luò)內(nèi)的各種鏈路的信息。利用典型的鏈路狀態(tài)路由協(xié)議,路由器交換與關(guān)聯(lián)于網(wǎng)絡(luò)鏈路的可用接口、度量以及其他變量有關(guān)的信息。這允許路由器構(gòu)造它自己的對網(wǎng)絡(luò)的拓?fù)浠蛴成?。鏈路狀態(tài)協(xié)議的一些示例包括開放最短路徑優(yōu)先(OSPF)協(xié)議以及中間系統(tǒng)到中間系統(tǒng)(IS-1S)協(xié)議。
[0003]網(wǎng)絡(luò)上的兩個設(shè)備之間的連接一般被稱為鏈路。不同自主系統(tǒng)的設(shè)備之間的連接被稱為外部鏈路,而同一自主系統(tǒng)內(nèi)的設(shè)備之間的連接被稱為內(nèi)部鏈路。許多常規(guī)的計算機(jī)網(wǎng)絡(luò),包括互聯(lián)網(wǎng),被設(shè)計為在個體的鏈路失效的情況中動態(tài)地重新路由數(shù)據(jù)分組。一經(jīng)鏈路的失效,路由器就將新的連接性信息傳輸給相鄰設(shè)備,允許每個設(shè)備更新其本地路由表。鏈路可能由于任何數(shù)量的原因而失效,諸如設(shè)備之間的物理基礎(chǔ)設(shè)施的失效,或者與該鏈路對接的設(shè)備的失效。
[0004]當(dāng)網(wǎng)絡(luò)中的鏈路或路由器失效時,使用傳統(tǒng)鏈路狀態(tài)協(xié)議(諸如OSPF和IS-1S)的路由器可能花費(fèi)長時間來響應(yīng)于由網(wǎng)絡(luò)中的節(jié)點(diǎn)失效和鏈路失效所引起的拓?fù)涓淖兌m配它們的轉(zhuǎn)發(fā)表。適配轉(zhuǎn)發(fā)表的過程被稱為收斂(convergence)。發(fā)生這個時間延遲是因?yàn)閺氖У幕謴?fù)需要每個節(jié)點(diǎn)重新計算最短路徑算法來運(yùn)算針對網(wǎng)絡(luò)中的受影響節(jié)點(diǎn)的下一跳。直到這些下一跳被重新計算,被發(fā)往失效的鏈路的流量才可以被丟棄。當(dāng)前的部署花費(fèi)大約500毫秒至數(shù)秒的時間用于檢測網(wǎng)絡(luò)中的失效以及從網(wǎng)絡(luò)中的失效恢復(fù)。這些大的收斂時間可能不利地影響互聯(lián)網(wǎng)語音(VoIP)和多媒體應(yīng)用的性能,它們對流量損失極為敏感。服務(wù)提供商正在要求端到端的失效檢測和恢復(fù)時間少于50毫秒。
[0005]減少失效恢復(fù)時間的一種方法是除了用于目的地的最佳下一跳之外還選擇替換下一跳。與最佳下一跳一起,替換下一跳被安裝在分組轉(zhuǎn)發(fā)組件中。當(dāng)鏈路失效發(fā)生時,路由器使用替換下一跳用于分組轉(zhuǎn)發(fā),直到最短路徑算法已經(jīng)重新計算了針對經(jīng)更新的網(wǎng)絡(luò)拓?fù)涞南乱惶⑶覍⑦@些重新計算的下一跳安裝在分組轉(zhuǎn)發(fā)組件中。
[0006]有時候,網(wǎng)絡(luò)設(shè)備或者子網(wǎng)絡(luò)(子網(wǎng))被提供了經(jīng)由兩個或更多冗余PE路由器(例如,區(qū)域邊界路由器(ABR)或者自主系統(tǒng)邊界路由器(ASBR))而通向網(wǎng)絡(luò)的連接性。該網(wǎng)絡(luò)設(shè)備或者子網(wǎng)被稱為多宿主地接入該網(wǎng)絡(luò)。冗余PE路由器之一可以是用于轉(zhuǎn)發(fā)該網(wǎng)絡(luò)設(shè)備或子網(wǎng)與該網(wǎng)絡(luò)之間的流量的指定轉(zhuǎn)發(fā)器。
【發(fā)明內(nèi)容】
[0007]一般而言,本公開內(nèi)容的技術(shù)提供了在網(wǎng)絡(luò)故障之后的路由表的改進(jìn)的收斂,路由表諸如當(dāng)使用鏈路狀態(tài)路由協(xié)議時實(shí)施的那些路由表,鏈路狀態(tài)路由協(xié)議諸如開放最短路徑優(yōu)先(OSPF)協(xié)議和中間系統(tǒng)到中間系統(tǒng)(IS-1S)協(xié)議。具體而言,描述了如下的技術(shù),這些技術(shù)用于在歸因于失效的拓?fù)涓淖兊那闆r中識別無環(huán)路替換(LFA)下一跳來提供對于互聯(lián)網(wǎng)協(xié)議(IP)網(wǎng)絡(luò)中的網(wǎng)絡(luò)流量的本地保護(hù)的改進(jìn)的方法。預(yù)先運(yùn)算的無環(huán)路替換下一跳能夠被用于轉(zhuǎn)發(fā)網(wǎng)絡(luò)流量直到收斂過程完成。本公開內(nèi)容描述了用于選擇LFA下一跳以使用用于將網(wǎng)絡(luò)流量轉(zhuǎn)發(fā)給多宿主前綴的過程。在一個方面中,一種方法包括:由網(wǎng)絡(luò)設(shè)備通過考慮與從第一邊界路由器到該多宿主網(wǎng)絡(luò)的第一路徑相關(guān)聯(lián)的第一成本以及與從第二邊界路由器到該多宿主網(wǎng)絡(luò)的第二路徑相關(guān)聯(lián)的第二成本,來確定用于將來自該網(wǎng)絡(luò)設(shè)備的網(wǎng)絡(luò)流量轉(zhuǎn)發(fā)給該多宿主網(wǎng)絡(luò)的候選無環(huán)路替換(LFA)下一跳的集合,其中該多宿主網(wǎng)絡(luò)在該網(wǎng)絡(luò)設(shè)備位于其中的內(nèi)部路由域的外部。該方法還包括:由該網(wǎng)絡(luò)設(shè)備從候選LFA下一跳的該集合中選擇一個LFA下一跳作為用于將來自該網(wǎng)絡(luò)設(shè)備的網(wǎng)絡(luò)流量轉(zhuǎn)發(fā)給該多宿主網(wǎng)絡(luò)的替換下一跳;以及由該網(wǎng)絡(luò)設(shè)備更新該網(wǎng)絡(luò)設(shè)備的轉(zhuǎn)發(fā)信息,以安裝所選擇的LFA下一跳作為用于將來自該網(wǎng)絡(luò)設(shè)備的網(wǎng)絡(luò)流量轉(zhuǎn)發(fā)給該多宿主網(wǎng)絡(luò)的該替換下一跳。
[0008]在另一方面中,一種網(wǎng)絡(luò)設(shè)備包括:控制單元,被配置為執(zhí)行用于交換鏈路狀態(tài)路由信息的鏈路狀態(tài)路由協(xié)議以維護(hù)針對網(wǎng)絡(luò)的網(wǎng)絡(luò)拓?fù)?;網(wǎng)絡(luò)接口,被配置為根據(jù)該鏈路狀態(tài)路由協(xié)議來發(fā)送和接收鏈路狀態(tài)路由更新;以及路由選擇模塊,被配置為通過考慮與從第一邊界路由器到多宿主網(wǎng)絡(luò)的第二路徑相關(guān)聯(lián)的第一成本以及與第二邊界路由器到該多宿主網(wǎng)絡(luò)相關(guān)聯(lián)的第二成本,來確定用于將來自該網(wǎng)絡(luò)設(shè)備的網(wǎng)絡(luò)流量轉(zhuǎn)發(fā)給該多宿主網(wǎng)絡(luò)的候選無環(huán)路替換(LFA)下一跳的集合,其中該多宿主網(wǎng)絡(luò)在該網(wǎng)絡(luò)設(shè)備位于其中的內(nèi)部路由域的外部。該路由選擇模塊被配置為從候選LFA下一跳的該集合中選擇一個LFA下一跳作為用于將來自該網(wǎng)絡(luò)設(shè)備的網(wǎng)絡(luò)流量轉(zhuǎn)發(fā)給該多宿主網(wǎng)絡(luò)的替換下一跳;并且該路由選擇模塊被配置為更新該網(wǎng)絡(luò)設(shè)備的轉(zhuǎn)發(fā)信息,以安裝所選擇的LFA下一跳作為用于將來自該網(wǎng)絡(luò)設(shè)備的網(wǎng)絡(luò)流量轉(zhuǎn)發(fā)給該多宿主網(wǎng)絡(luò)的該替換下一跳。
[0009]在另一方面中,一種計算機(jī)可讀存儲介質(zhì)包括指令。這些指令促使網(wǎng)絡(luò)設(shè)備的可編程處理器:通過考慮與從第一邊界路由器到多宿主網(wǎng)絡(luò)的第一路徑相關(guān)聯(lián)的第一成本以及與從第二邊界路由器到該多宿主網(wǎng)絡(luò)的第二路徑相關(guān)聯(lián)的第二成本,來確定用于將來自該網(wǎng)絡(luò)設(shè)備的網(wǎng)絡(luò)流量轉(zhuǎn)發(fā)給該多宿主網(wǎng)絡(luò)的一個或多個候選無環(huán)路替換(LFA)下一跳的集合,其中該多宿主網(wǎng)絡(luò)在該網(wǎng)絡(luò)設(shè)備位于其中的內(nèi)部路由域的外部;從候選LFA下一跳的該集合中選擇一個LFA下一跳作為用于將來自該網(wǎng)絡(luò)設(shè)備的網(wǎng)絡(luò)流量轉(zhuǎn)發(fā)給該多宿主網(wǎng)絡(luò)的替換下一跳;以及更新該網(wǎng)絡(luò)設(shè)備的轉(zhuǎn)發(fā)信息,以安裝所選擇的LFA下一跳作為用于將來自該網(wǎng)絡(luò)設(shè)備的網(wǎng)絡(luò)流量轉(zhuǎn)發(fā)給該多宿主網(wǎng)絡(luò)的該替換下一跳。
[0010]本公開內(nèi)容的這些技術(shù)可以提供一個或多個優(yōu)點(diǎn)。例如,本公開內(nèi)容的這些技術(shù)提供了明確的不等式,使用鏈路狀態(tài)路由協(xié)議的網(wǎng)絡(luò)設(shè)備能夠評估這些不等式來找到LFA下一跳以使用用于將網(wǎng)絡(luò)流量轉(zhuǎn)發(fā)給多宿主網(wǎng)絡(luò)(前綴)。作為另一示例,本公開內(nèi)容的這些技術(shù)相比其他所提議的方法而言可以對計算網(wǎng)絡(luò)設(shè)備施加更少的存儲器以及計算開銷要求,其他所提議的方法諸如如下的方法,該方法要求網(wǎng)絡(luò)設(shè)備實(shí)例化與被公告到當(dāng)前路由域中的多宿主前綴的數(shù)量一樣多的節(jié)點(diǎn),并且針對每個多宿主前綴運(yùn)行最短路徑優(yōu)先(SPF)計算。
[0011]下面在附圖和描述中闡述一個或多個示例的細(xì)節(jié)。根據(jù)本描述和各示圖并且根據(jù)權(quán)利要求,其他的特征、目的、以及優(yōu)點(diǎn)將是明顯的。
【附圖說明】
[0012]圖1是圖示了包括被配置為采用本文所描述的這些技術(shù)用于選擇無環(huán)路替換(LFA)下一跳的網(wǎng)絡(luò)設(shè)備的示例網(wǎng)絡(luò)的框圖。
[0013]圖2是圖示了具有被配置為采用本文所描述的這些技術(shù)的網(wǎng)絡(luò)設(shè)備的示例網(wǎng)絡(luò)的框圖。
[0014]圖3是圖示了具有本文所描述的LFA能力的示例路由器的框圖。
[0015]圖4是圖示了網(wǎng)絡(luò)中的一個或多個網(wǎng)絡(luò)設(shè)備在使用本文所描述的這些技術(shù)中的操作的示例模式的流程圖。
【具體實(shí)施方式】
[0016]圖1是圖示了系統(tǒng)10的框圖,系統(tǒng)10包括具有網(wǎng)絡(luò)設(shè)備12A_12S(網(wǎng)絡(luò)設(shè)備或“節(jié)點(diǎn)” 12)的示例網(wǎng)絡(luò)14,網(wǎng)絡(luò)設(shè)備12A-12S被配置為采用本文所描述的這些技術(shù)用于選擇無環(huán)路替換(LFA)下一跳,以用于使用在一經(jīng)主下一跳變?yōu)椴豢捎脮r的網(wǎng)絡(luò)流量的互聯(lián)網(wǎng)協(xié)議(IP)快速重新路由中。網(wǎng)絡(luò)設(shè)備12可以使用本文所描述的這些技術(shù)來加速網(wǎng)絡(luò)故障之后的路由信息的收斂。
[0017]網(wǎng)絡(luò)設(shè)備12可以是路由器,并且可以使用鏈路狀態(tài)路由協(xié)議來交換鏈路狀態(tài)路由信息以得知網(wǎng)絡(luò)14的拓?fù)?,鏈路狀態(tài)路由協(xié)議諸如開放最短路徑優(yōu)先(OSPF)協(xié)議或者中間系統(tǒng)到中間系統(tǒng)(IS-1S)協(xié)議或者其他內(nèi)部路由協(xié)議(IGP)。也就是說,網(wǎng)絡(luò)設(shè)備12可以執(zhí)行IGP路由協(xié)議來交換針對與網(wǎng)絡(luò)14相關(guān)聯(lián)的內(nèi)部路由域的鏈路狀態(tài)信息,而無需與該內(nèi)部路由域之外的設(shè)備交換信息。盡管為了簡單以及示例的目的而被示出為包括網(wǎng)絡(luò)設(shè)備12A-12S,但是網(wǎng)絡(luò)14可以包括另外的網(wǎng)絡(luò)設(shè)備(未示出)。關(guān)于OSPF的進(jìn)一步細(xì)節(jié)在Moy,J.的1998年4月的RFC 2328 “OSPF Vers1n 2”中找到,其全部內(nèi)容通過引用并入本文。關(guān)于IS-1S的進(jìn)一步細(xì)節(jié)在Callon, R.的1990年12月的RFC 1195“Use of OSIIS-1S for Routing in TCP/IP and Dual Environments” 中找到,其全部內(nèi)容通過引用并入本文。
[0018]網(wǎng)絡(luò)設(shè)備12中的每個網(wǎng)絡(luò)設(shè)備可以基于使用鏈路狀態(tài)路由協(xié)議所交換的鏈路狀態(tài)路由信息來運(yùn)算將被用來到達(dá)系統(tǒng)10中的其他網(wǎng)絡(luò)設(shè)備12的下一跳,并且可以將所運(yùn)算的下一跳安裝在所存儲的用于轉(zhuǎn)發(fā)去往這些其他節(jié)點(diǎn)的網(wǎng)絡(luò)流量的轉(zhuǎn)發(fā)信息中。這些下一跳可以被稱為“主下一跳”。主下一跳被用于在沒有任何檢測到的網(wǎng)絡(luò)失效時轉(zhuǎn)發(fā)網(wǎng)絡(luò)流量。根據(jù)本公開內(nèi)容的原理,網(wǎng)絡(luò)設(shè)備12還可以被配置為針對每個目的地節(jié)點(diǎn)運(yùn)算并且安裝替換的下一跳,以用于如果在與相應(yīng)的主下一跳相關(guān)聯(lián)的鏈路或節(jié)點(diǎn)上檢測到失效則使用在轉(zhuǎn)發(fā)網(wǎng)絡(luò)流量中。
[0019]子網(wǎng)絡(luò)(或者子網(wǎng))是對IP網(wǎng)絡(luò)的邏輯上可見的細(xì)分。將網(wǎng)絡(luò)劃分為兩個或更多網(wǎng)絡(luò)的實(shí)踐被稱為子網(wǎng)劃分。屬于一個子網(wǎng)的所有網(wǎng)絡(luò)設(shè)備都以它們的IP地址中共同的、相同的、最高有效的比特組來尋址。這導(dǎo)致了將IP地址邏輯劃分為兩個字段,網(wǎng)絡(luò)或路由前綴以及其余字段或主機(jī)標(biāo)識符。該其余字段是用于具體主機(jī)或網(wǎng)絡(luò)接口的標(biāo)識符。該路由前綴通常以無類域間路由(CIDR)記號來表達(dá)。該路由前綴可以寫為網(wǎng)絡(luò)的地址,隨后是斜杠字符(/),并且以該前綴的比特長度來結(jié)束。
[0020]鄰居節(jié)點(diǎn)12C和12D可以是網(wǎng)絡(luò)14的提供通向在網(wǎng)絡(luò)14外部的網(wǎng)絡(luò)(諸如被表示為前綴16的網(wǎng)絡(luò))的多宿主連接性的邊緣路由器。因?yàn)榍熬Y16是由鄰居節(jié)點(diǎn)12C和12D中的任一個可到達(dá)的,所以前綴16被稱為被“多宿主”接入網(wǎng)絡(luò)14。多宿主在一些情況中可以被用來在路徑中的一個路徑將變?yōu)椴豢捎玫那闆r中提供冗余連接性。在一些示例中,鄰居節(jié)點(diǎn)12D和12C是提供商邊緣(PE)路由器,諸如區(qū)域邊界路由器(ABR)或者自主系統(tǒng)邊界路由器(ASBR)。前綴16表示一個或多個具有IP地址的網(wǎng)絡(luò)設(shè)備(例如,路由器),這些IP地址被包括在共同的網(wǎng)絡(luò)地址前綴中