(57)【要約】  それぞれ互いに独立して機能する複数の分離されたルーティングエンティティとして動作するように構成された物理的ネットワーク要素が提供され、この物理的ネットワーク要素において、ａ）複数のルーティングエンティティのそれぞれは、独自の制御、管理、及びデータプレーン有し、並びに専用のルーティング情報ベーステーブル及び転送情報ベーステーブルを有し、ｂ）複数のルーティングエンティティの全ては、（ｉ）物理的ネットワーク要素に含まれる１以上のパケットプロセッサ、（ｉｉ）物理的ネットワーク要素に含まれる１以上の中央処理装置（ＣＰＵ）、（ｉｉｉ）物理的ネットワーク要素に含まれる１以上のファブリック、及び（ｉｖ）物理的ネットワーク要素に含まれる１以上のネットワークインタフェース、から構成されるグループの少なくとも１つのメンバを共有しながら動作するように構成されている。【選択図】  図１
2021532609.tif 000002
【特許請求の範囲】
【請求項１】
それぞれ互いに独立して機能する複数の分離されたルーティングエンティティとして動作するように構成された物理的ネットワーク要素であって、
ａ）前記複数のルーティングエンティティのそれぞれは、独自の制御、管理、及びデータプレーンを有し、並びに専用のルーティング情報ベーステーブル及び転送情報ベーステーブルを有し、
ｂ）前記複数のルーティングエンティティの全ては、
（ｉ）前記物理的ネットワーク要素に含まれる１以上のパケットプロセッサ、
（ｉｉ）前記物理的ネットワーク要素に含まれる１以上の中央処理装置（ＣＰＵ）、
（ｉｉｉ）前記物理的ネットワーク要素に含まれる１以上のファブリック、及び
（ｉｖ）前記物理的ネットワーク要素に含まれる１以上のネットワークインタフェース、から構成されるグループの少なくとも１つのメンバを共有しながら動作するように構成されていることを特徴とする物理的ネットワーク要素。
【請求項２】
更に、前記物理的ネットワーク要素に含まれる前記複数のルーティングエンティティを相互接続し、これらの動作を管理するように構成された管理エンティティを備えることを特徴とする請求項１に記載の物理的ネットワーク要素。
【請求項３】
更に、前記複数のルーティングエンティティのそれぞれのソフトウェアプロセスが、前記複数のルーティングエンティティの他のそれぞれに関連付けられたソフトウェアプロセスを実行するために使用される複数のソフトウェアコンテナから分離されたソフトウェアコンテナ内で実行されることを可能にするように構成されていることを特徴とする請求項２に記載の物理的ネットワーク要素。
【請求項４】
前記物理的ネットワーク要素の共有リソースは、少なくとも１つの設定可能なリソーステンプレートに従って、前記複数のルーティングエンティティのそれぞれに割り当てられることを特徴とする請求項２に記載の物理的ネットワーク要素。
【請求項５】
前記複数のルーティングエンティティのそれぞれは、前記物理的ネットワーク要素の前記共有されたパケットプロセッサ及びファブリックのうちの１以上において、専用転送プレーンを維持することを特徴とする請求項２に記載の物理的ネットワーク要素。
【請求項６】
前記複数のルーティングエンティティのそれぞれは、前記共有されたパケットプロセッサの前記共有された物理的ネットワークインタフェースにおいて、少なくとも１つの論理インタフェースを維持することを特徴とする請求項２に記載の物理的ネットワーク要素。
【請求項７】
前記複数のルーティングエンティティのそれぞれは、少なくとも１つの共有されたＣＰＵ及び少なくとも１つの共有されたパケットプロセッサにおいて、専用制御プレーンを維持することを特徴とする請求項２に記載の物理的ネットワーク要素。
【請求項８】
前記複数のルーティングエンティティのそれぞれは、前記１以上の共有されたパケットプロセッサ、前記１以上の共有されたＣＰＵ、及び共有されたプラットフォーム管理エンティティにおいて、専用管理プレーンを維持することを特徴とする請求項２に記載の物理的ネットワーク要素。
【請求項９】
前記物理的ネットワーク要素に含まれる前記複数のルーティングエンティティを管理するように構成された管理アプリケーションを使用して、前記物理的ネットワーク要素に１以上の追加のルーティングエンティティを動的に追加できるように構成され、前記１以上の追加のルーティングエンティティの前記動的な追加は、前記管理アプリケーションが、前記１以上の追加のルーティングエンティティを含む全てのルーティングエンティティによって、前記ルーティングプラットフォーム上で共有されるのに十分なリソースが利用可能であることを確認した後に実行されることを特徴とする請求項２に記載の物理的ネットワーク要素。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、包括的には、ネットワーキングの分野に関し、特に、様々なルーティングアプリケーションへのハードウェアリソースの割り当てに関する。
【背景技術】
【０００２】
用語
ＡＣＬ：アクセス制御リスト（Access Control List）
ＢＧＰ−ボーダゲートウェイプロトコル（Border Gateway Protocol）
ＣＰＵ−中央処理装置（central processing unit）
ＤＲＡＭ−ダイナミックランダムアクセスメモリ（Dynamic Random Access Memory）
ＦＩＢ−転送情報ベーステーブル（forwarding information base table）
Ｌ３ＶＰＮ−レイヤ３仮想プライベートネットワーク（Layer 3 Virtual Private Network）
ＬＩＦ−論理インタフェース（logical interface）
ＲＩＢ−ルーティング情報ベーステーブル（routing information base table）
ＳＲＡＭ−スタティックランダムアクセスメモリ（Static Random Access Memory）
ＴＣＡＭ−３進コンテンツアドレス指定可能メモリ（Ternary Content-addressable memory）
ＶＲＦ−仮想ルーティング及び転送（virtual routing and forwarding）
【０００３】
背景
今日のネットワークオペレータは、様々な目的のために複数の物理的ルーティングデバイスをネットワークに導入する必要がある。更に、多くの場合、多くのルーティングデバイスは、これらが全て地理的に近接して位置している場合であっても、異なるサービスのために配備されていることがあり、これらのルーティングデバイスのうち、利用されるものは僅かな割合のみであることもある。このような事態の発生には、様々な理由が考えられる。
【０００４】
このような例として、あるサービス中断が別のサービスの提供に影響を与える状況を回避するために、ネットワークオペレータが異なるルーティングデバイスによって実行されるサービスを分離する必要がある場合である。例えば、あるルータがパブリックインターネットサービスを実行していて、別のルータがレジデンシャルビジネスサービスを実行している場合、パブリックインターネットルータへの攻撃に起因するサービス拒否は、レジデンシャルビジネスサービスのルータのルーティングプレーンに影響してはならない。
【０００５】
別の例として、各サービスが異なるエンティティ（例えば、別の子会社）を参照しており、したがって、各ルータは、異なるネットワークオペレーションセンタ（Network Operation Center：ＮｏＣ）チームによって管理されるべきであるため、ネットワークオペレータが異なるルータにサービスを分離することを決定する場合がある。例えば、あるルータが組織の顧客にネットワークサービスを提供し、別のルータがローカルデータセンタによってサーバの接続に使用されている場合などである。
【０００６】
別の例として、ネットワーク設計が２つの異なるルーティング機能を実行することを必要とする場合がある。ネットワークセキュリティ設計に従って、２つの顧客間で交換されるトラフィックが、少なくとも２つのルーティングホップ（例えば、ＭＰＬＳ  ＰＥルータとＭＰＬＳ  Ｐルータ）を介して伝送を行う必要がある場合などである。
【０００７】
また、運用上の考慮から、サービス毎に異なる制約を満たしながらルータの保守期間を設ける必要がある場合もある。
【０００８】
上記で例示されたシナリオは、複数のハードウェアルーティングデバイスの配備の利用効率を著しく低下させる。ここで、このハードウェア使用率の問題は、１つのハードウェアプラットフォームで複数のルータを統合することによって解決できるように考えられるが、上記のシナリオのそれぞれで説明されているようなルーティングの分離に関する制約を満たす必要があり、これらを単純に排除することはできない。
【０００９】
ＩＰベースのネットワークでは、仮想ルーティング及び転送（virtual routing and forwarding：ＶＲＦ）技術は、ルーティングテーブルの複数のインスタンスを単一のルータ内で同時に共存させることを可能にする技術である。ルーティングインスタンスは独立しているため、同じＩＰアドレス又は重複するＩＰアドレスを互いに競合することなく使用できる。このような場合、複数のルータを必要とすることなくネットワークパスをセグメント化できる。
【００１０】
ＶＲＦは、ルーティングインスタンス毎に転送情報ベース（forwarding information base：ＦＩＢ）と呼ばれる個別のルーティングテーブルによってネットワークデバイスに実装できる。あるいは、ネットワークデバイスは、異なる仮想ルータを構成する能力を有していてもよく、それぞれが、同じデバイスに位置する他のどの仮想ルータインスタンスにもアクセスできない独自のＦＩＢを有するようにしてもよい。
【００１１】
しかしながら、ＶＲＦは、一部の重大な課題に対する適切なソリューションを提供するのに適していない。例えば、特定のＶＲＦ（ＶＲＦ−ｘ）又はその他の（ルーティング／管理に使用される）適切な制御プレーンプロトコルに関連付けられた顧客のネットワークによって、意図された又は意図しないボーダゲートウェイプロトコル（Border Gateway Protocol：ＢＧＰ）パケットのフラッディングが発生した場合、別のＶＲＦ（ＶＲＦ−ｙ）を使用している別の顧客のルーティングプレーンも同様に影響を受ける。この問題は、全てのルーティングプロセスが同じルーティングデバイス上で実行されているために生じる。２つのルーティングデバイスがレイヤ３仮想プライベートネットワーク（Layer 3 Virtual Private Network：Ｌ３ＶＰＮ）サービスを実行している場合を検討すると、別の問題も想到される。これらのルーティングデバイスは、ＶＲＦを使用して単一のルーティングデバイスに統合することはできず、これは、Ｌ３ＶＰＮサービス自体がＶＲＦによって実装されるためである。したがって、このような統合を行うと、異なるテナントに属する同じＩＤを有する２つのＶＲＦが同じルータに共存する可能性が生じる。
【００１２】
本発明のソリューションは、これらの問題を解決するものであり、例えば、複数のテナントルータが同じ物理的なルーティングプラットフォーム上で動作することを可能にし、テナントルータは重複するＶＲＦ  ＩＤで動作できる。更に、ここに提供するソリューションによれば、複数のテナントルータの複数のルーティングプレーン及び複数の管理プレーンは、分離され、互いに影響しない。
【発明の概要】
【発明が解決しようとする課題】
【００１３】
本開示は、特許請求の範囲を参照することによって把握できる。
【００１４】
本開示の目的は、同じ物理ルーティングプラットフォームにおいて複数のルーティングエンティティの実行を可能にする物理的ネットワーク要素、システム、及びソフトウェアを提供することである。
【００１５】
本開示の別の目的は、重複するＶＲＦ  ＩＤを有しながらネットワーク内で動作するように構成された複数のルーティングエンティティの使用を可能にする物理的ネットワーク要素、システム、及びソフトウェアを提供することである。
【００１６】
本開示の更に別の目的は、互いに分離され互いの動作に悪影響を及ぼさない複数のルーティングエンティティの複数のルーティングプレーンを有する物理的ネットワーク要素、システム、及びソフトウェアを提供することである。
【００１７】
本開示の他の目的は、以下の説明から明らかになる。
【課題を解決するための手段】
【００１８】
本開示の第１の実施形態によれば、それぞれ互いに独立して機能する複数のルーティングエンティティとして動作するように構成された物理的ネットワーク要素が提供され、この物理的ネットワーク要素において、ａ）複数のルーティングエンティティのそれぞれは、独自の制御、管理、及びデータプレーン有し、並びに専用のルーティング情報ベーステーブル及び転送情報ベーステーブルを有し、ｂ）複数のルーティングエンティティの全ては、
（ｉ）物理的ネットワーク要素に含まれる１以上のパケットプロセッサ、
（ｉｉ）物理的ネットワーク要素に含まれる１以上の中央処理装置（ＣＰＵ）、
（ｉｉｉ）物理的ネットワーク要素に含まれる１以上のファブリック、及び
（ｉｖ）物理的ネットワーク要素に含まれる１以上のネットワークインタフェース、
から構成されるグループの少なくとも１つのメンバを共有しながら動作するように構成されている。
【００１９】
本明細書及び特許請求の範囲を通してここで使用する「ルーティングエンティティ」という用語は、コンピュータ／通信ネットワークの内部又は間でデータパケットを転送するネットワークエンティティを示す。ルーティングエンティティは、データパケットがそれぞれの宛先に到達するまで、１つのルーティングエンティティから別のルーティングエンティティへ、インターネットにおけるデータパケットのトラフィック誘導機能を実行する。
【００２０】
本明細書及び特許請求の範囲を通してここで使用する「物理的ネットワーク要素」又は「物理的ネットワークノード」という用語は、ルーティング機能を実行するためのサポートを提供する際に使用できる単一又は複数のエンティティ（例えば、「ルーティングエンティティ」）として動作できるパケットプロセッサ、ＣＰＵ、メモリ手段、ネットワークインタフェース等の物理リソースのグループの任意の１つのメンバを示す。
【００２１】
別の実施形態によれば、物理的ネットワーク要素は、更に、その物理的ネットワーク要素（すなわち、ルーティングプラットフォーム）に含まれる複数のルーティングエンティティを相互接続し、これらの動作を管理するように構成された管理エンティティを含む。
【００２２】
別の実施形態によれば、物理的ネットワーク要素は、更に、複数のルーティングエンティティのそれぞれのソフトウェアプロセスを、複数のルーティングエンティティの他のそれぞれに関連付けられたソフトウェアプロセスを実行するために使用される複数のソフトウェアコンテナから分離されたソフトウェアコンテナ内で実行できるように構成されている。
【００２３】
本明細書及び特許請求の範囲を通してここで使用する「ソフトウェアコンテナ」という用語は、開発、出荷、及び展開のために標準化されたユニットにパッケージ化されたソフトウェアを示す。コンテナイメージは、コード、ランタイム、システムツール、システムライブラリ、設定等から選択されるソフトウェアの一部を実行するために必要な全てのものを含む、軽量でスタンドアロンの実行可能パッケージである。
【００２４】
更に別の実施形態では、複数のルーティングエンティティは、共有されたルーティングプラットフォームを介して（例えば、「境界ＬＩＦ（demarcation LIF）」、すなわち、ネットワークインタフェースを物理的に相互接続する必要なく、役割、ホームポート等の特性が関連付けられ、境界点として使用されるＩＰアドレスによって）、相互接続される。この相互接続は、ネットワークインタフェースを介する相互接続を模倣する「境界ＬＩＦ」によって論理的に実現できる。このような相互接続は、それらの間に物理的なケーブル配線を必要としない。
【００２５】
別の実施形態によれば、物理的ネットワーク要素の共有リソース（例えば、ＴＣＡＭエントリ、カウンタ、シェーパ、メータ、ＤＲＡＭ／ＳＲＡＭ等）は、少なくとも１つの設定可能なリソーステンプレートに従って、複数のルーティングエンティティのそれぞれに割り当てられる。この結果、このような物理的ネットワーク要素は、マルチルーティングエンティティプラットフォームとして動作でき、柔軟なリソース管理を可能にし、したがって、既存のハードウェアの利用効率が高まる。上記のリソーステンプレートは、ルーティングエンティティ毎に専用リソースを定義する。
【００２６】
更に別の実施形態では、複数のルーティングエンティティのそれぞれは、物理的ネットワーク要素の共有されたパケットプロセッサ及びファブリックのうちの１以上において、専用転送プレーン（dedicated forwarding plane）を維持する。この実施形態を実施するために、転送プレーンの分離は、マルチルーティングエンティティハードウェア抽象化層（hardware abstraction layer：以下「ＨＡＬ」という）によって実行してもよい。換言すれば、マルチルーティングエンティティは、同一のパケットプロセッサについて、重複したＩＤを有するＶＲＦ毎に、重複した送信元及び宛先アドレスを有する転送情報ベーステーブルを維持できる。
【００２７】
更に別の実施形態によれば、複数のルーティングエンティティのそれぞれは、共有されたパケットプロセッサの共有された物理的ネットワークインタフェースにおいて、少なくとも１つの論理インタフェースを維持する。この実施形態を実施するために、異なるルーティング要素の分離は、異なる顧客又はサービスＶＬＡＮドメインによって行うことができる。
【００２８】
更に別の実施形態によれば、複数のルーティングエンティティのそれぞれは、少なくとも１つの共有されたＣＰＵ及び少なくとも１つの共有されたパケットプロセッサにおいて、専用制御プレーンを維持する。オプションとして、異なるルーティングエンティティの制御プレーンプロセスは、ソフトウェアコンテナによって分離される。換言すれば、複数のルーティングエンティティのそれぞれは、ネットワークにおいて実行される、他のルーティングエンティティと同じルーティングプロトコルを維持でき、このネットワークは、他のルーティングエンティティのネットワーク及びこれらの他のネットワークに含まれるＩＰアドレスと重複してもよい。
【００２９】
別の実施形態によれば、複数のルーティングエンティティのそれぞれは、１以上の共有されたパケットプロセッサ、１以上の共有されたＣＰＵ、及び共有されたプラットフォーム管理エンティティにおいて、専用管理プレーンを維持する。異なるルーティングエンティティの管理プレーンプロセスは、ソフトウェアコンテナによって分離してもよく、すなわち、各ルーティングエンティティは、管理プロトコル（例えば、リモートＣＬＩ）を実装することによって個別に到達され、上述の同じ物理的ネットワーク要素（ルーティングプラットフォーム）を共有する他のルーティングエンティティから独立して構成されてもよい。
【００３０】
上述の機能は、複数のルーティングエンティティを含む物理的ネットワーク要素によって実行される場合、好ましくは、分離され、全く同じプラットフォームを共有する他のルーティングエンティティから完全に独立している。具体的には、ルーティングエンティティの１つに対するソフトウェアの誤動作又は誤設定は、別のルーティングエンティティの動作に悪影響を及ぼさない。また、（例えば、大規模なネットワークトポロジの変更又はルーティングエンティティへのサービス攻撃に対する意図的な拒否によって）いずれかのルーティングエンティティでルーティングプレーンの過負荷が発生した場合であっても、同じプラットフォームを共有する別のルーティングエンティティの制御プレーンに悪影響が及ぶことはない。
【００３１】
本開示の更に別の実施形態によれば、物理的ネットワーク要素は、更に、物理的ネットワーク要素に含まれるルーティングエンティティを管理するように構成された管理アプリケーションを使用して、物理的ネットワーク要素に１以上の追加のルーティングエンティティを動的に（例えば、物理的ネットワーク要素が動作している間に）追加できるように構成され、１以上の追加のルーティングエンティティの動的な追加は、管理アプリケーションが、１以上の追加のルーティングエンティティを含む全てのルーティングエンティティによって、ルーティングプラットフォーム上で共有されるのに十分なリソースが利用可能であることを確認した後に実行される。
【００３２】
本明細書に組み込まれ、本明細書の一部を構成する添付の図面は、本開示の幾つかの実施形態を例示するものであり、以下の記述と共に、本開示の実施形態の原理を説明するものである。
【図面の簡単な説明】
【００３３】
【図１】２つのルーティングエンティティを含むハードウェアルーティングプラットフォーム（すなわち、物理的ネットワーク要素）を示す図である。
【図２】ルーティングエンティティの転送デバイス毎の、マルチルーティングエンティティハードウェア抽象化層（ＨＡＬ）による共有リソースの割り当てを示す図である。
【図３】同じハードウェアルーティングプラットフォームを共有する２つのルーティングエンティティのデータプレーンパスを示す図である。
【図４】「境界ＬＩＦ」によって同じハードウェアルーティングプラットフォームを共有する２つのルーティングエンティティ間のデータプレーン相互接続を示す図である。
【図５】同じハードウェアルーティングプラットフォームを共有する２つのルーティングエンティティの分離された制御プレーン及び管理プレーンのパスを示す図である。
【発明を実施するための形態】
【００３４】
以下の詳細な説明における特定の詳細及び値のいくつかは、本開示の特定の例を示すものである。但し、この説明は、例示のみを目的とし、本発明の範囲を限定することを意図するものではない。特許請求の範囲に係る物理的ネットワーク要素は、当分野で周知の様々な手法によって実現できることは、当業者にとって明らかである。更に、ここに記載した実施形態は、異なる特徴を含むが、それらの全てが本発明の全ての実施形態において必要とされるわけではない。本発明の範囲は、特許請求の範囲を参照することによって把握できる。
【００３５】
本発明は、（冗長性を目的とする）１以上のルーティングプロセッサ、（ルーティングプラットフォームに存在するネットワークインタフェースの数に応じた）転送デバイス、及びファブリックデバイスから構成された典型的なルーティングプラットフォームに関する。
【００３６】
ルーティングプロセッサは、制御プレーンプロトコル（例えば、ルーティングプロトコル）及び管理プレーンプロトコルを実行するように構成された演算要素であり、ここではルーティングエンジンと呼ぶ。ルーティングプロトコルは、ルーティング情報ベーステーブル（ＲＩＢ）を生成し、最終的に、ＲＩＢテーブルには、ネットワーク内の到達可能な全ての宛先へのルートが含まれる。
【００３７】
転送デバイスは、通常、データプレーンＡＳＩＣ又はＦＰＧＡであるパケットプロセッサに基づいている。パケットプロセッサは、複数のネットワークインタフェースを有する。各ネットワークインタフェースは、更に、複数の論理インタフェース（ＬＩＦ）に分離できる。ＬＩＦは、ネットワークインタフェースにおいて、ＶＬＡＮ、ＭＰＬＳ  ＬＳＰ、Ｌ３トンネル等として表現してもよい。パケットプロセッサは、あるＬＩＦから別のＬＩＦへのパケット転送を実行する。転送の決定は、パケットプロセッサが各転送情報ベーステーブル（ＦＩＢ）に従って行う。ＦＩＢテーブルには、そのＲＩＢテーブルで使用可能なルータから到達可能な宛先への最適ルートが格納される。ＦＩＢテーブルに加えて、パケットプロセッサは、アクセス制御リスト（ＡＣＬ）、カウンタ、トラフィックメータ、シェーパ等の他のリソースを維持し、これらのリソースを使用することによって、受信されたデータパケットをどのように転送するかを決定できる。パケットプロセッサに加えて、転送デバイスは、転送エンジンアプリケーションを実行するＣＰＵを含み、このような転送エンジンアプリケーションは、ルーティングエンジンの指示に従って、ＦＩＢ、ＡＣＬ、及びその他のパケットプロセッサリソースを維持する役割を担う。また、転送エンジンアプリケーションは、転送デバイスの状態（例えば、ネットワークインタフェースの状態、カウンタ等）をルーティングエンジンに報告し、パケットプロセッサによって受信されたルーティングプロトコルパケットをルーティングエンジンに向けて転送する。
【００３８】
ファブリックデバイスは、通常、ファブリック要素に基づき、これは、データプレーンＡＳＩＣ又はＦＰＧＡチップであってもよい。ファブリック要素は、転送デバイス上にあるＬＩＦから別の転送デバイス上にある別のＬＩＦにパケットを転送できるように、転送デバイスを相互接続するために使用される。ファブリックデバイスは、ファブリック要素に加えて、通常、ファブリックエンジンアプリケーションを実行するＣＰＵを含む。ファブリックエンジンアプリケーションは、ファブリック要素の状態（例えば、ファブリックインタフェースの状態、カウンタ等）をルーティングエンジンに報告する。
【００３９】
プラットフォーム管理ネットワークとも呼ばれるプラットフォーム管理エンティティは、ルーティングプラットフォーム（物理的ネットワーク要素）に含まれる全てのルーティングプロセッサ、転送デバイス、及びファブリックを相互接続する。プラットフォーム管理ネットワークは、ＲＩＢ−ＦＩＢ同期フローを転送し、データプレーンと制御プレーンの間のプロトコルパケットフロー（低速パスとも呼ばれる）をルーティングし、及びプラットフォームの性能を管理し、パケットのフローを維持する。
【００４０】
図１は、ここでは、マルチテナント（multi-tenant）ルーティングプラットフォームとも呼ぶ複数のルーティングエンティティを含む物理的ネットワーク要素の本発明に従って解釈される実施形態の例を示している。ルーティングプロセッサは、複数のルーティングエンジン（テナント（ルーティングエンティティ）毎のルーティングエンジン）を実行するように構成されている。この例における各ルーティングエンジンは、自らのルーティングプロトコル及び自らのＲＩＢテーブルを維持し、別々のソフトウェアコンテナ内でそれぞれのソフトウェアを実行するように構成されている。それぞれのルーティングプロセッサに関連付けられた各テナントルーティングエンジンコンテナには、専用のコンピューティング、ストレージ、及びネットワークリソースが割り当てられている。ルーティングプラットフォーム内の転送デバイスは、複数の転送エンジン（好ましくは、テナント毎の転送エンジン）を実行する。転送デバイス上のマルチテナントハードウェア抽象化層（ＨＡＬ）は、テナント転送エンジン毎のパケットプロセッサリソース（例えば、ＦＩＢ、ＡＣＬ、カウンタ、ＬＩＦ等）の共有を可能にする。ルーティングプラットフォーム内のファブリックデバイスは、複数のファブリックエンジン（好ましくは、テナント毎のファブリックエンジン）を実行する。マルチテナントハードウェア抽象化層（ＨＡＬ）は、適切なテナントのファブリックエンジンに、関連するファブリック状態レポートを提供する。例えば、特定のテナントルータがルーティングプラットフォームの転送デバイスのサブセットのみを含む場合、このテナントのファブリックエンジンには、適切なファブリックインタフェースの状態のみが通知される。
【００４１】
図２は、異なるテナント（ルーティングエンティティ）間でデータプレーンＨＷリソースを共有する仕組みを示している。各ルーティングエンティティは、それぞれの転送エンジンによって表現され、ルーティングエンティティの各ファブリックエンジンは、特定のＨＷリソース（例えば、キューの状態、ＶＲＦの状態等）を要求するように構成される。リソースのＩＤは、同じパケットプロセッサを共有する２つの異なるテナントに対して重複してもよい。マルチテナントＨＡＬは、ルーティングエンティティに関連するリソースのＩＤをそれぞれのＨＷリソースＩＤにマッピングするためのマッピングテーブルを維持する。ＨＷリソースのＩＤは、パケットプロセッサ（又は他の共有エンティティ）毎に一意である。
【００４２】
図３は、マルチテナントルーティングプラットフォーム内のテナントルータ毎のデータパスを示している。受信されたパケットは、その入口ＬＩＦ（ingress LIF）に従ってテナントルータに関連付けられ、適切なルーティングエンティティＦＩＢ、ＡＣＬ、メータ、及びシェーパに従って転送及び処理される。ファブリックは、複数のテナントルータ間で共有され、その結果、転送デバイス１（例えば、転送元１）上のパケットプロセッサは、転送元１上の特定のテナント１のＬＩＦから、転送元２上の特定のテナント１のＬＩＦにパケットを転送できる。詳細なＦＩＢルックアップ並びにこのようなフローにおける転送元１及び転送元２の転送の決定は、本開示の範囲外である。
【００４３】
図４は、ネットワークインタフェースを物理的に接続することなく、共有されたルーティングプラットフォームを介して論理的に相互接続された２つのテナントルータ間のデータパスを示している。特別な「境界ＬＩＦ」は、パケットプロセッサに対して、パケットがテナントルータによって伝送されており、他のテナントルータのＦＩＢに従って転送されることを示す。「境界ＬＩＦ」は、どの物理的ネットワークインタフェースにも関連せず、テナントルータ間のスイッチングを可能にする論理インスタンスと呼ばれる。「境界ＬＩＦ」は、パケットの宛先ルータテナントを示す。受信されたパケットは、入口ＬＩＦに従ってテナントルータに関連付けられる。パケットは、適切なテナントルータのＦＩＢ、ＡＣＬ、メータ、シェーパ等に従って、パケットプロセッサによって転送及び処理される。テナントＦＩＢに基づくパケットの宛先が境界ＬＩＦである場合、パケットプロセッサは、宛先テナントルータのＦＩＢにおいて追加のルックアップを実行する。その後、パケットは、宛先テナントルータのＦＩＢに従ってＬＩＦに転送される。
【００４４】
図５は、同じルーティングプラットフォームを共有する２つのテナントルータの分離された制御及び管理プレーンパスを示している。この分離は、２つのテナントルータ及び転送エンジンのそれぞれに専用リソースを割り当てることと、プラットフォーム管理ネットワークの各テナントに専用リソースを割り当てることによって達成される。前者は、ＣＰＵコアと専用メモリの割り当て、及びパケットプロセッサと転送元デバイス上のＣＰＵとの間に延びる通信バスの管理された共有によって達成される。後者は、テナントルータ毎にルーティングエンジンと転送エンジン間に延びるレート制限トンネルによりネットワーク分離を行うことによって達成される。
【００４５】
ここに開示した本発明の明細書及び実施を考慮することによって、本発明の他の実施形態も当業者にとって明らかである。本明細書及び実施例は、単に例示的なものであり、本発明の真の範囲及び思想は、特許請求の範囲によって示される。
【図１】
2021532609.tif 000003
【図２】
2021532609.tif 000004
【図３】
2021532609.tif 000005
【図４】
2021532609.tif 000006
【図５】
2021532609.tif 000007
【国際調査報告】
2021532609.tif 000008
2021532609.tif 000009
2021532609.tif 000010