現在、大規模、仮想化、およびクラウドコンピューティングは、情報技術(Information Technology、IT)リソースを統合し、リソース利用を改善し、メンテナンスコストを削減するなどのために、ネットワーク開発のトレンドになっている。物理ネットワーク基盤上で実施されるネットワーク仮想化の急速な発展に伴い、物理デバイス上の仮想マシン(virtual machine、VM)の数は継続的に増加し、仮想化環境で動作するアプリケーションの数も継続的に増加している。物理ネットワークのアーキテクチャは、仮想マシンの開発規模を制限する。これは、仮想ネットワークに大きな課題をもたらす。レイヤ3(Layer 3、L3)技術上のネットワーク仮想化(Network Virtualization over Layer 3、NVo3)の1つとして、仮想拡張可能ローカルエリアネットワーク(Virtual Extensible Local Area Network、VXLAN)技術は、強い適応性を有し、ネットワーク仮想化のための良好な解決策を提供する。
VXLANのVXLANトンネルエンドポイント(VXLAN Tunnel Endpoints、VTEP)は、VXLANパケットを取得するために、ユーザデータグラムプロトコル(User Datagram Protocol、UDP)を使用することによって、ソース仮想マシンによって送信されたデータパケットをカプセル化する。物理ネットワークにおけるVTEPのインターネットプロトコル(Internet Protocol、IP)アドレスおよび媒体アクセス制御(Media Access Control、MAC)アドレスがVXLANパケットの外部ヘッダ(outer-header)として使用される。VXLANパケットのソースIPアドレスはVXLANトンネル上のローカルVTEPのアドレスであり、VXLANパケットの宛先IPアドレスはVXLANトンネル上のピアVTEPのアドレスである。VXLANパケットは、IPネットワーク上の一対のVTEPによって確立されたVXLANトンネル上で送信される。VXLANトンネル上のピアVXLANトンネルエンドポイントは、VXLANパケットをカプセル化解除し、宛先仮想マシンにデータを送信する。このようにして、物理ネットワークは仮想ネットワークから切り離される。加えて、テナントは、物理ネットワークIPアドレスやブロードキャストドメインの制限を考慮することなく、テナントの仮想ネットワークを計画することができる。これにより、ネットワーク管理が大幅に簡素化される。
例えば、図1は本出願の一実施形態によるVXLANの簡略化された概略構造図である。図1に示されるように、VXLANは、ネットワークデバイス101、ネットワークデバイス102、およびネットワークデバイス103を含む。ネットワークデバイス101、ネットワークデバイス102、およびネットワークデバイス103は、物理媒体を介して互いに接続されてもよい。ネットワークデバイス101、ネットワークデバイス102、およびネットワークデバイス103は、3つの異なるVXLANトンネルエンドポイントである。ネットワークデバイス101およびネットワークデバイス102は、VXLANトンネル1を確立する。ネットワークデバイス102およびネットワークデバイス103は、VXLANトンネル2を確立する。ネットワークデバイス103およびネットワークデバイス101は、VXLANトンネル3を確立する。ネットワークデバイス103は、別のネットワーク(例えば、相互接続ネットワーク)にアクセスすることができる。例えば、ネットワークデバイス103は、VXLANのゲートウェイデバイスであってもよく、ネットワークデバイス103は、相互接続ネットワークのネットワークデバイス108に接続される。この場合、VXLANのパケットは、ネットワークデバイス103を使用してVXLAN外のネットワークに送信されてもよい。ネットワークデバイス101は、サーバ104およびサーバ105に接続される。ネットワークデバイス102は、サーバ106およびサーバ107に接続される。サーバ104からサーバ107の各々は、複数の仮想マシンを含む。サーバ104の仮想マシンがサーバ106の仮想マシンにデータを送信すると仮定する。ネットワークデバイス101は、まず、VXLANパケットを取得するために、サーバ104の仮想マシンによって送信されたデータパケットを、UDPを使用してカプセル化し、ネットワークデバイス102とネットワークデバイス102の間のVXLANトンネル1を通してネットワークデバイス101にVXLANパケットを送信する。ネットワークデバイス102は、VXLANパケットをカプセル化解除し、VXLANパケットに含まれるデータをサーバ106の仮想マシンに送信する。サーバにそれぞれ接続されたネットワークデバイス101およびネットワークデバイス102は、ネットワークの顧客エッジノードと呼ばれ得、両方ともネットワーク側ネットワークデバイス103に接続される。
本実施形態におけるネットワークデバイスは、ルータまたはスイッチなどのデバイスであってもよい。図1に示されるサーバに加えて、顧客エッジノード(例えば、ネットワークデバイス101およびネットワークデバイス102)にアクセスするデバイスに接続されたデバイスは、別のデバイス、例えばホストまたは端末(terminal)であってもよい。端末は、端末デバイス、ユーザ機器(user equipment、UE)、モバイルステーション(mobile station、MS)、モバイルターミナル(mobile terminal、MT)などと呼ばれることもある。端末は、携帯電話(mobile phone)、タブレットコンピュータ(Pad)、無線トランシーバ機能を有するコンピュータ、ウェアラブルデバイス、仮想現実(Virtual Reality、VR)端末デバイス、拡張現実(Augmented Reality、AR)端末デバイス、工業制御(industrial control)における無線端末、自動運転(self driving)における無線端末、遠隔医療手術(remote medical surgery)における無線端末、スマートグリッド(smart grid)における無線端末、運輸安全(transportation safety)における無線端末、スマートシティ(smart city)における無線端末、スマートホーム(smart home)における無線端末などであり得る。本出願のこの実施形態では、端末によって使用される特定の技術および端末の特定のデバイス形態は限定されない。図1は、説明のための単なる一例である。システムに含まれるネットワークデバイスの台数およびサーバの台数は、本出願のこの実施形態では限定されない。
通常、1つのサーバが複数の仮想マシンに仮想化され得、1つの仮想マシンが1つのホストとみなされてもよい。サービスは、仮想マシン上に柔軟に展開され得る。同じネットワークセグメントに属する仮想マシン上には同じサービスが展開され得る。異なるネットワークセグメントに属する仮想マシン上には異なるサービスが展開され得る。同じネットワークセグメントに属する仮想マシンは、互いに通信することができる。異なるネットワークセグメントに属する仮想マシンはまた、互いに通信することもできる。例えば、財務部門のサービスは、サーバ104およびサーバ106にあり、同じネットワークセグメントに属する仮想マシン上に展開される。別の例では、エンジニアリング部門のサービスは、サーバ105およびサーバ107にあり、同じネットワークセグメントに属する仮想マシン上に展開される。財務部門のサービスが展開される仮想マシンは、互いに通信することができる。また、財務部門のサービスが展開される仮想マシンと、エンジニアリング部門のサービスが展開される仮想マシンも、互いに通信することができる。別の例では、人事部のサービスは、従来のネットワークのサーバ上に展開される。財務部門のサービスが展開される仮想マシン、エンジニアリング部門のサービスが展開される仮想マシン、および人事部門のサービスが展開されるサーバもまた、互いに通信することができる。
VXLANのVXLANトンネルエンドポイントは、別のVXLANトンネルエンドポイントを発見し、ブロードキャストパケットを使用してホスト情報を学習することに留意されたい。ホスト情報は、IPアドレス、MACアドレス、VXLANネットワーク識別子(VXLAN Network Identifier、VNI)、ゲートウェイVTEPのIPアドレスなどを含む。これは、ネットワーク上で大量のフラッディングトラフィックをもたらす。この問題を解決するために、イーサネット仮想プライベートネットワーク(Ethernet Virtual Private Network、EVPN)技術がVXLANで使用され得、新しいタイプのネットワークレイヤ到達可能性情報(Network Layer Reachability Information、NLRI)、すなわちEVPN NLRIが、境界ゲートウェイプロトコル(Border Gateway Protocol、BGP)に基づいて定義される。EVPN NLRIは、いくつかのタイプの新しいBGP-EVPNルート(例えば、MAC/IPルート、包括的マルチキャストイーサネットタグ(Inclusive Multicast、IMET)ルート、およびIPプレフィックスルート)を定義する。VTEPは、自動VTEP発見およびホスト情報通知などの機能を実施するために、互いにBGP-EVPNルートを交換する。
しかしながら、大規模VXLANネットワーク(例えば、いくつかの大規模なキャンパスに展開されたVXLAN)上には大量の顧客エッジノード(例えば、サーバに近いネットワークデバイス)が存在する。各顧客エッジノードが1つのルートを生成した場合でも、顧客エッジノードのハードウェアは、そのような大量のルートをサポートすることができない。
したがって、本出願の実施形態は解決策を提供する。この解決策では、ネットワーク側ノードは、ネットワーク側ノードに接続された各顧客エッジノードと特定のモード隣接者を確立し、その結果、各顧客エッジノードは、確立されたモード隣接者に基づいて、ネットワーク側ノードに、顧客エッジノードを使用してネットワーク通信を実施するデバイス(例えば、ユーザホスト)のルートを通知し、すべての顧客エッジノードは、もはやそれぞれのルートを互いに通知する必要はなく、ネットワーク側ノードを使用してパケットを互いに転送するか、または要件に基づいてネットワーク側ノードから別の顧客エッジノードへのルートを動的に取得することができる。これにより、顧客エッジノードの記憶圧力およびリソースオーバーヘッドが低減する。
以下では、添付の図面を参照して、本出願で提供されるデータ伝送方法を詳細に説明する。
図2は、本出願の一実施形態によるデータ伝送方法のフローチャートである。ここでは、ネットワークデバイス101、ネットワークデバイス102、およびネットワークデバイス103が説明のための例として使用される。ネットワークデバイス103は、ネットワークデバイス101およびネットワークデバイス102の各々と第1のモードの隣接者を確立し、第1のモードの隣接者はスポーク隣接者であり得る。図2に示されるように、方法は以下のステップを含む。
S201:ネットワークデバイス103は、第1のルートを生成する。
ネットワークデバイス103は、ネットワークデバイス103とスポーク隣接者を確立するネットワークデバイスに関する格納された情報に基づいて、ネットワークデバイス101がネットワークデバイス103の第1のモードの隣接者であり、ネットワークデバイス102がネットワークデバイス103の第1のモードの隣接者であると決定する。さらに、ネットワークデバイス103は、ネットワークデバイス101がネットワークデバイス103の第1のモードの隣接者であるという事実およびネットワークデバイス102がネットワークデバイス103の第1のモードの隣接者であるという事実に基づいて第1のルートを生成する。
第1のルートは、ネットワークデバイス101に、第1のルートに基づいて、ネットワークデバイス102に接続された仮想マシンに送信されるパケットをネットワークデバイス103に転送するように命令するために使用される。
第1のルートは、ネットワークデバイス102に、第1のルートに基づいて、ネットワークデバイス101に接続された仮想マシンに送信されるパケットをネットワークデバイス103に転送するように命令するためにさらに使用される。
第1のルートは、デフォルトルートであってもよい。例えば、デフォルトルートは、未知のMACルート(Unknown MAC Route、UMR)であり、MACアドレス0-0-0によって表される。ネットワークデバイス103は、デフォルトルートを通知し、その結果、デフォルトルートを受信するネットワークデバイスは、デフォルトルートに基づいて、送信される必要があるサービスパケットをネットワークデバイス103に転送することができ、次いで、ネットワークデバイス103は、ローカルテーブル検索を通して、受信したサービスパケットを次のネットワークデバイスに転送することを決定する。
S202:ネットワークデバイス103は、第1のルートをネットワークデバイス101に送信する。
ネットワークデバイス103は、ネットワークデバイス101とのスポークモードのBGP-EVPN近隣関係に基づいて、ネットワークデバイス101に第1のルートを送信する。
S203:ネットワークデバイス103は、第1のルートをネットワークデバイス102に送信する。
ネットワークデバイス103は、ネットワークデバイス102とのスポークモードのBGP-EVPN近隣関係に基づいて、ネットワークデバイス102に第1のルートを送信する。
S204:ネットワークデバイス101は、ネットワークデバイス103から第1のルートを受信する。
第1のルートを受信した後、ネットワークデバイス101は未知のユニキャストルーティングテーブルに第1のルートを記録する。ネットワークデバイス101に接続された仮想マシンによって送信されたパケットを受信した後、ネットワークデバイス101は、第1のルートに基づいてネットワークデバイス103にパケットを転送することができる。
S205:ネットワークデバイス102は、ネットワークデバイス101から第1のルートを受信する。
第1のルートを受信した後、ネットワークデバイス102は未知のユニキャストルーティングテーブルに第1のルートを記録する。ネットワークデバイス102に接続された仮想マシンによって送信されたパケットを受信した後、ネットワークデバイス102は、第1のルートに基づいてネットワークデバイス103にパケットを転送することができる。
ある場合には、第1のルートは、ネットワークデバイス103と、ネットワークデバイス102およびネットワークデバイス101の各々の間の第1のモードの隣接者関係に基づいて、ネットワークデバイス103によって能動的に送信されてもよい。別の場合には、ネットワークデバイス101およびネットワークデバイス102の各々から要求(例えば、アウトバウンドルートフィルタリング(Outbound Route Filtering、ORF)要求)を受信した後、ネットワークデバイス103は、代替として、ネットワークデバイス101およびネットワークデバイス102の各々に第1のルートを送信することができ、ORF要求はデフォルトルートを要求するために使用される。いくつかの実施形態では、ORF要求はルートタイプを含み、ルートタイプはデフォルトルートを示す。例えば、S201の前に、方法は以下のステップをさらに含むことができる。
S206:ネットワークデバイス101は、ネットワークデバイス103に第1のアウトバウンドルートフィルタリング要求を送信する。
ネットワークデバイス101は、ネットワークデバイス103とのハブ(hub)モードのBGP-EVPN近隣関係に基づいて、ネットワークデバイス103に第1のアウトバウンドルートフィルタリング要求を送信する。
S207:ネットワークデバイス103は、ネットワークデバイス101によって送信された第1のアウトバウンドルートフィルタリング要求を受信する。
ネットワークデバイス101によって送信された第1のアウトバウンドルートフィルタリング要求を受信した後、ネットワークデバイス103は、ネットワークデバイス101に第1のルートを送信する。
S208:ネットワークデバイス102は、ネットワークデバイス103に第1のアウトバウンドルートフィルタリング要求を送信する。
ネットワークデバイス102は、ネットワークデバイス103とのハブモードのBGP-EVPN近隣関係に基づいて、ネットワークデバイス103に第1のアウトバウンドルートフィルタリング要求を送信する。
S209:ネットワークデバイス103は、ネットワークデバイス102によって送信された第1のアウトバウンドルートフィルタリング要求を受信する。
ネットワークデバイス102によって送信された第1のアウトバウンドルートフィルタリング要求を受信した後、ネットワークデバイス103は、ネットワークデバイス102に第1のルートを送信する。
いくつかの他の実施形態では、ネットワークデバイス101およびネットワークデバイス102は、それぞれのMACルートをネットワークデバイス103にさらに送信することができる。方法は以下のステップをさらに含む。
S210:ネットワークデバイス102は、ネットワークデバイス103に第2のルートを送信する。
第2のルートは、ネットワークデバイス103に、第2のルートに基づいて、ネットワークデバイス102に接続された仮想マシンに送信されるパケットをネットワークデバイス102に転送するように命令するために使用される。
S211:ネットワークデバイス101は、ネットワークデバイス103に第3のルートを送信する。
第3のルートは、ネットワークデバイス103に、第3のルートに基づいて、ネットワークデバイス101に接続された仮想マシンに送信されるパケットをネットワークデバイス101に転送するように命令するために使用される。
S212:ネットワークデバイス103は、ネットワークデバイス102によって送信された第2のルートを受信する。
S213:ネットワークデバイス103は、ネットワークデバイス101によって送信された第3のルートを受信する。
例えば、図3は本出願の一実施形態によるルート学習プロセスの概略図である。ネットワークデバイス103は、ネットワークデバイス101およびネットワークデバイス102の各々に第1のルートを送信する。ネットワークデバイス102は、ネットワークデバイス103に第2のルートを送信する。ネットワークデバイス101は、ネットワークデバイス103に第3のルートを送信する。
ネットワークデバイス101がネットワークデバイス103の第1のモードの隣接者であるという事実に基づいて、ネットワークデバイス103は、ネットワークデバイス102によって送信された第2のルートを受信するが、第2のルートをネットワークデバイス101に転送しない。ネットワークデバイス102が第3のネットワークデバイス103の第1のモードの隣接者であるという事実に基づいて、ネットワークデバイス103は、ネットワークデバイス101によって送信された第3のルートを受信するが、第3のルートをネットワークデバイス102に転送しない。加えて、ネットワークデバイス101およびネットワークデバイス102は、ネットワークデバイス101およびネットワークデバイス102が互いに第1のモードの隣接者ではないという事実に基づいて、第2のルートまたは第3のルートを互いにさらに通知しなくてもよい。例えば、ネットワークデバイス101およびネットワークデバイス102は、互いの第2のモード隣接者、例えば、ハブモード隣接者であってもよい。
このように、ネットワークデバイス101とネットワークデバイス102の両方は、デフォルトルートのみを格納するが、VXLANに別のネットワークデバイスのルートを格納する必要はない。これにより、顧客エッジノードのリソースオーバーヘッドおよび記憶圧力が効果的に低減する。
さらに、ネットワークデバイス101に接続されたデバイス(例えば、サーバ104またはサーバ105)の仮想マシンが起動された後、仮想マシンは、その仮想マシンのMACアドレスをネットワークデバイス103に通知する。同様に、ネットワークデバイス102に接続されたデバイス(例えば、サーバ106またはサーバ107)の仮想マシンが起動された後、仮想マシンは、その仮想マシンのMACアドレスをネットワークデバイス103に通知する。このようにして、ネットワークデバイス103は、VXLANの顧客エッジノードに接続されたすべての仮想マシンのMACアドレスを学習する。仮想マシンが互いに通信するとき、ネットワークデバイス103は、仮想マシン間でユニキャストパケットを転送する。
図4は、本出願の一実施形態によるデータ伝送方法のフローチャートである。図4と図2との違いは、本明細書では、ネットワークデバイス103がネットワークデバイス101のアドレス、ネットワークデバイス101に接続されたすべてのサーバの仮想マシンのアドレス、ネットワークデバイス102のアドレス、およびネットワークデバイス102に接続されたすべてのサーバの仮想マシンのアドレスを学習したと仮定することにある。ネットワークデバイス103は、ネットワークデバイス101およびネットワークデバイス102の各々と第1のモードの隣接者を確立する。サーバ104の仮想マシン1がサーバ106の仮想マシン2にアクセスする一例が説明に使用される。サーバ104の仮想マシン1は、サーバ106の仮想マシン2のMACアドレスを学習しているものとする。図4に示されるように、S201からS213の後、方法は以下のステップを含む。
S401:サーバ104の仮想マシン1は、ネットワークデバイス101に第1のパケットを送信する。
第1のパケットのヘッダは、仮想マシン1のMACアドレスと、仮想マシン2のMACアドレスとを含む。第1のパケットは、ネットワークデバイス101に接続された仮想マシン1によって、ネットワークデバイス102に接続された仮想マシン2に送信されるパケットである。この実施形態では、第1のパケットはユニキャストパケットである。
S402:ネットワークデバイス101は、サーバ104の仮想マシン1によって送信された第1のパケットを受信する。
S403:ネットワークデバイス101は、第1のルートに基づいて第1のパケットを転送する。
ネットワークデバイス101は、ユニキャストルーティングテーブルにおいて仮想マシン2のMACアドレスを見つけられないため、ネットワークデバイス101は、未知のユニキャストルーティングテーブルの第1のルートを使用して、第1のパケットをネットワークデバイス103に転送する。
ネットワークデバイス101は、第1のVXLANパケットを取得するために、UDPを使用することによって第1のパケットをカプセル化することができることが理解されよう。第1のVXLANパケットのヘッダは、ネットワークデバイス101のIPアドレス、ネットワークデバイス103のIPアドレス、ネットワークデバイス101のMACアドレス、およびネットワークデバイス102に接続された仮想マシン2のものである、第1のパケットに含まれるMACアドレスを含むことができる。ネットワークデバイス101は、ネットワークデバイス101とネットワークデバイス103の間のVXLANトンネル3を通してネットワークデバイス103に第1のVXLANパケットを送信する。
S404:ネットワークデバイス103は、ネットワークデバイス101によって送信された第1のパケットを受信する。
S405:ネットワークデバイス103は、第2のルートに基づいて第1のパケットをネットワークデバイス102に転送する。
ネットワークデバイス103は、第2のルートを取得するために、第1のVXLANパケットをカプセル化解除し、ネットワークデバイス102に接続された仮想マシン2のMACアドレスに基づいてユニキャストルーティングテーブルに照会する。ネットワークデバイス102がネットワークデバイス103のスポーク隣接者である場合、ネットワークデバイス103は、第2のルートに基づいて第1のパケットをネットワークデバイス102に転送する。
ネットワークデバイス103は、第2のVXLANパケットを取得するために、UDPを使用することによって第1のパケットをカプセル化することができることが理解されよう。ネットワークデバイス103は、ネットワークデバイス103とネットワークデバイス102の間のVXLANトンネル2を通した第2のルートに基づいて、第2のVXLANパケットをネットワークデバイス102に転送する。第2のVXLANパケットのヘッダは、ネットワークデバイス103のIPアドレス、ネットワークデバイス103のMACアドレス、ネットワークデバイス102のIPアドレス、およびネットワークデバイス102のMACアドレスを含む。
S406:ネットワークデバイス102は、ネットワークデバイス103によって送信された第1のパケットを受信する。
S407:ネットワークデバイス102は、ネットワークデバイス102に接続された仮想マシン2に第1のパケットを転送する。
ネットワークデバイス102は、第1のパケットを取得するために第2のVXLANパケットをカプセル化解除し、ネットワークデバイス102に接続された仮想マシン2に第1のパケットを送信することが理解されよう。
例えば、図5は本出願の一実施形態によるパケット送信プロセスの概略図である。サーバ104の仮想マシン1がサーバ106の仮想マシン2に第1のパケットを送信するパスは、サーバ104の仮想マシン1→ネットワークデバイス101→ネットワークデバイス103→ネットワークデバイス102→サーバ106の仮想マシン2である。サーバ107の仮想マシンがサーバ105の仮想マシンに第2のパケットを送信するパスは、サーバ107の仮想マシン→ネットワークデバイス102→ネットワークデバイス103→ネットワークデバイス101→サーバ105の仮想マシンである。
このようにして、ネットワークデバイス101とネットワークデバイス102の両方がデフォルトルートのみを格納し、別のネットワークデバイスのルートをVXLANに格納する必要がないとき、ネットワークデバイス102に接続された仮想マシン2にパケットを送信するためのルートは、要件に基づいてネットワークデバイス103から取得され、ネットワークデバイス103を使用してパケットが転送され、その結果、ネットワークデバイス101に接続された仮想マシン1は、ネットワークデバイス102に接続された仮想マシン2と通信する。これにより、顧客エッジノードのリソースオーバーヘッドおよび記憶圧力は効果的に低減する。
いくつかの実施形態では、ネットワークデバイス101に接続された仮想マシン1が、ネットワークデバイス102に接続された仮想マシン2のMACアドレスを知らない場合、ネットワークデバイス101に接続された仮想マシン1は、ネットワークデバイス102に接続された仮想マシン2のMACアドレスを取得する要求を送信する。図6Aおよび図6Bは、本出願の一実施形態によるデータ伝送方法のフローチャートである。図6Aおよび図6Bに示されるように、S401の前に、方法は以下のステップをさらに含む。
S601:サーバ104の仮想マシン1は、アドレス解決プロトコル(Address Resolution Protocol、ARP)パケットをネットワークデバイス101に送信する。
アドレス解決プロトコルパケットは、ネットワークデバイス102に接続された仮想マシン2のMACアドレスを要求するために使用される。アドレス解決プロトコルパケットは、ネットワークデバイス102に接続された仮想マシン2のIPアドレスを含む。
S602:ネットワークデバイス101は、サーバ104の仮想マシン1によって送信されたアドレス解決プロトコルパケットを受信する。
S603:ネットワークデバイス101は、アドレス解決プロトコルパケットをネットワークデバイス103に転送する。
ネットワークデバイス101がアドレス解決プロトコルパケットを受信した後、ネットワークデバイス101が、ローカルに格納されたARPテーブルにおいて、仮想マシン2のものであり、仮想マシン2のIPアドレスに関連付けられたMACアドレスを見つけた場合、ネットワークデバイス101は、仮想マシン2のMACアドレスをサーバ104の仮想マシン1にフィードバックする。そうではないとき、ネットワークデバイス101が、ローカルに格納されたARPテーブルにおいて、仮想マシン2のものであり、仮想マシン2のIPアドレスに関連付けられたMACアドレスを見つけない場合、ネットワークデバイス101は、アドレス解決プロトコルパケットをネットワークデバイス103にブロードキャストする。例えば、ネットワークデバイス101は、ネットワークデバイス103によって送信されたIMETルートに基づいて、アドレス解決プロトコルパケットをネットワークデバイス103にブロードキャストする。
ネットワークデバイス101は、第3のVXLANパケットを取得するために、UDPを使用することによってアドレス解決プロトコルパケットをカプセル化することができることが理解されよう。ネットワークデバイス101は、ネットワークデバイス101とネットワークデバイス103の間のVXLANトンネル3を通してネットワークデバイス103に第3のVXLANパケットを送信する。
S604:ネットワークデバイス103は、ネットワークデバイス101によって送信されたアドレス解決プロトコルパケットを受信する。
S605:ネットワークデバイス103は、第3のルートに基づいて応答パケットをネットワークデバイス101に送信する。
ネットワークデバイス103は、ネットワークデバイス102に接続された仮想マシン2のIPアドレスおよびMACアドレスを学習するので、ネットワークデバイス103は、ネットワークデバイス102に接続された仮想マシン2のIPアドレスに基づいてARPテーブルに照会して、ネットワークデバイス102に接続された仮想マシン2のMACアドレスを取得する。ネットワークデバイス103は、応答パケットを生成し、応答パケットは、ネットワークデバイス102に接続された仮想マシン2のMACアドレスを含む。ネットワークデバイス103は、ネットワークデバイス101とネットワークデバイス103の間のVXLANトンネル3を通してネットワークデバイス101に応答パケットを転送する。ネットワークデバイス103は、第4のVXLANパケットを取得するために、UDPを使用することによって応答パケットをカプセル化することができることが理解されよう。ネットワークデバイス103は、ネットワークデバイス103とネットワークデバイス101の間のVXLANトンネル3を通してネットワークデバイス101に第4のVXLANパケットを送信する。
例えば、ネットワークデバイス102に接続された仮想マシン2のIPアドレスが10.1.1.2であり、ネットワークデバイス102に接続された仮想マシン2のMACアドレスが2-2-2であるとする。ネットワークデバイス103は、10.1.1.2に基づいて2-2-2を見つけ、10.1.1.2および2-2-2をネットワークデバイス101にフィードバックする。
S606:ネットワークデバイス101は、ネットワークデバイス103によって送信された応答パケットを受信する。
S607:ネットワークデバイス101は、ネットワークデバイス101に接続された仮想マシン1に応答パケットを送信する。
さらに、ネットワークデバイス101に接続された仮想マシン1は、ネットワークデバイス102に接続された仮想マシン2のMACアドレスに基づいて、ネットワークデバイス102に接続された仮想マシン2にパケットを送信することができる。詳細については、前述の実施形態におけるS401からS407の説明を参照されたい。本明細書では詳細は繰り返し説明されない。
例えば、図7は本出願の一実施形態によるARPパケット送信プロセスの概略図である。サーバ104の仮想マシン1がARPパケットを使用してサーバ106の仮想マシン2のMACアドレスを要求するためのパスは、サーバ104の仮想マシン1→ネットワークデバイス101→ネットワークデバイス103→ネットワークデバイス101→サーバ104の仮想マシン1である。
任意選択で、ネットワークデバイス101は、ネットワークデバイス101に接続された仮想マシン1によって送信されたARP要求に基づいてORF要求を生成することができ、ネットワークデバイス101は、ORF要求を使用して、ネットワークデバイス102に接続された仮想マシン2のMACアドレスを取得する。例えば、ネットワークデバイス101は、ネットワークデバイス103に第2のORF要求を送信し、第2のORF要求に含まれるルートタイプは、ネットワークデバイス102に接続された仮想マシン2のルートを取得することを示す。
ネットワークデバイス101は、サービスのユニキャストトラフィックに基づいてMACアドレスを動的に要求してルートを正確に要求し、要求されたルートに基づいてパケットを送信して最適なパスを実施する。このようにして、ネットワークデバイス101に格納されるMACアドレスの数が低減され、ネットワークデバイス101のリソースオーバーヘッドおよび記憶圧力が低減される。
ネットワークデバイス102に接続された仮想マシン2のルートの宛先アドレスは、ネットワークデバイス102に接続された仮想マシン2のアドレスである。加えて、ネットワークデバイス103は、ネットワークデバイス102に接続された仮想マシン2のルートのネクストホップをネットワークデバイス102として格納してもよい。
ネットワークデバイス101に接続された仮想マシンによってネットワークデバイス102に接続された仮想マシンに送信されたパケットが毎回ネットワークデバイス103によって転送される場合、ネットワークデバイス103の大量のリソースが消費される。別の場合には、サーバ104の仮想マシンがネットワークデバイス102に接続された仮想マシンにパケットを送信する回数が予め設定されたしきい値より大きい場合、ネットワークデバイス101はORF要求を生成することができ、ネットワークデバイス101は、ORF要求を使用して、ネットワークデバイス102に接続された仮想マシンのMACアドレスを取得する。ネットワークデバイス102に接続された仮想マシンのものであり、ネットワークデバイス103によって送信されたMACアドレスを受信した後、ネットワークデバイス101は、ネットワークデバイス102に接続された仮想マシンのMACアドレスをユニキャストルーティングテーブルに追加する。このようにして、ネットワークデバイス103は、ネットワークデバイス101に接続された仮想マシンによって送信されたパケットをネットワークデバイス102に接続された仮想マシンに転送することを阻止され、ネットワークデバイス103のリソース消費が低減される。続いて、ネットワークデバイス101に接続された仮想マシンがネットワークデバイス102に接続された仮想マシンにパケットを送信すると、ネットワークデバイス101は、ネットワークデバイス102に接続された仮想マシンのMACアドレスを取得するために、ユニキャストルーティングテーブルに照会することができる。ネットワークデバイス101は、ネットワークデバイス101とネットワークデバイス102の間のVXLANトンネル1を通して、ネットワークデバイス101に接続された仮想マシンからネットワークデバイス102にパケットを転送するが、ネットワークデバイス101に接続された仮想マシンからネットワークデバイス103にパケットを転送する必要はもはやない。ネットワークデバイス103は、ネットワークデバイス102に接続された仮想マシンのMACアドレスを照会し、ネットワークデバイス101に接続された仮想マシンからのパケットを転送する。例えば、図8は本出願の一実施形態によるパケット送信プロセスの概略図である。サーバ104の仮想マシン1がサーバ106の仮想マシン2にユニキャストパケットを送信するパスは、サーバ104の仮想マシン1→ネットワークデバイス101→ネットワークデバイス102→サーバ106の仮想マシン2である。
加えて、ネットワークデバイス101が、予め設定された期間内に、ネットワークデバイス101に接続された仮想マシンによってネットワークデバイス102に接続された仮想マシンに送信されたユニキャストパケットを受信しない場合、ネットワークデバイス101は、ユニキャストルーティングテーブルから、ネットワークデバイス102に接続された仮想マシンのMACアドレスを削除することができる。したがって、ネットワークデバイス101に格納されるMACアドレスの数が削減される。
別の可能な実装形態では、ネットワークデバイス101は、ネットワークデバイス103とアウトバウンドルートフィルタリング(Outbound Route Filtering、ORF)要求の量をさらにネゴシエートすることができ、ORF要求は、ネットワークデバイスに接続されたユーザ側デバイスのルートを要求するために使用される。ネットワークデバイス103は、ネットワークデバイス103のスポーク隣接者の数またはEVPNインスタンスのルート識別子(Route Distinguisher、RD)値に基づいてORF要求の数を決定することができる。代替として、ネットワークデバイス101は、ORF要求の最大数をネットワークデバイス103に通知する。ネットワークデバイス103が、その量がしきい値よりも大きいORF要求を受信した後、ネットワークデバイス103は、ORF要求の冗長量を廃棄する。
図9は、本出願の一実施形態によるデータ伝送方法のフローチャートである。ここでは、ネットワークデバイス101、ネットワークデバイス102、およびネットワークデバイス103が説明のための例として使用される。ネットワークデバイス103は、ネットワークデバイス101およびネットワークデバイス102の各々と第1のモードの隣接者を確立し、第1のモードの隣接者はスポーク隣接者であり得る。図9に示されているように、方法は以下のステップを含む。
S901:ネットワークデバイス101は、ネットワークデバイス103に第1のIMETルートを送信する。
ネットワークデバイス101は、ネットワークデバイス101とスポーク隣接者を確立するネットワークデバイスに関する格納された情報に基づいて、ネットワークデバイス101がネットワークデバイス103の第1のモードの隣接者であり、ネットワークデバイス101がネットワークデバイス103に第1のIMETルートを送信すると決定する。
第1のIMETルートは、ネットワークデバイス103に、ネットワークデバイス101に接続された仮想マシンに送信されるブロードキャスト、未知のユニキャスト、およびマルチキャスト(ブロードキャスト、未知のユニキャスト、マルチキャスト、BUM)パケットを、第1のIMETルートに基づいてネットワークデバイス101に転送するように命令するために使用される。具体的には、ネットワークデバイス101に接続された仮想マシンに送信されるパケットは、ブロードキャストパケット、未知のユニキャストパケット、またはマルチキャストパケットのいずれか1つである。
ネットワークデバイス101は、ネットワークデバイス103とのハブモードのBGP-EVPN近隣関係に基づいて、ネットワークデバイス103に第1のIMETルートを送信する。
S902:ネットワークデバイス102は、ネットワークデバイス103に第2のIMETルートを送信する。
ネットワークデバイス102は、ネットワークデバイス102とスポーク隣接者を確立するネットワークデバイスに関する格納された情報に基づいて、ネットワークデバイス102がネットワークデバイス103の第1のモードの隣接者であり、ネットワークデバイス102がネットワークデバイス103に第2のIMETルートを送信すると決定する。
第2のIMETルートは、ネットワークデバイス103に、第2のIMETルートに基づいて、ネットワークデバイス102に接続された仮想マシンに送信されるBUMパケットをネットワークデバイス102に転送するように命令するために使用される。
ネットワークデバイス102は、ネットワークデバイス103とのハブモードのBGP-EVPN近隣関係に基づいて、ネットワークデバイス103に第2のIMETルートを送信する。
S903:ネットワークデバイス103は、ネットワークデバイス101によって送信された第1のIMETルートを受信する。
第1のIMETルートを受信した後、ネットワークデバイス103はブロードキャストルーティングテーブルに第1のIMETルートを記録する。ネットワークデバイス102に接続された仮想マシンによって送信されたBUMパケットを受信した後、ネットワークデバイス103は、第1のIMETルートに基づいてネットワークデバイス101にBUMパケットを転送することができる。
S904:ネットワークデバイス103は、ネットワークデバイス102によって送信された第2のIMETルートを受信する。
第2のIMETルートを受信した後、ネットワークデバイス103はブロードキャストルーティングテーブルに第2のIMETルートを記録する。ネットワークデバイス101に接続された仮想マシンによって送信されたBUMパケットを受信した後、ネットワークデバイス103は、第2のIMETルートに基づいてネットワークデバイス102にBUMパケットを転送することができる。
S905:ネットワークデバイス103は、ネットワークデバイス101に第3のIMETルートを送信する。
ネットワークデバイス103は、第3のIMETルートに基づいてネットワークデバイス103にパケットを送信するようにネットワークデバイス101に命令するために、ネットワークデバイス101とのスポーク隣接関係に基づいてネットワークデバイス101に第3のIMETルートを送信する。
S906:ネットワークデバイス103は、ネットワークデバイス102に第3のIMETルートを送信する。
ネットワークデバイス103は、第3のIMETルートに基づいてネットワークデバイス103にパケットを送信するようにネットワークデバイス102に命令するために、ネットワークデバイス102とのスポーク隣接関係に基づいてネットワークデバイス102に第3のIMETルートを送信する。
S907:ネットワークデバイス101は、ネットワークデバイス103によって送信された第3のIMETルートを受信する。
S908:ネットワークデバイス102は、ネットワークデバイス103によって送信された第3のIMETルートを受信する。
任意選択で、ネットワークデバイス103は、代替として、ネットワークデバイス101およびネットワークデバイス102の各々に第3のIMETルートを送信し、次いで、ネットワークデバイス101によって送信された第1のIMETルートおよびネットワークデバイス102によって送信された第2のIMETルートを受信してもよい。S901からS904のシーケンスおよびS905からS908のシーケンスは、この実施形態では限定されない。
例えば、図10は本出願の一実施形態によるルート学習プロセスの概略図である。ネットワークデバイス103は、ネットワークデバイス101およびネットワークデバイス102の各々に第3のIMETルートを送信する。ネットワークデバイス102は、ネットワークデバイス103に第2のIMETルートを送信する。ネットワークデバイス101は、ネットワークデバイス103に第1のIMETルートを送信する。
ネットワークデバイス101がネットワークデバイス103の第1のモードの隣接者であるという事実に基づいて、ネットワークデバイス103はネットワークデバイス102によって送信された第2のIMETルートを受信するが、第2のIMETルートをネットワークデバイス101に転送せず、ネットワークデバイス102が第3のネットワークデバイス103の第1のモードの隣接者であるという事実に基づいて、ネットワークデバイス103は、ネットワークデバイス101によって送信された第1のIMETルートを受信するが、第1のIMETルートをネットワークデバイス102に転送しないことに留意されたい。加えて、ネットワークデバイス101およびネットワークデバイス102は、ネットワークデバイス101およびネットワークデバイス102が互いに第1のモードの隣接者ではないという事実に基づいて、第1のIMETルートまたは第2のIMETルートを互いにさらに通知しなくてもよい。例えば、ネットワークデバイス101およびネットワークデバイス102は、互いの第2のモード隣接者、例えば、ハブ(hub)モード隣接者であってもよい。
このようにして、ネットワークデバイス101とネットワークデバイス102の両方は、ネットワークデバイス103のIMETルートのみを格納するが、VXLANの別のネットワークデバイスのIMETルートを格納する必要はない。これにより、顧客エッジノードのリソースオーバーヘッドおよび記憶圧力が効果的に低減する。
図11は、本出願の一実施形態によるデータ伝送方法のフローチャートである。ここでは、サーバ106の仮想マシン2がBUMパケットを送信する一例が説明のために使用される。図11に示されるように、S901からS908の後、方法は以下のステップを含む。
S1101:サーバ106の仮想マシン2は、ネットワークデバイス102に第1のパケットを送信する。
第1のパケットのヘッダは、サーバ106の仮想マシン2のMACアドレスと、ブロードキャストアドレスとを含む。この実施形態では、第1のパケットはBUMパケットである。
S1102:ネットワークデバイス102は、サーバ106の仮想マシン2によって送信された第1のパケットを受信する。
S1103:ネットワークデバイス102は、第3のIMETルートに基づいて第1のパケットを転送する。
ネットワークデバイス102は、ブロードキャストルーティングテーブルを検索し、ブロードキャストルーティングテーブルの第3のIMETルートを使用してネットワークデバイス103に第1のパケットを転送する。
ネットワークデバイス102は、第1のVXLANパケットを取得するために、UDPを使用することによって第1のパケットをカプセル化することができることが理解されよう。第1のVXLANパケットのヘッダは、ネットワークデバイス102のIPアドレスおよびネットワークデバイス103のIPアドレスを含むことができる。ネットワークデバイス102は、ネットワークデバイス102とネットワークデバイス103の間のVXLANトンネル2を通してネットワークデバイス103に第1のVXLANパケットを送信する。
S1104:ネットワークデバイス103は、ネットワークデバイス102によって送信された第1のパケットを受信する。
S1105:ネットワークデバイス103は、第1のIMETルートに基づいて第1のパケットをネットワークデバイス101に転送する。
ネットワークデバイス103は、第2のVXLANパケットを取得するために、第1のVXLANパケットをカプセル化解除し、第1のパケットがBUMパケットであると決定し、UDPを使用して第1のパケットをカプセル化する。ネットワークデバイス103は、ネットワークデバイス103とネットワークデバイス101の間のVXLANトンネル3を通した第1のIMETルートに基づいて、第2のVXLANパケットをネットワークデバイス101に転送する。第2のVXLANパケットのヘッダは、ネットワークデバイス103のIPアドレス、ネットワークデバイス103のMACアドレス、ネットワークデバイス101のIPアドレス、およびネットワークデバイス101のMACアドレスを含むことができる。
S1106:ネットワークデバイス101は、ネットワークデバイス103によって送信された第1のパケットを受信する。
S1107:ネットワークデバイス101は、ネットワークデバイス101に接続された仮想マシンに第1のパケットを転送する。
ネットワークデバイス101は、第1のパケットを取得するために第2のVXLANパケットをカプセル化解除し、ネットワークデバイス101に接続されたサーバ104の仮想マシンおよびネットワークデバイス101に接続されたサーバ105の仮想マシンの各々に第1のパケットを送信することが理解されよう。
例えば、図12は本出願の一実施形態によるパケット送信プロセスの概略図である。サーバ107の仮想マシンがBUMパケットを送信するパスは、サーバ107の仮想マシン→ネットワークデバイス102→ネットワークデバイス103→ネットワークデバイス101→サーバ104およびサーバ105の仮想マシンである。
このようにして、ネットワークデバイス101とネットワークデバイス102の両方がネットワークデバイス103のIMETルートのみを格納するが、別のネットワークデバイスのIMETルートをVXLANに格納する必要がないとき、ネットワークデバイス103は、BUMパケットを転送し、その結果、ネットワークデバイス101に接続された仮想マシンは、ネットワークデバイス102に接続された仮想マシンと通信する。これにより、顧客エッジノードのリソースオーバーヘッドおよび記憶圧力は効果的に低減する。
任意選択で、ネットワークデバイス102に接続された仮想マシンによって送信されたBUMパケットを受信すると、ネットワークデバイス103は、ソースプルーニング動作を実行することができ、すなわち、ネットワークデバイス103は、ネットワークデバイス101にBUMパケットを転送するが、もはやネットワークデバイス102にBUMパケットを転送しない。具体的には、VXLAN方式またはSRv6方式で、BUMパケットのソースIPフィールドがフィルタリングに使用され得る。マルチプロトコルラベルスイッチング(Multi-Protocol Label Switching、MPLS)方式では、フィルタリングのためにソースラベルがBUMパケットに追加される必要がある。
本出願で説明される実施形態では、VXLANトンネルが一例として使用される。本出願の実施形態に適用可能な別の可能な適用シナリオでは、トンネルのタイプは、代替として、SRv6トンネルまたはMPLSトンネルであってもよい。
いくつかの他の実施形態では、ネットワークデバイス103は、別のネットワークデバイス(例えば、ネットワークデバイス108)と第2のモード隣接者を確立してもよく、第2のモード隣接者はハブ(hub)モード隣接者であってもよい。
ネットワークデバイス103は、ネットワークデバイス108からユニキャストパケットを受信し、ユニキャストルーティングテーブルを照会する。ネクストホップがネットワークデバイス103のスポーク隣接者(例えば、ネットワークデバイス101またはネットワークデバイス102)である場合、ネットワークデバイス103はユニキャストパケットをスポーク隣接者に送信する。
ネットワークデバイス103は、ネットワークデバイス108から、ネットワークデバイス108に搭載された仮想マシンのものであり、ネットワークデバイス108によってネットワークデバイス103に通知されたルートまたはIMETルートを受信するが、ネットワークデバイス103のスポーク隣接者(例えば、ネットワークデバイス101またはネットワークデバイス102)にルートまたはIMETルートを送信しない。
ネットワークデバイス103は、スポーク隣接者(例えば、ネットワークデバイス101またはネットワークデバイス102)からユニキャストパケットを受信し、ユニキャストルーティングテーブルを照会する。ネクストホップがネットワークデバイス103のBGP-EVPN隣接者(例えば、ネットワークデバイス108)である場合、ネットワークデバイス103はユニキャストパケットをBGP-EVPN隣接者に送信する。
ネットワークデバイス103は、ネットワークデバイス108からBUMパケットを受信し、ブロードキャストルーティングテーブルを照会する。ネクストホップがネットワークデバイス103のスポーク隣接者(例えば、ネットワークデバイス101またはネットワークデバイス102)である場合、ネットワークデバイス103はBUMパケットをスポーク隣接者に送信する。
ネットワークデバイス103は、スポーク隣接者(例えば、ネットワークデバイス101またはネットワークデバイス102)からBUMパケットを受信し、ブロードキャストルーティングテーブルを照会する。ネクストホップがネットワークデバイス103のBGP-EVPN隣接者(例えば、ネットワークデバイス108)である場合、ネットワークデバイス103はBUMパケットをBGP-EVPN隣接者に送信する。
いくつかの他の実施形態では、ネットワーク規模が比較的大きいとき、ネットワークトポロジは、レイヤ3ネットワークトポロジであってもよい。レイヤ3ネットワークトポロジは、コアレイヤ(スパインスパインレイヤとも呼ばれる)、アグリゲーションレイヤ、およびアクセスレイヤ(リーフリーフレイヤとも呼ばれる)を含むことができる。本出願におけるネットワークは、データ伝送ネットワークと呼ばれることもある。データ伝送ネットワークは、例えば、データセンタが一例として使用されるネットワークであっても、キャンパスに展開されたネットワークであってもよい。
コアレイヤは、例えば、ネットワークの高速スイッチングバックボーンレイヤであってもよく、ネットワークをネットワーク外のデバイス(例えば、外部オペレータデバイス)に接続するように構成される。コアレイヤは、高帯域幅(例えば、1000 Mbpsより高い帯域幅)を有するスイッチおよびルータを含むことができる。コアレイヤは、信頼性、高効率、冗長性、耐障害性、管理性、適応性、低レイテンシなどの少なくとも1つが特徴とされる。コアレイヤでのルーティング接続は、ネットワークにおいて重要な役割を果たす。通常、ネットワーク信頼性は、複数のデバイス間の冗長接続を通して実装され得る。この実施形態では、アグリゲーションレイヤに含まれるスイッチおよびルータは、前述の実施形態におけるネットワークデバイス103の機能を有する。
アグリゲーションレイヤは、例えば、アクセスレイヤとコアレイヤの間の「中間体」であってもよく、コアレイヤの負荷を低減するために、ワークステーション(例えば、端末デバイスまたはサーバ)によって送信されたデータがコアレイヤに入る前にデータを集約するように構成される。アグリゲーションレイヤは、レイヤ3スイッチング技術およびVXLANをサポートするスイッチおよびルータを含むことができる。この実施形態では、アグリゲーションレイヤに含まれるスイッチおよびルータは、前述の実施形態におけるネットワークデバイス103の機能を有する。
アクセスレイヤは、例えば、ワークステーションに接続することができ、ローカルネットワークセグメントにワークステーションアクセスを提供するように構成される。アクセスレイヤは、VLANおよびレイヤ3スイッチング技術をサポートしないスイッチおよびルータを含んでもよいし、VLANおよびレイヤ3スイッチング技術をサポートするスイッチおよびルータを含んでもよい。この実施形態では、アクセスレイヤに含まれるスイッチおよびルータは、前述の実施形態におけるネットワークデバイス101の機能およびネットワークデバイス102の機能を有する。
例えば、図13に示されるように、図1に示されるVXLANとVXLANとの違いは、このVXLANがネットワークデバイス111、ネットワークデバイス112、およびネットワークデバイス113をさらに含むことにある。アクセスレイヤは、ネットワークデバイス101、ネットワークデバイス102、およびネットワークデバイス111を含む。ネットワークデバイス111は、サーバ110にさらに接続され、サーバ110は、複数の仮想マシンを含む。アグリゲーションレイヤは、ネットワークデバイス103およびネットワークデバイス112を含む。コアレイヤは、ネットワークデバイス113を含む。ネットワークデバイス111およびネットワークデバイス112は、VXLANトンネル4を確立する。ネットワークデバイス112およびネットワークデバイス113は、VXLANトンネル5を確立する。ネットワークデバイス103およびネットワークデバイス113は、VXLANトンネル6を確立する。
ネットワークデバイス113は、別のネットワーク(例えば、相互接続ネットワーク)にアクセスする。例えば、ネットワークデバイス113は、VXLANのゲートウェイデバイスであってもよく、ネットワークデバイス113は、相互接続ネットワークのネットワークデバイス108に接続される。この場合、VXLANのパケットは、ネットワークデバイス113を使用してVXLAN外のネットワークに送信されてもよい。
ネットワークデバイス113は、ネットワークデバイス103およびネットワークデバイス112の各々と第1のモードの隣接者を確立する。例えば、ネットワークデバイス103はネットワークデバイス113のスポーク隣接者であり、ネットワークデバイス112はネットワークデバイス113のスポーク隣接者である。ネットワークデバイス113は、ネットワークデバイス101およびネットワークデバイス102のためのサービスパケットを転送するために使用されるネットワークデバイス113のデフォルトルートおよびIMETルートを、ネットワークデバイス103に送信する。ネットワークデバイス113は、ネットワークデバイス111のためのサービスパケットを転送するために使用されるデフォルトルートおよびIMETルートをネットワークデバイス112に送信する。
ネットワークデバイス101およびネットワークデバイス103は、第1のモードの隣接者を確立する。例えば、ネットワークデバイス101は、ネットワークデバイス103のスポーク隣接者である。ネットワークデバイス103は、ネットワークデバイス113からのものであり、ネットワークデバイス101のためのサービスパケットを転送するために使用されるデフォルトルートおよびIMETルートをネットワークデバイス101に転送する。
ネットワークデバイス102およびネットワークデバイス103は、第1のモードの隣接者を確立する。例えば、ネットワークデバイス102は、ネットワークデバイス103のスポーク隣接者である。ネットワークデバイス103は、ネットワークデバイス113からのものであり、ネットワークデバイス102のためのサービスパケットを転送するために使用されるデフォルトルートおよびIMETルートをネットワークデバイス102に転送する。
このようにして、ネットワークデバイス101とネットワークデバイス102の両方は、ネットワークデバイス113のデフォルトルートおよびIMETルートのみを格納するが、VXLANに別のネットワークデバイスのルートを格納する必要はない。これにより、顧客エッジノードのリソースオーバーヘッドおよび記憶圧力は効果的に低減する。
ネットワークデバイス111およびネットワークデバイス112は、第1のモードの隣接者を確立する。例えば、ネットワークデバイス111は、ネットワークデバイス112のスポーク隣接者である。ネットワークデバイス112は、ネットワークデバイス113からのものであり、ネットワークデバイス111のためのサービスパケットを転送するために使用されるデフォルトルートおよびIMETルートをネットワークデバイス111に転送する。このようにして、ネットワークデバイス111は、ネットワークデバイス113のデフォルトルートおよびIMETルートのみを格納するが、別のネットワークデバイスのルートをVXLANに格納する必要はない。これにより、顧客エッジノードのリソースオーバーヘッドおよび記憶圧力は効果的に低減する。
ネットワークデバイス101は、ネットワークデバイス101によって取得されたMACルートおよびIMETルートをネットワークデバイス103に通知する。
ネットワークデバイス102は、ネットワークデバイス102によって取得されたMACルートおよびIMETルートをネットワークデバイス103に通知する。
ネットワークデバイス103は、ネットワークデバイス103によって取得されたMACルートおよびIMETルート、ネットワークデバイス102によって取得されたMACルートおよびIMETルート、ならびにネットワークデバイス101によって取得されたMACルートおよびIMETルートを、ネットワークデバイス113に通知する。可能な場合には、ネットワークデバイス113に前述のルートを通知することに加えて、ネットワークデバイス103は、ネットワークデバイス101によって通知されたMACルートおよびIMETルート、ならびにネットワークデバイス102によって通知されたMACルートおよびIMETルートを格納することができる。このようにして、ネットワークデバイス103は、前述の方法実施形態で説明した方法を使用して、ネットワークデバイス101またはネットワークデバイス102に送信されるパケットを転送することもできる。例えば、ネットワークデバイス103は、サーバ104によって送信されたパケットをサーバ106に転送することができる。
ネットワークデバイス111は、ネットワークデバイス111によって取得されたMACルートおよびIMETルートをネットワークデバイス112に通知する。ネットワークデバイス112は、ネットワークデバイス112によって取得されたMACルートおよびIMETルート、ならびにネットワークデバイス111によって取得されたMACルートおよびIMETルートをネットワークデバイス113に通知する。ネットワークデバイス112は、ネットワークデバイス112に接続された別のスポーク隣接者(図示せず)からネットワークデバイス111にパケットを送信するために、ネットワークデバイス111によって通知されるMACルートおよびIMETルートを格納する。ルート学習プロセスについては、前述の実施形態の関連説明を参照されたい。
ネットワークデバイス113は、アクセスレイヤでのネットワークデバイスおよびアグリゲーションレイヤでのネットワークデバイスによって取得されるMACルートおよびIMETルートを格納して、アクセスレイヤでのネットワークデバイスにパケット(例えば、ユニキャストパケットまたはBUMパケット)を送信するか、またはアクセスレイヤでのネットワークデバイスによって送信されたパケットを転送する。例えば、サーバ104の仮想マシンがサーバ106の仮想マシンにパケットを送信するパスは、サーバ104の仮想マシン→ネットワークデバイス101→ネットワークデバイス103→ネットワークデバイス102→サーバ106の仮想マシンであってもよい。任意選択で、サーバ104の仮想マシンがサーバ106の仮想マシンにパケットを送信するパスは、代替として、サーバ104の仮想マシン→ネットワークデバイス101→ネットワークデバイス103→ネットワークデバイス113→ネットワークデバイス103→ネットワークデバイス102→サーバ106の仮想マシンであってもよい。
別の例の場合、サーバ104の仮想マシンがサーバ110の仮想マシンにパケットを送信するパスは、サーバ104の仮想マシン→ネットワークデバイス101→ネットワークデバイス103→ネットワークデバイス113→ネットワークデバイス112→ネットワークデバイス111→サーバ110の仮想マシンであってもよい。任意選択で、ネットワークデバイス102およびネットワークデバイス111は、代替として、VXLANトンネル7を確立してもよい。ネットワークデバイス101およびネットワークデバイス102がサーバ110の仮想マシンのアドレスを格納する場合、サーバ104の仮想マシンがサーバ110の仮想マシンにパケットを送信するパスは、サーバ104の仮想マシン→ネットワークデバイス101→ネットワークデバイス102→ネットワークデバイス111→サーバ110の仮想マシンであってもよい。
別の例の場合、サーバ110の仮想マシンがサーバ106の仮想マシンにパケットを送信するパスは、サーバ110の仮想マシン→ネットワークデバイス111→ネットワークデバイス112→ネットワークデバイス113→ネットワークデバイス103→ネットワークデバイス102→サーバ106の仮想マシンであってもよい。
パケット転送プロセスについては、前述の実施形態の関連説明を参照されたい。
サーバの仮想マシンによって送信されたARP要求を受信した後、ネットワークデバイス103またはネットワークデバイス112は、ARP要求をORF要求に変換し、次いでORF要求をネットワークデバイス113に送信することができる。ARP要求をORF要求に変換する動作はまた、いくつかのARP要求を組み合わせ、次いでARP要求をORF要求に変換することであってもよい。ネットワークデバイス113が、アクセスレイヤに含まれるネットワークデバイスのMACルートおよびIMETルート、ならびにアクセスレイヤに含まれるネットワークデバイスに接続されたデバイスのMACアドレスを格納している場合、ネットワークデバイス113は、要求されたMACアドレスをリクエスタにフィードバックすることができる。
加えて、ネットワークデバイス101によって送信されたORF要求およびネットワークデバイス102によって送信されたORF要求を受信した後、ネットワークデバイス103は、ネットワークデバイス101によって送信されたORF要求とネットワークデバイス102によって送信されたORF要求とを組み合わせて、新しいORF要求を生成することができ、ネットワークデバイス103は、新しいORF要求をネットワークデバイス113に送信する。
例えば、ネットワークデバイス101は第1のORF要求を送信し、ネットワークデバイス102は第2のORF要求を送信する。ネットワークデバイス101からの第1のORF要求およびネットワークデバイス102からの第2のORF要求を受信した後、ネットワークデバイス103は、新しいORF要求を生成し、新しいORF要求をネットワークデバイス113に送信する。
ネットワークデバイス113は、新しいORF要求に応答してMACアドレス2-2-2およびMACアドレス4-4-4を記録する。ネットワークデバイス113は、MACアドレス2-2-2およびMACアドレス4-4-4をネットワークデバイス103にフィードバックする。
ネットワークデバイス103は、MACアドレス2-2-2をネットワークデバイス101にフィードバックし、MACアドレス4-4-4をネットワークデバイス102にフィードバックする。
図13では、ネットワークが1つのアグリゲーションレイヤを含む一例が使用されている。別の可能な適用シナリオでは、複数のアグリゲーションレイヤが代替として配置されてもよい。アクセスレイヤおよびアグリゲーションレイヤ、隣接するアグリゲーションレイヤ、またはアグリゲーションレイヤおよびコアレイヤは、本出願で説明される対応する機能を実施するために、第1のモードの隣接者を確立することができる。例えば、これは、大規模なネットワーキングシナリオに適用可能である。加えて、理解を容易にするために、この実施形態では、異なるネットワークレイヤが、アクセスレイヤ、アグリゲーションレイヤ、およびコアレイヤとして説明される。しかしながら、前述の名前は、代替として、適用シナリオを参照して他の説明で置き換えられてもよく、または単にマルチレイヤネットワーキング方式で異なるネットワークレイヤとして説明されてもよいことが理解されよう。異なるネットワークレイヤは異なる機能または同じ機能を実装するために使用され得る。
前述の実施形態は、ユニキャストシナリオおよびブロードキャストシナリオのためのルート学習プロセスおよびパケット送信プロセスを説明している。クライアント(例えば、ネットワークデバイス101)およびサーバ(例えば、ネットワークデバイス103)は、第1のモードの隣接者、例えば、スポークモードの隣接者を確立し、その結果、クライアントおよびサーバは、それぞれ、このモードの隣接者の関係に基づいて、ルート通知フェーズにおけるクライアントおよびサーバの挙動を決定し、取得されたルートに基づいて、対応するサービスパケット転送挙動を完了することができる。これにより、通常のサービスパケット転送を実施しながら、クライアントおよびネットワークデバイスのルート記憶圧力が低減し、ネットワーク実行リソースを節約する。
続いて、本出願の一実施形態は、データ伝送方法のフローチャートをさらに提供する。ここでは、説明のための例として、第1のネットワークデバイス、第2のネットワークデバイス、および第3のネットワークデバイスが使用される。第3のネットワークデバイスは、第1のネットワークデバイスおよび第2のネットワークデバイスの各々と第1のモードの隣接者を確立し、第1のモードの隣接者は、スポーク隣接者であってもよく、または別の形態で定義され、本出願のこの実施形態で提供される対応する機能を実施することができる隣接者であってもよい。第1のネットワークデバイスは第1のユーザ側デバイスに接続される。第2のネットワークデバイスは第2のユーザ側デバイスに接続される。図14に示されるように、方法は、以下のステップを含み得る。
S1401:第1のネットワークデバイスは、第3のネットワークデバイスに第1のルートを送信する。
第1のネットワークデバイスは、第1のネットワークデバイスとスポーク隣接者を確立するネットワークデバイスに関する格納された情報に基づいて、第1のネットワークデバイスが第3のネットワークデバイスの第1のモードの隣接者であり、第1のネットワークデバイスが第3のネットワークデバイスに第1のルートを送信すると決定する。第1のルートは、第1のネットワークデバイスのMACルートまたはIMETルートであり得る。
S1402:第2のネットワークデバイスは、第3のネットワークデバイスに第2のルートを送信する。
第2のネットワークデバイスは、第2のネットワークデバイスとスポーク隣接者を確立するネットワークデバイスに関する格納された情報に基づいて、第2のネットワークデバイスが第3のネットワークデバイスの第1のモードの隣接者であり、第2のネットワークデバイスが第3のネットワークデバイスに第2のルートを送信すると決定する。第2のルートは、第2のネットワークデバイスのMACルートまたはIMETルートであり得る。
S1403:第3のネットワークデバイスは、第1のネットワークデバイスによって送信された第1のルートを受信する。
第1のルートがMACルートである場合、第1のルートを受信した後、第3のネットワークデバイスは、第1のルートをユニキャストルーティングテーブルに記録する。第1のネットワークデバイスに接続された仮想マシンに送信されるユニキャストパケットを受信した後、第3のネットワークデバイスは、MACルートに基づいて第1のネットワークデバイスにユニキャストパケットを転送することができる。
第1のルートがIMETルートである場合、第1のルートを受信した後、第3のネットワークデバイスは、第1のルートをブロードキャストルーティングテーブルに記録する。BUMパケットを受信した後、第3のネットワークデバイスは、IMETルートに基づいて第1のネットワークデバイスにBUMパケットを転送することができる。
S1404:第3のネットワークデバイスは、第2のネットワークデバイスによって送信された第2のルートを受信する。
第2のルートがMACルートである場合、第2のルートを受信した後、第3のネットワークデバイスは、第2のルートをユニキャストルーティングテーブルに記録する。第2のネットワークデバイスに接続された仮想マシンに送信されるユニキャストパケットを受信した後、第3のネットワークデバイスは、MACルートに基づいて第2のネットワークデバイスにユニキャストパケットを転送することができる。
第2のルートがIMETルートである場合、第2のルートを受信した後、第3のネットワークデバイスは、第2のルートをブロードキャストルーティングテーブルに記録する。BUMパケットを受信した後、第3のネットワークデバイスは、IMETルートに基づいて第2のネットワークデバイスにBUMパケットを転送することができる。
S1405:第3のネットワークデバイスは、第1のネットワークデバイスに第3のルートを送信する。
S1406:第3のネットワークデバイスは、第2のネットワークデバイスに第3のルートを送信する。
第3のルートがデフォルトルートである場合、第1のネットワークデバイスまたは第2のネットワークデバイスは、第3のルートに基づいて第3のネットワークデバイスにユニキャストパケットを転送するように命令される。
第3のルートがIMETルートである場合、第1のネットワークデバイスまたは第2のネットワークデバイスは、第3のルートに基づいて第3のネットワークデバイスにBUMパケットを転送するように命令される。
S1407:第1のネットワークデバイスは、第3のネットワークデバイスによって送信された第3のルートを受信する。
S1408:第2のネットワークデバイスは、第3のネットワークデバイスによって送信された第3のルートを受信する。
任意選択で、第3のネットワークデバイスは、代替として、第1のネットワークデバイスおよび第2のネットワークデバイスの各々に第3のルートを送信し、次いで、第1のネットワークデバイスによって送信された第1のルートおよび第2のネットワークデバイスによって送信された第2のルートを受信してもよい。S1401からS1404のシーケンスおよびS1405からS1408のシーケンスは、この実施形態では限定されない。
第1のルートがMACルートである場合、S1401からS1408の詳細な説明については、S201からS213の説明を参照され得る。
第1のルートがIMETルートである場合、S1401からS1408の詳細な説明については、S901からS908の説明を参照され得る。
第1のネットワークデバイスから第3のネットワークデバイスがルートを学習した後、すなわち、S1401からS1408の後、第1のネットワークデバイスから第3のネットワークデバイスは、ユーザ側デバイスからパケットを転送することができる。ユーザ側デバイスは、ユーザ側ネットワークデバイスまたはユーザホストなどのユーザ機器であってもよい。方法は以下のステップをさらに含む。
S1409:第1のユーザ側デバイスは、第1のネットワークデバイスに第1のパケットを送信する。
第1のパケットがユニキャストパケットである場合、第1のパケットのヘッダは、第1のユーザ側デバイスのMACアドレスおよび第2のユーザ側デバイスのMACアドレスを含む。第1のパケットは、第1のネットワークデバイスに接続された第1のユーザ側デバイスによって第2のネットワークデバイスに接続された第2のユーザ側デバイスへ送信されるパケットである。
第1のパケットがBUMパケットである場合、第1のパケットのヘッダは、第1のユーザ側デバイスのMACアドレスおよびブロードキャストアドレスを含む。
S1410:第1のネットワークデバイスは、第1のユーザ側デバイスによって送信された第1のパケットを受信する。
S1411:第1のネットワークデバイスは、第3のルートに基づいて第1のパケットを転送する。
第1のパケットがユニキャストパケットである場合、第1のネットワークデバイスはユニキャストルーティングテーブルで第2のユーザ側デバイスのMACアドレスを見つけられないので、第1のネットワークデバイスは、未知のユニキャストルーティングテーブルの第3のルートを使用して第1のパケットを第3のネットワークデバイスに転送する。
第1のパケットがBUMパケットである場合、第1のネットワークデバイスは、ブロードキャストルーティングテーブルを検索し、ブロードキャストルーティングテーブルの第3のIMETルートを使用して第3のネットワークデバイスに第1のパケットを転送する。
第1のネットワークデバイスは、第1のVXLANパケットを取得するために、UDPを使用して第1のパケットをカプセル化することができ、第1のネットワークデバイスは、第3のルートに基づいて第1のVXLANパケットを転送する。
S1412:第3のネットワークデバイスは、第1のネットワークデバイスによって送信された第1のパケットを受信する。
S1413:第3のネットワークデバイスは、第2のルートに基づいて第1のパケットを第2のネットワークデバイスに転送する。
第3のネットワークデバイスは、第1のVXLANパケットをカプセル化解除し、宛先アドレス(第2のユーザ側デバイスのブロードキャストアドレスまたはMACアドレス)に基づいて第2のルートを決定し、第2のルートに基づいて第1のパケットを第2のネットワークデバイスに転送することができる。
第3のネットワークデバイスは、第2のVXLANパケットを取得するために、UDPを使用して第1のパケットをカプセル化することができ、第3のネットワークデバイスは、第2のルートに基づいて第2のVXLANパケットを転送する。
S1414:第2のネットワークデバイスは、第3のネットワークデバイスによって送信された第1のパケットを受信する。
S1415:第2のネットワークデバイスは、第2のネットワークデバイスに接続された第2のユーザ側デバイスに第1のパケットを転送する。
第2のネットワークデバイスは、第1のパケットを取得するために第2のVXLANパケットをカプセル化解除し、第2のネットワークデバイスに接続された第2のユーザ側デバイスに第1のパケットを転送することが理解されよう。
第1のルートがMACルートである場合、S1409からS1415の詳細な説明については、S401からS407の説明を参照され得る。
第1のルートがIMETルートである場合、S1409からS1415の詳細な説明については、S1101からS1107の説明を参照され得る。
場合によっては、第1のユーザ側デバイスが第2のユーザ側デバイスのMACアドレスを知らない場合、第1のユーザ側デバイスは、第2のユーザ側デバイスのMACアドレスを取得するためにARP要求を送信する。図15Aおよび図15Bは、本出願の一実施形態によるデータ伝送方法のフローチャートである。図15Aおよび図15Bに示されるように、S1409の前に、方法は以下のステップをさらに含む。
S1501:第1のユーザ側デバイスは、第1のネットワークデバイスに第2のパケットを送信する。
第2のパケットは第2のユーザ側デバイスのMACアドレスを要求するために使用される。第2のパケットは、第2のユーザ側デバイスのIPアドレスを含む。例えば、第2のパケットは、アドレス解決プロトコルパケットであってもよい。
S1502:第1のネットワークデバイスは、第1のユーザ側デバイスによって送信された第2のパケットを受信する。
S1503:第1のネットワークデバイスは、第2のパケットを第3のネットワークデバイスに転送する。
第1のネットワークデバイスが第2のユーザ側デバイスのMACアドレスを格納している場合、第1のネットワークデバイスは、第2のユーザ側デバイスのMACアドレスを第1のユーザ側デバイスにフィードバックする。第1のネットワークデバイスが第2のユーザ側デバイスのMACアドレスを格納していない場合、第1のネットワークデバイスは第2のパケットをブロードキャストすることができる。第3のネットワークデバイスが第2のユーザ側デバイスのMACアドレスを格納している場合、第1のネットワークデバイスは、第3のネットワークデバイスから第2のユーザ側デバイスのMACアドレスを取得し、第2のユーザ側デバイスのMACアドレスを第1のユーザ側デバイスにフィードバックすることができる。ステップS1504およびS1505は以下の通りである。
S1504:第3のネットワークデバイスは、第1のネットワークデバイスによって送信された第2のパケットを受信する。
S1505:第3のネットワークデバイスは、第1のルートに基づいて第1のネットワークデバイスに応答パケットを送信する。
S1506:第1のネットワークデバイスは、第3のネットワークデバイスによって送信された応答パケットを受信する。
S1507:第1のネットワークデバイスは、応答パケットを第1のユーザ側デバイスに転送する。
加えて、第1のネットワークデバイスはまた、第2のパケットに基づいてORF要求を生成し、第3のネットワークデバイスにORF要求を送信して、第2のユーザ側デバイスのMACアドレスを要求することもできる。S1501からS1507の詳細な説明については、S601からS607の説明を参照されたい。
さらに、第1のネットワークデバイスは、第2のユーザ側デバイスのMACアドレスに基づいてパケットを第2のユーザ側デバイスに送信する。詳細については、前述の実施形態におけるS1409からS1415の説明を参照されたい。本明細書では詳細は繰り返し説明されない。
したがって、第1のネットワークデバイスおよび第2のネットワークデバイスは、第3のネットワークデバイスへ送信されるデフォルトルートまたはIMETルートのみを格納し、第3のネットワークデバイスは、第1のネットワークデバイスによって送信されたパケットを転送し、または第1のネットワークデバイスおよび第2のネットワークデバイスの一方は、要件に基づいて第3のネットワークデバイスから、パケット転送のために他方のネットワークデバイスに搭載されたユーザ側デバイスへのルートを動的に取得する。これにより、第1のネットワークデバイスのリソースオーバーヘッドおよび記憶圧力が低減する。
加えて、例えば、データ伝送ネットワークは、比較的小さな領域をカバーする必要がある。したがって、第1のネットワークデバイスは第1のユーザ側デバイスに直接接続されてもよく、第2のネットワークデバイスは第2のユーザ側デバイスに直接接続されてもよい。例えば、図1に示されるように、第1のネットワークデバイスはネットワークデバイス101であり、第2のネットワークデバイスはネットワークデバイス102であり、第3のネットワークデバイスはネットワークデバイス103である。ネットワークデバイス間のルート学習プロセスおよびネットワークデバイス間のパケット転送プロセスについては、図1に示されるネットワークデバイス接続方式の前述の実施形態の関連説明を参照されたい。
例えば、データ伝送ネットワークは、比較的大きな領域をカバーする必要がある。したがって、第1のネットワークデバイスは第1のユーザ側デバイスに間接的に接続されてもよく、第2のネットワークデバイスは第2のユーザ側デバイスに間接的に接続されてもよい。例えば、図13に示されるように、第1のネットワークデバイスはネットワークデバイス103であり、第2のネットワークデバイスはネットワークデバイス112であり、第3のネットワークデバイスはネットワークデバイス113である。ネットワークデバイス間のルート学習プロセスおよびネットワークデバイス間のパケット転送プロセスについては、図13に示される前述の実施形態の関連説明を参照されたい。
前述の実施形態の機能を実装するために、ネットワークデバイスは、各々の機能を実行するための、対応するハードウェア構造および/またはソフトウェアモジュールを含むことが理解されるだろう。当業者であれば、本出願で開示した各実施形態に関連して説明した例におけるユニットおよび方法ステップは、本出願において、ハードウェアまたはハードウェアとコンピュータソフトウェアとの組み合わせによって実施され得ることを容易に承知するはずである。機能がハードウェアによって実行されるか、それともコンピュータソフトウェアによって駆動されるハードウェアによって実行されるかは、技術的解決策の個々の用途シナリオおよび設計上の制約に依存する。
図16は、本出願の一実施形態による可能な通信装置の概略構造図である。通信装置は、前述の方法実施形態におけるネットワークデバイスの機能を実施するように構成され得る。したがって、前述の方法実施形態の有益な効果も実施され得る。本出願のこの実施形態では、通信装置は、図1、図3、図5、図7、図8、図10、図12、または図13に示されるネットワークデバイス101、ネットワークデバイス102、またはネットワークデバイス103であってもよいし、ネットワークデバイスに適用されるモジュール(例えば、チップなどのハードウェアモジュール、対応する機能を実施するように構成されたソフトウェアモジュール、またはいくつかのソフトウェアとハードウェアモジュールとの組み合わせ)であってもよい。
図16に示されるように、通信装置1600は、受信ユニット1610、処理ユニット1620、および送信ユニット1630を含む。通信装置1600は、図2、図4、図6Aおよび図6B、図9、図11、図14、または図15Aおよび図15Bに示された方法実施形態におけるネットワークデバイスの機能を実施するように構成される。
通信装置1600が図2に示された方法実施形態におけるネットワークデバイス101の機能を実施するように構成されるとき、受信ユニット1610はS204を実行するように構成されてもよく、送信ユニット1630はS206およびS211を実行するように構成されてもよい。
通信装置1600が図2に示された方法実施形態におけるネットワークデバイス102の機能を実施するように構成されるとき、受信ユニット1610はS205を実行するように構成されてもよく、送信ユニット1630はS208およびS210を実行するように構成されてもよい。
通信装置1600が図2に示された方法実施形態におけるネットワークデバイス103の機能を実施するように構成されるとき、受信ユニット1610は、S207、S209、S212、およびS213を実行するように構成されてもよく、送信ユニット1630は、S202およびS203を実行するように構成されてもよく、処理ユニット1620は、S201を実行するように構成される。
通信装置1600が図4に示された方法実施形態におけるネットワークデバイス101の機能を実施するように構成されるとき、受信ユニット1610はS204およびS402を実行するように構成されてもよく、送信ユニット1630はS206、S211、およびS403を実行するように構成されてもよい。
通信装置1600が図4に示された方法実施形態におけるネットワークデバイス102の機能を実施するように構成されるとき、受信ユニット1610はS205およびS406を実行するように構成されてもよく、送信ユニット1630はS208、S210、およびS407を実行するように構成されてもよい。
通信装置1600が図4に示された方法実施形態におけるネットワークデバイス103の機能を実施するように構成されるとき、受信ユニット1610はS207、S209、S212、S213、およびS404を実行するように構成されてもよく、送信ユニット1630は、S202、S203、およびS405を実行するように構成されてもよい。
通信装置1600が図6Aおよび図6Bに示された方法実施形態におけるネットワークデバイス101の機能を実施するように構成されるとき、受信ユニット1610は、S402、S602、およびS606を実行するように構成されてもよく、送信ユニット1630は、S403、S603、およびS607を実行するように構成されてもよい。
通信装置1600が図6Aおよび図6Bに示された方法実施形態におけるネットワークデバイス103の機能を実施するように構成されるとき、受信ユニット1610はS404およびS604を実行するように構成されてもよく、送信ユニット1630はS405およびS605を実行するように構成されてもよい。
通信装置1600が図9に示された方法実施形態におけるネットワークデバイス101の機能を実施するように構成されるとき、受信ユニット1610はS907を実行するように構成されてもよく、送信ユニット1630はS901を実行するように構成されてもよい。
通信装置1600が図9に示された方法実施形態におけるネットワークデバイス102の機能を実施するように構成されるとき、受信ユニット1610はS908を実行するように構成されてもよく、送信ユニット1630はS902を実行するように構成されてもよい。
通信装置1600が図9に示された方法実施形態におけるネットワークデバイス103の機能を実施するように構成されるとき、受信ユニット1610はS903およびS904を実行するように構成されてもよく、送信ユニット1630はS905およびS906を実行するように構成されてもよい。
通信装置1600が図11に示された方法実施形態におけるネットワークデバイス101の機能を実施するように構成されるとき、受信ユニット1610はS907およびS1106を実行するように構成されてもよく、送信ユニット1630はS901およびS1107を実行するように構成されてもよい。
通信装置1600が図11に示された方法実施形態におけるネットワークデバイス102の機能を実施するように構成され得るとき、受信ユニット1610はS908およびS1102を実行するように構成され得、送信ユニット1630はS902およびS1103を実行するように構成され得る。
通信装置1600が図11に示された方法実施形態におけるネットワークデバイス103の機能を実施するように構成され得るとき、受信ユニット1610は、S903、S904、およびS1104を実行するように構成され得、送信ユニット1630は、S905、S906、およびS1105を実行するように構成され得る。
通信装置1600が図14に示された方法実施形態における第1のネットワークデバイスの機能を実施するように構成され得るとき、受信ユニット1610はS1407およびS1410を実行するように構成され得、送信ユニット1630はS1401およびS1411を実行するように構成され得る。
通信装置1600が図14に示された方法実施形態における第2のネットワークデバイスの機能を実施するように構成され得るとき、受信ユニット1610はS1408およびS1414を実行するように構成され得、送信ユニット1630はS1402およびS1415を実行するように構成され得る。
通信装置1600が図14に示された方法実施形態における第3のネットワークデバイスの機能を実施するように構成され得るとき、受信ユニット1610はS1403、S1404、およびS1412を実行するように構成され得、送信ユニット1630はS1405、S1406、およびS1413を実行するように構成され得る。
通信装置1600が図15Aおよび図15Bに示された方法実施形態における第1のネットワークデバイスの機能を実施するように構成され得るとき、受信ユニット1610はS1407、S1410、S1502、およびS1506を実行するように構成され得、送信ユニット1630はS1401、S1411、S1503、およびS1507を実行するように構成され得る。
通信装置1600が図15Aおよび図15Bに示された方法実施形態における第3のネットワークデバイスの機能を実施するように構成され得るとき、受信ユニット1610はS1403、S1404、S1412、およびS1504を実行するように構成され得、送信ユニット1630はS1405、S1406、S1413、およびS1505を実行するように構成され得る。
受信ユニット1610、処理ユニット1620、および送信ユニット1630のより詳細な説明については、図2、図4、図6Aおよび図6B、図9、図11、図14、または図15Aおよび図15Bに示された方法実施形態の関連説明を直接参照されたい。本明細書では詳細は繰り返し説明されない。
図17に示されるように、ネットワークデバイス1700は、プロセッサ1710およびインターフェース回路1720を含む。プロセッサ1710およびインターフェース回路1720は互いに結合される。インターフェース回路1720は、トランシーバまたは入力/出力インターフェースであってもよいことが理解されよう。任意選択で、ネットワークデバイス1700は、プロセッサ1710によって実行される命令を格納し、命令を実行するためにプロセッサ1710によって必要とされる入力データを格納し、またはプロセッサ1710が命令を実行した後に生成されたデータを格納するように構成されたメモリ1730をさらに含んでもよい。
ネットワークデバイス1700が図2、図4、図6Aおよび図6B、図9、図11、図14、または図15Aおよび図15Bに示された方法を実施するように構成されるとき、プロセッサ1710は、処理ユニット1620の機能を実行するように構成されてもよく、インターフェース回路1720は、受信ユニット1610および送信ユニット1630の機能を実行するように構成されてもよい。
図18は、本出願の一実施形態による別のネットワークデバイスの概略構造図である。図18に示されるように、ネットワークデバイス1800は、主制御基板1810およびインターフェース基板1820を含む。主制御基板1810は、プロセッサ1811およびメモリ1812を含む。インターフェース基板1820は、プロセッサ1821、メモリ1822、およびインターフェースカード1823を含む。インターフェース基板1820のプロセッサ1821は、インターフェース基板1820のメモリ1822のプログラム命令を呼び出して、パケットの受信および送信を実行し、受信および送信をルーティングするように構成される。主制御基板1810のプロセッサ1811は、対応する処理機能、例えば、パケットを転送するためのルートの検索を実行し、受信したパケットをカプセル化してVXLANパケットを生成し、VXLANパケットをカプセル化解除するために、主制御基板1810のメモリ1812のプログラム命令を呼び出すように構成される。詳細については、図2、図4、図6Aおよび図6B、図9、図11、図14、または図15Aおよび図15Bに示された方法の説明を参照されたい。
本出願の実施形態におけるプロセッサは、中央処理ユニット(Central Processing Unit、CPU)であってもよく、別の汎用プロセッサ、デジタル信号プロセッサ(Digital Signal Processor、DSP)、特定用途向け集積回路(Application Specific Integrated Circuit、ASIC)、フィールドプログラマブルゲートアレイ(Field Programmable Gate Array、FPGA)、別のプログラマブルロジックデバイス、トランジスタ論理回路、ハードウェア構成要素、またはそれらの任意の組み合わせであってもよいことが理解されよう。汎用プロセッサは、マイクロプロセッサまたは任意の従来のプロセッサであり得る。
本出願の実施形態における方法ステップはハードウェア方式で実施されてもよく、またはプロセッサによってソフトウェア命令を実行する方式で実施されてもよい。ソフトウェア命令は、対応するソフトウェアモジュールを含み得る。ソフトウェアモジュールは、ランダムアクセスメモリ(Random Access Memory、RAM)、フラッシュメモリ、読み出し専用メモリ(Read-Only Memory、ROM)、プログラマブル読み出し専用メモリ(Programmable ROM、PROM)、消去可能プログラマブル読み出し専用メモリ(Erasable PROM、EPROM)、電気的消去可能プログラマブル読み出し専用メモリ(Electrically EPROM、EEPROM)、レジスタ、ハードディスク、リムーバブルハードディスク、CD-ROM、または当技術分野で周知の任意の他の形態の記憶媒体に格納され得る。例えば、記憶媒体は、プロセッサに結合され、その結果、プロセッサは、記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができる。もちろん、記憶媒体は代替としてプロセッサの構成要素であり得る。プロセッサおよび記憶媒体はASICに配置されてもよい。加えて、ASICは、ネットワークデバイスまたは端末デバイスに配置されてもよい。もちろん、プロセッサおよび記憶媒体は、代替的に、別個のアセンブリとしてネットワークデバイスまたは端末デバイスに存在してもよい。
前述の実施形態のすべてまたは一部は、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組み合わせを使用して実装されてよい。実施形態を実施するためにソフトウェアが使用される場合、実施形態の全部または一部は、コンピュータプログラム製品の形態で実施され得る。コンピュータプログラム製品は、1つまたは複数のコンピュータプログラムまたは命令を含む。コンピュータプログラムまたは命令がコンピュータにロードされて実行されると、本出願の実施形態の手順または機能のすべてまたは一部が実行される。コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、ネットワークデバイス、ユーザ機器、または別のプログラマブル装置であり得る。コンピュータプログラムまたは命令は、コンピュータ可読記憶媒体に記憶されてもよいし、またはあるコンピュータ可読記憶媒体から別のコンピュータ可読記憶媒体に送信されてもよい。例えば、コンピュータプログラムまたは命令は、ウェブサイト、コンピュータ、サーバ、またはデータセンタから別のウェブサイト、コンピュータ、サーバ、またはデータセンタに有線または無線方式で伝送され得る。コンピュータ可読記憶媒体は、コンピュータによってアクセス可能な任意の使用可能な媒体、または1つまたは複数の使用可能な媒体を組み込んだ、サーバもしくはデータセンタなどのデータ記憶デバイスであり得る。使用可能な媒体は、磁気媒体、例えば、フロッピーディスク、ハードディスク、または磁気テープであり得、光媒体、例えば、デジタルビデオディスク(digital video disc、DVD)であり得、または半導体媒体、例えば、ソリッドステートドライブ(solid state disk、SSD)であり得る。
本出願の実施形態では、特に明記しない限り、または論理的な矛盾がない限り、異なる実施形態間の用語および/または説明は一貫しており、相互に参照され得、異なる実施形態の技術的特徴は、その内部論理的関係に基づいて組み合わされ、新しい実施形態を形成することができる。
本出願において、「少なくとも1つ」は1つまたは複数を意味し、「複数」は2つ以上を意味する。「および/または」という用語は、関連付けられる対象を記述するための関連付け関係を記述し、3つの関係が存在し得ることを表す。例えば、Aおよび/またはBは、以下の場合を、すなわち、Aのみが存在する場合、AおよびBの両方が存在する場合、およびBのみが存在する場合を表してもよく、その場合、AおよびBは、単数または複数であり得る。本出願のテキスト記述では、文字「/」は、通常、関連するオブジェクト間の「または」関係を示す。本出願の式では、文字「/」は、関連するオブジェクト間の「分割」関係を示す。
本出願の本明細書、特許請求の範囲、および添付の図面において、「第1」、「第2」、および「第3」などの用語は、異なる対象を区別することを意図されているが、特定のシーケンスを限定するものではない。
本出願の実施形態では、「例」または「例えば」などの用語は、例、例示、または説明を与えることを表すために使用される。本出願の実施形態で「例」または「例えば」として説明されているどの実施形態または設計案も、別の実施形態または設計案に比べてより好ましいものまたはより多くの利点を有するものとして説明されてはいない。正確には、「例」または「例えば」などの用語の使用は、関連概念を特定の方法で提示することを意図している。
本出願の実施形態の様々な番号は単に説明を容易にするための区別にすぎず、本出願の実施形態の範囲を限定するために使用されているものではないことが理解されよう。前述のプロセスのシーケンス番号は、実行シーケンスを意味しない。プロセスの実行シーケンスは、プロセスの機能と内部論理に基づいて決定されるべきである。