TW202038585A - 具有分解式網路元件的邏輯路由器 - Google Patents
具有分解式網路元件的邏輯路由器 Download PDFInfo
- Publication number
- TW202038585A TW202038585A TW108143020A TW108143020A TW202038585A TW 202038585 A TW202038585 A TW 202038585A TW 108143020 A TW108143020 A TW 108143020A TW 108143020 A TW108143020 A TW 108143020A TW 202038585 A TW202038585 A TW 202038585A
- Authority
- TW
- Taiwan
- Prior art keywords
- routing
- main
- processor
- logical router
- control element
- Prior art date
Links
- 238000000034 method Methods 0.000 claims description 46
- 238000009941 weaving Methods 0.000 claims description 45
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 claims description 10
- 229910052710 silicon Inorganic materials 0.000 claims description 10
- 239000010703 silicon Substances 0.000 claims description 10
- 240000008213 Brosimum alicastrum Species 0.000 claims description 7
- 235000005828 ramon Nutrition 0.000 claims description 7
- 238000012546 transfer Methods 0.000 claims description 5
- 230000008878 coupling Effects 0.000 claims description 2
- 238000010168 coupling process Methods 0.000 claims description 2
- 238000005859 coupling reaction Methods 0.000 claims description 2
- 239000004744 fabric Substances 0.000 abstract description 15
- 238000007726 management method Methods 0.000 description 22
- 238000010586 diagram Methods 0.000 description 21
- 230000005540 biological transmission Effects 0.000 description 20
- 230000006870 function Effects 0.000 description 20
- 238000012545 processing Methods 0.000 description 10
- ORQBXQOJMQIAOY-UHFFFAOYSA-N nobelium Chemical compound [No] ORQBXQOJMQIAOY-UHFFFAOYSA-N 0.000 description 9
- 238000004590 computer program Methods 0.000 description 8
- 230000036541 health Effects 0.000 description 7
- 230000009471 action Effects 0.000 description 6
- 238000005538 encapsulation Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 101100029611 Schizosaccharomyces pombe (strain 972 / ATCC 24843) phf1 gene Proteins 0.000 description 2
- 101100519877 Schizosaccharomyces pombe (strain 972 / ATCC 24843) phf2 gene Proteins 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 101001046686 Homo sapiens Integrin alpha-M Proteins 0.000 description 1
- 101000935040 Homo sapiens Integrin beta-2 Proteins 0.000 description 1
- 102100022338 Integrin alpha-M Human genes 0.000 description 1
- 101000962498 Macropis fulvipes Macropin Proteins 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004753 textile Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/70—Virtual switches
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/40—Arrangements 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/44—Star or tree networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
- H04L12/4645—Details on frame tagging
- H04L12/4666—Operational details on the addition or the stripping of a tag in a frame, e.g. at a provider edge node
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
- H04L12/4675—Dynamic sharing of VLAN information amongst network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0668—Management 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0895—Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/033—Topology update or discovery by updating distance vector protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/08—Learning-based routing, e.g. using neural networks or artificial intelligence
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/44—Distributed routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/58—Association of routers
- H04L45/586—Association of routers of virtual routers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/52—Queue scheduling by attributing bandwidth to queues
- H04L47/527—Quantum based scheduling, e.g. credit or deficit based scheduling or token bank
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/111—Switch interfaces, e.g. port details
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/113—Arrangements for redundant switching, e.g. using parallel planes
- H04L49/115—Transferring a complete packet or cell through each plane
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/252—Store and forward routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3054—Auto-negotiation, e.g. access control between switch gigabit interface connector [GBIC] and link
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/55—Prevention, detection or correction of errors
- H04L49/552—Prevention, detection or correction of errors by ensuring the integrity of packets received through redundant connections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/354—Switches specially adapted for specific applications for supporting virtual local area networks [VLAN]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Medicines Containing Antibodies Or Antigens For Use As Internal Diagnostic Agents (AREA)
- Mobile Radio Communication Systems (AREA)
- Radio Relay Systems (AREA)
- Train Traffic Observation, Control, And Security (AREA)
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之系統,其中該第二路由處理器被程式化用以: 偵測該主要路由處理器的錯誤;以及 當該主要路由處理器的錯誤被偵測到,轉移控制至該第二路由處理器。
- 如請求項3之系統,其中: 該主要路由處理器被程式化以在該主要路由資料庫及該第二路由資料庫中建立一檢查點,該檢查點包含記錄該邏輯路由器的一狀態的一檢查點資料;以及 當該主要路由處理器的錯誤被偵測到時,該第二路由處理器被程式化用以: 從該第二路由資料庫中的該檢查點讀取該檢查點資料;以及 根據該檢查點資料恢復該邏輯路由器的該狀態。
- 如請求項1之系統,其中該系統更包含: 一第三控制元件被耦合至所述多個分解式網路元件,該第三控制元件託管一第三路由資料庫,該第三路由資料庫係為該第二路由資料庫的一複製品。
- 如請求項1之系統,其中該主要路由資料庫被程式化用以與在所述多個分解式網路元件上執行的線路卡軟體共享狀態數據。
- 如請求項6之系統,其中該線路卡軟體在容器內執行,所述容器執行在所述多個分解式網路元件上。
- 如請求項1之系統,其中該路由處理器被程式化用以提供下列至少其一: 跨該邏輯路由器的介面控制;以及 路由協定。
- 如請求項1之系統,其中該主要路由資料庫及該第二路由資料庫儲存該邏輯路由器的一狀態及該邏輯路由器的統計。
- 如請求項1之系統,其中該主要控制元件及該第二控制元件皆為所述多個分解式網路元件外部的一計算機系統。
- 如請求項1之系統,其中所述多個分解式網路元件和網路實現一自路由網路織網。
- 如請求項1之系統,其中所述多個分解式網路元件包含多個骨幹元件及多個枝葉元件,所述骨幹元件包含RAMON矽裝置,以及所述枝葉元件包含JERICHO-2矽裝置。
- 一種方法,其步驟包括: 提供通過一網路耦合的多個分解式網路元件,並且所述多個分解式網路元件不通過一機箱的一公用背板彼此耦合; 提供被耦合至所述多個分解式網路元件的一主要控制元件; 提供被耦合至所述多個分解式網路元件的一第二控制元件; 代管一主要路由資料庫,該主要路由資料庫在該主要控制元件上; 代管一第二路由資料庫,該第二路由資料庫在該第二控制元件上且為該主要路由資料庫的一複製品;以及 在該主要控制元件上執行一路由處理器,用以根據該主要路由資料庫配置所述多個分解式網路元件作為一邏輯路由器。
- 如請求項13之方法,其中該路由處理器為一主要路由處理器,該方法更包含: 在該第二控制元件上執行一第二路由處理器,該第二路由處理器監控該主要路由處理器的一狀態。
- 如請求項14之方法,其中通過該第二路由處理器更包含: 偵測該主要路由處理器的錯誤;以及 響應偵測到所述主要路由處理器的錯誤,轉移控制至該第二路由處理器。
- 如請求項15之方法,其中該方法更包含: 通過該主要路由處理器在該主要路由資料庫及該第二路由資料庫中建立一檢查點,該檢查點包含記錄該邏輯路由器的一狀態的一檢查點資料;以及 響應偵測到該主要路由處理器的錯誤,透過該第二路由處理器執行: 從該第二路由資料庫中的該檢查點讀取該檢查點資料;以及 根據該檢查點資料恢復該邏輯路由器的該狀態。
- 如請求項13之方法,其中該方法更包含: 提供被耦合至所述多個分解式網路元件的一第三控制元件,該第三控制元件代管一第三路由資料庫,該第三路由資料庫係為該第二路由資料庫的一複製品。
- 如請求項13之方法,其中該方法更包含透過該主要路由資料庫提供狀態資料至執行在所述多個分解式網路元件上的線路卡軟體。
- 如請求項13之方法,其中該方法更包含透過該路由處理器執行下列至少其中之一: 跨該邏輯路由器的介面控制;以及 路由協定。
- 如請求項13之方法,其中該主要控制元件及該第二控制元件皆為所述多個分解式網路元件外部的一計算機系統。
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 |
---|---|
TW202038585A true TW202038585A (zh) | 2020-10-16 |
TWI844586B TWI844586B (zh) | 2024-06-11 |
Family
ID=70770016
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108143020A TWI844586B (zh) | 2018-11-26 | 2019-11-26 | 具有分解式網路元件的邏輯路由系統及其方法 |
TW108143021A TWI807136B (zh) | 2018-11-26 | 2019-11-26 | 實現具有分解式網路元件之邏輯路由器的系統及其方法 |
TW108143019A TWI821463B (zh) | 2018-11-26 | 2019-11-26 | 具有分解式網路元件的邏輯路由器 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108143021A TWI807136B (zh) | 2018-11-26 | 2019-11-26 | 實現具有分解式網路元件之邏輯路由器的系統及其方法 |
TW108143019A TWI821463B (zh) | 2018-11-26 | 2019-11-26 | 具有分解式網路元件的邏輯路由器 |
Country Status (8)
Country | Link |
---|---|
US (5) | US11343121B2 (zh) |
EP (4) | EP3888309A4 (zh) |
JP (6) | JP7462630B2 (zh) |
KR (4) | KR20210093312A (zh) |
CN (4) | CN113169929B (zh) |
CA (4) | CA3120743A1 (zh) |
TW (3) | TWI844586B (zh) |
WO (4) | WO2020112756A1 (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020112756A1 (en) | 2018-11-26 | 2020-06-04 | Arrcus Inc. | Logical router comprising disaggregated network elements |
US11258668B2 (en) | 2020-04-06 | 2022-02-22 | Vmware, Inc. | Network controller for multi-site logical network |
US11336556B2 (en) * | 2020-04-06 | 2022-05-17 | Vmware, Inc. | Route exchange between logical routers in different datacenters |
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 |
US12052169B2 (en) * | 2020-09-23 | 2024-07-30 | 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 |
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 |
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 |
US12114250B2 (en) | 2021-04-26 | 2024-10-08 | Arrcus Inc. | Selective importing of UE addresses to VRF in 5G networks |
US11632692B2 (en) | 2021-04-26 | 2023-04-18 | Arrcus Inc. | Use of IP networks for routing of cellular data packets |
US11849381B2 (en) | 2021-04-26 | 2023-12-19 | Arrcus Inc. | Use of IP networks for routing of cellular data packets |
US12063583B2 (en) * | 2021-04-26 | 2024-08-13 | Arrcus Inc. | Use of IP networks for routing of cellular data packets |
CN114553796B (zh) * | 2022-02-24 | 2023-10-20 | 昆高新芯微电子(江苏)有限公司 | 交换芯片基于cpu reason id实现CoPP的方法和装置 |
US20230379218A1 (en) * | 2022-05-20 | 2023-11-23 | Dell Products L.P. | ZEROTOUCH BORDER GATEWAY PROTOCOL (BGP) CONFIGURATION IN NON-VOLATILE MEMORY EXPRESS OVER-FABRICS (NVMe-oF) ENVIRONMENTS |
US12107722B2 (en) | 2022-07-20 | 2024-10-01 | VMware LLC | Sharing network manager between multiple tenants |
CN118158090B (zh) * | 2024-05-11 | 2024-09-17 | 浙商银行股份有限公司 | 云平台宿主机网络链路冗余状态判别方法及装置 |
Family Cites Families (68)
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 |
JP2001094613A (ja) * | 1999-09-21 | 2001-04-06 | Canon Inc | 通信制御装置、方法および記録媒体 |
US7088714B2 (en) * | 2000-08-24 | 2006-08-08 | Tasman Networks, Inc | System and method for connecting geographically distributed virtual local area networks |
JP2002077266A (ja) * | 2000-09-05 | 2002-03-15 | Nec Commun Syst Ltd | 論理ルータ及びそのルーチング情報設定方法 |
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 | 富士通株式会社 | 経路テーブル同期方法、ネットワーク機器および経路テーブル同期プログラム |
US9100266B2 (en) * | 2004-11-01 | 2015-08-04 | Alcatel Lucent | SoftRouter protocol failovers |
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 |
US8842679B2 (en) | 2010-07-06 | 2014-09-23 | Nicira, Inc. | Control system that elects a master controller instance for switching elements |
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 |
CN104081734B (zh) * | 2012-04-18 | 2018-01-30 | Nicira股份有限公司 | 利用事务使分布式网络控制系统中的波动降至最小 |
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 |
EP2940938B1 (en) * | 2013-02-06 | 2019-11-27 | Huawei Technologies Co., Ltd. | Method and device for establishing multicast data channel in network virtualization system |
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 |
US9910686B2 (en) * | 2013-10-13 | 2018-03-06 | Nicira, Inc. | Bridging between network segments with a 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 |
CN110278151B (zh) | 2014-03-21 | 2021-11-19 | Nicira股份有限公司 | 用于逻辑路由器的动态路由 |
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 |
WO2017045079A1 (en) * | 2015-09-18 | 2017-03-23 | Avigilon Corporation | Physical security system having multiple server nodes configured to implement a conditionally triggered rule |
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 |
US10462543B2 (en) * | 2016-04-21 | 2019-10-29 | Fujitsu Limited | ODU path protection in a disaggregated OTN switching system |
US10333849B2 (en) * | 2016-04-28 | 2019-06-25 | Nicira, Inc. | Automatic configuration of logical routers on edge nodes |
US10298698B2 (en) * | 2016-07-08 | 2019-05-21 | Cisco Technology, Inc. | Endpoint location tracking |
EP3452909A1 (en) * | 2016-08-23 | 2019-03-13 | Oracle International Corporation | System and method for supporting fast hybrid reconfiguration in a high performance computing environment |
US10298491B2 (en) * | 2016-08-25 | 2019-05-21 | Cisco Technology, Inc. | Efficient path detection and validation between endpoints in large datacenters |
US11138146B2 (en) * | 2016-10-05 | 2021-10-05 | Bamboo Systems Group 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 |
WO2020112756A1 (en) * | 2018-11-26 | 2020-06-04 | Arrcus Inc. | Logical router comprising disaggregated network elements |
-
2019
- 2019-11-26 WO PCT/US2019/063229 patent/WO2020112756A1/en unknown
- 2019-11-26 JP JP2021529414A patent/JP7462630B2/ja active Active
- 2019-11-26 US US16/695,913 patent/US11343121B2/en active Active
- 2019-11-26 EP EP19888586.5A patent/EP3888309A4/en active Pending
- 2019-11-26 CA CA3120743A patent/CA3120743A1/en active Pending
- 2019-11-26 EP EP19889237.4A patent/EP3887962A4/en active Pending
- 2019-11-26 TW TW108143020A patent/TWI844586B/zh active
- 2019-11-26 CN CN201980077327.XA patent/CN113169929B/zh active Active
- 2019-11-26 US US16/695,796 patent/US10992497B2/en active Active
- 2019-11-26 CN CN201980077305.3A patent/CN113169928B/zh active Active
- 2019-11-26 TW TW108143021A patent/TWI807136B/zh active
- 2019-11-26 CA CA3124394A patent/CA3124394A1/en active Pending
- 2019-11-26 KR KR1020217018858A patent/KR20210093312A/ko active Search and Examination
- 2019-11-26 TW TW108143019A patent/TWI821463B/zh active
- 2019-11-26 CN CN201980077363.6A patent/CN113169940B/zh active Active
- 2019-11-26 EP EP19888573.3A patent/EP3888308B1/en active Active
- 2019-11-26 KR KR1020217018859A patent/KR20210095889A/ko active Search and Examination
- 2019-11-26 WO PCT/US2019/063313 patent/WO2020112817A1/en unknown
- 2019-11-26 JP JP2021529415A patent/JP7525486B2/ja active Active
- 2019-11-26 US US16/696,279 patent/US10965496B2/en active Active
- 2019-11-26 WO PCT/US2019/063268 patent/WO2020112786A1/en unknown
- 2019-11-26 CN CN201980077362.1A patent/CN113168391A/zh active Pending
- 2019-11-26 JP JP2021529416A patent/JP7528076B2/ja active Active
- 2019-11-26 EP EP19888678.0A patent/EP3888313A4/en active Pending
- 2019-11-26 KR KR1020217018857A patent/KR20210095888A/ko active Search and Examination
- 2019-11-26 KR KR1020217018860A patent/KR20210095890A/ko active Search and Examination
- 2019-11-26 CA CA3120710A patent/CA3120710A1/en active Pending
- 2019-11-26 CA CA3120746A patent/CA3120746A1/en active Pending
- 2019-11-26 JP JP2021529417A patent/JP7528077B2/ja active Active
- 2019-11-26 US US16/696,106 patent/US11082261B2/en active Active
- 2019-11-26 WO PCT/US2019/063331 patent/WO2020112831A1/en unknown
-
2021
- 2021-03-23 US US17/210,218 patent/US11863351B2/en active Active
-
2024
- 2024-07-24 JP JP2024118793A patent/JP2024150665A/ja active Pending
- 2024-07-24 JP JP2024118795A patent/JP2024153744A/ja active Pending
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI844586B (zh) | 具有分解式網路元件的邏輯路由系統及其方法 | |
TWI857990B (zh) | 具有分解式網路元件的邏輯路由系統及其方法 |