IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 華為技術有限公司の特許一覧

特表2024-545790パケット送信方法、ネットワークデバイス、およびシステム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-12-11
(54)【発明の名称】パケット送信方法、ネットワークデバイス、およびシステム
(51)【国際特許分類】
   H04L 12/66 20060101AFI20241204BHJP
【FI】
H04L12/66
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024539728
(86)(22)【出願日】2022-12-29
(85)【翻訳文提出日】2024-08-09
(86)【国際出願番号】 CN2022143237
(87)【国際公開番号】W WO2023125767
(87)【国際公開日】2023-07-06
(31)【優先権主張番号】202111672776.4
(32)【優先日】2021-12-31
(33)【優先権主張国・地域又は機関】CN
(31)【優先権主張番号】202210229154.2
(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ターム(参考)】
5K030GA03
5K030HD03
5K030HD09
5K030KA15
(57)【要約】
本出願は、パケット送信方法、ネットワークデバイス、およびシステムを開示する。第1のパケットを受信した後、第1のネットワークデバイスは、第1のパケットに対応するトンネルヘッダを取得する。第1のネットワークデバイスは、第2のパケットを取得するために、第1のパケットにIPv6ヘッダをカプセル化することによってIPv6ヘッダにトンネルヘッダをカプセル化する。第1のネットワークデバイスは、第2のパケットを第2のネットワークデバイスに送信するので、第2のネットワークデバイスは、IPv6ヘッダに含まれるトンネルヘッダに基づいてパケットを転送する。本出願では、IPv6ヘッダは、トンネルヘッダを搬送するために使用される。トンネルヘッダを搬送するために、追加のUDPヘッダがカプセル化される必要はない。これは、パケットカプセル化のためのデータの量を減らし、パケット送信の効率を改善する。
【特許請求の範囲】
【請求項1】
パケット送信方法であって、
第1のネットワークデバイスによって、第1のパケットを取得するステップと、
前記第1のネットワークデバイスによって、前記第1のパケットに基づいてトンネルヘッダを取得するステップと、
前記第1のネットワークデバイスによって、第2のパケットを取得するために前記第1のパケットにインターネットプロトコルバージョン6(IPv6)ヘッダをカプセル化するステップであって、前記IPv6ヘッダが前記トンネルヘッダを搬送する、ステップと、
前記第1のネットワークデバイスによって、前記第2のパケットを第2のネットワークデバイスに送信するステップとを備える、方法。
【請求項2】
前記トンネルヘッダが、仮想拡張可能ローカルエリアネットワーク(VXLAN)ヘッダ、汎用パケット無線サービストンネリングプロトコル(GTP)ヘッダ、汎用ルーティングカプセル化(GRE)ヘッダ、IP-in-IPヘッダ、イントラサイト自動トンネルアドレシングプロトコル(ISATAP)ヘッダ、インターネットプロトコルバージョン4オーバーインターネットプロトコルバージョン6(IPv4 over IPv6)ヘッダ、汎用ルーティングカプセル化を使用したネットワーク仮想化(NVGRE)ヘッダ、第二層トンネリングプロトコルバージョン3(L2TPv3)、およびMPLS in GREヘッダの1つまたは複数を備える、請求項1に記載の方法。
【請求項3】
前記IPv6ヘッダがIPv6拡張ヘッダであり、前記IPv6拡張ヘッダが終点オプションヘッダ(DOH)を備える、請求項2に記載の方法。
【請求項4】
前記DOHのオプション(Options)部分が前記トンネルヘッダを搬送する、請求項3に記載の方法。
【請求項5】
前記トンネルヘッダが前記VXLANヘッダまたは前記GTPヘッダであるとき、前記IPv6拡張ヘッダがさらに、セグメントルーティングヘッダ(SRH)を備える、請求項3に記載の方法。
【請求項6】
前記トンネルヘッダが、前記SRHのセグメント識別子リスト(SID list)において搬送される、請求項5に記載の方法。
【請求項7】
前記トンネルヘッダが、前記SRHの前記セグメントリスト(SID list)の中の前記第2のネットワークデバイスに対応するSIDにおいて搬送される、請求項6に記載の方法。
【請求項8】
前記第2のネットワークデバイスの前記SIDが、前記SIDにおいて搬送される前記トンネルヘッダに基づいてパケットを転送するように前記第2のネットワークデバイスに指示する、請求項7に記載の方法。
【請求項9】
前記トンネルヘッダが前記VXLANヘッダまたは前記GTPヘッダであるとき、前記IPv6ヘッダがIPv6基本ヘッダである、請求項2に記載の方法。
【請求項10】
前記トンネルヘッダが、前記IPv6基本ヘッダの終点アドレスフィールドにおいて搬送される、請求項9に記載の方法。
【請求項11】
前記終点アドレスフィールドの65番目のビットから128番目のビットが前記トンネルヘッダを搬送する、請求項10に記載の方法。
【請求項12】
前記終点アドレスフィールドの中の終点アドレスは、前記終点アドレスフィールドにおいて搬送される前記トンネルヘッダに基づいて前記パケットを転送するように前記第2のネットワークデバイスに指示する、請求項10または11に記載の方法。
【請求項13】
前記IPv6ヘッダの中のフローラベルフィールドがポート番号を搬送する、請求項1から12のいずれか一項に記載の方法。
【請求項14】
前記ポート番号が、前記第2のパケットの転送プロセスにおいて負荷バランス処理を実施するために使用される、請求項13に記載の方法。
【請求項15】
前記第1のネットワークデバイスによって、前記第1のパケットに基づいてトンネルヘッダを取得する前記ステップが、
前記第1のネットワークデバイスによって、前記第1のパケットを受信するためのインターフェースに基づいて前記トンネルヘッダを取得するステップを備え、前記トンネルヘッダが、前記第1のパケットを受信するための前記インターフェースに対応する、請求項1から14のいずれか一項に記載の方法。
【請求項16】
パケット送信方法であって、
第2のネットワークデバイスによって、第1のネットワークデバイスから第2のパケットを受信するステップであって、前記第2のパケットがインターネットプロトコルバージョン6(IPv6)ヘッダでカプセル化され、前記IPv6ヘッダがトンネルヘッダを搬送する、ステップと、
前記第2のネットワークデバイスによって、前記IPv6ヘッダから前記トンネルヘッダを取得するステップと、
前記第2のネットワークデバイスによって、第1のパケットを取得するために前記第2のパケットをカプセル化解除するステップであって、前記第1のパケットが前記IPv6ヘッダを備えない、ステップと、
前記第2のネットワークデバイスによって、前記トンネルヘッダに基づいて前記第1のパケットを転送するステップとを備える、パケット送信方法。
【請求項17】
前記トンネルヘッダが、仮想拡張可能ローカルエリアネットワーク(VXLAN)ヘッダ、汎用パケット無線サービストンネリングプロトコル(GTP)ヘッダ、汎用ルーティングカプセル化(GRE)ヘッダ、IP-in-IPヘッダ、イントラサイト自動トンネルアドレシングプロトコル(ISATAP)ヘッダ、インターネットプロトコルバージョン4オーバーインターネットプロトコルバージョン6(IPv4 over IPv6)ヘッダ、汎用ルーティングカプセル化を使用したネットワーク仮想化(NVGRE)ヘッダ、第二層トンネリングプロトコルバージョン3(L2TPv3)、およびMPLS in GREヘッダの1つまたは複数を備える、請求項16に記載の方法。
【請求項18】
前記IPヘッダがIPv6拡張ヘッダであり、前記IPv6拡張ヘッダが終点オプションヘッダ(DOH)を備える、請求項17に記載の方法。
【請求項19】
前記DOHのオプション(Options)部分が前記トンネルヘッダを搬送する、請求項18に記載の方法。
【請求項20】
前記トンネルヘッダが前記VXLANヘッダまたは前記GTPヘッダであるとき、前記IPv6拡張ヘッダがさらに、セグメントルーティングヘッダ(SRH)を備える、請求項17に記載の方法。
【請求項21】
前記トンネルヘッダが、前記SRHのセグメント識別子リスト(SID list)において搬送される、請求項20に記載の方法。
【請求項22】
前記トンネルヘッダが、前記SRHの前記セグメントリスト(SID list)の中の前記第2のネットワークデバイスに対応するSIDにおいて搬送される、請求項21に記載の方法。
【請求項23】
前記第2のネットワークデバイスによって、前記IPv6ヘッダから前記トンネルヘッダを取得する前記ステップが、
前記第2のネットワークデバイスによって、前記第2のパケットの終点アドレスフィールドが前記第2のネットワークデバイスの前記SIDを備えると決定するステップと、
前記第2のネットワークデバイスによって、前記第2のパケットの前記終点アドレスフィールドが前記第2のネットワークデバイスの前記SIDを備えるとの決定に応答して、前記第2のネットワークデバイスの前記SIDから前記トンネルヘッダを取得するステップとを備える、請求項22に記載の方法。
【請求項24】
前記第2のネットワークデバイスの前記SIDのタイプが、仮想ネットワークエンドポイントEND.VNタイプである、請求項22または23に記載の方法。
【請求項25】
第2のネットワークデバイスによって、第1のネットワークデバイスから第2のパケットを受信する前記ステップの前に、前記方法がさらに、
前記第2のネットワークデバイスによって、前記第2のネットワークデバイスの前記SIDを前記第1のネットワークデバイスに広告するステップを備える、請求項24に記載の方法。
【請求項26】
前記方法がさらに、
前記第2のネットワークデバイスによって、転送エントリを確立するステップであって、前記転送エントリが前記第2のネットワークデバイスの前記SIDを備える、ステップと、
前記第2のネットワークデバイスによって、前記第1のパケットを取得するために前記転送エントリに基づいて前記第2のパケットをカプセル化解除し、前記トンネルヘッダに基づいて前記第1のパケットを転送するステップとを備える、請求項22から25のいずれか一項に記載の方法。
【請求項27】
前記トンネルヘッダが前記VXLANヘッダまたは前記GTPヘッダであるとき、前記IPv6ヘッダがIPv6基本ヘッダである、請求項17に記載の方法。
【請求項28】
前記トンネルヘッダが、前記IPv6基本ヘッダの終点アドレスフィールドにおいて搬送される、請求項27に記載の方法。
【請求項29】
前記第2のネットワークデバイスによって、前記IPv6ヘッダから前記トンネルヘッダを取得する前記ステップが、
前記第2のネットワークデバイスによって、前記終点アドレスフィールドが前記第2のネットワークデバイスのアドレスを備えると決定するステップと、
前記第2のネットワークデバイスによって、前記終点アドレスフィールドが前記第2のネットワークデバイスの前記アドレスを備えるとの決定に応答して、前記終点アドレスフィールドから前記トンネルヘッダを取得するステップとを備える、請求項28に記載の方法。
【請求項30】
複数のネットワークデバイスを備えるネットワークに適用される、パケット送信のためのネットワークデバイスであって、前記複数のネットワークデバイスが第1のネットワークデバイスおよび第2のネットワークデバイスを備え、前記ネットワークデバイスが前記第1のネットワークデバイスであり、前記ネットワークデバイスが、
第1のパケットを取得するように構成される取得ユニットと、
前記第1のパケットに基づいてトンネルヘッダを取得し、第2のパケットを取得するために前記第1のパケットにインターネットプロトコルバージョン6(IPv6)ヘッダをカプセル化するように構成される、処理ユニットであって、前記IPv6ヘッダが前記トンネルヘッダを搬送する、処理ユニットと、
前記第2のパケットを前記第2のネットワークデバイスに送信するように構成される送信ユニットとを備える、ネットワークデバイス。
【請求項31】
前記トンネルヘッダが、仮想拡張可能ローカルエリアネットワーク(VXLAN)ヘッダ、汎用パケット無線サービストンネリングプロトコル(GTP)ヘッダ、汎用ルーティングカプセル化(GRE)ヘッダ、IP-in-IPヘッダ、イントラサイト自動トンネルアドレシングプロトコル(ISATAP)ヘッダ、インターネットプロトコルバージョン4オーバーインターネットプロトコルバージョン6(IPv4 over IPv6)ヘッダ、汎用ルーティングカプセル化を使用したネットワーク仮想化(NVGRE)ヘッダ、第二層トンネリングプロトコルバージョン3(L2TPv3)、およびMPLS in GREヘッダの1つまたは複数を備える、請求項30に記載のデバイス。
【請求項32】
前記IPヘッダがIPv6拡張ヘッダであり、前記IPv6拡張ヘッダが終点オプションヘッダ(DOH)を備える、請求項31に記載のネットワークデバイス。
【請求項33】
前記DOHのオプション(Options)部分が前記トンネルヘッダを搬送する、請求項32に記載のネットワークデバイス。
【請求項34】
前記トンネルヘッダが前記VXLANヘッダまたは前記GTPヘッダであるとき、前記IPv6拡張ヘッダがさらに、セグメントルーティングヘッダ(SRH)を備える、請求項32に記載のネットワークデバイス。
【請求項35】
前記トンネルヘッダが、前記SRHのセグメント識別子リスト(SID list)において搬送される、請求項34に記載のネットワークデバイス。
【請求項36】
前記トンネルヘッダが、前記SRHの前記セグメントリスト(SID list)の中の前記第2のネットワークデバイスに対応するSIDにおいて搬送される、請求項35に記載のネットワークデバイス。
【請求項37】
前記第2のネットワークデバイスの前記SIDが、前記SIDにおいて搬送される前記トンネルヘッダに基づいてパケットを転送するように前記第2のネットワークデバイスに指示する、請求項36に記載のネットワークデバイス。
【請求項38】
前記トンネルヘッダが前記VXLANヘッダまたは前記GTPヘッダであるとき、前記IPv6ヘッダがIPv6基本ヘッダである、請求項31に記載のネットワークデバイス。
【請求項39】
前記トンネルヘッダが、前記IPv6基本ヘッダの終点アドレスフィールドにおいて搬送される、請求項38に記載のネットワークデバイス。
【請求項40】
複数のネットワークデバイスを備えるネットワークに適用される、パケット送信のためのネットワークデバイスであって、前記複数のネットワークデバイスが第1のネットワークデバイスおよび第2のネットワークデバイスを備え、前記ネットワークデバイスが前記第2のネットワークデバイスであり、前記ネットワークデバイスが、
前記第1のネットワークデバイスから第2のパケットを受信するように構成される受信ユニットであって、前記第2のパケットがインターネットプロトコルバージョン6(IPv6)ヘッダでカプセル化され、前記IPv6ヘッダがトンネルヘッダを搬送する、受信ユニットと、
前記IPv6ヘッダから前記トンネルヘッダを取得し、第1のパケットを取得するために前記第2のパケットをカプセル化解除するように構成される処理ユニットであって、前記第1のパケットが前記IPv6ヘッダを備えない、処理ユニットと、
前記トンネルヘッダに基づいて前記第1のパケットを転送するように構成される送信ユニットとを備える、ネットワークデバイス。
【請求項41】
前記トンネルヘッダが、仮想拡張可能ローカルエリアネットワーク(VXLAN)ヘッダ、汎用パケット無線サービストンネリングプロトコル(GTP)ヘッダ、汎用ルーティングカプセル化(GRE)ヘッダ、IP-in-IPヘッダ、イントラサイト自動トンネルアドレシングプロトコル(ISATAP)ヘッダ、インターネットプロトコルバージョン4オーバーインターネットプロトコルバージョン6(IPv4 over IPv6)ヘッダ、汎用ルーティングカプセル化を使用したネットワーク仮想化(NVGRE)ヘッダ、第二層トンネリングプロトコルバージョン3(L2TPv3)、およびMPLS in GREヘッダの1つまたは複数を備える、請求項40に記載のネットワークデバイス。
【請求項42】
前記IPヘッダがIPv6拡張ヘッダであり、前記IPv6拡張ヘッダが終点オプションヘッダ(DOH)を備える、請求項41に記載のネットワークデバイス。
【請求項43】
前記DOHのオプション(Options)部分が前記トンネルヘッダを搬送する、請求項42に記載のネットワークデバイス。
【請求項44】
前記トンネルヘッダが前記VXLANヘッダまたは前記GTPヘッダであるとき、前記IPv6拡張ヘッダがさらに、セグメントルーティングヘッダ(SRH)を備える、請求項42に記載のネットワークデバイス。
【請求項45】
前記トンネルヘッダが、前記SRHのセグメント識別子リスト(SID list)において搬送される、請求項44に記載のネットワークデバイス。
【請求項46】
前記取得ユニットが特に、前記第2のパケットの終点アドレスフィールドが前記第2のネットワークデバイスのSIDを備えると決定し、前記第2のパケットの前記終点アドレスフィールドが前記第2のネットワークデバイスの前記SIDを備えるとの決定に応答して、前記第2のネットワークデバイスの前記SIDから前記トンネルヘッダを取得するように構成される、請求項45に記載のネットワークデバイス。
【請求項47】
前記処理ユニットがさらに、転送エントリを確立し、前記転送エントリが前記第2のネットワークデバイスの前記SIDを備え、前記第1のパケットを取得するために前記転送エントリに基づいて前記第2のパケットをカプセル化解除するように構成され、前記送信ユニットが、前記トンネルヘッダに基づいて前記第1のパケットを転送するように構成される、請求項46に記載のネットワークデバイス。
【請求項48】
前記トンネルヘッダが前記VXLANヘッダまたは前記GTPヘッダであるとき、前記IPv6ヘッダがIPv6基本ヘッダである、請求項41に記載のネットワークデバイス。
【請求項49】
前記トンネルヘッダが、前記IPv6基本ヘッダの終点アドレスフィールドにおいて搬送される、請求項48に記載のネットワークデバイス。
【請求項50】
前記取得ユニットが特に、前記終点アドレスフィールドが前記第2のネットワークデバイスのアドレスを備えると決定し、前記終点アドレスフィールドが前記第2のネットワークデバイスの前記アドレスを備えるとの決定に応答して、前記終点アドレスフィールドから前記トンネルヘッダを取得するように構成される、請求項49に記載のネットワークデバイス。
【請求項51】
パケット送信のためのネットワークシステムであって、前記ネットワークシステムが、第1のネットワークデバイスおよび第2のネットワークデバイスを備え、
前記第1のネットワークデバイスが、請求項1から15のいずれか一項に記載の方法を実施するように構成され、
前記第2のネットワークデバイスが、請求項16から29のいずれか一項に記載の方法を実施するように構成される、ネットワークシステム。
【請求項52】
プロセッサおよびメモリを備えるネットワークデバイスであって、
前記メモリが命令またはプログラムコードを記憶するように構成され、
前記ネットワークデバイスが、請求項1から15のいずれか一項に記載の方法を実施すること、または請求項16から29のいずれか一項に記載の方法を実施することを可能にするために、前記プロセッサが、前記メモリの中の前記命令または前記プログラムコードを実行するように構成される、ネットワークデバイス。
【請求項53】
命令を記憶するコンピュータ可読記憶媒体であって、前記命令がプロセッサ上で実行されると、コンピュータまたはネットワークデバイスが、請求項1から15のいずれか一項に記載の方法を実施すること、または請求項16から29のいずれか一項に記載の方法を実施することが可能にされる、コンピュータ可読記憶媒体。
【請求項54】
プログラムを備えるコンピュータプログラム製品であって、前記プログラムがプロセッサ上で実行されると、コンピュータまたはネットワークデバイスが、請求項1から15のいずれか一項に記載の方法を実施すること、または請求項16から29のいずれか一項に記載の方法を実施することが可能にされる、コンピュータプログラム製品。
【請求項55】
インターフェース回路およびプロセッサを備えるチップであって、前記インターフェース回路が前記プロセッサに接続され、前記プロセッサが、前記チップが、請求項1から15のいずれか一項に記載の方法を実施すること、または請求項16から29のいずれか一項に記載の方法を実施することを可能にするように構成される、チップ。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、全体が参照によって本明細書に組み込まれる、「METHOD FOR IMPLEMENTING VXLAN AND GTP BASED ON IPv6」という表題の2021年12月31日に中国国家知識産業権局に出願された中国特許出願第202111672776.4号の優先権を主張する。本出願は、全体が参照によって本明細書に組み込まれる、「PACKET TRANSMISSION METHOD, NETWORK DEVICE, AND SYSTEM」という表題の2022年3月8日に出願された中国特許出願第202210229154.2号の優先権を主張する。
【0002】
本出願は、全般に通信技術の分野に関し、具体的には、パケット送信方法、ネットワークデバイス、およびシステムに関する。
【背景技術】
【0003】
仮想拡張可能ローカルエリアネットワーク(virtual extensible local area network, VXLAN)は、オーバーレイ(overlay)ネットワーク技術である。クロスリージョン第二層相互接続を実施するために、第二層イーサネットトンネルが第三層ネットワーク上で確立され得る。VXLAN技術では、元のイーサネットパケットがユーザデータグラムプロトコル(user datagram protocol, UDP)データパケットにカプセル化されるカプセル化フォーマットが使用され、元の第二層データフレームおよびVXLANヘッダは、UDPデータパケットに一緒にカプセル化される。UDPはより外側の層における送信方法として使用されるので、元のイーサネットパケットは、第二層または第三層ネットワークで送信され得る。VXLANヘッダはVXLANネットワーク識別子(VXLAN network identifier, VNI)を含み、VNIはデータパケットにおいて24ビットを占有する。したがって、1600万個のVXLANが共存することができ、テナントが大規模に展開されることがある。
【0004】
インターネットプロトコルバージョン6(internet protocol version 6, IPv6)技術の発展と展開により、様々なテナントのトラフィックがIPv6ネットワークを通り抜ける必要があることがある。したがって、IPv6ネットワーク上でVXLAN技術を展開する差し迫った必要がある。しかしながら、UDPカプセル化がVXLANにおいて使用されるので、IPv6ネットワークにおけるカプセル化効率は低く、パケット送信効率に影響する。
【発明の概要】
【課題を解決するための手段】
【0005】
本出願は、パケットがIPv6ネットワークを通り抜けるときのパケットカプセル化のためのデータの量を減らし、パケットカプセル化の効率を改善し、パケット送信の効率をさらに改善するための、パケット送信方法、ネットワークデバイス、およびシステムを提供する。
【0006】
本出願の第1の態様によれば、パケット送信方法が提供される。この方法は次のことを含む。第1のネットワークデバイスが、第1のパケットを取得し、第1のパケットに基づいてトンネルヘッダを取得する。第1のネットワークデバイスが、第2のパケットを取得するために第1のパケットにIPv6ヘッダをカプセル化する。IPv6ヘッダは、トンネルヘッダを搬送する。IPv6ヘッダは、トンネルヘッダを搬送するために使用される。トンネルヘッダを搬送するために、追加のUDPヘッダがカプセル化される必要はない。これは、パケットカプセル化のためのデータの量を減らし、パケットカプセル化の効率を改善する。加えて、IPv6ヘッダにトンネルヘッダを含めることによって、パケットがIPv6ネットワークを通り抜けるための新しい方法が提供される。この方法では、トンネルヘッダを搬送するためにUDPヘッダを使用する必要はない。IPv6ヘッダは、パケットがIPv6ネットワーク上で転送されるときの基本的なパケットカプセル化方式であるので、この方法はパケットカプセル化の柔軟性を改善する。
【0007】
ある可能な実装形態では、トンネルヘッダは、VXLANヘッダ、汎用パケット無線サービストンネリングプロトコル(general packet radio service tunneling protocol, GTP)ヘッダ、汎用ルーティングカプセル化(generic routing encapsulation, GRE)ヘッダ、IP-in-IPヘッダ、イントラサイト自動トンネルアドレス指定プロトコル(intra-site automatic tunnel addressing protocol, ISATAP)ヘッダ、インターネットプロトコルバージョン4オーバーインターネットプロトコルバージョン6(internet protocol version 4 over IPv6, IPv4 over IPv6)ヘッダ、汎用ルーティングカプセル化を使用したネットワーク仮想化(network virtualization using generic routing encapsulation, NVGRE)、第二層トンネリングプロトコルバージョン3(layer two tunneling protocol version 3, L2TPv3)、および汎用ルーティングカプセル化におけるマルチプロトコルラベルスイッチング(multi-Protocol label switching in GRE, MPLS in GRE)ヘッダの1つまたは複数を含む。
【0008】
ある可能な実装形態では、IPヘッダはIPv6拡張ヘッダであり、IPv6拡張ヘッダは終点オプションヘッダ(destination option header, DOH)を含む。任意選択で、第1のネットワークデバイスが第2のパケットを取得するために第1のパケットにIPv6ヘッダをカプセル化することは、次のことを含む。第1のネットワークデバイスが、IPv6拡張ヘッダおよびIPv6基本ヘッダを第1のパケットにカプセル化する。IPv6拡張ヘッダの中のDOHがトンネルヘッダを搬送し、IPv6基本ヘッダがパケット転送のために使用される。
【0009】
ある可能な実装形態では、DOHはタイプ長さ値(type-length-value, TLV)を含み、TLVのタイプフィールドは、DOHがトンネルヘッダを搬送することを示す。
【0010】
ある可能な実装形態では、トンネルヘッダがVXLANヘッダまたはGTPヘッダであるとき、IPv6拡張ヘッダはさらに、セグメントルーティングヘッダ(segment routing header, SRH)を含む。VXLANヘッダまたはGTPヘッダの長さ(たとえば、64ビット)は、別のトンネルヘッダの長さ(たとえば、128ビット)より短い。したがって、セグメントルーティングヘッダSRHは、VXLANヘッダまたはGTPヘッダを搬送するために使用され得る。
【0011】
ある可能な実装形態では、トンネルヘッダは、SRHのセグメント識別子(segment identifier, SID)リスト(SID list)において搬送される。任意選択で、トンネルヘッダは、SRHのセグメントリストSID listの中の第2のネットワークデバイスに対応するSIDにおいて搬送される。IPv6転送プレーンベースセグメントルーティング(IPv6 segment routing, SRv6)の応用シナリオにおいて、パスの一部またはすべてが明確に指定される必要があるとき、SRHの中のSID listを使用することによって明確なパスを示すために、SRHがパケットに入れられてもよい。SID listの中の各SIDの長さは、128ビット(bit)であると定められる。パケット転送プロセスにおいてパケット転送に使用されるSIDについての情報は、普通は128ビットの一部だけであり、または、ネットワークデバイスによって広告されるSIDは圧縮されたSIDであることがあり、これは、128ビットの一部だけを占有し、たとえば64ビットだけを占有する。このようにして、VXLANヘッダまたはGTPヘッダが、SID listの中の第2のネットワークデバイスのSIDの中にあり占有されていないビットに含められ、IPv6拡張ヘッダのセグメントルーティングヘッダの中のセグメント識別子リストが多重化される。VXLANヘッダまたはGTPヘッダを搬送するために、追加のカプセル化が実施される必要はない。これは、パケットカプセル化の効率を改善する。
【0012】
ある可能な実装形態では、第2のネットワークデバイスのSIDは、SIDにおいて搬送されるトンネルヘッダに基づいてパケットを転送するように第2のネットワークデバイスに指示する。第2のネットワークデバイスのSIDは、ロケータ(locator)フィールドおよび機能(function)フィールドを含む。任意選択で、第2のネットワークデバイスのSIDはさらに、パラメータ(argument)フィールドを含み得る。
【0013】
ある可能な実装形態では、VXLANヘッダまたはGTPヘッダは、第2のネットワークデバイスのSIDの機能フィールドにおいて搬送され得る。
【0014】
ある可能な実装形態では、トンネルヘッダがVXLANヘッダまたはGTPヘッダであるとき、IPv6ヘッダはIPv6基本ヘッダである。IPv6基本ヘッダは、基本的なパケット転送情報を含み、たとえば、始点アドレスフィールドおよび終点アドレスフィールドを含む。始点アドレスフィールドはパケットの始点アドレスを搬送するために使用され、終点アドレスフィールドはパケットの終点アドレスを搬送するために使用される。
【0015】
ある可能な実装形態では、トンネルヘッダは、IPv6基本ヘッダの終点アドレスフィールドにおいて搬送される。IPv6基本ヘッダの終点アドレスフィールドは128ビット(bit)であるので、パケット転送プロセスにおいてパケット転送に使用されるプレフィックス情報またはSRv6 locatorは普通は、128ビットの一部を占有し、たとえば最初の64ビットだけを占有する。このようにして、VXLANヘッダまたはGTPヘッダは、終点アドレスフィールドの中にある、プレフィックス情報またはSRv6 locatorによって占有されていないビットに含められ、IPv6基本ヘッダの終点アドレスフィールドが多重化される。VXLANヘッダまたはGTPヘッダを搬送するために、追加のカプセル化が実施される必要はない。これは、パケットカプセル化の効率を改善する。
【0016】
ある可能な実装形態では、終点アドレスフィールドの65番目のビットから128番目のビットがトンネルヘッダを搬送する。
【0017】
ある可能な実装形態では、終点アドレスフィールドの中の終点アドレスは、終点アドレスフィールドにおいて搬送されるトンネルヘッダに基づいてパケットを転送するように第2のネットワークデバイスに指示する。
【0018】
ある可能な実装形態では、IPv6ヘッダの中のフローラベル(flow label)フィールドはポート番号を搬送する。
【0019】
ある可能な実装形態では、ポート番号は、第2のパケットの転送プロセスにおいて負荷バランス処理を実施するために使用され、または第2のパケットのタイプを示す。たとえば、トンネルヘッダがVXLANヘッダであるとき、ポート番号は、第2のパケットがVXLANパケットであることを示す。
【0020】
ある可能な実装形態では、フローラベルにおいて搬送されるポート番号は、第2のパケットの転送プロセスにおいて実現される負荷バランス効果がUDP始点ポート番号を使用することによって実現される負荷バランス効果と一致することを確実にするために、第1のパケットにおけるペイロード(payload)に基づく計算を通じて取得され得る。第1のパケットにおけるペイロードに基づいてポート番号を計算するために使用される計算方法は、UDP始点ポート番号の計算方法を再使用し得る。
【0021】
ある可能な実装形態では、第1のネットワークデバイスが第1のパケットに基づいてトンネルヘッダを取得することは、次のことを含む。第1のネットワークデバイスが、第1のパケットを受信するためのインターフェースに基づいてトンネルヘッダを取得する。トンネルヘッダは、第1のパケットを受信するためのインターフェースに対応する。
【0022】
ある可能な実装形態では、IPv6ヘッダの次ヘッダ(Next Header)は、第2のパケットの中のIPv6ヘッダに隣接する次のヘッダがイーサネットヘッダであることを示す。IPv6ヘッダはトンネルヘッダを搬送するために使用され、パケットにおいてトンネルヘッダを搬送するためにUDPヘッダを使用する必要はない。したがって、IPv6ヘッダのnext headerは、イーサネット(Ethernet, ETH)タイプに設定される。したがって、第2のパケットの転送プロセスにおけるパケット処理の効率が改善され得る。
【0023】
本出願の第2の態様によれば、パケット送信方法が提供される。この方法は次のことを含む。第2のネットワークデバイスは、第1のネットワークデバイスから第2のパケットを受信する。第2のパケットはインターネットプロトコルバージョン6(IPv6)ヘッダを用いてカプセル化され、IPv6ヘッダはトンネルヘッダを搬送する。第2のネットワークデバイスは、IPv6ヘッダからトンネルヘッダを取得する。第2のネットワークデバイスは、第1のパケットを取得するために第2のパケットをカプセル化解除する。第1のパケットはIPv6ヘッダを含まない。第2のネットワークデバイスは、トンネルヘッダに基づいて第1のパケットを転送する。
【0024】
ある可能な実装形態では、トンネルヘッダは、VXLANヘッダ、GTPヘッダ、GREヘッダ、IP-in-IPヘッダ、ISATAPヘッダ、IPv4 over IPv6ヘッダ、NVGREヘッダ、L2TPv3ヘッダ、およびMPLS in GREヘッダの1つまたは複数を含む。
【0025】
ある可能な実装形態では、IPヘッダはIPv6拡張ヘッダであり、IPv6拡張ヘッダは終点オプションヘッダDOHを含む。
【0026】
ある可能な実装形態では、DOHに含まれるオプション(Options)部分は、トンネルヘッダを搬送する。
【0027】
ある可能な実装形態では、トンネルヘッダがVXLANヘッダまたはGTPヘッダであるとき、IPv6拡張ヘッダはさらに、セグメントルーティングヘッダSRHを含む。
【0028】
ある可能な実装形態では、トンネルヘッダは、SRHのSID listにおいて搬送される。
【0029】
ある可能な実装形態では、トンネルヘッダは、SRHのSID listの中の第2のネットワークデバイスに対応するSIDにおいて搬送される。
【0030】
ある可能な実装形態では、第2のネットワークデバイスがIPv6ヘッダからトンネルヘッダを取得することは、次のことを含む。第2のネットワークデバイスが、第2のパケットの終点アドレスフィールドが第2のネットワークデバイスのSIDを含むと決定する。第2のパケットの終点アドレスフィールドが第2のネットワークデバイスのSIDを含むとの決定に応答して、第2のネットワークデバイスが、第2のネットワークデバイスのSIDからトンネルヘッダを取得する。
【0031】
ある可能な実装形態では、第2のネットワークデバイスのSIDのタイプは、仮想ネットワークエンドポイント(Endpoint with decapsulation and VXLAN table lookup use, END.VN)タイプである。SIDはSRv6 SIDである。SIDのlocator部分はトンネルエンドポイントのアドレスを含み、SIDのfunction部分はトンネルヘッダを含む。SIDの行為(behavior)に対応する転送動作は、次のことを含む。パケットを受信した後、終点トンネルエンドポイントが、パケット中のSIDの中のトンネルヘッダに基づいて対応する実例の転送テーブルを取得し、パケットをカプセル化解除し、ペイロード(Payload)中のMACアドレスなどに基づいて転送テーブルを探索し、パケットを転送する。パケットをカプセル化解除することは、第1のパケットを取得するために第2のパケットにおいてカプセル化されるIPv6基本ヘッダを取り除くこと、または第1のパケットを取得するために第2のパケットにおいてカプセル化されるIPv6基本ヘッダおよびIPv6拡張ヘッダを取り除くことを含む。
【0032】
任意選択で、第2のネットワークデバイスのアドレスに対応するSIDは、END.VNタイプのSIDである。
【0033】
任意選択で、第2のネットワークデバイスのアドレスに対応するSIDは、第2のネットワークデバイスのSRv6 locatorである。ある可能な実装形態では、第2のネットワークデバイスが第1のネットワークデバイスから第2のパケットを受信する前に、方法はさらに次のことを含む。第2のネットワークデバイスが、第2のネットワークデバイスのSIDを第1のネットワークデバイスに広告する。
【0034】
ある可能な実装形態では、方法はさらに次のことを含む。第2のネットワークデバイスが、転送エントリを確立する。転送エントリは、第2のネットワークデバイスのSIDを含む。第2のネットワークデバイスが、第1のパケットを取得するために転送エントリに基づいて第2のパケットをカプセル化解除し、VNIに基づいて第1のパケットを転送する。
【0035】
ある可能な実装形態では、トンネルヘッダがVXLANヘッダまたはGTPヘッダであるとき、IPv6ヘッダはIPv6基本ヘッダである。
【0036】
ある可能な実装形態では、トンネルヘッダは、IPv6基本ヘッダの終点アドレスフィールドにおいて搬送される。
【0037】
ある可能な実装形態では、第2のネットワークデバイスがIPv6ヘッダからトンネルヘッダを取得することは、次のことを含む。第2のネットワークデバイスが、終点アドレスフィールドが第2のネットワークデバイスのアドレスを含むと決定する。終点アドレスフィールドが第2のネットワークデバイスのアドレスを含むとの決定に応答して、第2のネットワークデバイスが、終点アドレスフィールドからトンネルヘッダを取得する。
【0038】
本出願の第3の態様によれば、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パケットカプセル化の柔軟性を改善する。
【0039】
ある可能な実装形態では、IPv6ヘッダがVNIを搬送する方式は、VNIをIPv6ヘッダに追加することであってもよく、またはIPv6ヘッダにVXLANヘッダをカプセル化することであってもよい。
【0040】
ある可能な実装形態では、IPv6ヘッダはIPv6基本ヘッダである。
【0041】
ある可能な実装形態では、VNIは、IPv6基本ヘッダの終点アドレスフィールドにおいて搬送される。IPv6基本ヘッダの終点アドレスフィールドは128ビット(bit)であるので、パケット転送プロセスにおいてパケット転送に使用されるプレフィックス情報またはSRv6 locatorは普通は、128ビットの一部を占有し、たとえば最初の64ビットだけを占有する。このようにして、VNIは、終点アドレスフィールドの中にある、プレフィックス情報またはSRv6 locatorによって占有されていないビットに含められ、IPv6基本ヘッダの終点アドレスフィールドが多重化される。VNIを搬送するために、追加のヘッダがカプセル化される必要はない。これは、パケットカプセル化の効率を改善する。
【0042】
ある可能な実装形態では、終点アドレスフィールドの65番目のビットから128番目のビットがVNIを搬送する。
【0043】
ある可能な実装形態では、終点アドレスフィールドはVXLANヘッダを含み、VXLANヘッダはVNIを搬送する。VXLANヘッダは64ビットを占有するので、VXLANヘッダは終点アドレスフィールドにおいて完全に搬送され得る。VNIに加えて、VXLANヘッダはさらに、VXLANパケット転送に使用されるいくつかの指示情報を含む。完全なVXLANヘッダが終点アドレスフィールドにおいて搬送されるので、パケット転送の信頼性が改善される。
【0044】
ある可能な実装形態では、終点アドレスフィールドの65番目のビットから128番目のビットがVXLANヘッダを搬送する。
【0045】
ある可能な実装形態では、終点アドレスフィールドの中の終点アドレスは、終点アドレスフィールドにおいて搬送されるVNI情報に基づいてパケットを転送するように第2のネットワークデバイスに指示する。
【0046】
ある可能な実装形態では、IPv6ヘッダはIPv6拡張ヘッダであり、IPv6拡張ヘッダはDOHまたはSRHを含む。任意選択で、第1のネットワークデバイスが第2のパケットを取得するために第1のパケットにIPv6ヘッダをカプセル化することは、次のことを含む。第1のネットワークデバイスが、IPv6拡張ヘッダおよびIPv6基本ヘッダを第1のパケットにカプセル化する。IPv6拡張ヘッダがVNIを搬送し、IPv6基本ヘッダがパケット転送のために使用される。
【0047】
ある可能な実装形態では、DOHはタイプ長さ値TLVを含み、TLVのタイプフィールドは、DOHがVNIを搬送することを示す。
【0048】
ある可能な実装形態では、DOHがVNIを搬送するために使用され、またはDOHがVXLANヘッダを搬送するために使用され、VXLANヘッダがVNIを搬送する。
【0049】
ある可能な実装形態では、VNIは、SRHのSID listにおいて搬送される。任意選択で、VNIは、SID listの中の第2のネットワークデバイスに対応するSIDにおいて搬送される。IPv6転送プレーンベースセグメントルーティングSRv6の応用シナリオにおいて、パスの一部またはすべてが明確に指定される必要があるとき、SRHの中のSID listを使用することによって明確なパスを示すために、SRHがパケットに入れられてもよい。SID listの中の各SIDの長さは、128ビット(bit)であると定められる。パケット転送プロセスにおけるパケット転送に使用されるSIDについての情報は、普通は128ビットの一部だけであり、または、ネットワークデバイスによって広告されるSIDは圧縮されたSIDであることがあり、これは、128ビットの一部だけを占有し、たとえば64ビットだけを占有する。このようにして、VNIが、SID listの中の第2のネットワークデバイスのSIDの中にあり占有されていないビットに含められ、IPv6拡張ヘッダのセグメントルーティングヘッダの中のセグメント識別子リストが多重化される。VNIを搬送するために、追加のヘッダがカプセル化される必要はない。これは、パケットカプセル化の効率を改善する。
【0050】
ある可能な実装形態では、第2のネットワークデバイスのSIDはVXLANヘッダを含み、VXLANヘッダはVNIを搬送する。
【0051】
ある可能な実装形態では、第2のネットワークデバイスのSIDは、SIDにおいて搬送されるVNIに基づいてパケットを転送するように第2のネットワークデバイスに指示する。第2のパケットを受信した後、第2のネットワークデバイスは、第2のパケットにおいて搬送されるSIDに基づいて、第2のネットワークデバイスが明確なパス上の終端ノードであると決定し、第2のパケットの中のVNIに基づいてパケットを転送する。第2のネットワークデバイスのSIDは、ロケータ(locator)フィールドおよび機能(function)フィールドを含む。任意選択で、第2のネットワークデバイスのSIDはさらに、パラメータ(argument)フィールドを含み得る。
【0052】
ある可能な実装形態では、VNIは、第2のネットワークデバイスのSIDのfunctionフィールドにおいて搬送される。
【0053】
ある可能な実装形態では、第2のネットワークデバイスのSIDの中のfunctionフィールドはVXLANヘッダを含み、VXLANヘッダはVNIを搬送する。
【0054】
ある可能な実装形態では、IPv6ヘッダの中のフローラベルは、VXLANパケットに対応するポート番号を搬送する。
【0055】
ある可能な実装形態では、ポート番号は、第2のパケットの転送プロセスにおいて負荷バランス処理を実施するために使用され、またはポート番号は、第2のパケットがVXLANパケットを含むことを決定するために使用される。
【0056】
ある可能な実装形態では、VXLANパケットのソースポート番号は、VXLANパケットのペイロード(payload)に基づく計算を通じて取得され、たとえば、ハッシュ(hash)アルゴリズムを使用することによってVXLANパケットのペイロードに対してハッシュを実施することによって取得される。VXLANパケットから取得されたポート番号の値は、第2のパケットのフローラベルにおいて搬送され得る。第2のパケットのフローラベルの値を計算するための方法は、VXLANパケットにおいて負荷バランスに使用されるUDP始点ポート番号を計算するための方法と同じである。すなわち、フローラベルにおいて搬送されるポート番号はまた、第2のパケットの転送プロセスにおいて実現される負荷バランス効果が従来のVXLANパケットのUDP始点ポート番号を使用することによって実現される負荷バランス効果と一致することを確実にするために、第1のパケットにおけるペイロードに基づく計算を通じて取得される。
【0057】
ある可能な実装形態では、IPv6ヘッダはさらにVXLANフラグ(flags)を含み、VXLAN flagsは、第2のパケットが有効なVNIを搬送することを示すflagを含む。
【0058】
ある可能な実装形態では、IPv6ヘッダはVXLANヘッダを搬送し、VXLANヘッダはVNIを搬送する。
【0059】
ある可能な実装形態では、IPv6ヘッダの次ヘッダ(Next Header)は、第2のパケットの中のIPv6ヘッダに隣接する次のヘッダがイーサネットヘッダであることを示す。IPv6ヘッダはVNIを搬送するために使用され、パケットにおいてVNIを搬送するためにUDPヘッダを使用する必要はない。したがって、IPv6ヘッダのnext headerは、イーサネット(Ethernet, ETH)タイプに設定される。したがって、第2のパケットの転送プロセスにおけるパケット処理の効率が改善され得る。
【0060】
ある可能な実装形態では、第1のネットワークデバイスが第1のパケットに基づいてVNIを取得することは、次のことを含む。第1のネットワークデバイスが、第1のパケットを受信するためのインターフェースに基づいてVNIを取得する。VNIは、第1のパケットを受信するためのインターフェースに対応する。
【0061】
本出願の第4の態様によれば、VXLANパケット送信方法が提供される。この方法は次のことを含む。第2のネットワークデバイスが、第1のネットワークデバイスから第2のパケットを受信する。第2のパケットはIPv6ヘッダを用いてカプセル化され、IPv6ヘッダはVNIを搬送する。第2のネットワークデバイスが、IPv6ヘッダからVNIを取得する。第2のネットワークデバイスが、第1のパケットを取得するために第2のパケットをカプセル化解除する。第1のパケットはIPv6ヘッダを含まない。第2のネットワークデバイスが、VNIに基づいて第1のパケットを転送する。
【0062】
ある可能な実装形態では、IPv6ヘッダがVNIを搬送する方式は、VNIをIPv6ヘッダに追加することであってもよく、またはIPv6ヘッダにVXLANヘッダをカプセル化することであってもよく、VXLANヘッダはVNIを含む。
【0063】
ある可能な実装形態では、IPv6ヘッダはIPv6基本ヘッダである。
【0064】
ある可能な実装形態では、VNIは、IPv6基本ヘッダの終点アドレスフィールドにおいて搬送される。
【0065】
ある可能な実装形態では、終点アドレスフィールドはVXLANヘッダを含み、VXLANヘッダはVNIを搬送する。
【0066】
ある可能な実装形態では、終点アドレスフィールドの65番目のビットから128番目のビットがVNIを搬送する。
【0067】
ある可能な実装形態では、終点アドレスフィールド65番目のビットから128番目のビットがVXLANヘッダを搬送する。
【0068】
ある可能な実装形態では、第2のネットワークデバイスがIPv6ヘッダからVNIを取得することは、次のことを含む。第2のネットワークデバイスが、終点アドレスフィールドが第2のネットワークデバイスのアドレスを含むと決定する。終点アドレスフィールドが第2のネットワークデバイスのアドレスを含むとの決定に応答して、第2のネットワークデバイスが、終点アドレスフィールドからVNIを取得する。
【0069】
ある可能な実装形態では、第2のネットワークデバイスが第1のネットワークデバイスから第2のパケットを受信する前に、方法はさらに次のことを含む。第2のネットワークデバイスが、第2のネットワークデバイスに送信されるVXLANパケットのVNIを第2のネットワークデバイスのアドレスに含めるように第1のネットワークデバイスに指示するために、第2のネットワークデバイスのアドレスを第1のネットワークデバイスに広告する。
【0070】
ある可能な実装形態では、IPv6ヘッダはIPv6拡張ヘッダであり、IPv6拡張ヘッダはDOHまたはSRHを含む。
【0071】
ある可能な実装形態では、DOHはTLVを含み、TLVのタイプフィールドは、DOHがVNIを搬送することを示す。
【0072】
ある可能な実装形態では、DOHはVXLANヘッダを含み、VXLANヘッダはVNIを搬送する。
【0073】
ある可能な実装形態では、VNIは、SRHのSID listにおいて搬送される。
【0074】
ある可能な実装形態では、VNIは、SRHのSID listの中の第2のネットワークデバイスに対応するSIDにおいて搬送される。
【0075】
ある可能な実装形態では、第2のネットワークデバイスのSIDはVXLANヘッダを含み、VXLANヘッダはVNIを搬送する。
【0076】
ある可能な実装形態では、第2のネットワークデバイスがIPv6ヘッダからVNIを取得することは、次のことを含む。第2のネットワークデバイスが、第2のパケットの終点アドレスフィールドが第2のネットワークデバイスのSIDを含むと決定する。第2のパケットの終点アドレスフィールドが第2のネットワークデバイスのSIDを含むとの決定に応答して、第2のネットワークデバイスが、第2のネットワークデバイスのSIDからVNIを取得する。
【0077】
ある可能な実装形態では、第2のネットワークデバイスのSIDのタイプはEND.VNタイプである。SIDはSRv6 SIDである。SIDのlocator部分はVXLANパケットのVXLANトンネルエンドポイント(VXLAN tunnel endpoints, VTEP)のアドレスを含み、SIDのfunction部分はVXLANヘッダを含む。SIDの行為(behavior)に対応する転送動作は、次のことを含む。パケットを受信した後、終点VTEPノードが、パケットのSIDの中のVNIに基づいて対応するVXLANの実例の転送テーブルを取得し、パケットをカプセル化解除し、ペイロード(Payload)中のMACアドレスなどに基づいて転送テーブルを探索し、パケットを転送する。パケットをカプセル化解除することは、第1のパケットを取得するために第2のパケットにおいてカプセル化されるIPv6基本ヘッダを取り除くこと、または第1のパケットを取得するために第2のパケットにおいてカプセル化されるIPv6基本ヘッダおよびIPv6拡張ヘッダを取り除くことを含む。
【0078】
任意選択で、第2のネットワークデバイスのアドレスに対応するSIDは、END.VNタイプのSIDである。
【0079】
任意選択で、第2のネットワークデバイスのアドレスに対応するSIDは、第2のネットワークデバイスのSRv6 locatorである。
【0080】
ある可能な実装形態では、第2のネットワークデバイスが第1のネットワークデバイスから第2のパケットを受信する前に、方法はさらに次のことを含む。第2のネットワークデバイスが、第2のネットワークデバイスに送信されるVXLANパケットのVNIを第2のネットワークデバイスのSIDに含めるように第1のネットワークデバイスに指示するために、第2のネットワークデバイスのSIDを第1のネットワークデバイスに広告する。
【0081】
ある可能な実装形態では、方法はさらに次のことを含む。第2のネットワークデバイスが、転送エントリを確立する。転送エントリは、第2のネットワークデバイスのSIDを含む。第2のネットワークデバイスが、第1のパケットを取得するために転送エントリに基づいて第2のパケットをカプセル化解除し、VNIに基づいて第1のパケットを転送する。
【0082】
ある可能な実装形態では、IPv6ヘッダの中のフローラベルは、VXLANパケットに対応するポート番号を搬送する。任意選択で、ポート番号は、第2のパケットの転送プロセスにおいて負荷バランス処理を実施するために使用される。
【0083】
ある可能な実装形態では、IPv6ヘッダはさらにVXLANフラグ(flags)を含み、VXLAN flagsは、第2のパケットが有効なVNIを搬送することを示すflagを含む。
【0084】
本出願の第5の態様によれば、GTPパケット送信方法が提供される。この方法は次のことを含む。第1のネットワークデバイスが、第1のパケットを受信し、第1のパケットに基づいてトンネルエンドポイント識別子(tunnel endpoint identifier, TEID)を取得する。第1のネットワークデバイスが、第2のパケットを取得するために第1のパケットにIPv6ヘッダをカプセル化する。IPv6ヘッダはTEIDを搬送する。第1のネットワークデバイスが、第2のパケットを第2のネットワークデバイスに送信する。すなわち、第1のパケットに対応するTEIDを取得した後、第1のネットワークデバイスが第1のパケットにIPv6ヘッダをカプセル化し、IPv6ヘッダにTEIDを含める。TEIDを搬送するために、追加のUDPヘッダがカプセル化される必要はない。これは、パケットカプセル化のためのデータの量を減らし、パケットカプセル化の効率を改善する。加えて、IPv6ヘッダにTEIDを含めることによって、GTPパケットがIPv6ネットワークを通り抜けるための新しい方法が提供される。この方法では、TEIDを搬送するためにUDPヘッダを使用する必要はない。IPv6ヘッダは、パケットがIPv6ネットワーク上で転送されるときの基本的なパケットカプセル化方式であるので、この方法はGTPパケットカプセル化の柔軟性を改善する。
【0085】
ある可能な実装形態では、IPv6ヘッダがTEIDを搬送する方式は、TEIDをIPv6ヘッダに追加することであってもよく、またはIPv6ヘッダにGTPヘッダをカプセル化することであってもよく、GTPヘッダはTEIDを含む。
【0086】
ある可能な実装形態では、IPv6ヘッダはIPv6基本ヘッダである。
【0087】
ある可能な実装形態では、TEIDは、IPv6基本ヘッダの終点アドレスフィールドにおいて搬送される。IPv6基本ヘッダの終点アドレスフィールドは128ビット(bit)であるので、パケット転送プロセスにおいてパケット転送に使用されるプレフィックス情報またはSRv6 locatorは普通は、128ビットの一部を占有し、たとえば最初の64ビットだけを占有する。このようにして、TEIDは、終点アドレスフィールドの中にある、プレフィックス情報またはSRv6 locatorによって占有されないビットに含められ、IPv6基本ヘッダの終点アドレスフィールドが多重化される。TEIDを搬送するために、追加のヘッダがカプセル化される必要はない。これは、パケットカプセル化の効率を改善する。
【0088】
ある可能な実装形態では、終点アドレスフィールドはGTPヘッダを含み、GTPヘッダはTEIDを搬送する。GTPヘッダは64ビットを占有するので、GTPヘッダは終点アドレスフィールドにおいて完全に搬送され得る。TEIDに加えて、GTPヘッダはさらに、GTPパケット転送に使用されるいくつかの指示情報を含む。完全なGTPヘッダが終点アドレスフィールドにおいて搬送されるので、パケット転送の信頼性が改善される。
【0089】
ある可能な実装形態では、終点アドレスフィールドの中の終点アドレスは、終点アドレスフィールドにおいて搬送されるTEID情報に基づいてパケットを転送するように第2のネットワークデバイスに指示する。
【0090】
ある可能な実装形態では、IPv6ヘッダはIPv6拡張ヘッダであり、IPv6拡張ヘッダはDOHまたはSRHを含む。任意選択で、第1のネットワークデバイスが第2のパケットを取得するために第1のパケットにIPv6ヘッダをカプセル化することは、次のことを含む。第1のネットワークデバイスが、IPv6拡張ヘッダおよびIPv6基本ヘッダを第1のパケットにカプセル化する。IPv6拡張ヘッダがVNIを搬送し、IPv6基本ヘッダがパケット転送のために使用される。
【0091】
ある可能な実装形態では、DOHはTLVを含み、TLVのタイプフィールドは、DOHがTEIDを搬送することを示す。
【0092】
ある可能な実装形態では、DOHがTEIDを搬送するために使用され、またはDOHがGTPヘッダを搬送するために使用され、GTPヘッダがTEIDを搬送する。
【0093】
ある可能な実装形態では、TEIDは、SRHのSID listにおいて搬送される。任意選択で、TEIDは、SID listの中の第2のネットワークデバイスに対応するSIDにおいて搬送される。IPv6転送プレーンベースセグメントルーティングSRv6の応用シナリオにおいて、パスの一部またはすべてが明確に指定される必要があるとき、SRHの中のSID listを使用することによって明確なパスを示すために、SRHがパケットに入れられてもよい。SID listの中の各SIDの長さは、128ビット(bit)であると定められる。パケット転送プロセスにおけるパケット転送に使用されるSIDについての情報は、普通は128ビットの一部だけであり、または、ネットワークデバイスによって広告されるSIDは圧縮されたSIDであることがあり、これは、128ビットの一部だけを占有し、たとえば64ビットだけを占有する。このようにして、TEIDが、SID listの中の第2のネットワークデバイスのSIDの中にあり占有されていないビットに含められ、IPv6拡張ヘッダのセグメントルーティングヘッダの中のセグメント識別子リストが多重化される。TEIDを搬送するために、追加のヘッダがカプセル化される必要はない。これは、パケットカプセル化の効率を改善する。
【0094】
ある可能な実装形態では、第2のネットワークデバイスのSIDはGTPヘッダを含み、GTPヘッダはTEIDを搬送する。
【0095】
ある可能な実装形態では、第2のネットワークデバイスのSIDは、SIDにおいて搬送されるTEIDに基づいてパケットを転送するように第2のネットワークデバイスに指示する。第2のパケットを受信した後、第2のネットワークデバイスは、第2のパケットにおいて搬送されるSIDに基づいて、第2のネットワークデバイスが明確なパス上の終端ノードであると決定し、第2のパケットの中のTEIDに基づいてパケットを転送する。第2のネットワークデバイスのSIDは、ロケータ(locator)フィールドおよび機能(function)フィールドを含む。任意選択で、第2のネットワークデバイスのSIDはさらに、パラメータ(argument)フィールドを含み得る。
【0096】
ある可能な実装形態では、TEIDは、第2のネットワークデバイスのSIDのfunctionフィールドにおいて搬送される。
【0097】
ある可能な実装形態では、第2のネットワークデバイスのSIDの中のfunctionフィールドはGTPヘッダを含み、GTPヘッダはTEIDを搬送する。
【0098】
ある可能な実装形態では、IPv6ヘッダの中のフローラベルは、GTPパケットに対応するポート番号を搬送する。
【0099】
ある可能な実装形態では、ポート番号は、第2のパケットの転送プロセスにおいて負荷バランス処理を実施するために使用され、またはポート番号は、第2のパケットがGTPパケットを含むことを決定するために使用される。
【0100】
ある可能な実装形態では、フローラベルにおいて搬送されるポート番号は、第2のパケットの転送プロセスにおいて実現される負荷バランス効果がUDP始点ポート番号を使用することによって実現される負荷バランス効果と一致することを確実にするために、第1のパケットにおけるペイロード(payload)に基づく計算を通じて取得され得る。第1のパケットにおけるペイロードに基づいてポート番号を計算するために使用される計算方法は、UDP始点ポート番号の計算方法を再使用し得る。
【0101】
ある可能な実装形態では、IPv6ヘッダはさらにTEIDフラグ(flag)を含み、TEID flagは、第2のパケットがTEIDを搬送することを示す。
【0102】
ある可能な実装形態では、IPv6ヘッダはGTPヘッダを搬送し、GTPヘッダはTEIDを搬送する。
【0103】
ある可能な実装形態では、IPv6ヘッダの次ヘッダ(Next Header)は、第2のパケットの中のIPv6ヘッダに隣接する次のヘッダがイーサネットヘッダであることを示す。IPv6ヘッダはTEIDを搬送するために使用され、パケットにおいてTEIDを搬送するためにUDPヘッダを使用する必要はない。したがって、IPv6ヘッダのnext headerは、イーサネット(Ethernet, ETH)タイプに設定される。したがって、第2のパケットの転送プロセスにおけるパケット処理の効率が改善され得る。
【0104】
ある可能な実装形態では、第1のネットワークデバイスが第1のパケットに基づいてTEIDを取得することは、次のことを含む。第1のネットワークデバイスが、第1のパケットを受信するためのインターフェースに基づいてTEIDを取得する。TEIDは、第1のパケットを受信するためのインターフェースに対応する。
【0105】
本出願の第6の態様によれば、GTPパケット送信方法が提供される。この方法は次のことを含む。第2のネットワークデバイスが、第1のネットワークデバイスから第2のパケットを受信する。第2のパケットはIPv6ヘッダを用いてカプセル化され、IPv6ヘッダはTEIDを搬送する。第2のネットワークデバイスが、IPv6ヘッダからTEIDを取得する。第2のネットワークデバイスが、第1のパケットを取得するために第2のパケットをカプセル化解除する。第1のパケットはIPv6ヘッダを含まない。第2のネットワークデバイスが、TEIDに基づいて第1のパケットを転送する。
【0106】
ある可能な実装形態では、IPv6ヘッダがTEIDを搬送する方式は、TEIDをIPv6ヘッダに追加することであってもよく、またはIPv6ヘッダにGTPヘッダをカプセル化することであってもよく、GTPヘッダはTEIDを含む。
【0107】
ある可能な実装形態では、IPv6ヘッダはIPv6基本ヘッダである。
【0108】
ある可能な実装形態では、TEIDは、IPv6基本ヘッダの終点アドレスフィールドにおいて搬送される。
【0109】
ある可能な実装形態では、終点アドレスフィールドはGTPヘッダを含み、GTPヘッダはTEIDを搬送する。
【0110】
ある可能な実装形態では、第2のネットワークデバイスがIPv6ヘッダからTEIDを取得することは、次のことを含む。第2のネットワークデバイスが、終点アドレスフィールドが第2のネットワークデバイスのアドレスを含むと決定する。終点アドレスフィールドが第2のネットワークデバイスのアドレスを含むとの決定に応答して、第2のネットワークデバイスが、終点アドレスフィールドからTEIDを取得する。
【0111】
ある可能な実装形態では、第2のネットワークデバイスが第1のネットワークデバイスから第2のパケットを受信する前に、方法はさらに次のことを含む。第2のネットワークデバイスが、第2のネットワークデバイスに送信されるGTPパケットのTEIDを第2のネットワークデバイスのアドレスに含めるように第1のネットワークデバイスに指示するために、第2のネットワークデバイスのアドレスを第1のネットワークデバイスに広告する。
【0112】
ある可能な実装形態では、IPv6ヘッダはIPv6拡張ヘッダであり、IPv6拡張ヘッダはDOHまたはSRHを含む。
【0113】
ある可能な実装形態では、DOHはTLVを含み、TLVのタイプフィールドは、DOHがTEIDを搬送することを示す。
【0114】
ある可能な実装形態では、DOHはGTPヘッダを含み、GTPヘッダはTEIDを搬送する。
【0115】
ある可能な実装形態では、TEIDは、SRHのSID listにおいて搬送される。
【0116】
ある可能な実装形態では、TEIDは、SRHのSID listの中の第2のネットワークデバイスに対応するSIDにおいて搬送される。
【0117】
ある可能な実装形態では、第2のネットワークデバイスのSIDはGTPヘッダを含み、GTPヘッダはTEIDを搬送する。
【0118】
ある可能な実装形態では、第2のネットワークデバイスがIPv6ヘッダからTEIDを取得することは、次のことを含む。第2のネットワークデバイスが、第2のパケットの終点アドレスフィールドが第2のネットワークデバイスのSIDを含むと決定する。第2のパケットの終点アドレスフィールドが第2のネットワークデバイスのSIDを含むとの決定に応答して、第2のネットワークデバイスが、第2のネットワークデバイスのSIDからTEIDを取得する。
【0119】
ある可能な実装形態では、第2のネットワークデバイスのSIDのタイプはEND.VNタイプである。SIDはSRv6 SIDである。SIDのlocator部分はGTPパケットのトンネルエンドポイントのアドレスを含み、SIDのfunction部分はGTPヘッダを含む。SIDの行為(behavior)に対応する転送動作は、次のことを含む。パケットを受信した後、終点トンネルエンドポイントが、SIDの中のTEIDに基づいて対応する実例の転送テーブルを取得し、パケットをカプセル化解除し、ペイロード(Payload)中のMACアドレスなどに基づいて転送テーブルを探索し、パケットを転送する。パケットをカプセル化解除することは、第1のパケットを取得するために第2のパケットにおいてカプセル化されるIPv6基本ヘッダを取り除くこと、または第1のパケットを取得するために第2のパケットにおいてカプセル化されるIPv6基本ヘッダおよびIPv6拡張ヘッダを取り除くことを含む。
【0120】
任意選択で、第2のネットワークデバイスのアドレスに対応するSIDは、END.VNタイプのSIDである。
【0121】
任意選択で、第2のネットワークデバイスのアドレスに対応するSIDは、第2のネットワークデバイスのSRv6 locatorである。
【0122】
ある可能な実装形態では、第2のネットワークデバイスが第1のネットワークデバイスから第2のパケットを受信する前に、方法はさらに次のことを含む。第2のネットワークデバイスが、第2のネットワークデバイスに送信されるGTPパケットのTEIDを第2のネットワークデバイスのSIDに含めるように第1のネットワークデバイスに指示するために、第2のネットワークデバイスのSIDを第1のネットワークデバイスに広告する。
【0123】
ある可能な実装形態では、方法はさらに次のことを含む。第2のネットワークデバイスが、転送エントリを確立する。転送エントリは、第2のネットワークデバイスのSIDを含む。第2のネットワークデバイスが、第1のパケットを取得するために転送エントリに基づいて第2のパケットをカプセル化解除し、TEIDに基づいて第1のパケットを転送する。
【0124】
ある可能な実装形態では、IPv6ヘッダの中のフローラベルは、GTPパケットに対応するポート番号を搬送する。任意選択で、ポート番号は、第2のパケットの転送プロセスにおいて負荷バランス処理を実施するために使用される。
【0125】
ある可能な実装形態では、IPv6ヘッダはさらにTEID flagを含み、TEID flagは、第2のパケットがTEIDを搬送することを示す。
【0126】
本出願の第7の態様によれば、第1のネットワークデバイスが提供され、第1の態様もしくは第1の態様の可能な実装形態のいずれか1つによる方法を実施し、第3の態様もしくは第3の態様の可能な実装形態のいずれか1つによる方法を実施し、または第5の態様もしくは第5の態様の可能な実装形態のいずれか1つによる方法を実施するように構成される。具体的には、第1のネットワークデバイスは、第1の態様もしくは第1の態様の可能な設計のいずれか1つによる方法を実施するように構成されるユニット、第3の態様もしくは第3の態様の可能な実装形態のいずれか1つによる方法を実施するように構成されるユニット、または第5の態様もしくは第5の態様の可能な実装形態のいずれか1つによる方法を実施するように構成されるユニットを含む。
【0127】
本出願の第8の態様によれば、第2のネットワークデバイスが提供され、第2の態様もしくは第2の態様の可能な実装形態のいずれか1つによる方法を実施し、第4の態様もしくは第4の態様の可能な実装形態のいずれか1つによる方法を実施し、または第6の態様もしくは第6の態様の可能な実装形態のいずれか1つによる方法を実施するように構成される。具体的には、第2のネットワークデバイスは、第2の態様もしくは第2の態様の可能な設計のいずれか1つによる方法を実施するように構成されるユニット、第4の態様もしくは第4の態様の可能な実装形態のいずれか1つによる方法を実施するように構成されるユニット、または第6の態様もしくは第6の態様の可能な実装形態のいずれか1つによる方法を実施するように構成されるユニットを含む。
【0128】
本出願の第9の態様によれば、GTPパケット送信のためのネットワークシステムが提供される。ネットワークシステムは、第1のネットワークデバイスおよび第2のネットワークデバイスを含む。第1のネットワークデバイスは、第1の態様もしくは第1の態様の可能な設計のいずれか1つによる方法を実施し、第3の態様もしくは第3の態様の可能な実装形態のいずれか1つによる方法を実施し、または第5の態様もしくは第5の態様の可能な実装形態のいずれか1つによる方法を実施するように構成される。第2のネットワークデバイスは、第2の態様もしくは第2の態様の可能な設計のいずれか1つによる方法を実施し、第4の態様もしくは第4の態様の可能な実装形態のいずれか1つによる方法を実施し、または第6の態様もしくは第6の態様の可能な実装形態のいずれか1つによる方法を実施するように構成される。
【0129】
本出願の第10の態様によれば、ネットワークデバイスが提供される。デバイスはプロセッサおよびメモリを含む。メモリは命令またはプログラムコードを記憶するように構成される。プロセッサは、ネットワークデバイスが、第1の態様もしくは第1の態様の可能な設計のいずれか1つによる方法を実施すること、第2の態様もしくは第2の態様の可能な設計のいずれか1つによる方法を実施すること、第3の態様もしくは第3の態様の可能な設計のいずれか1つによる方法を実施すること、第4の態様もしくは第4の態様の可能な設計のいずれか1つによる方法を実施すること、第5の態様もしくは第5の態様の可能な設計のいずれか1つによる方法を実施すること、または第6の態様もしくは第6の態様の可能な設計のいずれか1つによる方法を実施することを可能にするために、メモリの中の命令またはプログラムコードを実行するように構成される。
【0130】
本出願の第11の態様によれば、コンピュータ可読記憶媒体が提供される。コンピュータ可読記憶媒体は命令を記憶する。命令がプロセッサ上で実行されるとき、コンピュータまたはネットワークデバイスは、第1の態様もしくは第1の態様の可能な設計のいずれか1つによる方法を実施すること、第2の態様もしくは第2の態様の可能な設計のいずれか1つによる方法を実施すること、第3の態様もしくは第3の態様の可能な設計のいずれか1つによる方法を実施すること、第4の態様もしくは第4の態様の可能な設計のいずれか1つによる方法を実施すること、第5の態様もしくは第5の態様の可能な設計のいずれか1つによる方法を実施すること、または第6の態様もしくは第6の態様の可能な設計のいずれか1つによる方法を実施することが可能にされる。
【0131】
本出願の第12の態様によれば、コンピュータプログラム製品が提供される。コンピュータプログラム製品はプログラムを含む。プログラムがプロセッサ上で実行されるとき、コンピュータまたはネットワークデバイスは、第1の態様もしくは第1の態様の可能な設計のいずれか1つによる方法を実施すること、第2の態様もしくは第2の態様の可能な設計のいずれか1つによる方法を実施すること、第3の態様もしくは第3の態様の可能な設計のいずれか1つによる方法を実施すること、第4の態様もしくは第4の態様の可能な設計のいずれか1つによる方法を実施すること、第5の態様もしくは第5の態様の可能な設計のいずれか1つによる方法を実施すること、または第6の態様もしくは第6の態様の可能な設計のいずれか1つによる方法を実施することが可能にされる。
【0132】
本出願の第13の態様によれば、チップが提供され、インターフェース回路およびプロセッサを含む。インターフェース回路はプロセッサに接続される。プロセッサは、チップが、第1の態様もしくは第1の態様の可能な設計のいずれか1つによる方法を実施すること、第2の態様もしくは第2の態様の可能な設計のいずれか1つによる方法を実施すること、第3の態様もしくは第3の態様の可能な設計のいずれか1つによる方法を実施すること、第4の態様もしくは第4の態様の可能な設計のいずれか1つによる方法を実施すること、第5の態様もしくは第5の態様の可能な設計のいずれか1つによる方法を実施すること、または第6の態様もしくは第6の態様の可能な設計のいずれか1つによる方法を実施することを可能にするように構成される。
【0133】
本出願の実施形態の技術的な方策および既存の技術をより明確に示すために、実施形態または既存の技術を説明するために使用される添付の図面を、以下で簡単に紹介する。以下の説明における添付の図面は、本出願において記録されるいくつかの実施形態のみを示すことが明らかであり、当業者はそれでも、創造的な努力を伴わずにこれらの添付の図面から他の図面を導くことができる。
【図面の簡単な説明】
【0134】
図1a】本出願のある実施形態による、VXLANネットワークの応用シナリオの概略図である。
図1b】本出願のある実施形態による、VXLANパケットカプセル化構造の概略図である。
図1c】本出願のある実施形態による、GTPパケットカプセル化構造の概略図である。
図2】本出願のある実施形態による、パケット送信方法のフローチャートである。
図3a】本出願のある実施形態による、DOHのフォーマットの概略図である。
図3b】本出願のある実施形態による、DOHにGREヘッダをカプセル化することの概略図である。
図3c】本出願のある実施形態による、GREヘッダのフォーマットの概略図である。
図4a】本出願のある実施形態による、TLVのフォーマットの概略図である。
図4b】本出願のある実施形態による、TLVを使用することによってGREヘッダをカプセル化することの概略図である。
図5a】本出願のある実施形態による、SRHのフォーマットの概略図である。
図5b】本出願のある実施形態による、SIDのフォーマットの概略図である。
図5c】本出願のある実施形態による、SIDを使用することによってGTPヘッダをカプセル化することの概略図である。
図6a】本出願のある実施形態による、IPv6基本ヘッダのフォーマットの概略図である。
図6b】本出願のある実施形態による、終点アドレスフィールドを使用することによってGTPヘッダをカプセル化することの概略図である。
図7】本出願のある実施形態による、VXLANパケット送信方法のフローチャートである。
図8a】本出願のある実施形態による、終点アドレスフィールドにVNIをカプセル化することの概略図である。
図8b】本出願のある実施形態による、終点アドレスフィールドにVNIをカプセル化することの別の概略図である。
図8c】本出願のある実施形態による、終点アドレスフィールドにVXLANヘッダをカプセル化することの概略図である。
図9a】本出願のある実施形態による、DOHにVNIをカプセル化することの概略図である。
図9b】本出願のある実施形態による、DOHにVXLANヘッダをカプセル化することの概略図である。
図9c】本出願のある実施形態による、DOHにVNIをカプセル化することの別の概略図である。
図10a】本出願のある実施形態による、TLVを使用することによってVNIをカプセル化することの概略図である。
図10b】本出願のある実施形態による、TLVを使用することによってVXLANヘッダをカプセル化することの別の概略図である。
図11a】本出願のある実施形態による、SRHにVNIをカプセル化することの概略図である。
図11b】本出願のある実施形態による、SRHにVXLANヘッダをカプセル化することの概略図である。
図11c】本出願のある実施形態による、SRHにVNIをカプセル化することの別の概略図である。
図12】本出願のある実施形態による、応用シナリオの概略図である。
図13】本出願のある実施形態による、GTPパケット送信のためのネットワークデバイスの構造の概略図である。
図14】本出願のある実施形態による、パケット送信のためのネットワークデバイスの構造の概略図である。
図15】本出願のある実施形態による、パケット送信のための別のネットワークデバイスの構造の概略図である。
図16】本出願のある実施形態による、パケット送信のためのネットワークシステムの構造の概略図である。
図17】本出願のある実施形態による、ネットワークデバイスの構造の概略図である。
図18】本出願のある実施形態による、別のネットワークデバイスの構造の概略図である。
【発明を実施するための形態】
【0135】
本出願において提供される方策を当業者により理解させるために、以下では、本出願の実施形態における添付の図面を参照して、本出願の実施形態の技術的方策を明確に説明する。説明される実施形態は、本出願の実施形態のすべてではなく一部にすぎないことが明らかである。
【0136】
具体的な技術的方策が説明される前に、本出願の実施形態における重要な用語と技術がまず説明される。
【0137】
VXLANは、仮想トンネル通信技術である。論理トンネルが、始点ネットワークデバイスと終点ネットワークデバイスとの間でインターネットプロトコル(Internet Protocol, IP)ネットワーク上で確立され、特定のカプセル化の後でユーザ側パケットがそのトンネルを通じて転送される。たとえば、図1aに示されるように、VXLANを通じて2つのスイッチ間でトンネルが確立される。スイッチ1は、送信元サーバによって送信される元のデータフレームをカプセル化するので、元のデータフレームはベアラネットワーク上で送信され得る。送信先サーバに接続されたスイッチ2に到達した後、元のデータフレームはVXLANトンネルから出て、復元されて送信先サーバに転送される。
【0138】
VXLANネットワークでは、元のデータフレームをカプセル化してカプセル化解除するデバイスはVTEPである。VTEPは、VXLANネットワークのエッジデバイスであり、VXLANトンネルの始点および終点である。図1aでは、スイッチ1およびスイッチ2はVTEPである。VTEPは、独立したネットワークデバイスであってもよく、またはサーバの中の仮想スイッチであってもよい。送信元サーバによって送信される元のデータフレームは、VTEP上でVXLANパケットとしてカプセル化され、IPネットワークにおいて他のVTEPに送信される。元のデータフレームは、カプセル化解除を通じて復元され、最終的に送信先サーバに転送される。
【0139】
VNIは、仮想ローカルエリアネットワーク(Virtual Local Area Network, VLAN)識別子(identifier, ID)に似ており、VXLANセグメントを区別するために使用される。異なるVXLANセグメントにおける仮想機械は、第二層において互いに直接通信できない。VNIはまた、ユーザ識別子としても理解され得る。VNIはテナントを表し、異なるVNIに属すテナントは、第二層において互いに直接通信できない。図1aに示されるように、VXLANパケットがカプセル化されるとき、24ビットの長さの空間がVNIに割り振られるので、VNIは多数のテナントの隔離をサポートすることができる。具体的には、VTEPは、送信元サーバによって送信される元のデータに、VXLANヘッダ、UDPヘッダ、外部IPヘッダ、および外部媒体アクセス制御(media access control, MAC)ヘッダをカプセル化する。
【0140】
図1bは、VXLANヘッダおよびUDPヘッダを含む構造の概略図である。VXLANヘッダの長さは、VXLANネットワークにおいて異なるテナントのVNIを搬送するための24ビットのVNIフィールドを含む、8バイトである。加えて、VXLANフラグ(flags)フィールドおよび2つの予備フィールドがさらに含まれる。VXLAN flagsフィールドは8ビットを占有し、値は00001000であり得る。2つの予備ビットは、それぞれ24ビットおよび8ビットを占有する。
【0141】
VXLANヘッダおよび元のデータフレームは、UDPデータとして一緒に使用される。UDPヘッダは8バイトを占有する。UDPヘッダは、始点ポート番号、終点ポート番号、UDP長、およびUDPチェックサムを含む。各フィールドは16ビットを占有する。任意選択で、終点ポート番号(Dest Port)は4789に固定され、始点ポート番号(Source Port)は元のデータフレームに対してハッシュアルゴリズムを実施することによって決定される。
【0142】
外部IPヘッダの中の始点IPアドレスフィールドは、送信元サーバに接続されるVTEPのIPアドレスを搬送し、終点IPアドレスフィールドは、送信先サーバに接続されるVTEPのIPアドレスである。外部IPヘッダは、外部インターネットプロトコルバージョン4(internet protocol version 4, IPv4)ヘッダまたは外部IPv6ヘッダを含む。外部IPv6ヘッダは、IPv6基本ヘッダとも呼ばれ得る。IPv6基本ヘッダの中の始点アドレスフィールドおよび終点アドレスフィールドは、各々128ビットを占有する。
【0143】
外部MACヘッダは、カプセル化された外部イーサネットヘッダである。始点MACアドレスフィールドは、送信元サーバに接続されるVTEPのMACアドレスを搬送し、終点MACアドレスフィールドは、送信先VTEPまでのパス上のネクストホップデバイスのMACアドレスである。
【0144】
GTPは主に、コアネットワークにおいて、サービングGRPSサポートノード (servicing GPRS support node, SGSN)およびゲートウェイGPRSサポートノード(gateway GPRS support node, GGSN)との間のシグナリングとユーザデータの送信のためのトンネルを提供するために使用される。GTPでは、別のプロトコルのデータフレームまたはデータパケットが、再びカプセル化されてトンネルを通じて送信され得る。TEIDを含むGTPヘッダは、パケット転送を実施するために、カプセル化されたパケットにおいてカプセル化される。GTPネットワークでは、元のデータフレームをカプセル化してカプセル化解除するデバイスはSGSNまたはGGSNである。SGSNおよびGGSNは、GTPネットワークのエッジデバイスであり、GTPトンネルの開始点および終了点として使用され得る。図1aでは、スイッチ1はSGSNであり、スイッチ2はGGSNである。具体的には、SGSNは、送信元サーバによって送信される元のデータに、GTPヘッダ、UDPヘッダ、外部IPヘッダ、および外部媒体アクセス制御(media access control, MAC)ヘッダをカプセル化する。
【0145】
図1cは、GTPヘッダおよびUDPヘッダを含む構造の概略図である。GTPヘッダの長さは、GTPネットワークにおいて異なるトンネルのTEIDを搬送するための32ビットのTEIDフィールドを含む、8バイトである。加えて、TEIDフラグ(flag)フィールド、バージョン(Version)フィールド、メッセージタイプ(Message Type)フィールド、全体長(Total Length)フィールドなどがさらに含まれる。TEIDフラグは1ビットを占有する。ビットが1に設定される場合、それはTEIDフィールドが存在することを示す。バージョンフィールドは3ビットを占有し、GPTプロトコルのバージョン番号を示す。メッセージタイプフィールドは8ビットを占有し、GTPメッセージのタイプを示す。全体長フィールドは16ビットを占有し、メッセージ本体の長さを示す。
【0146】
GTPヘッダおよび元のデータフレームは、UDPデータとして一緒に使用される。UDPヘッダは8バイトを占有する。UDPヘッダは、始点ポート番号、終点ポート番号、UDP長、およびUDPチェックサムを含む。各フィールドは16ビットを占有する。任意選択で、終点ポート番号(Dest Port)は2152に固定され、始点ポート番号(Source Port)は元のデータフレームに対してハッシュアルゴリズムを実施することによって決定される。
【0147】
上の説明から、VXLANパケットまたはGTPパケットがIPv6ネットワークにおいて送信されるとき、VXLANヘッダまたはGTPヘッダがUDPカプセル化方式でカプセル化される場合、追加のUDPヘッダがカプセル化される必要があることがわかる。結果として、カプセル化されるデータの量は多く、カプセル化の効率は低く、パケット送信の効率に影響する。
【0148】
これに基づいて、本出願の実施形態は、パケット送信方法を提供する。パケットがIPv6ネットワークにおいて送信されるとき、パケットに対応するトンネルヘッダはIPv6ヘッダにおいてカプセル化され、追加のUDPヘッダがカプセル化される必要はない。これは、カプセル化の効率を改善する。
【0149】
本出願の実施形態において提供される技術的方策の理解を促すために、以下では、添付の図面を参照して技術的方策を説明する。
【0150】
図2は、本出願のある実施形態による、パケット送信方法のフローチャートである。図2に示されるように、方法は以下のステップを含む。
【0151】
S201: 第1のネットワークデバイスが第1のパケットを取得する。
【0152】
S202: 第1のネットワークデバイスが第1のパケットに基づいてトンネルヘッダを取得する。
【0153】
この実施形態では、第1のネットワークデバイスは図1aのスイッチ1であり得る。第1のネットワークデバイスは、図1aのホストまたは送信元サーバによって送信される第1のパケットを受信してもよく、または、第1のネットワークデバイスが第1のパケットを生成する。第1のパケットが取得された後、第1のパケットに対応するトンネルヘッダが、第1のパケットに基づいて取得される。具体的には、第1のパケットを受信した後、第1のネットワークデバイスは、第1のパケットを受信するためのインターフェースに基づいて、第1のパケットに対応するトンネルヘッダを取得し得る。トンネルヘッダは、第1のパケットを受信するためのインターフェースに対応する。たとえば、トンネルヘッダは、第1のネットワークデバイスのインターフェース上で事前に構成され得る。インターフェースを通じて第1のパケットを受信した後、第1のネットワークデバイスは、インターフェースとトンネルヘッダとの間の対応付けに基づいてトンネルヘッダを取得する。代替として、第1のパケットを受信した後、第1のネットワークデバイスは、第1のパケットの中のアドレス(始点アドレス)に基づいて、第1のパケットに対応するトンネルヘッダを取得し得る。たとえば、アドレスとトンネルヘッダとの間の対応付けは、第1のネットワークデバイス上で事前に構成される。第1のパケットを受信した後、第1のネットワークデバイスは、第1のパケットのアドレスおよび対応付けに基づいて、アドレスに対応するトンネルヘッダを決定する。
【0154】
トンネルヘッダは、VXLANヘッダ、GTPヘッダ、GREヘッダ、IP-in-IPヘッダ、ISATAPヘッダ、IPv4 over IPv6ヘッダ、NVGREヘッダ、L2TPv3、およびMPLS in GREヘッダの1つまたは複数を含む。
【0155】
S203: 第1のネットワークデバイスが、第2のパケットを取得するために第1のパケットにIPv6ヘッダをカプセル化する。
【0156】
第1のパケットに対応するトンネルヘッダを決定した後、第1のネットワークデバイスは第1のパケットにIPv6ヘッダをカプセル化し、トンネルヘッダは、第2のパケットを取得するために、IPv6ヘッダにおいて搬送される。IPv6ヘッダは、IPv6基本ヘッダおよびIPv6拡張ヘッダを含み得る。VXLANヘッダおよびGTPヘッダなどのいくつかのトンネルヘッダは、少数のビットを占有してもよく、IPv6基本ヘッダを使用することによって搬送されてもよい。大量のビットを占有するトンネルヘッダは、IPv6基本ヘッダを使用することによって搬送され得ないので、IPv6拡張ヘッダを使用することによって搬送される。
【0157】
(1)IPv6ヘッダはIPv6拡張ヘッダである。
【0158】
任意選択で、IPv6ヘッダを第1のパケットにカプセル化するとき、第1のネットワークデバイスは、IPv6基本ヘッダおよびIPv6拡張ヘッダを第1のパケットにカプセル化し得る。
【0159】
IPv6ヘッダがIPv6拡張ヘッダであるとき、IPv6拡張ヘッダがトンネルヘッダを搬送するために使用され得る。IPv6拡張ヘッダは、ホップバイホップオプションヘッダ(hop-by-hop option header, HBH)、DOH、ルーティングヘッダ(routing header, RH)、SRHなどを含み得る。DOHのフォーマットが図3aに示される。DOHは、次ヘッダ(Next Header)フィールド、ヘッダ拡張長(Hdr Ext Len)フィールド、およびオプション(Options)フィールドを含む。
【0160】
ある実装形態では、トンネルヘッダは、IPv6拡張ヘッダのDOHにおいて搬送される。DOHがトンネルヘッダを搬送するために使用されるとき、トンネルヘッダを搬送するためにDOHの中のオプションフィールドが使用される。図3bに示されるように、GREヘッダを搬送するためにオプションフィールドが使用され、GREヘッダは128ビットを占有する。図3cに示されるように、GREヘッダは、チェックビットC、キービットK、予備(Reserved0)フィールド、カプセル化(Recursion)層数フィールド、フラグ(flags)フィールド、バージョン(Version)フィールド、プロトコルタイプ(Protocol Type)フィールド、チェックサム(Checksum)フィールド、予備(Reserved1)フィールド、キーワード(Key)フィールド、および順序番号(Sequence Number)フィールドを含む。
【0161】
任意選択で、DOHの中の「Options」はタイプ長さ値(type-length-value, TLV)を含み、TLVのタイプフィールドは、DOHがトンネルヘッダを搬送することを示す。たとえば、タイプフィールドTが1であるとき、それはDOHがトンネルヘッダを搬送することを示すことが規定され得る。第2のパケットを受信した後、別のネットワークデバイスは、T=1に基づいて、第2のパケットがトンネルヘッダを含むと決定し得る。
【0162】
任意選択で、DOHの中の「Options」はTLVを含み、TLVのタイプフィールドは、DOHがトンネルヘッダを搬送することを示す。TLVは増強されたTLVであり得る。図4aに示されるように、TLVは、オプションタイプ(Option Type)フィールド、オプションデータ長(Option Data Length)フィールド、およびオプションデータ(Options Data)フィールドを含む。
【0163】
任意選択で、オプションデータフィールドおよびオプションデータ長フィールドは各々8ビットを占有し、オプションデータフィールドは128ビットを占有する。
【0164】
任意選択で、図4bに示されるように、トンネルヘッダはオプションデータフィールドにおいて搬送され得る。具体的には、トンネルヘッダは、オプションデータフィールドに完全にコピーされ得る。
【0165】
いくつかの応用シナリオでは、パケットは、あらかじめ指定されたパスの一部またはすべてに基づいて転送され得る。セグメントルーティング(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に追加される。
【0166】
別の実装形態では、トンネルヘッダがVXLANヘッダまたはGTPヘッダであるとき、IPv6拡張ヘッダはさらにセグメントルーティングヘッダSRHを含み、トンネルヘッダはSRHのセグメント識別子リストSID listにおいて搬送され得る。SRHのフォーマットが図5aに示される。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ビットである。図5aにおいて、segment list [0]は最初に実行されるセグメントに対応し、segment list [n-1]は最後に実行されるセグメントに対応する。
【0167】
SIDのフォーマットが図5bに示される。SIDは、ロケータ(locator)フィールドおよび機能(function)フィールドを含み得る。SIDはさらに、functionフィールドの後にあるパラメータ(argument)フィールドおよび/またはパディング(padding)フィールドを含み得る。locatorフィールドの内容は、略してlocatorとも呼ばれることがあり、ネットワークトポロジーの中のあるネットワークノードに割り振られる識別子であり、ネットワークトポロジーの中のそのネットワークノードを識別する。functionフィールドの内容は略してfunctionとも呼ばれることがあり、パケット処理のための命令または命令セットを示し、コンピュータ命令の演算コードと等価である。functionによって示される命令または命令セットがネットワークノード上で実行されると、ネットワークノードは、対応する転送行為(behavior)を実施することが可能にされる。argumentフィールドの内容は、略してargumentとも呼ばれることがあり、functionによって示される命令または命令セットの実行において使用されるパラメータを示す。
【0168】
VXLANヘッダまたはGTPヘッダがSID listにおいて搬送される場合、以下の事例が含まれ得る。
【0169】
事例1:
【0170】
トンネルヘッダが、SID listの中の第2のネットワークデバイスに対応するSIDにおいて搬送される。具体的には、トンネルヘッダは、第2のネットワークデバイスのSIDの機能(function)フィールドにおいて搬送される。第2のネットワークデバイスのSIDがトンネルヘッダを搬送するために使用されるとき、第2のネットワークデバイスのSIDはトンネルヘッダを搬送するために使用され得る。図5cに示されるように、SID listはSID 1からSID nを含み、第2のネットワークデバイスのSIDはSID nである。SID nは、locatorおよびGTPヘッダを含む。locatorは第2のネットワークデバイスのアドレスであり、トンネルヘッダは第2のネットワークデバイスのSIDの64番目のビットから128番目のビットを占有し得る。第2のネットワークデバイスのSIDは、SIDにおいて搬送されるトンネルヘッダに基づいてパケットを転送するように第2のネットワークデバイスに指示する。
【0171】
事例2:
【0172】
トンネルヘッダは、第2のネットワークデバイス以外のネットワークデバイスのSIDが位置するセグメントリストにおいて搬送される。たとえば、SID listの中の第2のネットワークデバイスのSIDがSID 3である場合、トンネルヘッダは、SID listの中のSID 4において搬送される。すなわち、トンネルヘッダは別のSIDにおいて搬送される。この場合、別のSIDはトンネルヘッダを搬送するために使用され得る。搬送方式については、図5cを参照されたい。第2のネットワークデバイスのSIDは、別のSIDからトンネルヘッダを読み取り、トンネルヘッダに基づいてパケットを転送するように、第2のネットワークデバイスに指示する。
【0173】
この実施形態では、第2のネットワークデバイスはトンネルヘッダに基づいてパケットを転送する必要があるので、第2のネットワークデバイスのSIDを広告するとき、第2のネットワークデバイスは、第2のネットワークデバイスのSIDのタイプがEND.VNであることを通知し得る。SIDはSRv6 SIDである。SIDのlocator部分は終点トンネルエンドポイントのアドレスを含み、SIDのfunction部分はトンネルヘッダを含む。SIDのbehaviorに対応する転送動作は、次のことを含む。パケットを受信した後、終点トンネルエンドポイントが、SIDの中のトンネルヘッダに基づいて対応する実例の転送テーブルを取得し、パケットをカプセル化解除し、ペイロードの中のMACアドレスなどに基づいて転送テーブルを探索し、パケットを転送する。任意選択で、第2のネットワークデバイスのアドレスに対応するSIDは、END.VNタイプのSIDである。任意選択で、第2のネットワークデバイスのアドレスに対応するSIDは、第2のネットワークデバイスのSRv6 locatorである。
【0174】
特定の実装形態において、第1のネットワークデバイスとの内部ゲートウェイプロトコル(Interior Gateway Protocol, IGP)セッションまたは境界ゲートウェイプロトコル(Border Gateway Protocol, BGP)セッションを確立した後、第2のネットワークデバイスは、第2のネットワークデバイスのSIDと、SIDに対応するタイプとを、IGPまたはBGPを使用することによって第1のネットワークデバイスに広告し得る。第1のネットワークデバイスは、第2のネットワークデバイスのSIDおよびSIDに対応するタイプを記憶する。VXLANパケットまたはGTPパケットを第2のネットワークデバイスに転送する必要があるとき、第1のネットワークデバイスは、第2のネットワークデバイスのSIDのタイプに基づいて、パケットに対応するトンネルヘッダをIPv6ヘッダにカプセル化し得る。SIDを広告するとき、第2のネットワークデバイスは、転送テーブルをローカルで確立し、転送テーブルは照合項目および動作項目を含む。照合項目は、第2のネットワークデバイスのSIDを含む。動作項目は、パケットをカプセル化解除し、パケットにおいて搬送されるトンネルヘッダに基づいてパケットを転送するように、第2のネットワークデバイスに指示する。
【0175】
(2)IPv6ヘッダはIPv6基本ヘッダである。
【0176】
トンネルヘッダがVXLANヘッダまたはGTPヘッダであるとき、IPv6ヘッダはIPv6基本ヘッダであり得る。すなわち、VXLANヘッダまたはGTPヘッダは、IPv6基本ヘッダの終点アドレスフィールドにおいて搬送され得る。普通は、IPv6基本ヘッダの中の終点アドレスフィールドの長さは128ビットであり、このフィールドは終点ネットワークデバイスのアドレスを搬送するために使用される。任意選択で、パケット転送プロセスにおいて、終点ネットワークデバイスのプレフィックス情報は、普通は終点アドレスフィールド全体を占有する必要はない。たとえば、終点ネットワークデバイスのプレフィックス情報は、終点アドレスフィールドの64ビットしか占有する必要がない。任意選択で、終点ネットワークデバイスのアドレスは、64ビットへと圧縮されてもよく、1番目のビットから64番目のビットを占有する。このようにして、VXLANヘッダまたはGTPヘッダは、終点アドレスフィールドの65番目のビットから128番目のビットを占有し得る。終点アドレスフィールドにおいてトンネルヘッダにより占有される位置は、実際の応用状況に基づいて決定され得る。これはこの実施形態では限定されない。
【0177】
図6aは、IPv6基本ヘッダのパケットフォーマットを示す。IPv6基本ヘッダは、バージョン(Version)フィールド、トラフィックタイプ(Traffic Type)フィールド、フローラベル(Flow Label)フィールド、ペイロード長(Payload Length)フィールド、次ヘッダ(Next Header)フィールド、ホップ制限(Hop Limit)フィールド、始点アドレス(source address, SA)フィールド、および終点アドレス(destination address, DA)フィールドを含む。始点アドレスフィールドおよび終点アドレスフィールドは、各々128ビットを占有する。始点アドレスフィールドは始点アドレスを含み、終点アドレスフィールドは終点アドレスを含む。
【0178】
任意選択で、終点アドレスフィールドは、終点アドレスおよびトンネルヘッダを含み得る。図6bに示されるように、終点アドレスフィールドは、終点アドレスおよびGTPヘッダを含む。
【0179】
終点アドレスフィールドは、普通はパケットの終点アドレスを搬送するために使用される。パケットを受信した後、終点アドレスによって示される終点ネットワークデバイスは、終点アドレスフィールドから終点アドレスを読み取り、終点アドレスに基づいてパケットを転送する。この実施形態では、終点アドレスフィールドは、終点アドレスだけではなく、トンネルヘッダも含む。トンネルヘッダは、パケットを転送するように終点ネットワークデバイスに指示する。終点ネットワークデバイスがパケットを受信した後にトンネルヘッダに基づいてパケットを転送することを可能にするために、終点アドレスフィールドにおいて終点アドレスによって示されるデバイス(第2のネットワークデバイス)は、パケットを受信した後に終点アドレスフィールドにおいて搬送されるトンネルヘッダに基づいて第2のパケットを転送するように事前に通知される必要がある。
【0180】
上の説明から、IPv6基本ヘッダがトンネルヘッダを搬送するために使用されてもよく、またはIPv6拡張ヘッダがトンネルヘッダを搬送するために使用されてもよいことがわかる。いずれの方式でも、追加のUDPヘッダがカプセル化される必要はない。これは、パケットカプセル化のためのデータの量を減らし、パケットカプセル化の効率を改善する。
【0181】
加えて、IPv6ヘッダの中のフローラベルは、パケットのポート番号に対応し得る。ポート番号は、第2のパケットの転送プロセスにおいて負荷バランス処理を実施するために使用されるだけではなく、第2のパケットのタイプも決定し得る。たとえば、フローラベルにおいて搬送されるポート番号が4789であるとき、受信されたパケットがVXLANパケットを含むことが、ポート番号に基づいて特定され得る。ポート番号は、あらかじめ設定された固定のポート番号であってもよく、または、第1のパケットのペイロードに基づいて動的な計算を通じて取得されたポート番号であってもよい。
【0182】
現場フロー情報テレメトリ(in-situ flow information telemetry, IFIT)機能を実装するために、IPv6ヘッダが第1のパケットにカプセル化されるとき、ホップバイホップネットワーク現場フロー情報テレメトリ、または指定されたノードもしくは終点ノードのネットワーク現場フロー情報テレメトリを実施するために、IFIT命令がIPv6ヘッダにおいて搬送され得る。具体的には、IFIT命令はIPv6拡張ヘッダにおいて搬送され得る。
【0183】
S204: 第1のネットワークデバイスが、第2のパケットを第2のネットワークデバイスに送信する。
【0184】
この実施形態では、第1のパケットにIPv6ヘッダをカプセル化することによって第2のパケットを取得した後、第1のネットワークデバイスは、第2のパケットを第2のネットワークデバイスに送信する。第2のネットワークデバイスは、ネットワークの中の終端ノードであり得る。たとえば、第2のネットワークデバイスは図1aのスイッチ2である。第2のパケットのIPv6ヘッダの中の終点アドレスフィールドは、ホストアドレスではなく、第2のネットワークデバイスのアドレスまたは第2のネットワークデバイスのSRv6 locatorを含む。たとえば、図1aにおいて、第2のパケットのIPv6ヘッダの中の終点アドレスフィールドは、スイッチ2のアドレスまたはスイッチ2のSRv6 locatorを含む。
【0185】
S205: 第2のネットワークデバイスが、第2のパケットを受信し、第2のパケットのIPv6ヘッダからトンネルヘッダを取得する。
【0186】
前の説明から、一部のトンネルヘッダがIPv6基本ヘッダで搬送されることがあり、一部のトンネルヘッダがIPv6拡張ヘッダで搬送されることがあることがわかる。トンネルヘッダが異なるIPv6ヘッダにおいて搬送されるとき、第2のネットワークデバイスは、異なる方式でIPv6ヘッダからトンネルヘッダを取得する。
【0187】
トンネルヘッダがVXLANヘッダまたはGTPヘッダであるとき、トンネルヘッダは、IPv6基本ヘッダの終点アドレスフィールドにおいて搬送され得る。第1のネットワークデバイスによって送信される第2のパケットを受信した後、第2のネットワークデバイスは、終点アドレスフィールドが第2のネットワークデバイスのアドレスを含むかどうかを決定する。終点アドレスフィールドが第2のネットワークデバイスのアドレスを含むと場合、トンネルヘッダは終点アドレスフィールドから取得される。
【0188】
第2のネットワークデバイスのアドレスは第2のパケットにおいてカプセル化される必要があるので、第2のネットワークデバイスが第1のネットワークデバイスによって送信される第2のパケットを受信する前に、第2のネットワークデバイスは、第2のネットワークデバイスのアドレスを第1のネットワークデバイスに広告する必要があることに留意されたい。第2のネットワークデバイスのアドレスは、第2のパケットを受信するときに終点アドレスフィールドにおいて搬送されるトンネルヘッダに基づいてパケットを転送するように第2のネットワークデバイスに指示する。第2のネットワークデバイスのアドレスを第1のネットワークデバイスに広告するとき、第2のネットワークデバイスは転送エントリをローカルで確立し、転送エントリは照合項目および動作項目を含み得る。照合項目は、第2のネットワークデバイスのアドレスを含む。動作項目は、照合項目を使用することによる照合が成功した後、トンネルヘッダが終点アドレスフィールドから取得され、第2のパケットがカプセル化解除され、カプセル化解除されたパケットがトンネルヘッダに基づいて転送されることを示す。
【0189】
トンネルヘッダがIPv6拡張ヘッダのDOHにおいて搬送されるとき、第1のネットワークデバイスによって送信される第2のパケットを受信した後、第2のネットワークデバイスは、終点アドレスフィールドが第2のネットワークデバイスのアドレスを含むかどうかを決定する。終点アドレスフィールドが第2のネットワークデバイスのアドレスを含む場合、トンネルヘッダが搬送されることをDOHの中のTLVのタイプフィールドが示すかどうかが決定される。トンネルヘッダが搬送されることをTLVのタイプフィールドが示す場合、トンネルヘッダはDOHから取得される。トンネルヘッダがDOHにおいて搬送されるとき、第2のネットワークデバイスは、DOHを解析することによってトンネルヘッダを取得し得る。
【0190】
トンネルヘッダがIPv6拡張ヘッダの中のSRHのSID listの中の第2のネットワークデバイスに対応するSIDにおいて搬送されるとき、第2のパケットを受信した後、第2のネットワークデバイスは、第2のパケットの終点アドレスフィールドが第2のネットワークデバイスのSIDを含むかどうかを決定する。第2のパケットの終点アドレスフィールドが第2のネットワークデバイスのSIDを含む場合、第2のネットワークデバイスは、第2のパケットにおいて搬送される第2のネットワークデバイスのSIDからトンネルヘッダを取得する。
【0191】
トンネルヘッダがIPv6拡張ヘッダの中のSRHのSID listの中の別の対応するSID(第2のネットワークデバイス以外のネットワークデバイスのSID)において搬送されるとき、第2のパケットを受信した後、第2のネットワークデバイスは、第2のパケットの終点アドレスフィールドが第2のネットワークデバイスのSIDを含むかどうかを決定する。第2のパケットの終点アドレスフィールドが第2のネットワークデバイスのSIDを含む場合、第2のネットワークデバイスは、第2のパケットにおいて搬送される別のSIDからトンネルヘッダを取得する。たとえば、指定されたSIDからトンネルヘッダを取得するように第2のネットワークデバイスに指示するために、SRHの中のフィールドまたは新しいフィールドが使用されてもよく、または、トンネルヘッダが第2のネットワークデバイスのSIDに隣接する次のSIDにおいて搬送されることがあらかじめ定められていてもよい。この場合、第2のパケットを受信した後、第2のネットワークデバイスは、SID listから次のSIDを読み取り、次のSIDからトンネルヘッダを取得する。
【0192】
第2のネットワークデバイスのSIDは第2のパケットにおいてカプセル化される必要があるので、第2のネットワークデバイスが第1のネットワークデバイスによって送信される第2のパケットを受信する前に、第2のネットワークデバイスは、第2のネットワークデバイスのSIDを第1のネットワークデバイスに広告する必要があることに留意されたい。加えて、第2のネットワークデバイスのSIDのタイプがさらに広告され得る。第2のネットワークデバイスのSIDに対応するタイプは、END.VNとして定義されてもよく、対応するパケットを受信した後にパケットからトンネルヘッダを取得し、パケットをカプセル化解除し、トンネルヘッダに基づいて転送テーブルを探索し、転送テーブルに基づいてカプセル化解除されたパケットを転送するように、第2のネットワークデバイスに指示する。第2のネットワークデバイスのSIDは第2のネットワークデバイスのアドレスであってもよく、または、第2のネットワークデバイスのアドレスの後に取得された対応するアドレスは圧縮される。
【0193】
第2のネットワークデバイスのSIDを第1のネットワークデバイスに広告するとき、第2のネットワークデバイスはさらに、転送エントリをローカルで確立し得る。転送エントリは、照合項目および動作項目を含む。照合項目は第2のネットワークデバイスのSIDを含み、動作項目は、照合が成功するときに実施される必要のある動作を示す。たとえば、動作項目は、照合が成功するときに第2のパケットをカプセル化解除し、トンネルヘッダの中のトンネル識別子に基づいて、カプセル化解除されたパケットを転送するように指示する。
【0194】
S206: 第2のネットワークデバイスが、第1のパケットを取得するために第2のパケットをカプセル化解除する。
【0195】
この実施形態では、トンネルを取得した後、カプセル化されたIPv6ヘッダの中の情報に基づいて、第2のネットワークデバイスが終端ノードであると決定するとき、第2のネットワークデバイスは、第2のパケットをカプセル化解除し、カプセル化されたIPv6ヘッダを取り除き、第1のパケットを取得する。たとえば、第2のネットワークデバイスが、第2のパケットのIPv6ヘッダの中の終点アドレスフィールドが第2のネットワークデバイスのSIDを含むと決定するとき、第2のネットワークデバイスは、第1のパケットを取得するために、転送エントリの中の動作項目に基づいて第2のパケットをカプセル化解除する。パケットをカプセル化解除することは、第1のパケットを取得するために第2のパケットにおいてカプセル化されるIPv6基本ヘッダを取り除くこと、または第1のパケットを取得するために第2のパケットにおいてカプセル化されるIPv6基本ヘッダおよびIPv6拡張ヘッダを取り除くことを含む。
【0196】
S205およびS206の実行順序は本実施形態では限定されない。S206がS205の前に実施されてもよく、S205がS206の前に実施されてもよく、またはS205およびS206は同時に実施されてもよい。
【0197】
S207: 第2のネットワークデバイスは、トンネルヘッダに基づいて第1のパケットを転送する。
【0198】
第1のパケットを取得した後、第2のネットワークデバイスは、トンネルヘッダに基づいて転送パスを決定し、転送パスに基づいて第1のパケットを転送する。具体的には、第2のネットワークデバイスは、トンネルヘッダ上で対応する転送テーブルを取得し、第1のパケットの中の終点アドレスに基づいて転送エントリについて転送テーブルを探索し、転送エントリに基づいて第1のパケットを転送する。第1のパケットが第二層パケットであるとき、対応する終点アドレスはMACアドレスであり、取得される転送テーブルまたはMACテーブルであることに留意されたい。第1のパケットが第三層パケットであるとき、対応する終点アドレスはIPアドレスであり、取得される転送テーブルはルーティングテーブルである。
【0199】
図7は、本出願のある実施形態による、VXLANパケット送信方法のフローチャートである。図7に示されるように、方法は以下のステップを含む。
【0200】
S701: 第1のネットワークデバイスが第1のパケットを取得する。
【0201】
S702: 第1のネットワークデバイスが第1のパケットに基づいてVNIを取得する。
【0202】
この実施形態では、第1のネットワークデバイスは図1aのスイッチ1であり得る。第1のネットワークデバイスは、図1aのホストまたは送信元サーバによって送信される第1のパケットを受信してもよく、または、第1のネットワークデバイスが第1のパケットを生成する。第1のパケットが取得された後、第1のパケットに対応するVNIが、第1のパケットに基づいて取得される。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を決定する。
【0203】
S703: 第1のネットワークデバイスが、第2のパケットを取得するために第1のパケットにIPv6ヘッダをカプセル化する。
【0204】
第1のパケットに対応するVNIを決定した後、第1のネットワークデバイスは第1のパケットにIPv6ヘッダをカプセル化し、VNIは、第2のパケットを取得するために、IPv6ヘッダにおいて搬送される。IPv6ヘッダがVNIを搬送する2つの方式がある。一方の方式では、IPv6ヘッダはVNIを直接搬送する。他方の方式では、IPv6ヘッダはVXLANヘッダを含み、VXLANヘッダはVNIを含む。
【0205】
任意選択で、IPv6ヘッダはIPv6基本ヘッダまたはIPv6拡張ヘッダであり、VNIはIPv6基本ヘッダまたはIPv6拡張ヘッダにおいて搬送され得る。代替として、VXLANヘッダは、IPv6基本ヘッダまたはIPv6拡張ヘッダにおいて搬送され得る。IPv6基本ヘッダは基本パケット転送情報を含み、長さは40バイトである。
【0206】
(1)IPv6ヘッダはIPv6基本ヘッダである。
【0207】
IPv6ヘッダがIPv6基本ヘッダであるとき、VNIは、IPv6基本ヘッダの終点アドレスフィールドにおいて搬送され得る。普通は、IPv6基本ヘッダの中の終点アドレスフィールドの長さは128ビットであり、このフィールドは終点ネットワークデバイスのアドレスを搬送するために使用される。任意選択で、パケット転送プロセスにおいて、終点ネットワークデバイスのプレフィックス情報は、普通は終点アドレスフィールド全体を占有する必要はない。たとえば、終点ネットワークデバイスのプレフィックス情報は、終点アドレスフィールドの64ビットしか占有する必要がない。任意選択で、終点ネットワークデバイスのアドレスは、64ビットへと圧縮されてもよく、1番目のビットから64番目のビットを占有する。このようにして、VNIは、終点アドレスフィールドの65番目のビットから128番目のビットを占有し得る。代替として、VNIは、終点アドレスフィールドの80番目のビットから128番目のビットを占有し得る。終点アドレスフィールドにおいてVNIにより占有される位置は、実際の応用状況に基づいて決定され得る。これはこの実施形態では限定されない。
【0208】
任意選択で、図8aに示されるように、終点アドレスフィールドは、終点アドレスおよびVNIを含み得る。
【0209】
加えて、IPv6ヘッダはさらにVXLAN flagsを含んでもよく、VXLAN flagsは、第2のパケットが有効なVNIを搬送することを示すflagを含む。VXLAN flagsの長さは8ビットであり、5番目のビットが、パケットが有効なVNIを搬送することを示す。たとえば、5番目のビットが1であるとき、それは、第2のパケットが有効なVNIを搬送することを示す。VXLAN flagsは、終点アドレスフィールドにおいて搬送され得る。図8bに示されるように、終点アドレスフィールドは、終点アドレス、VXLAN flags、およびVNIを含む。
【0210】
IPv6基本ヘッダの終点アドレスフィールドにおいて搬送されるVNIに対して、別の搬送方式がある。具体的には、終点アドレスフィールドはVXLANヘッダを含み、VXLANヘッダはVNIを搬送する。すなわち、VXLANヘッダは、IPv6基本ヘッダの終点アドレスフィールドにおいてカプセル化される。VXLANヘッダの長さは64ビットである。終点アドレスは、普通は終点アドレスフィールドの1番目のビットから64番目のビットを占有する。このようにして、VXLANヘッダは、終点アドレスフィールドの65番目のビットから128番目のビットに位置し得る。VXLANヘッダはVXLAN flagsを含む。具体的には、図8cに示されるように、IPv6基本ヘッダの中の終点アドレスフィールドは終点アドレスおよびVXLANヘッダを含み、VXLANヘッダはVNIおよびVXLAN flagsを含む。
【0211】
終点アドレスフィールドは、普通はパケットの終点アドレスを搬送するために使用される。パケットを受信した後、終点アドレスによって示される終点ネットワークデバイスは、終点アドレスフィールドから終点アドレスを読み取り、終点アドレスに基づいてパケットを転送する。この実施形態では、終点アドレスフィールドは、終点アドレスだけではなく、VNIも含む。VNIは、パケットを転送するように終点ネットワークデバイスに指示する。終点ネットワークデバイスがパケットを受信した後にVNIに基づいてパケットを転送することを可能にするために、終点アドレスフィールドにおいて終点アドレスによって示されるデバイス(第2のネットワークデバイス)は、パケットを受信した後に終点アドレスフィールドにおいて搬送されるVNIに基づいて第2のパケットを転送するように事前に通知される必要がある。
【0212】
(2)IPv6ヘッダはIPv6拡張ヘッダである。
【0213】
任意選択で、IPv6ヘッダを第1のパケットにカプセル化するとき、第1のネットワークデバイスは、IPv6基本ヘッダおよびIPv6拡張ヘッダを第1のパケットにカプセル化し得る。
【0214】
IPv6ヘッダがIPv6拡張ヘッダであるとき、IPv6拡張ヘッダがVNIを搬送するために使用され得る。IPv6拡張ヘッダは、HBH、DOH、RH、SRHなどを含み得る。DOHのフォーマットが図3aに示される。
【0215】
ある実装形態では、VNIは、IPv6拡張ヘッダのDOHにおいて搬送される。図9aに示されるように、DOHがVNIを搬送するために使用されるとき、VNIを直接搬送するために、DOHの中のオプションフィールドが使用され得る。代替として、図9bに示されるように、DOHの中のオプションフィールドは、VXLANヘッダを搬送するために使用されてもよく、VXLANヘッダはVNIを搬送する。図9cに示されるように、IPv6拡張ヘッダがさらにVXLANフラグ(flags)を含むとき、VXLAN flagsを直接搬送するために、DOHの中のオプションフィールドが使用され得る。代替として、DOHの中のオプションフィールドは、VXLANヘッダを搬送するために使用されてもよく、VXLANヘッダはVNIおよびVXLAN flagsを搬送する。具体的には、VXLANヘッダは、オプションフィールドに完全にコピーされ得る。
【0216】
任意選択で、DOHの中の「Options」はタイプ長さ値TLVを含み、TLVのタイプフィールドは、DOHがVNIを搬送することを示す。たとえば、タイプフィールドTが1であるとき、それはDOHがVNIを搬送することを示すことが規定され得る。第2のパケットを受信した後、別のネットワークデバイスは、T=1に基づいて、第2のパケットがVNIを含むと決定し得る。
【0217】
任意選択で、DOHの中の「Options」はTLVを含み、TLVのタイプは、DOHがVXLANヘッダを搬送することを示す。TLVは増強されたVXLAN TLVであることがあり、VXLAN TLVはVN option TLVとも呼ばれることがある。VN(VXLAN) option TLVは、オプションタイプ(Option Type)フィールド、オプションデータ長(Option Data Length)フィールド、およびオプションデータ(Option Data)フィールドを含む。具体的な構造については、図4aを参照されたい。オプションタイプフィールドは、TLVがVN optionであることを特定し、特に、VN optionがVNIを搬送することを特定し、またはVN optionがVXLANヘッダを搬送することを特定する。
【0218】
任意選択で、図10aに示されるように、VNIはオプションデータフィールドにおいて搬送され得る。
【0219】
任意選択で、図10bに示されるように、VXLANヘッダはオプションデータフィールドにおいて搬送され得る。
【0220】
別の実装形態では、VNIがSRHにおいて搬送されるとき、VNIはSRHのSID listにおいて搬送され得る。SRHのフォーマットが図5aに示され、SIDのフォーマットが図5bに示される。
【0221】
VNIがSID listにおいて搬送される場合、以下の事例が含まれ得る。
【0222】
事例1:
【0223】
VNIは、SID listの中の第2のネットワークデバイスに対応するSIDにおいて搬送される。具体的には、VNIは、第2のネットワークデバイスのSIDの機能(function)フィールドにおいて搬送される。第2のネットワークデバイスのSIDがVNIを搬送するために使用されるとき、第2のネットワークデバイスのSIDはVNIを直接搬送するために使用され得る。図11aに示されるように、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番目のビットを占有する。
【0224】
代替として、第2のネットワークデバイスのSIDはVXLANヘッダを搬送するために使用され、VXLANヘッダはVNIを含む。図11bに示されるように、第2のネットワークデバイスのSIDはSID nであり、SID nはlocatorおよびVXLANヘッダを含む。具体的には、VXLANヘッダは、第2のネットワークデバイスのSIDの64番目のビットから128番目のビットを占有し得る。第2のネットワークデバイスのSIDは、SIDにおいて搬送されるVNIに基づいてパケットを転送するように第2のネットワークデバイスに指示する。
【0225】
事例2:
【0226】
VNIは、第2のネットワークデバイス以外のネットワークデバイスのSIDが位置するセグメントリストにおいて搬送される。たとえば、SID listの中の第2のネットワークデバイスのSIDがSID 3である場合、VNIは、SID listの中のSID 4において搬送される。すなわち、VNIは別のSIDにおいて搬送される。この場合、別のSIDはVNIを直接搬送するために使用され得る。搬送方式については、図11aを参照されたい。代替として、別のSIDがVXLANヘッダを搬送するために使用されてもよく、VXLANヘッダはVNIを含む。搬送方式については、図11bを参照されたい。第2のネットワークデバイスのSIDは、別のSIDからVNIを読み取り、VNIに基づいてパケットを転送するように、第2のネットワークデバイスに指示する。
【0227】
この実施形態では、第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である。
【0228】
特定の実装形態において、第1のネットワークデバイスとのIGPセッションまたはBGPセッションを確立した後、第2のネットワークデバイスは、第2のネットワークデバイスのSIDおよびSIDに対応するタイプを、IGPまたはBGPを使用することによって第1のネットワークデバイスに広告し得る。第1のネットワークデバイスは、第2のネットワークデバイスのSIDおよびSIDに対応するタイプを記憶する。VXLANパケットを第2のネットワークデバイスに転送する必要があるとき、第1のネットワークデバイスは、第2のネットワークデバイスのSIDのタイプに基づいて、パケットに対応するVNIをIPv6ヘッダにカプセル化し得る。SIDを広告するとき、第2のネットワークデバイスは、転送テーブルをローカルで確立し、転送テーブルは照合項目および動作項目を含む。照合項目は、第2のネットワークデバイスのSIDを含む。動作項目は、パケットをカプセル化解除し、パケットにおいて搬送されるVNIに基づいてパケットを転送するように、第2のネットワークデバイスに指示する。
【0229】
IPv6ヘッダがさらにVXLANフラグ(flags)を含むとき、flagsは第2のネットワークデバイスのSIDにおいて搬送されてもよく、たとえば、flagsおよびVNIは図11cにおいてSID nにカプセル化される。SID nがさらにパラメータ(argument)を含むとき、SID nは、locator、VXLAN flags、VNI、およびargumentを含む。
【0230】
上の説明から、IPv6基本ヘッダがVNIを搬送するために使用されてもよく、またはIPv6拡張ヘッダがVNIを搬送するために使用されてもよいことがわかる。いずれの方式でも、追加のUDPヘッダがカプセル化される必要はない。これは、パケットカプセル化のためのデータの量を減らし、パケットカプセル化の効率を改善する。
【0231】
加えて、IPv6ヘッダの中のフローラベルは、VXLANパケットの終点ポート番号に対応し得る。終点ポート番号は、第2のパケットの転送プロセスにおいて負荷バランス処理を実施するために使用されるだけではなく、第2のパケットがVXLANパケットを含むことも決定し得る。たとえば、フローラベルにおいて搬送されるポート番号が4789であるとき、受信されたパケットがVXLANパケットを含むことが、ポート番号に基づいて特定され得る。ポート番号は、あらかじめ設定された固定のポート番号であってもよく、または、第1のパケットのペイロードに基づいて動的な計算を通じて取得されたポート番号であってもよい。任意選択で、第2のパケットのフローラベルを計算するための方法が、VXLANパケットにおいて負荷バランスのために使用されるUDP始点ポートを計算するための方法と同じであり、VXLANパケットから取得されるポート番号値は、第2のパケットのフローラベルにおいて搬送され得る。
【0232】
IFIT機能を実装するために、IPv6ヘッダが第1のパケットにカプセル化されるとき、ホップバイホップネットワーク現場フロー情報テレメトリ、または指定されたノードもしくは終点ノードのネットワーク現場フロー情報テレメトリを実施するために、IFIT命令がIPv6ヘッダにおいて搬送され得る。具体的には、IFIT命令はIPv6拡張ヘッダにおいて搬送され得る。
【0233】
S704: 第1のネットワークデバイスが、第2のパケットを第2のネットワークデバイスに送信する。
【0234】
この実施形態では、第1のパケットにIPv6ヘッダをカプセル化することによって第2のパケットを取得した後、第1のネットワークデバイスは、第2のパケットを第2のネットワークデバイスに送信する。第2のネットワークデバイスは、VXLANネットワークの中の終端ノードであり得る。たとえば、第2のネットワークデバイスは図1aのスイッチ2である。第2のパケットのIPv6ヘッダの中の終点アドレスフィールドは、第2のネットワークデバイスのアドレスまたは第2のネットワークデバイスのSRv6 locatorを含む。たとえば、図1aにおいて、第2のパケットのIPv6ヘッダの中の終点アドレスフィールドは、スイッチ2のアドレスまたはスイッチ2のSRv6 locatorを含む。
【0235】
S705: 第2のネットワークデバイスが、第2のパケットを受信し、第2のパケットのIPv6ヘッダからVNIを取得する。
【0236】
上の説明から、VNIはIPv6基本ヘッダまたはIPv6拡張ヘッダで搬送されることがあることがわかる。VNIが異なるIPv6ヘッダにおいて搬送されるとき、第2のネットワークデバイスは、異なる方式でIPv6ヘッダからVNIを取得する。
【0237】
VNIがIPv6基本ヘッダの終点アドレスフィールドにおいて搬送されるとき、第1のネットワークデバイスによって送信される第2のパケットを受信した後、第2のネットワークデバイスは、終点アドレスフィールドが第2のネットワークデバイスのアドレスを含むかどうかを決定する。終点アドレスフィールドが第2のネットワークデバイスのアドレスを含む場合、VNIは終点アドレスフィールドから取得される。VNIが終点アドレスフィールドにおいて直接搬送されるとき、第2のネットワークデバイスは、終点アドレスフィールドを解析することによってVNIを取得し得る。VNIがVXLANヘッダにおいて搬送され、VXLANヘッダが終点アドレスフィールドにおいて搬送されるとき、第2のネットワークデバイスは、VXLANヘッダを取得するために終点アドレスフィールドをまず解析し、VXLANヘッダからVNIを読み取る必要がある。
【0238】
第2のネットワークデバイスのアドレスは第2のパケットにおいてカプセル化される必要があるので、第2のネットワークデバイスが第1のネットワークデバイスによって送信される第2のパケットを受信する前に、第2のネットワークデバイスは、第2のネットワークデバイスのアドレスを第1のネットワークデバイスに広告する必要があることに留意されたい。第2のネットワークデバイスのアドレスは、第2のパケットを受信するときに終点アドレスフィールドにおいて搬送されるVNIに基づいてパケットを転送するように第2のネットワークデバイスに指示する。第2のネットワークデバイスのアドレスを第1のネットワークデバイスに広告するとき、第2のネットワークデバイスは転送エントリをローカルで確立し、転送エントリは照合項目および動作項目を含み得る。照合項目は、第2のネットワークデバイスのアドレスを含む。動作項目は、照合項目を使用することによる照合が成功した後、VNIが終点アドレスフィールドから取得され、第2のパケットがカプセル化解除され、カプセル化解除されたパケットがVNIに基づいて転送されることを示す。
【0239】
VNIがIPv6拡張ヘッダのDOHにおいて搬送されるとき、第1のネットワークデバイスによって送信される第2のパケットを受信した後、第2のネットワークデバイスは、終点アドレスフィールドが第2のネットワークデバイスのアドレスを含むかどうかを決定する。終点アドレスフィールドが第2のネットワークデバイスのアドレスを含む場合、VNIが搬送されることをDOHの中のTLVのタイプフィールドが示すかどうかが決定される。VNIが搬送されることをTLVのタイプフィールドが示す場合、VNIはDOHから取得される。VNIがDOHにおいて直接搬送されるとき、第2のネットワークデバイスは、DOHを解析することによってVNIを取得し得る。VNIがVXLANヘッダにおいて搬送され、VXLANヘッダがDOHにおいて搬送されるとき、第2のネットワークデバイスは、VXLANヘッダを取得するためにDOHをまず解析し、VXLANヘッダからVNIを読み取る必要がある。
【0240】
VNIがIPv6拡張ヘッダの中のSRHのSID listの中の第2のネットワークデバイスに対応するSIDにおいて搬送されるとき、第2のパケットを受信した後、第2のネットワークデバイスは、第2のパケットの終点アドレスフィールドが第2のネットワークデバイスのSIDを含むかどうかを決定する。第2のパケットの終点アドレスフィールドが第2のネットワークデバイスのSIDを含む場合、第2のネットワークデバイスは、第2のパケットにおいて搬送される第2のネットワークデバイスのSIDからVNIを取得する。
【0241】
VNIがIPv6拡張ヘッダの中のSRHのSID listの中の別の対応するSID(第2のネットワークデバイス以外のネットワークデバイスのSID)において搬送されるとき、第2のパケットを受信した後、第2のネットワークデバイスは、第2のパケットの終点アドレスフィールドが第2のネットワークデバイスのSIDを含むかどうかを決定する。第2のパケットの終点アドレスフィールドが第2のネットワークデバイスのSIDを含む場合、第2のネットワークデバイスは、第2のパケットにおいて搬送される別のSIDからVNIを取得する。たとえば、指定されたSIDからVNIを取得するように第2のネットワークデバイスに指示するために、SRHの中のフィールドまたは新しいフィールドが使用されてもよく、または、VNIが第2のネットワークデバイスのSIDに隣接する次のSIDにおいて搬送されることがあらかじめ定められている。この場合、第2のパケットを受信した後、第2のネットワークデバイスは、SID listから次のSIDを読み取り、次のSIDからVNIを取得する。
【0242】
第2のネットワークデバイスのSIDは第2のパケットにおいてカプセル化される必要があるので、第2のネットワークデバイスが第1のネットワークデバイスによって送信される第2のパケットを受信する前に、第2のネットワークデバイスは、第2のネットワークデバイスのSIDを第1のネットワークデバイスに広告する必要があることに留意されたい。加えて、第2のネットワークデバイスのSIDのタイプがさらに広告され得る。第2のネットワークデバイスのSIDに対応するタイプは、END.VNタイプとして定義されてもよく、対応するパケットを受信した後にパケットからVNIを取得し、パケットをカプセル化解除し、VNIに基づいて転送テーブルを探索し、転送テーブルに基づいてカプセル化解除されたパケットを転送するように、第2のネットワークデバイスに指示する。第2のネットワークデバイスのSIDは第2のネットワークデバイスのアドレスであってもよく、または、第2のネットワークデバイスのアドレスの後に取得された対応するアドレスは圧縮される。
【0243】
第2のネットワークデバイスのSIDを第1のネットワークデバイスに広告するとき、第2のネットワークデバイスはさらに、転送エントリをローカルで確立し得る。転送エントリは、照合項目および動作項目を含む。照合項目は第2のネットワークデバイスのSIDを含み、動作項目は、照合が成功するときに実施される必要のある動作を示す。たとえば、動作項目は、照合が成功するときに第2のパケットをカプセル化解除し、VNIに基づいてカプセル化解除されたパケットを転送するように指示する。
【0244】
S706: 第2のネットワークデバイスが、第1のパケットを取得するために第2のパケットをカプセル化解除する。
【0245】
この実施形態では、VNIを取得した後、カプセル化解除されたIPv6ヘッダの中の情報に基づいて、第2のネットワークデバイスが終端ノードであると決定するとき、第2のネットワークデバイスは、第2のパケットをカプセル化解除し、カプセル化されたIPv6ヘッダを取り除き、第1のパケットを取得する。たとえば、第2のネットワークデバイスが、第2のパケットのIPv6ヘッダの中の終点アドレスフィールドが第2のネットワークデバイスのSIDを含むと決定するとき、第2のネットワークデバイスは、第1のパケットを取得するために、転送エントリの中の動作項目に基づいて第2のパケットをカプセル化解除する。パケットをカプセル化解除することは、第1のパケットを取得するために第2のパケットにおいてカプセル化されるIPv6基本ヘッダを取り除くこと、または第1のパケットを取得するために第2のパケットにおいてカプセル化されるIPv6基本ヘッダおよびIPv6拡張ヘッダを取り除くことを含む。
【0246】
S705およびS706の実行順序は本実施形態では限定されない。S706がS705の前に実施されてもよく、S705がS706の前に実施されてもよく、またはS705およびS706は同時に実施されてもよい。
【0247】
S707: 第2のネットワークデバイスが、VNIに基づいて第1のパケットを転送する。
【0248】
第1のパケットを取得した後、第2のネットワークデバイスは、VNIに基づいて転送パスを決定し、転送パスに基づいて第1のパケットを転送する。具体的には、第2のネットワークデバイスは、VNIに基づいて対応するVXLANの実例の転送テーブルを取得し、第1のパケットの中の終点アドレスに基づいて転送エントリについてVXLANの実例の転送テーブルを探索し、転送エントリに基づいて第1のパケットを転送する。第1のパケットが第二層パケットであるとき、対応する終点アドレスはMACアドレスであり、取得される転送テーブルまたはMACテーブルであることに留意されたい。第1のパケットが第三層パケットであるとき、対応する終点アドレスはIPアドレスであり、取得される転送テーブルはルーティングテーブルである。
【0249】
理解を簡単にするために、図12に示される応用シナリオの概略図を参照されたい。応用シナリオが送信元サーバ、送信先サーバ、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である。図6において、第二層サービスパケットの転送が、説明のための例として使用される。具体的には、送信元サーバによって送信されたパケット1を受信した後、VTEP 1は、VTEP 1と送信元サーバとの間に接続されるポートについての情報に基づいて、送信元サーバに対応するテナント識別子VNI 1001を決定し、IPv6基本ヘッダの終点アドレスフィールドにVNIをカプセル化する。終点アドレスフィールドはさらに、トンネルエンドポイント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は、第二層転送テーブルに基づいて次ホップネットワークデバイスのMACアドレスを決定し、パケット3を取得するために、外部MACヘッダの中の始点MACおよび終点MACを更新し、すなわち始点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を終点サーバに転送する。
【0250】
図13は、本出願のある実施形態による、GTPパケット送信方法のフローチャートである。図13に示されるように、方法は以下のステップを含む。
【0251】
S1301: 第1のネットワークデバイスが第1のパケットを取得する。
【0252】
S1302: 第1のネットワークデバイスが第1のパケットに基づいてTEIDを取得する。
【0253】
この実施形態では、第1のネットワークデバイスは図1aのスイッチ1であり得る。第1のネットワークデバイスは、図1aのホストまたは送信元サーバによって送信される第1のパケットを受信してもよく、または、第1のネットワークデバイスが第1のパケットを生成する。第1のパケットが取得された後、第1のパケットに対応するTEIDが、第1のパケットに基づいて取得される。TEIDは、第1のパケットを送信するデバイスに対応するテナント識別子である。具体的には、第1のパケットを受信した後、第1のネットワークデバイスは、第1のパケットを受信するためのインターフェースに基づいて、第1のパケットに対応するTEIDを取得し得る。TEIDは、第1のパケットを受信するためのインターフェースに対応する。たとえば、TEIDは、第1のネットワークデバイスのインターフェース上で事前に構成され得る。インターフェースを通じて第1のパケットを受信した後、第1のネットワークデバイスは、インターフェースとTEIDとの間の対応付けに基づいてTEIDを取得する。代替として、第1のパケットを受信した後、第1のネットワークデバイスは、第1のパケットの中のアドレス(始点アドレス)に基づいて、第1のパケットに対応するTEIDを取得し得る。たとえば、アドレスとTEIDとの間の対応付けは、第1のネットワークデバイス上で事前に構成される。第1のパケットを受信した後、第1のネットワークデバイスは、第1のパケットのアドレスおよび対応付けに基づいて、アドレスに対応するTEIDを決定する。
【0254】
S1303: 第1のネットワークデバイスが、第2のパケットを取得するために第1のパケットにIPv6ヘッダをカプセル化する。
【0255】
第1のパケットに対応するTEIDを決定した後、第1のネットワークデバイスは第1のパケットにIPv6ヘッダをカプセル化し、TEIDは、第2のパケットを取得するために、IPv6ヘッダにおいて搬送される。IPv6ヘッダがTEIDを搬送する2つの方式がある。一方の方式では、IPv6ヘッダはTEIDを直接搬送する。他方の方式では、IPv6ヘッダはGTPヘッダを含み、GTPヘッダはTEIDを含む。
【0256】
任意選択で、IPv6ヘッダはIPv6基本ヘッダまたはIPv6拡張ヘッダであり、TEIDはIPv6基本ヘッダまたはIPv6拡張ヘッダにおいて搬送され得る。代替として、GTPヘッダは、IPv6基本ヘッダまたはIPv6拡張ヘッダにおいて搬送され得る。IPv6基本ヘッダは基本パケット転送情報を含み、長さは40バイトである。
【0257】
(1)IPv6ヘッダはIPv6基本ヘッダである。
【0258】
IPv6ヘッダがIPv6基本ヘッダであるとき、TEIDは、IPv6基本ヘッダの終点アドレスフィールドにおいて搬送され得る。普通は、IPv6基本ヘッダの中の終点アドレスフィールドの長さは128ビットであり、このフィールドは終点ネットワークデバイスのアドレスを搬送するために使用される。任意選択で、パケット転送プロセスにおいて、終点ネットワークデバイスのプレフィックス情報は、普通は終点アドレスフィールド全体を占有する必要はない。たとえば、終点ネットワークデバイスのプレフィックス情報は、終点アドレスフィールドの64ビットしか占有する必要がない。任意選択で、終点ネットワークデバイスのアドレスは、64ビットへと圧縮されてもよく、1番目のビットから64番目のビットを占有する。このようにして、TEIDは、終点アドレスフィールドの65番目のビットから128番目のビットを占有し得る。代替として、TEIDは、終点アドレスフィールドの80番目のビットから128番目のビットを占有し得る。終点アドレスフィールドにおいてTEIDにより占有される位置は、実際の応用状況に基づいて決定され得る。これはこの実施形態では限定されない。
【0259】
任意選択で、終点アドレスフィールドは、終点アドレスおよびTEIDを含み得る。具体的な搬送方式については、図8aを参照されたい。
【0260】
加えて、IPv6ヘッダはさらにTEIDフラグ(flag)を含んでもよく、TEID flagは、第2のパケットがTEIDを搬送することを示す。フラグの長さは1ビットである。ビットが1であるとき、それは、第2のパケットがTEIDを搬送することを示す。TEID flagは、終点アドレスフィールドにおいて搬送され得る。具体的な搬送方式については、図8bを参照されたい。終点アドレスフィールドは、終点アドレス、TEID flag、およびTEIDを含む。
【0261】
IPv6基本ヘッダの終点アドレスフィールドにおいて搬送されるTEIDに対して、別の搬送方式がある。具体的には、終点アドレスフィールドはGTPヘッダを含み、GTPヘッダはTEIDを搬送する。すなわち、GTPヘッダは、IPv6基本ヘッダの終点アドレスフィールドにおいてカプセル化される。GTPヘッダの長さは64ビットである。終点アドレスは、普通は終点アドレスフィールドの1番目のビットから64番目のビットを占有する。このようにして、GTPヘッダは、終点アドレスフィールドの65番目のビットから128番目のビットに位置し得る。GTPヘッダはTEIDフラグ(flag)を含む。具体的には、IPv6基本ヘッダの中の終点アドレスフィールドは終点アドレスおよびGTPヘッダを含み、GTPヘッダはTEIDおよびTEID flagを含む。
【0262】
終点アドレスフィールドは、普通はパケットの終点アドレスを搬送するために使用される。パケットを受信した後、終点アドレスによって示される終点ネットワークデバイスは、終点アドレスフィールドから終点アドレスを読み取り、終点アドレスに基づいてパケットを転送する。この実施形態では、終点アドレスフィールドは、終点アドレスだけではなく、TEIDも含む。TEIDは、パケットを転送するように終点ネットワークデバイスに指示する。終点ネットワークデバイスがパケットを受信した後にTEIDに基づいてパケットを転送することを可能にするために、終点アドレスフィールドにおいて終点アドレスによって示されるデバイス(第2のネットワークデバイス)は、パケットを受信した後に終点アドレスフィールドにおいて搬送されるTEIDに基づいて第2のパケットを転送するように事前に通知される必要がある。
【0263】
(2)IPv6ヘッダはIPv6拡張ヘッダである。
【0264】
任意選択で、IPv6ヘッダを第1のパケットにカプセル化するとき、第1のネットワークデバイスは、IPv6基本ヘッダおよびIPv6拡張ヘッダを第1のパケットにカプセル化し得る。
【0265】
IPv6ヘッダがIPv6拡張ヘッダであるとき、IPv6拡張ヘッダがTEIDを搬送するために使用され得る。IPv6拡張ヘッダは、HBH、DOH、RH、SRHなどを含み得る。DOHのフォーマットが図3aに示される。
【0266】
ある実装形態では、TEIDは、IPv6拡張ヘッダのDOHにおいて搬送される。DOHがTEIDを搬送するために使用されるとき、TEIDを直接搬送するために、DOHの中のオプションフィールドが使用され得る。具体的な搬送方式については、図9aを参照されたい。代替として、DOHの中のオプションフィールドは、GTPヘッダを搬送するために使用されてもよく、GTPヘッダはTEIDを搬送する。搬送方式については、図9bを参照されたい。IPv6拡張ヘッダがさらにTEIDフラグ(flag)を含むとき、フラグ(flag)を直接搬送するために、DOHの中のオプションフィールドが使用され得る。搬送方式については、図9cを参照されたい。代替として、DOHの中のオプションフィールドは、GTPヘッダを搬送するために使用されてもよく、GTPヘッダはTEID flagおよびTEIDを搬送する。具体的には、GTPヘッダは、オプションフィールドに完全にコピーされ得る。
【0267】
任意選択で、DOHの中の「Options」はタイプ長さ値TLVを含み、TLVのタイプフィールドは、DOHがTEIDを搬送することを示す。たとえば、タイプフィールドTが1であるとき、それはDOHがTEIDを搬送することを示すことが規定され得る。第2のパケットを受信した後、別のネットワークデバイスは、T=1に基づいて、第2のパケットがTEIDを含むと決定し得る。
【0268】
任意選択で、DOHの中の「Options」はTLVを含み、TLVのタイプは、DOHがGTPヘッダを搬送することを示す。TLVは増強されたGTP TLVであり得る。増強されたGTP TLVの構造については、図4aを参照されたい。
【0269】
任意選択で、TEIDはオプションデータフィールドにおいて搬送され得る。搬送方式については、図10aを参照されたい。
【0270】
任意選択で、GTPヘッダはオプションデータフィールドにおいて搬送され得る。搬送方式については、図10bを参照されたい。
【0271】
別の実装形態では、TEIDがSRHにおいて搬送されるとき、TEIDはSRHのSID listにおいて搬送され得る。SRHのフォーマットが図5aに示され、SIDのフォーマットが図5bに示される。
【0272】
TEIDがSID listにおいて搬送される事例は、以下の事例を含み得る。
【0273】
事例1:
【0274】
TEIDは、SID listの中の第2のネットワークデバイスに対応するSIDにおいて搬送される。具体的には、TEIDは、第2のネットワークデバイスのSIDの機能(function)フィールドにおいて搬送される。第2のネットワークデバイスのSIDがTEIDを搬送するために使用されるとき、第2のネットワークデバイスのSIDはTEIDを直接搬送するために使用され得る。搬送方式については、図11aを参照されたい。SID listはSID 1からSID nを含み、第2のネットワークデバイスのSIDはSID nである。SID nは、locatorおよびTEIDを含む。locatorは、第2のネットワークデバイスのアドレスを含む。たとえば、TEIDは、第2のネットワークデバイスのSIDの64番目のビットから128番目のビットを占有し、または、第2のネットワークデバイスのSIDの80番目のビットから128番目のビットを占有する。SID nがさらにパラメータ(argument)を含むとき、SID nは、locator、TEID、およびargumentを含む。この場合、TEIDは、第2のネットワークデバイスのSIDの64番目のビットから87番目のビットを占有する。
【0275】
代替として、第2のネットワークデバイスのSIDはGTPヘッダを搬送するために使用され、GTPヘッダはTEIDを含む。搬送方式については、図11bを参照されたい。第2のネットワークデバイスのSIDはSID nであり、SID nはlocatorおよびGTPヘッダを含む。具体的には、GTPヘッダは、第2のネットワークデバイスのSIDの64番目のビットから128番目のビットを占有し得る。第2のネットワークデバイスのSIDは、SIDにおいて搬送されるTEIDに基づいてパケットを転送するように第2のネットワークデバイスに指示する。
【0276】
事例2:
【0277】
TEIDは、第2のネットワークデバイス以外のネットワークデバイスのSIDが位置するセグメントリストにおいて搬送される。たとえば、SID listの中の第2のネットワークデバイスのSIDがSID 3である場合、TEIDは、SID listの中のSID 4において搬送される。すなわち、TEIDは別のSIDにおいて搬送される。この場合、別のSIDはTEIDを直接搬送するために使用され得る。搬送方式については、図11aを参照されたい。代替として、別のSIDがGTPヘッダを搬送するために使用されてもよく、GTPヘッダはTEIDを含む。搬送方式については、図11bを参照されたい。第2のネットワークデバイスのSIDは、別のSIDからTEIDを読み取り、TEIDに基づいてパケットを転送するように、第2のネットワークデバイスに指示する。
【0278】
この実施形態では、第2のネットワークデバイスはTEIDに基づいてパケットを転送する必要があるので、第2のネットワークデバイスのSIDを広告するとき、第2のネットワークデバイスは、第2のネットワークデバイスのSIDのタイプがEND.VNタイプであることを通知し得る。SIDはSRv6 SIDである。SIDのlocator部分はGTPパケットに対応する終点トンネルエンドポイントのアドレスを含み、SIDのfunction部分はTEIDまたはGTPヘッダを含む。SIDのbehaviorに対応する転送動作は、次のことを含む。パケットを受信した後、終点トンネルエンドポイントが、パケットのSIDにおいて搬送されるTEIDに基づいて対応する実例の転送テーブルを取得し、パケットをカプセル化解除し、ペイロード中のMACアドレスなどに基づいて転送テーブルを探索し、パケットを転送する。任意選択で、第2のネットワークデバイスのアドレスに対応するSIDは、END.VNタイプのSIDである。任意選択で、第2のネットワークデバイスのアドレスに対応するSIDは、第2のネットワークデバイスのSRv6 locatorである。
【0279】
特定の実装形態において、第1のネットワークデバイスとのIGPセッションまたはBGPセッションを確立した後、第2のネットワークデバイスは、第2のネットワークデバイスのSIDおよびSIDに対応するタイプを、IGPまたはBGPを使用することによって第1のネットワークデバイスに広告し得る。第1のネットワークデバイスは、第2のネットワークデバイスのSIDおよびSIDに対応するタイプを記憶する。GTPパケットを第2のネットワークデバイスに転送する必要があるとき、第1のネットワークデバイスは、第2のネットワークデバイスのSIDのタイプに基づいて、パケットに対応するTEIDをIPv6ヘッダにカプセル化し得る。SIDを広告するとき、第2のネットワークデバイスは、転送テーブルをローカルで確立し、転送テーブルは照合項目および動作項目を含む。照合項目は、第2のネットワークデバイスのSIDを含む。動作項目は、パケットをカプセル化解除し、パケットにおいて搬送されるTEIDに基づいてパケットを転送するように、第2のネットワークデバイスに指示する。
【0280】
IPv6ヘッダがさらにTEID flagを含むとき、TEID flagは第2のネットワークデバイスのSIDにおいて搬送されてもよく、たとえば、TEID flagおよびTEIDはSID nにカプセル化される。SID nがさらにパラメータ(argument)を含むとき、SID nは、locator、TEID flag、TEID、およびargumentを含む。
【0281】
上の説明から、IPv6基本ヘッダがTEIDを搬送するために使用されてもよく、またはIPv6拡張ヘッダがTEIDを搬送するために使用されてもよいことがわかる。いずれの方式でも、追加のUDPヘッダがカプセル化される必要はない。これは、パケットカプセル化のためのデータの量を減らし、パケットカプセル化の効率を改善する。
【0282】
加えて、IPv6ヘッダの中のフローラベルは、GTPパケットの終点ポート番号に対応し得る。終点ポート番号は、第2のパケットの転送プロセスにおいて負荷バランス処理を実施するために使用されるだけではなく、第2のパケットがGTPパケットを含むことも決定し得る。ポート番号は、あらかじめ設定された固定のポート番号であってもよく、または、第1のパケットのペイロードに基づいて動的な計算を通じて取得されたポート番号であってもよい。任意選択で、第2のパケットのフローラベルを計算するための方法が、GTPパケットにおいて負荷バランスのために使用されるUDP始点ポートを計算するための方法と同じであり、GTPパケットから取得されるポート番号値は、第2のパケットのフローラベルにおいて搬送され得る。
【0283】
現場フロー情報テレメトリ(IFIT)機能を実装するために、IPv6ヘッダが第1のパケットにカプセル化されるとき、ホップバイホップネットワーク現場フロー情報テレメトリ、または指定されたノードもしくは終点ノードのネットワーク現場フロー情報テレメトリを実施するために、IFIT命令がIPv6ヘッダにおいて搬送され得る。具体的には、IFIT命令はIPv6拡張ヘッダにおいて搬送され得る。
【0284】
S1304: 第1のネットワークデバイスが、第2のパケットを第2のネットワークデバイスに送信する。
【0285】
この実施形態では、第1のパケットにIPv6ヘッダをカプセル化することによって第2のパケットを取得した後、第1のネットワークデバイスは、第2のパケットを第2のネットワークデバイスに送信する。第2のネットワークデバイスは、VXLANネットワークの中の終端ノードであり得る。たとえば、第2のネットワークデバイスは図1aのスイッチ2である。第2のパケットのIPv6ヘッダの中の終点アドレスフィールドは、第2のネットワークデバイスのアドレスまたは第2のネットワークデバイスのSRv6 locatorである。たとえば、図1aにおいて、第2のパケットのIPv6ヘッダの中の終点アドレスフィールドは、スイッチ2のアドレスまたはスイッチ2のSRv6 locatorを含む。
【0286】
S1305: 第2のネットワークデバイスが、第2のパケットを受信し、第2のパケットのIPv6ヘッダからTEIDを取得する。
【0287】
上の説明から、TEIDはIPv6基本ヘッダまたはIPv6拡張ヘッダで搬送されることがあることがわかる。TEIDが異なるIPv6ヘッダにおいて搬送されるとき、第2のネットワークデバイスは、異なる方式でIPv6ヘッダからTEIDを取得する。第2のネットワークデバイスがIPv6ヘッダからTEIDを取得する実装形態については、S705の関連する説明を参照されたい。
【0288】
第2のネットワークデバイスのSIDは第2のパケットにおいてカプセル化される必要があるので、第2のネットワークデバイスが第1のネットワークデバイスによって送信される第2のパケットを受信する前に、第2のネットワークデバイスは、第2のネットワークデバイスのSIDを第1のネットワークデバイスに広告する必要があることに留意されたい。加えて、第2のネットワークデバイスのSIDのタイプがさらに広告され得る。第2のネットワークデバイスのSIDに対応するタイプは、END.VNタイプとして定義されてもよく、対応するパケットを受信した後にパケットからTEIDを取得し、パケットをカプセル化解除し、TEIDに基づいて転送テーブルを探索し、転送テーブルに基づいてカプセル化解除されたパケットを転送するように、第2のネットワークデバイスに指示する。第2のネットワークデバイスのSIDは第2のネットワークデバイスのアドレスであってもよく、または、第2のネットワークデバイスのアドレスの後に取得された対応するアドレスは圧縮される。
【0289】
第2のネットワークデバイスのSIDを第1のネットワークデバイスに広告するとき、第2のネットワークデバイスはさらに、転送エントリをローカルで確立し得る。転送エントリは、照合項目および動作項目を含む。照合項目は第2のネットワークデバイスのSIDを含み、動作項目は、照合が成功するときに実施される必要のある動作を示す。たとえば、動作項目は、照合が成功するときに第2のパケットをカプセル化解除し、TEIDに基づいてカプセル化解除されたパケットを転送するように指示する。
【0290】
S1306: 第2のネットワークデバイスが、第1のパケットを取得するために第2のパケットをカプセル化解除する。
【0291】
この実施形態では、TEIDを取得した後、カプセル化されたIPv6ヘッダの中の情報に基づいて、第2のネットワークデバイスが終端ノードであると決定するとき、第2のネットワークデバイスは、第2のパケットをカプセル化解除し、カプセル化されたIPv6ヘッダを取り除き、第1のパケットを取得する。たとえば、第2のネットワークデバイスが、第2のパケットのIPv6ヘッダの中の終点アドレスフィールドが第2のネットワークデバイスのSIDを含むと決定するとき、第2のネットワークデバイスは、第1のパケットを取得するために、転送エントリの中の動作項目に基づいて第2のパケットをカプセル化解除する。パケットをカプセル化解除することは、第1のパケットを取得するために第2のパケットにおいてカプセル化されるIPv6基本ヘッダを取り除くこと、または第1のパケットを取得するために第2のパケットにおいてカプセル化されるIPv6基本ヘッダおよびIPv6拡張ヘッダを取り除くことを含む。
【0292】
S1305およびS1306の実行順序は本実施形態では限定されない。S1306がS1305の前に実施されてもよく、S1305がS1306の前に実施されてもよく、またはS1305およびS1306は同時に実施されてもよい。
【0293】
S1307: 第2のネットワークデバイスが、TEIDに基づいて第1のパケットを転送する。
【0294】
第1のパケットを取得した後、第2のネットワークデバイスは、TEIDに基づいて転送パスを決定し、転送パスに基づいて第1のパケットを転送する。
【0295】
前述の方法の実施形態に基づいて、本出願のある実施形態はさらに、パケット送信のためのネットワークデバイスを提供する。これは、添付の図面を参照して以下で説明される。
【0296】
図14は、前述の方法の実施形態におけるネットワークデバイスのあり得る構造の概略図である。ネットワークデバイス1400は、図2図7、または図13に示される実施形態における第1のネットワークデバイスの機能を実装し得る。代替として、ネットワークデバイス1400は、図1aに示される実施形態におけるスイッチ1および図12に示される実施形態におけるVTEP 1の機能を実装し得る。図14を参照されたい。ネットワークデバイス1400は、取得ユニット1401、処理ユニット1402、および送信ユニット1403を含む。これらのユニットは、前述の方法の例において第1のネットワークデバイスの対応する機能を実施し得る。
【0297】
取得ユニット1401は、図2のS201、図7のS701、または図13のS1301を実施する際にネットワークデバイス1400を支援するように構成される。処理ユニット1402は、図2のS202およびS203、図7のS702およびS703、または図13のS1302およびS1303を実施する際にネットワークデバイス700を支援するように構成される。送信ユニット703は、図2のS204、図7のS704、もしくは図13のS1304を実施する際に、および/または、本明細書で説明される技術において第1のネットワークデバイスによって実施される別の処理を実施する際に、ネットワークデバイス1400を支援するように構成される。たとえば、取得ユニット1401は、前述の方法の実施形態における、第1のネットワークデバイスにより第1のパケットを取得する動作を実施するように構成される。処理ユニット1402は、前述の方法の実施形態における、第1のネットワークデバイスにより実施される様々な処理動作を実施するように構成される。送信ユニット1403は、前述の方法の実施形態における、第1のネットワークデバイスによりパケットを送信する動作を実施するように構成される。たとえば、処理ユニット1402は、第1のパケットに基づいてトンネルヘッダを取得し、第2のパケットを取得するために第1のパケットにIPv6ヘッダをカプセル化するように構成される。送信ユニット1403は、第2のパケットを第2のネットワークデバイスに送信するように構成される。具体的な実行プロセスについては、図2図7、または図13に示される実施形態の対応するステップの詳細な説明を参照されたい。詳細はここでは再び説明されない。
【0298】
任意選択で、処理ユニット1402は特に、第1のパケットを受信するためのインターフェースに基づいてトンネルヘッダを取得するように構成される。トンネルヘッダは、第1のパケットを受信するためのインターフェースに対応する。
【0299】
本出願のこの実施形態では、ユニット分割は例であり、論理的な機能の分割にすぎないことに留意されたい。実際の実装形態では、別の分割方式が使用され得る。本出願のこの実施形態における機能ユニットは、1つの処理ユニットへと統合されてもよく、またはユニットの各々が物理的に単独で存在していてもよく、または2つ以上のユニットが1つのユニットに統合される。たとえば、上述の実施形態において、処理ユニットおよび送信ユニットは同じユニットであってもよく、または異なるユニットであってもよい。統合ユニットは、ハードウェアの形態で実装されてもよく、またはソフトウェア機能ユニットの形態で実装されてもよい。
【0300】
図15は、前述の方法の実施形態におけるネットワークデバイスのあり得る構造の概略図である。ネットワークデバイス1500は、図2図7、または図13に示される実施形態における第2のネットワークデバイスの機能を実装し得る。代替として、ネットワークデバイス1500は、図1aに示される実施形態におけるスイッチ2および図12に示される実施形態におけるVTEP 2の機能を実装し得る。図15を参照されたい。ネットワークデバイス1500は、受信ユニット1501、処理ユニット1502、および送信ユニット1503を含む。これらのユニットは、前述の方法の例において第2のネットワークデバイスの対応する機能を実施し得る。受信ユニット1501は、図2のS205、図7のS705、または図13のS1305を実施する際にネットワークデバイス1500を支援するように構成される。処理ユニット1502は、図2のS205およびS206、図7のS705およびS706、または図13のS1305およびS1306を実施する際にネットワークデバイス1500を支援するように構成される。送信ユニット1503は、図2のS207、図7のS707、もしくは図13のS1307を実施する際に、および/または、本明細書で説明される技術において第2のネットワークデバイスによって実施される別の処理を実施する際に、ネットワークデバイス1500を支援するように構成される。たとえば、受信ユニット1501は、前述の方法の実施形態における、第2のネットワークデバイスにより第2のパケットを受信する動作を実施するように構成される。処理ユニット1502は、前述の方法の実施形態における、第2のネットワークデバイスにより実施される様々な処理動作を実施するように構成される。送信ユニット1503は、前述の方法の実施形態における、第2のネットワークデバイスにより第1のパケットを転送する動作を実施するように構成される。たとえば、処理ユニット1502は、第2のパケットのIPv6ヘッダからトンネルヘッダを取得し、第1のパケットを取得するために第2のパケットをカプセル化解除するように構成される。送信ユニット1503は、第1のパケットを転送するように構成される。具体的な実行プロセスについては、図2図7、または図13に示される実施形態の対応するステップの詳細な説明を参照されたい。詳細はここでは再び説明されない。
【0301】
任意選択で、処理ユニット1502は特に、終点アドレスフィールドが第2のネットワークデバイスのアドレスを含むと決定し、終点アドレスフィールドが第2のネットワークデバイスのアドレスを含むとの決定に応答して、終点アドレスフィールドからトンネルヘッダを取得するように構成される。
【0302】
任意選択で、処理ユニット1502は特に、第2のパケットの終点アドレスフィールドが第2のネットワークデバイスのSIDを含むと決定し、第2のパケットの終点アドレスフィールドが第2のネットワークデバイスのSIDを含むとの決定に応答して、第2のネットワークデバイスのSIDからトンネルヘッダを取得するように構成される。
【0303】
任意選択で、送信ユニット1503はさらに、受信ユニット1501が第1のネットワークデバイスから第2のパケットを受信する前に、第2のネットワークデバイスのSIDを第1のネットワークデバイスに広告するように構成される。
【0304】
任意選択で、処理ユニット1502はさらに、転送エントリを確立し、転送エントリが照合項目および動作項目を含み、照合項目が第2のネットワークデバイスのSIDを含み、動作項目に基づいて第2のパケットをカプセル化解除し、トンネルヘッダに基づいて第1のパケットを転送するように構成される。
【0305】
本出願のこの実施形態では、ユニット分割は例であり、論理的な機能の分割にすぎないことに留意されたい。実際の実装形態では、別の分割方式が使用され得る。本出願のこの実施形態における機能ユニットは、1つの処理ユニットへと統合されてもよく、またはユニットの各々が物理的に単独で存在していてもよく、または2つ以上のユニットが1つのユニットに統合される。たとえば、上述の実施形態において、処理ユニットおよび送信ユニットは同じユニットであってもよく、または異なるユニットであってもよい。統合ユニットは、ハードウェアの形態で実装されてもよく、またはソフトウェア機能ユニットの形態で実装されてもよい。
【0306】
図16を参照されたい。本出願のある実施形態は、パケット送信のためのネットワークシステム1600を提供する。システム1600は、上述の方法の実施形態においてパケット送信方法を実施するように構成される。システム1600は、ネットワークデバイス1601およびネットワークデバイス1602を含む。ネットワークデバイス1601は、図2図7、もしくは図13に示される実施形態における第1のネットワークデバイスの機能、または図14のネットワークデバイス1400の機能を実装し得る。ネットワークデバイス1602は、図2図7、もしくは図13に示される実施形態における第2のネットワークデバイスの機能、または図15のネットワークデバイス1500の機能を実装し得る。ネットワークデバイス1601はさらに、図1aに示される実施形態におけるスイッチ1の機能または図12に示される実施形態におけるVTEP 1の機能を実装し得る。ネットワークデバイス1602はさらに、図1aに示される実施形態におけるスイッチ2の機能または図12に示される実施形態におけるVTEP 2の機能を実装し得る。具体的な実行プロセスについては、図2図7、または図13に示される実施形態の対応するステップの詳細な説明を参照されたい。詳細はここでは再び説明されない。
【0307】
図17は、本出願のある実施形態による、ネットワークデバイスの構造の概略図である。ネットワークデバイスは、たとえば、前述の方法の実施形態における第1のネットワークデバイスまたは第2のネットワークデバイスであり得る。代替として、図14のネットワークデバイス1400および図15のネットワークデバイス1500は、図17に示されるデバイスを使用することによって実装され得る。
【0308】
図17を参照されたい。ネットワークデバイス1700は、プロセッサ1710、通信インターフェース1720、およびメモリ1730を含む。ネットワークデバイス1700には、1つまたは複数のプロセッサ1710があり得る。図17では、1つのプロセッサが例として使用される。本出願のこの実施形態では、プロセッサ1710、通信インターフェース1720、およびメモリ1730は、バスシステムを使用することによって、または別の方式で接続され得る。図17では、たとえば、バスシステム1740が接続のために使用される。
【0309】
プロセッサ1710は、CPU、NP、またはCPUとNPの組合せであり得る。プロセッサ1710はさらにハードウェアチップを含み得る。ハードウェアチップは、特定用途向け集積回路(application-specific integrated circuit, ASIC)、プログラマブルロジックデバイス(programmable logic device, PLD)、またはこれらの組合せであり得る。PLDは、コンプレックスプログラマブルロジックデバイス(complex programmable logic device, CPLD)、フィールドプログラマブルロジックゲートアレイ(field-programmable gate array, FPGA)、汎用アレイロジック(generic array logic, GAL)、またはこれらの任意の組合せであり得る。
【0310】
ネットワークデバイスが第1のネットワークデバイスであるとき、プロセッサ1710は、前述の方法の実施形態における関連する機能、たとえば、第1のパケットを受信すること、第1のパケットに対応するトンネルヘッダを取得すること、および第2のパケットを取得するために第1のパケットにIPv6ヘッダをカプセル化することを実施し得る。
【0311】
通信インターフェース1720は、パケットを受信して送信するように構成される。具体的には、通信インターフェース1720は、受信インターフェースおよび送信インターフェースを含み得る。受信インターフェースはパケットを受信するように構成されてもよく、送信インターフェースはパケットを送信するように構成されてもよい。1つまたは複数の通信インターフェース1720があり得る。
【0312】
メモリ1730は、揮発性メモリ(volatile memory)、たとえばランダムアクセスメモリ(random access memory, RAM)を含み得る。メモリ1730はさらに、不揮発性メモリ(non-volatile memory)、たとえば、フラッシュメモリ(flash memory)、ハードディスクドライブ(hard disk drive, HDD)、またはソリッドステートドライブ(solid-state drive, SSD)を含み得る。メモリ1730はさらに、前述のタイプのメモリの組合せを含み得る。メモリ1730は、たとえば、上で説明されたユーザ関連情報を記憶し得る。
【0313】
任意選択で、メモリ1730は、オペレーティングシステム、プログラム、実行可能モジュール、もしくはデータ構造、またはそれらのサブセット、またはそれらの拡張セットを記憶する。プログラムは、様々な動作を実施するための様々な動作命令を含み得る。オペレーティングシステムは、様々なシステムプログラムを含んでもよく、様々な基本サービスを実施してハードウェアベースのタスクを処理するように構成される。プロセッサ1710は、本出願の実施形態において提供される方法を実施するために、メモリ1730の中のプログラムを読み取り得る。
【0314】
メモリ1730は、ネットワークデバイス1700の中の記憶デバイスであってもよく、またはネットワークデバイス1700から独立した記憶装置であってもよい。
【0315】
バスシステム1740は、ペリフェラルコンポーネントインターコネクト(peripheral component interconnect, PCI)バス、拡張産業規格アーキテクチャ(extended industry standard architecture, EISA)バスなどであり得る。バスシステム1740は、アドレスバス、データバス、制御バスなどへと分類され得る。表現を簡単にするために、図17ではバスを表すために1本の太線のみが使用されるが、これは、1本だけのバスまたは1つのタイプだけのバスがあることを意味しない。
【0316】
図18は、本出願のある実施形態による、別のネットワークデバイス1800の構造の概略図である。ネットワークデバイス1800は、前述の方法の実施形態における第1のネットワークデバイスまたは第2のネットワークデバイスとして構成され得る。代替として、図14のネットワークデバイス1400および図15のネットワークデバイス1500は、図18に示されるデバイスを使用することによって実装され得る。
【0317】
ネットワークデバイス1800は、主要制御盤1810およびインターフェース盤1830を含む。
【0318】
主制御盤1810は、主処理装置(main processing unit, MPU)またはルートプロセッサカード(route processor card)とも呼ばれる。主制御盤1810は、ルーティング計算、デバイス管理、デバイス維持、およびプロトコル処理の機能を含む、ネットワークデバイス1800のコンポーネントを制御して管理する。主制御盤1810は、中央処理装置1818およびメモリ1812を含む。
【0319】
インターフェース盤1830は、線処理装置(line processing unit, LPU)、線カード(line card)、またはサービス盤とも呼ばれる。インターフェース盤1830は、様々なサービスインターフェースを提供し、データパケットを転送するように構成される。サービスインターフェースは、限定はされないが、イーサネットインターフェース、POS(Packet over SONET/SDH)インターフェースなどを含む。イーサネットインターフェースは、たとえば、フレキシブルイーサネットクライアントインターフェース(flexible Ethernet clients, FlexE Clients)である。インターフェース盤1830は、中央処理装置1831、ネットワークプロセッサ1832、転送エントリメモリ1834、および物理インターフェースカード(physical interface card, PIC)1833を含む。
【0320】
インターフェース盤1830上の中央処理装置1831は、インターフェース盤1830を制御して管理し、主制御盤1810上で中央処理装置1811と通信するように構成される。
【0321】
ネットワークプロセッサ1832は、パケット転送処理を実施するように構成される。ネットワークプロセッサ1832の形態は、転送チップであり得る。具体的には、アップリンクパケットの処理は、パケットのインバウンドインターフェースの処理と、転送テーブルの探索とを含む。ダウンリンクパケットの処理は、転送テーブルなどを探索することを含む。
【0322】
物理インターフェースカード1833は、物理層相互接続機能を実装するように構成される。元のトラフィックは、物理インターフェースカード1833を通じてインターフェース盤1830に入り、処理されたパケットが、物理インターフェースカード1833を通じて送出される。物理インターフェースカード1833は少なくとも1つの物理インターフェースを含み、物理インターフェースは物理ポートとも呼ばれる。物理インターフェースカード1833は、サブカードとも呼ばれ、インターフェース盤1830に搭載されることがあり、光/電気信号をパケットに変換すること、パケットに対する妥当性確認を実施すること、および処理のためにパケットをネットワークプロセッサ1832に転送することを担う。いくつかの実施形態では、インターフェース盤1803の中央処理装置1831はまた、ネットワークプロセッサ1832の機能、たとえば、汎用CPUに基づいてソフトウェア転送を実施することを実行し得る。したがって、ネットワークプロセッサ1832は、物理インターフェースカード1833において必要とされない。
【0323】
任意選択で、ネットワークデバイス1800は複数のインターフェース盤を含む。たとえば、ネットワークデバイス1800はさらにインターフェース盤1840を含む。インターフェース盤1840は、中央処理装置1841、ネットワークプロセッサ1842、転送エントリメモリ1844、および物理インターフェースカード1843を含む。
【0324】
任意選択で、ネットワークデバイス1800はさらにスイッチング盤1820を含む。スイッチング盤1820は、スイッチファブリックユニット(switch fabric unit, SFU)とも呼ばれ得る。ネットワークデバイスが複数のインターフェース盤1830を有するとき、スイッチング盤1820は、インターフェース盤間でのデータ交換を完了するように構成される。たとえば、インターフェース盤1830は、スイッチング盤1820を介してインターフェース盤1840と通信し得る。
【0325】
主制御盤1810はインターフェース盤1830に結合される。たとえば、主制御盤1810、インターフェース盤1830、インターフェース盤1840、およびスイッチング盤1820は、通信を実施するために、システムバスを通じてシステムバックプレーンに接続される。ある可能な実装形態では、プロセス間通信(inter-process communication, IPC)チャネルが、主制御盤1810とインターフェース盤1830との間に確立され、主制御盤1810は、IPCチャネルを通じてインターフェース盤1830と通信する。
【0326】
論理的には、ネットワークデバイス1800は制御プレーンおよび転送プレーンを含む。制御プレーンは、主制御盤1810および中央処理装置1831を含む。転送プレーンは、転送を実行するコンポーネント、たとえば、転送エントリメモリ1834、物理インターフェースカード1833、およびネットワークプロセッサ1832を含む。制御プレーンは、ルータの機能、転送テーブルの生成、シグナリングおよびプロトコルパケットの処理、ならびにデバイスのステータスの構成と維持などの機能を実施する。制御プレーンは、生成された転送テーブルを転送プレーンに届ける。転送プレーン上で、ネットワークプロセッサ1832は、物理インターフェースカード1833によって受信されるパケットを転送するために、制御プレーンによって届けられる転送テーブルを探索する。制御プレーンによって届けられる転送テーブルは、転送エントリメモリ1834に記憶され得る。いくつかの実施形態では、制御プレーンおよび転送プレーンは、完全に分けられていてもよく、同じデバイスではない。
【0327】
ネットワークデバイス1400の処理ユニット1402は、ネットワークデバイス1800の中央処理装置1811または中央処理装置1831と等価であり得ることが理解されるべきである。
【0328】
本出願のこの実施形態では、インターフェース盤1840上で実施される動作はインターフェース盤1830上で実施される動作と一致することが理解されるべきである。簡潔にするために、詳細は説明されない。この実施形態におけるネットワークデバイス1800は、前述の方法の実施形態における第1のネットワークデバイスまたは第2のネットワークデバイスに対応し得ることが理解されるべきである。ネットワークデバイス1800の主制御盤1810、インターフェース盤1830、および/またはインターフェース盤1840は、前述の方法の実施形態における第1のネットワークデバイスまたは第2のネットワークデバイスによって実施される機能および/もしくは様々なステップを実施し得る。簡潔にするために、詳細はここでは再び説明されない。
【0329】
1つまたは複数の主制御盤があり得ることが理解されるべきである。複数の主制御盤があるとき、主制御盤は、活動している主制御盤と予備の主制御盤を含み得る。1つまたは複数のインターフェース盤があってもよく、より強いデータ処理能力を持つネットワークデバイスは、より多くのインターフェース盤を提供する。インターフェース盤上に1つまたは複数の物理インターフェースカードがあってもよい。スイッチング盤はなくてもよく、または1つまたは複数のスイッチング盤があってもよい。複数のスイッチング盤があるとき、負荷共有と冗長バックアップが一緒に実施され得る。集中型の転送アーキテクチャでは、ネットワークデバイスは、スイッチング盤を必要としないことがあり、インターフェース盤が、システム全体のサービスデータを処理する機能を提供する。分散型の転送アーキテクチャでは、ネットワークデバイスは、少なくとも1つのスイッチング盤を有してもよく、大容量のデータ交換および処理能力をもたらすために、複数のインターフェース盤間のデータ交換はスイッチング盤を使用することによって実施される。したがって、分散型アーキテクチャにおけるネットワークデバイスのデータアクセスおよび処理能力は、集中型アーキテクチャにおけるデバイスよりも高い。任意選択で、ネットワークデバイスは代替として、1つのカードしか含まなくてもよい。すなわち、スイッチング盤はない。インターフェース盤および主制御盤の機能は、カード上に統合される。この場合、インターフェース盤上の中央処理装置と主制御盤上の中央処理装置は、2つの中央処理装置が組み合わせられた後で得られる機能を実施するために、カード上で1つの中央処理装置へと組み合わせられ得る。この形態のデバイス(たとえば、ローエンドのスイッチまたはルータなどのネットワークデバイス)は、データ交換および処理能力が低い。使用されるべき具体的なアーキテクチャは、具体的なネットワーキング展開シナリオに依存する。
【0330】
いくつかの可能な実施形態では、第1のネットワークデバイスまたは第2のネットワークデバイスは、仮想化デバイスとして実装され得る。たとえば、仮想化デバイスは、パケット送信機能を有するプログラムが実行される仮想機械(virtual machine, VM)であってもよく、仮想機械はハードウェアデバイス(たとえば、物理サーバ)上で展開される。仮想機械は、完全なハードウェアシステム機能を有し、完全に隔離された環境で実行される、ソフトウェアによってシミュレートされる完全コンピュータシステムである。仮想機械は、第1のネットワークデバイスまたは第2のネットワークデバイスとして構成され得る。たとえば、第1のネットワークデバイスまたは第2のネットワークデバイスは、ネットワーク機能仮想化(network function virtualization, NFV)技術と組み合わせて汎用物理サーバに基づいて実装され得る。第1のネットワークデバイスまたは第2のネットワークデバイスは、仮想ホスト、仮想ルータ、または仮想スイッチである。当業者は、本出願を読むことによって、NFV技術と組み合わせて汎用物理サーバ上で前述の機能を有する第1のネットワークデバイスまたは第2のネットワークデバイスを仮想化し得る。詳細はここでは再び説明されない。
【0331】
前述の製品形態におけるネットワークデバイスは、前述の方法の実施形態における第1のネットワークデバイスまたは第2のネットワークデバイスによって実装される任意の機能を別々に有することが理解されるべきである。詳細はここでは再び説明されない。
【0332】
本出願のある実施形態はさらに、プロセッサおよびインターフェース回路を含むチップを提供する。インターフェース回路は、命令を受信し、命令をプロセッサに送信するように構成される。プロセッサは、前述のパケット送信方法を実施するように構成され得る。プロセッサはメモリに結合される。メモリはプログラムまたは命令を記憶するように構成される。プログラムまたは命令がプロセッサによって実行されるとき、チップシステムは、前述の方法の実施形態のいずれか1つにおける方法を実施することが可能にされる。
【0333】
任意選択で、チップシステムは1つまたは複数のプロセッサを含み得る。プロセッサは、ハードウェアを使用することによって実装されてもよく、またはソフトウェアを使用して実装されてもよい。ハードウェアを使用することによって実装されるとき、プロセッサは、論理回路、集積回路などであり得る。ソフトウェアを使用することによって実装されるとき、プロセッサは、汎用プロセッサであってもよく、メモリに記憶されているソフトウェアコードを読み取ることによって実装される。
【0334】
任意選択で、チップシステムは1つまたは複数のメモリも含み得る。メモリは、プロセッサと統合されてもよく、またはプロセッサとは別に配設されてもよい。これは本出願では限定されない。たとえば、メモリは、非一時的メモリ、たとえば読取り専用メモリ(ROM)であり得る。メモリおよびプロセッサは、同じチップ上で統合されてもよく、または異なるチップに別々に配設されてもよい。メモリのタイプならびにメモリおよびプロセッサを配設する方式は、本出願のこの実施形態では限定されない。
【0335】
たとえば、チップシステムは、フィールドプログラマブルゲートアレイ(field programmable gate array, FPGA)、特定用途向け集積回路(application-specific integrated circuit, ASIC)、システムオンチップ(system on chip, SoC)、中央処理装置(central processing unit, CPU)、ネットワークプロセッサ(network processor, NP)、デジタル信号処理回路(digital signal processor, DSP)、マイクロコントローラ(micro controller unit, MCU)、プログラマブルロジックデバイス(programmable logic device, PLD)、または別の集積チップであり得る。
【0336】
本出願のある実施形態はさらに、命令およびコンピュータプログラムを含む、コンピュータ可読記憶媒体を提供する。コンピュータ可読記憶媒体がコンピュータ上で実行されるとき、コンピュータは、前述の実施形態におけるパケット送信方法を実施することが可能にされる。
【0337】
本出願のある実施形態はさらに、命令またはコンピュータプログラムを含む、コンピュータプログラム製品を提供する。コンピュータプログラム製品がコンピュータ上で実行されるとき、コンピュータは、前述の実施形態におけるパケット送信方法を実施することが可能にされる。
【0338】
本出願の明細書、請求項、および添付の図面において、「第1の」、「第2の」、「第3の」、「第4の」などの用語(存在する場合)は、似た対象物を区別することが意図されるが、特定の順序または順列を必ずしも示さない。そのような方法で使用されるデータは適切な状況において交換可能であるので、本明細書で説明される実施形態は、本明細書で示され、または説明される順序以外の順序で実施されてもよいことが、理解されるべきである。加えて、「含む」および「有する」という用語ならびに任意の他の変形が、非網羅的な包含を含むことが意図される。たとえば、ステップまたはユニットのリストを含む、プロセス、方法、システム、製品、またはデバイスは、それらの明確に列挙されたステップまたはユニットに必ずしも限定されず、明確に列挙されない、またはそのようなプロセス、方法、製品、もしくはデバイスに固有の、他のステップまたはユニットを含み得る。
【0339】
説明の便宜上、および説明を簡潔にするために、前述のシステム、装置、およびユニットの詳細な動作プロセスについては、前述の方法の実施形態の対応するプロセスを参照することが当業者により明確に理解されるこがあり、詳細はここでは再び説明されない。
【0340】
本出願において提供されるいくつかの実施形態では、開示されるシステム、装置、および方法は、他の方式で実装され得ることが理解されるべきである。たとえば、前述の装置の実施形態は例にすぎない。たとえば、ユニットの分割は論理的なサービスの分割にすぎず、実際の実装形態では他の分割であってもよい。たとえば、複数のユニットもしくはコンポーネントが別のシステムへと合成もしくは統合されてもよく、または、一部の特徴が無視されてもよく、もしくは実施されなくてもよい。加えて、表示されるもしくは論じられる相互結合、直接結合、または通信接続が、何らかのインターフェースを通じて実装され得る。装置またはユニット間の間接結合または通信接続は、電気的、機械的、または他の形態で実装され得る。
【0341】
別々の部分として説明されるユニットは、物理的に別々であってもなくてもよく、ユニットとして表示される部分は物理的なユニットであってもなくてもよく、1つの場所に位置していてもよく、または複数のネットワークユニットに分散していてもよい。ユニットの一部またはすべてが、実施形態の方策の目的を達成するための実際の要件に基づいて選択され得る。
【0342】
加えて、本出願の実施形態におけるサービスユニットは、1つの処理ユニットへと統合されてもよく、またはユニットの各々が物理的に単独で存在していてもよく、または2つ以上のユニットが1つのユニットに統合される。統合ユニットは、ハードウェアの形態で実装されてもよく、またはソフトウェアサービスユニットの形態で実装されてもよい。
【0343】
統合ユニットがソフトウェアサービスユニットの形態で実装され、独立の製品として販売または使用されるとき、統合ユニットはコンピュータ可読記憶媒体に記憶され得る。そのような理解に基づいて、本出願の技術的方策が基本的に、または既存の技術に寄与する部分、または技術的方策のすべてもしくは一部が、ソフトウェア製品の形態で実装され得る。コンピュータソフトウェア製品は、記憶媒体に記憶され、本出願の実施形態において説明される方法のステップのすべてまたは一部を実施するようにコンピュータデバイス(パーソナルコンピュータ、サーバ、またはネットワークデバイスであり得る)に命令するためのいくつかの命令を含む。記憶媒体は、USBフラッシュドライブ、リムーバブルハードディスク、読取り専用メモリ(ROM, Read-Only Memory)、ランダムアクセスメモリ(RAM, Random Access Memory)、磁気ディスク、または光学ディスクなどの、プログラムコードを記憶することができる任意の媒体を含む。
【0344】
前述の例の1つまたは複数では、本出願で説明されるサービスは、ハードウェア、ソフトウェア、ファームウェア、またはこれらの任意の組合せを使用することによって実装され得ることを、当業者は認識すべきである。ソフトウェアを使用することによって実装されるとき、サービスは、コンピュータ可読媒体に記憶され、または、コンピュータ可読媒体上の1つまたは複数の命令もしくはコードとして送信され得る。コンピュータ可読媒体は、コンピュータ記憶媒体および通信媒体を含む。通信媒体は、コンピュータプログラムがある場所から別の場所に送信されることを可能にする任意の媒体を含む。記憶媒体は、汎用コンピュータまたは専用コンピュータにアクセス可能な任意の利用可能な媒体であり得る。
【0345】
前述の特定の実装形態では、本出願の目的、技術的方策、および有益な効果が、さらに詳しく説明される。前述の説明は本出願の特定の実装形態にすぎないことが理解されるべきである。
【0346】
結論として、前述の実施形態は、本出願を限定するのではなく、本出願の技術的方策を説明することのみが意図されている。本出願は前述の実施形態を参照して詳しく説明されるが、当業者はそれでも、本出願の実施形態の技術的方策の範囲から逸脱することなく、前述の実施形態において説明される技術的方策に修正を行うことができ、またはそれらのいくつかの技術的特徴に等価な置換を行うことができることを、当業者は理解すべきである。
【符号の説明】
【0347】
1400 ネットワークデバイス
1401 取得ユニット
1402 処理ユニット
1403 送信ユニット
1500 ネットワークデバイス
1501 受信ユニット
1502 処理ユニット
1503 送信ユニット
1600 システム
1601 ネットワークデバイス
1602 ネットワークデバイス
1700 ネットワークデバイス
1710 プロセッサ
1720 通信インターフェース
1730 メモリ
1740 バスシステム
1800 ネットワークデバイス
1810 主制御盤
1811 中央処理装置
1812 メモリ
1820 スイッチング盤
1830 インターフェース盤
1831 中央処理装置
1832 ネットワークプロセッサ
1833 物理インターフェースカード
1834 転送エントリメモリ
1840 インターフェース盤
1841 中央処理装置
1842 ネットワークプロセッサ
1843 物理インターフェースカード
1844 転送エントリメモリ
図1a
図1b
図1c
図2
図3a
図3b
図3c
図4a
図4b
図5a
図5b
図5c
図6a
図6b
図7
図8a
図8b
図8c
図9a
図9b
図9c
図10a
図10b
図11a
図11b
図11c
図12
図13
図14
図15
図16
図17
図18
【手続補正書】
【提出日】2024-08-09
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
パケット送信方法であって、
第1のネットワークデバイスによって、第1のパケットを取得するステップと、
前記第1のネットワークデバイスによって、前記第1のパケットに基づいてトンネルヘッダを取得するステップと、
前記第1のネットワークデバイスによって、第2のパケットを取得するために前記第1のパケットにインターネットプロトコルバージョン6(IPv6)ヘッダをカプセル化するステップであって、前記IPv6ヘッダが前記トンネルヘッダを搬送する、ステップと、
前記第1のネットワークデバイスによって、前記第2のパケットを第2のネットワークデバイスに送信するステップとを備える、方法。
【請求項2】
前記トンネルヘッダが、仮想拡張可能ローカルエリアネットワーク(VXLAN)ヘッダ、汎用パケット無線サービストンネリングプロトコル(GTP)ヘッダ、汎用ルーティングカプセル化(GRE)ヘッダ、IP-in-IPヘッダ、イントラサイト自動トンネルアドレシングプロトコル(ISATAP)ヘッダ、インターネットプロトコルバージョン4オーバーインターネットプロトコルバージョン6(IPv4 over IPv6)ヘッダ、汎用ルーティングカプセル化を使用したネットワーク仮想化(NVGRE)ヘッダ、第二層トンネリングプロトコルバージョン3(L2TPv3)、およびMPLS in GREヘッダの1つまたは複数を備える、請求項1に記載の方法。
【請求項3】
前記IPv6ヘッダがIPv6拡張ヘッダであり、前記IPv6拡張ヘッダが終点オプションヘッダ(DOH)を備える、請求項2に記載の方法。
【請求項4】
前記DOHのオプション(Options)部分が前記トンネルヘッダを搬送する、請求項3に記載の方法。
【請求項5】
前記トンネルヘッダが前記VXLANヘッダまたは前記GTPヘッダであるとき、前記IPv6拡張ヘッダがさらに、セグメントルーティングヘッダ(SRH)を備える、請求項3に記載の方法。
【請求項6】
前記トンネルヘッダが、前記SRHのセグメント識別子リスト(SID list)において搬送される、請求項5に記載の方法。
【請求項7】
前記トンネルヘッダが、前記SRHの前記セグメントリスト(SID list)の中の前記第2のネットワークデバイスに対応するSIDにおいて搬送される、請求項6に記載の方法。
【請求項8】
前記第2のネットワークデバイスの前記SIDが、前記SIDにおいて搬送される前記トンネルヘッダに基づいてパケットを転送するように前記第2のネットワークデバイスに指示する、請求項7に記載の方法。
【請求項9】
前記トンネルヘッダが前記VXLANヘッダまたは前記GTPヘッダであるとき、前記IPv6ヘッダがIPv6基本ヘッダである、請求項2に記載の方法。
【請求項10】
前記トンネルヘッダが、前記IPv6基本ヘッダの終点アドレスフィールドにおいて搬送される、請求項9に記載の方法。
【請求項11】
パケット送信方法であって、
第2のネットワークデバイスによって、第1のネットワークデバイスから第2のパケットを受信するステップであって、前記第2のパケットがインターネットプロトコルバージョン6(IPv6)ヘッダでカプセル化され、前記IPv6ヘッダがトンネルヘッダを搬送する、ステップと、
前記第2のネットワークデバイスによって、前記IPv6ヘッダから前記トンネルヘッダを取得するステップと、
前記第2のネットワークデバイスによって、第1のパケットを取得するために前記第2のパケットをカプセル化解除するステップであって、前記第1のパケットが前記IPv6ヘッダを備えない、ステップと、
前記第2のネットワークデバイスによって、前記トンネルヘッダに基づいて前記第1のパケットを転送するステップとを備える、パケット送信方法。
【請求項12】
前記トンネルヘッダが、仮想拡張可能ローカルエリアネットワーク(VXLAN)ヘッダ、汎用パケット無線サービストンネリングプロトコル(GTP)ヘッダ、汎用ルーティングカプセル化(GRE)ヘッダ、IP-in-IPヘッダ、イントラサイト自動トンネルアドレシングプロトコル(ISATAP)ヘッダ、インターネットプロトコルバージョン4オーバーインターネットプロトコルバージョン6(IPv4 over IPv6)ヘッダ、汎用ルーティングカプセル化を使用したネットワーク仮想化(NVGRE)ヘッダ、第二層トンネリングプロトコルバージョン3(L2TPv3)、およびMPLS in GREヘッダの1つまたは複数を備える、請求項11に記載の方法。
【請求項13】
前記IPヘッダがIPv6拡張ヘッダであり、前記IPv6拡張ヘッダが終点オプションヘッダ(DOH)を備える、請求項12に記載の方法。
【請求項14】
前記DOHのオプション(Options)部分が前記トンネルヘッダを搬送する、請求項13に記載の方法。
【請求項15】
複数のネットワークデバイスを備えるネットワークに適用される、パケット送信のためのネットワークデバイスであって、前記複数のネットワークデバイスが第1のネットワークデバイスおよび第2のネットワークデバイスを備え、前記ネットワークデバイスが前記第1のネットワークデバイスであり、前記ネットワークデバイスが、少なくとも1つのプロセッサおよび1つまたは複数のメモリを備え、
前記1つまたは複数のメモリ命令またはプログラムコードを記憶するように構成され、
前記少なくともプロセッサが、前記ネットワークデバイスが、
第1のパケットを取得することと、
前記第1のパケットに基づいてトンネルヘッダを取得し、第2のパケットを取得するために前記第1のパケットにインターネットプロトコルバージョン6(IPv6)ヘッダをカプセル化することであって、前記IPv6ヘッダが前記トンネルヘッダを搬送する、ことと、
前記第2のパケットを前記第2のネットワークデバイスに送信することと
を可能にするために、前記1つまたは複数のメモリの中の前記命令または前記プログラムコードを実行するように構成される、ネットワークデバイス。
【請求項16】
前記トンネルヘッダが、仮想拡張可能ローカルエリアネットワーク(VXLAN)ヘッダ、汎用パケット無線サービストンネリングプロトコル(GTP)ヘッダ、汎用ルーティングカプセル化(GRE)ヘッダ、IP-in-IPヘッダ、イントラサイト自動トンネルアドレシングプロトコル(ISATAP)ヘッダ、インターネットプロトコルバージョン4オーバーインターネットプロトコルバージョン6(IPv4 over IPv6)ヘッダ、汎用ルーティングカプセル化を使用したネットワーク仮想化(NVGRE)ヘッダ、第二層トンネリングプロトコルバージョン3(L2TPv3)、およびMPLS in GREヘッダの1つまたは複数を備える、請求項15に記載のデバイス。
【請求項17】
前記IPヘッダがIPv6拡張ヘッダであり、前記IPv6拡張ヘッダが終点オプションヘッダ(DOH)を備える、請求項15に記載のネットワークデバイス。
【請求項18】
複数のネットワークデバイスを備えるネットワークに適用される、パケット送信のためのネットワークデバイスであって、前記複数のネットワークデバイスが第1のネットワークデバイスおよび第2のネットワークデバイスを備え、前記ネットワークデバイスが前記第2のネットワークデバイスであり、前記ネットワークデバイスが、少なくとも1つのプロセッサおよび1つまたは複数のメモリを備え、
前記1つまたは複数のメモリ命令またはプログラムコードを記憶するように構成され、
前記少なくともプロセッサが、前記ネットワークデバイスが、
前記第1のネットワークデバイスから第2のパケットを受信することであって、前記第2のパケットがインターネットプロトコルバージョン6(IPv6)ヘッダでカプセル化され、前記IPv6ヘッダがトンネルヘッダを搬送する、ことと、
前記IPv6ヘッダから前記トンネルヘッダを取得し、第1のパケットを取得するために前記第2のパケットをカプセル化解除することであって、前記第1のパケットが前記IPv6ヘッダを備えない、ことと、
前記トンネルヘッダに基づいて前記第1のパケットを転送することと
を可能にするために、前記1つまたは複数のメモリの中の前記命令または前記プログラムコードを実行するように構成される、ネットワークデバイス。
【請求項19】
前記トンネルヘッダが、仮想拡張可能ローカルエリアネットワーク(VXLAN)ヘッダ、汎用パケット無線サービストンネリングプロトコル(GTP)ヘッダ、汎用ルーティングカプセル化(GRE)ヘッダ、IP-in-IPヘッダ、イントラサイト自動トンネルアドレシングプロトコル(SATAP)ヘッダ、インターネットプロトコルバージョン4オーバーインターネットプロトコルバージョン6(IPv4 over IPv6)ヘッダ、汎用ルーティングカプセル化を使用したネットワーク仮想化(NVGRE)ヘッダ、第二層トンネリングプロトコルバージョン3(L2TPv3)、およびMPLS in GREヘッダの1つまたは複数を備える、請求項18に記載のネットワークデバイス。
【請求項20】
前記トンネルヘッダが前記VXLANヘッダまたは前記GTPヘッダであるとき、前記IPv6ヘッダがIPv6基本ヘッダである、請求項19に記載のネットワークデバイス。
【国際調査報告】