如路由器R1-R5)能夠使用在標簽綁定對象72中指定的兩標簽棧向非環(huán)節(jié)點發(fā)送流量:向非環(huán)節(jié)點(S2)經(jīng)過其而可達(DS或者US)的環(huán)節(jié)點(路由器R0)的外標簽以及內(nèi)標簽M。在圖1的示例中,路由器R3又可以分配標簽S、向服務節(jié)點S安裝用于交換S與兩標簽棧的LFIB條目并且向另一非環(huán)節(jié)點、比如接入節(jié)點AN1通報S。以這一方式,可以容易地創(chuàng)建接入LSP 19為允許AN1向S2發(fā)送流量的自動分級隧道。其它機制可以用于創(chuàng)建隧道、比如作為目標的LDP。
[0095]出于示例的目的而參照RSVP描述這里描述的用于用信號發(fā)送MPLS環(huán)和環(huán)LSP的技術??梢允褂闷渌鼧撕灧植紖f(xié)議。作為一個示例,標簽分布協(xié)議(LDP)可以用來用信號發(fā)送環(huán)LSP。在這一示例中,環(huán)節(jié)點(路由器Ri)可以通過根據(jù)LDP協(xié)議向它的在環(huán)中的下游和上游鄰居發(fā)送LDP標簽映射消息來通報它為其作為錨操作的環(huán)LSP。環(huán)節(jié)點在LDP標簽映射消息的FEC TLV內(nèi)指定環(huán)節(jié)點的回送地址。在LDP標簽映射消息的標簽TLV中,環(huán)節(jié)點分別放置用于上游和下游方向的標簽。此外,成員節(jié)點在消息中插入指定環(huán)標識符的新Ring TLV、環(huán)錨的節(jié)點索引和是否應當下游或者上游傳播這一通報的指示。前者指示將被發(fā)送到它的下游鄰居,后者被發(fā)送到它的上游。在這些消息繞環(huán)傳播時,接收節(jié)點可以(分別)上游或者下游創(chuàng)建在路由器Ri錨定的環(huán)LSP。下游向Ri發(fā)送流量的路由器Rj在學習在下游方向上在環(huán)中的故障時可以如這里描述在上游方向上向Ri回送流量、因此實現(xiàn)流量保護而無需無回路的備選或者其它這樣的手段。
[0096]圖9-圖12圖示用于使用內(nèi)部網(wǎng)關協(xié)議(IGP)、比如中間系統(tǒng)到中間系統(tǒng)(ISIS)協(xié)議或者開放最短路徑優(yōu)先(0SPF)協(xié)議來發(fā)現(xiàn)MPLS環(huán)和成員節(jié)點的示例消息格式。
[0097]例如圖9圖示可以在ISIS問候消息中包括的新最高級類型長度值(TLV) 74,ISIS問候消息可以由環(huán)節(jié)點發(fā)送以通報環(huán)節(jié)點是其成員的所有MPLS環(huán)。在這一示例中,TLV74先包括類型值‘MPLS環(huán)類型’,該類型值將是消耗第一八位組的新分配的TLV類型。第二八位組存儲長度值,其中該值將是6*N個八位組,其中N是這一節(jié)點參與的環(huán)數(shù)目。如圖9中所示,如這里描述,每個環(huán)由包括環(huán)標識符(4個八位組)和節(jié)點索引(2個八位組)的6個八位組指定,其中環(huán)標識符指定MPLS環(huán)的標識符而節(jié)點索引指定節(jié)點的繞MPLS環(huán)的定位。通報節(jié)點可以例如具有用于在TLV 74中指定的MPLS環(huán)中的每個MPLS環(huán)的不同索引。在IS-1S中,TLV 74代表如在全部內(nèi)容介于此的IS-1S Extens1ns for TrafficEngineering, RFC 5305第3節(jié)中定義的擴展IS可達性TLV的子TLV。
[0098]圖10圖示用于在用于通報一個或者多個MPLS環(huán)內(nèi)的成員資格和用于通報節(jié)點的每個環(huán)內(nèi)的定位的新0SPF連接本地LSA內(nèi)使用的示例最高級TLV 76。與用于ISIS的TLV 74—樣,用于0SPF的TLV 76具有6*N個八位組的TLV長度值,其中N是這一節(jié)點參與的環(huán)數(shù)目。在0SPF中,TLV 79代表如在全部內(nèi)容介于此的Traffic Engineering(TE)Extens1ns to OSPF Vers1n 2,RFC 3630 第 2.4 節(jié)中定義的連接 TLV 的子 TLV。
[0099]圖11和12圖示用于在節(jié)點的每個接口上使用的并且僅包含環(huán)標識符的IGP LSA的兩個新子TLV。這樣,新TLV具有4*N個八位組的TLV長度值,因為未包括環(huán)索引。圖11例如示出用于在IS-1SLSA中使用的新子TLV 78。圖12示出用于在OSPF LSA中使用的新子 TLV 79ο
[0100]圖13是圖示能夠?qū)嵤┻@里描述的技術的示例設備、例如路由器或者網(wǎng)關的框圖。路由器80可以包括網(wǎng)絡中的任何路由器、比如SP網(wǎng)絡12。例如路由器80可以包括根據(jù)這里描述的技術使用環(huán)LSP來轉(zhuǎn)發(fā)MPLS流量的網(wǎng)關、邊緣或者接入路由器、核心路由器或者這里所示其它設備。
[0101]在圖13的示例中,路由器80包括控制單元82,其中路由部件86提供用于路由器80的控制平面功能。路由器80也包括共同地提供用于轉(zhuǎn)發(fā)網(wǎng)絡流量的數(shù)據(jù)平面的多個分組轉(zhuǎn)發(fā)引擎114A-114N( “PFE 114”)和交換機結構118。PFE 114經(jīng)由接口卡112( “IFC112”)接收和發(fā)送數(shù)據(jù)分組。在其它實施例中,PFE 114中的每個PFE可以包括更多或者更少IFC。雖然未示出,但是PFE 114可以各自包括中央處理單元(CPU)和存儲器。在這一示例中,路由部件86由專用內(nèi)部通信連接120連接到PFE 114中的每個PFE。例如專用連接34可以包括吉比特以太網(wǎng)連接。交換機結構118提供用于在PFE 114之間轉(zhuǎn)發(fā)傳入數(shù)據(jù)分組用于通過網(wǎng)絡傳輸?shù)母咚倩ミB。標題為MULT1-CHASSIS ROUTER WITH MULTIPLEXEDOPTICAL INTERCONNECTS的美國專利8,050, 559描述多底盤路由器,其中多級交換結構、比如3級Clos交換機結構用作高速轉(zhuǎn)發(fā)平面以在多底盤路由器的多個路由節(jié)點之間中繼分組。美國專利申請2008/0044181的全部內(nèi)容通過引用而結合于此。
[0102]路由部件86提供用于執(zhí)行各種協(xié)議89的操作環(huán)境,各種協(xié)議可以包括具有由于計算環(huán)境執(zhí)行的指令的軟件過程。如以下進一步具體描述,協(xié)議89提供用于以路由表或者其它結構的形式存儲網(wǎng)絡拓撲、執(zhí)行路由協(xié)議以與對等路由設備通信并且維護和更新路由表以及提供管理接口以允許用戶訪問和配置路由器80的控制平面功能??刂茊卧?2提供用于路由部件86的操作環(huán)境并且可以僅被實施在軟件或者硬件中或者可以被實施為軟件、硬件或者固件的組合。例如控制單元82可以包括執(zhí)行軟件指令的一個或者多個處理器。在該情況下,路由部件86可以包括各種軟件模塊或者守護程序(例如一個或者多個路由協(xié)議過程、用戶接口等),并且控制單元82可以包括用于存儲可執(zhí)行指令的計算機可讀存儲介質(zhì)、比如計算機存儲器或者硬盤。
[0103]命令行接口守護程序92( “CLI 92”)提供接口,管理員或者其它管理實體可以通過接口使用基于文本的命令來修改路由器80的配置。簡單網(wǎng)絡管理協(xié)議守護程序99 ( “SNMP 99”)包括從管理實體接收SNMP命令以設置和取回用于路由器80的配置和管理信息的SNMP代理。使用CLI 92和SNMP 99,管理實體可以例如啟用/停用和配置服務、安裝路由、啟用/禁用和配置速率限制器以及配置接口。
[0104]一個或者多個路由協(xié)議、比如IGP 94以描述網(wǎng)絡的拓撲的路由信息庫(RIB) 104的形式維護路由信息,并且根據(jù)路由信息導出轉(zhuǎn)發(fā)信息庫(FIB) 106。一般而言,路由信息代表網(wǎng)絡的總拓撲。IGP 94與內(nèi)核101交互(例如通過API調(diào)用)以基于路由器80接收的路由協(xié)議信息更新RIB 104。RIB 104可以包括定義網(wǎng)絡的拓撲的信息、包括一個或者多個路由表和/或連接狀態(tài)數(shù)據(jù)庫。通常,路由信息定義經(jīng)由距離矢量路由協(xié)議學習的經(jīng)過網(wǎng)絡去往網(wǎng)絡內(nèi)的目的地/前綴的路由(即系列下一跳)或者定義使用連接狀態(tài)路由協(xié)議(例如IS-1S或者0SPF)而學習的有互連連接的網(wǎng)絡拓撲。對照而言,F(xiàn)IB 106是基于網(wǎng)絡內(nèi)的某些路由的選擇而生成的并且將分組關鍵信息(例如來自分組首部的目的地信息和其它選擇信息)映射到一個或者多個具體下一跳并且最終地映射到IFC 112的一個或者多個具體輸出接口端口。路由部件86可以用基數(shù)樹的形式生成FIB,基數(shù)樹具有代表網(wǎng)絡內(nèi)的目的地的葉節(jié)點。在通過完全引用而將內(nèi)容結合于此的美國專利7,184,437中提供利用基數(shù)樹用于路由解析的路由器的一個示例實施例的示例細節(jié)。
[0105]路由部件86也提供一個或者多個流量工程設計協(xié)議的操作環(huán)境以建立用于經(jīng)過與不同服務鏈關聯(lián)的服務節(jié)點有序集合轉(zhuǎn)發(fā)用戶分組的隧道。例如RSVP-TE 96可以執(zhí)行有流量工程設計的資源保留協(xié)議擴展以交換流量工程設計(TE)信息、比如用于支持基于標簽的分組轉(zhuǎn)發(fā)的MPLS標簽。作為另一示例,路由部件86可以執(zhí)行標簽分布協(xié)議97以如這里描述用信號發(fā)送MPLS環(huán)和環(huán)LSP。作為另一示例,路由部件86可以使用GRE或者基于IP的隧道協(xié)議以建立流量工程設計隧道。路由部件86可以例如維護用于存儲流量工程設計數(shù)據(jù)的流量工程數(shù)據(jù)庫(TED) 109。
[0106]路由部件86向PFE 114中的每個PEF中傳達代表FIB 106的軟件副本的數(shù)據(jù)以控制在數(shù)據(jù)平面內(nèi)轉(zhuǎn)發(fā)流量。這允許更新PEF 114中的每個PFE中的存儲器(例如RAM)中存儲的軟件FIB而未劣化路由器80的分組轉(zhuǎn)發(fā)性能。在一些實例中,路由部件86可以導出用于每個相應PFE 114的分離和不同軟件FIB。此外,PFE 114中的一個或者多個PFE包括專用集成電路(ASIC 116), PFE 114基于向每個相應PFE 114復制的軟件FIB (即軟件FIB的硬件版本)向?qū)S眉呻娐肪幊蘁IB的硬件副本。
[0107]例如內(nèi)核101在主控微處理器102上執(zhí)行并且可以例如包括UNIX操作系統(tǒng)派生、比如 Linux 或者 Berkeley Software Distribut1n (BSD)。內(nèi)核 101 處理來自 IGP 94 和RSVP-TE 96的內(nèi)核調(diào)用以基于IRB 104中表示的網(wǎng)絡拓撲以FIB 106的形式生成轉(zhuǎn)發(fā)信息、即執(zhí)行路由解析和路徑選擇。通常,內(nèi)核101以基數(shù)樹(radix tree)或者其它查找樹的形式生成FIB 106以將分組信息(例如具有目的地信息和/或標簽棧的首部信息)映射到下一跳并且最終地映射到與相應PFE 114關聯(lián)的接口卡的接口端口。FIB 106可以例如關聯(lián)網(wǎng)絡目的地與具體下一跳和對應IFC 112。對于與MPLS有關的流量轉(zhuǎn)發(fā),F(xiàn)IB 106為給定的FEC存儲包括用于分組的傳入標簽、傳出標簽和下一跳的標簽信息。
[0108]執(zhí)行內(nèi)核101的主控微處理器102對PFE 114進行編程以安裝FIB 106的副本。微處理器102可以包括一個或者多個通用或者專用處理器、比如數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)或者任何其它等效邏輯器件。因而,術語“處理器”或者“控制器”如這里所用可以是指前述結構或者可操作用于執(zhí)行這里描述的技術的任何其它結構中的任何一個或者多個結構。在通過完全引用而將內(nèi)容結合于此的美國專利7,990,993中提供其中處理器對一個或者多個轉(zhuǎn)發(fā)部件進行編程的路由器的一個示例實施例的示例細節(jié)。
[0109]在這一示例中,ASIC 116由在PFE 114中的每個PEF 114上執(zhí)行的從屬微處理器可編程地配置的由微代碼控制的芯片組(即轉(zhuǎn)發(fā)電路)。在轉(zhuǎn)發(fā)分組時,有每個ASIC 116的控制邏輯遍歷從路由部件86接收的轉(zhuǎn)發(fā)信息(FIB 106),并且在到達用于分組的FIB條目(例如頁節(jié)點)時,微代碼實施的控制邏輯56自動地選擇轉(zhuǎn)發(fā)下一跳并且根據(jù)下一跳內(nèi)定義的操作來處理分組。以這一方式,PFE 114的ASIC 116通過在分組穿越路由器80的內(nèi)部架構時對在相應內(nèi)部分組轉(zhuǎn)發(fā)路徑上的每個分組執(zhí)行一系列操作來處理分組??梢岳缁趯肟诮涌?、入口 PFE 114、出口 PFE 30、出口接口或者分組在出口之前被引向的路由器80的其它部件、比如一個或者多個服務卡中的任何部件對每個分組執(zhí)行操作。PFE114各自包括轉(zhuǎn)發(fā)結構,轉(zhuǎn)發(fā)結構在被執(zhí)行時檢查每個分組的內(nèi)容(或者另一分組性質(zhì)、例如傳入接口 )并且在該基礎上例如做出轉(zhuǎn)發(fā)判決、應用過濾器和/或執(zhí)行記賬、管理、流量分析和負荷平衡。
[0110]在一個示例中,PFE 114中的每個PFE布置轉(zhuǎn)發(fā)結構為下一跳數(shù)據(jù),下一跳數(shù)據(jù)可以被鏈接在一起作為沿著用于網(wǎng)絡設備的內(nèi)部分組轉(zhuǎn)發(fā)路徑的一系列“跳”。在許多實例中,轉(zhuǎn)發(fā)結構在ASIC 116的內(nèi)部存儲器內(nèi)執(zhí)行查找操作,其中可以按照樹(或者trie)搜索、表(或者索引)搜索來執(zhí)行查找??梢杂孟乱惶付ǖ钠渌纠僮靼ㄟ^濾器確定和應用或者速率限制器確定和應用。查找操作在查找數(shù)據(jù)結構(例如查找樹)內(nèi)對與分組內(nèi)容或者分組或者分組流的另一性質(zhì)、比如分組的傳入接口匹配的項目進行定位。在ASIC116內(nèi)根據(jù)由下一跳轉(zhuǎn)發(fā)結構定義的操作的分組處理的結果確定PFE 114從它的在IFC112之一上的輸入接口向它的在I