(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-12-13
(54)【発明の名称】VXLANパケット伝送方法、ネットワークデバイス、およびシステム
(51)【国際特許分類】
H04L 45/64 20220101AFI20241206BHJP
【FI】
H04L45/64
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024539724
(86)(22)【出願日】2022-12-29
(85)【翻訳文提出日】2024-08-08
(86)【国際出願番号】 CN2022143276
(87)【国際公開番号】W WO2023125774
(87)【国際公開日】2023-07-06
(31)【優先権主張番号】202111672776.4
(32)【優先日】2021-12-31
(33)【優先権主張国・地域又は機関】CN
(31)【優先権主張番号】202210228141.3
(32)【優先日】2022-03-08
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】503433420
【氏名又は名称】華為技術有限公司
【氏名又は名称原語表記】HUAWEI TECHNOLOGIES CO.,LTD.
【住所又は居所原語表記】Huawei Administration Building, Bantian, Longgang District, Shenzhen, Guangdong 518129, P.R. China
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133569
【氏名又は名称】野村 進
(72)【発明者】
【氏名】李 振斌
(72)【発明者】
【氏名】▲劉▼ 少▲偉▼
(72)【発明者】
【氏名】▲陳▼ 双▲龍▼
(72)【発明者】
【氏名】李 ▲軍▼
(72)【発明者】
【氏名】王 ▲海▼波
【テーマコード(参考)】
5K030
【Fターム(参考)】
5K030HB13
5K030JA11
5K030KA05
5K030LB07
5K030MD10
(57)【要約】
本出願は、VXLANパケット伝送方法、ネットワークデバイス、およびシステムを開示する。第1のパケットを受信した後、第1のネットワークデバイスが、第1のパケットに対応するVNIを取得する。第1のネットワークデバイスは、第2のパケットを取得するために、IPv6ヘッダを第1のパケットにカプセル化することによって、VNIをIPv6ヘッダにカプセル化する。第1のネットワークデバイスは、第2のネットワークデバイスに第2のパケットを送信し、その結果、第2のネットワークデバイスは、IPv6ヘッダに含まれるVNIに基づいてパケットを転送する。本出願では、IPv6ヘッダがVNIを搬送するために使用され、VNIを搬送するために追加のUDPヘッダがカプセル化される必要はない。これにより、パケットカプセル化のためのデータ量が削減され、パケット伝送効率が向上する。
【特許請求の範囲】
【請求項1】
第1のネットワークデバイスによって、第1のパケットを取得するステップと、
前記第1のネットワークデバイスによって、前記第1のパケットに基づいて仮想拡張可能ローカルエリアネットワーク識別子VNIを取得するステップと、
前記第1のネットワークデバイスによって、第2のパケットを取得するために、インターネットプロトコルバージョン6 IPv6ヘッダを前記第1のパケットにカプセル化するステップであって、前記IPv6ヘッダが前記VNIを搬送する、ステップと、
前記第1のネットワークデバイスによって、前記第2のパケットを第2のネットワークデバイスへ送信するステップと、
を備える、仮想拡張可能ローカルエリアネットワークVXLANパケット伝送方法。
【請求項2】
前記IPv6ヘッダが、IPv6基本ヘッダである、請求項1に記載の方法。
【請求項3】
前記VNIが、前記IPv6基本ヘッダの宛先アドレスフィールドで搬送される、請求項2に記載の方法。
【請求項4】
前記宛先アドレスフィールド内の65番目ビットから128番目ビットが、前記VNIを搬送する、請求項3に記載の方法。
【請求項5】
前記宛先アドレスフィールドがVXLANヘッダを備え、前記VXLANヘッダが前記VNIを搬送する、請求項3に記載の方法。
【請求項6】
前記宛先アドレスフィールド内の65番目ビットから128番目ビットが、前記VXLANヘッダを搬送する、請求項5に記載の方法。
【請求項7】
前記宛先アドレスフィールド内の宛先アドレスが、前記宛先アドレスフィールド内で搬送された前記VNIに基づいて、前記パケットを転送するように前記第2のネットワークデバイスを示す、請求項2から6のいずれか一項に記載の方法。
【請求項8】
前記IPv6ヘッダがIPv6拡張ヘッダであり、前記IPv6拡張ヘッダが宛先オプションヘッダDOHまたはセグメントルーティングヘッダSRHを備える、請求項1に記載の方法。
【請求項9】
前記DOHのオプション(Option)部分が前記VNIを搬送する、請求項8に記載の方法。
【請求項10】
前記DOHがVXLANヘッダを備え、前記VXLANヘッダが前記VNIを搬送する、請求項8に記載の方法。
【請求項11】
前記VNIが、前記SRHのSID listにおける前記第2のネットワークデバイスに対応するセグメント識別子SIDで搬送される、請求項8に記載の方法。
【請求項12】
前記第2のネットワークデバイスの前記SIDがVXLANヘッダを備え、前記VXLANヘッダが前記VNIを搬送する、請求項11に記載の方法。
【請求項13】
前記第2のネットワークデバイスの前記SIDが、前記SIDで搬送された前記VNIに基づいて前記パケットを転送するように前記第2のネットワークデバイスを示す、請求項11または12に記載の方法。
【請求項14】
前記IPv6ヘッダ内のフローラベルフィールドが、VXLANパケットに対応するポート番号を搬送する、請求項1から13のいずれか一項に記載の方法。
【請求項15】
前記ポート番号が、前記第2のパケットの転送プロセスにおいて負荷分散処理を実行するために使用される、請求項14に記載の方法。
【請求項16】
前記IPv6ヘッダが、VXLANフラグ(flags)をさらに備え、前記VXLANフラグは、前記第2のパケットが有効なVNIを搬送することを示すflagを備える、請求項1から15のいずれか一項に記載の方法。
【請求項17】
前記第1のネットワークデバイスによって、前記第1のパケットに基づいてVNIを取得する、前記ステップが、
前記第1のネットワークデバイスによって、前記第1のパケットを受信するためのインターフェースに基づいて前記VNIを取得するステップであって、前記VNIが、前記第1のパケットを受信するための前記インターフェースに対応する、ステップ
を備える、請求項1から16のいずれか一項に記載の方法。
【請求項18】
第2のネットワークデバイスによって、第1のネットワークデバイスから第2のパケットを受信するステップであって、前記第2のパケットが、インターネットプロトコルバージョン6 IPv6ヘッダでカプセル化され、前記IPv6ヘッダが、仮想拡張可能ローカルエリアネットワーク識別子VNIを搬送する、ステップと、
前記第2のネットワークデバイスによって、前記IPv6ヘッダから前記VNIを取得するステップと、
前記第2のネットワークデバイスによって、第1のパケットを取得するために前記第2のパケットをカプセル化解除するステップであって、前記第1のパケットが前記IPv6ヘッダを備えない、ステップと、
前記第2のネットワークデバイスによって、前記VNIに基づいて前記第1のパケットを転送するステップと、
を備える、仮想拡張可能ローカルエリアネットワークVXLANパケット伝送方法。
【請求項19】
前記IPv6ヘッダがIPv6基本ヘッダである、請求項18に記載の方法。
【請求項20】
前記VNIが、前記IPv6基本ヘッダの宛先アドレスフィールドで搬送される、請求項19に記載の方法。
【請求項21】
前記宛先アドレスフィールドが仮想拡張可能ローカルエリアネットワークVXLANヘッダを備え、前記VXLANヘッダが前記VNIを搬送する、請求項20に記載の方法。
【請求項22】
前記第2のネットワークデバイスによって、前記IPv6ヘッダから前記VNIを取得する、前記ステップが、
前記第2のネットワークデバイスによって、前記宛先アドレスフィールドが前記第2のネットワークデバイスのアドレスを備えると判定するステップと、
前記第2のネットワークデバイスによって、前記宛先アドレスフィールドが前記第2のネットワークデバイスの前記アドレスを備えると判定したことに応答して、前記宛先アドレスフィールドから前記VNIを取得するステップと、
を備える、請求項20または21に記載の方法。
【請求項23】
前記IPv6ヘッダがIPv6拡張ヘッダであり、前記IPv6拡張ヘッダが宛先オプションヘッダDOHまたはセグメントルーティングヘッダSRHを備える、請求項18に記載の方法。
【請求項24】
前記DOHがタイプ-長さ-値TLVを備え、前記TLVのタイプフィールドが、前記DOHが前記VNIを搬送することを示す、請求項23に記載の方法。
【請求項25】
前記DOHがVXLANヘッダを備え、前記VXLANヘッダが前記VNIを搬送する、請求項23に記載の方法。
【請求項26】
前記VNIが、前記SRHのセグメント識別子リストSID listで搬送される、請求項23に記載の方法。
【請求項27】
前記第2のネットワークデバイスのSIDがVXLANヘッダを備え、前記VXLANヘッダが前記VNIを搬送する、請求項26に記載の方法。
【請求項28】
前記第2のネットワークデバイスによって、前記IPv6ヘッダから前記VNIを取得する、前記ステップが、
前記第2のネットワークデバイスによって、前記第2のパケットの前記宛先アドレスフィールドが前記第2のネットワークデバイスの前記SIDを備えると判定するステップと、
前記第2のネットワークデバイスによって、前記第2のパケットの前記宛先アドレスフィールドが前記第2のネットワークデバイスの前記SIDを備えると判定したことに応答して、前記第2のネットワークデバイスの前記SIDから前記VNIを取得するステップと、
を備える、請求項27に記載の方法。
【請求項29】
前記第2のネットワークデバイスの前記SIDのタイプが仮想ネットワークエンドポイントEND.VNタイプである、請求項27または28に記載の方法。
【請求項30】
第2のネットワークデバイスによって、第1のネットワークデバイスから第2のパケットを受信する、前記ステップの前に、前記方法が、
前記第2のネットワークデバイスによって、前記第2のネットワークデバイスの前記SIDを前記第1のネットワークデバイスにアドバタイズするステップ
をさらに備える、請求項29に記載の方法。
【請求項31】
前記方法が、
前記第2のネットワークデバイスによって、転送エントリを確立するステップであって、前記転送エントリが、前記第2のネットワークデバイスの前記SIDを備える、ステップと、
前記第2のネットワークデバイスによって、前記第1のパケットを取得するために前記転送エントリに基づいて前記第2のパケットをカプセル化解除し、前記VNIに基づいて前記第1のパケットを転送するステップと、
をさらに備える、請求項27から30のいずれか一項に記載の方法。
【請求項32】
複数のネットワークデバイスを備えるネットワークに適用される、仮想拡張可能ローカルエリアネットワークVXLANパケット伝送のためのネットワークデバイスであって、前記複数のネットワークデバイスが第1のネットワークデバイスおよび第2のネットワークデバイスを備え、前記ネットワークデバイスが前記第1のネットワークデバイスであり、前記ネットワークデバイスが、
第1のパケットを取得するように構成された取得ユニットと、
前記第1のパケットに基づいて仮想拡張可能ローカルエリアネットワーク識別子VNIを取得し、かつ第2のパケットを取得するために前記第1のパケットにインターネットプロトコルバージョン6 IPv6ヘッダをカプセル化するように構成された処理ユニットであって、前記IPv6ヘッダが前記VNIを搬送する、処理ユニットと、
前記第2のパケットを前記第2のネットワークデバイスへ送信するように構成された、送信ユニットと、
を備える、仮想拡張可能ローカルエリアネットワークVXLANパケット伝送のためのネットワークデバイス。
【請求項33】
前記IPv6ヘッダがIPv6基本ヘッダであり、前記VNIが前記IPv6基本ヘッダの宛先アドレスフィールドで搬送される、請求項32に記載のネットワークデバイス。
【請求項34】
前記宛先アドレスフィールドが仮想拡張可能ローカルエリアネットワークVXLANヘッダを備え、前記VXLANヘッダが前記VNIを搬送する、請求項33に記載のネットワークデバイス。
【請求項35】
前記IPv6ヘッダがIPv6拡張ヘッダであり、前記IPv6拡張ヘッダが宛先オプションヘッダDOHまたはセグメントルーティングヘッダSRHを備える、請求項32に記載のネットワークデバイス。
【請求項36】
前記DOHがVXLANヘッダを備え、前記VXLANヘッダが前記VNIを搬送する、請求項35に記載のネットワークデバイス。
【請求項37】
前記VNIが、前記SRHのSID listにおける前記第2のネットワークデバイスに対応するセグメント識別子SIDで搬送される、請求項35に記載のネットワークデバイス。
【請求項38】
複数のネットワークデバイスを備えるネットワークに適用される、仮想拡張可能ローカルエリアネットワークVXLANパケット伝送のためのネットワークデバイスであって、前記複数のネットワークデバイスが第1のネットワークデバイスおよび第2のネットワークデバイスを備え、前記ネットワークデバイスが前記第2のネットワークデバイスであり、前記ネットワークデバイスが、
前記第1のネットワークデバイスから第2のパケットを受信するように構成された受信ユニットであって、前記第2のパケットが、インターネットプロトコルバージョン6 IPv6ヘッダでカプセル化され、かつ前記IPv6ヘッダが、仮想拡張可能ローカルエリアネットワーク識別子VNIを搬送する、受信ユニットと、
前記IPv6ヘッダから前記VNIを取得し、かつ第1のパケットを取得するために前記第2のパケットをカプセル化解除するように、構成された処理ユニットであって、前記第1のパケットが前記IPv6ヘッダを備えない、処理ユニットと、
前記VNIに基づいて前記第1のパケットを転送するように構成された、送信ユニットと、
を備える、仮想拡張可能ローカルエリアネットワークVXLANパケット伝送のためのネットワークデバイス。
【請求項39】
前記IPv6ヘッダがIPv6基本ヘッダであり、前記VNIが前記IPv6基本ヘッダの宛先アドレスフィールドで搬送される、請求項38に記載のネットワークデバイス。
【請求項40】
前記宛先アドレスフィールドがVXLANヘッダを備え、前記VXLANヘッダが前記VNIを搬送する、請求項39に記載のネットワークデバイス。
【請求項41】
前記処理ユニットが、前記宛先アドレスフィールドが前記第2のネットワークデバイスのアドレスを備えると判定し、前記宛先アドレスフィールドが前記第2のネットワークデバイスの前記アドレスを備えると判定したことに応答して、前記宛先アドレスフィールドから前記VNIを取得するように構成されている、
請求項39または40に記載のネットワークデバイス。
【請求項42】
前記IPv6ヘッダがIPv6拡張ヘッダであり、前記IPv6拡張ヘッダが宛先オプションヘッダDOHまたはセグメントルーティングヘッダSRHを備える、請求項38に記載のネットワークデバイス。
【請求項43】
仮想拡張可能ローカルエリアネットワークVXLANパケット伝送のためのネットワークシステムであって、前記ネットワークシステムが、第1のネットワークデバイスおよび第2のネットワークデバイスを備え、
前記第1のネットワークデバイスが、請求項1から17のいずれか一項に記載の方法を実行するように構成されており、
前記第2のネットワークデバイスが、請求項18から31のいずれか一項に記載の方法を実行するように構成されている、
仮想拡張可能ローカルエリアネットワークVXLANパケット伝送のためのネットワークシステム。
【請求項44】
プロセッサとメモリとを備える、ネットワークデバイスであって、
前記メモリが、命令またはプログラムコードを記憶するように構成され、
前記プロセッサが、前記ネットワークデバイスが請求項1から17のいずれか一項に記載の方法を実行すること、または請求項18から31のいずれか一項に記載の方法を実行することを可能にするために、前記メモリ内の前記命令または前記プログラムコードを実行するように構成されている、
ネットワークデバイス。
【請求項45】
コンピュータ可読記憶媒体であって、前記コンピュータ可読記憶媒体が命令を記憶し、前記命令がプロセッサ上で実行されると、コンピュータまたはネットワークデバイスが、請求項1から17のいずれか一項に記載の方法を実行すること、または請求項18から31のいずれか一項に記載の方法を実行すること、を可能にする、コンピュータ可読記憶媒体。
【請求項46】
コンピュータプログラム製品であって、前記コンピュータプログラム製品がプログラムを備え、前記プログラムがプロセッサ上で実行されると、コンピュータまたはネットワークデバイスが、請求項1から17のいずれか一項に記載の方法を実行すること、または請求項18から31のいずれか一項に記載の方法を実行すること、を可能にする、コンピュータプログラム製品。
【請求項47】
インターフェース回路とプロセッサとを含むチップであって、前記インターフェース回路が前記プロセッサに接続され、前記プロセッサが、前記チップが請求項1から17のいずれか一項に記載の方法を実行すること、または請求項18から31のいずれか一項に記載の方法を実行すること、を可能にするように構成されている、チップ。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2021年12月31日付で中国国家知識産権局に出願された、「IPv6に基づいてVXLANおよびGTPを実装するための方法」という名称の中国特許出願第CN202111672776.4号の優先権を主張し、その全体は参照によりここに組み込まれる。本出願は、2022年3月8日に出願された「VXLANパケット伝送方法、ネットワークデバイス、およびシステム」という名称の中国特許出願第202210228141.3号の優先権を主張し、その全体は参照によりここに組み込まれる。
【0002】
本出願は、通信技術の分野に関し、詳細には、仮想拡張可能ローカルエリアネットワーク(virtual extensible local area network、VXLAN)パケット伝送方法、ネットワークデバイス、およびシステムに関する。
【背景技術】
【0003】
VXLANは、オーバーレイ(overlay)ネットワーク技術である。レイヤ2イーサネットトンネルは、クロスリージョンレイヤ2相互接続を実施するために、レイヤ3ネットワーク上に確立され得る。VXLAN技術では、元のイーサネットパケットがユーザデータグラムプロトコル(user datagram protocol、UDP)データパケットにカプセル化されるカプセル化フォーマットが使用され、元のレイヤ2データフレームおよびVXLANヘッダが一緒にUDPデータパケットにカプセル化される。UDPは、外部層における伝送方法として使用されるので、元のイーサネットパケットは、レイヤ2またはレイヤ3ネットワーク上で伝送され得る。VXLANヘッダはVXLAN識別子(VXLAN network identifier、VNI)を含み、VNIはデータパケットにおいて24ビットを占有する。したがって、1600万のVXLANを共存させることができ、テナントが大規模に展開され得る。
【0004】
インターネットプロトコルバージョン6(internet protocol version 6、IPv6)技術の開発および展開では、異なるテナントのトラフィックがIPv6ネットワークを横断する必要がある場合がある。したがって、IPv6ネットワークにVXLAN技術を展開することが急務である。しかしながら、VXLANではUDPカプセル化が使用されるため、IPv6ネットワークにおけるカプセル化効率は低く、パケット伝送効率が影響を受ける。
【発明の概要】
【0005】
本出願は、VXLANパケットがIPv6ネットワークを通過するときのパケットカプセル化のためのデータ量を低減し、パケットカプセル化効率を向上し、パケット伝送効率をさらに向上するための、VXLANパケット伝送方法、ネットワークデバイス、およびシステムを提供する。
【課題を解決するための手段】
【0006】
本出願の第1の態様によれば、VXLANパケット伝送方法が提供される。本方法は、以下を含む。第1のネットワークデバイスが第1のパケットを受信し、第1のパケットに基づいてVNIを取得する。第1のネットワークデバイスが、第2のパケットを取得するために、第1のパケットにIPv6ヘッダをカプセル化する。IPv6ヘッダがVNIを搬送する。第1のネットワークデバイスが第2のネットワークデバイスへ第2のパケットを送信する。第1のパケットに対応するVNIを取得した後、第1のネットワークデバイスは、第1のパケットにIPv6ヘッダをカプセル化し、IPv6ヘッダにVNIを含めることが分かる。VNIを搬送するために、追加のUDPヘッダがカプセル化される必要はない。これにより、パケットカプセル化のためのデータ量が削減され、パケットカプセル化効率が向上する。加えて、IPv6ヘッダにVNIを含めることによって、VXLANパケットがIPv6ネットワークを横断するための方法が提供される。この方法では、VNIを搬送するためにUDPヘッダを使用する必要はない。IPv6ヘッダは、パケットがIPv6ネットワーク上で転送されるときの基本的なパケットカプセル化方式であるため、この方法は、VXLANパケットカプセル化の柔軟性を向上させる。
【0007】
可能な実装形態では、IPv6ヘッダがVNIを搬送する方法は、VNIをIPv6ヘッダに追加することであってもよく、またはVXLANヘッダをIPv6ヘッダにカプセル化することであってもよい。
【0008】
可能な実装形態では、IPv6ヘッダはIPv6基本ヘッダである。IPv6基本ヘッダは、基本的なパケット転送情報を含み、例えば、送信元アドレスフィールドおよび宛先アドレスフィールドを含む。送信元アドレスフィールドが、パケットの送信元アドレスを搬送するために使用され、宛先アドレスフィールドが、パケットの宛先アドレスを搬送するために使用される。
【0009】
可能な実装形態では、VNIは、IPv6基本ヘッダの宛先アドレスフィールドで搬送される。IPv6基本ヘッダの宛先アドレスフィールドは128ビット(bits)であるため、パケット転送プロセスでパケット転送に使用されるプレフィックス情報またはSRv6 locatorは、通常、128ビットの一部を占有し、例えば、最初の64ビットのみを占有する。このようにして、VNIは、プレフィックス情報またはSRv6 locatorによって占有されていない、宛先アドレスフィールド内のビットに含まれ、IPv6基本ヘッダの宛先アドレスフィールドが多重化される。VNIを搬送するために追加のヘッダをカプセル化する必要はない。これにより、パケットカプセル化効率が向上する。
【0010】
可能な実装形態では、宛先アドレスフィールド内の65番目のビットから128番目のビットが、VNIを搬送する。
【0011】
可能な実装形態では、宛先アドレスフィールドはVXLANヘッダを含み、VXLANヘッダはVNIを搬送する。VXLANヘッダは64ビットを占有するので、VXLANヘッダは宛先アドレスフィールド内で完全に搬送され得る。VNIに加えて、VXLANヘッダは、VXLANパケット転送に使用されるいくつかの指示情報をさらに含む。完全なVXLANヘッダが宛先アドレスフィールドで搬送されるので、パケット転送の信頼性が向上する。
【0012】
可能な実装形態では、宛先アドレスフィールド内の65番目のビットから128番目のビットがVXLANヘッダを搬送する。
【0013】
可能な実装形態では、宛先アドレスフィールド内の宛先アドレスは、宛先アドレスフィールド内で搬送されたVNI情報に基づいてパケットを転送するように第2のネットワークデバイスを示す。
【0014】
可能な実装形態では、IPv6ヘッダはIPv6拡張ヘッダであり、IPv6拡張ヘッダは宛先オプションヘッダ(destination option header、DOH)またはセグメントルーティングヘッダ(segment routing header、SRH)を含む。任意選択で、第1のネットワークデバイスが第2のパケットを取得するために第1のパケットにIPv6ヘッダをカプセル化することは、第1のネットワークデバイスが、第1のパケットにIPv6拡張ヘッダおよびIPv6基本ヘッダをカプセル化することを含む。IPv6拡張ヘッダはVNIを搬送し、IPv6基本ヘッダはパケット転送に使用される。
【0015】
可能な実装形態では、DOHはタイプ-長さ-値(type-length-value、TLV)を含み、TLVのタイプフィールドは、DOHがVNIを搬送することを示す。
【0016】
可能な実装形態では、DOHはVNIを搬送するために使用され、またはDOHはVXLANヘッダを搬送するために使用され、VXLANヘッダはVNIを搬送する。
【0017】
可能な実装形態では、VNIは、SRHのセグメント識別子(segment identifier、SID)リスト(SID list)で搬送される。任意選択で、VNIは、SID listにおける第2のネットワークデバイスに対応するSIDで搬送される。IPv6転送プレーンベースのセグメントルーティング(IPv6 segment routing、SRv6)の適用シナリオでは、経路の一部または全部を明示的に指定する必要があるとき、SRH内のSID listを使用して明示的な経路を示すために、SRHがパケットにプッシュされ得る。SID listにおける各SIDの長さは、128ビット(bit)に規定されている。パケット転送プロセスにおけるパケット転送に使用されるSIDに関する情報は、通常、128ビットの一部のみであるか、または、ネットワークデバイスによってアドバタイズされるSIDは、128ビットの一部のみを占有する、例えば、64ビットのみを占有する、圧縮されたSIDであってもよい。このようにして、VNIは、SID list内の第2のネットワークデバイスのSID内の占有されていないビットに含まれ、IPv6拡張ヘッダのセグメントルーティングヘッダ内のセグメント識別子リストが多重化される。VNIを搬送するために追加のヘッダをカプセル化する必要はない。これにより、パケットカプセル化効率が向上する。
【0018】
可能な実装形態では、第2のネットワークデバイスのSIDはVXLANヘッダを含み、VXLANヘッダはVNIを搬送する。
【0019】
可能な実装形態では、第2のネットワークデバイスのSIDは、SIDで搬送されたVNIに基づいてパケットを転送するように第2のネットワークデバイスを示す。第2のパケットを受信した後、第2のネットワークデバイスは、第2のパケットで搬送されたSIDに基づいて、第2のネットワークデバイスが明示的な経路上のエンドノードであると判定し、第2のパケット内のVNIに基づいてパケットを転送する。第2のネットワークデバイスのSIDは、ロケータ(locator)フィールドおよび機能(function)フィールドを含む。任意選択で、第2のネットワークデバイスのSIDは、パラメータ(argument)フィールドをさらに含んでもよい。
【0020】
可能な実装形態では、VNIは、第2のネットワークデバイスのSIDのfunctionフィールドで搬送される。
【0021】
可能な実装形態では、第2のネットワークデバイスのSIDのfunctionフィールドはVXLANヘッダを含み、VXLANヘッダはVNIを搬送する。
【0022】
可能な実装形態では、IPv6ヘッダ内のフローラベル(flow label)は、VXLANパケットに対応するポート番号を搬送する。
【0023】
可能な実装形態では、ポート番号は、第2のパケットの転送プロセスにおいて負荷分散処理を実行するために使用されるか、またはポート番号は、第2のパケットがVXLANパケットを含むと判定するために使用される。
【0024】
可能な実装形態では、VXLANパケットの送信元ポート番号は、VXLANパケットのペイロード(payload)に基づく計算によって取得され、例えば、ハッシュ(hash)アルゴリズムを使用してVXLANパケットのペイロードに対してハッシュを実行することによって取得される。VXLANパケットから取得されたポート番号の値は、第2のパケットのフローラベル内で搬送されてもよい。第2のパケットのフローラベルの値を計算する方法は、VXLANパケット内の負荷分散に使用されるUDP送信元ポート番号を計算する方法と同じである。すなわち、フローラベルで搬送されるポート番号は、第1のパケットのペイロードに基づく計算によっても取得され、第2のパケットの転送プロセスで実施される負荷分散効果が、従来のVXLANパケットのUDP送信元ポート番号を使用して実施される負荷分散効果と一致することを保証する。
【0025】
可能な実装形態では、IPv6ヘッダはVXLANフラグ(flags)をさらに含み、VXLAN flagsは、第2のパケットが有効なVNIを搬送することを示すflagを含む。
【0026】
可能な実装形態では、IPv6ヘッダはVXLANヘッダを搬送し、VXLANヘッダはVNIを搬送する。
【0027】
可能な実装形態では、IPv6ヘッダのネクストヘッダ(Next Header)は、第2のパケットのIPv6ヘッダに隣接するネクストヘッダがイーサネットヘッダであることを示す。IPv6ヘッダはVNIを搬送するために使用され、パケット内でVNIを搬送するためにUDPヘッダを使用する必要はない。したがって、IPv6ヘッダのNext Headerはイーサネット(Ethernet、ETH)タイプに設定される。したがって、第2のパケットの転送処理におけるパケット処理効率を向上させることができる。
【0028】
1つの可能な実施態様において、第1のネットワークデバイスが第1のパケットに基づいてVNIを取得することは、第1のネットワークデバイスが第1のパケットを受信するためのインターフェースに基づいてVNIを取得すること、を含む。VNIは、第1のパケットを受信するためのインターフェースに対応する。
【0029】
本出願の第2の態様によれば、VXLANパケット伝送方法が提供される。本方法は、以下を含む。第2のネットワークデバイスが第1のネットワークデバイスから第2のパケットを受信する。第2のパケットはIPv6ヘッダでカプセル化され、IPv6ヘッダはVNIを搬送する。第2のネットワークデバイスは、IPv6ヘッダからVNIを取得する。第2のネットワークデバイスは、第1のパケットを取得するために第2のパケットをカプセル化解除する。第1のパケットは、IPv6ヘッダを含まない。第2のネットワークデバイスは、VNIに基づいて第1のパケットを転送する。
【0030】
可能な実装形態では、IPv6ヘッダがVNIを搬送する方法は、VNIをIPv6ヘッダに追加することであってもよく、またはVXLANヘッダをIPv6ヘッダにカプセル化することであってもよく、VXLANヘッダはVNIを含む。
【0031】
可能な実装形態では、IPv6ヘッダはIPv6基本ヘッダである。
【0032】
可能な実装形態では、VNIは、IPv6基本ヘッダの宛先アドレスフィールドで搬送される。
【0033】
可能な実装形態では、宛先アドレスフィールドはVXLANヘッダを含み、VXLANヘッダはVNIを搬送する。
【0034】
可能な実装形態では、宛先アドレスフィールド内の65番目のビットから128番目のビットが、VNIを搬送する。
【0035】
可能な実装形態では、宛先アドレスフィールド内の65番目のビットから128番目のビットがVXLANヘッダを搬送する。
【0036】
可能な実装形態では、第2のネットワークデバイスがIPv6ヘッダからVNIを取得することは、以下を含む。宛先アドレスフィールドが第2のネットワークデバイスのアドレスを含むと、第2のネットワークデバイスが判定する。宛先アドレスフィールドが第2のネットワークデバイスのアドレスを含むと、第2のネットワークデバイスが判定したことに応答して、宛先アドレスフィールドからVNIを取得する。
【0037】
可能な実装形態では、第2のネットワークデバイスが第1のネットワークデバイスから第2のパケットを受信する前に、本方法は、第2のネットワークデバイスのアドレスに第2のネットワークデバイスに送信されたVXLANパケットのVNIを含めるように第1のネットワークデバイスに示すために、第2のネットワークデバイスが第2のネットワークデバイスのアドレスを第1のネットワークデバイスにアドバタイズすることを、さらに含む。
【0038】
可能な実装形態では、IPv6ヘッダはIPv6拡張ヘッダであり、IPv6拡張ヘッダはDOHまたはSRHを含む。
【0039】
可能な実装形態では、DOHはTLVを含み、TLVのタイプフィールドは、DOHがVNIを搬送することを示す。
【0040】
可能な実装形態では、DOHはVXLANヘッダを含み、VXLANヘッダはVNIを搬送する。
【0041】
可能な実装形態では、VNIはSRHのSID listで搬送される。
【0042】
可能な実装形態では、VNIは、SRHのSID list内の第2のネットワークデバイスに対応するSID内で搬送される。
【0043】
可能な実装形態では、第2のネットワークデバイスのSIDはVXLANヘッダを含み、VXLANヘッダはVNIを搬送する。
【0044】
可能な実装形態では、第2のネットワークデバイスがIPv6ヘッダからVNIを取得することは、以下を含む。第2のパケットの宛先アドレスフィールドが第2のネットワークデバイスのSIDを含むと、第2のネットワークデバイスが判定する。第2のパケットの宛先アドレスフィールドが第2のネットワークデバイスのSIDを含むと、第2のネットワークデバイスが判定したことに応答して、第2のネットワークデバイスのSIDからVNIを取得する。
【0045】
可能な実装形態では、第2のネットワークデバイスのSIDのタイプは、仮想ネットワークエンドポイント(Endpoint with decapsulation and VXLAN table lookup use、END.VN)タイプである。SIDはSRv6 SIDである。SIDのlocator部分は、VXLANパケットのVXLANトンネルエンドポイント(VXLAN tunnel endpoints、VTEP)のアドレスを含み、SIDのfunction部分は、VXLAN Headerヘッダを含む。SIDの挙動(behavior)に対応する転送動作は、パケットを受信した後、宛先VTEPノードが、パケットのSIDにおけるVNIに基づいて対応するVXLANインスタンス転送テーブルを取得し、パケットをカプセル化解除し、ペイロード(Payload)におけるMACアドレスなどに基づいて転送テーブルを検索し、パケットを転送する、ことを含む。パケットをカプセル化解除することは、第1のパケットを取得するために第2のパケットにカプセル化されたIPv6基本ヘッダを削除すること、または第1のパケットを取得するために第2のパケットにカプセル化されたIPv6基本ヘッダおよびIPv6拡張ヘッダを削除すること、を含む。
【0046】
任意選択で、第2のネットワークデバイスのアドレスに対応するSIDは、END.VNタイプのSIDである。
【0047】
任意選択で、第2のネットワークデバイスのアドレスに対応するSIDは、第2のネットワークデバイスのSRv6 Locatorである。
【0048】
可能な実装形態では、第2のネットワークデバイスが第1のネットワークデバイスから第2のパケットを受信する前に、本方法は、第2のネットワークデバイスが、第2のネットワークデバイスのSIDにおいて第2のネットワークデバイスに送信されたVXLANパケットのVNIを含めるように第1のネットワークデバイスに示すために、第2のネットワークデバイスのSIDを第1のネットワークデバイスにアドバタイズすることをさらに含む。
【0049】
1つの可能な実施態様において、本方法は、第2のネットワークデバイスが転送エントリを確立すること、をさらに含む。転送エントリは、第2のネットワークデバイスのSIDを含む。第2のネットワークデバイスは、第1のパケットを取得するために転送エントリに基づいて第2のパケットをカプセル化解除し、VNIに基づいて第1のパケットを転送する。
【0050】
可能な実装形態では、IPv6ヘッダ内のフローラベルは、VXLANパケットに対応するポート番号を搬送する。任意選択で、ポート番号は、第2のパケットの転送プロセスにおける負荷分散処理を実行するために使用される。
【0051】
可能な実装形態では、IPv6ヘッダはVXLAN flagsをさらに含み、VXLAN flagsは、第2のパケットが有効なVNIを搬送することを示すflagを含む。
【0052】
本出願の第3の態様によれば、第1のネットワークデバイスが提供され、第1の態様または第1の態様の可能な実装形態のいずれか1つによる方法を実行するように構成されている。具体的には、第1のネットワークデバイスは、第1の態様または第1の態様の可能な設計のいずれか1つによる方法を実行するように構成されたユニットを含む。
【0053】
本出願の第4の態様によれば、第2のネットワークデバイスが提供され、第2の態様または第2の態様の可能な実装形態のいずれか1つによる方法を実行するように構成されている。具体的には、第2のネットワークデバイスは、第2の態様または第2の態様の可能な設計のいずれか1つによる方法を実行するように構成されたユニットを含む。
【0054】
本出願の第5の態様によれば、VXLANパケット伝送のためのネットワークシステムが提供される。ネットワークシステムは、第1のネットワークデバイスおよび第2のネットワークデバイスを含む。第1のネットワークデバイスは、第1の態様または第1の態様の可能な設計のいずれか1つによる方法を実行するように構成されている。第2のネットワークデバイスは、第2の態様または第2の態様の可能な設計のいずれか1つによる方法を実行するように構成されている。
【0055】
本出願の第6の態様によれば、ネットワークデバイスが提供される。デバイスは、プロセッサおよびメモリを含む。メモリは、命令またはプログラムコードを記憶するように構成されている。プロセッサは、メモリ内の命令またはプログラムコードを実行するように構成されており、その結果、ネットワークデバイスは、第1の態様または第1の態様の可能な設計のいずれか1つによる方法を実行するか、あるいは、第2の態様または第2の態様の可能な設計のいずれか1つによる方法を実行する。
【0056】
本出願の第7の態様によれば、コンピュータ可読記憶媒体が提供される。コンピュータ可読記憶媒体は、命令を記憶する。命令がプロセッサ上で実行されると、コンピュータまたはネットワークデバイスは、第1の態様または第1の態様の可能な設計のいずれか1つによる方法を実行するか、あるいは、第2の態様または第2の態様の可能な設計のいずれか1つによる方法を実行することが可能になる。
【0057】
本出願の第8の態様によれば、コンピュータプログラム製品が提供される。コンピュータプログラム製品はプログラムを含む。プログラムがプロセッサ上で実行されると、コンピュータまたはネットワークデバイスは、第1の態様または第1の態様の可能な設計のいずれか1つによる方法を実行するか、あるいは、第2の態様または第2の態様の可能な設計のいずれか1つによる方法を実行することが可能になる。
【0058】
本出願の第9の態様によれば、チップが提供され、インターフェース回路およびプロセッサを含む。インターフェース回路はプロセッサに接続されている。プロセッサは、チップが第1の態様または第1の態様の可能な設計のいずれか1つによる方法を実行すること、あるいは、第2の態様または第2の態様の可能な設計のいずれか1つによる方法を実行することを可能にするように構成されている。
【0059】
本出願の実施形態または既存の技術における技術的解決策をより明確に説明するために、以下で、実施形態または既存の技術を説明するために使用される添付の図面を簡単に紹介する。以下の説明における添付の図面は、本出願に記録されたいくつかの実施形態を示すにすぎず、当業者は、創造的な努力なしにこれらの添付の図面から他の図面をさらに導出し得ることは明らかである。
【図面の簡単な説明】
【0060】
【
図1a】本出願の一実施形態によるVXLANネットワークアプリケーションシナリオの概略図である。
【
図1b】本出願の一実施形態によるVXLANパケットカプセル化の構造の概略図である。
【
図2】本出願の一実施形態によるVXLANパケット伝送方法の流れ図である。
【
図3a】本出願の一実施形態によるIPv6基本ヘッダのフォーマットの概略図である。
【
図3b】本出願の一実施形態による、宛先アドレスフィールド内のVNIのカプセル化の概略図である。
【
図3c】本出願の一実施形態による宛先アドレスフィールド内のVNIのカプセル化の別の概略図である。
【
図3d】本出願の一実施形態による宛先アドレスフィールド内のVNIのカプセル化のさらに別の概略図である。
【
図4a】本出願の一実施形態によるDOHのフォーマットの概略図である。
【
図4b】本出願の一実施形態によるDOHへのVNIのカプセル化の概略図である。
【
図4c】本出願の一実施形態によるDOHへのVNIのカプセル化の別の概略図である。
【
図4d】本出願の一実施形態によるDOHへのVNIのカプセル化のさらに別の概略図である。
【
図5a】本出願の一実施形態によるTLVのフォーマットの概略図である。
【
図5b】本出願の一実施形態によるTLVを使用してVNIをカプセル化する概略図である。
【
図5c】本出願の一実施形態によるTLVを使用してVNIをカプセル化する別の概略図である。
【
図6a】本出願の一実施形態によるSRHのフォーマットの概略図である。
【
図6b】本出願の一実施形態によるSIDのフォーマットの概略図である。
【
図6c】本出願の一実施形態による、SRHにおけるVNIのカプセル化の概略図である。
【
図6d】本出願の一実施形態によるSRHへのVNIのカプセル化の別の概略図である。
【
図6e】本出願の一実施形態によるSRHへのVNIのカプセル化のさらに別の概略図である。
【
図6f】本出願の一実施形態による適用シナリオの概略図である。
【
図7】本出願の一実施形態によるVXLANパケット伝送のためのネットワークデバイスの構造の概略図である。
【
図8】本出願の一実施形態によるVXLANパケット伝送のための別のネットワークデバイスの構造の概略図である。
【
図9】本出願の一実施形態によるVXLANパケット伝送のためのネットワークシステムの構造の概略図である。
【
図10】本出願の一実施形態によるネットワークデバイスの構造の概略図である。
【
図11】本出願の一実施形態による別のネットワークデバイスの構造の概略図である。
【発明を実施するための形態】
【0061】
当業者が本出願で提供される解決策をよりよく理解するために、以下では、本出願の実施形態における添付の図面を参照して、本出願の実施形態における技術的解決策を明確に説明する。説明されている実施形態は、本出願の実施形態の一部にすぎず、すべてではないことは明らかである。
【0062】
具体的な技術的解決策を説明する前に、本出願の実施形態における重要な用語および技術が最初に説明される。
【0063】
VXLANは、仮想トンネル通信技術である。論理トンネルは、送信元ネットワークデバイスと宛先ネットワークデバイスとの間のインターネットプロトコル(Internet Protocol、IP)ネットワーク上で確立され、ユーザ側パケットは、特定のカプセル化後にトンネルを介して転送される。例えば、
図1aに示すように、VXLANを介して2つのスイッチ間にトンネルが確立される。スイッチ1は、送信元サーバによって送信された元のデータフレームをカプセル化し、その結果、元のデータフレームがベアラネットワーク上で伝送され得る。宛先サーバに接続されたスイッチ2に到達した後、元のデータフレームはVXLANトンネルを出て、復元されて宛先サーバに転送される。
【0064】
VXLANネットワークでは、元のデータフレームをカプセル化およびカプセル化解除するデバイスはVTEPである。VTEPは、VXLANネットワークのエッジデバイスであり、VXLANトンネルの始点および終点である。
図1aに示すように、スイッチ1およびスイッチ2はVTEPである。VTEPは、独立したネットワークデバイスであってもよいし、サーバ内の仮想スイッチであってもよい。送信元サーバによって送信された元のデータフレームは、VTEP上でVXLANフォーマットのパケットとしてカプセル化され、IPネットワーク内の他のVTEPに伝送される。元のデータフレームはカプセル化解除によって復元され、最終的に宛先サーバに転送される。
【0065】
VNIは、仮想ローカルエリアネットワーク(Virtual Local Area Network、VLAN)識別子(identifier、ID)に類似しており、VXLANセグメントを区別するために使用される。異なるVXLANセグメントにある仮想マシンは、レイヤ2で互いに直接通信することができない。VNIはまた、ユーザ識別子として理解されてもよい。VNIはテナントを表し、異なるVNIに属するテナントはレイヤ2で直接通信することはできない。
図1aに示すように、VXLANパケットがカプセル化されると、VNIに24ビット長の空間が割り当てられ、その結果、VNIは大量のテナントの分離をサポートすることができる。具体的には、VTEPは、送信元サーバによって送信された元のデータフレーム内のVXLANヘッダ、UDPヘッダ、外部IPヘッダ、および外部メディアアクセス制御(media access control、MAC)ヘッダをカプセル化する。
【0066】
図1bは、VXLANヘッダとUDPヘッダを含む構造の概略図である。VXLANヘッダの長さは8バイトであり、VXLANネットワーク内の異なるテナントのVNIを搬送するための24ビットのVNIフィールドを含む。加えて、VXLANフラグ(flags)フィールドおよび2つの予約フィールドがさらに含まれる。VXLAN flagsフィールドは8ビットを占有し、値は00001000であり得る。2つの予約フィールドは、それぞれ24ビットおよび8ビットを占有する。
【0067】
VXLANヘッダおよび元のデータフレームは、UDPデータとして一緒に使用される。UDPヘッダは8バイトを占有する。UDPヘッダは、送信元ポート番号、宛先ポート番号、UDP長、およびUDPチェックサムを含む。各フィールドは16ビットを占有する。任意選択で、宛先ポート番号(Dest Port)は4789に固定され、送信元ポート番号(Source Port)は元のデータフレームに対してハッシュアルゴリズムを実行することによって判定される。
【0068】
外部IPヘッダ内の送信元IPアドレスフィールドは、送信元サーバに接続されたVTEPのIPアドレスを搬送し、宛先IPアドレスフィールドは、宛先サーバに接続されたVTEPのIPアドレスである。外部IPヘッダは、外部IPバージョン4(Internet Protocol version 4、IPv4)ヘッダまたは外部IPv6ヘッダを含む。外部IPv6ヘッダは、IPv6基本ヘッダと呼ばれることもある。IPv6基本ヘッダ内の送信元アドレスフィールドおよび宛先アドレスフィールドは、それぞれ128ビットを占有する。
【0069】
外部MACヘッダは、カプセル化された外部イーサネットヘッダである。送信元MACアドレスフィールドは、送信元サーバに接続されたVTEPのMACアドレスを搬送し、宛先MACアドレスフィールドは、宛先VTEPへの経路上のネクスト・ホップ・デバイスのMACアドレスである。
【0070】
前述の説明から、VXLANパケットがIPv6ネットワークで伝送されるとき、VXLANヘッダがUDPカプセル化方式でカプセル化される場合、追加のUDPヘッダがカプセル化される必要があることが分かる。その結果、カプセル化されたデータの量が多くなり、カプセル化効率が低くなり、パケット伝送効率が影響を受ける。
【0071】
これに基づいて、本出願の一実施形態はVXLANパケット伝送方法を提供する。VXLANパケットがIPv6ネットワークで伝送されるとき、パケットに対応するVNIはIPv6ヘッダにカプセル化され、追加のUDPヘッダはカプセル化される必要がない。これにより、カプセル化効率が向上する。
【0072】
本出願の実施形態で提供される技術的解決策の理解を容易にするために、以下で、添付の図面を参照して技術的解決策を説明する。
【0073】
図2は、本出願の一実施形態によるVXLANパケット伝送方法のフローチャートである。
図2に示されるように、方法は以下のステップを含む。
【0074】
S201:第1のネットワークデバイスが第1のパケットを取得する。
【0075】
S202:第1のネットワークデバイスは第1のパケットに基づいてVNIを取得する。
【0076】
この実施形態では、第1のネットワークデバイスは
図1aのスイッチ1であってもよい。第1のネットワークデバイスは、
図1aのホストまたは送信元サーバによって送信された第1のパケットを受信することができ、または第1のネットワークデバイスは第1のパケットを生成する。第1のパケットが取得された後、第1のパケットに基づいて第1のパケットに対応するVNIが取得される。VNIは、第1のパケットを送信するデバイスに対応するテナント識別子である。具体的には、第1のパケットを受信した後、第1のネットワークデバイスは、第1のパケットを受信するためのインターフェースに基づいて、第1のパケットに対応するVNIを取得することができる。VNIは、第1のパケットを受信するためのインターフェースに対応する。例えば、VNIは、第1のネットワークデバイスのインターフェース上で事前構成されてもよい。インターフェースを介して第1のパケットを受信した後で、第1のネットワークデバイスは、インターフェースとVNIとの間の対応関係に基づいてVNIを取得する。あるいは、第1のパケットを受信した後、第1のネットワークデバイスは、第1のパケット内のアドレス(送信元アドレス)に基づいて、第1のパケットに対応するVNIを取得してもよい。例えば、アドレスとVNIとの間の対応関係は、第1のネットワークデバイス上で事前構成される。第1のパケットを受信した後、第1のネットワークデバイスは、第1のパケットのアドレスおよび対応関係に基づいて、アドレスに対応するVNIを判定する。
【0077】
S203:第1のネットワークデバイスは、第2のパケットを取得するために、IPv6ヘッダを第1のパケットにカプセル化する。
【0078】
第1のパケットに対応するVNIを判定した後、第1のネットワークデバイスは、第2のパケットを取得するために、第1のパケットにIPv6ヘッダをカプセル化し、VNIは、IPv6ヘッダで搬送される。IPv6ヘッダがVNIを搬送する2つの方法がある。1つの方法では、IPv6ヘッダはVNIを直接搬送する。他の方式では、IPv6ヘッダはVXLANヘッダを含み、VXLANヘッダがVNIを含む。任意選択で、IPv6ヘッダは、IPv6基本ヘッダまたはIPv6拡張ヘッダであり、VNIは、IPv6基本ヘッダまたはIPv6拡張ヘッダで搬送されてもよい。あるいは、VXLANヘッダは、IPv6基本ヘッダまたはIPv6拡張ヘッダで搬送されてもよい。IPv6基本ヘッダは、基本的なパケット転送情報を含み、長さは40バイトである。
【0079】
(1)IPv6ヘッダは、IPv6基本ヘッダである。
【0080】
IPv6ヘッダがIPv6基本ヘッダである場合、VNIは、IPv6基本ヘッダの宛先アドレスフィールドで搬送され得る。通常、IPv6基本ヘッダ内の宛先アドレスフィールドの長さは128ビットであり、フィールドは宛先ネットワークデバイスのアドレスを搬送するために使用される。任意選択で、パケット転送プロセスにおいて、宛先ネットワークデバイスのプレフィックス情報は、通常、宛先アドレスフィールド全体を占有する必要はない。例えば、宛先ネットワークデバイスのプレフィックス情報は、宛先アドレスフィールドの64ビットのみを占有する必要がある。任意選択で、宛先ネットワークデバイスのアドレスは64ビットに圧縮されてもよく、1番目ビットから64番目ビットを占有してもよい。このようにして、VNIは宛先アドレスフィールド内の65番目のビットから128番目のビットを占有してもよい。あるいは、VNIは宛先アドレスフィールド内の80番目のビットから128番目のビットを占有してもよい。宛先アドレスフィールド内のVNIによって占有される位置は、実際の適用状況に基づいて判定されてもよい。これはこの実施形態では限定されない。
【0081】
図3aは、IPv6基本ヘッダのパケットフォーマットを示す。IPv6基本ヘッダは、バージョン(Version)フィールド、トラフィックタイプ(Traffic Type)フィールド、フローラベル(Flow Label)フィールド、ペイロード長(Payload Length)フィールド、ネクストヘッダ(Next Header)フィールド、ホップ制限(Hop Limit)フィールド、送信元アドレス(source address、SA)フィールド、および、宛先アドレス(destination address、DA)フィールドを含む。送信元アドレスフィールドおよび宛先アドレスフィールドはそれぞれ128ビットを占有する。送信元アドレスフィールドは送信元アドレスを搬送し、宛先アドレスフィールドは宛先アドレスを搬送する。
【0082】
任意選択で、宛先アドレスフィールドは、
図3bに示すように、宛先アドレスおよびVNIを含んでもよい。
【0083】
加えて、IPv6ヘッダはVXLAN flagsをさらに含んでもよく、VXLAN flagsは、第2のパケットが有効なVNIを搬送することを示すflagを含む。VXLAN flagsの長さは8ビットであり、5番目のビットが、パケットが有効なVNIを搬送することを示す。例えば、5番目のビットが1である場合、第2のパケットが有効なVNIを搬送していることを示す。VXLAN flagsは、宛先アドレスフィールドで搬送されてもよい。
図3cに示すように、宛先アドレスフィールドは、宛先アドレス、VXLAN flags、およびVNIを含む。
【0084】
IPv6基本ヘッダの宛先アドレスフィールドで搬送されるVNIには、別の搬送方法がある。具体的には、宛先アドレスフィールドはVXLANヘッダを含み、VXLANヘッダはVNIを搬送する。すなわち、VXLANヘッダは、IPv6基本ヘッダの宛先アドレスフィールドにカプセル化される。VXLANヘッダの長さは64ビットである。宛先アドレスは、通常、宛先アドレスフィールド内の1番目のビットから64番目のビットを占有する。この場合、VXLANヘッダは、
図3dに示すように、宛先アドレスフィールド内の65番目のビットから128番目のビットに位置し得る。VXLANヘッダは、VXLAN flagsを含む。具体的には、
図3dに示すように、IPv6基本ヘッダ内の宛先アドレスフィールドは宛先アドレスおよびVXLANヘッダを含み、VXLANヘッダはVNIおよびVXLAN flagsを含む。
【0085】
宛先アドレスフィールドは、通常、パケットの宛先アドレスを搬送するために使用される。パケットを受信した後、宛先アドレスによって示される宛先ネットワークデバイスは、宛先アドレスフィールドから宛先アドレスを読み取り、宛先アドレスに基づいてパケットを転送する。この実施形態では、宛先アドレスフィールドは、宛先アドレスだけでなく、VNIも含む。VNIは、パケットを転送する宛先ネットワークデバイスを示す。宛先ネットワークデバイスがパケットを受信した後にVNIに基づいてパケットを転送できるようにするために、宛先アドレスフィールド内の宛先アドレスによって示されるデバイス(第2のネットワークデバイス)は、パケットを受信した後に宛先アドレスフィールド内で搬送されるVNIに基づいて第2のパケットを転送するように、事前に通知される必要がある。
【0086】
(2)IPv6ヘッダは、IPv6拡張ヘッダである。
【0087】
任意選択で、第1のパケットにIPv6ヘッダをカプセル化するとき、第1のネットワークデバイスは、第1のパケットにIPv6基本ヘッダおよびIPv6拡張ヘッダをカプセル化することができる。
【0088】
IPv6ヘッダがIPv6拡張ヘッダである場合、IPv6拡張ヘッダは、VNIを搬送するために使用され得る。IPv6拡張ヘッダは、ホップ・バイ・ホップ・オプション・ヘッダ(hop-by-hop option header、HBH)、宛先オプションヘッダ(destination options header、DOH)、ルーティングヘッダ(routing header、RH)、セグメントルーティングヘッダ(segment routing header、SRH)などを含んでもよい。DOHのフォーマットを
図4aに示す。DOHは、ネクストヘッダ(Next Header)フィールド、ヘッダ拡張長(Hdr Ext Len)フィールド、およびオプション(Options)フィールドを含む。
【0089】
一実施態様では、VNIは、IPv6拡張ヘッダのDOHで搬送される。DOHがVNIを搬送するために使用される場合、DOH内のオプションフィールドは、
図4bに示されるように、VNIを直接搬送するために使用されてもよい。あるいは、
図4cに示すように、DOH内のオプションフィールドは、VXLANヘッダを搬送するために使用されてもよく、VXLANヘッダはVNIを搬送する。IPv6拡張ヘッダがVXLAN flagsをさらに含む場合、DOH内のオプションフィールドは、
図4dに示すように、VNIおよびVXLAN flagsを直接搬送するために使用されてもよい。あるいは、DOH内のオプションフィールドは、VXLANヘッダを搬送するために使用されてもよく、VXLANヘッダは、VNIおよびVXLAN flagsを搬送する。具体的には、VXLANヘッダは、オプションフィールドへ完全にコピーされてもよい。
【0090】
任意選択で、DOH内の「Options」は、タイプ-長さ-値(type-length-value、TLV)を含み、TLV内のタイプフィールドは、DOHがVNIを搬送することを示す。例えば、タイプフィールドTが1であるとき、それはDOHがVNIを搬送することを示すと指定されてもよい。第2のパケットを受信した後、別のネットワークデバイスは、T=1に基づいて、第2のパケットがVNIを含むと判定することができる。
【0091】
任意選択で、DOH内の「Options」はTLVを含み、TLVのタイプは、DOHがVXLANヘッダを搬送することを示す。TLVは、拡張VXLAN TLVであってもよく、VXLAN TLVは、VNオプションTLVとも呼ばれ得る。
図5aに示すように、VN(VXLAN)Option TLVは、オプションタイプ(Option Type)フィールドと、オプションデータ長(Option Data Length)フィールドと、オプションデータ(Option Data)フィールドとを含む。
【0092】
任意選択で、オプションタイプフィールドおよびオプションデータ長フィールドは各々8ビットを占有し、オプションデータフィールドは64ビットを占有する。
【0093】
オプションタイプフィールドは、TLVがVN optionであることを識別し、具体的には、VN optionがVNIを搬送することを識別し、またはVN optionがVXLANヘッダを搬送することを識別する。
【0094】
任意選択で、VNIは、
図5bに示されるように、オプションデータフィールドで搬送されてもよい。
【0095】
任意選択で、VXLANヘッダは、
図5cに示すように、オプションデータフィールドで搬送されてもよい。
【0096】
いくつかの適用シナリオでは、パケットは、予め指定された経路の一部または全部に基づいて転送され得る。セグメントルーティング(segment routing、SR)プロトコルは、送信元ルーティングプロトコルである。送信元ノードは、アプリケーションパケットの経路を指定し、その経路を順序付けられたセグメント(Segment)リストに変換し、そのリストをヘッダにカプセル化する。SRがIPv6データプレーンに展開される場合、SRはSRv6と呼ばれる。SRv6適用中、転送経路情報は、SID listを含むSRHで搬送される。SID listは、複数のセグメントをそれぞれ示す、複数のセグメントリスト(segment list)が順に配列されたものである。各セグメントは、パケット処理のための命令または命令セットである。SRHはパケットにカプセル化され、SRH内のセグメント識別子リストはSRネットワークによってパケットを処理するプロセスを搬送する。例えば、
図1aに示す適用シナリオでは、指定された経路はスイッチ1およびスイッチ2を含む。この場合、スイッチ1に対応するSIDおよびスイッチ2に対応するSIDが、SRHで搬送されるSID listに追加される。
【0097】
別の実施態様では、VNIがSRHで搬送される場合、VNIはSRHのSID listで搬送されてもよい。SRHのフォーマットを
図6aに示す。SRHは、ネクストヘッダ(Next Header)フィールド、ヘッダ拡張長(Header Ext Len)フィールド、ルーティングタイプ(Routing Type)フィールド、残りセグメント(Segment Left)フィールド、最終エントリ(Last Entry)フィールド、フラグ(Flags)フィールド、タグ(Tag)フィールド、および、SID listを含む。SID listは、segment list [0]~segment list [n-1]の順に並べられた複数の要素を含む。各要素はSIDであり、各要素の長さは128ビットである。
図6aにおいて、segment list [0]は最初に実行されるセグメントに対応し、segment list [n-1]は最後に実行されるセグメントに対応する。
【0098】
SIDのフォーマットを
図6bに示す。SIDは、ロケータ(locator)フィールドおよび機能(function)フィールドを含んでもよい。SIDは、functionフィールドの後にパラメータ(argument)フィールドおよび/またはパディング(padding)フィールドをさらに含んでもよい。locatorフィールドの内容は、略してlocatorとも呼ばれ、ネットワークトポロジ内のネットワークノードに割り当てられた識別子であり、ネットワークトポロジ内のネットワークノードを識別する。functionフィールドの内容は、略してfunctionとも呼ばれ、命令またはパケット処理のための命令セットを示し、コンピュータ命令の操作コードと等価である。functionによって示される命令または命令セットがネットワークノード上で実行されると、ネットワークノードは、対応する転送挙動(behavior)を実行することが可能になる。argumentフィールドの内容は、略してargumentとも呼ばれ、functionによって示される命令または命令セットの実行に使用されるパラメータを示す。
【0099】
SID listにおいてVNIが搬送されるケースは、以下のケースを含むことができる。
【0100】
ケース1:
VNIは、SID listにおける第2のネットワークデバイスに対応するSIDで搬送される。任意選択で、VNIは、第2のネットワークデバイスのSIDの機能(function)フィールドで搬送される。第2のネットワークデバイスのSIDがVNIを搬送するために使用される場合、第2のネットワークデバイスのSIDはVNIを直接搬送するために使用されてもよい。
図6cに示すように、SID listはSID 1からSID nを含み、第2のネットワークデバイスのSIDはSID nである。SID nは、locatorおよびVNIを含む。locatorは、第2のネットワークデバイスのアドレスまたはプレフィックスである。例えば、VNIは、第2のネットワークデバイスのSIDにおける64番目のビットから128番目のビットを占有してもよく、または、第2のネットワークデバイスのSIDにおける80番目のビットから128番目のビットを占有してもよい。SID nがパラメータ(argument)をさらに含む場合、SID nは、locator、VNIおよびargumentを含む。この場合、VNIは、第2のネットワークデバイスのSIDにおける64番目のビットから87番目のビットを占有してもよい。
【0101】
あるいは、第2のネットワークデバイスのSIDはVXLANヘッダを搬送するために使用され、VXLANヘッダはVNIを含む。
図6dに示すように、第2のネットワークデバイスのSIDはSID nであり、SID nはlocatorおよびVXLANヘッダを含む。具体的には、VXLANヘッダは、第2のネットワークデバイスのSIDの64番目のビットから128番目のビットを占有することができる。第2のネットワークデバイスのSIDは、SIDで搬送されたVNIに基づいてパケットを転送することを第2のネットワークデバイスを示す。
【0102】
ケース2:
VNIは、第2のネットワークデバイス以外のネットワークデバイスのSIDで搬送される。例えば、SID list内の第2のネットワークデバイスのSIDがSID 3である場合、VNIは、SID list内のSID 4で搬送される。すなわち、VNIは、別のSIDで搬送される。この場合、別のSIDは、VNIを直接搬送するために使用されてもよい。搬送方法については、
図6cを参照されたい。あるいは、別のSIDがVXLANヘッダを搬送するために使用されてもよく、VXLANヘッダはVNIを含む。搬送方法については、
図6dを参照されたい。第2のネットワークデバイスのSIDは、第2のネットワークデバイスが別のSIDからVNIを読み取り、VNIに基づいてパケットを転送することを示す。
【0103】
この実施形態では、第2のネットワークデバイスはVNIに基づいてパケットを転送する必要があるので、第2のネットワークデバイスのSIDをアドバタイズするとき、第2のネットワークデバイスは、第2のネットワークデバイスのSIDのタイプがEND.VNであることを通知してもよい。SIDはSRv6 SIDである。SIDのlocator部分は、VXLANパケットに対応するVTEPアドレスまたはVTEPのSRv6 locatorを含み、SIDのfunction部分は、VNIまたはVXLANヘッダを含む。SIDに関連するbehaviorに対応する転送動作は、パケットが宛先VTEPノードに到達した後、SID内のVNIに基づいて対応するVXLANインスタンス転送テーブルを取得することと、パケットをカプセル化解除することと、ペイロード内のMACアドレスなどに基づいて転送テーブルを検索することと、パケットを転送することと、を含む。任意選択で、第2のネットワークデバイスのアドレスに対応するSIDは、END.VNタイプのSIDである。任意選択で、第2のネットワークデバイスのアドレスに対応するSIDは、第2のネットワークデバイスのSRv6 Locatorである。
【0104】
具体的実施時に、第1のネットワークデバイスとの内部ゲートウェイプロトコル(Interior Gateway Protocol、IGP)セッションまたはボーダー・ゲートウェイ・プロトコル(Border Gateway Protocol、BGP)セッションを確立した後に、第2のネットワークデバイスは、IGPまたはBGPを使用することにより、第2のネットワークデバイスのSID、およびSIDに対応するタイプを第1のネットワークデバイスにアドバタイズすることができる。第1のネットワークデバイスは、第2のネットワークデバイスのSIDおよびSIDに対応するタイプを記憶する。VXLANパケットを第2のネットワークデバイスに転送する必要がある場合、第1のネットワークデバイスは、第2のネットワークデバイスのSIDのタイプに基づいて、パケットに対応するVNIをIPv6ヘッダにカプセル化してもよい。SIDをアドバタイズするとき、第2のネットワークデバイスは、転送テーブルをローカルに確立し、転送テーブルは、照合項目および動作項目を含む。照合項目は、第2のネットワークデバイスのSIDを含む。動作項目は、第2のネットワークデバイスがパケットをカプセル化解除し、パケットで搬送されたVNIに基づいてパケットを転送することを示す。
【0105】
IPv6ヘッダがVXLAN flagsをさらに含む場合、VXLAN flagsは、第2のネットワークデバイスのSIDで搬送されてもよい。例えば、VXLAN flagsおよびVNIは、
図6eのSID nにカプセル化される。SID nがパラメータ(argument)をさらに含む場合、SID nは、locator、VXLAN flags、VNI、およびargumentを含む。
【0106】
上記の説明から、VNIを搬送するためにIPv6基本ヘッダを使用してもよいし、VNIを搬送するためにIPv6拡張ヘッダを使用してしてもよいことが分かる。いずれの方式でも、追加のUDPヘッダをカプセル化する必要はない。これにより、パケットカプセル化のためのデータ量が削減され、パケットカプセル化効率が向上する。
【0107】
加えて、IPv6ヘッダ内のフローラベルは、VXLANパケットの宛先ポート番号に対応してもよい。宛先ポート番号は、第2のパケットの転送プロセスにおける負荷分散処理を実行するだけでなく、第2のパケットがVXLANパケットを含むと判定するためにも使用されてもよい。例えば、フローラベルで搬送されるポート番号が4789である場合、ポート番号に基づいて、受信されたパケットがVXLANパケットを含むことを識別されてもよい。ポート番号は、予め設定された固定ポート番号であってもよいし、第1のパケットのペイロードに基づく動的計算によって取得されたポート番号であってもよい。任意選択で、第2のパケットのフローラベルを計算するための方法は、VXLANパケット内の負荷分散に使用されるUDP送信元ポートを計算するための方法と同じであり、VXLANパケットから取得されたポート番号値は、第2のパケットのフローラベル内で搬送されてもよい。
【0108】
in-situフロー情報テレメトリ(in-situ flow information telemetry、IFIT)機能を実装するために、IPv6ヘッダが第1のパケットにカプセル化されると、指定されたノードまたは宛先ノードの、ホップ・バイ・ホップ・ネットワークin-situフロー情報テレメトリ、もしくはネットワークin-situフロー情報テレメトリを実装するために、IFIT命令がIPv6ヘッダで搬送されてもよい。具体的には、IFIT命令は、IPv6拡張ヘッダで搬送され得る。
【0109】
S204:第1のネットワークデバイスは第2のネットワークデバイスへ第2のパケットを送信する。
【0110】
この実施形態では、IPv6ヘッダを第1のパケットにカプセル化することによって第2のパケットを取得した後、第1のネットワークデバイスは、第2のパケットを第2のネットワークデバイスに送信する。第2のネットワークデバイスは、VXLANネットワーク内のエンドノードであってもよい。例えば、第2のネットワークデバイスは
図1aのスイッチ2である。任意選択で、第2のパケットのIPv6ヘッダ内の宛先アドレスフィールドは、第2のネットワークデバイスのアドレスまたは第2のネットワークデバイスのSRv6 locatorを含む。例えば、
図1aでは、第2のパケットのIPv6ヘッダ内の宛先アドレスフィールドは、スイッチ2のアドレスまたはスイッチ2のSRv6 locatorを含む。
【0111】
S205:第2のネットワークデバイスは、第2のパケットを受信し、第2のパケットのIPv6ヘッダからVNIを取得する。
【0112】
上記の説明から、VNIはIPv6基本ヘッダまたはIPv6拡張ヘッダで搬送され得ることが分かる。VNIが異なるIPv6ヘッダで搬送される場合、第2のネットワークデバイスは、異なる方法でIPv6ヘッダからVNIを取得する。
【0113】
VNIがIPv6基本ヘッダの宛先アドレスフィールドで搬送される場合、第1のネットワークデバイスによって送信された第2のパケットを受信した後、第2のネットワークデバイスは、宛先アドレスフィールドが第2のネットワークデバイスのアドレスを含むかどうかを判定する。宛先アドレスフィールドが第2のネットワークデバイスのアドレスを含む場合、VNIは宛先アドレスフィールドから取得される。VNIが宛先アドレスフィールドで直接搬送される場合、第2のネットワークデバイスは、宛先アドレスフィールドを解析することによってVNIを取得してもよい。VNIがVXLANヘッダで搬送され、VXLANヘッダが宛先アドレスフィールドで搬送される場合、第2のネットワークデバイスは、VXLANヘッダを取得するために宛先アドレスフィールドを最初に解析し、VXLANヘッダからVNIを読み取る必要がある。
【0114】
第2のネットワークデバイスのアドレスは第2のパケットにカプセル化される必要があるので、第2のネットワークデバイスが第1のネットワークデバイスによって送信された第2のパケットを受信する前に、第2のネットワークデバイスは第2のネットワークデバイスのアドレスを第1のネットワークデバイスにアドバタイズする必要があることに留意されたい。第2のパケットを受信するときに宛先アドレスフィールドで搬送されたVNIに基づいてパケットを転送することを、第2のネットワークデバイスのアドレスは第2のネットワークデバイスに示す。第2のネットワークデバイスのアドレスを第1のネットワークデバイスにアドバタイズするとき、第2のネットワークデバイスは転送エントリをローカルに確立し、転送エントリは照合項目および動作項目を含んでもよい。照合項目は、第2のネットワークデバイスのアドレスを含む。動作項目は、照合項目を使用することによって照合が成功した後、宛先アドレスフィールドからVNIが取得され、第2のパケットがカプセル化解除され、カプセル化解除されたパケットがVNIに基づいて転送されることを示す。
【0115】
VNIがIPv6拡張ヘッダのDOHで搬送される場合、第1のネットワークデバイスによって送信された第2のパケットを受信した後で、第2のネットワークデバイスは、宛先アドレスフィールドが第2のネットワークデバイスのアドレスを含むかどうか判定する。宛先アドレスフィールドが第2のネットワークデバイスのアドレスを含む場合、DOH内のTLVのタイプフィールドが、VNIが搬送されることを示すかどうかが判定される。TLVのタイプフィールドが、VNIが搬送されることを示す場合、VNIはDOHから取得される。VNIがDOHで直接搬送される場合、第2のネットワークデバイスは、DOHを解析することによってVNIを取得してもよい。VNIがVXLANヘッダで搬送され、VXLANヘッダがDOHで搬送される場合、第2のネットワークデバイスは、VXLANヘッダを取得するためにDOHを最初に解析し、VXLANヘッダからVNIを読み取る必要がある。
【0116】
VNIが、IPv6拡張ヘッダ内のSRHのSID listにおける第2のネットワークデバイスに対応するSIDで搬送される場合、第2のパケットを受信した後で、第2のネットワークデバイスは、第2のパケットの宛先アドレスフィールドが第2のネットワークデバイスのSIDを含むかどうかを判定する。第2のパケットの宛先アドレスフィールドが第2のネットワークデバイスのSIDを含む場合、第2のネットワークデバイスは、第2のパケットで搬送された第2のネットワークデバイスのSIDからVNIを取得する。
【0117】
VNIが、IPv6拡張ヘッダ内のSRHのSID listにおける別の対応するSID(第2のネットワークデバイス以外のネットワークデバイスのSID)で搬送される場合、第2のネットワークデバイスは、第2のパケットを受信した後に、第2のパケットの宛先アドレスフィールドが第2のネットワークデバイスのSIDを含むかどうかを判定する。第2のパケットの宛先アドレスフィールドが第2のネットワークデバイスのSIDを含む場合、第2のネットワークデバイスは、第2のパケットで搬送された別のSIDからVNIを取得する。例えば、SRH内のフィールドまたは新しいフィールドが使用されて、指定されたSIDからVNIを取得するために第2のネットワークデバイスを示してもよく、または、VNIが第2のネットワークデバイスのSIDに隣接する次のSIDにおいて搬送されることが事前定義される。この場合、第2のパケットを受信した後、第2のネットワークデバイスは、SID listから次のSIDを読み出し、次のSIDからVNIを取得する。
【0118】
第2のネットワークデバイスのSIDは第2のパケットにカプセル化される必要があるので、第2のネットワークデバイスが第1のネットワークデバイスによって送信された第2のパケットを受信する前に、第2のネットワークデバイスは第2のネットワークデバイスのSIDを第1のネットワークデバイスにアドバタイズする必要があることに留意されたい。加えて、第2のネットワークデバイスのSIDのタイプがさらにアドバタイズされてもよい。第2のネットワークデバイスのSIDに対応するタイプは、END.VNとして定義されてもよく、第2のネットワークデバイスを示して、対応するパケットを受信した後で、パケットからVNIを取得し、パケットをカプセル化解除し、VNIに基づいて転送テーブルを探索し、転送テーブルに基づいてカプセル化解除されたパケットを転送する。第2のネットワークデバイスのSIDは、第2のネットワークデバイスのアドレス、または第2のネットワークデバイスのアドレスを圧縮することによって取得された対応するアドレスであってもよい。
【0119】
第2のネットワークデバイスのSIDを第1のネットワークデバイスにアドバタイズするときに、第2のネットワークデバイスは、転送エントリをローカルにさらに確立してもよい。転送エントリは、照合項目および動作項目を含む。照合項目は、第2のネットワークデバイスのSIDを含む。動作項目は、照合が成功した場合に実行する必要がある動作を示す。例えば、動作項目は、照合が成功した場合に第2のパケットをカプセル化解除し、VNIに基づいてカプセル化解除されたパケットを転送することを示す。
【0120】
S206:第2のネットワークデバイスは、第1のパケットを取得するために第2のパケットをカプセル化解除する。
【0121】
この実施形態では、VNIを取得した後、カプセル化されたIPv6ヘッダ内の情報に基づいて、第2のネットワークデバイスがエンドノードであると判定した場合、第2のネットワークデバイスは、第1のパケットを取得するために、第2のパケットをカプセル化解除し、カプセル化されたIPv6ヘッダを除去する。例えば、第2のネットワークデバイスが、第2のパケットのIPv6ヘッダ内の宛先アドレスフィールドが第2のネットワークデバイスのSIDを含むと判定した場合、第2のネットワークデバイスは、第1のパケットを取得するために、転送エントリ内の動作項目に基づいて第2のパケットをカプセル化解除する。パケットをカプセル化解除することは、第1のパケットを取得するために第2のパケットにカプセル化されたIPv6基本ヘッダを削除すること、または第1のパケットを取得するために第2のパケットにカプセル化されたIPv6基本ヘッダおよびIPv6拡張ヘッダを削除すること、を含む。
【0122】
S205およびS206の実行順序は、本実施形態では限定されない。S206はS205の前に実行されてもよく、S205はS206の前に実行されてもよく、またはS205とS206とは同時に実行されてもよい。
【0123】
S207:第2のネットワークデバイスは、VNIに基づいて第1のパケットを転送する。
【0124】
第1のパケットを取得した後、第2のネットワークデバイスは、VNIに基づいて転送経路を判定し、転送経路に基づいて第1のパケットを転送する。具体的には、第2のネットワークデバイスは、VNIに基づいて対応するVXLANインスタンス転送テーブルを取得し、第1のパケット内の宛先アドレスに基づいて転送エントリについてVXLANインスタンス転送テーブルを検索し、転送エントリに基づいて第1のパケットを転送する。第1のパケットがレイヤ2パケットであるとき、対応する宛先アドレスはMACアドレスであり、取得された転送テーブルはMACテーブルであることに留意されたい。第1のパケットがレイヤ3パケットである場合、対応する宛先アドレスはIPアドレスであり、取得された転送テーブルはルーティングテーブルである。
【0125】
理解を容易にするために、
図6fに示す適用シナリオの概略図を参照されたい。適用シナリオでは、送信元サーバ、宛先サーバ、VTEP 1、VTEP 2、および通過デバイスRRを含む例が説明に使用される。送信元サーバのIPv4アドレスは10.1.1.1であり、MACアドレスは1-1-1である。宛先サーバのIPv4アドレスは10.1.1.2であり、MACアドレスは2-2-2である。VTEP 1のIPv6アドレスは10::1であり、MACアドレスはAA-1-1である。VTEP 2のIPアドレスは10::2であり、MACアドレスはCC-1-1である。通過デバイスRRのMACアドレスはBB-1-1である。VTEP 1とVTEP 2との間にはVXLANトンネルが確立される。VTEP 1およびVTEP 2に対応するVNIは1001である。
図6fでは、説明のための例としてレイヤ2サービスパケットの転送が使用される。具体的には、送信元サーバによって送信されたパケット1を受信した後、VTEP 1は、VTEP 1と送信元サーバとの間に接続されたポートに関する情報に基づいて、送信元サーバに対応するテナント識別子VNI 1001を判定し、VNIをIPv6基本ヘッダの宛先アドレスフィールドにカプセル化する。宛先アドレスフィールドは、トンネルエンドポイントVTEP 2のアドレス10::2をさらに含む。送信元アドレスフィールドは、トンネルエンドポイントVTEP 1のアドレス10::1を含む。加えて、外部MACヘッダがカプセル化される。MACヘッダは、送信元MACアドレスAA-1-1および宛先MACアドレスBB-1-1を含む。VTEP 1は、カプセル化後のパケット2を取得し、パケット2を通過デバイスRRに送信する。パケット2を受信した後、通過デバイスRRは、レイヤ2転送テーブルに基づいてネクスト・ホップ・ネットワーク・デバイスのMACアドレスを判定し、外部MACヘッダ内の送信元MACおよび宛先MACを更新し、パケット3を取得するために、送信元MACをBB-1-1に更新し、宛先MACをCC-1-1に更新し、パケット3をVTEP 2に転送する。VTEP 2は、宛先アドレス10::2に基づいて、VTEP 2がトンネル・エンドポイント・ノードであることを発見する。この場合、VTEP 2は、パケット3のIPv6基本ヘッダ内の宛先アドレスフィールドからVNI:1001を取得し、VNIに基づいて対応する転送テーブルを検索し、パケット4を取得するためにパケット3内のIPv6基本ヘッダをカプセル化解除して、転送テーブルに基づいてパケット4を宛先サーバに転送する。
【0126】
前述の方法の実施形態に基づいて、本出願の一実施形態は、VXLANパケット伝送のためのネットワークデバイスをさらに提供する。以下、添付図面を参照して説明する。
【0127】
図7は、前述の方法実施形態におけるネットワークデバイスの可能な構造の概略図である。ネットワークデバイス700は、
図2に示す実施形態における第1のネットワークデバイスの機能を実装してもよい。あるいは、ネットワークデバイス700は、
図1aに示す実施形態のスイッチ1、および
図6に示す実施形態のVTEP 1の機能を実装してもよい。
図7を参照されたい。ネットワークデバイス700は、取得ユニット701と、処理ユニット702と、送信ユニット703とを含む。これらのユニットは、前述の方法例における第1のネットワークデバイスの対応する機能を実行してもよい。取得ユニット701は、
図2のS201を実行する際にネットワークデバイス700をサポートするように構成されている。処理ユニット702は、
図2のS202およびS203を実行する際にネットワークデバイス700をサポートするように構成されている。送信ユニット703は、
図2のS204を実行する際、および/または本明細書に記載された技術において第1のネットワークデバイスによって実行される別のプロセスを実行する際に、ネットワークデバイス700をサポートするように構成されている。例えば、取得ユニット701は、前述の方法の実施形態において、第1のネットワークデバイスによって第1のパケットを取得する操作を実行するように構成されている。処理ユニット702は、前述の方法の実施形態において第1のネットワークデバイスによって実行される様々な処理操作を実行するように構成されている。送信ユニット703は、前述の方法の実施形態において第1のネットワークデバイスによってパケットを送信する操作を実行するように構成されている。例えば、処理ユニット702は、第1のパケットに基づいてVNIを取得し、第2のパケットを取得するために第1のパケットにIPv6ヘッダをカプセル化するように構成されている。送信ユニット703は、第2のネットワークデバイスへ第2のパケットを送信するように構成されている。具体的な実行プロセスについては、
図2または
図6に示す実施形態の対応するステップの詳細な説明を参照されたい。ここでは詳細を繰り返さない。
【0128】
任意選択で、処理ユニット702は、第1のパケットを受信するためのインターフェースに基づいてVNIを取得するように特に構成されている。VNIは、第1のパケットを受信するためのインターフェースに対応する。
【0129】
なお、本出願のこの実施形態において、ユニット分割は一例であり、単なる論理的な機能分割であることに留意されたい。実際の実施中には、別の分割方法が使用されてもよい。本出願のこの実施形態における機能ユニットは、1つの処理ユニットに統合されてもよく、または、ユニットの各々は物理的に単独で存在してもよく、または2つ以上のユニットは1つのユニットに統合されてもよい。例えば、前述の実施形態では、処理ユニットおよび送信ユニットは、同じユニットであってもよいし、または異なるユニットであってもよい。統合ユニットは、ハードウェアの形態で実装されてもよく、またはソフトウェア機能ユニットの形態で実装されてもよい。
【0130】
図8は、前述の方法実施形態におけるネットワークデバイスの可能な構造の概略図である。ネットワークデバイス800は、
図2に示す実施形態における第2のネットワークデバイスの機能を実装してもよい。あるいは、ネットワークデバイス800は、
図1aに示す実施形態におけるスイッチ2および
図6に示す実施形態におけるVTEP 2の機能を実装してもよい。
図8を参照されたい。ネットワークデバイス800は、受信ユニット801、処理ユニット802、および送信ユニット803を含む。これらのユニットは、前述の方法例における第2のネットワークデバイスの対応する機能を実行してもよい。受信ユニット801は、
図2のS205を実行する際にネットワークデバイス800をサポートするように構成されている。処理ユニット802は、
図2のS205およびS206を実行する際にネットワークデバイス800をサポートするように構成されている。送信ユニット803は、
図2のS207を実行する際、および/または本明細書に記載された技術において第2のネットワークデバイスによって実行される別のプロセスを実行する際に、ネットワークデバイス800をサポートするように構成されている。例えば、受信ユニット801は、前述の方法の実施形態において、第2のネットワークデバイスによって第2のパケットを受信する操作を実行するように構成されている。処理ユニット802は、前述の方法の実施形態において第2のネットワークデバイスによって実行される様々な処理操作を実行するように構成されている。送信ユニット803は、前述の方法の実施形態において、第2のネットワークデバイスによって第1のパケットを転送する操作を実行するように構成されている。例えば、処理ユニット802は、第2のパケットのIPv6ヘッダからVNIを取得し、第1のパケットを取得するために第2のパケットをカプセル化解除するように構成されている。送信ユニット803は、第1のパケットを転送するように構成されている。具体的な実行プロセスについては、
図2または
図6に示す実施形態の対応するステップの詳細な説明を参照されたい。ここでは詳細を繰り返さない。
【0131】
任意選択で、処理ユニット802は、宛先アドレスフィールドが第2のネットワークデバイスのアドレスを含むと判定し、宛先アドレスフィールドが第2のネットワークデバイスのアドレスを含むと判定したことに応答して、宛先アドレスフィールドからVNIを取得するように、特に構成されている。
【0132】
任意選択で、処理ユニット802は、第2のパケットの宛先アドレスフィールドが第2のネットワークデバイスのSIDを含むと判定し、第2のパケットの宛先アドレスフィールドが第2のネットワークデバイスのSIDを含むと判定したことに応答して、第2のネットワークデバイスのSIDからVNIを取得するように、特に構成されている。
【0133】
任意選択で、送信ユニット803は、受信ユニット801が第1のネットワークデバイスから第2のパケットを受信する前に、第2のネットワークデバイスのSIDを第1のネットワークデバイスにアドバタイズするように、さらに構成されている。
【0134】
任意選択で、処理ユニット802は、転送エントリを確立するようにさらに構成され、ここで、転送エントリは、照合項目および動作項目を含み、照合項目は、第2のネットワークデバイスのSIDを含み、動作項目に基づいて第2のパケットをカプセル化解除するように構成され、VNIに基づいて第1のパケットを転送するように構成されている。
【0135】
なお、本出願のこの実施形態において、ユニット分割は一例であり、単なる論理的な機能分割であることに留意されたい。実際の実施中には、別の分割方法が使用されてもよい。本出願のこの実施形態における機能ユニットは、1つの処理ユニットに統合されてもよく、または、ユニットの各々は物理的に単独で存在してもよく、または2つ以上のユニットは1つのユニットに統合されてもよい。例えば、前述の実施形態では、処理ユニットおよび送信ユニットは、同じユニットであってもよいし、または異なるユニットであってもよい。統合ユニットは、ハードウェアの形態で実装されてもよく、またはソフトウェア機能ユニットの形態で実装されてもよい。
【0136】
図9を参照されたい。本出願の一実施形態は、VXLANパケット伝送のためのネットワークシステム900を提供する。システム900は、前述の方法の実施形態におけるVXLANパケット伝送方法を実施するように構成されている。システム900は、ネットワークデバイス901およびネットワークデバイス902を含む。ネットワークデバイス901は、
図2に示す実施形態における第1のネットワークデバイスの機能または
図7のネットワークデバイス700の機能を実装してもよい。ネットワークデバイス902は、
図2に示す実施形態における第2のネットワークデバイスの機能または
図8のネットワークデバイス800の機能を実装してもよい。ネットワークデバイス901は、
図1aに示す実施形態におけるスイッチ1の機能または
図6に示す実施形態におけるVTEP 1の機能をさらに実装してもよい。ネットワークデバイス902は、
図1aに示す実施形態におけるスイッチ2の機能または
図6に示す実施形態におけるVTEP 2の機能をさらに実装してもよい。具体的な実行プロセスについては、
図2または
図6に示す実施形態の対応するステップの詳細な説明を参照されたい。ここでは詳細を繰り返さない。
【0137】
図10は、本出願の一実施形態によるネットワークデバイスの構造の概略図である。ネットワークデバイスは、例えば、前述の方法の実施形態における第1のネットワークデバイスまたは第2のネットワークデバイスであってもよい。あるいは、
図7のネットワークデバイス700および
図8のネットワークデバイス800は、
図10に示すデバイスを使用して実装されてもよい。
【0138】
図10を参照されたい。ネットワークデバイス1000は、プロセッサ1010、通信インターフェース1020、およびメモリ1030を含む。ネットワークデバイス1000には、1つまたは複数のプロセッサ1010があってもよい。
図10では、1つのプロセッサが例として使用されている。本出願のこの実施形態では、プロセッサ1010、通信インターフェース1020、およびメモリ1030は、バスシステムを使用することによって、または他の方式で接続されてもよい。
図10では、例えば、バスシステム1040が接続に使用される。
【0139】
プロセッサ1010は、中央処理ユニット(central processing unit、CPU)、ネットワークプロセッサ(network processor、NP)、またはCPUとNPとの組み合わせであってもよい。プロセッサ1010は、ハードウェアチップをさらに含んでもよい。ハードウェアチップは、特定用途向け集積回路(application-specific integrated circuit、ASIC)、プログラマブル論理デバイス(programmable logic device、PLD)、またはこれらの組み合わせであってもよい。PLDは、複合プログラマブル論理デバイス(complex programmable logic device、CPLD)、フィールドプログラマブル論理ゲートアレイ(field-programmable gate array、FPGA)、汎用アレイ論理(generic array logic、GAL)、またはそれらの任意の組み合わせであり得る。
【0140】
ネットワークデバイスが第1のネットワークデバイスである場合、プロセッサ1010は、前述の方法実施形態における関連機能、例えば、第1のパケットを受信すること、第1のパケットに対応するVNIを取得すること、および第2のパケットを取得するために第1のパケットにIPv6ヘッダをカプセル化することを実行してもよい。
【0141】
通信インターフェース1020は、パケットを受信および送信するように構成されている。具体的には、通信インターフェース1020は、受信インターフェースおよび送信インターフェースを含んでもよい。受信インターフェースは、パケットを受信するように構成され得、送信インターフェースは、パケットを送信するように構成されてもよい。1つまたは複数の通信インターフェース1020があってもよい。
【0142】
メモリ1030は、揮発性メモリ(volatile memory)、例えばランダムアクセスメモリ(random access memory、RAM)を含んでもよい。メモリ1030は、不揮発性メモリ(non-volatile memory)、例えば、フラッシュメモリ(flash memory)、ハードディスクドライブ(hard disk drive、HDD)、またはソリッドステートドライブ(solid-state drive、SSD)をさらに含んでもよい。メモリ1030は、前述のタイプのメモリの組み合わせをさらに含んでもよい。メモリ1030は、例えば、上述のユーザ関連情報を記憶してもよい。
【0143】
任意選択的に、メモリ1030は、オペレーティングシステム、プログラム、実行可能モジュール、またはデータ構造、これらのサブセット、またはこれらの拡張セットを記憶する。プログラムは、種々の操作を実装するための種々の操作命令を含み得る。オペレーティングシステムは、様々なシステムプログラムを含んでもよく、様々な基本サービスを実装し、ハードウェアベースのタスクを処理するように構成されている。プロセッサ1010は、本出願の実施形態で提供される方法を実施するために、メモリ1030内のプログラムを読み取ってもよい。
【0144】
メモリ1030は、ネットワークデバイス1000内の記憶デバイスであってもよく、またはネットワークデバイス1000から独立した記憶装置であってもよい。
【0145】
バスシステム1040は、周辺機器相互接続(peripheral component interconnect、PCI)バス、拡張業界標準アーキテクチャ(extended industry standard architecture、EISA)バスなどであってもよい。バスシステム1040は、アドレスバス、データバス、制御バスなどに分類されてもよい。表現を容易にするために、
図10ではバスを表すために1本の太線のみが使用されているが、これは、1つのバスしかないことまたは1つのタイプのバスしかないことを意味しない。
【0146】
図11は、本出願の一実施形態による別のネットワークデバイス1100の構造の概略図である。ネットワークデバイス1100は、前述の方法の実施形態において第1のネットワークデバイスまたは第2のネットワークデバイスとして構成されてもよい。あるいは、
図7のネットワークデバイス700および
図8のネットワークデバイス800は、
図11に示すデバイスを使用して実装されてもよい。
【0147】
ネットワークデバイス1100は、主制御基板1110およびインターフェース基板1130を含む。
【0148】
主制御基板1110は、メイン処理ユニット(main processing unit、MPU)またはルートプロセッサカード(route processor card)とも呼ばれる。主制御基板1110は、ルーティング計算、デバイス管理、デバイスメンテナンス、およびプロトコル処理の機能を含む、ネットワークデバイス1100内の構成要素を制御および管理する。主制御基板1110は、中央処理ユニット1111およびメモリ1112を含む。
【0149】
インターフェース基板1130は、ライン処理ユニット(line processing unit、LPU)、ラインカード(line card)、またはサービス基板とも呼ばれる。インターフェース基板1130は、様々なサービスインターフェースを提供し、データパケットを転送するように構成されている。サービスインターフェースは、イーサネットインターフェース、POS(Packet over SONET/SDH)インターフェースなどを含むが、これらに限定されない。イーサネットインターフェースは、例えばフレキシブル・イーサネット・クライアント・インターフェース(flexible Ethernet clients、FlexE clients)である。インターフェース基板1130は、中央処理ユニット1131、ネットワークプロセッサ1132、転送エントリメモリ1134、および物理インターフェースカード(physical interface card、PIC)1133を含む。
【0150】
インターフェース基板1130上の中央処理ユニット1131は、インターフェース基板1130を制御および管理し、主制御基板1110上の中央処理ユニット1111と通信するように構成されている。
【0151】
ネットワークプロセッサ1132は、パケット転送処理を実施するように構成されている。ネットワークプロセッサ1132の形態は、転送チップであってもよい。具体的には、アップリンクパケットの処理は、パケットのインバウンドインターフェースの処理することと、転送テーブルの検索することと、を含む。ダウンリンクパケットを処理することは、転送テーブル検索することなどを含む。
【0152】
物理インターフェースカード1133は、物理層相互接続機能を実装するように構成されている。元のトラフィックは、物理インターフェースカード1133を介してインターフェース基板1130に入り、処理されたパケットは、物理インターフェースカード1133を介して送出される。物理インターフェースカード1133は、少なくとも1つの物理インターフェースを含み、物理インターフェースは、物理ポートとも呼ばれる。物理インターフェースカード1133は、サブカードとも称され、インターフェース基板1130に取り付けられてもよく、光/電気信号をパケットに変換し、パケットに対して有効性チェックを実行し、パケットを処理のためにネットワークプロセッサ1132に転送する役割を担う。いくつかの実施形態では、インターフェース基板1103の中央処理ユニット1131はまた、例えば汎用CPUに基づいてソフトウェア転送を実施する、ネットワークプロセッサ1132の機能を実行してもよい。したがって、ネットワークプロセッサ1132は物理インターフェースカード1133において必要とされない。
【0153】
任意選択で、ネットワークデバイス1100は複数のインターフェース基板を含む。例えば、ネットワークデバイス1100は、インターフェース基板1140をさらに含む。インターフェース基板1140は、中央処理ユニット1141、ネットワークプロセッサ1142、転送エントリメモリ1144、および物理インターフェースカード1143を含む。
【0154】
任意選択で、ネットワークデバイス1100は、スイッチング基板1120をさらに含む。スイッチング基板1120は、スイッチファブリックユニット(switch fabric unit、SFU)と呼ばれることもある。ネットワークデバイスが複数のインターフェース基板1130を有する場合、スイッチング基板1120は、インターフェース基板間のデータ交換を完了するように構成されている。例えば、インターフェース基板1130は、スイッチング基板1120を介してインターフェース基板1140と通信してもよい。
【0155】
主制御基板1110は、インターフェース基板1130に結合される。例えば、主制御基板1110、インターフェース基板1130、インターフェース基板1140、およびスイッチング基板1120は、システムバスを介してシステムバックプレーンに接続され、通信を実現する。可能な実施態様では、主制御基板1110とインターフェース基板1130との間にプロセス間通信(inter-process communication、IPC)チャネルが確立され、主制御基板1110は、IPCチャネルを介してインターフェース基板1130と通信する。
【0156】
論理的には、ネットワークデバイス1100は、制御プレーンおよび転送プレーンを含む。制御プレーンは、主制御基板1110および中央処理ユニット1131を含む。転送プレーンは、転送を実行する構成要素、例えば、転送エントリメモリ1134、物理インターフェースカード1133、およびネットワークプロセッサ1132を含む。制御プレーンは、ルータの機能などの機能を実行して、転送テーブルを生成し、シグナリングパケットおよびプロトコルパケットを処理し、デバイスのステータスを構成し維持する。制御プレーンは、生成された転送テーブルを転送プレーンに配信する。転送プレーンにおいて、ネットワークプロセッサ1132は、物理インターフェースカード1133によって受信されたパケットを転送するために、制御プレーンによって配信された転送テーブルを検索する。制御プレーンによって配信される転送テーブルは、転送エントリメモリ1134に記憶されてもよい。一部の実施形態では、制御プレーンと転送プレーンとは完全に分離されてもよく、同じデバイス上にはない。
【0157】
ネットワークデバイス700内の処理ユニット702は、ネットワークデバイス1100内の中央処理ユニット1111または中央処理ユニット1131と同等であり得ることを理解されたい。
【0158】
インターフェース基板1140上で実行される操作は、本出願のこの実施形態においてインターフェース基板1130上で実行される操作と一致することを理解されたい。簡潔にするため、詳細は記載されない。この実施形態におけるネットワークデバイス1100は、前述の方法の実施形態における第1のネットワークデバイスまたは第2のネットワークデバイスに対応し得ることが理解されるべきである。ネットワークデバイス1100内の主制御基板1110、インターフェース基板1130、および/またはインターフェース基板1140は、前述の方法の実施形態において第1のネットワークデバイスもしくは第2のネットワークデバイスによって実施される機能および/または様々なステップを実施してもよい。簡潔にするため、ここでは詳細を再度説明しない。
【0159】
1つまたは複数の主制御基板があってもよいことを理解されたい。複数の主制御基板が存在する場合、主制御基板は、アクティブ主制御基板とスタンバイ主制御基板とを含んでもよい。1つまたは複数のインターフェース基板があってもよく、より強いデータ処理能力を有するネットワークデバイスは、より多くのインターフェース基板を提供する。インターフェース基板上には1つまたは複数の物理インターフェースカードがあってよい。スイッチング基板がなくてもよいし、1つまたは複数のスイッチング基板があってもよい。複数のスイッチング基板が存在する場合、負荷分散および冗長バックアップが一緒に実装され得る。集中型転送アーキテクチャでは、ネットワークデバイスはスイッチング基板を必要としない場合があり、インターフェース基板はシステム全体のサービスデータを処理する機能を提供する。分散型転送アーキテクチャでは、ネットワークデバイスは少なくとも1つのスイッチング基板を有することができ、大容量データ交換および処理能力を提供するために、複数のインターフェース基板間のデータ交換はスイッチング基板を使用して実施される。したがって、分散型アーキテクチャにおけるネットワークデバイスのデータアクセスおよび処理能力は、集中型アーキテクチャにおけるデバイスのデータアクセスおよび処理能力よりも優れている。任意選択で、ネットワークデバイスは代替的に1つのカードのみを含んでもよい。すなわち、スイッチング基板は存在しない。インターフェース基板および主制御基板の機能は、カード上に統合される。この場合、インターフェース基板上の中央処理ユニットおよび主制御基板上の中央処理ユニットは、2つの中央処理ユニットを組み合わせた機能を実行するために、カード上の1つの中央処理ユニットに組み合わされてもよい。この形態のデバイス(例えば、ローエンドスイッチまたはルータなどのネットワークデバイス)は、弱いデータ交換および処理能力を有する。使用される特定のアーキテクチャは、特定のネットワーキング配置シナリオに依存する。
【0160】
いくつかの可能な実施形態では、第1のネットワークデバイスまたは第2のネットワークデバイスは、仮想化デバイスとして実装されてもよい。例えば、仮想化デバイスは、パケット送信機能を有するプログラムが実行される仮想マシン(virtual machine、VM)であってもよく、仮想マシンは、ハードウェア装置(例えば、物理サーバ)上に展開される。仮想マシンは、完全なハードウェアシステム機能を有し、完全に分離された環境で動作する、ソフトウェアによってシミュレートされた完全なコンピュータシステムである。仮想マシンは、第1のネットワークデバイスまたは第2のネットワークデバイスとして構成されてもよい。例えば、第1のネットワークデバイスまたは第2のネットワークデバイスは、ネットワーク機能仮想化(network functions virtualization、NFV)技術と組み合わせた汎用物理サーバに基づいて実装されてもよい。第1のネットワークデバイスまたは第2のネットワークデバイスは、仮想ホスト、仮想ルータ、または仮想スイッチである。当業者は、本出願を読むことによって、NFV技術と組み合わせて汎用物理サーバ上で前述の機能を有する第1のネットワークデバイスまたは第2のネットワークデバイスを仮想化することができる。ここでは詳細を繰り返さない。
【0161】
前述の製品形態のネットワークデバイスは、前述の方法の実施形態において第1のネットワークデバイスまたは第2のネットワークデバイスによって実施される任意の機能を別々に有することを理解されたい。ここでは詳細は説明されない。
【0162】
本出願の一実施形態は、プロセッサおよびインターフェース回路を含む、チップをさらに提供する。インターフェース回路は、命令を受信し、命令をプロセッサに伝送するように構成されている。プロセッサは、前述のVXLANパケット伝送方法を実行するように構成されてもよい。プロセッサは、メモリに結合される。メモリは、プログラムまたは命令を記憶するように構成されている。プログラムまたは命令がプロセッサによって実行されると、チップシステムは、前述の方法実施形態のいずれか1つにおける方法を実装することを可能にされる。
【0163】
任意選択で、チップシステム内に1つまたは複数のプロセッサがあってもよい。プロセッサは、ハードウェアを使用して実施されてもよいし、またはソフトウェアを使用して実施されてもよい。ハードウェアを使用して実装される場合、プロセッサは、論理回路、集積回路などであってもよい。ソフトウェアを使用して実装される場合、プロセッサは汎用プロセッサであってもよく、メモリに記憶されたソフトウェアコードを読み取ることによって実装される。
【0164】
任意選択で、チップシステム内に1つまたは複数のメモリがあってもよい。メモリは、プロセッサと統合されてもよいし、プロセッサとは別に配置されてもよい。これは本出願では制限されない。例えば、メモリは、非一時的プロセッサ、例えば読み出し専用メモリROMであってもよい。メモリとプロセッサは、同じチップ上に統合されてよく、または別々のチップ上に別々に配置されてもよい。メモリのタイプならびにメモリおよびプロセッサの配置方式は、本出願のこの実施形態では限定されない。
【0165】
例えば、チップシステムは、フィールドプログラマブルゲートアレイ(field programmable gate array、FPGA)、特定用途向け集積回路(application specific integrated circuit、ASIC)、システムオンチップ(system on chip、SoC)、中央処理ユニット(central processor unit、CPU)、ネットワークプロセッサ(network processor、NP)、デジタル信号処理回路(digital signal processor、DSP)、マイクロコントローラ(micro controller unit、MCU)、プログラマブル論理デバイス(programmable logic device、PLD)、または別の統合チップであってもよい。
【0166】
本出願の一実施形態は、命令およびコンピュータプログラムを含むコンピュータ可読記憶媒体をさらに提供する。コンピュータ可読記憶媒体がコンピュータ上で実行されると、コンピュータは、前述の実施形態におけるVXLANパケット伝送方法を実行することが可能になる。
【0167】
本出願の一実施形態は、命令またはコンピュータプログラムを含むコンピュータプログラム製品をさらに提供する。コンピュータプログラム製品がコンピュータ上で実行されると、コンピュータは、前述の実施形態におけるVXLANパケット伝送方法を実行することが可能になる。
【0168】
本出願の明細書、特許請求の範囲、および添付図面において、用語「第1の(first)」、「第2の(second)」、「第3の(third)」、「第4の(fourth)」など(存在する場合)は、同様の対象を区別することを意図されており、必ずしも特定の順序または順番を示すものではない。そのような方法で使用されるデータは、本明細書に記載の実施形態を本明細書に例示または説明された順序以外の順序で実施され得るように、適切な状況で交換可能であることを理解されたい。さらに、「含む(include)」、「有する(have)」という用語および任意の他の変形は、非排他的な包含を網羅することを意味し、例えば、ステップまたはユニットの列挙を含むプロセス、方法、システム、製品、またはデバイスは、それらのステップまたはユニットに必ずしも限定されないが、そのようなプロセス、方法、製品、またはデバイスに明確に列挙されていないか、もしくは固有でない他のステップまたはユニットを含み得る。
【0169】
前述のシステム、装置、およびユニットの詳細な作動プロセスのための、簡便な説明の目的で、上述の方法の実施形態において対応するプロセスが参照されることは、当業者であれば明確に理解することができ、詳細は本明細書では再度説明されない。
【0170】
本出願において提供されるいくつかの実施形態においては、開示のシステム、装置、および方法が他のやり方で実装されることもできることを理解されたい。例えば、前述の装置の実施形態は単なる例である。例えば、ユニット分割は単なる論理サービス分割であり、実際の実装中は他の分割であってもよい。例えば、複数のユニットまたは構成要素が組み合わされるか、または別のシステムに統合されてもよく、またはいくつかの特徴は無視されてよく、または実行されなくてもよい。加えて、図示または記載の相互結合、直接結合、または通信接続が、いくつかのインターフェースを介して実現されてもよい。装置間またはユニット間の間接結合または通信接続は、電子的形態、機械的形態、またはその他の形態で実装されてよい。
【0171】
別々の部分として説明されているユニットは、物理的に別々であってもなくてもよく、ユニットとして表示されている部分は、物理的なユニットであってもなくてもよく、1箇所に配置されてよく、または複数のネットワークユニット上に分散されてもよい。ユニットの一部または全部は、実施形態における解決策の目的を達成するための実際の要件に基づいて選択されてもよい。
【0172】
加えて、本出願の実施形態におけるサービスユニットは、1つの処理ユニットに統合されてもよく、または各ユニットは物理的に単独で存在してもよく、または2つ以上のユニットが1つのユニットに統合される。統合ユニットはハードウェアの形態で実装されてもよく、またはソフトウェアサービスユニットの形態で実装されてもよい。
【0173】
統合ユニットがソフトウェアサービスユニットの形態で実施され、独立した製品として販売または使用されるとき、統合ユニットはコンピュータ可読記憶媒体に記憶されてもよい。そうした理解に基づき、本出願の技術的なソリューションは本質的に、または既存の技術に寄与する部分は、または技術的なソリューションの全部または一部は、ソフトウェア製品の形で実装されてよい。コンピュータソフトウェア製品は、記憶媒体に記憶され、コンピュータデバイス(パーソナルコンピュータ、サーバ、またはネットワークデバイスであり得る)に本出願の実施形態に記載された方法のステップの全部または一部を実行するように命令するためのいくつかの命令を含む。記憶媒体は、USBフラッシュドライブ、リムーバブルハードディスク、読み出し専用メモリ(ROM、Read-Only Memory)、ランダムアクセスメモリ(RAM、Random Access Memory)、磁気ディスク、または光ディスクなどの、プログラムコードを記憶することができる任意の媒体を含む。
【0174】
当業者は、前述の例のうちの1つまたは複数において、本出願に記載されたサービスが、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組み合わせを使用することによって実施され得ることを認識すべきである。ソフトウェアを使用して実装される場合、サービスは、コンピュータ可読媒体に記憶されるか、またはコンピュータ可読媒体上の1つまたは複数の命令またはコードとして伝送されてもよい。コンピュータ可読媒体は、コンピュータ記憶媒体および通信媒体を含む。通信媒体は、コンピュータプログラムがある場所から別の場所に伝送されることを可能にする任意の媒体を含む。記憶媒体は、汎用または専用のコンピュータにとってアクセス可能な任意の利用可能な媒体であってもよい。
【0175】
前述の特定の実施態様では、本出願の目的、技術的解決策、および有益な効果がさらに詳細に説明されている。前述の説明は、本出願の特定の実施態様にすぎないことを理解されたい。
【0176】
結論として、前述の実施形態は、本出願の技術的解決策を説明することを意図されているにすぎず、本出願を限定することを意図されていない。本願について上記の実施形態を参照して詳細に説明したが、当業者であれば、本願の実施形態の技術的解決策の範囲から逸脱することなく、上記の実施形態に記載された技術的解決策に改変を行い、あるいはそのいくつかの技術的特徴に等価な置換を行うことができることを理解されたい。
【符号の説明】
【0177】
700 ネットワークデバイス
701 取得ユニット
702 処理ユニット
703 送信ユニット
800 ネットワークデバイス
801 受信ユニット
802 処理ユニット
803 送信ユニット
900 ネットワークシステム
901 ネットワークデバイス
902 ネットワークデバイス
1000 ネットワークデバイス
1010 プロセッサ
1020 通信インターフェース
1030 メモリ
1040 バスシステム
1100 ネットワークデバイス
1103 インターフェース基盤
1110 主制御基板
1111 中央処理ユニット
1112 メモリ
1120 スイッチング基板
1130 インターフェース基板
1131 中央処理ユニット
1132 ネットワークプロセッサ
1133 物理インターフェースカード
1134 転送エントリメモリ
1140 インターフェース基板
1141 中央処理ユニット
1142 ネットワークプロセッサ
1143 物理インターフェースカード
1144 転送エントリメモリ
【手続補正書】
【提出日】2024-08-08
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
第1のネットワークデバイスによって、第1のパケットを取得するステップと、
前記第1のネットワークデバイスによって、前記第1のパケットに基づいて仮想拡張可能ローカルエリアネットワーク識別子
(VNI
)を取得するステップと、
前記第1のネットワークデバイスによって、第2のパケットを取得するために、インターネットプロトコルバージョン6
(IPv6
)ヘッダを前記第1のパケットにカプセル化するステップであって、前記IPv6ヘッダが前記VNIを搬送する、ステップと、
前記第1のネットワークデバイスによって、第2のネットワークデバイスに前記第2のパケットを送信するステップと、を備える
仮想拡張可能ローカルエリアネットワーク
(VXLAN
)パケット伝送方法。
【請求項2】
前記IPv6ヘッダが、IPv6基本ヘッダである、請求項1に記載の方法。
【請求項3】
前記VNIが、前記IPv6基本ヘッダの宛先アドレスフィールドで搬送される、請求項2に記載の方法。
【請求項4】
前記宛先アドレスフィールド内の65番目ビットから128番目ビットが、前記VNIを搬送する、請求項3に記載の方法。
【請求項5】
前記宛先アドレスフィールドがVXLANヘッダを備え、前記VXLANヘッダが前記VNIを搬送する、請求項3に記載の方法。
【請求項6】
前記宛先アドレスフィールド内の65番目ビットから128番目ビットが、前記VXLANヘッダを搬送する、請求項5に記載の方法。
【請求項7】
前記宛先アドレスフィールド内の宛先アドレスが、前記宛先アドレスフィールドにおいて搬送された前記VNIに基づいて前記パケットを転送するために、前記第2のネットワークデバイスを示す、請求項
3に記載の方法。
【請求項8】
前記IPv6ヘッダがVXLANフラ
グをさらに備え、前記VXLANフラグは、前記第2のパケットが有効なVNIを搬送することを示す
フラグを備える、請求項
1に記載の方法。
【請求項9】
前記第1のネットワークデバイスによって、前記第1のパケットに基づいてVNIを取得する、前記ステップが、
前記第1のネットワークデバイスによって、前記第1のパケットを受信するためのインターフェースに基づいて前記VNIを獲得するステップであって、前記VNIが前記第1のパケットを受信するための前記インターフェースに対応する、ステップ
を備える、請求項
1に記載の方法。
【請求項10】
第2のネットワークデバイスによって、第1のネットワークデバイスから第2のパケットを受信するステップであって、前記第2のパケットが、インターネットプロトコルバージョン6
(IPv6
)ヘッダでカプセル化され、前記IPv6ヘッダが、仮想拡張可能ローカルエリアネットワーク識別子
(VNI
)を搬送する、ステップと、
前記第2のネットワークデバイスによって、前記IPv6ヘッダから前記VNIを取得するステップと、
前記第2のネットワークデバイスによって、第1のパケットを取得するために前記第2のパケットをカプセル化解除するステップであって、前記第1のパケットが前記IPv6ヘッダを備えない、ステップと、
前記第2のネットワークデバイスによって、前記VNIに基づいて前記第1のパケットを転送するステップと、
を備える、仮想拡張可能ローカルエリアネットワーク
(VXLAN
)パケット伝送方法。
【請求項11】
前記IPv6ヘッダがIPv6拡張ヘッダであり、前記IPv6拡張ヘッダが宛先オプションヘッダ
(DOH
)またはセグメントルーティングヘッダ
(SRH
)を備える、請求項
10に記載の方法。
【請求項12】
前記DOHがタイプ-長さ-値
(TLV
)を含み、前記TLVのtypeフィールドは、前記DOHが前記VNIを搬送することを示す、請求項
11に記載の方法。
【請求項13】
前記DOHがVXLANヘッダを備え、前記VXLANヘッダが前記VNIを搬送する、請求項
12に記載の方法。
【請求項14】
前記VNIが、前記SRHのセグメント識別子リスト
(SID list
)で搬送される、請求項
13に記載の方法。
【請求項15】
前記第2のネットワークデバイスの前記SIDのタイプが、仮想ネットワークエンドポイントEND.VNタイプである、請求項
14に記載の方法。
【請求項16】
複数のネットワークデバイスを備えるネットワークに適用される、仮想拡張可能ローカルエリアネットワーク
(VXLAN
)パケット伝送のためのネットワークデバイスであって、前記複数のネットワークデバイスが、第1のネットワークデバイスおよび第2のネットワークデバイスを備え、前記ネットワークデバイスが前記第1のネットワークデバイスであり、前記ネットワークデバイスが
、少なくとも1つのプロセッサおよび1つまたは複数のメモリを備え、
前記1つまたは複数のメモリが、命令またはプログラムコードを記憶するように構成され、
第1のパケットを取得する
ことと、
前記第1のパケットに基づいて仮想拡張ローカルエリアネットワーク識別子
(VNI
)を取得し、かつ第2のパケットを取得するために前記第1のパケットにインターネットプロトコルバージョン6
(IPv6
)ヘッダをカプセル化する
ことであって、前記IPv6ヘッダが前記VNIを搬送する、
取得することと、
前記第2のパケットを前記第2のネットワークデバイスに送信する
ことと、
を前記ネットワークデバイスに可能にさせるために、前記少なくとも1つのプロセッサが、前記1つまたは複数のメモリで命令またはプログラムコードを実行するように構成されている、
仮想拡張可能ローカルエリアネットワーク
(VXLAN
)パケット伝送のためのネットワークデバイス。
【請求項17】
前記IPv6ヘッダがIPv6基本ヘッダであり、前記VNIが前記IPv6基本ヘッダの宛先アドレスフィールドで搬送される、請求項
16に記載のネットワークデバイス。
【請求項18】
前記宛先アドレスフィールド
がVXLANヘッダを備え、前記VXLANヘッダが前記VNIを搬送する、請求項
17に記載のネットワークデバイス。
【請求項19】
複数のネットワークデバイスを備えるネットワークに適用される、仮想拡張可能ローカルエリアネットワーク
(VXLAN
)パケット伝送のためのネットワークデバイスであって、前記複数のネットワークデバイスが第1のネットワークデバイスおよび第2のネットワークデバイスを備え、前記ネットワークデバイスが前記第2のネットワークデバイスであり、前記ネットワークデバイスが
、少なくとも1つのプロセッサおよび1つまたは複数のメモリを備え、
前記1つまたは複数のメモリが、命令またはプログラムコードを記憶するように構成され、
前記第1のネットワークデバイスから第2のパケットを受信する
ことであって、前記第2のパケットが、インターネットプロトコルバージョン6
(IPv6
)ヘッダでカプセル化され、かつ前記IPv6ヘッダが、仮想拡張可能ローカルエリアネットワーク識別子
(VNI
)を搬送する、
受信することと、
前記IPv6ヘッダから前記VNIを取得し、かつ第1のパケットを取得するために前記第2のパケットをカプセル化解除する
ことであって、前記第1のパケットが前記IPv6ヘッダを備えない、
取得することと、
前記VNIに基づいて前記第1のパケットを転送する
ことと、
を前記ネットワークデバイスに可能にさせるために、前記少なくとも1つのプロセッサが、前記1つまたは複数のメモリで命令またはプログラムコードを実行するように構成されている、
仮想拡張可能ローカルエリアネットワーク
(VXLAN
)パケット伝送のためのネットワークデバイス。
【請求項20】
前記IPv6ヘッダがIPv6拡張ヘッダであり、前記IPv6拡張ヘッダが宛先オプションヘッダDOHまたはセグメントルーティングヘッダ
(SRH
)を備える、請求項
19に記載のネットワークデバイス。
【国際調査報告】