提供計算機網絡中的兩部分度量的制作方法
【專利摘要】本發明的各實施方式總體上涉及提供計算機網絡中的兩部分度量。具體地,描述了用于利用具有計算機網絡的鏈路狀態路由協議的兩個部分度量的技術。例如,由路由器通信的鏈路狀態公告傳送表示針對路由器向網絡發送網絡流量的出站成本的出站成本度量,以及表示從網絡接收網絡流量的入站成本的入站成本度量。所述技術針對包括廣播或非廣播多路訪問網絡的共享訪問網絡尤其有用。
【專利說明】提供計算機網絡中的兩部分度量
[0001]相關申請的交叉引用
[0002]本申請要求于2013年9月30日遞交的美國專利申請N0.14/042,644的權益,其全部內容通過引用并入于此。
【技術領域】
[0003]本公開的技術涉及計算機網絡,并且更具體地涉及提供計算機網絡中的路由信肩、O
【背景技術】
[0004]計算機網絡是交換數據并共享資源的互連計算設備的集合。在基于分組的網絡(諸如,因特網)中,計算設備通過將數據劃分成被稱作分組的小塊來通信數據,所述分組跨網絡從源設備被單獨路由至目的地設備。目的地設備從分組提取數據并且將數據組裝成其原始形式。網絡中被稱為路由器的某些設備使用路由協議來交換并積累描述網絡的拓撲信息。這允許路由器構建其自己的網絡路由拓撲圖。在接收傳入的數據分組之后,路由器檢查分組中的鍵控信息并且根據所積累的拓撲信息轉發分組。
[0005]許多路由協議使用基于洪的分發機制來向網絡中的路由器宣布拓撲信息。這些路由協議通常依賴于要求每個路由器具有同步的路由拓撲信息的路由算法。例如,開放式最短路徑優先(OSPF)和中間系統到中間系統(IS-1S)路由協議是使用消息傳送鏈路狀態表示來確保其路由拓撲針對于網絡鏈路相關聯的可用接口、度量和其他變量同步的鏈路狀態協議。例如,OSPF利用鏈路狀態公告(LSA),而IS-1S使用鏈路狀態協議數據單元(TOU)來交換信息。諸如用于根據鏈路狀態協議傳送鏈路狀態表示的消息在這里通常被稱為鏈路狀態公告(LSA),并且OSFP LSA和IS-1S LS PDU是這種LSA的示例。
[0006]無需根據鏈路狀態協議的路由器操作通常通過網絡洪傳輸鏈路狀態公告,使得每個其他路由器接收該鏈路狀態公告。在其中路由器通過點對點連接進行連接的網絡拓撲中,每個路由器向每個接口上可達到的鄰近路由器洪傳輸鏈路狀態公告。在使用多訪問媒體的網絡(諸如,以太網網絡)中,網絡中的路由器向所有其他路由器洪傳輸鏈路狀態公告。在任何一種情況下,接收路由器使用經由鏈路狀態公告接收的信息來構建并維護其自己的網絡拓撲。這些鏈路狀態公告可以包括標識與該鏈路相關聯的成本度量的信息,以及通常被采用于根據鏈路狀態協議選擇通過網絡的路徑的任意其他約束。
[0007]作為一個示例,某些類型的鏈路狀態公告由于需要指定從公告路由器到網絡中其他路由器的每個路由器的鏈路度量可以在大小上相當大。在其中條件快速改變(諸如,無線電、衛星、基于無線的網絡的任意其他形式可能受制于電子干擾)的網絡中,路由器可以生成并發送大量鏈路狀態公告,從而通過非常頻繁地更新各種鏈路度量來公告條件的改變。當生成、處理和發送/接收這些網絡中的鏈路狀態公告時,這些鏈路狀態公告的數目可能潛在地消耗顯著的網絡帶寬,同時還可能消耗顯著的路由器的處理資源。
【發明內容】
[0008]總體上描述了其中鏈路狀態路由協議利用計算機網絡中的兩個部分度量的技術。例如,由路由器通信的鏈路狀態公告根據這里所述的技術傳送表示針對路由器向網絡發送網絡流量的出站成本的出站成本度量,以及表示從網絡接收網絡流量的入站成本的入站成本度量。在某些示例中,針對路由器的入站成本度量和出站成本度量可以在單個鏈路狀態消息中作為兩個部分度量進行通信。所述技術針對包括廣播或非廣播多路訪問網絡(NBMA)的共享訪問網絡尤其有用。
[0009]與利用傳統度量(其在本公開中可以被稱為“一個部分”度量)的鏈路狀態公告相比,此兩個部分度量可以減少需要發送的鏈路狀態公告的數目。如這里所述,當路由器用于向網絡發送流量的出站成本或用于從網絡接收流量的成本變化時,路由器可以僅需要發送鏈路狀態公告,從而更新變化的特定成本。這反過來減少了對待計算的其他路由器的任意影響,并且通過LSA宣布相應更新的成本。因此,兩個部分度量可以在生成鏈路狀態公告同時還簡化這些鏈路度量的公告方面有效地減少鏈路狀態公告的大小(并由此減少網絡帶寬消耗)和開支(在存儲器和處理資源方面),尤其在網絡條件方面可能遇到快速頻繁變化的網絡中。
[0010]在一個示例中,一種方法,包括:根據鏈路狀態協議在耦合至共享訪問網絡的多個路由器之間通信鏈路狀態公告,其中所述鏈路狀態公告指定表示針對所述多個路由器的每個路由器向所述共享訪問網絡發送網絡流量的相應出站成本的出站成本度量集,以及表示針對所述多個路由器的每個路由器從所述共享訪問網絡接收網絡流量的相應入站成本的入站成本度量集,以及基于所述出站成本度量集和所述入站成本度量集執行路徑選擇以選擇通過所述共享訪問網絡的所述路由器的路徑。
[0011]在另一示例中,一種系統,包括:多個路由器,每個路由器包括一個或多個處理器,所述處理器被配置為根據鏈路狀態協議在所述多個路由器之間通信鏈路狀態公告。所述鏈路狀態公告指定表示針對所述多個路由器的每個路由器向所述共享訪問網絡發送網絡流量的相應出站成本的出站成本度量集,以及表示針對所述多個路由器的每個路由器從所述共享訪問網絡接收網絡流量的相應入站成本的入站成本度量集。所述路由器被配置為基于所述出站成本度量集和所述入站成本度量集執行路徑選擇以選擇通過所述共享訪問網絡的所述路由器的路徑
[0012]在另一示例中,一種其上已經存儲有指令的非瞬態計算機可讀存儲介質,當所述指令被執行時,使得多個路由器的一個或多個處理器根據鏈路狀態協議在所述多個路由器之間通信鏈路狀態公告,其中所述鏈路狀態公告指定表示針對所述多個路由器的每個路由器向所述共享訪問網絡發送網絡流量的相應出站成本的出站成本度量集,以及表示針對所述多個路由器的每個路由器從所述共享訪問網絡接收網絡流量的相應入站成本的入站成本度量集,以及基于所述出站成本度量集和所述入站成本度量集執行路徑選擇以選擇通過所述共享訪問網絡的所述路由器的路徑。
[0013]本發明的一個或多個實施方式的細節在下面的附圖及說明中進行闡述。根據以下說明和附圖以及權利要求書將容易理解本發明的其他特征、對象和優勢。
【專利附圖】
【附圖說明】
[0014]圖1是圖示了根據本公開中描述的技術的各方面使用兩部分成本度量操作的示例網絡的框圖。
[0015]圖2是圖示了實現本公開中描述的技術的示例性路由器的框圖。
[0016]圖3A和圖3B是圖示了在實現本公開中描述的技術中網絡設備的示例操作的流程圖。
[0017]圖4是圖示了根據本公開中描述的技術指定兩部分成本度量的示例性鏈路狀態公告(LSA)的框圖。
[0018]圖5是圖示了根據本公開中描述的技術的各方面用兩部分成本度量操作的另一示例網絡的框圖。
【具體實施方式】
[0019]圖1是圖示了根據本公開中描述的技術的各方面使用兩部分成本度量操作的示例網絡10的框圖。在圖1的示例中,網絡10包括若干子網絡,諸如由路由器16A-16D(“路由器16”)互連的子網絡12和子網絡14A-14C( “子網絡14”)。在圖1的示例中,子網絡12表示共享媒體訪問網絡。此外,子網絡14C通過路由器16C和16D通信地耦合至子網絡12,因此可以經由路由器16C和16D從子網絡12接收流量。
[0020]在此示例中,網絡10的路由器16實現鏈路狀態路由協議以在網絡中的端點設備之間交換路由信息并促進分組或其他數據單元的轉發。雖然只有子網絡12被示為共享媒體訪問網絡,但是子網絡14的每個子網絡都可以包括共享媒體訪問網絡或任意其他類型的子網絡。通常,共享訪問子網絡12可以是任意形式的共享訪問網絡,諸如廣播或非廣播多路訪問網絡(NBMA)。作為一個示例,共享訪問子網絡12可以是耦合路由器16的以太網網絡。
[0021]每個路由器16根據鏈路狀態協議操作以交換承載有路由信息的鏈路狀態公告。例如,路由器16可以執行開放式最短路徑優先(OSPF)路由協議或中間系統到中間系統(IS-1S)路由協議,其中每個路由協議是使用鏈路狀態公告來傳送與網絡鏈路相關聯的可用接口、度量和其他變量的示例。例如,OSPF利用鏈路狀態公告(LSA),而IS-1S使用鏈路狀態協議數據單元(rou)來交換信息。
[0022]通常,由路由器16輸出的鏈路狀態公告指定去往網絡10中其他路由器的網絡鏈路以及相關聯的成本度量。基于通信的鏈路狀態公告,路由器16以反映網絡10的拓撲的方式構建圖或其他數據結構。例如,路由器16可以形成圖數據結構,其中圖的每個節點表示不同的路由器16或者共享訪問網絡并且互連圖的兩個節點的每個邊表示對應的兩個路由器16之間或者路由器與共享訪問網絡之間不同的鏈路。圖的每個邊可以與針對每個相關聯的鏈路反映經由LSA公告的成本的成本或其他邊值相關聯。通過常規鏈路狀態路由協議,兩個路由器節點之間的邊具有在兩個方向(即,從節點I到節點2以及從節點2到節點I)上的(可能不同)成本,但是路由器節點與共享訪問網絡節點之間的邊通常只具有用于路由器節點到網絡節點方向的成本。路由器16繼而可以實現路徑選擇算法來針對數據分組的每個源和目的地確定通過網絡的路徑。例如,路由器16可以實現約束最短路徑優先(CSPF)路徑選擇算法來找到從每個節點到每個其他節點的最低成本路徑。
[0023]在執行路徑選擇之后,路由器16根據選定的路徑轉發分組。隨著網絡條件改變(諸如,當一個路由器16變得不可操作時,鏈路下降或者變得過度消耗變慢時),一個或多個路由器16可以檢測網絡條件的變化,計算新的成本度量以及輸出鏈路狀態公告以向其他路由器16通信該改變。路由器16處理鏈路狀態公告以更新其相應的鏈路狀態數據庫,并且基于更新的圖數據結構執行路徑選擇以選擇通過網絡10的新的路徑。
[0024]根據本公開中描述的技術,路由器16根據傳送用于共享訪問網絡的兩個部分度量的鏈路狀態路由協議進行操作。例如,由路由器16通信的鏈路狀態公告根據這里描述的技術傳送表示該路由器用于向網絡發送網絡流量的出站成本20(例如,用于將流量注入子網絡12的成本)的出站成本度量,以及表示用于從網絡接收網絡流量的入站成本21的入站成本度量。在某些示例中,針對給定路由器公告的出站成本度量和入站成本度量可以在單個鏈路狀態消息中作為兩部分度量進行通信。此外,出站成本20和入站成本21可以是針對給定路由器16的相同成本或不同成本,并且可以是針對不同路由器的相同成本或不同成本。
[0025]如這里所述,路由器16可以使用將跨共享訪問網絡的路由器16之間的常規鏈路狀態成本度量劃分成兩個部分的兩個部分成本度量來傳送成本信息,而不是提供針對鏈路的一個部分、總成本度量,其中兩個部分中的一個部分表達給定路由器用于向網絡發送流量的出站成本,而另一部分表達所述路由器用于從網絡接收流量的入站成本。換言之,根據本公開所述的技術提出的成本度量被表示為“兩個部分度量”,這是因為經由共享訪問網絡在兩個路由器之間傳送鏈路成本的傳統一個部分度量被劃分成兩個部分,其中每個部分與流量的不同方向相關聯。
[0026]當路由器(諸如,路由器16A)對共享訪問網絡(諸如,子網絡12)上的不同路由器16具有不同成本度量時,該技術可以尤其有用。不通過使用該技術,路由器16A可能需要在其LSA中列出對共享訪問網絡12上的不同路由器16的單獨成本度量。通過該技術,每個路由器16可能僅需要列出其自己的入站/出站成本度量。例如,為了使用此兩個部分度量來計算通過子網絡12達到任意給定路由器16的成本,每個路由器16可以將其入站成本(即,用于向子網絡12發送流量的成本)與用于從子網絡12向路由器發送流量的出站成本求和,從而有效地計算傳統一個方面度量。
[0027]因此,所述技術可以提供針對減少鏈路狀態公告數目的優勢,并且在成本度量變化時減少網絡10中洪傳輸的量。例如,當路由器16A的出站或入站成本20A變化時,該路由器可能需要僅通知更新成本的其他路由器16,從而生成具有經改變成本的路由器LSA。路由器16A因此可以不需要在其LSA中單獨指定去往路由器16B、16C和16D的不同度量,其反過來也不需要在其路由器LSA中單獨指定去往路由器16A的度量,這是因為其去往和來自網絡的相應出站成本20和入站成本21沒有改變,由此可以大幅度減少需要洪傳輸通過網絡10的LSA數目。因此,路由器16將接收較少的LSA,由此進一步減少處理要求。通過此方式,兩個部分度量的使用可以在生成LSA方面有效地減少LSA的大小(并且由此減少網絡帶寬消耗)和開支(在存儲器和處理資源方面),同時還簡化了這些鏈路度量的公告。這可以尤其用于可以遇到在網絡成本方面快速頻繁變化的共享訪問網絡,諸如其中至少某些通信由衛星或其他移動網絡設施承載的網絡。
[0028]在操作中,路由器16中的一個路由器(諸如,路由器16A)可以通過任意數目的方式確定出站成本度量20A。作為一個示例,路由器16A可以使用用于成本計算的參考帶寬,從而通過測量的接口帶寬來劃分此參考帶寬。該參考帶寬可以被配置或確定,或者預先定義。共同參考帶寬可以例如是每秒100兆比特(Mbps)。類似地,路由器16A可以確定標識由從網絡接收的去往路由器16A的流量引發的成本的入站成本度量20B,并且可以公告出站成本20A和入站成本20B,從而在某些情況下將成本20A和成本20B的每個成本指定為路由器LSA的單獨類型程度值(TLV)字段中的單獨成本。
[0029]從鏈路狀態公告承載的度量,每個路由器16可以確定從每個路由器16到子網絡12的每個出站成本20以及從子網絡12到每個路由器16的每個入站成本21。當執行路徑選擇時,每個路由器16可以計算路由器16的任意配對之間的總成本度量。為了說明,路由器16A可以根據從路由器16A到子網絡12的出站成本度量20A和從子網絡12到路由器16C的入站成本度量21C來計算從路由器16A到路由器16C的總成本度量。類似地,路由器16A可以根據從路由器16A到子網絡12的出站成本度量20A和從子網絡12到路由器16D的入站成本度量21D來計算從路由器16A到路由器16D的總成本度量。作為一個示例,路由器16A可以將出站成本度量20A和入站成本度量2IC求和以導出從路由器16A到路由器16C的總成本度量。雖然被描述為第一成本度量與第二成本度量的相加,但是該技術可以針對更多涉及的數學計算執行以導出總成本度量。
[0030]在此路徑選擇過程期間,路由器16A可以至少部分基于從路由器16A到路由器16C路徑的總成本度量以及從路由器16A到路由器16D路徑的總成本度量來選擇路徑以達到子網絡14C。為了說明起見,假設從路由器16A到路由器16C的路徑比從路由器16A到路由器16D的路徑具有更大的總成本度量,路由器16A可以執行路徑選擇以選擇從路由器16A到路由器16D的路徑,這是因為該路徑具有更低的成本。在選擇路徑之后,路由器16可以將所述路徑(以被稱作“轉發信息”的形式)編程或者提供到路由器16的接口,使得所述接口可以使用被選定的路徑路由分組。
[0031]通過此方式,鏈路狀態公告可以指定表示針對多個路由器的每個路由器用于向共享訪問網絡通信網絡流量的相應出站成本的出站成本度量集,以及表示針對多個路由器的每個路由器用于從共享訪問網絡接收網絡流量的相應入站成本的入站成本度量集。即,每個路由器16可以生成單獨LSA,用于指定針對路由器16中相應路由器的對應出站成本度量和/或針對路由器16中相應路由器的入站成本度量。在某些示例中,每個路由器16可以生成單個LSA,用于指定針對路由器16中相應路由器的對應出站成本度量和針對路由器16中相應路由器的入站成本度量。為了說明,路由器16A可以生成指定出站成本度量20A和入站成本度量21A的LSA。路由器16B可以生成指定出站成本度量20B和入站成本度量21B的LSA。路由器16C可以生成指定出站成本度量20C和入站成本度量21C的LSA。路由器16D可以生成指定出站成本度量20D和入站成本度量21D的LSA。雖然上文描述為在單個LSA中指定成本20和成本21兩者,但是每個路由器16可以生成指定針對路由器16中相應路由器的對應出站成本度量的第一 LSA,然后生成針對路由器16中相應路由器的入站成本度量的第二不同LSA。
[0032]路由器16繼而可以基于出站成本度量集20A-20D和入站成本度量集21A-21D來執行路徑選擇以選擇子網絡的路由器之間的路徑。即,每個路由器16可以計算通過網絡去往每個其他路由器16的每個路徑的總成本度量。路由器16A例如可以通過將出站成本度量20A與入站成本度量21B相加來計算去往路由器16B的總成本度量。路由器16A還可以通過將出站成本度量20A與入站成本度量21C相加來計算去往路由器16C的總成本度量。路由器16A還可以通過將出站成本度量20A與入站成本度量21D相加來計算去往路由器16D的總成本度量。為了達到子網絡14C,路由器16A可以選擇去往路由器16C的路徑或者去往路由器16D的路徑,從而選擇具有最低總成本度量的路徑。
[0033]雖然為了便于說明針對OSPF描述了本公開的各部分,但是所述技術還可以在IS-1S或任意其他鏈路狀態協議的上下文中執行。
[0034]圖2是圖示了執行本公開中所述技術的各方面的示例性路由器30的框圖。路由器30可以表示圖1示例中所示路由器16中的一個路由器。雖然針對路由器30進行描述,但是所述技術可以由能夠實現鏈路狀態協議(諸如,IS-1S路由協議或OSPF路由協議)的任意其他類型的網絡設備實現。因此,雖然針對路由器30進行描述,但是所述技術應當不限于針對圖2示例所述的示例性路由器30。
[0035]在圖2的示例中,路由器30包括接口卡32A_32N( “IFC 32”),所述接口卡分別經由網絡鏈路34A-34N和36A-36N接收和發送數據單元(諸如,分組流)。路由器30可以包括具有用于接收卡集(包括IFC 32)的若干插槽的機架(未示出)。每個卡可以被插入機架的對應插槽,用于經由高速交換機40和內部數據路徑42A-42N( “內部數據路徑42”)將所述卡電耦合至路由引擎38。
[0036]交換機40還提供每個IFC 32之間的互連路徑。交換機40可以包括例如交換結構、交換裝置、可配置的網絡交換機或集線器、或者其他高速交換機制。內部數據路徑42可以包括任意形式的通信路徑,諸如集成電路中的電路徑、外部數據總線、光鏈路、網絡連接、無線連接或其他通信路徑。IFC 32可以經由若干物理接口端口(未示出)被耦合至網絡鏈路34A-34N和36A-36N。通常,IFC 32可以各自表示一個或多個網絡接口,通過所述網絡接口,路由器30可以與網絡的鏈路(諸如,圖1示例中所示子網絡12的鏈路)對接。
[0037]通常,路由引擎38作為路由器30的控制單元進行操作。路由引擎38可以包括處理器、可編程處理器、通用處理器、集成電路、專用集成電路(ASIC)、現場可編程門陣列(FPGA)或能夠實現這里所述技術的任意類型的硬件單元的一個或多個。路由引擎38可以進一步包括非瞬態計算機可讀介質或其他計算機可讀存儲設備,其可以包括動態存儲器(例如,隨機訪問存儲器或RAM、動態RAM或DRAM和高速緩存)和/或靜態存儲器(例如,靜態RAM或SRAM、只讀存儲器或ROM和閃存),以及存儲設備,諸如壓縮盤ROM或CDR0M、硬驅動、RAM驅動和數字視頻盤(DVD)驅動。在某些實例中,計算機可讀存儲介質可以包括或者存儲當被執行時使得可編程處理器執行這里所述技術的指令。這些指令可以形成計算機程序,其可以包括軟件或其他可執行文件。
[0038]路由引擎38可以進一步包括用戶接口(UI)模塊44( “Π模塊44”)和一個或多個鏈路狀態協議模塊46A-46N( “鏈路狀態協議模塊46”)。UI模塊44可以表示呈現用戶接口的模塊,通過該用戶接口,管理員或其他用戶(諸如管理員39( “管理員39”))可以交互以總體上配置一個或多個鏈路狀態協議模塊46以及路由引擎38。如圖2示例中所示,鏈路狀態協議模塊46可以包括OSPF模塊46A、IS-1S模塊46N和任意其他鏈路狀態協議。OSPF模塊46A表示根據以下文獻中的一個或多個來實現OSPF路由協議的模塊,所述文獻是由J.Moy在1998年4月出版的名稱為“OSPF Vers1n 2”的RFC 2328,由R.Coltun等人在2008年7月出版的名稱為“OSPF for IPv6”的RFC 5340,由N.Sheth等人在2013年I月出版的名稱為“OSPF Hybrid Broadcast and Point-to-Multipoint Interface Type”的RFC6845,以及由 A.Lindem 等人在 2013 年 7 月出版的名稱為“0SPFv3 LSA Extendibility^^針對網絡工作組的因特網草案,其中每個文獻通過引用將其整體并入于此。IS-1S模塊46N根據以下文獻來實現IS-1S路由協議,所述文獻是由D.0ran在1990年出版的名稱為“0SIIS-1S Intra-domain Routing Protocol”的 IS-1S RFC 1142,其通過引用將其整體并入于此。
[0039]路由引擎38可以進一步包括并維護鏈路狀態數據庫50,該鏈路狀態數據庫50存儲LSA以及用于標識或者確定網絡拓撲的任意其他信息或數據。鏈路狀態協議模塊46可以更新鏈路狀態數據庫50或者存儲指定網絡鏈路的數據,包括關于這些鏈路的特性,諸如各種成本及其他度量。路由引擎38可以通過一個或多個表、數據庫、鏈接列表、基數樹、數據庫、平面文件、圖或任意其他數據結構的形式維護鏈路狀態數據庫50。基于鏈路狀態數據庫50,路由引擎38生成針對IFC 32的轉發信息52A_52N( “轉發信息52”)。
[0040]每個IFC 32包括根據路由引擎38生成的轉發信息52轉發分組的轉發組件(未示出)。具體地,IFC 32的轉發組件基于轉發信息52確定針對每個入站IP分組(其可以與MPLS分組區分,因為這些IP分組不包括標簽棧)的下一跳,標識IFC 32中與該下一跳相關聯的對應IFC 32,以及經由交換機40和對應的數據路徑42將分組中繼到適當的IFC32。雖然上文描述為分立模塊44-48,但是所述模塊可以被組合以形成單個模塊或單元或者可以單獨實現為不同的硬件或軟件單元。對單獨模塊的引用并不意味著反映真實分立實現并且不僅僅是一個模塊可以由相同硬件或硬件或軟件的組合實現。
[0041]最初,管理員39可以與由Π模塊44呈現的用戶接口(諸如命令行接口(CLI)或圖形用戶接口(GUI))對接以配置一個或多個鏈路狀態協議模塊46。例如,管理員39可以與用戶接口對接以指示OSPF模塊46A使用根據本公開所述技術的各方面提供的兩個部分度量。在配置一個或多個協議46之后,管理員39還可以與用戶接口對接以輸入將一個或多個鏈路與成本或度量相關聯的鏈路數據。在某些示例中,當被稱作非對稱成本度量(意味著從路由器到網絡的成本度量不同于從網絡到路由器的成本度量)需要或優選時,管理員36可以與用戶接口對接以指定這兩種成本度量。Π模塊44可以將此鏈路數據存儲到鏈路狀態數據庫50作為新的條目,或者可以基于該輸入鏈路數據來更新鏈路狀態數據庫50以向對應鏈路反映由此鏈路數據定義的新的度量或成本。
[0042]在通過此方式配置路由引擎38之后,管理員39繼而可以激活或者使得路由器30能夠開始處理分組,諸如根據轉發信息52轉發的標準IP分組。在接收這些分組之前,一個或多個模塊46可以生成LSA 56,該LSA 56包括類似于OSPF上下文中鏈路類型2的鏈路。新的類型指示子網絡12正使用根據本公開所述技術的各方面定義的兩個部分度量。此外,正如常規鏈路狀態協議LSA 56可以包括更多的鏈路。
[0043]例如,OSPF模塊46A可以生成LSA 56以包括用于從路由器30向子網絡12發送流量的出站成本以及用于從子網絡12接收流量的入站成本兩者。在某些實例中,LSA 56可以僅指定從路由器30到子網絡12的成本,其中從子網絡12到路由器30的成本被假設與從路由器30到子網絡12的成本相同。在這些及其他示例中,子網絡12被配置為廣播網絡或NBMA網絡而不是使用上文并入RFC 6845中闡述的混合接口類型,其中路由器30及更具體地OSPF 46A可以不再列出去往路由器LSA中指定的每個鄰居的單獨度量。在此示例中,路由器LSA可以利用本公開中所述的技術指定去往子網絡12的單個鏈路。相反,當將接口作為混合接口類型對待時,沒有實現本公開中所述的技術的路由器通常列出去往每個其他路由器16的成本度量。
[0044]根據本公開的技術,OSPF 46A可以生成LSA 56,該LSA 56不再列出去往每個其他路由器16的每個連接的成本度量,但是可以僅指定具有度量的鏈路,該度量表示從路由器30到子網絡12/從子網絡12的對稱出站度量,或者在非對稱度量的情況下,表示從路由器30到子網絡12的鏈路出站度量20A和從子網絡20A到路由器30的入站鏈路度量20B。在0SPFv3中,路由器LSA 56可以在附加類型長度值(TLV)字段中指定來自網絡的非對稱入站度量,同時使用普通成本度量字段來指定從路由器30到子網絡12的出站成本。針對0SPFv2,服務類型(TOS)度量字段可以用于指定從子網絡12到路由器30的成本(并且普通成本度量字段可以用于指定從路由器30到子網絡12的成本)。雖然在TOS度量字段的上下文中描述,但是所述技術可以針對包括被稱作多拓撲(MT)度量的其他類型的字段進行執行。
[0045]路由器30還可以經由IFC 32從其他路由器16接收LSA。IFC 32可以被配置為經由交換機40向路由引擎38轉發路由協議分組或控制分組(諸如這些接收的LSA)。鏈路狀態協議模塊46繼而可以處理這些LSA,其中這些LSA中的一個或多個LSA可以包括兩個部分成本度量。鏈路狀態協議模塊46之一繼而存儲公告的鏈路,包括其去往鏈路狀態數據庫50的成本和其他信息。
[0046]響應于更新鏈路狀態數據庫50,鏈路狀態協議模塊46之一可以調用SPF模塊58,該SPF模塊58分解其鏈路狀態數據庫50中的對應部分以生成轉發信息52。鏈路狀態協議模塊46之一繼而可以通過新分解的轉發信息配置或者更新IFC 32。IFC 32可以根據轉發信息52繼續接收并轉發IP分組。
[0047]在轉發分組時,一個或多個IFC 32可以調用或者執行接口監測模塊54。接口監測模塊54可以表示如下模塊,該模塊監測IFC 32A的接口以經由每個鏈路(通常通過測量帶寬)來標識通信容量的變化。當變化超出閾值時,作為一個示例,接口監測模塊54可以與一個或多個鏈路狀態協議模塊46對接以指示或者指定特定鏈路具有超出閾值降級的通信降級。一個或多個鏈路狀態協議模塊46繼而可以生成路由器LSA 56,該路由器LSA 56指示從子網絡12到路由器30的成本度量已經針對標識鏈路改變(并且可能指示從路由器30到子網絡12的成本度量已經改變)。
[0048]同樣地,路由器30可以接收具有這兩個部分度量的LSA 56,調用SPF模塊58以分解鏈路狀態數據庫50。作為SPF處理的一部分,SPF模塊58可以計算向一個路由器16發送LSA 56的總成本度量,更新鏈路狀態數據庫50以包括此新計算的總成本度量,生成更新的轉發信息52并且將此轉發信息52安裝在IFC 32中。路由器30繼而可以根據此新安裝的轉發信息52開始路由分組。路由器30可以繼續監測一個或多個IFC 32被耦合到的鏈路,從而生成LSA 56并且接收與LSA 56類似的LSA。
[0049]圖3A和圖3B是圖示了在實現本公開中描述的技術中網絡設備(諸如圖2示例中所示的路由器30)的示例操作的流程圖。最初,首先參考圖3A中所示的示例操作,路由器30的UI模塊44呈現管理員39與之對接的用戶接口以輸入兩個部分成本度量,該兩個部分成本度量可以包括從路由器30到子網絡12的成本和/或從子網絡12到路由器30的成本(70)。Π模塊44接收此兩個部分度量(72)。
[0050]作為響應,鏈路狀態協議模塊可以生成并傳輸LSA 56,在此示例中,該LSA 56公告由兩個部分度量更新的鏈路(76、78)。
[0051]在操作中,路由器30可以從具有鏈路狀態信息的其他路由器16接收路由器LSA(80)。在接收路由器LSA( “是”80)之后,路由器30的路由引擎38可以調用適當的鏈路狀態協議模塊46,該鏈路狀態協議模塊46解析所接收的路由LSA以標識公告的鏈路以及與該公告的鏈路相關聯的任意其他成本或度量(包括兩個部分度量)(82)。當解析此接收的路由器LSA時,鏈路狀態協議模塊46可以解析該兩個部分度量并且基于該解析的兩個部分度量來計算相關聯鏈路的總成本度量(82、84)。參考圖3B,鏈路狀態協議模塊46繼而可以更新鏈路狀態數據庫50中的鏈路以基于經計算的總成本度量來更新相關聯鏈路的成本度量(90)。
[0052]響應于更新鏈路狀態數據庫50 (或者在某些實例中周期性地),鏈路狀態協議模塊46之一可以調用SPF 58來分解鏈路狀態數據庫50以確定經更新的轉發信息52并且通過經更新的轉發信息52來更新IFC 32 (92,94) 0 IFC 32繼而可以根據經更新的轉發信息52來接收并轉發分組。
[0053]在某些實例中,鏈路狀態協議模塊46之一可以不接收LSA( “否”86),因此該鏈路狀態協議模塊46之一可以調用SPF模塊58來分解鏈路狀態數據庫50并且由此確定轉發信息52 (假設鏈路狀態數據庫50由鏈路數據更新)(92)。SPF模塊58繼而可以通過此更新的轉發信息52來更新IFC 32,因此IFC 32根據更新的轉發信息來接收并轉發分組(94、96)。當轉發分組時,IFC 32可以調用鏈路監測模塊54,該鏈路監測模塊54可以監測路由器30與之耦合的鏈路(98)。響應于檢測鏈路中的變化(“是”100),鏈路監測模塊54可以與一個或多個鏈路狀態協議模塊46對接以通知這些一個或多個鏈路狀態協議模塊46的變化。該一個或多個鏈路狀態協議模塊46繼而可以確定對應鏈路的兩個部分度量(102),生成路由器LSA56以向該鏈路宣布此更新(例如,兩個部分度量中的變化)(76),以及傳輸此路由器 LSA 56(78)。
[0054]路由器30可以繼續通過此方式操作,通過向更新的鏈路狀態數據庫50傳輸并接收LSA,執行路徑選擇以生成用于控制轉發分組的轉發信息52。
[0055]圖4是圖示了根據本公開中描述的技術包括兩部分度量的示例性鏈路狀態公告(LSA) 110的框圖。此外,如圖4示例中所示,LSAllO可以遵守OSPF協議,因為其按照由OSPF協議指定的四字節寬度限制。即,LSA 110包括四字節行集合,如圖4中由在LSA 110頂部所示針對每個行的0-31比特范圍所反映。不透明的OSPF LSA的格式的更多細節可以在通過引用并入于此的RCE 5250,因特網工程任務組(IETF)2008年7月找到。雖然針對OSPF路由協議描述,但是所述技術可以針對任意其他鏈路狀態協議(諸如IS-1S路由協議)類似地實現。
[0056]如圖4中所示,LSA 110包括LSA報頭112。LSA報頭112包括LSA年齡字段114A( “LSA年齡114A”)、選項字段114B( “選項114B”)、LS類型字段114C( “LS類型114C”)、鏈路狀態標識符字段114D( “鏈路狀態ID 114D”)、公告路由器字段114F( “公告路由器114F”)、鏈路狀態序列號字段114G(“LS序列號114G”)、鏈路狀態校驗和字段114H(“LS校驗和114H”)和長度字段1141 ( “長度1141”)。雖然顯示為包括字段114A-114I ( “字段114”),但是LSA報頭112可以包括與圖4所示字段更多或更少的字段114。
[0057]LS年齡字段114A通常以秒指定LSA 110的年齡,并且用于在其相應LS序列號字段114F中指定相同LSA序列號的兩個LSA之間進行區分。選項字段114B可以指定哪些可選容量與LSA 110相關聯。LS類型字段114C指示LSA 110的格式和功能,S卩,LSA的類型。LSA類型字段114C可以指定值I用于指示此為路由器LSA。鏈路狀態ID字段114D通常標識路由域中正被LSA 110描述的一部分。公告路由器字段114E可以指定LSA 110的發起者的OSPF路由器標識符。LS序列號字段114F可以包括OSPF模塊用于檢測舊的并且復制的LSA的帶符號的32位整數。LS校驗和字段114G可以指示LSA伴隨LSA報頭112是否包含誤差,該誤差可以被采用于丟棄可能錯誤的LSA 110。長度字段114H指示LSA 110的長度。關于通用OSPF和OSPF LSA的報頭的更多信息可以在名稱為“Traffic Engineering(TE)Extens1ns to OSPF Vers1n 2”的RFC 3630中找到,其全部內容通過引用并入于此。
[0058]針對路由器LSA 110,報頭112還可以包括比特選項字段114J和鏈路數目字段114K。比特選項字段114J可以指定用于指示該路由器是否為具有所述區域為“運輸”區域的一個或多個全面鄰近虛擬鏈路的終端,公告路由器是自治系統邊界路由器以及/或者路由器是區域邊界路由器的一個或多個比特。鏈路數目字段114K可以指定在此LSA中描述的路由器鏈路數目(其通常是去往區域的路由器鏈路(在某些實例中意味著接口)的總集合)。
[0059]LSA 110還包括附加字段集118。字段集118表示鏈路或接口字段。字段集118包括鏈路標識符(ID)字段120A、鏈路數據字段120B、類型字段120C、服務類型(TOS)數目字段120D、度量字段120E、TOS (逆向度量)字段120F和另一度量120G。
[0060]鏈路ID字段120A標識此路由器鏈路與之連接的對象,其中該值取決于鏈路的類型(例如在TLV 118的對應類型字段120C中指定)。鏈路數據字段120B可以表示指定取決于鏈路類型字段的值的字段。作為一個示例,鏈路數據字段120B可以指定路由器接口的IP地址。數目TOS字段120D可以指定給予此鏈路的不同TOS度量的數目,而不計算所需的鏈路度量。如果沒有給出附加TOS度量,則此字段120D被設置為O。當指定逆向度量時(意味著表示從網絡到公告路由器的成本的度量),數目TOS字段120D可以指定值I或者能夠存儲到數目TOS字段120D的任意其他值。度量字段120E表示存儲使用此路由器鏈路的成本的字段。如上文所述,當此數目TOS字段120D被設置為非零的任意值時,TOS字段120F可以指定指示在對應度量字段120G中指定的值。在此示例中,TOS字段120F可以指定值用于指示度量字段120G存儲以“逆向”方向使用此路由器鏈路的成本,在此示例中可以指的是從網絡到公告路由器的成本。度量字段120G繼而可以指定此逆向方向成本。
[0061]雖然上文針對OSPF LSA 110進行描述,但是IS-1S格式的鏈路狀態協議數據單元(rou)(其可以被縮寫為LSP)可以在結構上類似于OSPF LSA 110,除了定義用于流量工程度量TLV和接口輸入成本度量TLV的類型的不同值。IS-1S TLV的格式和通用結構可以在由 T.Li 等人在 2008 年 10 月出版的名稱為“ IS-1S Extens1ns for Traffic Engineering”的RFC 5305以及由K.Kompella等人在2008年10月出版的名稱為“IS-1S Extens1ns inSupport of Generalized Mult1-Protocol Label Switching(GMPLS) ” 的 RFC 5307,其全部內容通過引用并入于此。
[0062]圖5是圖示了可以實現本公開中描述的技術的各方面的另一網絡130的框圖。網絡130包括操作為共享多路訪問網絡的子網絡132,其包括路由器134A-134N( “路由器134”)經由衛星碟設備138A-138N(“衛星碟138”)的相應衛星碟設備與其耦合的衛星136。路由器134可以實質上類似于圖1和圖2示例中所示的路由器16和30。每個衛星碟138能夠(可能同時)與子網絡132的衛星136通信。
[0063]這里所述技術可以尤其適用于減少網絡130中洪傳輸的LSA的數目,這是由于與經由衛星136轉發流量相關聯的成本變化。具有用于轉發流量的基于衛星的基礎設施的網絡(諸如網絡130)可以遇到單獨傳輸鏈路中的顯著變化,尤其在路由器134可以是移動的,并且因此在建筑物或其他障礙物(諸如山脈)之后移動或者移動通過其他地理障礙(諸如山谷)的情況下,這可以降級通常需要用于與衛星通信的視線信號。因此,路由器134可以遇到與衛星136的變化通信容量,通常導致路由器134與衛星136之間通信容量的快速幾何恒定的變化。通過利用這里所述的技術,每個路由器134可以發出僅宣布變化的入站成本143A-143N( “入站成本度量143”)或出站成本度量142A_142N( “出站成本度量142”)的鏈路狀態公告以經由子網絡132通信,其可以反過來減少子網絡132(并且更通用的網絡130)中洪傳輸的全部LSA和更新的數目。
[0064]在此共享的多路訪問子網絡環境中,路由器134可以根據上文所述技術使用兩個部分度量以潛在地大幅度減少LSA數目和每個LSA的大小。S卩,路由器134可以各自公告針對向子網132發送流量的出站成本度量142和針對從子網132接收流量的入站成本度量143。路由器134A可以經由此示例中的上行鏈路對接以與子網絡132通信,因此可以通過LSA的方式公告出站成本度量142A和入站成本度量143A。路由器134A繼而可以生成與圖4示例中所示路由器LSA 110類似的路由器LSA,并且將此路由器LSA洪傳輸至每個其他路由器134。在此基于衛星的共享訪問網絡配置中,所示技術可以減少需要發送的LSA的數目和大小,尤其在一個或多個路由器134正被移動或者遇到鏈路容量的(在帶寬方面)快速變化的情況下。
[0065]如上文針對圖1所述,路由器134A可以標識去往子網絡140A的兩個路徑,其中一個路徑通過路由器134M而另一個路徑通過路由器134N。路由器134A可以基于出站成本142A和去往路由器134M的入站成本143M來計算通過路由器134M的路徑的第一總成本度量。路由器134A還可以基于來自路由器134A的出站成本142A和入站成本143N計算通過路由器134N的路徑的第二總成本度量。路由器134A繼而可以基于第一總成本度量和第二總成本度量來選擇這些路徑中的一個路徑。響應于對路由器134A的出站成本142A的變化,路由器134A可以生成路由器LSA以向其他路由器134通知此成本變化并且重新計算用于這些路徑中的每個路徑的總成本度量。通過此方式,所述技術可以響應于成本度量的變化來減少可能需要發送的路由器LSA的數目和大小。
[0066]本公開中描述的技術可以至少部分以硬件、軟件、固件或其任意組合實現。例如,所述技術的各方面可以在一個或多個處理器中實現,包括一個或多個微處理器、數字信號處理器(DSP)、專用集成電路(ASIC)、現場可編程門陣列(FPGA)或者任意其他等價集成或分立邏輯電路,以及此類組件的任意組合。術語“處理器”或“處理單元”通常可以指任意上述邏輯電路,單獨或與其他邏輯電路組合,或者任意其他等價電路。包括硬件的控制單元還可以執行本公開的一個或多個技術。
[0067]此類硬件、軟件和固件可以在相同設備或者分離設備中實現,用于支持本公開中描述的各種操作和功能。另外,任意所述單元、模塊或組件可以作為分立但彼此協作的邏輯設備一起或單獨實現。將不同特征描繪為模塊或單元旨在突出顯示不同的功能方面,并不意味著此類模塊或單元必須由單獨的硬件或軟件組件來實現。當然,與一個或多個模塊或單元相關聯的功能可以由單獨的硬件或軟件組件執行,或者集成在共同或單獨的硬件或軟件組件中。
[0068]本公開中描述的技術還可以體現或編碼在包含指令的計算機可讀介質中,諸如計算機可讀存儲介質。計算機可讀介質中體現或編碼的指令可以使得可編程處理器或其他處理器例如在執行指令時執行所述方法。計算機可讀介質可以包括非瞬態計算機可讀存儲介質以及瞬態通信介質。作為有形非瞬態的計算機可讀存儲介質可以包括隨機訪問存儲器(RAM)、只讀存儲器(ROM)、可編程只讀存儲器(PROM)、可擦除可編程只讀存儲器(EPROM)、電可擦除可編程只讀存儲器(EEPROM)、閃存、硬盤、⑶-ROM、軟盤、卡帶、磁介質、光介質或其他計算機可讀存儲介質。應當理解,術語“計算機可讀存儲介質”是指物理存儲介質,而不是信號、載波或其他瞬態介質。
[0069]除了上述內容之外或備選地,對以下示例進行描述。在以下任意示例中所描述的特征可以結合本文所描述的任意其他示例利用。
[0070]示例I。一種方法,包括根據鏈路狀態協議在耦合至共享訪問網絡的多個路由器之間通信鏈路狀態公告,其中所述鏈路狀態公告指定表示針對所述多個路由器的每個路由器向所述共享訪問網絡發送網絡流量的相應出站成本的出站成本度量集,以及表示針對所述多個路由器的每個路由器從所述共享訪問網絡接收網絡流量的相應入站成本的入站成本度量集,以及基于所述出站成本度量集和所述入站成本度量集執行路徑選擇以選擇通過所述共享訪問網絡的所述路由器的路徑。
[0071]示例2。根據示例I所述的方法,其中所述多個路由器的每個路由器在單個LSA中通信所述出站成本度量集中的其相應出站成本度量以及所述入站成本度量集中的其相應入站成本度量。
[0072]示例3。根據示例I所述的方法,其中執行路徑選擇包括通過所述多個路由器的至少第一路由器基于針對所述多個路由器的所述第一路由器的所述出站成本度量中的一個出站成本度量以及針對所述多個路由器的第二路由器的所述入站成本度量中的一個入站成本度量來計算從所述多個路由器的所述第一路由器通過所述多個路由器的所述第二路由器的總成本度量,以及通過所述多個路由器的所述第一路由器基于所計算的總成本度量來選擇從所述多個路由器的所述第一路由器通過所述多個路由器的所述第二路由器的路徑。
[0073]示例4。根據示例I所述的方法,其中通信所述鏈路狀態公告包括通過所述多個路由器的第一路由器傳輸所述鏈路狀態公告中的一個鏈路狀態公告,其使用所述鏈路狀態公告中的所述一個鏈路狀態公告的單個字段來指定表示從所述多個路由器的所述第一路由器到所述共享訪問網絡的所述出站成本的一個出站成本的所述出站成本度量的一個出站成本度量以及表示從所述多個路由器的所述第一路由器到所述共享訪問網絡的所述入站成本的一個入站成本的所述入站成本度量的一個入站成本度量。
[0074]示例5。根據示例I所述的方法,其中所述鏈路狀態公告的所述一個鏈路狀態公告的所述單個字段存儲所述出站成本度量的第一出站成本度量而不存儲所述入站成本度量的對應第一入站成本度量,其中所述出站成本度量指定所述出站成本度量的所述第一出站成本度量以及所述入站成本度量的所述對應第一入站成本度量。
[0075]示例6。根據示例I所述的方法,其中通信所述鏈路狀態公告包括通過所述多個路由器的第一路由器傳輸所述鏈路狀態公告中的一個鏈路狀態公告,其在所述鏈路狀態公告中的所述一個鏈路狀態公告的第一字段中指定表示從所述多個路由器的所述第一路由器到所述共享訪問網絡的所述出站成本的一個出站成本的所述出站成本度量的一個出站成本度量以及在不同于所述第一字段的所述鏈路狀態公告中的所述一個鏈路狀態公告的第二字段中表示從所述多個路由器的所述第一路由器到所述共享訪問網絡的所述入站成本的一個入站成本的所述入站成本度量的一個入站成本度量。
[0076]示例7。根據示例I所述的方法,其中通信所述鏈路狀態公告包括通過所述多個路由器的第一路由器接收所述鏈路狀態公告中的一個鏈路狀態公告,其在所述鏈路狀態公告中的所述一個鏈路狀態公告的第一字段中指定表示從所述多個路由器的第二路由器到所述共享訪問網絡的所述出站成本的一個出站成本的所述出站成本度量的一個出站成本度量以及在不同于所述第一字段的所述鏈路狀態公告中的所述一個鏈路狀態公告的第二字段中表示從所述多個路由器的所述第二路由器到所述共享訪問網絡的所述入站成本的一個入站成本的所述入站成本度量的一個入站成本度量。
[0077]示例8。根據示例I所述的方法,進一步包括公告所述共享訪問網絡通過公告所述第一成本度量和所述第二成本度量進行操作或者所述共享訪問網絡通過公告所述總成本度量進行操作。
[0078]示例9。根據示例I所述的方法,其中所述共享訪問網絡包括廣播網絡或者非廣播多路訪問網絡。
[0079]示例10。根據示例I所述的方法,其中所述鏈路狀態路由協議包括開放式最短路徑優先(OSPF)路由協議或中間系統到中間系統(IS-1S)路由協議。
[0080]示例11。一種系統,包括多個路由器,其中每個路由器包括一個或多個處理器,所述處理器被配置為根據鏈路狀態協議在所述多個路由器之間通信鏈路狀態公告,其中所述鏈路狀態公告指定表示針對所述多個路由器的每個路由器向所述共享訪問網絡發送網絡流量的相應出站成本的出站成本度量集,以及表示針對所述多個路由器的每個路由器從所述共享訪問網絡接收網絡流量的相應入站成本的入站成本度量集,以及其中所述路由器被配置為基于所述出站成本度量集和所述入站成本度量集執行路徑選擇以選擇通過所述共享訪問網絡的所述路由器的路徑。
[0081]示例12。根據示例11所述的系統,其中所述多個路由器的每個路由器在單個LSA中通信所述出站成本度量集中的其相應出站成本度量以及所述入站成本度量集中的其相應入站成本度量。
[0082]示例13。根據示例11所述的系統,所述多個路由器的至少一個路由器被進一步配置為當執行路徑選擇時基于針對所述多個路由器的所述第一路由器的所述出站成本度量中的一個出站成本度量以及針對所述多個路由器的第二路由器的所述入站成本度量中的一個入站成本度量來計算從所述多個路由器的所述第一路由器通過所述多個路由器的所述第二路由器的總成本度量,以及基于所計算的總成本度量來選擇從所述多個路由器的所述第一路由器通過所述多個路由器的所述第二路由器的路徑。
[0083]示例14。根據示例11所述的系統,所述多個路由器的至少一個路由器被進一步配置為當通信所述鏈路狀態公告時傳輸所述鏈路狀態公告中的一個鏈路狀態公告,其使用所述鏈路狀態公告中的所述一個鏈路狀態公告的單個字段來指定表示從所述多個路由器的所述第一路由器到所述共享訪問網絡的所述出站成本的一個出站成本的所述出站成本度量的一個出站成本度量以及表示從所述多個路由器的所述第一路由器到所述共享訪問網絡的所述入站成本的一個入站成本的所述入站成本度量的一個入站成本度量。
[0084]示例15。根據示例11所述的系統,其中所述鏈路狀態公告的所述一個鏈路狀態公告的所述單個字段存儲所述出站成本度量的第一出站成本度量而不存儲所述入站成本度量的對應第一入站成本度量,其中所述出站成本度量指定所述出站成本度量的所述第一出站成本度量以及所述入站成本度量的所述對應第一入站成本度量。
[0085]示例16。根據示例11所述的系統,所述多個路由器的至少一個路由器被進一步配置為當通信所述鏈路狀態公告時傳輸所述鏈路狀態公告中的一個鏈路狀態公告,其在所述鏈路狀態公告中的所述一個鏈路狀態公告的第一字段中指定表示從所述多個路由器的所述第一路由器到所述共享訪問網絡的所述出站成本的一個出站成本的所述出站成本度量的一個出站成本度量以及在不同于所述第一字段的所述鏈路狀態公告中的所述一個鏈路狀態公告的第二字段中表示從所述多個路由器的所述第一路由器到所述共享訪問網絡的所述入站成本的一個入站成本的所述入站成本度量的一個入站成本度量。
[0086]示例17。根據示例11所述的系統,所述多個路由器的至少一個路由器被進一步配置為當通信所述鏈路狀態公告時接收所述鏈路狀態公告中的一個鏈路狀態公告,其在所述鏈路狀態公告中的所述一個鏈路狀態公告的第一字段中指定表示從所述多個路由器的第二路由器到所述共享訪問網絡的所述出站成本的一個出站成本的所述出站成本度量的一個出站成本度量以及在不同于所述第一字段的所述鏈路狀態公告中的所述一個鏈路狀態公告的第二字段中表示從所述多個路由器的所述第二路由器到所述共享訪問網絡的所述入站成本的一個入站成本的所述入站成本度量的一個入站成本度量。
[0087]示例18。根據示例11所述的系統,其中所述多個路由器的至少一個路由器被進一步配置為公告所述共享訪問網絡通過公告所述第一成本度量和所述第二成本度量進行操作或者所述共享訪問網絡通過公告所述總成本度量進行操作。
[0088]示例19。根據示例11所述的系統,其中所述共享訪問網絡包括廣播網絡或者非廣播多路訪問網絡。
[0089]示例20。根據示例11所述的系統,其中所述鏈路狀態路由協議包括開放式最短路徑優先(OSPF)路由協議或中間系統到中間系統(IS-1S)路由協議。
[0090]示例21。一種其上已經存儲有指令的非瞬態計算機可讀存儲介質,當所述指令被執行時,使得多個路由器的一個或多個處理器根據鏈路狀態協議在所述多個路由器之間通信鏈路狀態公告,其中所述鏈路狀態公告指定表示針對所述多個路由器的每個路由器向所述共享訪問網絡發送網絡流量的相應出站成本的出站成本度量集,以及表示針對所述多個路由器的每個路由器從所述共享訪問網絡接收網絡流量的相應入站成本的入站成本度量集,以及基于所述出站成本度量集和所述入站成本度量集執行路徑選擇以選擇通過所述共享訪問網絡的所述路由器的路徑。
[0091]此外,以上所描述的任意示例中所給出的任意具體特征可以被結合到所描述技術的有利示例之中。也就是說,任意具體特征一般都可應用于所有示例。已經對各個示例進行了描述。
[0092]已經描述了本發明的各種實施方式。這些實施方式及其他實施方式在以下權利要求書的范圍內。
【權利要求】
1.一種方法,包括: 根據鏈路狀態協議在耦合至共享訪問網絡的多個路由器之間通信鏈路狀態公告,其中所述鏈路狀態公告指定表示針對所述多個路由器的每個路由器向所述共享訪問網絡發送網絡流量的相應出站成本的出站成本度量集,以及表示針對所述多個路由器的每個路由器從所述共享訪問網絡接收網絡流量的相應入站成本的入站成本度量集,以及 基于所述出站成本度量集和所述入站成本度量集執行路徑選擇以選擇通過所述共享訪問網絡的所述路由器的路徑。
2.根據權利要求1所述的方法,其中所述多個路由器的每個路由器在單個LSA中通信所述出站成本度量集中的其相應出站成本度量以及所述入站成本度量集中的其相應入站成本度量。
3.根據權利要求1所述的方法,其中執行路徑選擇包括利用所述多個路由器的至少第一路由器基于針對所述多個路由器的所述第一路由器的所述出站成本度量中的一個出站成本度量以及針對所述多個路由器的第二路由器的所述入站成本度量中的一個入站成本度量來計算從所述多個路由器的所述第一路由器通過所述多個路由器的所述第二路由器的總成本度量,以及通過所述多個路由器的所述第一路由器基于所計算的總成本度量來選擇從所述多個路由器的所述第一路由器通過所述多個路由器的所述第二路由器的路徑。
4.根據權利要求1所述的方法,其中通信所述鏈路狀態公告包括利用所述多個路由器的第一路由器傳輸所述鏈路狀態公告中的一個鏈路狀態公告,其使用所述鏈路狀態公告中的所述一個鏈路狀態公告的單個字段來指定表示從所述多個路由器的所述第一路由器到所述共享訪問網絡的所述出站成本的一個出站成本的所述出站成本度量的一個出站成本度量、以及表示從所述多個路由器的所述第一路由器到所述共享訪問網絡的所述入站成本的一個入站成本的所述入站成本度量的一個入站成本度量二者。
5.根據權利要求1所述的方法,其中所述鏈路狀態公告的所述一個鏈路狀態公告的所述單個字段存儲所述出站成本度量的第一出站成本度量,而不存儲所述入站成本度量的對應第一入站成本度量,其中所述出站成本度量指定所述出站成本度量的所述第一出站成本度量以及所述入站成本度量的所述對應第一入站成本度量二者。
6.根據權利要求1所述的方法,其中通信所述鏈路狀態公告包括通過所述多個路由器的第一路由器傳輸所述鏈路狀態公告中的一個鏈路狀態公告,其在所述鏈路狀態公告中的所述一個鏈路狀態公告的第一字段中指定表示從所述多個路由器的所述第一路由器到所述共享訪問網絡的所述出站成本的一個出站成本的所述出站成本度量的一個出站成本度量、以及在不同于所述第一字段的所述鏈路狀態公告中的所述一個鏈路狀態公告的第二字段中表示從所述多個路由器的所述第一路由器到所述共享訪問網絡的所述入站成本的一個入站成本的所述入站成本度量的一個入站成本度量。
7.根據權利要求1所述的方法,其中通信所述鏈路狀態公告包括通過所述多個路由器的第一路由器接收所述鏈路狀態公告中的一個鏈路狀態公告,其在所述鏈路狀態公告中的所述一個鏈路狀態公告的第一字段中指定表示從所述多個路由器的第二路由器到所述共享訪問網絡的所述出站成本的一個出站成本的所述出站成本度量的一個出站成本度量、以及在不同于所述第一字段的所述鏈路狀態公告中的所述一個鏈路狀態公告的第二字段中表示從所述多個路由器的所述第二路由器到所述共享訪問網絡的所述入站成本的一個入站成本的所述入站成本度量的一個入站成本度量。
8.根據權利要求1所述的方法,進一步包括公告所述共享訪問網絡通過公告所述第一成本度量和所述第二成本度量進行操作,或者所述共享訪問網絡通過公告所述總成本度量進行操作。
9.根據權利要求1所述的方法,其中所述共享訪問網絡包括廣播網絡或者非廣播多路訪問網絡。
10.根據權利要求1所述的方法,其中所述鏈路狀態路由協議包括開放式最短路徑優先(OSPF)路由協議或中間系統到中間系統(IS-1S)路由協議。
11.一種系統,包括: 多個路由器,每個路由器包括一個或多個處理器,所述處理器被配置為根據鏈路狀態協議在所述多個路由器之間通信鏈路狀態公告, 其中所述鏈路狀態公告指定表示針對所述多個路由器的每個路由器向所述共享訪問網絡發送網絡流量的相應出站成本的出站成本度量集,以及表示針對所述多個路由器的每個路由器從所述共享訪問網絡接收網絡流量的相應入站成本的入站成本度量集,以及 其中所述路由器被配置為基于所述出站成本度量集和所述入站成本度量集執行路徑選擇以選擇通過所述共享訪問網絡的所述路由器的路徑。
12.根據權利要求11所述的系統,其中所述多個路由器的每個路由器在單個LSA中通信所述出站成本度量集中的其相應出站成本度量以及所述入站成本度量集中的其相應入站成本度量。
13.根據權利要求11所述的系統,所述多個路由器的至少一個路由器被進一步配置為當執行路徑選擇時基于針對所述多個路由器的所述第一路由器的所述出站成本度量中的一個出站成本度量以及針對所述多個路由器的第二路由器的所述入站成本度量中的一個入站成本度量來計算從所述多個路由器的所述第一路由器通過所述多個路由器的所述第二路由器的總成本度量,以及基于所計算的總成本度量來選擇從所述多個路由器的所述第一路由器通過所述多個路由器的所述第二路由器的路徑。
14.根據權利要求11所述的系統,所述多個路由器的至少一個路由器被進一步配置為當通信所述鏈路狀態公告時傳輸所述鏈路狀態公告中的一個鏈路狀態公告,其使用所述鏈路狀態公告中的所述一個鏈路狀態公告的單個字段來指定表示從所述多個路由器的所述第一路由器到所述共享訪問網絡的所述出站成本的一個出站成本的所述出站成本度量的一個出站成本度量、以及表示從所述多個路由器的所述第一路由器到所述共享訪問網絡的所述入站成本的一個入站成本的所述入站成本度量的一個入站成本度量二者。
15.根據權利要求11所述的系統,其中所述鏈路狀態公告的所述一個鏈路狀態公告的所述單個字段存儲所述出站成本度量的第一出站成本度量,而不存儲所述入站成本度量的對應第一入站成本度量,其中所述出站成本度量指定所述出站成本度量的所述第一出站成本度量以及所述入站成本度量的所述對應第一入站成本度量二者。
16.根據權利要求11所述的系統,所述多個路由器的至少一個路由器被進一步配置為當通信所述鏈路狀態公告時傳輸所述鏈路狀態公告中的一個鏈路狀態公告,其在所述鏈路狀態公告中的所述一個鏈路狀態公告的第一字段中指定表示從所述多個路由器的所述第一路由器到所述共享訪問網絡的所述出站成本的一個出站成本的所述出站成本度量的一個出站成本度量、以及在不同于所述第一字段的所述鏈路狀態公告中的所述一個鏈路狀態公告的第二字段中表示從所述多個路由器的所述第一路由器到所述共享訪問網絡的所述入站成本的一個入站成本的所述入站成本度量的一個入站成本度量。
17.根據權利要求11所述的系統,所述多個路由器的至少一個路由器被進一步配置為當通信所述鏈路狀態公告時接收所述鏈路狀態公告中的一個鏈路狀態公告,其在所述鏈路狀態公告中的所述一個鏈路狀態公告的第一字段中指定表示從所述多個路由器的第二路由器到所述共享訪問網絡的所述出站成本的一個出站成本的所述出站成本度量的一個出站成本度量、以及在不同于所述第一字段的所述鏈路狀態公告中的所述一個鏈路狀態公告的第二字段中表示從所述多個路由器的所述第二路由器到所述共享訪問網絡的所述入站成本的一個入站成本的所述入站成本度量的一個入站成本度量。
18.根據權利要求11所述的系統,其中所述多個路由器的至少一個路由器被進一步配置為公告所述共享訪問網絡通過公告所述第一成本度量和所述第二成本度量進行操作,或者所述共享訪問網絡通過公告所述總成本度量進行操作。
19.根據權利要求11所述的系統,其中所述共享訪問網絡包括廣播網絡或者非廣播多路訪問網絡。
20.根據權利要求11所述的系統,其中所述鏈路狀態路由協議包括開放式最短路徑優先(OSPF)路由協議或中間系統到中間系統(IS-1S)路由協議。
【文檔編號】H04L12/751GK104518962SQ201410514565
【公開日】2015年4月15日 申請日期:2014年9月29日 優先權日:2013年9月30日
【發明者】張朝暉, 王立莉 申請人:瞻博網絡公司