TW202031021A - 具有分解式網路元件的邏輯路由器 - Google Patents

具有分解式網路元件的邏輯路由器 Download PDF

Info

Publication number
TW202031021A
TW202031021A TW108143019A TW108143019A TW202031021A TW 202031021 A TW202031021 A TW 202031021A TW 108143019 A TW108143019 A TW 108143019A TW 108143019 A TW108143019 A TW 108143019A TW 202031021 A TW202031021 A TW 202031021A
Authority
TW
Taiwan
Prior art keywords
packet
interface
network
branch
elements
Prior art date
Application number
TW108143019A
Other languages
English (en)
Other versions
TWI821463B (zh
Inventor
凱優 派德
納林納許 派
藍道爾 布希
維克朗 瑞谷庫瑪
阿斯托斯 山克
卡揚尼 拉賈拉曼
羅伯特 奧斯坦
艾賓 亞瑞斯
拉利特 庫馬
斯里達爾 皮查伊
拉傑庫瑪 古魯薩米
Original Assignee
美商阿爾克斯股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 美商阿爾克斯股份有限公司 filed Critical 美商阿爾克斯股份有限公司
Publication of TW202031021A publication Critical patent/TW202031021A/zh
Application granted granted Critical
Publication of TWI821463B publication Critical patent/TWI821463B/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/44Star or tree networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • H04L12/4645Details on frame tagging
    • H04L12/4666Operational details on the addition or the stripping of a tag in a frame, e.g. at a provider edge node
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • H04L12/4675Dynamic sharing of VLAN information amongst network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/033Topology update or discovery by updating distance vector protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/08Learning-based routing, e.g. using neural networks or artificial intelligence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/44Distributed routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/58Association of routers
    • H04L45/586Association of routers of virtual routers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/52Queue scheduling by attributing bandwidth to queues
    • H04L47/527Quantum based scheduling, e.g. credit or deficit based scheduling or token bank
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/111Switch interfaces, e.g. port details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/113Arrangements for redundant switching, e.g. using parallel planes
    • H04L49/115Transferring a complete packet or cell through each plane
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/252Store and forward routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3054Auto-negotiation, e.g. access control between switch gigabit interface connector [GBIC] and link
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/552Prevention, detection or correction of errors by ensuring the integrity of packets received through redundant connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/354Switches specially adapted for specific applications for supporting virtual local area networks [VLAN]

Abstract

一種邏輯路由器包括分解後的網路元件,這些元件充當單一個路由器並且未耦合到公共背板。邏輯路由器包括骨幹(Spine)元件和枝葉(Leaf)元件,實現具有由枝葉元件定義的前面板埠的網路織網(Fabric)。控制平面元件程式化骨幹單元與枝葉以充當邏輯路由器。控制平面可以定義作業系統介面,其被映射到枝葉元件的前面板埠,以及被與遍歷邏輯路由器的封包相關聯的標籤所引用。可以為通過控制平面元件實現的路由資料庫實現冗餘和檢查點。邏輯路由器可以包括獨立的織網,並且可以實現標籤表,此標籤表用於根據出口埠及通過織網的路徑來標籤封包。

Description

具有分解式網路元件的邏輯路由器
本申請主張於2018年11月26日提交的美國臨時申請號「62/771,407」的權益,其標題為「 LOGICAL ROUTER COMPRISING DISAGGREGATED NETWORK ELEMENTS」,此臨時申請的全部內容透過引用而併入本申請。本發明涉及一種邏輯路由器,特別是具有分解式網路元件的邏輯路由器。
資料中心變得越來越普遍和複雜。隨著這種複雜性,使得資料中心的計算機之間進行通信的網路的複雜性增加。因此,需要減少與簡化,並且能夠為大量計算機配置網路路由容量。
本發明揭露一種具有分解式網路元件的邏輯路由器。
首先,本發明揭露一種系統,其包含:分解式網路元件、控制元件及路由處理器。其中,所述分解式網路元件用以透過網路耦合,並且不透過機箱的公用背板相互耦合;控制元件用以耦合到分解式網路元件;以及路由處理器執行在控制元件上,並且被程式化用以建立虛擬介面給在控制元件的作業系統中的分解式網路元件所包含的枝葉元件的每一元件。
另外,本發明揭露一種方法,其步驟包括:提供通過網路耦合的分解式網路元件,並且所述分解式網路元件不通過機箱的公用背板彼此耦合;提供耦合到所述分解式網路元件的控制元件;以及透過控制元件建立虛擬介面,所述虛擬介面用於控制元件的作業系統中的分解式網路元件所包含的枝葉元件的每一元件。
容易理解的是,如本文附圖中一般性描述和示意,本發明的元件可以使用多種不同的配置來佈置和設計。因此,如附圖所示意,以下本發明實施例的更詳細的描述並非旨在限制本發明所要求保護的範圍,而僅是根據本發明的當前設想的實施例的某些實施例的代表。參考附圖,將最好地理解當前描述的實施例,其中,相同的部件始終用相同的數字來表示。
本發明的具體實施例可以體現為設備、方法或計算機程式產品。因此,本發明可以採取以下形式:完全硬體實施例、完全軟體實施例(包括:韌體、常駐軟體及微碼等等),或結合了軟體和硬體方面的實施例的形式,這些方面在本文中通常都被稱為「模組」或「系統」。除此之外,本發明可以採用體現在任何有形媒體中的計算機程式產品的形式,此有形媒體具有包含在媒體中的計算機可用程式碼。
一種或多種計算機可用媒體或計算機可讀媒體的任意組合可以被利用,例如,計算機可讀媒體可以包括可攜式計算機磁碟、硬碟、隨機存取記憶體(RAM)裝置、唯讀記憶體(ROM)裝置、可擦拭可規劃式唯讀記憶體(EPROM或快閃記憶體)裝置、可攜式唯讀記憶光碟(CDROM)、光學儲存裝置及磁性儲存裝置。在選定的實施例中,計算機可讀媒體可以包括任何非揮發性媒體,其可包含:儲存、通訊、傳播或傳輸程式,用以與指令執行系統、裝置或設備連接或結合使用。
可以用一種或多種程式語言的任意組合來編寫用於實施本發明執行操作的計算機程式碼,所述程式語言包括物件導向的程式語言,如:「Java」、「Smalltalk」、「C++」或類似的程式語言,以及常規的程序性程式語言,如:「C」程式語言或類似的程式語言,並且還可以使用描述性或標籤語言,例如:HTML、XML、JSON等等。程式碼可以完全執行在計算機系統上作為獨立軟體套件、在獨立硬體單元上執行、部分在與計算機相隔一定距離的遠端計算機上執行,或者完全在遠端計算機或伺服器上執行。在後一種情況下,遠端計算機可以通過任何類型的網路(包括:區域網路(Local Area Network, LAN)或廣域網路(Wide Area Network, WAN))連接到計算機,或者可以與外部計算機建立連接(例如:通過使用網際網路服務提供商的網際網路)。
下面根據本發明實施例的方法、設備(系統)及計算機程式產品的流程圖及/或方塊圖描述本發明。應當理解的是,流程圖及/或方塊圖的每一個方塊以及流程圖及/或方塊圖中的方塊組合可以由計算機程式指令或程式碼來實現。這些計算機程式指令可以提供給一般目的計算機、專用目的計算機或其他可程式化資料處理設備的處理器以生產機器,從而使得這些指令經由計算機或其他可程式化資料處理設備的處理器執行,創建用於實現在流程圖及/或方塊圖方塊或多個方塊中指定的功能/動作。
這些計算機程式指令還可以儲存在非揮發性計算機可讀媒體中,其可以引導計算機或其他可程式化資料處理設備以特定方式運行,從而使儲存在計算機可讀媒體中的指令生產一種包含指令手段的製成品,此指令手段實現流程圖及/或方塊圖的一個或多個方塊中指定的功能/動作。
計算機程式指令還可以被加載到計算機或其他可程式化資料處理設備上,使計算機或其他可程式化設備上執行一系列操作步驟以產生計算機實現的程序,以便執行在計算機或其他可程式化設備上的指令,提供用於實現流程圖及/或方塊圖方塊或多個方塊中指定的功能/動作的程序。
本文揭露的系統和方法涉及用於計算機資料路由系統的邏輯路由器。更具體地,本文描述的系統和方法涉及邏輯路由器「機箱(Chassis)」,此邏輯路由器由一組分解式網路元件形成,這組分解式網路元件不必在同一機箱中或耦合到機箱的同一背板。邏輯路由器可以包含一個管理和控制的單一邏輯點,具有分佈式資料平面。邏輯路由器還包含卸載到外部計算系統的一個控制平面,用以減小網路拓撲的大小。這也允許將控制平面遷移到其他計算機系統,以利用新一代的中央處理器(Central Processing Units, CPUs)。所述分解式網路元件包含使用結合到本文揭露的系統和方法中的專用網路組件來實現的邏輯路由器。在下面揭露的實施例中,網路元件包括矽元件,例如:由博通(BROADCOM)開發的「JERICHO 2」和「RAMON」。這些僅僅是示範性的,提供這些裝置的基本網路路由功能的其他網路元件也可以類似的方式被使用。
「第1圖」示意了邏輯路由器100的架構範例。如「第1圖」所示,邏輯路由器100包括多個骨幹元件102、多個枝葉元件104以及將每一個骨幹元件102耦合到一個或多個枝葉元件104的織網(Fabric)介面106。在下面的例子中,骨幹元件102是「RAMON」級的矽元件,枝葉元件104是一組多個「JERICHO 2」級的矽元件。裝置(102、104)的織網介面106可以通過網路電纜,如:10G或100G乙太網路電纜、光纖電纜或其他網路連接類型的方式彼此耦合。
在邏輯路由器100中,每一個骨幹元件102作為一個自選路由(Self-routing)織網的織網元件。這種自選路由織網在矽(Silicon)中實現了所有關聯的路由協定,包括無需任何軟體幫助即可處理鏈路失效。如「第1圖」所示,邏輯路由器中的每一個織網元件都通過織網介面與一個或多個枝葉元件104連接。枝葉元件104的集合可用於實現基於單元的織網,其中枝葉元件104的集合將資料封包拆分為單元。這些單元分佈在基於單元的織網上,並在其中一個枝葉元件104的出口重新組裝。此實現方式可以更有效地利用織網。每一個枝葉元件104還可以配置有網路介面108,此網路介面108允許枝葉元件104與網路通信。
「第2圖」為使用邏輯路由器100來實現方法200的例子。尤其是方法200示意一個使用邏輯路由器100來進行端對端封包排程的實施例。方法200可以通過外部控制器(請參閱下面對控制元件300的討論)或在枝葉元件104上執行的程式碼被實現,例如:枝葉元件104其入口埠接收根據方法200處理的封包。
透過邏輯路由器100,方法200可以包含對與邏輯路由器100相關聯的入口上的資料封包進行佇列(步驟202),例如:在接收到封包的哪一個埠上的枝葉元件104其中之一上。接著,入口發送一個佇列請求至邏輯路由器100(步驟204),例如:向與資料封包的目的地址相對應的第二枝葉元件104發送佇列請求。邏輯路由器100相應的出口(例如:所述第二枝葉元件104)以信用授予(Credit Grant)響應(步驟206)。最後,入口將封包發送到出口(步驟208),例如:通過骨幹元件102實現的織網上。
參照「第3圖」,針對以下設計考量而言,本文揭露的邏輯路由器100提供期望的性能: ● 系統流通量。 ● 邏輯機箱置備。 ● 機箱啟動引導(Chassis bootstrapping)。 ● 機箱定標(Chassis scaling)。 ● 系統狀態定標(System state scaling)。 ● 除錯與故障排除。 ● 應對織網故障、軟體故障及組件故障的彈性。
在「第3圖」的實施例中,骨幹元件102耦合到枝葉元件104以實現一級克洛斯(Clos)織網。尤其是每一個枝葉元件104可以連接到每一個骨幹元件102。
「第3圖」的系統可以具有以下屬性,提供具有「480 x 400G」或「1920 x 100G」埠的48個枝葉元件104介面規模,所述枝葉元件104可以是「JERICHO 2」矽元件。在替代規模中,可能有24個枝葉元件提供「240 x 400G」埠或「960 x 100G」埠。為了充分揭露的目的,符號「A x B」代表A埠具有B流通量。「第3圖」的配置是用於說明的目的,並且可以類似的方式使用其他裝置的其他配置。
在所示意的實施例中,有13個骨幹元件102。「第3圖」的邏輯路由器架構中的骨幹元件102每一個可以包括一個或多個元件,例如:一個或多個「RAMON」級元件。在一些實施例中,骨幹輪廓(即:骨幹元件102的組成)可以包括單個24埠的「RAMON」級元件和兩個48埠的「RAMON」級元件。
「第3圖」的邏輯路由器100還包括48個枝葉元件。可以使用實現400G四通道小型可插拔雙密度(Quad Small Form-factor Pluggable-Double Density, QSFP-DD)光連接器和400G協定的通信鏈路,將每一個骨幹元件102與每一個枝葉元件104連接。然而,其他連接器類型和協定也可以被使用。在一些實施方式中,每一個枝葉元件104包括單一個J2級矽裝置,此J2級矽裝置包含10 X 400或40 X 100介面、「BROADWELL」(8核心)CPU及32GB RAM(隨機存取記憶體)。每一個枝葉元件104可以被配置具有40 X 100G介面用以與外部網路通信。
在一些實施例中,邏輯路由器100可由使用計算系統(例如,參見下文描述的「第19圖」之計算系統的例子)實現的一個或多個控制平面元件300來管理。控制平面元件是邏輯路由器外部的計算機系統(即:邏輯路由器100的這些組件之中的枝葉元件104、骨幹元件102及互連的織網)。每一個控制平面元件300可以使用如10G通信鏈路與一個或多個枝葉元件104連接。控制平面元件300可以作為配置代理,此配置代理執行路由器狀態管理,為了實現一個具有邏輯路由器100的機箱抽象模型,從而使得邏輯路由器的單獨元件(102、104)像在單一路由器中一樣起作用,就像在一個通用機箱且耦合到一個公用背板一樣。
請參閱「第4圖」,邏輯路由器100可以通過管理和控制的單點來進行管理。管理LAN(區域網路)交換器400,其執行針對邏輯路由器100和相關聯的控制平面元件300的所有管理和控制功能。邏輯路由器100包含與多個枝葉元件104對接的多個骨幹元件102,而多個枝葉元件104又與控制平面元件300連接,可以由管理LAN交換器400來進行管理。管理LAN交換器400可以與每一個骨幹元件102、枝葉元件104及控制平面元件300連接。
請參閱「第5圖」,所述管理LAN交換器400可以以所示方式與邏輯路由器100的元件連接。舉例來說,枝葉元件104a和枝葉元件104b可各自獨立地與控制平面元件300相連接。每一個枝葉元件(104a、104b)和控制平面元件300獨立地與管理LAN交換器400相連接。在某些實施例中,管理LAN交換器的每一個介面都是通過2 X 10G鏈路實現,也可以使用其他連接類型。
在每一個枝葉元件(104a、104b)與控制平面元件300之間的介面可以與頻內網路500和主機封包路徑相關聯。另一方面,管理LAN交換器400的每一個介面可以與頻外(Out-of-band, OOB)網路502相關聯。管理LAN交換器400可以通過OOB網路502與元件(104a、104b、300)進行通信,用以執行如:引導程序/映像檔下載、系統狀態分配,以及收集系統統計訊息和類似資料之類的功能。
請參閱「第6圖」,與邏輯路由器100相關聯的軟體可以包括路由處理器軟體600、路由器狀態資料庫602及線路卡(Linecard, LC)軟體604(在此也稱為線路卡軟體模組604)。在邏輯路由器100的一些實施例中,所有軟體都作為容器部署和管理。路由處理器軟體600可以對被加載在其上的裝置進行程式化,以與路由器狀態資料庫602雙向共享關於系統狀態和統計訊息的資料。路由器狀態資料庫602可被程式化以與線路卡軟體604雙向共享關於系統狀態和統計訊息的資料。
在一些實施例中,路由處理器軟體600實現以下功能或資料結構: ● 全系統介面控制(跨邏輯路由器100的元件102、104)。 ● 路由協定、位址解析協定(Address Resolution Protocol, ARP)、網際網路協定第6版鄰居發現(Internet Protocol v6 Neighbor Discovery, IPv6 ND)。 ● 路由資訊表(Routing Information Base, RIB)。 ● 北向應用程式介面(Application Programming Interfaces, APIs)。 ● 配置管理。 ● 資料儲存。 ● Linux主機路徑。 ● 遙測。 ● 特徵-存取控制列表(Access Control List, ACL)、服務質量(Quality of Service, QoS)、控制面板策略(Control Plane Policing, CoPP)。 ● 虛擬機箱管理。
在某些實現中,路由器狀態資料庫602包括以下功能或資料結構: ● 路由器狀態。 ● 統計。 ● 分片(Sharded)。 ● 複製。 ● 叢集。
在一些實現中,線路卡軟體604使用以下功能或資料結構來實現: ● 特殊應用積體電路(Application Specific Integrated Circuits, ASIC)/軟體開發套件(Software Development Kit, SDK)程式化。 ● 統計。 ● 線路卡卸載(雙向轉送檢測(Bidirectional Forwarding Detection, BFD)、鏈路層發現協定(Link Layer Discovery Protocol, LLDP)、流量取樣(Sampled Flow, SFlow)等等)。
「第7圖」描述如何在實際的邏輯路由器實現中實施三個軟體構件(600、602、604)。如「第7圖」所示意,可以在每一個骨幹元件102和每一個枝葉元件104中實現單獨的線路卡軟體模組604(即:線路卡軟體604的實例(Instance))。每一個線路卡軟體模組604與主控制平面元件300a中的路由器狀態資料庫602(路由器狀態資料庫602a)通信。這個主控制平面元件300a還可以執行路由器處理器軟體600(在本文中也稱為路由處理器模組600)的實例。如「第7圖」所示意,主控制平面元件300a與第一次要控制平面元件300b共享資料。如「第7圖」所示意,第一次要控制平面元件300b與第二次要控制平面元件300c共享資料。每一個第一次要控制平面元件300b和第二次要控制平面元件300c分別包含路由器狀態資料庫(602b、602c)以實現諸如資料冗餘的功能。如在此討論的,在主控制平面元件300a發生故障的情況下,第一次要控制平面元件300b和第二次要控制平面元件300c可各自服務作為備用。
邏輯路由器100與控制元件300和管理LAN交換器400一起如上「第1圖」至「第7圖」所述,其可以在下面描述的各種操作場景中使用。
「第8圖」示意了邏輯路由器100生成介面的場景。如「第8圖」所示意,在LINUX計算系統上運行的控制平面元件300包含元件狀態資料庫800和路由處理器600。儘管通篇描述了LINUX計算系統,但是也可以使用其他作業系統,例如:「UNIX」的其他變體、「MACOS」、「MICROSOFT WINDOWS」或本領域已知的其他作業系統的版本。
所述元件狀態資料庫800可以是路由器狀態資料庫602的一部分或等同於路由器狀態資料庫602,可以耦合到每一個骨幹元件102和枝葉元件104形成邏輯路由器100的一部分。元件狀態資料庫800可以儲存與每一個骨幹元件102和枝葉元件104相關聯的資料,例如其配置(埠、埠與其他元件(102、104、300)的連接、元件(102、104、300)的地址等等)。此資訊可透過控制平面元件300使用本文公開的任何織網發現技術(例如:LSoE、LLDP)來發現。元件狀態資料庫800將此資料提供給路由處理器。對於每一個骨幹元件102和枝葉元件104上的每一個介面,路由處理器600創建一個唯一的介面(「第8圖」中的swp1/1…swp1/40、swp2/1…swp2/40…swp48/1…swp48/40)在路由處理器600本身上,其中,符號「swpA/B」表示介面在元件A(即:骨幹元件102或枝葉元件104)的埠B上。唯一介面可以是Linux介面。在使用另一種類型的作業系統的情況下,可以創建根據其作業系統的網路介面。路由處理器可以為邏輯路由器100的所有分解式元件(102、104)創建所有介面狀態。在「第9圖」中示意了唯一介面的創建的流程圖。
請參閱「第9圖」,控制平面元件300可以執行所示意的方法900。方法900包括控制平面元件300的元件狀態資料庫800,其接收與到達邏輯路由器100的骨幹元件102和枝葉元件104相關聯的資料(步驟902)。元件資料庫800將在步驟902接收到的資料通知在控制平面元件300上執行的路由處理器600(步驟904)。然後,路由處理器參照在步驟902接收的資料為每一個骨幹元件102和枝葉元件104創建唯一介面(步驟906),例如:LINUX介面。
一旦已經在執行路由處理器600的控制元件300上的LINUX(或其他作業系統)實例中創建了介面,則各個枝葉元件104的前面板上的實際介面就可以被「拼接(Stitched)」到與之對應的已創建介面。要做到這一點的一種方法是向每一個枝葉元件104上的每一個前面板介面分配唯一的VLAN(虛擬LAN)標籤,每一個VLAN標籤被進一步映射到在控制元件300上創建的其中一個介面。
「第10圖」示意了根據方法900及相應枝葉元件104的介面,使用創建的介面進行資料封包路由的例子。軟體執行在枝葉元件104a上用以接收封包1000,以及程式化在資料路徑中的規則,其查找與封包1000的目的地相對應的入口介面,並且將對應的VLAN標籤添加到封包以獲得封包1002,以及將封包1002連同目的地識別碼一起轉送至連接控制平面元件300a的枝葉元件104b來識別出口枝葉元件104b。封包1002可以在不執行生存時間(Time To Live, TTL)遞減的情況下發送到枝葉元件104b。封包1002通過一個或多個骨幹元件102被發送到出口枝葉元件104b。在「第10圖」中可以清楚看到,封包1002可以包含通過織網106路由封包1002的訊息,例如:「BCM Fabric Header, dest = 2005」(BCM = BROADCOM;博通)。
出口枝葉元件104b在接收到封包1002後,將其轉送到控制平面元件300a。接著,在控制平面元件300上執行的LINUX實例透過參照封包1002的VLAN標籤辨識介面1004、剝離VLAN標籤,以及將剝離後的封包1006注入相應的介面1004。此時,封包1006流動像往常一樣通過Linux資料路徑與應用,例如:邊界閘道器協定(Border Gateway Protocol, BGP)模組1008之類的應用程式,看到此封包進入介面1004上。
「第11圖」示意了相對於「第10圖」所示意的相反方向的傳輸。應用程式1008根據封包的目的地及路由資料庫602定義的路由將封包1100注入到適當的介面1004中。一個資料路徑,如:LINUX資料路徑,可被程式化以將每一個介面映射到VLAN標籤,所述VLAN標籤唯一地辨識出對於封包目的地址的前面板介面出口。
具體而言,入口枝葉元件104b(連接到控制平面元件300a)從應用程式1008接收封包1100,並且為了適合的出口枝葉元件104a而查找VLAN標籤,即:此封包應根據上述路由資料庫602的程式化被路由到出口枝葉元件。入口枝葉元件104b對封包1100標示VLAN標籤,並且通過邏輯路由器100的元件(102、104)將已標示的封包1102轉送到出口枝葉元件104a(請參閱封包1104)。出口枝葉元件104a剝離VLAN標籤並且將剝離後的封包1106轉送到正確的前面板埠,即:與VLAN標籤相關聯的前面板埠,並且對應與封包的目的地相對應的路由,以及根據路由資料庫602程式化。
請參閱「第12圖」、「第13圖」及「第14圖」,可以對邏輯路由器100和控制平面元件300進行程式化以實現以下一些或全部功能: ● 程序層重啟。 ● 路由處理器冗餘。 ● 路由狀態資料庫冗餘。 ● 織網元件,鏈路失效。
「第12圖」、「第13圖」及「第14圖」及其相應的討論說明了如何使用包含多個控制平面元件300來提供不易受故障影響的邏輯路由器100之實施方式。
「第12圖」說明了用於實現高可用性邏輯路由器100的控制平面元件300的配置。三個節點的控制平面元件叢集包含如「第12圖」所示意的控制平面元件(300a、300b、300c)。控制平面元件300a是主控制平面元件,其運行路由處理器600的實例600a,路由處理器600被指定為主要路由處理器600a。控制平面元件300b執行一個路由處理器600的實例600b,路由處理器600被指定為次要路由處理器600b。在此實施例中,控制平面元件300c不執行路由處理器600的實例。
每一個控制平面元件(300a、300b、300c)可以分別包括單獨的路由器狀態資料庫(602a、602b、602c)。每一個路由處理器(600a、600b)在另一路由處理器(600b、600a)上運行健康檢查診斷(路由處理器600b檢查路由處理器600a;路由處理器600a檢查路由處理器600b)。如「第12圖」所示意,主要路由處理器600a可以與每一個控制平面元件(300a、300b、300c)中的每一個路由器狀態資料庫(602a、602b、602c)連接。
在控制平面元件300a中的路由器狀態資料庫602a與控制平面元件300b中的路由器狀態資料庫共享健康檢查複製資料。路由器狀態資料庫602b與控制平面元件300c中的路由器狀態資料庫602c共享健康檢查複製資料。以這種方式,與主要路由處理器600a和次要路由處理器600b相關聯的健康資料被冗餘地儲存在多個資料庫(602a,602b,602c)上。
在一些實施方式中,主要路由處理器600a在路由器狀態資料庫(602a、602b、602c)中檢查所需狀態。如「第12圖」所示意,可以在所有叢集節點上產生路由器狀態資料庫(602a、602b、602c)。此外,可以在內部複製路由器狀態資料庫(602a、602b、602c)的資料分片以用於冗餘,並且每一個路由處理器(600a、600b)可以執行內部健康檢查以檢測故障轉移。如「第13圖」所示意,如果對主要路由處理器600a的運行狀況檢查失敗,則所示意的次要路由處理器600b可以成為主要路由處理器,並且接管主要路由處理器600a的功能。
「第13圖」說明了主要路由處理器600a的故障以及主要狀態往次要路由處理器600b的轉移。如圖所示意,次要路由處理器600b與每一個路由器狀態資料庫(602a、602b及602c)建立連接,並且讀取檢查點資料以恢復系統狀態(例如:每一個檢查點及/或狀態的次要路由處理器600b的狀態)。因此,次級路由處理器600b接管了主要路由處理器600a的角色,以這種方式,可以重新建立與相鄰控制平面元件(300a、300c)的連接,並且發起平穩重啟,舉例來說,一旦系統狀態已經恢復,則新的主要路由處理器600a的功能可以如上述關於路由處理器600a的功能那樣繼續。
請參閱「第14圖」,一些實現方式還可以包含解決主控制平面元件300a的故障的措施。主控平面元件發生故障的示例場景如「第14圖」所示意。
在主控制平面元件300a發生故障的情況下,次要路由處理器600b的控制平面元件300b可以承擔主控制平面元件的角色,用以響應在主要路由處理器600a的其中一個健康檢查期間檢測到故障。然後,如「第14圖」所示意,路由處理器600b將承擔主要路由處理器的角色,並與正常路由器狀態資料庫(602b、602c)建立連接。路由器狀態資料庫(602b、602c)可被配置為內部處理與主控制平面元件的故障相關的任何分片故障轉移。
上述關於「第1圖」至「第14圖」所描述的實施例可以提供以下功能和優點: ● 一個基於克洛斯的織網基於現有的矽網路裝置,如:「JERICHO 2」及「RAMON級」裝置。 ● 自選路由織網。 ● 基於單元的高效負載平衡。 ● 端對端排程。 ● 控制平面執行在外部伺服器。 ● 邏輯機箱管理。 ● 單箱介面外觀。 ● 可調整冗餘路由器狀態資料庫。 ● 各層面的彈性。
「第15圖」至「第18圖」說明了用於實現邏輯路由器100的替代方法。此替代方法包含一個路由背板織網,其使用獨立交換器作為背板的骨幹單元。背板本身是基於通過前面板埠拼接的克洛斯織網。使用以下主要組件可實現路由背板織網: ● 第三層(Layer 3, L3)織網埠。 ● 乙太網鏈路狀態(Link State over Ethernet, LSoE),用於發現織網鄰居。 ● 邊界閘道器協定-最短路徑優先(Border Gateway Protocol shortest path first, BGP-SPF)控制平面,以實現單元間IP可達性。 ● 用於「交換器埠」發現的BGP-SPF擴展。 ● 多協定通道交換(Multiprotocol Tunnel Switching, MPLS)通道設定至/自遠端「交換器埠」。
需要注意的是,在此設計中,「LSoE」和「BGP-SPF」是標準化協定,用於基於分解式機箱的邏輯路由器100構建一個路由背板。下面將詳細討論這種路由背板的設計。
「第15圖」說明了使用獨立背板織網實現的邏輯路由器100的物理連接性。在此實施方式中,中央控制器1500與N個骨幹單元1502(SU-1至SU-N)連接。每一個骨幹單元1502的每一個前面板埠可以被指定為織網埠。此系統還包括M個線路單元1504(LU-N + 1至LU-N + M)。線路單元1504的後面板埠也可以被指定為織網埠。控制器可以同樣實現耦合到骨幹單元1502的織網埠。可以使用骨幹單元1502的織網埠和線路單元1504的織網埠,將N個骨幹單元1502中的每一個與M個線路單元1504中的每一個連接。此外,M個線路單元1504中的每一個可以包括X個前面板埠,每一個X面板埠被指定為交換器埠。在「第15圖」中,使用以下符號: ● LU:線路單元。 ● SU:骨幹單元。 ● N:骨幹單元的數量。 ● M:線路單元的數量。 ● X:在每一線路單元的交換器埠的數量。 ● swpA/B:在線路單元A上的交換器埠編號B。 ● fpA/B:在單元A(控制器、骨幹單元或線路單元從0至N+M編號)上的織網埠編號B。
「第15圖」的實施例可以使用與上述「第1圖」至「第14圖」相同的克洛斯連通性。所述克洛斯連通性可被用於分發由用戶配置及路由控制平面所產生的內部交換器狀態,以及用於運行操作資料,其需要流經單元(1502、1504)以實現獨立背板架構。
背板織網通過骨幹單元1502的織網埠與線路單元1504之間的互連來實現,在所有線路單元1504和控制器1500之間提供資料流量封包傳輸。MPLS路由織網可用作傳輸底層跨越所有線路單元1504和控制器織網埠。織網可具有以下某些或全部性能: ● 每一個線路單元1504的織網埠都被自動配置為在具有私有網際網路協定(Internet Protocol, IP)地址的一個內部的「織網-虛擬路由和轉送」(Fabric - Virtual Routing and Forwarding, Fabric-VRF)中的第3層路由埠。 ●  BGP-SPF被用作內部織網路由協定以建立跨越「Fabric-VRF」內的所有織網埠之間的第3層可達性。 ● 每一個線路單元1504、骨幹單元1502和控制器節點1500在其本地織網埠上運行「BGP-SPF」路由協定的實例。 ● LSoE用作發現協定以發現第3層織網鄰居和相應的封裝。 ● LSoE獲悉的鄰居被推入BGP以通過在直接連接的第2層織網埠上啟動「BGP-SPF」會話。 ● 結果是在織網中的每一個枝葉-骨幹連接上建立「BGP-SPF」同級化。 ● 在每一個節點上學習織網拓撲,並且通過「BGP-SPF」計算為每一個路由的織網埠建立「Fabric-VRF」IP可達性。 ● 進一步設置MPLS傳輸,並在本文的後面部分進行詳細說明。
邏輯路由器100的大多數面向外部的控制平面,其包括:外部BGP同級化、內部閘道協定(Interior Gateway Protocol, IGP)之路由協定、ARP和鄰居發現(Neighbor Discouvery, ND),可被託管在控制器節點1500上。換句話說,除了背板織網控制平面是分佈跨越所有節點(1500、1502、1504),大多數邏輯路由器控制平面功能可被集中在控制器節點1500上。然而,所述架構將允許特定功能(例如:雙向轉送檢測(Bidirectional Forwarding Detection, BFD)、鏈路層發現協定(Link Layer Discovery Protocol, LLDP)、虛擬路由器冗餘協定(Virtual Router Redundancy Protocol, VRRP)和LSoE)根據需要跨越線路單元1504分佈。單元(1502、1504)的資料路徑可以被相應地程式化為將本地綁定的封包發送到本地CPU(用於分佈功能)或者將它們發送到控制器節點1500(以實現集中式控制平面)。
在控制器節點1500上運行的集中式邏輯路由器控制平面,驅動分佈在線路單元1504上的資料平面的程式。一級轉送模型被定義為以下其中之一:(a)所有第3層路由在線路單元1504入口上查找完成,以及(b)結果重寫及出口埠在線路單元1504入口上被解析。將所有結果封裝重寫放置在封包上,並且將封包發送到具有結果出口埠訊息的背板傳輸織網上的線路單元1504出口。所有封包編輯都發生在線路單元1504入口上。線路單元1504出口簡單地在出口埠1504上轉送封包。上述定義的一級轉送模型被模擬在邏輯路由器100中跨越獨立線路單元1504,以完成跨越線路單元的第3層轉送: ● L1重寫被解析,並且寫在線路單元(Line Unit, LU)1504入口上。 ● 封包通過MPLS通道傳輸到LU 1504出口。 ● MPLS標籤解析LU 1504出口上的出口埠。
在一些實施例中,將所有線路單元1504前面板埠(已指定為織網埠的埠除外)指定為外部交換器埠。這些交換器埠中的每一個都將被表示為邏輯路由器100中的介面。所有邏輯路由器介面將被表示為在控制器1500上的資料平面、控制平面及管理平面中,以及在所有線路單元1504上的資料平面中。舉例來說,一個介面「swp3/2」代表線路單元3上的埠2將在所有線路單元1504上的資料平面中被程式化。在控制器節點1500上託管的管理平面中,以及在控制器1500上託管的路由控制平面中也將是可見的。
在一些實施例中,所有路由器介面,包括在遠端線路單元1504上的介面,都在每一個線路單元1504上的資料平面中被程式化,用以實現上述跨越線路單元1504的一級轉送。線路單元1504上的本地介面簡單地解析為本地埠。然而,線路單元1504上的遠端介面被程式化在資料平面中,使得從遠端介面發出的封包被發送到遠端線路單元1504,以從遠端線路單元1504上的相應路由器埠中輸出。為此目的,設置光纖傳輸通道以拼接到線路單元1504出口的資料路徑,並且可以使用覆蓋封裝來標示線路單元1504出口上的路由器埠。
關於傳輸通道和覆蓋封裝,可以有兩個選擇可用於此目的: ● 純IP織網傳輸(IP通道)和虛擬可擴展LAN(Virtual Extensible LAN, VXLAN)覆蓋封裝(如:虛擬網路識別碼(Virtual Network Identifier, VNID))以標示出口埠。 ● MPLS織網傳輸(例如:標籤交換路徑(Label Switched Path, LSP))和MPLS覆蓋內部標籤以標示出口埠。
在此架構中可以使用MPLS傳輸和覆蓋。但是,總體架構並不排除將IP傳輸與VXLAN通道配合使用來完成此任務。
為了改善或優化封裝在封包上的內部標籤的數量,可以將傳輸標籤和介面標籤都折疊為單個標籤,此標籤同時識別物理埠及提供往返於物理埠的一個傳輸LSP至/自承載物理介面的線路單元1504。這個覆蓋標籤識別用於出口流量的出口介面,切換向線路單元1504出口(例如:線路卡出口)和介面,以及在需要接入到控制器1500的介面上識別用於入口流量的入口介面,其託管在介面上運行的路由協定。為了此目的,可以定義兩個分配的內部標籤: ● 為每一個本地端(LC,埠)分配的出口標籤,用於從入口LU通道傳輸到遠端出口埠,識別交換流量的出口埠。 ● 為每一個(控制器,埠)分配的入口標籤,用於從入口LU到控制器的通道傳輸,識別主機目的地流量的入口埠。
上述每一個標籤情境可在全局範圍內,跨越邏輯路由器100內的所有節點(1500、1502、1504),並且識別物理埠和定向LSP。上述標籤分配方案實質上導致為邏輯路由器100內的每一個路由器埠分配兩個全局標籤。在一些實施例中,MPLS標籤可以被靜態地保留且在交換器埠介面發現時被分配,而且這些保留的標籤將不可用於外部。
分配給每一個線路單元1504的每一個本地路由器埠的全局範圍的標籤(跨越所有邏輯路由器節點1500、1502、1504)識別路由器埠出口以及從線路單元入口到線路單元出口的傳輸LSP。此標籤在邏輯路由器節點(1500、1502、15014)上進行如下程式化: ● 在線路單元1504入口上,此標籤是通道封裝結果的一部分,被重寫在封包上以從遠端介面輸出。 ● 在骨幹單元1502上,此標籤切換到線路單元出口,以相同的出口標籤重寫織網下一個節點(fabric-next-hop)。 ● 在線路單元出口上,此標籤僅指向出口介面(不重寫封包)。
此過程在「第16圖」中示意。在「第16圖」中使用以下標籤: ● L(e, x, y):LU-y上的交換器埠x的出口標籤。 ● L(i, x, y):LU-y上的交換器埠x的入口標籤。 ● MAC-x:單元X的路由器MAC(機器存取碼)。
封包可以由線路單元1504「LU-(N+M)」入口接收。離開線路單元「LU-(N+M)」入口後,根據所示的標籤表1600對封包進行標籤,其中包括出口介面「[12.1.1.2,swp(N+2)/1]->MAC-A」以及到出口介面「MAC-A->L(e,x,y) + MAC-1, port: fp(N+M)/1->L(e,x,y) + MAC-N, port: fp(N+M)/N」的傳輸LSP(即:通道路徑)。封包被發送到骨幹單元1502「SU-N」。骨幹單元「SU-N」根據標籤表1602重寫封包,此標籤表1602包括織網下一個節點重寫「L(e,x,y)-> MAC-N+2, port:fpN/2」和出口標籤。骨幹單元「SU-N」將重寫的封包轉送到線路單元1504「LU(N+2)」出口,其根據簡單地指向出口介面「L(e,x,y)->swp(N+2)/1」的表1604來轉換封包的標籤。
請參閱「第17圖」,一個全局範圍的標籤(跨越所有邏輯路由器節點1500、1502、1504)可以被分配給每一(控制器、路由器埠),並且識別路由器埠入口以及從線路單元入口到控制卡的傳輸LSP。此標籤在邏輯路由器節點上的程式化方式如下: ● 在線路單元1504入口上,此標籤是通道封裝結果的一部分,將被重寫在封包上,以便將封包轉出至控制器(請參閱「第17圖」的表1700,其位於線路單元「LU-(N+M)」上)。 ● 在骨幹單元1502上,此標籤僅切換到控制器,以相同的出口標籤(請參閱骨幹單元「SU-N」上的表1702)重寫織網下一個節點。 ● 在控制器1500上,此標籤識別主機堆疊中的入口介面(請參閱表1704)。
被轉出的封包需要注入LINUX核心,使其看起來好像它們到達了與封包到達的前面板埠相對應的Linux介面上。在獨立系統上,主機路徑執行在交換器的本地CPU上所運行的LINUX核心中,即:線路單元1504,在「第17圖」的例子中為線路單元「LU-(N+M)」。在線路單元1504上的ASIC上添加一個系統標頭,其指示封包到達哪一個入口介面。然後,核心中的「BCM Knet」模組將硬體入口介面映射到LINUX介面,並將封包注入LINUX資料路徑。
在所說明的架構中,主機資料路徑在多個地方運行。在線路單元1504上,可能需要將封包轉出到在線路單元1504上運行的「BGP鏈路狀態向量路由(Link State Vector Routing, LSVR)」實例。如果封包的目的地是在控制器1500上運行的控制平面協定實例,則此線路單元1504需要能夠將封包傳送到控制器。由於此路徑中沒有系統標頭,因此需要識別入口介面並將其封裝在封包本身內。
如在先前的部分中所提及,這是使用識別入口介面的唯一標籤來實現的。ACL規則可用於在入口介面上進行匹配,並且提供相應的標籤和後續的轉送鏈。但是,只有在確實需要將封包發送到控制器1500時才需要使用此結果。在其他情況下,所述轉送查找應該要驅動封裝。
「第18圖」說明一種根據「第15圖」至「第17圖」的方法來調用(Bringing up)獨立背板織網的方法。調用背板織網並進行程式化會在啟動時自動進行,而無需任何明確的用戶配置或介入,因此: ● 在「Fabric-VRF」中,跨越所有第3層啟用的織網埠上建立了第3層(Layer 3, L3)背板可達性。 ● 覆蓋傳輸通道設置至/自所有路由器埠,跨越所有邏輯路由器組件:線路單元1504、骨幹單元1502及控制器1500。
如「第18圖」所示意,用於調用背板織網的方法1800可以包括將織網配置下載到所管理的每一個單元(1500、1502、1504)(步驟1802)。這可能包括IP定址、卡角色、埠角色及埠MPLS標籤。方法1800還包括在每一個單元(1500、1502、1504)的織網埠上調用L3定址(步驟1804)。方法1800可以進一步在織網埠上調用LSoE,這包括發現織網鄰居以及將以此方式獲得的每一個單元(1500、1502、1504)的鄰居資料庫推送至控制器1500上的BGP-LSVR(步驟1806)。方法1800可以進一步包括:通過在每一個單元(1500、1502、1504)上的BGP-SPF實例執行:調用同級化、學習織網拓撲,以及在「Fabric VRF」中安裝織網IP路由(步驟1808)。
第3層背板織網的自動調用可以根據以下說明來安排,其中R0表示控制器1500。
具有啟動配置的自動配置 R0
假設已經對R0進行了映像並且管理乙太網路(ma1)已啟動並已定址。R0讀取啟動配置文件(與映像檔封裝在一起),其具有以下內容: ● 拓撲:骨幹單位、線路單位。 ● 其南向織網介面的私有地址。 ● 覆蓋介面通道的MPLS標籤。 ● 對線路單元乙太網路管理IP地址池。 ● 線路單元和骨幹單元的零接觸安裝(Zero Touch Provisioning, ZTP)/啟動配置。
調用線路單位:
R0通過從啟動配置文件進行定址來調用它的南向織網介面(「第15圖」至「第8圖」 的拓撲中的骨幹單元1502和線路單元1504)。
R0運行動態主機配置協定常駐程式(dynamic host configuration protocol daeomon, dhcpd),因此線路單元1504和骨幹單元1502管理乙太網路可以從啟動配置文件中指定的池中獲取地址。假設單元(1502、1504)的線路卡號是它們所連接的R0埠。R0對單元(1502、1504)執行ZTP服務。
推送啟動配置至線路單位:
R0將啟動配置推送到線路單元1504和骨幹單元1502。此配置識別每一個單元(1502、1504)的卡角色;將每一個本地埠識別為「織網埠」或「路由器埠」、指定北向織網介面定址,以及為路由器埠覆蓋通道提供MPLS標籤(每一個埠兩個標籤)。
然後,單元(1502、1504)在織網埠上運行LSoE,以確保它們按照啟動配置所期望的方式進行連線。LSoE發現第3層織網鄰居及相應的封裝。按照標準LSoE功能,將通過LSoE學習到的訊息的資料庫導出到BGP-SPF。
BGP-SPF同等化被建立在每一個線路單元到骨幹單元織網鏈路上。在每一個單元(1502、1504)上學習織網拓撲,並且經由BGP-SPF計算來建立到每一個路由的織網埠的「Fabric-VRF」IP可達性。BGP-SPF對在「Fabric-VRF」內具有織網路由的每一個本地線路單元/骨幹單元路由器訊息庫(Router Information Base, RIB)進行程式化。此時,所有織網埠的IP地址都具有IP可達性。
交換器埠發現和通道調用:
本地路由器埠可以在每一個線路單元1504上被發現。發現的路由器埠以及分配的MPLS標籤被推送至每一個線路單元1504上的本地BGP-LSVR實例中。BGP-SPF可以進一步增強以能夠攜帶埠加上獨立於IP定址的標籤 。 因此,BGP-SPF可以被配置以計算到邏輯路由器中的每一個「交換器埠」的最短路徑優先(Shortest Path First, SPF)。BGP-SPF還可以將這些外部交換器埠併入其「Fabric-VRF」拓撲中,獨立於它們所被配置的用戶VRF。每一個單元1504上的BGP針對每一個介面實例化覆蓋MPLS通道的入口/出口,每一個介面經由「Fabric-VRF」下一個節點來進行解析。通道可達性可經由「Fabric-VRF」下一個節點被解析,而且通道可被程式化,如上述在每一個單元1504上使用分配的MPLS標籤。
R0上的用戶配置跟隨背板織網的調用,並且可以在控制器1500上進行處理。交換器狀態被計算為此用戶配置的結果,以及控制平面可被進一步分配以用於程式化跨越一些或全部的線路單元1504。
封包路徑的例子
本節使用先前章節中描述的控制節點1500和單元(1502、1504)的資料路徑程式化來複習一些常見的封包路徑如何在系統中工作。
ARP 解析
單元(1502、1504)上的收集處理(Glean Processing)被執行在目的地IP地址上的入口L3路由查找,其解析為被程式化指向PUNT路徑的不完整的下一個節點或子網路(收集)路由。所述PUNT路徑是預先程式化的指向控制器1500的入口介面通道。入口第2層封包被封裝有入口介面標籤「ingress-interface-label」,加上重寫至「fabric-spine-next-hop」。被封裝的封包在織網埠上被發送到其中一個骨幹單元1502。骨幹單元1502終止第2層外部。在骨幹單元1502上的MPLS標籤內查找指向入口介面標籤「ingress-interface-label」,加上重寫至「fabric-spine-next-hop」。此訊息被用於將封包路由到控制器1500。控制器終止第2層外部。控制器1500被程式化為執行MPLS標籤內查找動作以作為入網點(Point Of Presence, POP),並且識別入口介面上下文。控制器在封包的目的地IP上執行L3路由查找,並且解析為不完整的下一個節點或子網路(收集)路由。然後,控制器1500使用下一個節點或子網路路由通過入口介面用於ARP解析來遞送封包。
ARP 請求
控制器1500在入口L3介面上生成廣播ARP請求。控制器L3介面解析為出口介面通道埠。廣播ARP請求的ARP封包被封裝有出口介面標籤,加上重寫至「fabric-spine-next-hop」。被封裝的封包在織網埠上被發送到其中一個骨幹單元1502。骨幹單元1502終止第2層外部。在骨幹單元1502上的MPLS標籤內查找指向出口介面標籤,加上重寫至「fabric-spine-next-hop」。根據MPLES標籤內查找,被封裝的封包在織網埠上被發送到出口線路單元1504。出口線路單元1504終止第2層外部。出口線路單元1504執行MPLS標籤內查找,導致在從MPLS標籤內查找所識別的出口線路單元的出口介面上進行POP和轉送。
ARP 答覆
ARP答覆封包可以與到控制器1500的PUNT路徑被程式化。PUNT路徑是被預先程式化,並且指向入口介面通道至控制器1500。來自線路單元1504的入口L2 ARP封包可以根據PUNT路徑與入口介面標籤被封裝,加上重寫至「fabric-spine-next-hop」。被封裝的封包在織網埠上被發送到其中一個骨幹單元1502。骨幹單元1502終止第2層外部。在骨幹單元1502上的MPLS標籤內查找指向入口介面標籤,加上重寫至「fabric-spine-next-hop」。此訊息被用於轉送ARP封包到控制器1500。
控制器1500終止第2層外部。控制器1500執行MPLS標籤內查找動作,並且被程式化為POP。控制器1500根據查找動作來識別入口介面上下文。內部封包被封裝在來自線路單元1504的封包中被識別為ARP封包,並且傳遞給執行在控制器1500上的ARP模組,此模組根據地址解析協定(ARP)處理ARP答覆。
入口 LC-> 出口 LC 路由的封包漫遊
入口線路單元1504在封包的目的地IP上執行入口L3路由查找,並且解析為下一個節點重寫、L3出口介面(L3-egress-interface)、L2出口介面通道埠(L2-egress-interface-tunnel-port)。封包下一個節點重寫結果來自於路由查找,以及VLAN編輯衍生自入口L3介面及L2埠。導致第2層封包被封裝有出口介面標籤,加上重寫至「fabric-spine-next-hop」。此封裝的封包在織網埠上根據「fabric-spine-next-hop」被傳送到其中一個織網單元1504。骨幹單元1504接收封裝的封包、終止第2層外部,以及執行MPLS標籤內查找,其指向出口介面標籤,加上重寫至「fabric-egress-line-unit-next-hop」。所述骨幹單元1504透過參考「fabric-egress-line-unit-next-hope」將封裝的封包發送到出口線路單元1504。所述出口線路單元1504終止第2層外部、執行MPLS標籤內查找結果以獲得POP,並且參考被封裝的封包,在出口線路單元1504的出口介面上轉送被封裝的封包。
「第19圖」為可被用於實施本文揭露的系統和方法的計算機裝置1900實例之方塊圖,例如:控制平面元件300、控制器1500或邏輯路由器100的各種元件(102、104、1502、1504)。
計算機裝置1900可以用於執行各種程序,諸如本文所討論的那些。計算機裝置1900可以充當伺服器、客戶端或任何其他計算機實體。計算機裝置可以執行本文討論的各種監視功能,並且可以執行一個或多個應用程式,例如:本文描述的應用程式。計算機裝置1900可以是多種計算機裝置中的任何一種,例如:桌上型電腦、筆記型電腦、伺服器、手持式電腦、平板電腦及其相似物。
計算機裝置1900包括一個或多個處理器1902、一個或多個記憶體裝置1904、一個或多個介面1906、一個或多個大容量儲存裝置1908、一個或多個輸入/輸出(Input/Output, I/O)裝置1910及一個顯示裝置1930,這些全部耦合到匯流排1912。處理器1902包括一個或多個處理器或控制器,其執行儲存在記憶體裝置1904及/或大容量儲存裝置1908中的指令。處理器1902還可以包括各種類型的計算機可讀媒體,例如:快取記憶體。
記憶體裝置1904包括各種計算機可讀媒體,例如:揮發性記憶體(如:隨機存取記憶體1914)及/或非揮發性記憶體(如:唯讀記憶體1916)。記憶體裝置1904還可以包括可複寫唯讀記憶體,例如:快閃記憶體。
大容量儲存裝置1908包括各種計算機可讀媒體,例如:磁帶、磁碟、光碟、固態記憶體(例如:快閃記憶體)等等。如「第19圖」所示意,特定的大容量儲存裝置是硬碟驅動器1924。大容量儲存裝置1908中還可以包括各種驅動器,以便能夠從各種計算機可讀媒體讀取及/或寫入各種計算機可讀媒體。大容量儲存裝置1908包括可移動媒體1926及/或不可移動媒體。
輸入/輸出裝置1910包括允許將資料及/或其他訊息輸入到計算機裝置1900或自計算機裝置1900獲得的各種裝置。舉例來說,輸入/輸出裝置1910包括游標控制裝置、鍵盤、小鍵盤、麥克風、螢幕或其他顯示裝置、揚聲器、印表機、網路介面卡、資料機、鏡頭、電荷耦合元件(CCD)或其他圖像擷取裝置,以及相似物。
顯示裝置1930包含能夠顯示訊息給計算機裝置1900的一個或多個使用者之任意類型的裝置。顯示裝置1930的例子包含:螢幕、顯示終端、視訊投影裝置,以及相似物。
介面1906包括允許計算機裝置1900與其他系統、設備或計算環境進行互動的各種介面。以介面1906為例,包含任意數量的不同網路介面1920,例如:連接至區域網路(LAN)、廣域網路(WAN)、無線網路及網際網路的介面。其他介面包括使用者介面1918和周邊裝置介面1922。介面1906還可以包括一個或多個使用者介面1918元件。介面1906還可以包括一個或多個周邊介面,例如:用於印表機、指向裝置(滑鼠、觸控板等等)、鍵盤,以及相似物的介面。
匯流排1912允許處理器1902、記憶體裝置1904、介面1906、大容量儲存裝置1908及輸入/輸出裝置1910相互通信,以及允許其他裝置或組件耦合到匯流排1912。匯流排1912代表匯流排結構的幾種類型中的一種或多種,例如:系統匯流排、PCI匯流排、IEEE 1394匯流排、USB匯流排,並以此類推。
為了說明的目的,儘管程式和其他可執行程式組件在本文中被示意為分散的方塊,但是應當理解的是,這樣的程式和組件可以在不同時間駐留在計算機裝置1900的不同儲存組件中,並且由處理器1902執行。另外,本文描述的系統和程序可以被硬體,或硬體、軟體及/或韌體的組合來實現。例如,一個或多個特定應用積體電路(Application Specific Integrated Circuits, ASICs)可被程式化以執行本文所述的一個或多個系統或程序。
100:邏輯路由器 102:骨幹元件 104,104a,104b:枝葉元件 106:織網介面 108:網路介面 200,900,1800:方法 300,300a,300b,300c:控制平面元件 400:管理LAN交換器 500:頻內網路 502:頻外網路 600,600a,600b:路由處理器軟體 602,602a,602b,602c:路由器狀態資料庫 604:線路卡軟體 800:元件狀態資料庫 1000,1002,1006,1102,1106:封包 1004:介面 1008:邊界閘道器協定模組 1500:控制器 1502:骨幹單元 1504:線路單元 1600,1602:標籤表 1604,1700,1702,1704:表 1900:計算機裝置 1902:處理器 1904:記憶裝置 1906:介面 1908:大容量儲存裝置 1910:輸出/輸入裝置 1912:匯流排 1914:隨機存取記憶體 1916:唯讀記憶體 1918:使用者介面 1920:網路介面 1922:周邊裝置介面 1924:硬碟驅動器 1926:可移動媒體 1930:顯示裝置 步驟202:邏輯路由器佇列封包於邏輯路由器相應的入口 步驟204:入口傳送一個佇列請求狀態到邏輯路由器 步驟206:邏輯路由器相應的出口以信用授予響應 步驟208:入口傳送封包至出口 步驟902:與邏輯路由器的控制平面元件相關聯的元件狀態資料庫接收邏輯路由器中每個骨幹元件和每個枝葉元件相關聯的資料 步驟904:元件狀態資料庫通知與控制平面元件相關聯的路由處理器有關資料 步驟906:路由處理器為其上的每個骨幹元件及每個枝葉元件建立唯一的Linux介面 步驟1802:下載織網配置到所管理的每一個單元:IP地址、卡角色、埠角色及埠MPLS標籤 步驟1804:在每一個單元的織網埠上調用L3定址 步驟1806:在織網埠上調用LSoE:發現鄰居、將鄰居資料庫推送至BGP-LSVR 步驟1808:在每一單元上的BGP-SPG實例:調用同級化、學習織網拓撲,以及在「Fabric-VRF」中安裝織網IP路由
第1圖為根據本發明實施例的邏輯路由器的方塊示意圖。 第2圖為根據本發明實施例在邏輯路由器中路由封包的方法的處理流程圖。 第3圖為根據本發明實施例的結合控制平面元件與邏輯路由器的方塊示意圖。 第4圖為根據本發明實施例的邏輯路由器與控制平面元件和管理LAN交換器的組合之方塊示意圖。 第5圖為根據本發明實施例的管理LAN交換器到邏輯路由器和控制平面元件的連接之方塊示意圖。 第6圖為根據本發明實施例的對邏輯路由器進行程式化和管理的組件的方塊示意圖。 第7圖為根據本發明實施例的邏輯路由器的程式化之方塊示意圖。 第8圖為根據本發明的實施例的邏輯路由器的介面的配置的方塊示意圖。 第9圖為根據本發明的實施例用於配置邏輯路由器的介面的方法的處理流程圖。 第10圖為根據本發明實施例在邏輯路由器內具有介面標籤的封包的路由的方塊示意圖。 第11圖為根據本發明實施例在邏輯路由器內的相反方向具有介面標籤的封包路由之方塊示意圖。 第12圖、第13圖及第14圖為根據本發明實施例的邏輯路由器的控制元件之間的冗餘和故障轉移的實現之方塊示意圖。 第15圖為根據本發明實施例的獨立邏輯路由器的方塊示意圖。 第16圖為第15圖的獨立邏輯路由器的方塊示意圖,根據本發明實施例包含用於標籤從入口埠到出口埠的封包的表。 第17圖為第15圖的獨立邏輯路由器的方塊示意圖,根據本發明實施例包含用於標籤路由至控制器的封包的表。 第18圖為根據本發明實施例用於調用獨立邏輯路由器的方法的處理流程圖。 第19圖為適用於實現本發明實施例方法的計算機系統之方塊示意圖。
100:邏輯路由器
102:骨幹元件
104:枝葉元件
106:織網介面
108:網路介面
300:控制平面元件

Claims (20)

  1. 一種系統,其包含: 多個分解式網路元件,用以透過一網路耦合,並且不透過一機箱的一公用背板相互耦合; 一控制元件,用以耦合所述多個分解式網路元件;以及 一路由處理器,執行在該控制元件上,並且被程式化用以: 建立多個虛擬介面給在該控制元件的一作業系統中的所述多個分解式網路元件所包含的多個枝葉元件的每一元件。
  2. 如請求項1之系統,其中該作業系統係為一LINUX作業系統,並且所述虛擬介面係為LINUX介面。
  3. 如請求項1之系統,其中該路由處理器更被程式化用以: 配置一虛擬區域網路(VLAN)標籤至所述枝葉元件的多個前面板介面的每一個前面板介面。
  4. 如請求項3之系統,其中所述枝葉元件的一第一枝葉元件更被程式化用以: 接收在該第一枝葉元件的一第一前面板介面上的一封包; 以所述枝葉元件的一第二枝葉元件的一第二前面板介面的該VLAN標籤標記該封包以獲得一已標記封包;以及 在網路上傳送該已標記封包至該第二枝葉元件。
  5. 如請求項4之系統,其中該第二枝葉元件被程式化用以: 轉送該已標記封包至該控制元件;以及 其中,該控制元件更被程式化用以: 以被分配到該已標記封包的該VLAN標籤,識別所述虛擬介面中的一虛擬介面; 從該已標記封包剝除該VLAN標籤以獲得一已剝除封包;以及 將該已剝除封包輸入至與被分配到該已標記封包的該VLAN標籤相關聯的該虛擬介面。
  6. 如請求項1之系統,其中該控制元件被程式化用以: 接收來自一應用程式的一封包; 查找所述枝葉元件的一第一枝葉元件的一第一介面的一VLAN標籤; 以該VLAN標籤標記該封包,用以獲得一已標記封包;以及 將該已標記封包注入至所述枝葉元件的一第二枝葉元件的一第二介面。
  7. 如請求項6之系統,其中該第一枝葉元件被程式化用以: 通過網路接收來自該第二枝葉元件的該已標記封包; 從該已標記封包剝除該VLAN標籤以獲得一已剝除封包;以及 從對應該VLAN標籤的該第一枝葉元件的一前面板介面輸出該已剝除封包。
  8. 如請求項1之系統,其中該控制元件是所述多個分解式網路元件外部的一計算機系統。
  9. 如請求項1之系統,其中所述多個分解式網路元件和網路實現一自路由網路織網。
  10. 如請求項9之系統,其中所述自路由網路織網實現路由協定。
  11. 如請求項10之系統,其中所述多個分解式網路元件更包含被耦合至多個枝葉元件的背板埠的多個主幹元件。
  12. 如請求項11之系統,其中所述多個骨幹元件包括RAMON矽元件,並且所述多個枝葉元件包括JERRICHO-2矽元件。
  13. 一種方法,其步驟包括: 提供通過一網路耦合的多個分解式網路元件,並且所述多個分解式網路元件不通過一機箱的一公用背板彼此耦合; 提供耦合到所述多個分解式網路元件的一控制元件;以及 透過該控制元件建立多個虛擬介面,所述虛擬介面用於該控制元件的一作業系統中的所述多個分解式網路元件所包含的多個枝葉元件的每一元件。
  14. 如請求項13之方法,其中該方法更包含: 通過控制元件分配一虛擬區域網路(VLAN)標籤至所述枝葉元件的多個前面板介面的每一前面板介面,以將每一前面板介面與所述虛擬介面其中之一進行關聯。
  15. 如請求項13之方法,其中該方法更包含透過所述枝葉元件的一第一枝葉元件執行: 接收在該第一枝葉元件的一第一前面板介面的一封包; 以所述枝葉元件的一第二枝葉元件的一第二前面板介面的一VLAN標籤標記該封包,用以獲得一已標記封包;以及 通過網路將該已標記封包傳送至該第二枝葉元件。
  16. 如請求項15之方法,其中該方法更包含: 透過該第二枝葉元件將該已標記封包轉送至該控制元件;以及 透過該控制元件執行: 以被分配到該已標記封包的該VLAN標籤,識別所述虛擬介面中的一虛擬介面; 從該已標記封包剝除該VLAN標籤以獲得一已剝除封包;以及 將該已剝除封包輸入至與被分配到該已標記封包的該VLAN標籤相關聯的該虛擬介面。
  17. 如請求項13之方法,其中該方法更包含透過該控制元件執行: 接收來自一應用程式的一封包; 查找所述枝葉元件的一第一枝葉元件的一第一介面的一VLAN標籤; 以該VLAN標籤標記該封包,用以獲得一已標記封包;以及 將該已標記封包注入至所述枝葉元件的一第二枝葉元件的一第二介面。
  18. 如請求項17之方法,其中該方法更包含透過該第一枝葉元件執行: 通過網路接收來自該第二枝葉元件的該已標記封包; 從該已標記封包剝除該VLAN標籤以獲得一已剝除封包;以及 從對應該VLAN標籤的該第一枝葉元件的一前面板介面輸出該已剝除封包。
  19. 如請求項13之方法,其中該控制元件是所述多個分解式網路元件外部的一計算機系統。
  20. 如請求項13之方法,其中所述多個分解式網路元件和網路實現一自路由網路織網。
TW108143019A 2018-11-26 2019-11-26 具有分解式網路元件的邏輯路由器 TWI821463B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201862771407P 2018-11-26 2018-11-26
US62/771,407 2018-11-26

Publications (2)

Publication Number Publication Date
TW202031021A true TW202031021A (zh) 2020-08-16
TWI821463B TWI821463B (zh) 2023-11-11

Family

ID=70770016

Family Applications (4)

Application Number Title Priority Date Filing Date
TW108143020A TW202038585A (zh) 2018-11-26 2019-11-26 具有分解式網路元件的邏輯路由器
TW108143021A TWI807136B (zh) 2018-11-26 2019-11-26 實現具有分解式網路元件之邏輯路由器的系統及其方法
TW108143017A TW202037127A (zh) 2018-11-26 2019-11-26 具有分解式網路元件的邏輯路由器
TW108143019A TWI821463B (zh) 2018-11-26 2019-11-26 具有分解式網路元件的邏輯路由器

Family Applications Before (3)

Application Number Title Priority Date Filing Date
TW108143020A TW202038585A (zh) 2018-11-26 2019-11-26 具有分解式網路元件的邏輯路由器
TW108143021A TWI807136B (zh) 2018-11-26 2019-11-26 實現具有分解式網路元件之邏輯路由器的系統及其方法
TW108143017A TW202037127A (zh) 2018-11-26 2019-11-26 具有分解式網路元件的邏輯路由器

Country Status (8)

Country Link
US (5) US10965496B2 (zh)
EP (4) EP3888309A4 (zh)
JP (4) JP7462630B2 (zh)
KR (4) KR20210093312A (zh)
CN (4) CN113169940B (zh)
CA (4) CA3120710A1 (zh)
TW (4) TW202038585A (zh)
WO (4) WO2020112786A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11630601B2 (en) 2021-03-02 2023-04-18 Silicon Motion, Inc. Memory and apparatus for performing access control with aid of multi-phase memory-mapped queue
US11842083B2 (en) 2021-02-03 2023-12-12 Infortrend Technology, Inc. Storage system architecture with dual storage virtualization controllers and the data access method thereof

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW202038585A (zh) 2018-11-26 2020-10-16 美商阿爾克斯股份有限公司 具有分解式網路元件的邏輯路由器
US11394634B2 (en) * 2020-04-06 2022-07-19 Vmware, Inc. Architecture for stretching logical switches between multiple datacenters
US11088919B1 (en) 2020-04-06 2021-08-10 Vmware, Inc. Data structure for defining multi-site logical network
US11233691B2 (en) 2020-04-06 2022-01-25 Cisco Technology, Inc. Third generation partnership project (3GPP) plug and play (PnP) operation in a hybrid open radio access network (O-RAN) environment
US11522754B2 (en) * 2020-09-15 2022-12-06 Arista Networks, Inc. Systems and methods for Zero-Touch Provisioning of a switch in intermediate distribution frames and main distribution frames
US20220094637A1 (en) * 2020-09-23 2022-03-24 Nokia Solutions And Networks Oy Neighbor discovery for border gateway protocol in a multi-access network
US11671357B2 (en) * 2021-01-06 2023-06-06 Arista Networks, Inc. Systems and method for propagating route information
US11849381B2 (en) 2021-04-26 2023-12-19 Arrcus Inc. Use of IP networks for routing of cellular data packets
US20220345984A1 (en) * 2021-04-26 2022-10-27 Arrcus Inc. Use Of Ip Networks For Routing Of Cellular Data Packets
US11632692B2 (en) 2021-04-26 2023-04-18 Arrcus Inc. Use of IP networks for routing of cellular data packets
CN114553796B (zh) * 2022-02-24 2023-10-20 昆高新芯微电子(江苏)有限公司 交换芯片基于cpu reason id实现CoPP的方法和装置

Family Cites Families (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6078590A (en) * 1997-07-14 2000-06-20 Cisco Technology, Inc. Hierarchical routing knowledge for multicast packet routing
US6285679B1 (en) * 1997-08-22 2001-09-04 Avici Systems, Inc. Methods and apparatus for event-driven routing
US7088714B2 (en) * 2000-08-24 2006-08-08 Tasman Networks, Inc System and method for connecting geographically distributed virtual local area networks
US8051199B2 (en) * 2001-06-08 2011-11-01 The University Of Hong Kong Self-routing address assignment in packet-switched networks
JP2003023444A (ja) * 2001-07-06 2003-01-24 Fujitsu Ltd 仮想ルータを利用した動的な負荷分散システム
US7286468B2 (en) 2002-11-12 2007-10-23 Cisco Technology, Inc. Routing system and method for synchronizing a routing system with peers after failover
US7415507B1 (en) * 2004-02-05 2008-08-19 Cisco Technology, Inc. Logical routers
JP4789425B2 (ja) * 2004-03-31 2011-10-12 富士通株式会社 経路テーブル同期方法、ネットワーク機器および経路テーブル同期プログラム
US8068408B2 (en) 2004-11-01 2011-11-29 Alcatel Lucent Softrouter protocol disaggregation
US20070014240A1 (en) * 2005-07-12 2007-01-18 Alok Kumar Using locks to coordinate processing of packets in a flow
US7583590B2 (en) 2005-07-15 2009-09-01 Telefonaktiebolaget L M Ericsson (Publ) Router and method for protocol process migration
US20070058657A1 (en) * 2005-08-22 2007-03-15 Graham Holt System for consolidating and securing access to all out-of-band interfaces in computer, telecommunication, and networking equipment, regardless of the interface type
CN100505692C (zh) * 2006-09-19 2009-06-24 中国人民解放军国防科学技术大学 高性能路由器bgp路由协议分布并行实现方法
US8391185B2 (en) * 2007-05-29 2013-03-05 Cisco Technology, Inc. Method to transport bidir PIM over a multiprotocol label switched network
US8064469B2 (en) * 2008-08-08 2011-11-22 Dell Products L.P. Parallel VLAN and non-VLAN device configuration
US8098656B2 (en) * 2009-06-26 2012-01-17 Avaya, Inc. Method and apparatus for implementing L2 VPNs on an IP network
US8369345B1 (en) * 2009-11-13 2013-02-05 Juniper Networks, Inc. Multi-router system having shared network interfaces
CN102170385B (zh) * 2010-02-27 2014-01-22 华为技术有限公司 一种以太树业务中以太网帧的发送方法和运营商边缘设备
US10103939B2 (en) * 2010-07-06 2018-10-16 Nicira, Inc. Network control apparatus and method for populating logical datapath sets
US8718070B2 (en) 2010-07-06 2014-05-06 Nicira, Inc. Distributed network virtualization apparatus and method
US9059940B2 (en) 2010-08-04 2015-06-16 Alcatel Lucent System and method for transport control protocol in a multi-chassis domain
US9369426B2 (en) * 2011-08-17 2016-06-14 Nicira, Inc. Distributed logical L3 routing
US8606105B2 (en) * 2011-09-15 2013-12-10 Ciena Corporation Virtual core router and switch systems and methods with a hybrid control architecture
US9032014B2 (en) * 2012-02-06 2015-05-12 Sap Se Diagnostics agents for managed computing solutions hosted in adaptive environments
US9225549B2 (en) * 2012-08-06 2015-12-29 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Multi-chassis link aggregation in a distributed virtual bridge
US9274843B2 (en) * 2012-09-14 2016-03-01 Ca, Inc. Multi-redundant switchable process pooling for cloud it services delivery
US9137154B2 (en) 2012-11-29 2015-09-15 Lenovo Enterprise Solutions (Singapore Pte. LTD Management of routing tables shared by logical switch partitions in a distributed network switch
US9479427B2 (en) * 2012-12-21 2016-10-25 Dell Products L.P. System and methods for load placement in data centers
US8953439B1 (en) * 2012-12-31 2015-02-10 Juniper Networks, Inc. Separation of control plane functions using virtual machines in network device
CN103430499B (zh) * 2013-02-06 2016-01-20 华为技术有限公司 在网络虚拟化系统中组播数据通道建立的方法及设备
US9201837B2 (en) 2013-03-13 2015-12-01 Futurewei Technologies, Inc. Disaggregated server architecture for data centers
US9270704B2 (en) * 2013-03-13 2016-02-23 FireMon, LLC Modeling network devices for behavior analysis
US9300483B2 (en) 2013-03-15 2016-03-29 International Business Machines Corporation Self-routing multicast in a software defined network fabric
US9785455B2 (en) * 2013-10-13 2017-10-10 Nicira, Inc. Logical router
US9503325B2 (en) * 2013-11-15 2016-11-22 Cisco Technology, Inc. Dynamic virtual port instantiation for scalable multitenant network
US9548896B2 (en) * 2013-12-27 2017-01-17 Big Switch Networks, Inc. Systems and methods for performing network service insertion
US9313129B2 (en) * 2014-03-14 2016-04-12 Nicira, Inc. Logical router processing by network controller
EP3624407B1 (en) 2014-03-21 2023-05-17 Nicira Inc. Dynamic routing for logical routers
US9893988B2 (en) * 2014-03-27 2018-02-13 Nicira, Inc. Address resolution using multiple designated instances of a logical router
US9913198B2 (en) * 2014-09-10 2018-03-06 Comcast Cable Communications, Llc Systems and methods for routing data
CN105515802B (zh) * 2014-09-22 2019-04-12 新华三技术有限公司 网络虚拟化方法及装置
US9853855B2 (en) * 2014-12-03 2017-12-26 Fortinet, Inc. Stand-by controller assisted failover
CN104486124B (zh) * 2014-12-19 2018-09-04 盛科网络(苏州)有限公司 使用逻辑端口实现多系统链路聚合的装置及方法
US9787605B2 (en) * 2015-01-30 2017-10-10 Nicira, Inc. Logical router with multiple routing components
WO2016136223A1 (ja) * 2015-02-25 2016-09-01 日本電気株式会社 インターコネクション装置、管理装置、リソース分離型コンピュータシステム、方法、及び、プログラム
US9787641B2 (en) * 2015-06-30 2017-10-10 Nicira, Inc. Firewall rule management
US9838315B2 (en) * 2015-07-29 2017-12-05 Cisco Technology, Inc. Stretched subnet routing
US9979593B2 (en) * 2015-09-30 2018-05-22 Nicira, Inc. Logical L3 processing for L2 hardware switches
US20170180220A1 (en) * 2015-12-18 2017-06-22 Intel Corporation Techniques to Generate Workload Performance Fingerprints for Cloud Infrastructure Elements
US9883264B2 (en) * 2015-12-31 2018-01-30 Infinera Corporation Systems and methods for multilayer peering
CN108700922B (zh) * 2016-01-07 2021-09-28 纬波里奥股份有限责任公司 数据中心管理
US10819575B2 (en) * 2016-02-26 2020-10-27 Arista Networks, Inc. System and method of configuring network elements
US9942633B2 (en) * 2016-04-21 2018-04-10 Fujitsu Limited Disaggregated optical transport network switching system
US10333849B2 (en) * 2016-04-28 2019-06-25 Nicira, Inc. Automatic configuration of logical routers on edge nodes
WO2018065804A1 (en) * 2016-10-05 2018-04-12 Kaleao Limited Hyperscale architecture
US11323327B1 (en) * 2017-04-19 2022-05-03 Juniper Networks, Inc. Virtualization infrastructure element monitoring and policy control in a cloud environment using profiles
US10623316B2 (en) * 2017-04-27 2020-04-14 Mellanox Technologies Tlv Ltd. Scaling of switching tables with high bandwidth
US10558648B2 (en) * 2017-05-23 2020-02-11 International Business Machines Corporation Service outage time reduction for a planned event in a system
US10693814B2 (en) * 2018-09-17 2020-06-23 Fujitsu Limited Ultra-scalable, disaggregated internet protocol (IP) and ethernet switching system for a wide area network
TW202038585A (zh) * 2018-11-26 2020-10-16 美商阿爾克斯股份有限公司 具有分解式網路元件的邏輯路由器

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11842083B2 (en) 2021-02-03 2023-12-12 Infortrend Technology, Inc. Storage system architecture with dual storage virtualization controllers and the data access method thereof
TWI829080B (zh) * 2021-02-03 2024-01-11 普安科技股份有限公司 具有雙儲存虛擬化控制器之資料儲存系統架構及其資料存取方法
US11630601B2 (en) 2021-03-02 2023-04-18 Silicon Motion, Inc. Memory and apparatus for performing access control with aid of multi-phase memory-mapped queue
TWI820603B (zh) * 2021-03-02 2023-11-01 慧榮科技股份有限公司 藉助於多階段記憶體映射隊列以進行存取控制的方法、系統單晶片積體電路、記憶體裝置以及用於記憶體裝置的控制器

Also Published As

Publication number Publication date
US20200169512A1 (en) 2020-05-28
KR20210095888A (ko) 2021-08-03
US11863351B2 (en) 2024-01-02
JP7462630B2 (ja) 2024-04-05
WO2020112756A1 (en) 2020-06-04
CA3120746A1 (en) 2020-06-04
KR20210095890A (ko) 2021-08-03
EP3887962A4 (en) 2022-08-17
EP3888309A4 (en) 2022-08-10
JP2022509645A (ja) 2022-01-21
TW202038585A (zh) 2020-10-16
CN113169928B (zh) 2023-03-21
CN113169940B (zh) 2023-08-25
WO2020112786A1 (en) 2020-06-04
KR20210093312A (ko) 2021-07-27
CA3124394A1 (en) 2020-06-04
JP2022509970A (ja) 2022-01-25
JP2022509186A (ja) 2022-01-20
US20200169501A1 (en) 2020-05-28
KR20210095889A (ko) 2021-08-03
CN113169928A (zh) 2021-07-23
EP3887962A1 (en) 2021-10-06
EP3888309A1 (en) 2021-10-06
EP3888308A4 (en) 2022-09-14
EP3888308A1 (en) 2021-10-06
CN113168391A (zh) 2021-07-23
US10965496B2 (en) 2021-03-30
TWI807136B (zh) 2023-07-01
US11082261B2 (en) 2021-08-03
US10992497B2 (en) 2021-04-27
US20200169433A1 (en) 2020-05-28
WO2020112831A1 (en) 2020-06-04
WO2020112817A1 (en) 2020-06-04
US11343121B2 (en) 2022-05-24
EP3888313A1 (en) 2021-10-06
EP3888313A4 (en) 2022-08-10
CA3120743A1 (en) 2020-06-04
TWI821463B (zh) 2023-11-11
US20210211323A1 (en) 2021-07-08
CN113169940A (zh) 2021-07-23
JP2022509644A (ja) 2022-01-21
TW202037128A (zh) 2020-10-01
US20200169516A1 (en) 2020-05-28
TW202037127A (zh) 2020-10-01
CN113169929B (zh) 2022-10-21
CA3120710A1 (en) 2020-06-04
CN113169929A (zh) 2021-07-23

Similar Documents

Publication Publication Date Title
TWI821463B (zh) 具有分解式網路元件的邏輯路由器
US11283707B2 (en) Segment routing with fast reroute for container networking
US11271905B2 (en) Network architecture for cloud computing environments
RU2704714C1 (ru) Технологии для предоставления максимальной глубины идентификатора сегмента узла и/или линии связи, использующие ospf