[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP7525486B2 - 分解されたネットワーク要素を含む論理ルータ - Google Patents

分解されたネットワーク要素を含む論理ルータ Download PDF

Info

Publication number
JP7525486B2
JP7525486B2 JP2021529415A JP2021529415A JP7525486B2 JP 7525486 B2 JP7525486 B2 JP 7525486B2 JP 2021529415 A JP2021529415 A JP 2021529415A JP 2021529415 A JP2021529415 A JP 2021529415A JP 7525486 B2 JP7525486 B2 JP 7525486B2
Authority
JP
Japan
Prior art keywords
leaf
packet
elements
interface
network
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2021529415A
Other languages
English (en)
Other versions
JP2022509644A (ja
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 JP2022509644A publication Critical patent/JP2022509644A/ja
Application granted granted Critical
Publication of JP7525486B2 publication Critical patent/JP7525486B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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
    • 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
    • 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]

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)

Description

関連出願への相互参照
本出願は、2018年11月26日に出願された米国仮特許出願第62/771,407号「LOGICAL ROUTER COMPRISING DISAGGREGATED NETWORK ELEMENTS」に対する優先権を主張するものであり、この文献は、全体が参照により本明細書に援用される。
データセンターは、さらにいっそう普及し、複雑になっている。この複雑性により、データセンターの複数のコンピュータ間の通信を可能にするネットワークの複雑性が増加している。
特に、より簡素化し、多数のコンピュータのためのネットワークルーティング能力の構成を可能にする必要がある。
上記課題を解決するために、本願の特許請求の範囲に記載のシステム及び方法を提供するものである。
本発明の利点を容易に理解するために、上記に簡単に記載されている本発明のより詳細な説明が、添付の図面に図示されている特定の実施形態を参照にして、以下に記載されている。これらの図面は本発明の典型的な実施形態を図示しているだけであると理解され、したがって、本発明の範囲を限定するものではない。本発明は、添付の図面を使用して、詳細及び付加的な特定が説明されている。
本発明の実施形態による論理ルータの概略構成図である。 本発明の実施形態による論理ルータ内のパケットをルーティングする方法のプロセスフロー図である。 本発明の実施形態による制御プレーン要素と組み合わせた論理ルータの概略構成図である。 本発明の実施形態による管理LANスイッチ及び制御プレーン要素と組み合わせた論理ルータの概略構成図である。 本発明の実施形態による制御プレーン要素及び論理ルータへの管理LANスイッチの接続を示す概略構成図である。 本発明の実施形態による論理ルータをプログラミングして管理するコンポーネントの概略構成図である。 本発明の実施形態による論理ルータのプログラミングを示す概略構成図である。 本発明の実施形態による論理ルータのインタフェースの構成を示す概略構成図である。 本発明の実施形態による論理ルータのインタフェースを構成する方法のプロセスフロー図である。 本発明の実施形態による論理ルータ内のインタフェースラベルを有するパケットのルーティングを示す概略構成図である。 本発明の実施形態による論理ルータ内のインタフェースラベルを有するパケットの逆方向のルーティングを示す概略構成図である。 本発明の実施形態による論理ルータの制御素子間のフェイルオーバー及び冗長性の実装を示す概略構成図である。 本発明の実施形態による論理ルータの制御素子間のフェイルオーバー及び冗長性の実装を示す概略構成図である。 本発明の実施形態による論理ルータの制御素子間のフェイルオーバー及び冗長性の実装を示す概略構成図である。 本発明の実施形態によるスタンドアロン型論理ルータの概略構成図である。 本発明の実施形態によるイングレスポートからエグレスポートへのパケットのラベリングのためのテーブルを含む図15のスタンドアロン型論理ルータの概略構成図である。 本発明の実施形態による制御装置へルーティングされるパケットのラベリングのためのテーブルを含む図15のスタンドアロン型論理ルータの概略構成図である。 本発明の実施形態によるスタンドアロン型論理ルータを起動する方法のプロセスフロー図である。 本発明の実施形態による方法を実装するのに適したコンピュータシステムの概略構成図である。
添付の図面に図示されて説明されている本発明のコンポーネントは、多種多様な異なる構成に設計及び配置することができることは容易に理解できるであろう。したがって、図示されている、以下の本発明の実施形態のより詳細な説明は、特許請求の範囲に記載されている本発明の範囲を限定することを意図しているものではなく、ここで検討されている本発明による実施形態の特定の実施例を単に示すものである。ここに記載の実施形態は、図面を参照することにより最もよく理解されるものであり、同様の部品は明細書及び図面を通して同様の参照番号により示されている。
本発明による実施形態は、装置、方法、又はコンピュータプログラム製品として具現化することができる。したがって、本発明は、完全にハードウェアの形、完全にソフトウェアの形(ファームウェア、常駐ソフトウェア、マイクロコード等を含む)、又は、ここで一般的に「モジュール」又は「システム」と呼ばれるハードウェア及びソフトウェアを組み合わせた形で具現化することができる。さらに、本発明は、媒体内に具現化されたコンピュータ使用可能プログラムコードを有する任意の有形的表現媒体内に具現化されたコンピュータプログラム製品の形をとることができる。
1以上のコンピュータ使用可能媒体又はコンピュータ可読媒体の任意の組み合わせを利用することができる。例えば、コンピュータ可読媒体は、携帯用コンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)デバイス、読出専用メモリ(ROM)デバイス、消去可能プログラマブル読出専用メモリ(EPROM又はフラッシュメモリ)デバイス、携帯用コンパクトディスク読出専用メモリ(CDROM)、光記憶装置、及び磁気記憶装置の1以上を含むことができる。選択された実施形態において、コンピュータ可読媒体は、命令実行システム、装置、又はデバイスにより、又は、に接続して使用されるプログラムを含有、記憶、通信、伝搬、又は移送することができる任意の非一時的媒体を含むことができる。
本発明の動作を実行するためのコンピュータプログラムコードは、Java、Smalltalk、C++等のオブジェクト指向プログラミング言語、及びCプログラミング言語又は同様のプログラミング言語等の慣用手続き型プログラミング言語を含む1以上のプログラミング言語の任意の組み合わせにより書き込むことができ、また、HTML、XML、JSON等の記述言語又はマークアップ言語を使用することもできる。プログラムコードは、スタンドアロン型ソフトウェアパッケージとして完全にコンピュータシステム上で、スタンドアロン型ハードウェアユニット上で、部分的にコンピュータから一定の距離に置かれた遠隔コンピュータ上で、又は完全に遠隔コンピュータ又はサーバ上で、実行することができる。後のシナリオにおいて、遠隔コンピュータは、ローカルエリアネットワーク(LAN)又はワイドエリアネットワーク(WAN)を含む任意の型のネットワークを介してコンピュータと接続することができ、又は、外部のコンピュータに接続することができる(例えば、インターネットサービスプロバイダを使用したインターネットを介して)。
本発明は、本発明の実施形態による方法、装置(システム)及びコンピュータプログラム製品のフローチャート及び/又は構成図を参照して以下に説明されている。フローチャート及び/又は構成図の各ブロック、及びフローチャート及び/又は構成図のブロックの組み合わせは、コンピュータプログラム命令又はコードにより実装することができる。これらのコンピュータプログラム命令は、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能なデータ処理装置のプロセッサに提供され、コンピュータ又は他のプログラム可能なデータ処理装置のプロセッサにより実行される命令が、フローチャート及び/又は構成図の1又は複数のブロックに特定されている機能/作用を実装するための手段を生成するように、マシンを生成することができる。
コンピュータ可読媒体内に記憶された命令が、フローチャート及び/又は構成図の1又は複数のブロックに特定されている機能/作用を実装する、命令手段を含む製品を生成するように、これらのコンピュータプログラム命令も、コンピュータ又は他のプログラム可能なデータ処理装置が特定の方法で機能するように導くことができる非一時的コンピュータ可読媒体に記憶することができる。
コンピュータ又は他のプログラム可能なデータ処理装置上で実行された命令が、フローチャート及び/又は構成図の1又は複数のブロックに特定されている機能/作用を実装するためのプロセスを提供するように、コンピュータプログラム命令も、コンピュータ又は他のプログラム可能なデータ処理装置上にロードされ、コンピュータ又は他のプログラム可能なデータ処理装置上で実行される一連の動作ステップを引き起こし、コンピュータ実装プロセスが生成される。
ここに開示されているシステム及び方法は、コンピュータデータルーティングシステムのための論理ルータに関する。特に、ここに開示されているシステム及び方法は、同じシャーシ内に配置される必要のない、又はシャーシの同じバックプレーンに接続される必要のない分解されたネットワーク要素のセットから形成される論理ルータ「シャーシ」に関する。論理ルータは、分散データプレーンを有する制御及び管理の単一の論理点を含むことができる。論理ルータは、ネットワークトポロジのサイズを減少するために外部のコンピュータシステムにオフロードされた制御プレーンも含む。このことは、より新しい世代の中央処理装置(CPU)を利用するために、制御プレーンを異なるコンピュータシステムに移行することも可能にする。論理ルータを含む分解されたネットワーク要素は、ここに開示されているシステム及び方法内に組み込まれる専用ネットワークコンポーネントを使用して実装することができる。以下に開示されている実施形態において、ネットワーク要素は、BROADCOMにより開発されたJERICHO 2及びRAMON等のシリコンデバイスを含む。これらは単に例示であり、これらのデバイスの基本的なネットワークルーティング機能を提供する他のネットワーク要素も同様の方法で使用することができる。
図1は、論理ルータ100のアーキテクチャの例を示している。図1に図示されているように、論理ルータ100は、複数のスパイン要素102、複数のリーフ要素104、及び各スパイン要素102を1以上のリーフ要素104に接続するファブリックインタフェース106を含む。以下の例において、スパイン要素102は、RAMONクラス・シリコンデバイスであり、リーフ要素104は、複数のJERICHO 2クラス・シリコンデバイスのセットである。シリコンデバイス102、104のファブリックインタフェースは、10G又は100Gイーサネットケーブル等のネットワークケーブル、光ファイバーケーブル、又は他の型のネットワーク接続により互いに接続することができる。
論理ルータ100において、各スパイン要素102は、セルフルーティングファブリックのファブリック要素として機能する。このセルフルーティングファブリックは、ソフトウェアによる補助を必要としないリンク障害の処理を含むシリコン内の全ての関連するルーティングプロトコルを実装する。論理ルータ内の各ファブリック要素は、図1に図示されているように、ファブリックインタフェースを介して1以上のリーフ要素104にインタフェース接続される。リーフ要素104の一群は、セルベースのファブリックの実装に使用することができる。リーフ要素104の一群がデータパケットをセルに分割する。これらのセルは、セルベースのファブリックにわたって分散され、リーフ要素104の1つからのエグレス(egress)上で再構築される。この実装は、ファブリックのより効果的な利用を可能にする。各リーフ要素104は、リーフ要素104がネットワークと通信することを可能にするネットワークインタフェース108によっても構成されることができる。
図2は、論理ルータ100を使用して実装することができる方法200の例を図示している。特に、方法200は、論理ルータ100を使用するエンドツーエンド・パケットスケジューリングの実装を図示している。方法200は、リーフ要素104のイングレス(ingress)ポートが方法200により処理されたパケットを受信するように、リーフ要素104上で実行されるコードにより、又は外部の制御装置(以下の制御要素300の記載参照)により実装することができる。
方法200は、論理ルータ100による、パケットが受信されたポートを備える1つのリーフ要素104上等の、論理ルータ100に関連するイングレス上のデータパケットのキューイング202を含むことができる。次に、イングレスが、データパケットの宛先アドレスに対応する第2のリーフ要素104等の論理ルータ100にキュー要求を送信する204。論理ルータ100に関連するエグレス(例えば、第2のリーフ要素104)は、クレジット付与(credit grant)により応答する。最後に、スパイン要素102により実装されたファブリックをわたって、イングレスがパケットをエグレスに送信する。
図3を参照して、ここに開示されている論理ルータ100は、以下の設計検討に対して所望の性能を提供する。
・システムの処理量
・論理シャーシのプロビジョニング
・シャーシのブートストラップ
・シャーシのスケール変更
・システム状態のスケール変更
・デバッグ及びトラブルシューティング
・ファブリック障害、ソフトウェア障害、及びコンポーネント故障の原因となる回復力
図3の実施形態において、スパイン要素102は、リーフ要素104に接続して、一段Closファブリックを実装する。特に、各リーフ要素104は、各スパイン要素102に接続することができる。
図3のシステムは、JERICHO 2シリコンデバイスであることができるリーフユニット104により実装される480x400G又は1920x100Gポートを有する48リーフ要素104インタフェーススケールを提供する以下の属性を有することができる。代替スケールにおいて、240x400G又は960x100Gポートを提供する24リーフ要素であることができる。本開示の目的の為に、「AxB」の表記は、Bの処理量を有するAポートを示している。図3の構成は、説明を目的としており、他のデバイスの他の構成を同様の方法で使用することもできる。
図示されている実施形態においては、13のスパイン要素102が存在する。図3の論理ルータアーキテクチャ内のスパイン要素102はそれぞれ、1又は複数のRAMONクラス要素等の、1又は複数の要素を含むことができる。いくつかの実装において、スパインプロファイル(即ち、スパイン要素102の構成)は、1つの24ポートRAMONクラス要素及び2つの48ポートRAMONクラス要素を含むことができる。
図3の論理ルータ100は、48リーフ要素も含む。各スパイン要素102は、400G QSFP-DD(クワッド小型フォーム・ファクタプラグ可能接続倍密度(quad small form-factor pluggable connection double density))光コネクタ及び400Gプロトコルを実装する通信リンクを使用して、各リーフ要素104とインタフェース接続されることができる。しかしながら、他の型のコネクタ及びプロトコルを使用することができる。いくつかの実施形態において、各リーフ要素104は、10x400又は40x100インタフェース、BROADWELL(8コア)CPU、及び32GBのRAM(ランダムアクセスメモリ)を含む1つのJ2クラス・シリコンデバイスから構成される。各リーフ要素104は、外部ネットワークと通信するために40x100Gインタフェースから構成されることができる。
いくつかの実施形態において、論理ルータ100は、演算システム(例えば、以下に記載の図19の演算システムの実施例参照)を使用して実装される1以上の制御プレーン要素300により管理されることができる。制御プレーン要素は、論理ルータ(即ち、論理ルータ100のリーフ要素104、スパイン要素102、及びこれらの要素間の相互接続ファブリック)の外部のコンピュータシステムである。各制御プレーン要素300は、例えば10G通信リンクを使用して、1以上のリーフ要素104とインタフェース接続されることができる。制御プレーン要素300は、共通のシャーシ内に又は共通のバックプレーンに接続されているように、論理ルータの分離した要素102、104が単一のルータとして機能するように、論理ルータ100にシャーシ抽象化モデル(chassis abstraction model)を実装するために、ルータ状態管理を実行する構成エージェント(configuration agent)として機能することができる。
図4を参照して、論理ルータ100は、管理及び制御のシングルポイント(single point)により管理されることができる。管理LAN(ローカルエリアネットワーク)スイッチ400が、論理ルータ100及び関連する制御プレーン要素300の全ての管理及び制御機能を実行する。制御プレーン要素300とインタフェース接続された複数のリーフ要素104とインタフェース接続された複数のスパイン要素102を含む論理ルータ100は、管理LANスイッチ400により管理される。管理LANスイッチ400は、スパイン要素102、リーフ要素104、及び制御プレーン要素300のそれぞれにインタフェース接続される。
図5を参照して、LANスイッチ400は、図示されている方法で、論理ルータ100の要素とインタフェース接続される。例えば、リーフ要素104a及びリーフ要素104bは、それぞれ独立して制御プレーン要素300にインタフェース接続される。各リーフ要素104a、104b及び制御プレーン要素300は、独立して管理LANスイッチ400にインタフェース接続される。いくつかの具現化において、管理LANスイッチとのそれぞれのインタフェース接続は、2x10Gリンクを介して実装されるが、他の型の接続を使用することもできる。
各リーフ要素104a、104b及び制御プレーン要素300の間のインタフェース接続は、インバンド(in-band)ネットワーク500及びホストパケットパスに関連付けることができる。一方、管理LANスイッチ400とのそれぞれのインタフェース接続は、アウトオブバンド(out-of-band)(OOB)ネットワーク502に関連付けることができる。管理LANスイッチ400は、OOBネットワーク502を通して要素104、104b、300と通信することができ、ブートストラップ/画像ダウンロード、システム状態提供、並びにシステム統計及び同様のデータ収集等の機能を実行することができる。
図6を参照して、論理ルータ100に関連するソフトウェアは、ルートプロセッサソフトウェア600、ルータ状態データベース602、及びラインカードソフトウェア604(ここでは、ラインカードソフトウェアモジュール604とも呼ばれる)を含むことができる。論理ルータ100のいくつかの実装において、全てのソフトウェアが展開され、コンテナとして管理される。ルートプロセッサソフトウェア600は、ソフトウェアがロードされるデバイスがルータ状態データベース602とシステム状態及び統計に関するデータを双方向で共有するように、前記デバイスをプログラミングする。ルータ状態データベース602は、ラインカードソフトウェア604とシステム状態及び統計に関するデータを双方向で共有するようにプログラミングされている。
いくつかの実装において、ルートプロセッサソフトウェア600は、以下の機能又はデータ構造を実装する。
・システムワイドインタフェース制御(論理ルータ100の要素102、104にわたる)
・ルーティングプロトコル、ARP(address resolution protocol)(アドレス解決プロトコル)、IPv6 ND(internet protocol v6 neighbor discovery)(インターネットプロトコルv6近隣探索)
・ルーティング情報ベース(Routing Information Base)(RIB)
・ノースバウンドAPI(application programming interfaces)(アプリケーションプログラミングインタフェース)
・構成管理
・データストア
・LINUXホストパス
・テレメトリ
・機能-ACL(access control list)(アクセス制御リスト)、QoS(quality of service)(サービスの品質)、CoPP(control plane policing)(制御プレーンポリシング)
・仮想シャーシ管理
いくつかの具現化において、ルータ状態データベース602は、以下の機能又はデータ構造を含む。
・ルータ状態
・統計
・分割化
・複製化
・クラスタ化
いくつかの具現化において、ラインカードソフトウェア604は、以下の機能又はデータ構造を実装する。
・ASIC(application specific integrated circuit)(特定用途向け集積回路)/SDK(ソフトウェア開発キット)プログラミング
・ステータス(Stats)
・ラインカードオフロード(BFD(bidirectional forwarding detection)(双方向フォーワーディング検出))、LLDP(link layer discovery protocol)(リンク層検出プロトコル)、SFlow(サンプルフロー)等)
図7は、3つのソフトウェア構築ブロック600、602、604が実際の論理ルータの具現化においてどのように実装されるかを示している。図7に図示されているように、分離したラインカードソフトウェアモジュール604(即ち、ラインカードソフトウェア604のインスタンス)は、各スパイン要素102及び各リーフ要素104内に実装されることができる。ラインカードソフトウェアモジュール604のそれぞれは、第1の制御プレーン要素300内のルータ状態データベース602(ルータ状態データベース602a)と通信する。この第1の制御プレーン要素300aは、ルータプロセッサソフトウェア600(ここで、ルートプロセッサモジュール600とも呼ばれる)のインスタンスを実行することもできる。第1の制御プレーン要素300aは、図7に図示される第1の第2の制御プレーン要素300bとデータを共有する。第1の第2の制御プレーン要素300bは、図7に図示される第2の第2の制御プレーン要素300cとデータを共有する。第1の第2の制御プレーン要素300b及び第2の第2の制御プレーン要素300cのそれぞれは、ルータ状態データベース602b、602cをそれぞれ含み、それにより、データ冗長性等の機能を実装する。第1の第2の制御プレーン要素300b及び第2の第2の制御プレーン要素300cはそれぞれ、ここに説明されているように、第1の制御プレーン要素300aの故障時のバックアップとして機能することができる。
図1~7を参照に上述されている制御要素300を有する論理ルータ100及び管理LANスイッチ400は、以下の様々な動作シナリオにおいて使用することができる。
図8は、論理ルータ100がインタフェースを生成するシナリオを示している。図8に図示されているように、LINUX演算システム上で実行されている制御プレーン要素300は、要素状態データベース800及びルートプロセッサ600を含む。本明細書を通してLINUX演算システムが記載されているが、UNIXの他のバリエーション、MAC OS,マイクロソフトWINDOWS、又は他の当業者には既知のオペレーティングシステム等の他のオペレーティングシステムを使用することもできる。
ルータ状態データベース602に相当する又は一部である要素状態データベース800は、論理ルータ100の一部を形成するスパイン要素102及びリーフ要素104のそれぞれに接続されることができる。要素状態データベース800は、構成(ポート、他の要素102、104、300へのポートの接続、要素102、104、300のアドレス等)等のスパイン要素102及びリーフ要素104のそれぞれに関連するデータを記憶することができる。この情報は、ここに開示の任意のファブリック検出技術(例えば、LSoE、LLDP)を使用して制御プレーン要素300により検出することができる。要素状態データベース800は、このデータをルートプロセッサに提供する。スパイン要素102及びリーフ要素104のそれぞれの各インタフェースについて、ルートプロセッサ600は、ルートプロセッサ600上で固有のインタフェース(図8のswp1/1…swp1/40, swp2/1…swp2/40…swp48/1…swp48/40)を作成し、標記swpA/Bは、要素A(即ち、スパイン要素102又はリーフ要素104)のポートB上のインタフェースを示している。固有のインタフェースは、LINUXインタフェースであることができる。他の型のオペレーティングシステムが使用されると、そのオペレーティングシステムによるネットワークインタフェースが作成される。ルートプロセッサは、論理ルータ100の全ての分解された要素102、104のための全てのインタフェース状態を作成する。固有のインタフェースの作成を示すフロー図が図9に図示されている。
図9を参照にして、制御プレーン要素300は、図示されている方法900を実行することができる。方法900は、論理ルータ100のスパイン要素102及びリーフ要素104のそれぞれに関連するデータを制御プレーン要素300の要素状態データベース800受信する902ことを含む。要素状態データベース800は、制御プレーン要素300上で実行されているルートプロセッサ600にステップ902で受信されたデータを通知する904。その後、ルートプロセッサは、ステップ902で受信されたデータ内で参照されているスパイン要素102及びリーフ要素104のそれぞれのために、LINUXインタフェース等の固有のインタフェースを作成する906。
ルートプロセッサ600を実行している制御プレーン要素300上のLINUX(又は他のオペレーティングシステム)インスタンス内でインタフェースが作成されると、その後、個々のリーフ要素104のフロントパネル上の実際のインタフェースが、それらに対応する作成されたインタフェースに結合される(stitched)。このことを実行する1つの方法は、固有のVLAN(仮想LAN)タグを各リーフ要素104上の各フロントパネルインタフェースに割り当てることであり、各VLANタグはさらに、制御プレーン要素300上に作成されたインタフェースの1つにマッピングされる。
図10は、リーフ要素104のインタフェースに関連して、方法900により作成されたインタフェースを使用したデータパケットルーティングの実施例を示している。リーフ要素104a上で実行されているソフトウェアは、パケット1000を受信し、パケット1000の宛先に対応するイングレスインタフェースを検索するデータパスにルールをプログラミングし、パケット1002を取得するためにパケットに対応するVLANタグを追加し、制御プレーン要素300に接続されたリーフ要素104bに、リーフ要素104bのエグレスポートを識別する宛先識別子と共に、パケット1002を転送する。パケット1002は、TTL(time to live)(有効時間)デクリメントを実行することなく、リーフ要素104bに送信される。パケット1002は、1以上のスパイン要素102を経由してエグレスリーフ要素104bに送信される。図10から明らかなように、パケット1002は、ファブリック106、例えば「BCMファブリックヘッダ、宛先=2005」(BCM=BROADCOM)、を通してパケット1002をルーティングするための情報を含むことができる。
エグレスリーフ要素104bは、パケット1002を受信すると、パケット1002を制御プレーン要素300に転送する。その後、制御プレーン要素300上で実行されているLINUXインスタンスは、パケット1002のVLANタグにより参照されているインタフェース1004を識別し、VLANタグを取り外し、対応するインタフェース1004内に取り外されたパケット1006を導入する。そこからパケット1006は通常通りLINUXデータパスを通って流れ、ボーダゲートウェイプロトコル(BGP)モジュール1008等のアプリケーションはインタフェース1004上に到着するそのパケットを参照する。
図11は、図10に示す実施例の逆方向の通過を示している。アプリケーション1008は、ルーティングデータベース602により定義されたルーティング及びパケットの宛先による適切なインタフェース1004内にパケット1100を導入する。LINUXデータパス等のデータパスは、パケットの宛先アドレスのためのエグレスフロントパネルインタフェースを一意的に識別するVLANタグに各インタフェースをマッピングするようにプログラミングされる。
特に、(制御プレーン要素300に接続された)イングレスリーフ要素104bは、アプリケーション1008からパケット1100を受信し、適切なエグレスリーフ要素104a、即ち、上記のルーティングデータベース602によるプログラミングによりパケットがルーティングされるべきエグレスリーフ要素、のためのVLANタグを検索する。イングレスリーフ要素104bは、パケット1100にVLANタグをタグ付けし、タグ付けされたパケット1102を論理ルータ100の要素102、104を通してエグレスリーフ要素104aに転送する(パケット1104参照)。エグレスリーフ要素104は、VLANタグを取り外し、VLANタグを取り外されたパケット1106を正しいフロントパネルポート、即ち、ルーティングデータベース602によるプログラミング及びパケットの宛先に対応するルーティングに対応し、VLANタグに関連するフロントパネルポート、の外部に転送する。
図12、13及び14を参照して、論理ルータ100及び制御プレーン要素300は、以下の機能の全て又はいくつかを実装するようにプログラミングされる。
・処理レベル再開
・ルートプロセッサ冗長性
・ルータ状態データベース冗長性
・ファブリック要素、リンク障害
図12、13及び14の実施例及び対応する記載は、故障に強い論理ルータ100を提供するために複数の制御プレーン要素300を含む実装がどのように使用されるか示している。
図12は、高可用性論理ルータ100を実装するための制御プレーン要素300の構成を示している。3つのノードの制御プレーン要素のクラスタは、図12に図示されている制御プレーン要素300a、300b、300cを含む。制御プレーン要素300aは、第1のルートプロセッサ600aとして指定されるルートプロセッサ600のインスタンス600aを実行する第1の制御プレーン要素である。制御プレーン要素300bは、第2のルートプロセッサ600bとして指定されるルートプロセッサ600のインスタンス600bを実行する。この実施例において、制御プレーン要素300cは、ルートプロセッサ600のインスタンスを実行しない。
各制御プレーン要素300a、300b、300cは、個々のルータ状態データベース602a、602b、602cをそれぞれ含むことができる。ルートプロセッサ600a、600bのそれぞれは、他のルートプロセッサ600b、600a(600bが600aをチェック、600aが600bをチェック)上でヘルスチェック診断を実行する。図12に図示されているように、第1のルートプロセッサ600aは、制御プレーン要素300a、300b、300cのそれぞれにおいて各ルータ状態データベース602a、602b、602cとインタフェース接続される。
制御プレーン要素300aのルータ状態データベース602aは、制御プレーン要素300bのルータ状態データベース602bとヘルスチェック複製データを共有する。ルータ状態データベース602bは、制御プレーン要素300cのルータ状態データベース602cとヘルスチェック複製データを共有する。このようにして、第1及び第2のルートプロセッサ600a、600bのヘルスに関連するデータが、複数のデータベース602a、602b、602cにわたって冗長に記憶される。
いくつかの実装において、第1のルートプロセッサ600aは、ルータ状態データベース602a、602b、602cにおける必要状態をチェックポイント化する。図12に図示されているように、ルータ状態データベース602a、602b、602cは、全てのクラスタノード上に生成される。さらに、ルータ状態データベース602a、602b、602cのデータ断片は、冗長性のための内部的に複製され、各ルートプロセッサ600a、600bは、フェイルオーバーを検出するために内部のヘルスチェックを実行することができる。第1のルートプロセッサ600a上のヘルスチェックが失敗した場合、図13に図示されているように、第2のルートプロセッサ600bが第1のルートプロセッサとなり、第1のルートプロセッサ600aの機能を引き継ぐ。
図13は、第1のルートプロセッサ600aの故障、及び第2のルートプロセッサ600bへの第1のステータスの移行を示している。図示されているように、第2のルートプロセッサ600bは、ルータ状態データベース602a、602b、602cのそれぞれと接続を確立し、チェックポイント化されたデータを読み込んでシステム状態(例えば、チェックポイント毎の第2のルートプロセッサ600bの状態及び/又は論理ルータ100の要素102、104の状態)を復元する。したがって、第2のルートプロセッサ600bは、第1のルートプロセッサ600aの役割を引き継ぐ。このようにして、隣接制御プレーン要素300a、300cとの接続が再確立され、優雅な再開が開始される。例えば、新しい第1のルートプロセッサ600aの機能は、システム状態が復元されると、ルートプロセッサ600a機能に関して、上述のように継続される。
図14を参照にして、いくつかの実装は、第1の制御プレーン要素300aの故障を原因とするプロビジョニングを含むこともできる。主制御プレーン要素が故障する例示的シナリオが、図14に図示されている。
第1の制御プレーン要素300aが故障した場合、第2のルートプロセッサ600bをホスティングする制御プレーン要素300bが、第1のルートプロセッサ600a上のヘルスチェックの1つにおける故障の検出に応答して、主制御プレーン要素の役割を引き受ける。その後、ルートプロセッサ600bは、主ルートプロセッサの役割を引き受け、図14に図示されているように、健全なルータ状態データベース602b、602cとの接続を確立する。ルータ状態データベース602b、602cは、第1の制御プレーン要素300aの故障に関連する任意の分割フェイルオーバーを内部的に処理するように構成されることができる。
図1~図14を参照して上述されている実施形態は、以下の機能及び利点を提供することができる。
・JERICHO 2及びRAMONクラスデバイス等の既存のシリコンネットワークデバイスに基づくClosベースのファブリック
・セルフルーティングファブリック
・セルベースの効果的な負荷分散
・エンドツーエンドスケジューリング
・外部サーバ上で実行される制御プレーン
・論理シャーシ管理
・シングルボックスルックアンドフィール
・スケール変更可能な冗長ルータ状態データベース
・全てのレベルにおける回復力
図15~図18には、論理ルータ100を実装するための代替アプローチが示されている。代替アプローチは、バックプレーンのスパインユニットとしてスタンドアロンのスイッチを使用するルーテッドバックプレーンファブリックを含む。バックプレーン自体は、フロントパネルポートを介して結合されたClosファブリックに基づいている。ルーテッドバックプレーンファブリックは、以下の主コンポーネントを使用して実現される。
・レイヤ3(L3)ファブリックポート
・ファブリック近隣探索のためのLSoE(イーサネットにわたるリンク状態)
・ユニット間IP到達性のためのボーダゲートウェイプロトコル最短パス優先(Border Gateway Protocol shortest path first)(BGP-SPF)制御プレーン
・「スイッチポート」検出のためのBGP-SPF拡張
・遠隔「スイッチポート」へ/からセットアップされたマルチプロトコルラベルスイッチング(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に結合されているファブリックポートを実装することができる。N個のスパインユニット1502のそれぞれは、スパインユニット1502のファブリックポート及びラインユニット1504のファブリックポートを使用して、M個のラインユニット1504のそれぞれとインタフェース接続される。さらに、M個のラインユニット1504のそれぞれは、それぞれがスイッチポートとして指定されるX個のフロントパネルポートを含むことができる。図15において、以下の表示が使用されている。
・LU:ラインユニット
・SU:スパインユニット
・N:スパインユニットの数
・M:ラインユニットの数
・X:各ラインユニット上のスイッチポートの数
・swpA/B:ラインユニットA上のスイッチポートの数B
・fpA/B:ユニットA(制御装置、スパインユニット、又はラインユニットの数0からN+M)上のファブリックポートの数B
図15の実施形態は、図1~図14に関して上述のものと同じClos接続を使用することができる。Clos接続は、スタンドアロンのバックプレーン構造を実装するためにユニット1502、1504間をフローする必要がある実行時間運用データと同様に、ルーティング制御プレーン及びユーザ構成から得られた内部スイッチ状態を分散するために使用される。
スパインユニット1502及びラインユニット1504のファブリックポート間の相互接続により実装されるバックプレーンファブリックは、全てのラインユニット1504及び制御装置1500にわたって移送されるデータトラフィックパケットを提供する。全てのラインユニット1504及び制御装置1500のファブリックポートにわたる移送アンダーレイ(transport underlay)としてMPLSルーテッドファブリックを使用することができる。ファブリックは、以下の特性の全て又はいくつかを有することができる。
・各ラインユニット1504のファブリックポートは、プライベートIP(インターネットプロトコル)アドレスを有する内部ファブリックVRF(仮想ルーティング及び転送)におけるレイヤ3ルーテッドポートとして自動設定される。
・BGP-SPFは、ファブリックVRF内の全てのファブリックポートにわたるレイヤ3到達性を確立するための内部ファブリックルーティングプロトコルとして使用される。
・ラインユニット1504、スパインユニット1502、及び制御装置ノード1500のそれぞれは、ローカルファブリックポート上でBGP-SPFルーティングプロトコルのインスタンスを実行する。
・LSoEは、対応するカプセル化及びレイヤ3近隣を探索する探索プロトコルとして使用される。
・LSoE学習近隣は、BGP内にプッシュされ、直接接続されたレイヤ2ファブリックポートにわたるBGP-SPFセッションを起動する。
・BGP-SPFピアリングは、結果的に、ファブリックにおける各リーフ-スパイン接続上に確立される。
・ファブリックトポロジは、各ノード上で学習され、ファブリックVRF IP到達性は、BGP-SPF演算を介して各ルーテッドファブリックポートに確立される。
・MPLS移送は、さらにセットアップされ、この文書において以下により詳しく説明されている。
外部BGPピアリング、IGP(内部ゲートウェイプロトコル)ルーティングプロトコル、ARP、及びND(近隣探索)を含む論理ルータ100の最外装制御プレーンは、制御装置ノード1500上でホスティングされる。即ち、全てのノード1500、1502、1504にわたって分散されているバックプレーンファブリック制御プレーンを除いて、最も論理的なルータ制御プレーン機能は、制御装置ノード1500上に集中される。しかしながら、図示されているアーキテクチャは、必要に応じて、ラインユニット1504にわたって分散される特定の機能(BFD(双方向フォーワーディング検出)、LLDP(リンク層検出プロトコル)、VRRP(virtual router redundancy protocol)(仮想ルータ冗長化プロトコル)及びLSoE等)を可能にする。ユニット1502、1504のデータパスは、ローカルバウンドパケットをローカルCPU(分散機能のため)又は制御装置ノード1500(集中制御プレーンを実装するため)に送信するように適宜プログラミングされる。
制御装置ノード上で実行されている集中論理ルータ制御プレーンは、ラインユニット1504にわたって分散されているデータプレーンのプログラミングを駆動する。一段転送モデルは、(a)イングレスラインユニット1504上で全てのレイヤ3ルートルックアップが実行され、(b)結果として得られる再書き込み及びエグレスポートがイングレスラインユニット1504上で解読されるモデルとして定義される。全ての結果として得られるカプセル化再書き込みをパケットに加え、パケットは、結果として得られたエグレスポート情報と共に、バックプレーン移送ファブリックをわたってエグレスラインユニット1504に送信される。全てのパケット編集は、イングレスラインユニット1504上で起こる。エグレスラインユニット1504は、単にパケットをエグレスポート上に転送する。上記で定義された一段転送モデルは、ラインユニットにわたるレイヤ3転送を達成するこの論理ルータ100内のスタンドアロンのラインユニット1504にわたってシミュレートされる。
・LI再書き込みは、イングレスラインユニット(LU)1504上に書き込みされ解読される。
・パケットは、MPLSトンネルにわたってエグレスLU1504にトンネルされる。
・MPLSラベルはエグレスLU1504上にエグレスポートを解読する。
いくつかの実施形態において、全てのラインユニット1504のフロントパネルポート(ファブリックポートとして指定されているポートを除く)は、上述のように外部スイッチポートとして指定されている。これらのスイッチポートのそれぞれは、論理ルータ100におけるインタフェースとして示されている。全ての論理ルータのインタフェースは、全てのラインユニット上のデータプレーンと同様に、制御装置1500上のデータプレーン、制御プレーン、及び管理プレーン内に示されている。例えば、インタフェース「swp3/2」は、ラインユニット3上のポート2を示し、全てのラインユニット1504上でデータプレーン内にプログラミングされる。制御装置1500上でホスティングされたルーティング制御プレーン内、及び制御装置ノード1500上でホスティングされた管理プレーン内でも可視である。
いくつかの実施形態において、遠隔ラインユニット上のインタフェースを含む全てのルータインタフェースは、上述のようにラインユニット1504にわたる一段転送を達成するために、各ラインユニット1504上でデータプレーン内にプログラミングされる。ラインユニット1504上のローカルインタフェースは単にローカルポートを解読する。しかしながら、ラインユニット1504上の遠隔インタフェースは、この遠隔インタフェースからエグレスするパケットが遠隔ラインユニット1504に送信され、遠隔ラインユニット1504上の対応するルータポートからエグレスされるように、データプレーン内にプログラミングされる。アンダーレイファブリック移送トンネルは、この目的のためにデータパスをエグレスラインユニット1504に結合するようにセットアップされ、エグレスラインユニット1504上のルータポートを識別するためにオーバーレイカプセル化を使用することができる。
この目的のために使用される移送トンネル及びオーバーレイカプセル化に関しては、いくつかの選択肢がある。
・エグレスポートを識別するための、純IPファブリック移送(IPトンネル)及びVXLAN(virtual extensible LAN)(仮想拡張可能LAN)オーバーレイカプセル化(仮想ネットワーク識別子(VNID)等)。
・エグレスポートを識別するための、MPLSファブリック移送(ラベルスイッチドパス(LSP)等)及びMPLSオーバーレイ内部ラベル。
MPLS移送及びオーバーレイは、このアーキテクチャにおいて使用される。しかしながら、全体のアーキテクチャは、これを達成するためにVXLANトンネルを有するIP移送を使用することを排除しない。
パケットに加えられる内部ラベルカプセル化の数を改善又は最適化するために、移送ラベル及びインタフェースラベルの両方が、両方が物理的ポートを識別する単一ラベルに折りたたまれ、物理的インタフェースをホスティングするラインユニット1504へ移送LSPを提供する、又は、から移送LSPを提供される。このオーバーレイラベルは、エグレスラインユニット1504(例えば、エグレスラインカード)及びインタフェースに向かってスイッチされたエグレストラフィックのためのエグレスインタフェースを識別し、同様に、そのインタフェース上で実行されているルーティングプロトコルをホスティングする制御装置にパントする必要があるインタフェース上のイングレストラフィックのためのイングレスインタフェースを識別する。2つの内部ラベルの割当は、この目的のために定義されることができる。
・イングレスLUから遠隔エグレスポートへのトンネル作成に使用されるローカル(LC、ポート)毎に割り当てられたエグレスラベルは、スイッチドトラフィックのためのエグレスポートを識別する。
・イングレスLUから制御装置へのトンネル作成に使用される(制御装置、ポート)毎に割り当てられたイングレスラベルは、ホスト宛トラフィックのためのイングレスポートを識別する。
上記ラベルコンテキストのそれぞれは、論理ルータ100内の全てのノード1500、1502、1504にわたってグローバルに範囲指定され、指令LSPと同様に物理的ポートの両方を識別する。上記ラベル割当スキームは、論理ルータ100内の各ルータポートのために割り当てられた2つのグローバルラベルに基本的に結果としてなる。MPLSラベルは静的に確保され、この目的のためにスイッチポートインタフェース検出上に割り当てられ、これらの確保されたラベルは、いくつかの実施形態における外部使用には利用できない。
各ラインユニット1504の各ローカルルータポートに割り当てられた(全ての論理ルータのノード1500、1502、1504にわたって)グローバルに範囲指定されたラベルは、物理的ポートをホスティングするイングレスラインユニットからエグレスラインユニットへの移送LSPと同様にエグレスルータポートの両方を識別する。このラベルは、論理ルータのノード1500、1502、1504上で以下のようにプログラミングされる。
・イングレスラインユニット1504上で、このラベルは、遠隔インタフェース外にエグレスするパケット上に再書き込みされるトンネルカプセル化の結果の一部である。
・スパインユニット1502上で、このラベルは、同じエグレスラベルにより再書き込みするエグレスラインユニットファブリック次ホップにスイッチする。
・エグレスラインユニット上で、このラベルが、(パケットの再書き込み無しで)エグレスインタフェースに単に向けられる。
このプロセスは、図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に従ってラベリングされ、ラベルテーブル1600は、エグレスインタフェース(”[12,1,1,2, swp(N+2)/1]->MAC-A”)と同様にエグレスインタフェース(”MAC-A->L(e,x,y)+MAC-1, ポート: fp(N+M)/1->L(e,x,y)+MAC-N, ポート: fp(N+M)/N”)への移送LSP、即ち、トンネルパスを含む。パケットはスパインユニット1502に送信される。スパインユニットSU-Nは、ファブリック次ホップ再書き込み(”L(e,x,y)->MAC-N+2, ポート: fpN/2)及びエグレスラベルを含むラベルテーブル1602に従ってパケットを再書き込みする。スパインユニットSU-Nは、再書き込みされたパケットをエグレスラインユニット1504(LU(N+2))に転送し、エグレスラインユニット1504が、単にエグレスインタフェース(L(e,x,y)->swp(N+2)/1)に向いているラベルテーブル1604に従ってパケットのラベルを変換する。
図17を参照して、(全ての論理ルータのノード1500、1502、1504にわたって)グローバルに範囲指定されたラベルは、(制御装置、ルータポート)毎に割り当てられ、イングレスラインユニットから制御装置カードへの移送LSPと同様にイングレスルータポートの両方を識別する。このラベルは、論理ルータのノード上で以下のようにプログラミングされる。
・イングレスラインユニット1504上で、このラベルは、制御装置にパントされるパケット上に再書き込みされるトンネルカプセル化の結果の一部である。(ラインユニットLU-(N+M)上の図17テーブル1700参照。)
・スパインユニット1502上で、このラベルは、同じエグレスラベルにより再書き込みする制御装置ファブリック次ホップに単にスイッチする。(スパインユニットSU-N上のテーブル1702参照。)
・制御装置上1500で、このラベルは、ホストスタック内のイングレスインタフェースを識別する。(テーブル1704参照。)
パントされたパケットは、LINUXカーネル内に注入される必要があり、それにより、パケットが到着したフロントパネルポートに対応するLINUXインタフェース上に到着したように見える。スタンドアロンシステム上で、ホストパスは、スイッチ、即ちラインユニット1504(図17の実施例においてはラインユニットLU-(N+M))のローカルCPU上で実行されるLINUXカーネル内で実行される。ラインユニット1504上のASICは、イングレスインタフェースを示すシステムヘッダに到着したパケットを加える。その後、カーネル内のBCM Kネットモジュールが、ハードウェアイングレスインタフェースをLINUXインタフェースにマッピングし、パケットをLINUXデータパス内に注入する。
図示されているアーキテクチャにおいて、ホストデータパスは、複数箇所で実行される。ラインユニット1504上で、パケットは、ラインユニット1504上で実行されるBGP LSVR(link state vector routing)(リンク状態ベクトルルーティング)インスタンスにパントされる必要がある。パケットの宛先が、制御装置1500上で実行される制御プレーンプロトコルインスタンスである場合、その後、ラインユニット1504は、パケットを制御装置に配信可能である必要がある。このパスにはシステムヘッダが存在しないので、イングレスインタフェースは識別され、パケット自体の内部にカプセル化される必要がある。
上述されているように、このことは、イングレスインタフェースを識別する固有のラベルを使用することにより達成される。イングレスインタフェース上のマッチング並びに対応するラベル及びそれに続く転送チェインの供給にACLルールを使用することができる。しかしながら、この結果は、パケットが本当に制御装置1500に送信される必要がある媒位にのみ使用される必要がある。他の場合においては、転送ルックアップはカプセル化を駆動する。
図18には、図15~図17のアプローチによるスタンドアロンのバックプレーンファブリックを起動するためのアプローチが示されている。バックプレーンファブリックの起動及びプログラミングは、明示のユーザ構成又は介在の必要なく、起動時に自動的に起こる。
・レイヤ3(L3)バックプレーン到達性は、ファブリックVRF内の全てのレイヤ3対応ファブリックポートにわたって確立される。
・オーバーレイ移送トンネルは、全ての論理ルータのコンポーネント:ラインユニット1504、スパインユニット1502、及び制御装置1500にわたる全てのルータポートへ/からセットアップされる。
図18に図示されているように、バックプレーンファブリックを起動するための方法1800は、管理される各ユニット1500、1502、1504にファブリック構成をダウンロードすること1802を含む。このことは、IPアドレス割当、カード役割、ポート役割、及びポートMPLSラベルを含むことができる。方法1800はさらに、各ユニット1500、1502、1504のファブリックポート上でL3アドレス割当を起動すること1804を含む。方法1800はさらに、ファブリックポート上で、ファブリック近隣を探索し、この方法で取得した各ユニット1500、1502、1504の近隣データベースを制御装置1500上のBGP-LSVRにプッシュするLSoEを起動すること1806を含む。方法1800はさらに、各ユニット1500、1502、1504上のBGP-SP Fインスタンスにより、ピアリングの起動、ファブリックトポロジの学習、及びファブリックVRF内のファブリックIPルートのインストールを実行すること1808を含む。
レイヤ3バックプレーンファブリックの自動的起動は、R0は制御装置を表している以下の説明により調整されることができる。
起動設定(startup config)によるR0の自動構成:
R0が表示され、管理イーサネット(ma1)が起動され、アドレス割当される。R0は、以下を含む起動設定ファイルを読み込む。
・トポロジ:スパインユニット、ラインユニット
・サウスバウンドファブリックインタフェースのためのプライベートアドレス割当
・オーバーレイインタフェーストンネルのためのMPLSラベル
・ラインユニットma1のための管理IPアドレスプール
・ZTP(zero touch provisioning)(ゼロタッチプロビジョニング)/ラインユニット及びスパインユニットのための起動設定
ラインユニットの起動:
R0は、起動設定ファイルからのアドレス割当により、そのサウスバウンドファブリックインタフェースを起動する(図15~図18のトポロジ内のスパインユニット1502及びラインユニット1504)。
R0は、dhcpd(dynamic host configuration protocol daemon)(動的ホスト設定プロトコルデーモン)を実行し、それにより、ラインユニット1504及びスパインユニット1502管理イーサネットma1が、起動設定ファイル内に付与されたプールからアドレスを取得することができる。ユニット1502、1504のラインカード数は、それらが配線されたR0ポートと推定される。R0は、ユニット1502、1504にZTPサービスを実行する。
ラインユニットに起動設定をプッシュする:
R0は、ラインユニット1504及びスパインユニット1502に起動設定をプッシュする。この構成は、各ユニット1502、1504のカード役割を識別し、各ローカルポートを「ファブリックポート」又は「ルータポート」として識別し、ノースバウンドファブリックインタフェースのアドレス割当を特定し、そして、ルータポートオーバーレイトンネルのためのMPLSラベル(ポート毎に2つのラベル)を提供する。
その後、ユニット1502、1504は、ファブリックポート上でLSoEを実行し、起動設定から期待されるように配線されていることを確かめる。LSoEは、レイヤ3ファブリック近隣及び対応するカプセル化を探索する。LSoEにより学習された情報のデータベースは、標準LSoE機能によりBGP-SPF内にエクスポートされる。
BGP-SPFピアリングが、各ラインユニットからスパインユニットへのファブリックリンク上で確立される。ファブリックトポロジは、各ユニット1502、1504上で学習され、ファブリックVRF IP到達性は、BGP-SPF演算を介して各ルーテッドファブリックポートに確立される。BGP-SPFは、ファブリックVRF内のファブリックルートを用いて、各ローカルラインユニット/スパインユニットRIB(router information base)(ルータ情報ベース)をプログラミングする。この時点で、全てのファブリックポートIPアドレスにわたってIP到達性が確立される。
スイッチポート検出及びトンネル起動:
ローカルルータポートは、各ラインユニット1504上で検出される。検出されたルータポートは、割り当てられたMPLSラベルと共に、各ラインユニット1504上のローカルBGP-LSVRインスタンス内にプッシュされる。BGP-SPFは、IPアドレス割当とは独立するポート+ラベルを保持することができるように、さらに向上される。したがって、BGP-SPFは、論理ルータ内の各「スイッチポート」への最短パス優先(SPF)を演算するように構成される。BGP-SPFは、これらが構成されるユーザVRFとは独立するファブリックVRFトポロジ内にこれらの外部スイッチポートを組み込むこともできる。各ユニット1504上のBGPは、ファブリックVRF次ホップを介して解決される各インタフェースのためのイングレス/エグレスオーバーレイMPLSトンネルのインスタンスを生成する。トンネル到達性は、ファブリックVRF次ホップを介して解決され、トンネルは、上述のように、各ユニット1504上に割り当てられたMPLSラベルを用いてプログラミングされる。
R0上のユーザ構成は、バックプレーンファブリックの起動に続き、制御装置1500上で処理される。このユーザ構成及び制御プレーンの結果として演算されるスイッチ状態はさらに、ラインユニット1504の全て又はいくらかにわたるプログラミングのために配信される。
例示的パケットパス
この欄は、上述の欄に記載の制御装置1500及びユニット1502、1504のデータパスプログラミングを使用するシステム内で共通パケットパスがどのように作用するかを説明している。
ARP解決
ユニット1502、1504上のグリーン処理(Glean Processing)は、パントパスに向けてプログラミングされた不完全な次ホップ又はサブネット(グリーン)ルートを解決する宛先IPアドレス上のイングレスL3ルートルックアップにより実行される。パントパスは、イングレスインタフェーストンネルから制御装置1500へ向けてプリプログラムされる。イングレスレイヤ2パケットは、イングレスインタフェースラベルによりカプセル化され、ファブリックスパイン次ホップに再書き込みされる。カプセル化されたパケットは、ファブリックポートからスパインユニット1502の1つに送信される。スパインユニット1502は外部レイヤ2を終了する。スパインユニット1502上のMPLSラベル内ルックアップは、イングレスインタフェースラベルに向けられ、ファブリック制御装置次ホップに再書き込みされる。この情報は、パケットを制御装置1500にルーティングするために使用される。制御装置は外部レイヤ2を終了する。制御装置1500は、POP(point of presence)(存在点)としてMPLSラベル内ルックアップ動作を実行するようにプログラミングされ、イングレスインタフェースコンテキストを識別する。制御装置は、パケットの宛先IP上でL3ルートルックアップを実行し、不完全な次ホップ又はサブネット(グリーン)ルートを解決する。その後、制御装置1500は、イングレスインタフェースを用いて、ARP解決のための次ホップ又はサブネットルートを使用するパケットを配信する。
ARP要求
制御装置1500は、イングレスL3インタフェース上でブロードキャストARP要求を生成する。制御装置L3インタフェースは、エグレスインタフェーストンネルポートに解決する。ブロードキャストARP要求のARPパケットは、エグレスインタフェースラベルによりカプセル化され、ファブリックスパイン次ホップに再書き込みされる。カプセル化されたパケットは、ファブリックポートからスパインユニット1502の1つに送信される。スパインユニット1502は外部レイヤ2を終了する。スパインユニット1502上のMPLSラベル内ルックアップは、イングレスインタフェースラベルに向けられ、ファブリックラインユニット次ホップに再書き込みされる。カプセル化されたパケットは、MPLSラベル内ルックアップに従って、ファブリックポートからエグレスラインユニット1504に送信される。エグレスラインユニット1504は外部レイヤ2を終了する。エグレスラインユニット1504は、MPLSラベル内ルックアップを実行し、その結果としてPOPを得て、MPLSラベル内ルックアップから識別されたエグレスラインユニットのエグレスインタフェース上に転送する。
ARP応答
ARP応答パケットは、制御装置1500へのパントパスを用いてプログラミングされる。パントパスは、プリプログラムされ、制御装置1500へのイングレスインタフェーストンネルに向けられる。ラインユニット1504からのイングレスL2ARPパケットは、イングレスインタフェースラベルによりカプセル化され、パントパスに従ってファブリックスパイン次ホップに再書き込みされる。カプセル化されたパケットは、ファブリックポートからスパインユニット1502の1つに送信される。スパインユニット1502は外部レイヤ2を終了する。スパインユニット1502上のMPLSラベル内ルックアップは、イングレスインタフェースラベルに向けられ、ファブリック制御装置次ホップに再書き込みされる。この情報は、ARPパケットを制御装置1500に転送するために使用される。
制御装置1500は外部レイヤ2を終了する。制御装置1500は、MPLSラベル内ルックアップを実行し、POPとしてプログラミングされる。制御装置は、ルックアップ動作に従って、イングレスインタフェースコンテキストを識別する。ラインユニット1504からパケット内にカプセル化された内部パケットは、ARPパケットとして識別され、制御装置1500上で実行されるARPモジュールに配信され、ARPモジュールが、アドレス解決プロトコル(ARP)に従ってARP応答を処理する。
イングレスLC->エグレスLCルーテッドパケットウォーク
イングレスラインユニット1504は、パケットの宛先IP上でイングレスL3ルートルックアップを実行し、次ホップ再書き込み、L3エグレスインタフェース、L2エグレスインタフェーストンネルポートを解決する。パケットは、エグレスL3インタフェース及びL2ポートから得られたVLAN編集及びルートルックアップからの次ホップ再書き込み結果により再書き込みされる。結果として得られるレイヤ2パケットは、エグレスインタフェースラベルによりカプセル化され、ファブリックスパイン次ホップに再書き込みされる。カプセル化されたパケットは、ファブリックスパイン次ホップに従って、ファブリックポートからスパインユニット1502の1つに送信される。スパインユニット1502は、カプセル化されたパケットを受信し、外部レイヤ2を終了し、イングレスインタフェースラベルに向けられたMPLSラベル内ルックアップを実行し、ファブリックエグレスラインユニット次ホップに再書き込みされる。スパインユニット1502は、ファブリックエグレスラインユニット次ホップにより参照されたエグレスラインユニット1504にカプセル化されたパケットを送信する。エグレスラインユニット1504は、外部レイヤ2を終了し、MPLSラベル内ルックアップを実行し、その結果POPを得て、カプセル化されたパケットにより参照されたエグレスラインユニット1504のエグレスインタフェース上にカプセル化されたパケットを転送する。
図19は、論理ルータ100の制御プレーン要素300、制御装置1500、又は様々な要素102、104、1502、1504等の、ここに開示されているシステム及び方法を実装するために使用することができる例示的なコンピューティングデバイス1900を示すブロック図である。
コンピューティングデバイス1900は、ここに開示されている様々な処理を実行するために使用することができる。コンピューティングデバイス1900は、サーバ、顧客、又は任意の他のコンピューティングエンティティとして機能することができる。コンピューティングデバイスは、ここに開示されている様々なモニタリング機能を実行することができ、ここに開示されているアプリケーションプログラム等の、1以上のアプリケーションプログラムを実行することができる。コンピューティングデバイス1900は、デスクトップコンピュータ、ノートパソコン、サーバコンピュータ、携帯用コンピュータ、タブレット等の多種多様なコンピューティングデバイスの任意のコンピューティングデバイスであることができる。
コンピューティングデバイス1900は、1以上のプロセッサ1902、1以上のメモリデバイス1904、1以上のインタフェース1906、1以上のマスストレージデバイス1908、1以上の入力/出力(I/O)デバイス1910、及び表示デバイス1930を含み、その全てがバス1912に接続されている。プロセッサ1902は、メモリデバイス1904及び/又はマスストレージデバイス1908に記憶されている命令を実行する1以上のプロセッサ又は制御装置を含む。プロセッサ1902は、キャッシュメモリ等の、様々な型のコンピュータ可読媒体を含むこともできる。
メモリデバイス1904は、揮発性メモリ(例えば、ランダムアクセスメモリ(RAM)1914)及び/又は不揮発性メモリ(例えば、読み出し専用メモリ(ROM)1916)等の、様々なコンピュータ可読媒体を含むことができる。メモリデバイス1904は、フラッシュメモリ等の、書換可能ROMを含むこともできる。
マスストレージデバイス1908は、磁気テープ、磁気ディスク、光ディスク、ソリッドステートメモリ(例えば、フラッシュメモリ)等の、様々なコンピュータ可読媒体を含むことができる。図19に図示されているように、特定のマスストレージデバイスはハードディスクドライブ1924である。様々なコンピュータ可読媒体から読出、及び/又は、様々なコンピュータ可読媒体へ書込することを可能にするために、マスストレージデバイス1908内に様々なドライブを含むこともできる。マスストレージデバイス1918は、取り外し可能な媒体1926及び/又は取り外し不可能な媒体を含む。
I/Oデバイス1910は、コンピューティングデバイス1900からデータ及び/又は他の情報をコンピューティングデバイス1900から取り出し、又は、コンピューティングデバイス1900に入力することを可能にする様々なデバイスを含む。例示的なI/Oデバイス1910は、カーソル制御装置、キーボード、キーパッド、マイク、モニタ又は他の表示デバイス、スピーカ、プリンタ、ネットワークインタフェースカード、モデム、レンズ、CCD、又は他の撮像デバイス等を含む。
表示デバイス1930は、1以上のユーザのコンピューティングデバイス1900に情報を表示することができる任意の型のデバイスを含む。表示デバイス1930の例は、モニタ、表示端末、映像投影装置等を含む。
インタフェース1906は、コンピューティングデバイス1900が他のシステム、デバイス、又はコンピューティング環境と相互作用することを可能にする様々なインタフェースを含む。例示的なインタフェース1906は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、無線ネットワーク、及びインターネットへのインタフェース等の、任意の数の異なるネットワークインタフェース1920を含む。他のインタフェースは、ユーザインタフェース1918及び周辺機器インタフェース1922を含む。インタフェース1906は、1以上のユーザインタフェース要素1918を含むこともできる。インタフェース1906は、プリンタ、ポインティングデバイス(マウス、トラックパッド等)、キーボード等のインタフェースのような、1以上の周辺機器インタフェースを含むこともできる。
バス1912は、バス1912に接続されている他のデバイス又はコンポーネントと同様に、プロセッサ1902、メモリデバイス1904、インタフェース1906、マスストレージデバイス1908、及びI/Oデバイス1910が互いに通信することを可能にする。バス1912は、システムバス、PCIバス、IEEE1394バス、USBバスなどの、1以上の複数の型のバス構造を示している。
説明のために、プログラム及び他の実行可能なプログラムコンポーネントは、ここでは分離したブロックとして示されているが、そのようなプログラム及びコンポーネントは、コンピューティングデバイス1900の異なるストレージコンポーネント内に様々な時間に存在しており、プロセッサ1902により実行されると理解される。代替的に、ここに記載のシステム及び処理は、ハードウェア、ハードウェアの組み合わせ、ソフトウェア、及び/又はファームウェア内に実装することができる。例えば、1以上の特定用途向け集積回路(ASIC)は、ここに開示されている1以上のシステム及び処理を実行するようにプログラミングされることができる。

Claims (14)

  1. ネットワークにより接続され、シャーシの共通のバックプレーンによっては互いに接続されていない複数の分解されたネットワーク要素と、
    前記複数の分解されたネットワーク要素に接続された制御要素と、
    前記制御要素上で実行されるルートプロセッサと、
    を有し、
    前記ルートプロセッサが、前記制御要素のオペレーティングシステム内に、前記複数の分解されたネットワーク要素内に含まれる複数のリーフ要素の各リーフ要素のための複数の仮想インタフェースを作成するようにプログラミングされ、
    ルートプロセッサがさらに、前記複数のリーフ要素の複数のフロントパネルインタフェースの各フロントパネルインタフェースに、仮想ローカルエリアネットワーク(VLAN)タグを割り当てるようにプログラミングされ、
    前記複数のリーフ要素の第1のリーフ要素がさらに、
    前記第1のリーフ要素の第1のフロントパネルインタフェース上でパケットを受信し、
    前記複数のリーフ要素の第2のリーフ要素の第2のフロントパネルインタフェースのVLANタグを前記パケットにタグ付けし、タグ付けされたパケットを得て、
    前記ネットワークを通して前記タグ付けされたパケットを前記第2のリーフ要素に送信する、
    ようにプログラミングされ、
    前記第2のリーフ要素が、
    前記タグ付けされたパケットを前記制御要素に転送するようにプログラミングされ、
    前記制御要素がさらに、
    前記タグ付けされたパケットの前記VLANタグが割り当てられた前記複数の仮想インタフェースの仮想インタフェースを識別し、
    前記タグ付けされたパケットから前記VLANタグを取り除き、タグを取り除かれたパケットを得て、
    前記タグを取り除かれたパケットを、前記タグ付けされたパケットの前記VLANタグが割り当てられた前記仮想インタフェースに入力する、
    ようにプログラミングされることを特徴とするシステム。
  2. 前記オペレーティングシステムがLINUXオペレーティングシステムであり、前記複数の仮想インタフェースがLINUXインタフェースであることを特徴とする請求項1に記載のシステム。
  3. 前記複数のリーフ要素の第1のリーフ要素が、
    アプリケーションからパケットを受信し、
    前記複数のリーフ要素の前記第1のリーフ要素の第1のインタフェースのVLANタグをルックアップし、
    前記パケットに前記VLANタグをタグ付けし、タグ付けされたパケットを得て、
    前記複数のリーフ要素の第2のリーフ要素の第2のインタフェースに前記タグ付けされたパケットを注入する、
    ようにプログラミングされることを特徴とする請求項1に記載のシステム。
  4. 前記第1のリーフ要素が、
    ネットワークを通して前記第2のリーフ要素から前記タグ付けされたパケットを受信し、
    前記タグ付けされたパケットから前記VLANタグを取り除き、タグを取り除かれたパケットを得て、
    前記VLANタグに対応する前記第1のリーフ要素のフロントパネルインタフェースから前記タグを取り除かれたパケットを出力する、
    ようにプログラミングされることを特徴とする請求項に記載のシステム。
  5. 前記制御要素が、前記複数の分解されたネットワーク要素の外部のコンピュータシステムであることを特徴とする請求項1に記載のシステム。
  6. 前記複数の分解されたネットワーク要素及び前記ネットワークが、セルフルーティングネットワークファブリックを実装することを特徴とする請求項1に記載のシステム。
  7. 前記セルフルーティングネットワークファブリックがルーティングプロトコルを実装することを特徴とする請求項に記載のシステム。
  8. 前記複数の分解されたネットワーク要素がさらに、前記複数のリーフ要素のバックパネルポートに接続された複数のスパイン要素を含むことを特徴とする請求項に記載のシステム。
  9. 前記複数のスパイン要素がRAMONシリコンデバイスを含み、前記複数のリーフ要素がJERICHO-2シリコンデバイスを含むことを特徴とする請求項に記載のシステム。
  10. ネットワークにより接続され、シャーシの共通のバックプレーンによっては互いに接続されていない複数の分解されたネットワーク要素を提供し、
    前記複数の分解されたネットワーク要素に接続された制御要素を提供し、
    前記制御要素により、前記制御要素のオペレーティングシステム内に、前記複数の分解されたネットワーク要素内に含まれる複数のリーフ要素の各リーフ要素のための複数の仮想インタフェースを作成
    前記制御要素により、前記複数の仮想インタフェースの1つに各フロントパネルインタフェースを関連付けする為に、前記複数のリーフ要素の複数のフロントパネルインタフェースの前記各フロントパネルインタフェースに仮想ローカルエリアネットワーク(VLAN)タグを割り当て、
    前記複数のリーフ要素の第1のリーフ要素により、
    前記第1のリーフ要素の第1のフロントパネルインタフェース上でパケットを受信し、
    前記複数のリーフ要素の第2のリーフ要素の第2のフロントパネルインタフェースのVLANタグを前記パケットにタグ付けし、タグ付けされたパケットを得て、
    前記ネットワークを通して前記タグ付けされたパケットを前記第2のリーフ要素に送信する、
    ことを実行し、
    前記第2のリーフ要素により、前記タグ付けされたパケットを前記制御要素に転送し、
    前記制御要素により、
    前記タグ付けされたパケットの前記VLANタグが割り当てられた前記複数の仮想インタフェースの仮想インタフェースを識別し、
    前記タグ付けされたパケットから前記VLANタグを取り除き、タグを取り除かれたパケットを得て、
    前記タグを取り除かれたパケットを、前記タグ付けされたパケットの前記VLANタグが割り当てられた前記仮想インタフェースに入力する、
    ことを実行することを特徴とする方法。
  11. 前記複数のリーフ要素の第1のリーフ要素により、
    アプリケーションからパケットを受信し、
    前記複数のリーフ要素の前記第1のリーフ要素の第1のインタフェースのVLANタグをルックアップし、
    前記パケットに前記VLANタグをタグ付けし、タグ付けされたパケットを得て、
    前記複数のリーフ要素の第2のリーフ要素の第2のインタフェースに前記タグ付けされたパケットを注入する、
    ことを実行することをさらに含むことを特徴とする請求項10に記載の方法。
  12. 前記第1のリーフ要素により、
    ネットワークを通して前記第2のリーフ要素から前記タグ付けされたパケットを受信し、
    前記タグ付けされたパケットから前記VLANタグを取り除き、タグを取り除かれたパケットを得て、
    前記VLANタグに対応する前記第1のリーフ要素のフロントパネルインタフェースから前記タグを取り除かれたパケットを出力する、
    ことを実行することをさらに含むことを特徴とする請求項11に記載の方法。
  13. 前記制御要素が、前記複数の分解されたネットワーク要素の外部のコンピュータシステムであることを特徴とする請求項10に記載の方法。
  14. 前記複数の分解されたネットワーク要素及び前記ネットワークが、セルフルーティングネットワークファブリックを実装することを特徴とする請求項10に記載の方法。
JP2021529415A 2018-11-26 2019-11-26 分解されたネットワーク要素を含む論理ルータ Active JP7525486B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862771407P 2018-11-26 2018-11-26
US62/771,407 2018-11-26
PCT/US2019/063268 WO2020112786A1 (en) 2018-11-26 2019-11-26 Logical router comprising disaggregated network elements

Publications (2)

Publication Number Publication Date
JP2022509644A JP2022509644A (ja) 2022-01-21
JP7525486B2 true JP7525486B2 (ja) 2024-07-30

Family

ID=70770016

Family Applications (6)

Application Number Title Priority Date Filing Date
JP2021529414A Active JP7462630B2 (ja) 2018-11-26 2019-11-26 分解されたネットワーク要素を含む論理ルータ
JP2021529415A Active JP7525486B2 (ja) 2018-11-26 2019-11-26 分解されたネットワーク要素を含む論理ルータ
JP2021529416A Active JP7528076B2 (ja) 2018-11-26 2019-11-26 分解されたネットワーク要素を含む論理ルータ
JP2021529417A Active JP7528077B2 (ja) 2018-11-26 2019-11-26 分解されたネットワーク要素を含む論理ルータ
JP2024118793A Pending JP2024150665A (ja) 2018-11-26 2024-07-24 分解されたネットワーク要素を含む論理ルータ
JP2024118795A Pending JP2024153744A (ja) 2018-11-26 2024-07-24 分解されたネットワーク要素を含む論理ルータ

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2021529414A Active JP7462630B2 (ja) 2018-11-26 2019-11-26 分解されたネットワーク要素を含む論理ルータ

Family Applications After (4)

Application Number Title Priority Date Filing Date
JP2021529416A Active JP7528076B2 (ja) 2018-11-26 2019-11-26 分解されたネットワーク要素を含む論理ルータ
JP2021529417A Active JP7528077B2 (ja) 2018-11-26 2019-11-26 分解されたネットワーク要素を含む論理ルータ
JP2024118793A Pending JP2024150665A (ja) 2018-11-26 2024-07-24 分解されたネットワーク要素を含む論理ルータ
JP2024118795A Pending JP2024153744A (ja) 2018-11-26 2024-07-24 分解されたネットワーク要素を含む論理ルータ

Country Status (8)

Country Link
US (5) US11343121B2 (ja)
EP (4) EP3888309A4 (ja)
JP (6) JP7462630B2 (ja)
KR (4) KR20210093312A (ja)
CN (4) CN113169929B (ja)
CA (4) CA3120743A1 (ja)
TW (3) TWI844586B (ja)
WO (4) WO2020112756A1 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
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 浙商银行股份有限公司 云平台宿主机网络链路冗余状态判别方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170310554A1 (en) 2014-09-22 2017-10-26 Hewlett Packard Enterprise Development Lp Network Virtualization
US20180013654A1 (en) 2016-07-08 2018-01-11 Cisco Technology, Inc. Endpoint location tracking
US20180062990A1 (en) 2016-08-25 2018-03-01 Cisco Technology, Inc. Efficient path detection and validation between endpoints in large datacenters

Family Cites Families (65)

* 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
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
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
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
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170310554A1 (en) 2014-09-22 2017-10-26 Hewlett Packard Enterprise Development Lp Network Virtualization
US20180013654A1 (en) 2016-07-08 2018-01-11 Cisco Technology, Inc. Endpoint location tracking
US20180062990A1 (en) 2016-08-25 2018-03-01 Cisco Technology, Inc. Efficient path detection and validation between endpoints in large datacenters

Also Published As

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

Similar Documents

Publication Publication Date Title
JP7525486B2 (ja) 分解されたネットワーク要素を含む論理ルータ
TWI857990B (zh) 具有分解式網路元件的邏輯路由系統及其方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221122

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240311

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240625

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240718

R150 Certificate of patent or registration of utility model

Ref document number: 7525486

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150