特許第6426879号(P6426879)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ ニュー エイチ3シー テクノロジーズ カンパニー,リミティドの特許一覧

<>
  • 特許6426879-データパケット転送 図000002
  • 特許6426879-データパケット転送 図000003
  • 特許6426879-データパケット転送 図000004
  • 特許6426879-データパケット転送 図000005
  • 特許6426879-データパケット転送 図000006
  • 特許6426879-データパケット転送 図000007
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6426879
(24)【登録日】2018年11月2日
(45)【発行日】2018年11月21日
(54)【発明の名称】データパケット転送
(51)【国際特許分類】
   H04L 12/66 20060101AFI20181112BHJP
【FI】
   H04L12/66 E
【請求項の数】10
【全頁数】27
(21)【出願番号】特願2018-515343(P2018-515343)
(86)(22)【出願日】2016年6月6日
(65)【公表番号】特表2018-516520(P2018-516520A)
(43)【公表日】2018年6月21日
(86)【国際出願番号】CN2016084884
(87)【国際公開番号】WO2016192686
(87)【国際公開日】20161208
【審査請求日】2017年12月4日
(31)【優先権主張番号】201510304025.5
(32)【優先日】2015年6月4日
(33)【優先権主張国】CN
(73)【特許権者】
【識別番号】517423866
【氏名又は名称】ニュー エイチ3シー テクノロジーズ カンパニー,リミティド
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【弁理士】
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100114018
【弁理士】
【氏名又は名称】南山 知広
(74)【代理人】
【識別番号】100180806
【弁理士】
【氏名又は名称】三浦 剛
(74)【代理人】
【識別番号】100196601
【弁理士】
【氏名又は名称】酒井 祐市
(72)【発明者】
【氏名】シエ ルイタオ
(72)【発明者】
【氏名】アオ シアンチアオ
(72)【発明者】
【氏名】フェイ ペン
【審査官】 大石 博見
(56)【参考文献】
【文献】 国際公開第2013/164707(WO,A1)
【文献】 国際公開第2015/053850(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/66
(57)【特許請求の範囲】
【請求項1】
L3仮想拡張ローカルエリアネットワーク(VXLAN)ゲートウェイによるデータパケットの転送方法であって、L3 VXLANゲートウェイに用いられ、
L3 VXLANゲートウェイのラインカードは、データパケットを受信し、
L3 VXLANゲートウェイのラインカードは、前記データパケットがL3転送を行うものと特定すると、データパケットの宛先IPアドレスの予め設定されたビット位置における値に基づいて、前記値にマッチングする1種類のファブリックボードのうちの1つを宛先ファブリックボードとして選択し、前記値にマッチングする1種類のファブリックボードは、予め設定されたビット位置における値が前記データパケットの宛先IPアドレスの予め設定されたビット位置における値と同じである宛先IPアドレスを有するという条件を満たすARPエントリをローカルに格納しているものであり、
L3 VXLANゲートウェイの前記ラインカードは、データパケットを宛先ファブリックボードに送信し、前記宛先ファブリックボードがL3 VXLANゲートウェイのラインカードにより送信されたデータパケットを受信した後、前記データパケットがL3転送を行うものと特定すると、ローカルに格納されたARPエントリの中からデータパケットの宛先IPアドレスにマッチングするARPエントリを検索し、検索されたARPエントリにおける出力ポートに関連する第1宛先ラインカードと協働してデータパケットを転送するようにすることを含むことを特徴とする、方法。
【請求項2】
前記検索されたARPエントリにおける出力ポートに関連する第1宛先ラインカードと協働してデータパケットを転送することは、
L3 VXLANゲートウェイの前記宛先ファブリックボードは、データパケットのソースMACアドレスを自L3 VXLANゲートウェイのゲートウェイMACアドレスに変更し、データパケットの宛先MACアドレスを、検索されたARPエントリにおける宛先MACアドレスに変更し、検索されたARPエントリにおける出力ポートの種類に応じて、変更後のデータパケットに対して内部カプセル化を行い、内部カプセル化されたデータパケットをL3 VXLANゲートウェイ中の、検索されたARPエントリにおける出力ポートに関連する第1宛先ラインカードに送信し、
L3 VXLANゲートウェイの前記第1宛先ラインカードは、L3 VXLANゲートウェイの前記宛先ファブリックボードにより送信された内部カプセル化されたデータパケットを受信し、内部カプセルに応じて、内部カプセル化が解除されたデータパケットを転送することを含むことを特徴とする、請求項1に記載の方法。
【請求項3】
前記検索されたARPエントリにおける出力ポートの種類に応じて、変更後のデータパケットに対して内部カプセル化を行うことは、
この検索されたARPエントリにおける出力ポートがホストアクセスポートであるか、それともネットワーク側ポートであるかを識別し、
ホストアクセスポートである場合、L3 VXLANゲートウェイにおいて前記ホストアクセスポートが位置するラインカードが前記第1宛先ラインカードであると特定し、変更後のデータパケットに対して第1内部カプセル化を行い、第1内部カプセル化されたデータパケットをL3 VXLANゲートウェイの前記第1宛先ラインカードに送信し、第1内部カプセルは、前記第1宛先ラインカードにおける、パケットを転送するためのチップの識別子である第1宛先チップ識別子chip IDと、この検索されたARPエントリにおける出力ポートの識別子である第1宛先ポート識別子portとを含み、
ネットワーク側ポートである場合、前記ネットワーク側ポートが単一の物理ポートであれば、前記物理ポートが宛先出力ポートであると特定し、前記ネットワーク側ポートが少なくとも2つの物理ポートを集約してなる集約ポートであれば、前記集約ポートのうちの1つの物理ポートを宛先出力ポートとして選択し、L3 VXLANゲートウェイにおいて宛先出力ポートが位置するラインカードが前記第1宛先ラインカードであると特定し、変更後のデータパケットに対して第2内部カプセル化を行い、第2内部カプセル化されたデータパケットをL3 VXLANゲートウェイの前記第1宛先ラインカードに送信し、第2内部カプセルは、ラインカードプロキシチップ識別子である第2宛先chip ID、ラインカードプロキシポート識別子である第2宛先port、及び検索されたARPエントリにおける仮想ローカルエリアネットワーク(VLAN)識別子IDを含むことを特徴とする、請求項2に記載の方法。
【請求項4】
前記内部カプセルに応じて、内部カプセル化が解除されたデータパケットを転送することは、
受信したデータパケットが第1内部カプセル化されたものである場合、第1内部カプセルのヘッダから第1宛先chip ID及び第1宛先portを特定し、第1宛先chip IDが自ラインカードにおける、パケットを転送するためのチップの識別子であり、かつ第1宛先portが自ラインカードにおけるホストアクセスポートの識別子である場合、受信したデータパケットの第1内部カプセル化を解除し、第1宛先portに対応するホストアクセスポートを介して転送し、
受信したデータパケットが第2内部カプセル化されたものである場合、第2内部カプセルのヘッダから第2宛先chip ID及び第2宛先portを特定し、特定した第2宛先chip IDがラインカードプロキシチップ識別子であり、特定した第2宛先portがラインカードプロキシポート識別子である場合、データパケットの第2内部カプセルのヘッダからVLAN IDを特定し、受信したデータパケットの第2内部カプセル化を解除し、予め設定されたVLAN IDとVNIDとのマッピング関係の中から、この特定したVLAN IDとマッピング関係を有するVNIDを検索し、自ラインカードのローカルに格納されたMACエントリの中から、デカプセル化されたデータパケットの宛先MACアドレス及びこの検索されたVNIDにマッチングするMACエントリを検索し、検索されたMACエントリにおける出力ポートに基づいて、自ラインカードのローカルに格納されたVXLANカプセル化のエントリの中から対応するVXLANカプセル化のエントリを検索し、検索されたVXLANカプセル化のエントリ及び検索されたVNIDを用いて、デカプセル化されたデータパケットをVXLANカプセル化し、この検索されたVXLANカプセル化のエントリにおける出力ポートを介して送信することを含むことを特徴とする、請求項2に記載の方法。
【請求項5】
L3 VXLANゲートウェイの前記宛先ファブリックボードは、ローカルに格納されたARPエントリの中からデータパケットの宛先IPアドレスにマッチングするARPエントリが検索されなかった場合、
ローカルに格納されたルーティングエントリの中からデータパケットの宛先IPアドレスにマッチングするルーティングエントリを検索し、検索されたルーティングエントリにおける出力ポートはホストアクセスポートであり、
L3 VXLANゲートウェイにおいてこの検索されたルーティングエントリにおける出力ポートが位置するラインカードが第2宛先ラインカードであると特定し、データパケットのソースMACアドレスを自ゲートウェイのゲートウェイMACアドレスに変更し、データパケットの宛先MACアドレスを、検索されたルーティングエントリにおける宛先MACアドレスに変更し、変更後のデータパケットに対して第3内部カプセル化を行って、L3 VXLANゲートウェイの前記第2宛先ラインカードに送信し、第3内部カプセルは、前記第2宛先ラインカードにおける、パケットを転送するためのチップの識別子である第3宛先chip IDと、検索されたルーティングエントリにおける出力ポートの識別子である第3宛先portとを含み、
L3 VXLANゲートウェイの前記第2宛先ラインカードは、L3 VXLANゲートウェイの前記宛先ファブリックボードにより送信されたデータパケットを受信し、データパケットの第3内部カプセルのヘッダから第3宛先chip ID及び第3宛先portを特定し、前記第3宛先chip IDが自ラインカードにおける、パケットを転送するためのチップの識別子であり、かつ前記第3宛先portが自ラインカードにおけるホストアクセスポートの識別子である場合、受信したデータパケットの第3内部カプセル化を解除し、前記第3宛先portに対応するホストアクセスポートを介して転送する、というステップをさらに実行することを特徴とする、請求項1に記載の方法。
【請求項6】
仮想拡張ローカルエリアネットワーク(VXLAN)ゲートウェイであって、ラインカード及びファブリックボードを含み、
前記ラインカードは、ラインカード処理手段を含み、
前記ラインカード処理手段は、
データパケットを受信し、前記データパケットがL3転送を行うものと特定すると、データパケットの宛先IPアドレスの予め設定されたビット位置における値に基づいて、前記値にマッチングする1種類のファブリックボードのうちの1つを宛先ファブリックボードとして選択し、データパケットを宛先ファブリックボードに送信し、前記値にマッチングする1種類のファブリックボードは、予め設定されたビット位置における値が前記データパケットの宛先IPアドレスの予め設定されたビット位置における値と同じである宛先IPアドレスを有するという条件を満たすARPエントリをローカルに格納しているものであり、
前記ラインカードがファブリックボードにより検索されたARPエントリにおける出力ポートに関連する第1宛先ラインカードである場合、ファブリックボードと協働してデータパケットを転送し、
前記ファブリックボードは、ファブリックボード処理手段を含み、
前記ファブリックボードが宛先ファブリックボードである場合、前記ファブリックボード処理手段は、VXLANゲートウェイのラインカードにより送信されたデータパケットを受信し、データパケットがL3転送を行うものと特定すると、ローカルに格納されたARPエントリの中からデータパケットの宛先IPアドレスにマッチングするARPエントリを検索し、検索されたARPエントリにおける出力ポートに関連する第1宛先ラインカードと協働してデータパケットを転送することを特徴とする、VXLANゲートウェイ。
【請求項7】
前記ファブリックボードが宛先ファブリックボードである場合、前記ファブリックボード処理手段は、検索されたARPエントリにおける出力ポートに関連する第1宛先ラインカードと協働してデータパケットを転送することは、
データパケットのソースMACアドレスをVXLANゲートウェイのゲートウェイMACアドレスに変更し、データパケットの宛先MACアドレスを、検索されたARPエントリにおける宛先MACアドレスに変更し、検索されたARPエントリにおける出力ポートの種類に応じて、変更後のデータパケットに対して内部カプセル化を行い、内部カプセル化されたデータパケットをVXLANゲートウェイ中の、検索されたARPエントリにおける出力ポートに関連する第1宛先ラインカードに送信することを含み、
前記ラインカード処理手段は、前記ラインカードがファブリックボードより検索されたARPエントリにおける出力ポートに関連する第1宛先ラインカードである場合、ファブリックボードと協働してデータパケットを転送することは、
VXLANゲートウェイの前記宛先ファブリックボードにより送信されたデータパケットを受信し、前記ファブリックボード処理手段により検索されたARPエントリにおける出力ポートに基づいてデータパケットを転送することを含むことを特徴とする、請求項6に記載のVXLANゲートウェイ。
【請求項8】
前記ファブリックボード処理手段は、検索されたARPエントリにおける出力ポートの種類に応じて、変更後のデータパケットに対して内部カプセル化を行うことは、
この検索されたARPエントリにおける出力ポートがホストアクセスポートであるか、それともネットワーク側ポートであるかを識別し、
ホストアクセスポートである場合、VXLANゲートウェイにおいて前記ホストアクセスポートが位置するラインカードが前記第1宛先ラインカードであると特定し、変更後のデータパケットに対して第1内部カプセル化を行い、第1内部カプセル化されたデータパケットをVXLANゲートウェイの前記第1宛先ラインカードに送信し、第1内部カプセルは、前記第1宛先ラインカードにおける、パケットを転送するためのチップの識別子である第1宛先チップ識別子chip IDと、この検索されたARPエントリにおける出力ポートの識別子である第1宛先ポート識別子portとを含み、
ネットワーク側ポートである場合、前記ネットワーク側ポートが単一の物理ポートであれば、前記物理ポートが宛先出力ポートであると特定し、前記ネットワーク側ポートが少なくとも2つの物理ポートを集約してなる集約ポートであれば、前記集約ポートのうちの1つの物理ポートを宛先出力ポートとして選択し、VXLANゲートウェイにおいて宛先出力ポートが位置するラインカードが前記第1宛先ラインカードであると特定し、変更後のデータパケットに対して第2内部カプセル化を行い、第2内部カプセル化されたデータパケットをVXLANゲートウェイの前記第1宛先ラインカードに送信し、第2内部カプセルは、ラインカードプロキシチップ識別子である第2宛先chip ID、ラインカードプロキシポート識別子である第2宛先port、及び検索されたARPエントリにおける仮想ローカルエリアネットワーク(VLAN)識別子IDを含むことを特徴とする、請求項7に記載のVXLANゲートウェイ。
【請求項9】
前記ラインカード処理手段は、内部カプセルに応じて、内部カプセル化が解除されたデータパケットを転送することは、
受信したデータパケットが第1内部カプセル化されたものである場合、第1内部カプセルのヘッダから第1宛先chip ID及び第1宛先portを特定し、第1宛先chip IDが自ラインカードにおける、パケットを転送するためのチップの識別子であり、かつ第1宛先portが自ラインカードにおけるホストアクセスポートの識別子である場合、受信したデータパケットの第1内部カプセル化を解除し、第1宛先portに対応するホストアクセスポートを介して転送し、
受信したデータパケットが第2内部カプセル化されたものである場合、第2内部カプセルのヘッダから第2宛先chip ID及び第2宛先portを特定し、特定した第2宛先chip IDがラインカードプロキシチップ識別子であり、特定した第2宛先portがラインカードプロキシポート識別子である場合、データパケットの第2内部カプセルのヘッダからVLAN IDを特定し、受信したデータパケットの第2内部カプセル化を解除し、予め設定されたVLAN IDとVNIDとのマッピング関係の中から、この特定したVLAN IDとマッピング関係を有するVNIDを検索し、自ラインカードのローカルに格納されたMACエントリの中から、デカプセル化されたデータパケットの宛先MACアドレス及びこの検索されたVNIDにマッチングするMACエントリを検索し、検索されたMACエントリにおける出力ポートに基づいて、自ラインカードのローカルに格納されたVXLANカプセル化のエントリの中から対応するVXLANカプセル化のエントリを検索し、検索されたVXLANカプセル化のエントリ及び検索されたVNIDを用いて、デカプセル化されたデータパケットをVXLANカプセル化し、この検索されたVXLANカプセル化のエントリにおける出力ポートを介して送信することを特徴とする、請求項7に記載のVXLANゲートウェイ。
【請求項10】
前記ファブリックボード処理手段は、ローカルに格納されたARPエントリの中からデータパケットの宛先IPアドレスにマッチングするARPエントリが検索されなかった場合、
ローカルに格納されたルーティングエントリの中からデータパケットの宛先IPアドレスにマッチングするルーティングエントリを検索し、検索されたルーティングエントリにおける出力ポートはホストアクセスポートであり、
VXLANゲートウェイにおいてこの検索されたルーティングエントリにおける出力ポートが位置するラインカードが第2宛先ラインカードであると特定し、データパケットのソースMACアドレスを自ゲートウェイのゲートウェイMACアドレスに変更し、データパケットの宛先MACアドレスを、検索されたルーティングエントリにおける宛先MACアドレスに変更し、変更後のデータパケットに対して第3内部カプセル化を行って、L3 VXLANゲートウェイの前記第2宛先ラインカードに送信し、第3内部カプセルは、前記第2宛先ラインカードにおける、パケットを転送するためのチップの識別子である第3宛先chip IDと、検索されたルーティングエントリにおける出力ポートの識別子である第3宛先portとを含み、
前記ラインカード処理手段は、その位置するラインカードが前記第2宛先ラインカードである場合、さらにVXLANゲートウェイの前記宛先ファブリックボードにより送信されたデータパケットを受信し、データパケットの第3内部カプセルのヘッダから第3宛先chip ID及び第3宛先portを特定し、前記第3宛先chip IDが自ラインカードにおける、パケットを転送するためのチップの識別子であり、かつ第3宛先portが自ラインカードにおけるホストアクセスポートの識別子である場合、受信したデータパケットの第3内部カプセル化を解除し、第3宛先portに対応するホストアクセスポートを介して転送する、というステップをさらに実行することを特徴とする、請求項6に記載のVXLANゲートウェイ。
【発明の詳細な説明】
【背景技術】
【0001】
データセンターにおいて、VXLANネットワーク内部の仮想マシン(VM:Virtual Machine)にL3(レイヤー3)サービスを提供するには、ネットワークにL3 VXLANゲートウェイを配置する必要がある。L3 VXLANゲートウェイのL3ゲートウェイ機能により、VXLANネットワーク内部のVMと外部のネットワークのデバイスとのL3通信、及びVXLANネットワーク内部のVMと他のVXLANネットワーク内部のVMとのL3通信が可能になる。
【図面の簡単な説明】
【0002】
図1図1は、本発明で提供する方法のフローチャートである。
図2図2は、本発明で提供する一つの態様のL3 VXLANゲートウェイによるデータパケット転送の模式図である。
図3図3は、本発明で提供するもう一つの態様のL3 VXLANゲートウェイによるデータパケット転送の模式図である。
図4図4は、本発明で提供するさらにもう一つの態様のL3 VXLANゲートウェイによるデータパケット転送の模式図である。
図5図5は、本発明で提供する装置の構成図である。
図6図6は、本発明で提供する図5に示す装置のハードウェア構成図である。
【発明を実施するための形態】
【0003】
L3 VXLANゲートウェイのL3ゲートウェイ機能を実現するために、L3 VXLANゲートウェイのラインカード、ファブリックボードはいずれも、グローバル的なアドレス解決プロトコル(ARP)エントリを格納する。1つのARPエントリは、1つのVMを代表する。大規模なデータセンターにおいて、VMの数が非常に膨大であるため、ARPエントリの数も非常に膨大になってしまう。一方、L3 VXLANゲートウェイにおけるラインカード、ファブリックボードのハードウェアリソースは限りがあり、ARPエントリ以外にも、MACエントリ、ルーティングエントリ、VXLANカプセル化のエントリ及びVXLANデカプセル化のエントリを格納する。このため、非常に膨大なARPエントリをメンテナンスするためのハードウェアリソースが足りないというデメリットが生じることになり、L3 VXLANゲートウェイによるデータパケット転送に影響を与える。本発明では、ARPエントリをメンテナンスするためのハードウェアリソースが足りないというデメリットを回避するために、L3 VXLANゲートウェイのラインカード、ファブリックボードについて以下のとおり規定する。
【0004】
1)L3 VXLANゲートウェイのファブリックボードをN種類(Nは1より大きい)に分け、同一の種類のファブリックボードは、同じARPエントリをローカルに格納し、異なる種類のファブリックボードは、異なるARPエントリをローカルに格納する。
【0005】
ここで、各種類のファブリックボードに格納されたARPエントリは、L3 VXLANゲートウェイの主制御ボードが、ラインカードからARPエントリの学習モードに似たモードに従って学習したARPエントリを別々に各種類のファブリックボードに配ったものである。そのうち、ARPエントリの違いは主に、ARPエントリにおける宛先IPアドレスの予め設定されたビット位置における値が異なる点にある。ただし、ファブリックボードにおけるARPエントリの冗長性を確保するために、各種類のファブリックボードには少なくとも2つ以上のファブリックボードが含まれる。
【0006】
本発明において、上記予め設定されたビット位置に含まれるビット(bit)の数Mは上記Nにより決められる。具体的には、2≧Nの式により規定することができる。M個のビットの具体的な位置については、本発明において特に限定せず、予め配置してもよい。
【0007】
本発明において、各種類のファブリックボードにローカルに格納されたARPエントリの数は必ずしも同一とは限らず、各種類のファブリックボードにローカルに格納されたARPエントリの数は異なってもよい。例えば、下記の例では、第1種類のファブリックボードに格納されたARPエントリは、第2種類のファブリックボード、第3種類のファブリックボードに格納されたARPエントリよりも多い。
【0008】
以下、3つの例を挙げて、上記した「L3 VXLANゲートウェイのファブリックボードをN種類(Nは1より大きい)に分け、同一の種類のファブリックボードは、同じARPエントリをローカルに格納し、異なる種類のファブリックボードは、異なるARPエントリをローカルに格納する」ことについて説明する。
【0009】
1つの例において、L3 VXLANゲートウェイのファブリックボードを2種類に分け、すなわち上記Nの値を2とする。2種類に分けられたファブリックボードを、それぞれ第1種類のファブリックボードと第2種類のファブリックボードと称する。
【0010】
この例において、第1種類のファブリックボードは第1種類のARPエントリをローカルに格納し、第2種類のファブリックボードは第2種類のARPエントリをローカルに格納する。ここで、第1種類のARPエントリは、その中の宛先IPアドレスの予め設定されたビット位置における値が奇数であり、第2種類のARPエントリは、その中の宛先IPアドレスの予め設定されたビット位置における値が偶数である。
【0011】
この例では、2種類のARPエントリを区別するために、上記式に従って、具体的に実施する際に予め設定されたビット位置として1ビットを含む例において、この1ビットは、例えば先頭の1ビットや最後の1ビット等、任意の1ビットであってもよい。予め設定されたビット位置が最後の1ビットである例において、エントリにおける宛先IPアドレスの最後の1ビットの値が奇数(すなわち値=1)であるARPエントリを第1種類のARPエントリとし、エントリにおける宛先IPアドレスの最後の1ビットの値が偶数(すなわち値=0)であるARPエントリを第2種類のARPエントリとする。
【0012】
もう1つの例において、L3 VXLANゲートウェイのファブリックボードを3種類に分け、すなわち上記Nの値を3とする。3種類に分けられたファブリックボードを、それぞれ第1種類のファブリックボードと第2種類のファブリックボードと第3種類のファブリックボードと称する。
【0013】
この例において、第1種類のファブリックボードは第1種類のARPエントリをローカルに格納し、第2種類のファブリックボードは第2種類のARPエントリをローカルに格納し、第3種類のファブリックボードは第3種類のARPエントリをローカルに格納する。
【0014】
この例では、3種類のARPエントリを区別するために、上記式に従って、具体的に実施する際に予め設定されたビット位置として2ビットを含む例において、この2ビットは、例えば先頭の2ビットや最後の2ビット、又は先頭の1ビット及び最後の1ビット等、任意の連続又は非連続の2ビットであってもよい。予め設定されたビット位置が最後の2ビットである例において、エントリにおける宛先IPアドレスの最後の2ビットの値が00又は01であるARPエントリを第1種類のARPエントリとし、エントリにおける宛先IPアドレスの最後の2ビットの値が10であるARPエントリを第2種類のARPエントリとし、エントリにおける宛先IPアドレスの最後の2ビットの値が11であるARPエントリを第3種類のARPエントリとする。
【0015】
さらにもう1つの例において、L3 VXLANゲートウェイのファブリックボードを2種類に分け、すなわち上記Nの値を2(Mは2より大きい)とする。2種類に分けられたファブリックボードを、それぞれ第1種類のファブリックボード、第2種類のファブリックボード、…第2種類のファブリックボードと称する。
【0016】
この例において、第1種類のファブリックボードは第1種類のARPエントリをローカルに格納し、第2種類のファブリックボードは第2種類のARPエントリをローカルに格納し、このように類推していき、第2種類のファブリックボードは第2種類のARPエントリをローカルに格納する。
【0017】
この例では、2種類のARPエントリを区別するために、上記式に従って、具体的に実施する際に予め設定されたビット位置としてMビットを含む例において、このMビットは例えば先頭のMビットや最後のMビット、又は先頭のM/2ビット及び最後のM/2ビット等、任意の連続又は非連続のMビットであってもよい。予め設定されたビット位置が最後のMビットである例において、エントリにおける宛先IPアドレスの最後のMビットがいずれも0であるARPエントリを第1種類のARPエントリとし、エントリにおける宛先IPアドレスの最後のMビットのうち、最後の1ビットのみが1で、それ以外は0であるARPエントリを第2種類のARPエントリとし、このように類推していき、エントリにおける宛先IPアドレスの最後のMビットの値がいずれも1であるARPエントリを第2種類のARPエントリとする。
【0018】
2)L3 VXLANゲートウェイの各種類のファブリックボードは同じルーティングエントリをローカルに格納する。
【0019】
実際の応用において、ルーティングエントリの数は少なく、別々に分けて各種類のファブリックボードに配る必要がない。各種類のファブリックボードはいずれも完全でかつ同じルーティングエントリを格納することができる。
【0020】
本発明の一例では、L3 VXLANゲートウェイの各種類のファブリックボードにローカルに格納されているルーティングエントリには、出力ポートがホストアクセスポートであるルーティングエントリのみ含まれるように規定してもよい。
【0021】
3)L3 VXLANゲートウェイのラインカードは、MACエントリ、VXLANカプセル化のエントリ及びVXLANデカプセル化のエントリをローカルに格納し、ARPエントリ及びルーティングエントリは格納しない。
【0022】
以上の規定から分かるように、本発明において、ARPエントリはL3 VXLANゲートウェイのファブリックボードに別々に格納され、また、L3 VXLANゲートウェイのファブリックボードは数少ないルーティングエントリの以外に、ARPエントリのみを格納する。このようにすることで、ARPエントリの数が非常に膨大であっても、ARPエントリとハードウェアリソースの競合が発生する他のエントリが少ないため、ARPエントリをメンテナンスするためのハードウェアリソースが足りないというデメリットはなくなる。
【0023】
上記規定に基づいて、以下、本発明で提供する方法を説明する。
【0024】
図1を参照する。図1は本発明で提供する方法のフローチャートである。このフローは上記L3 VXLANゲートウェイに適用され、下記のステップを含む。
【0025】
ステップ101において、L3 VXLANゲートウェイのラインカードはデータパケットを受信する。
【0026】
このステップ101においてL3 VXLANゲートウェイのラインカードが受信するデータパケットとして、具体的に下記2つのケースがある。
【0027】
ケース1では、L3 VXLANゲートウェイのラインカードが、VXLANカプセル化されていないデータパケットを受信する。
【0028】
ケース2では、L3 VXLANゲートウェイのラインカードが、VXLANカプセル化されたデータパケットを受信する。この場合には、L3 VXLANゲートウェイのラインカードは、受信したVXLANカプセル化されたデータパケットをVXLANデカプセル化する。VXLANデカプセル化されたデータパケットが後の説明でいうデータパケットである。
【0029】
上記のようにL3 VXLANゲートウェイのラインカードに対して規定したエントリによれば、L3 VXLANゲートウェイのラインカードにはVXLANデカプセル化のエントリが格納されている。これにより、上記ケース2において、受信したVXLANカプセル化されたデータパケットに対するVXLANデカプセル化は、L3 VXLANゲートウェイのラインカードによって、ローカルに格納されているVXLANデカプセル化のエントリにより実現されることになる。
【0030】
ステップ102において、L3 VXLANゲートウェイのラインカードは、データパケットがL3転送を行うものと特定すると、データパケットの宛先IPアドレスの予め設定されたビット位置における値に基づいて、前記値にマッチングする1種類のファブリックボードのうちの1つを宛先ファブリックボードとして選択する。
【0031】
ここで、「L3 VXLANゲートウェイのラインカードは、データパケットがL3転送を行うものと特定する」ことは、具体的に以下のように行われる。すなわち、データパケットの宛先MACが自ゲートウェイのゲートウェイMACであるかどうかを判断する。Yesの場合には、データパケットがL3転送を行うものと特定し、Noの場合には、データパケットがL3転送を行うものではないと特定する。
【0032】
上記した各種類のファブリックボードに格納されたARPエントリによれば、上記の「値にマッチングする1種類のファブリックボード」とは、予め設定されたビット位置における値がデータパケットの宛先IPアドレスの予め設定されたビット位置における値と同じである宛先IPアドレスを有するという条件を満たすARPエントリをローカルに格納しているものをいう。例えば上記した例1では、データパケットの宛先IPアドレスの予め設定されたビット位置における値が奇数(すなわち値=1)である場合、第1種類のファブリックボードのうちの1つを宛先ファブリックボードとして選択し、データパケットの宛先IPアドレスの予め設定されたビット位置における値が偶数(すなわち値=0)である場合、第2種類のファブリックボードのうちの1つを宛先ファブリックボードとして選択する。例2、例3も同様の原理に従うもので、重複した説明を省略する。
【0033】
本発明の一例として、本発明では、ラインカードにACLエントリを配置することによって、ステップ102における「データパケットの宛先IPアドレスの予め設定されたビット位置における値に基づいて、前記値にマッチングする1種類のファブリックボードのうちの1つを宛先ファブリックボードとして選択する」ことを実現することができる。そのうち、ACLエントリのマッチング条件は、宛先IPアドレスの予め設定されたビット位置における値である。ACLエントリの動作は、どの種類のファブリックボードを選択するかということで、負荷分散等の設定されたアルゴリズムに基づいて、この種類のファブリックボードの中から1つのファブリックボードを選択する。
【0034】
ステップ103において、L3 VXLANゲートウェイのラインカードは、データパケットを宛先ファブリックボードに送信する。
【0035】
本発明の一例として、ステップ103において、L3 VXLANゲートウェイのラインカードがデータパケットをL3 VXLANゲートウェイの宛先ファブリックボードに円滑に送信することを確保するために、一実施形態では、データパケットに対して宛先ファブリックボードに転送するための内部カプセル化を行う。ここで、説明の便宜上、この内部カプセル化をファブリックボードプロキシカプセル化と略称する。このように、ステップ103においてラインカードがデータパケットをL3 VXLANゲートウェイの宛先ファブリックボードに送信することは、下記のステップを含んでもよい。
【0036】
ステップa1において、データパケットをファブリックボードプロキシカプセル化する。
【0037】
ここで、ファブリックボードプロキシカプセルは、宛先プロキシチップ識別子(chip ID)及び宛先プロキシポート識別子(port)を含む。宛先プロキシchip IDは、ファブリックボードプロキシチップ識別子であり、宛先プロキシportはファブリックボードプロキシポート識別子である。
【0038】
本発明の一つの実例として、ファブリックボードプロキシチップ識別子は、予め配置され、ファブリックボードにテーブルのルックアップを実行してパケット転送を行うように指示するためのチップ識別子であってもよい。ファブリックボードプロキシポート識別子は、予め配置され、ファブリックボードにテーブルのルックアップを実行してパケット転送を行うように指示するためのポート識別子であってもよい。L3 VXLANゲートウェイが複数のファブリックボードを備える場合、すべてのファブリックボードに上記ファブリックボードプロキシチップ識別子及びファブリックボードプロキシポート識別子が配置される。
【0039】
ステップa2において、自ラインカードにおける、宛先ファブリックボードに接続される相互接続ポートを介して、ファブリックボードプロキシカプセル化されたデータパケットをL3 VXLANゲートウェイの宛先ファブリックボードに送信する。
【0040】
上記ステップa1及びステップa2によって、L3 VXLANゲートウェイのラインカードは、最終的にデータパケットをL3 VXLANゲートウェイの宛先ファブリックボードに円滑に送信する。
【0041】
ステップ104において、L3 VXLANゲートウェイの前記宛先ファブリックボードは、L3 VXLANゲートウェイのラインカードにより送信されたデータパケットを受信し、データパケットがL3転送を行うものと特定すると、ローカルに格納されたARPエントリの中からデータパケットの宛先IPアドレスにマッチングするARPエントリを検索し、検索されたARPエントリにおける出力ポートに関連する第1宛先ラインカードと協働してデータパケットを転送する。
【0042】
前述のステップ103で説明したファブリックボードプロキシカプセル化により、ステップ104においてL3 VXLANゲートウェイの宛先ファブリックボードが受信したデータパケットは、ファブリックボードプロキシカプセル化されたものである。これにより、このステップ104において、「L3 VXLANゲートウェイの宛先ファブリックボードは、データパケットがL3転送を行うものと特定する」ことは、下記のことを含む。
【0043】
受信したデータパケットのファブリックボードプロキシカプセルのヘッダから、宛先プロキシchip ID及び宛先プロキシportを特定する。特定した宛先プロキシchip IDが上記ファブリックボードプロキシチップ識別子であり、宛先プロキシportが上記ファブリックボードプロキシポート識別子である場合、データパケットがL3転送を行うものと特定し、データパケットのファブリックボードプロキシカプセル化を解除する。さもなければ、そのままファブリックボードプロキシカプセルの宛先プロキシportに従って、受信したデータパケットを転送し続けばよい。これはファブリックボードによるパケット転送の方式に類似するため、詳細に説明しない。
【0044】
ここで、一例として、具体的に実施する際に、ARPエントリは、宛先IPアドレス、VLAN識別子、宛先MACアドレス、ソースMACアドレス及び出力ポート等を含んでもよい。ARPエントリに含まれるものによれば、このステップ104においてデータパケットの宛先IPアドレスにマッチングするARPエントリとは、データパケットの宛先IPアドレスを含むARPエントリである。
【0045】
一例として、ステップ104において、「L3 VXLANゲートウェイの宛先ファブリックボードは、検索されたARPエントリにおける出力ポートに関連する第1宛先ラインカードと協働してデータパケットを転送する」ことは、ステップb1及びステップb2を含む。
【0046】
ステップb1において、L3 VXLANゲートウェイの宛先ファブリックボードは、データパケットのソースMACアドレスを自L3 VXLANゲートウェイのゲートウェイMACアドレスに変更し、データパケットの宛先MACアドレスを、検索されたARPエントリにおける宛先MACアドレスに変更する。また、検索されたARPエントリにおける出力ポートの種類に応じて、変更後のデータパケットに対して内部カプセル化を行い、内部カプセル化されたデータパケットを、L3 VXLANゲートウェイ中の、検索されたARPエントリにおける出力ポートに関連する第1宛先ラインカードに送信する。
【0047】
本発明の一例として、ステップb1において、「検索されたARPエントリにおける出力ポートの種類に応じて、変更後のデータパケットに対して内部カプセル化を行う」ことは、下記のステップを含む。
【0048】
ステップc1において、この検索されたARPエントリにおける出力ポートがホストアクセスポートであるか、それともネットワーク側ポートであるかを識別する。ホストアクセスポートである場合はステップc2に進み、ネットワーク側ポートである場合はステップc3に進む。
【0049】
ステップc2において、L3 VXLANゲートウェイにおいてこのホストアクセスポートが位置するラインカードが第1宛先ラインカードであると特定し、変更後のデータパケットに対して第1内部カプセル化を行い、第1内部カプセル化されたデータパケットをL3 VXLANゲートウェイの第1宛先ラインカードに送信する。
【0050】
ここで、第1内部カプセルは、第1宛先chip ID及び第1宛先portを含む。そのうち、第1宛先chip IDは第1宛先ラインカードにおける、パケットを転送するためのチップの識別子であり、第1宛先portはこの検索されたARPエントリにおける出力ポートである。
【0051】
ステップc3において、ネットワーク側ポートが単一の物理ポートである場合、この単一の物理ポートが宛先出力ポートであると特定する。また、ネットワーク側ポートが少なくとも2つの物理ポートを集約してなる集約ポートである場合には、集約ポートのうちの1つの物理ポートを宛先出力ポートとして選択する。そして、L3 VXLANゲートウェイにおいて宛先出力ポートが位置するラインカードが第1宛先ラインカードであると特定し、変更後のデータパケットに対して第2内部カプセル化を行い、第2内部カプセル化されたパケットをL3 VXLANゲートウェイの前記第1宛先ラインカードに送信する。
【0052】
ここで、第2内部カプセルは、第2宛先chip ID、第2宛先port、及び検索されたARPエントリにおけるVLAN識別子(ID)を含む。第2宛先chip IDはラインカードプロキシチップ識別子であり、第2宛先portはラインカードプロキシポート識別子である。L3 VXLANゲートウェイ中のすべてのラインカードには、上記ラインカードプロキシチップ識別子及びラインカードプロキシポート識別子が配置される。
【0053】
一例として、ステップc3において集約ポートから1つの物理ポートを選択する方法として、例えばランダムに1つを選択するか、あるいはハッシュアルゴリズム等の設定された選択方式に従って選択するなど複数種類の方式があり、本発明では特に限定しない。
【0054】
ステップb2において、L3 VXLANゲートウェイの第1宛先ラインカードは、L3 VXLANゲートウェイの前記宛先ファブリックボードにより送信された内部カプセル化されたデータパケットを受信し、内部カプセルに応じて、内部カプセル化が解除されたデータパケットを転送する。
【0055】
前述のステップb1で規定した、L3 VXLANゲートウェイの宛先ファブリックボードがどのようにデータパケットをL3 VXLANゲートウェイの第1宛先ラインカードに送信するかに応じて、このステップb2において、「L3 VXLANゲートウェイの第1宛先ラインカードは、内部カプセルに応じて、内部カプセル化が解除されたデータパケットを転送する」ことは、ステップd1〜ステップd3を含むことができる。
【0056】
ステップd1において、受信したデータパケットが第1内部カプセル化されたものである場合、ステップd2に進み、受信したデータパケットが第2内部カプセル化されたものである場合、ステップd3に進む。
【0057】
ステップd2において、第1内部カプセルのヘッダから第1宛先chip ID及び第1宛先portを特定する。また、第1宛先chip IDが自ラインカードにおける、パケットを転送するためのチップの識別子であり、かつ第1宛先portが自ラインカードにおけるホストアクセスポートの識別子である場合、受信したデータパケットの第1内部カプセル化を解除し、第1宛先portに対応するホストアクセスポートを介して転送する。
【0058】
ステップd3において、第2内部カプセルのヘッダから第2宛先chip ID及び第2宛先portを特定する。また、特定した第2宛先chip IDがラインカードプロキシチップ識別子であり、特定した第2宛先portがラインカードプロキシポート識別子である場合、データパケットの第2内部カプセルのヘッダからVLAN IDを特定し、データパケットの第2内部カプセル化を解除する。そして、予め設定されたVLAN IDとVNIDとのマッピング関係の中から、この特定したVLAN IDとマッピング関係を有するVNIDを検索し、自ラインカードのローカルに格納されたMACエントリの中から、デカプセル化されたデータパケットの宛先MACアドレス及びこの検索されたVNIDにマッチングするMACエントリを検索し、検索されたMACエントリにおける出力ポートに基づいて、自ラインカードのローカルに格納されたVXLANカプセル化のエントリの中から対応するVXLANカプセル化のエントリを検索し、検索されたVXLANカプセル化のエントリ及び検索されたVNIDを用いて、デカプセル化されたデータパケットをVXLANカプセル化し、この検索されたVXLANカプセル化のエントリにおける出力ポートを介して送信する。
【0059】
ここで、MACエントリにおける出力ポートは、実質的にはネットワーク側ポート(具体的にはVXLANトンネルポート)である。MACエントリにおける出力ポートがVXLANトンネルポートである場合、このVXLANトンネルポートは仮想的な概念である。本発明の一例として、このVXLANトンネルポートは、VXLANトンネルカプセルのインデックスで表すことができる。例えば、VXLANトンネルポートはTunnel1である(Tunnel1はVXLANカプセルのインデックスである)。これにより、上記した「検索されたMACエントリにおける出力ポートに基づいて、自ラインカードのローカルに格納されたVXLANカプセル化のエントリの中から対応するVXLANカプセル化のエントリを検索する」ことは、実質的には、VXLANカプセルのインデックスに基づいて、自ラインカードのローカルに格納されたVXLANカプセル化のエントリの中から対応するVXLANカプセル化のエントリを検索することであり、容易に実現される。
【0060】
ここで、「VXLANカプセル化のエントリ及びVNIDを用いて、デカプセル化されたデータパケットをVXLANカプセル化する」ことは、具体的に以下のように行われる。すなわち、検索されたVXLANカプセル化のエントリにおけるVXLANカプセル化情報を用いて、デカプセル化されたデータパケットに対してVXLAN外側ヘッダを付加し、検索されたVNIDを用いて、デカプセル化されたデータパケットに対してVXLANフィールド(実質的にはVNIDフィールドである)を付加する。ここで、VXLAN外側ヘッダは少なくとも、外側イーサネット(ETH)カプセルを含む。そのうち、外側イーサネット(ETH)カプセルは少なくとも、外側ソースMACアドレスと、外側宛先MACアドレスと、外側ソースIPアドレスと、外側宛先IPアドレス等を含む。
【0061】
本発明の一例として、ここで、「この検索されたVXLANカプセル化のエントリにおける出力ポートを介して送信する」ことは、例えば以下のように行われる。すなわち、この検索されたVXLANカプセル化のエントリにおける出力ポートを識別し、この出力ポートが単一の物理ポートである場合、直接にこの単一の物理ポートを介して送信する。その一方、この出力ポートが少なくとも2つの物理ポートを集約してなる集約ポートである場合には、集約ポートから1つの物理ポートを選択し、この選択された物理ポートを介して送信する必要がある。ただし、ここで、集約ポートから1つの物理ポートを選択する方法としては、ランダムに選択するのではなく、最終的に選択された物理ポートは、上記宛先ファブリックボードが第1宛先ラインカードを特定する際に選択された物理ポートと一致することを確保しなければならない。具体的に実施する際に、ラインカードが最終的に選択された物理ポートと、上記宛先ファブリックボードが第1宛先ラインカードを特定する際に選択された物理ポートとの一致性をどのように確保するかについて、本発明では特に限定せず、例えば、宛先ファブリックボードがハッシュ方式で物理ポートを選択し、第1宛先ラインカードも同様にハッシュ方式で物理ポートを選択するなど、複数種類の実施態様が可能である。
【0062】
ここまで、図1に示すフローが完了する。
【0063】
図1に示すフローから分かるように、本発明において、ARPエントリはL3 VXLANゲートウェイのファブリックボードに別々に格納され、また、L3 VXLANゲートウェイのファブリックボードは数少ないルーティングエントリの以外に、ARPエントリのみを格納する。このようにすることで、ARPエントリの数が非常に膨大であっても、ARPエントリとハードウェアリソースの競合が発生する他のエントリが少ないため、ARPエントリをメンテナンスするためのハードウェアリソースが足りないというデメリットを回避することができる。また、本発明において、L3 VXLANゲートウェイのラインカードは、VXLANカプセル化されていないデータパケットを受信したか、それともVXLANカプセル化されたデータパケットを受信したかを問わず、いずれもデータパケットの宛先IPアドレスの予め設定されたビット位置における値に基づいて、L3 VXLANゲートウェイの中から宛先ファブリックボードを特定し、データパケットをL3 VXLANゲートウェイの宛先ファブリックボードに送信し、宛先ファブリックボードはARPエントリ検索によってL3プロキシ転送を実行する。これにより、L3 VXLANゲートウェイのL3アクセス機能が最適化され、プロセス全体はL3 VXLANゲートウェイ内部のみで実行されるため、帯域リソースの無駄使いは一切無く、パケットをワイヤスピードで転送するという目的を達成した。
【0064】
ただし、上記ステップ103において、L3 VXLANゲートウェイの宛先ファブリックボードは、データパケットの宛先IPアドレスにマッチングするARPエントリが検索されなかった場合、さらに下記ステップe1〜ステップe3を実行する。
【0065】
ステップe1において、ローカルに格納されたルーティングエントリの中からデータパケットの宛先IPアドレスにマッチングするルーティングエントリを検索する。
【0066】
上記のように規定されたL3 VXLANゲートウェイのファブリックボードにおけるルーティングエントリによれば、ここで検索されたルーティングエントリにおける出力ポートはL3 VXLANゲートウェイのローカルのホストアクセスポートである。
【0067】
ステップe2において、この検索されたルーティングエントリにおける出力ポート(L3 VXLANゲートウェイのローカルのホストアクセスポート)が位置するラインカードが第2宛先ラインカードであると特定する。また、データパケットのソースMACアドレスを自ゲートウェイのゲートウェイMACアドレスに変更し、データパケットの宛先MACアドレスを、検索されたルーティングエントリにおける宛先MACアドレスに変更し、変更後のデータパケットに対して第3内部カプセル化を行って、L3 VXLANゲートウェイの第2宛先ラインカードに送信する。
【0068】
ここで、第3内部カプセルは、第3宛先chip ID及び第3宛先portを含む。第3宛先chip IDは前記第2宛先ラインカードにおける、パケットを転送するためのチップの識別子であり、第3宛先portはこの検索されたルーティングエントリにおける出力ポート(L3 VXLANゲートウェイのローカルのホストアクセスポート)である。
【0069】
ステップe3において、L3 VXLANゲートウェイの第2宛先ラインカードは、L3 VXLANゲートウェイの前記宛先ファブリックボードにより送信されたデータパケットを受信し、データパケットの第3内部カプセルのヘッダから第3宛先chip ID及び第3宛先portを特定する。また、前記第3宛先chip IDが自ラインカードにおける、パケットを転送するためのチップの識別子であり、かつ第3宛先portが自ラインカードにおけるホストアクセスポートの識別子である場合、受信したデータパケットの第3内部カプセル化を解除し、第3宛先portに対応するホストアクセスポートを介して転送する。
【0070】
ステップe1〜ステップe3によって、ルーティングエントリによるデータパケット転送が実現される。
【0071】
以下、上記したL3 VXLANゲートウェイのファブリックボードを2種類に分けた場合を例とし、3つの例で図1に示すフローを説明する。L3 VXLANゲートウェイのファブリックボードを3種類以上に分ける場合も同様の原理に従って実現されるので、一々の説明は省略する。
【0072】
図2に示すネットワーク構築を例にする。図2において、物理マシン(PM:Physical Machine)1〜PM5はVLAN内のデバイスである。図2において、L3 VXLANゲートウェイは、主制御ボード、ラインカード及びファブリックボードを含む。本願では、主制御ボードは、本発明の重点ではないので、図2に図示していない。図2は、例として、L3 VXLANゲートウェイの2つのラインカード(ラインカード1、ラインカード2)と、4つのファブリックボード(ファブリックボード1〜ファブリックボード4)を示している。
【0073】
そのうち、ラインカード1、ラインカード2は、MACエントリ、VXLANカプセル化のエントリ及びVXLANデカプセル化のエントリをローカルに格納している。
【0074】
ファブリックボード1、ファブリックボード2は、第1種類のファブリックボードであり、第1種類のARPエントリをローカルに格納している。ファブリックボード3、ファブリックボード4は、第2種類のファブリックボードであり、第2種類のARPエントリをローカルに格納している。ファブリックボード1〜ファブリックボード4は、さらにルーティングエントリをローカルに格納している。
【0075】
PM1がPM2にアクセスすることを例にすると、以下のとおりである。
【0076】
L3 VXLANゲートウェイのラインカード1は、ポート10を介して、VLAN内のPM1により送信されたパケットを受信する。説明の便宜上、ここでは、受信したパケットをパケット0と称する。ラインカード1が受信したパケット0はVXLANカプセル化されていない。
【0077】
ラインカード1は、パケット0がデータパケットであり、かつ宛先MACアドレスが自L3 VXLANゲートウェイのMACアドレスであることを発見すると、パケット0の宛先IPアドレスの予め設定されたビット位置における値が奇数であるか、それとも偶数であるかを識別する。仮に偶数の場合、ファブリックボード3又はファブリックボード4を宛先ファブリックボードとして選択する。ここで、ラインカード1はファブリックボード3を宛先ファブリックボードとして選択したとする。
【0078】
ラインカード1は、パケット0をファブリックボードプロキシカプセル化する。ファブリックボードプロキシカプセルにおける宛先プロキシchip IDは、ファブリックボードプロキシチップ識別子(図2では、chip01を例とする)であり、ファブリックボードプロキシカプセルにおける宛先プロキシportは、ファブリックボードプロキシポート識別子(図2では、Port1を例とする)である。説明の便宜上、ここでは、ファブリックボードプロキシカプセル化されたパケット0をパケット1と称する。
【0079】
ラインカード1は、ファブリックボード3に接続される相互接続ポートを介して、パケット1をファブリックボード3に送信する。
【0080】
ファブリックボード3は、パケット1を受信し、パケット1のファブリックボードプロキシカプセルのヘッダから、宛先プロキシchip ID及び宛先プロキシportがそれぞれchip01及びPort1であり、ちょうど順次にファブリックボードプロキシチップ識別子及びファブリックボードプロキシポート識別子であると識別すると、パケット1のファブリックボードプロキシカプセル化を解除する(すなわち、上記パケット0を復元する)。
【0081】
ファブリックボード3は、ローカルに格納されたARPエントリの中からパケット0の宛先IPアドレスにマッチングするARPエントリを検索し、パケット0のソースMACアドレスをL3 VXLANゲートウェイのゲートウェイMACアドレスに変更し、パケット0の宛先MACアドレスを、検索されたARPエントリにおける宛先MACアドレスに変更する(図2では、検索されたARPエントリにおける宛先MACアドレスが実質的にはPM2のMACアドレスである)。説明の便宜上、ここでは、ソースMACアドレス、宛先MACアドレスが変更されたパケット0をパケット2と称する。
【0082】
ファブリックボード3は、検索されたARPエントリにおける出力ポートがホストアクセスポートであることを発見し、L3 VXLANゲートウェイにおいてこのホストアクセスポートが位置するラインカードが第1宛先ラインカードであると特定する。説明の便宜上、ここで、第1宛先ラインカードはラインカード2であるとする。
【0083】
ファブリックボード3は、パケット2に対して第1内部カプセル化を行う。説明の便宜上、ここでは、第1内部カプセル化されたパケット2をパケット3と称する。第1内部カプセルは、第1宛先chip ID及び第1宛先portを含む。そのうち、第1宛先chip IDはラインカード2における、パケットを転送するためのチップの識別子であり、ここではChip02を例として説明する。第1宛先portはホストアクセスポートの識別子であり、ここではPort2を例として説明する。
【0084】
ファブリックボード3は、自ファブリックボード3におけるラインカード2に接続される相互接続ポートを介してパケット3をラインカード2に送信する。
【0085】
ラインカード2は、ファブリックボード3により送信されたパケット3を受信し、パケット3の第1内部カプセルのヘッダから第1宛先chip ID及び第1宛先portを特定する。また、特定した第1宛先chip IDが自ラインカードにおける、パケットを転送するためのチップの識別子Chip02であり、かつ特定した第1宛先portが自ラインカードにおけるホストアクセスポートPort2である場合、パケット3の第1内部カプセル化を解除する(すなわち、上記パケット2を復元する)。
【0086】
ラインカード2はPort2を介してパケット2を送信する。
【0087】
最終的に、PM2はPM1により送信されたパケットを受信する。すなわち、L3 VXLANゲートウェイによって、VLANからVLANへのデータパケット転送が実現される。
【0088】
図3に示すネットワーク構築を例にする。図3において、VM01〜VM05はVXLAN内のデバイスであり、VXLANのVNIDは100であり、PM1〜PM5はVLAN内のデバイスである。図3において、L3 VXLANゲートウェイは、主制御ボード、ラインカード及びファブリックボードを含む。本願では、主制御ボードは、本発明の重点ではないので、図3に図示していない。図3は、例として、L3 VXLANゲートウェイの2つのラインカード(ラインカード1、ラインカード2)と、4つのファブリックボード(ファブリックボード1〜ファブリックボード4)を示している。
【0089】
そのうち、ラインカード1、ラインカード2は、MACエントリ、VXLANカプセル化のエントリ及びVXLANデカプセル化のエントリをローカルに格納している。
【0090】
ファブリックボード1、ファブリックボード2は、第1種類のファブリックボードであり、第1種類のARPエントリをローカルに格納している。ファブリックボード3、ファブリックボード4は、第2種類のファブリックボードであり、第2種類のARPエントリをローカルに格納している。ファブリックボード1〜ファブリックボード4は、さらにルーティングエントリをローカルに格納している。
【0091】
PM1がVM01にアクセスすることを例にすると、以下のとおりである。
【0092】
L3 VXLANゲートウェイのラインカード1は、ポート10を介して、VLAN内のPM1により送信されたパケットを受信する。説明の便宜上、ここでは、受信したパケットをパケット0と称する。ラインカード1が受信したパケット0はVXLANカプセル化されていない。
【0093】
ラインカード1は、パケット0がデータパケットであり、かつ宛先MACアドレスが自L3 VXLANゲートウェイのMACアドレスであることを発見すると、パケット0の宛先IPアドレスの予め設定されたビット位置における値が奇数であるか、それとも偶数であるかを識別する。仮に偶数の場合、ファブリックボード3又はファブリックボード4を宛先ファブリックボードとして選択する。ここで、ラインカード1はファブリックボード3を宛先ファブリックボードとして選択したとする。
【0094】
ラインカード1は、パケット0をファブリックボードプロキシカプセル化する。ファブリックボードプロキシカプセルにおける宛先プロキシchip IDは、ファブリックボードプロキシチップ識別子であり(図3では、chip01を例とする)、ファブリックボードプロキシカプセルにおける宛先プロキシportは、ファブリックボードプロキシポート識別子(図3では、Port1を例とする)である。説明の便宜上、ここでは、ファブリックボードプロキシカプセル化されたパケット0をパケット1と称する。
【0095】
ラインカード1は、ファブリックボード3に接続される相互接続ポートを介して、パケット1をファブリックボード3に送信する。
【0096】
ファブリックボード3は、パケット1を受信し、パケット1のファブリックボードプロキシカプセルのヘッダから、宛先プロキシchip ID及び宛先プロキシportがそれぞれchip01及びPort1であり、ちょうど順次にファブリックボードプロキシチップ識別子及びファブリックボードプロキシポート識別子であると識別すると、パケット1のファブリックボードプロキシカプセル化を解除する(すなわち、上記パケット0を復元する)。
【0097】
ファブリックボード3は、ローカルに格納されたARPエントリの中からパケット0の宛先IPアドレスにマッチングするARPエントリを検索し、パケット0のソースMACアドレスをL3 VXLANゲートウェイのゲートウェイMACアドレスに変更し、パケット0の宛先MACアドレスを、検索されたARPエントリにおける宛先MACアドレスに変更する(図3では、検索されたARPエントリにおける宛先MACアドレスが実質的にはVM01のMACアドレスである)。説明の便宜上、ここでは、ソースMACアドレス、宛先MACアドレスが変更されたパケット0をパケット2と称する。
【0098】
ファブリックボード3は、検索されたARPエントリにおける出力ポートがネットワーク側ポートであることを発見する。このネットワーク側ポートが単一の物理ポートである場合、ファブリックボード3はこの単一の物理ポートを宛先出力ポートとして選択する。ここで、選択された物理ポートはポート20であるとする。
【0099】
ファブリックボード3は、L3 VXLANゲートウェイにおいてポート20が位置するラインカードが第1宛先ラインカードであると特定する。説明の便宜上、ここで、第1宛先ラインカードはラインカード2であるとする。
【0100】
ファブリックボード3は、パケット2に対して第2内部カプセル化を行う。説明の便宜上、ここでは、第2内部カプセル化されたパケット2をパケット3と称する。第2内部カプセルは、第2宛先chip ID、第2宛先port、及び検索されたARPエントリにおけるVLAN識別子を含む。第2宛先chip IDは、ラインカードプロキシチップ識別子である(図3では、ラインカードプロキシチップ識別子がChip12である場合を例として説明する)。第2宛先portは、ラインカードプロキシポート識別子である(図3では、ラインカードプロキシポート識別子がPort12である場合を例として説明する)。
【0101】
ファブリックボード3は、自ファブリックボード3におけるラインカード2に接続される相互接続ポートを介してパケット3をラインカード2に送信する。
【0102】
ラインカード2は、ファブリックボード3により送信されたパケット3を受信し、パケット3の第2内部カプセルのヘッダから第2宛先chip ID及び第2宛先portを特定する。また、特定した第2宛先chip IDがラインカードプロキシチップ識別子Chip12であり、かつ特定した第2宛先portがラインカードプロキシポート識別子Port12である場合、パケット3の第2内部カプセルのヘッダからパケット3カプセル化のVLAN IDを特定し、パケット3の第2内部カプセル化を解除する(すなわち、上記パケット2を復元する)。
【0103】
ラインカード2は、予め設定されたVLAN IDとVNIDとのマッピング関係の中から、この特定したVLAN IDとマッピング関係を有するVNIDを検索し(実質的にはVXLANのVNID100である)、自ラインカード2のローカルに格納されたMACエントリの中から、パケット2の宛先MACアドレス及びこの検索されたVNIDにマッチングするMACエントリを検索し、検索されたMACエントリにおける出力ポートに基づいて、自ラインカード2のローカルに格納されたVXLANカプセル化のエントリの中から対応するVXLANカプセル化のエントリを検索し、検索されたVXLANカプセル化のエントリ及び検索されたVNID(実質的にはVXLANのVNID100である)を用いて、パケット2をVXLANカプセル化する。説明の便宜上、ここでは、VXLANカプセル化されたパケット2をパケット4と称する。ここで、「ラインカード2は、検索されたVXLANカプセル化のエントリ及び検索されたVNIDを用いて、パケット2をVXLANカプセル化する」ことは、具体的に以下のように行われる。すなわち、検索されたVXLANカプセル化のエントリにおけるVXLANカプセル化情報を用いて、パケット2に対してVXLAN外側ヘッダを付加し、検索されたVNID(図3では、VXLANのVNID100を例とする)を用いて、パケット2に対してVXLANフィールド(実質的にはVNIDフィールドである)を付加する。図3に示すパケット2のVXLANカプセルでは、VXLAN外側ヘッダの外側ETHカプセルが、外側ソースMACアドレスと外側宛先MACアドレスと外側ソースIPアドレスと外側宛先IPアドレスとを含む場合を例とする。
【0104】
ラインカード2は、検索されたVXLANカプセル化のエントリにおける出力ポートに基づいてパケット4を送信する。ここで、具体的に実現する際に、「ラインカード2は、検索されたVXLANカプセル化のエントリにおける出力ポートに基づいてパケット4を送信する」ことは、具体的に以下のように行われる。すなわち、この検索されたVXLANカプセル化のエントリにおける出力ポートを識別し、この識別された出力ポートは、実質的にはファブリックボード3により検索されたARPエントリにおける出力ポートである。上記のとおり、ファブリックボード3により検索されたARPエントリにおける出力ポートは単一の物理ポートであり、これにより、ここで識別されたVXLANカプセル化のエントリにおける出力ポートは単一の物理ポートである。このように、ラインカード2はこの単一の物理ポートを介してパケット4を直接に送信する。
【0105】
最終的に、VXLANのVM01はPM1により送信されたパケットを受信する。すなわち、L3 VXLANゲートウェイによって、VLANからVXLANへのデータパケット転送が実現される。
【0106】
図4に示すネットワーク構築を例にする。図4において、VM01〜VM05は第1VXLAN内のデバイスであり、第1VXLANのVNIDは100である。VM11〜VM15は第2VXLAN内のデバイスであり、第2VXLANのVNIDは200である。図4において、L3 VXLANゲートウェイは、第1VXLANと第2VXLANとの間に接続され、主制御ボード、ラインカード及びファブリックボードを含む。本願では、主制御ボードは、本発明の重点ではないので、図4に図示していない。図4は、例として、L3 VXLANゲートウェイの2つのラインカード(ラインカード1、ラインカード2)と、4つのファブリックボード(ファブリックボード1〜ファブリックボード4)を示している。
【0107】
そのうち、ラインカード1、ラインカード2は、MACエントリ、VXLANカプセル化のエントリ及びVXLANデカプセル化のエントリをローカルに格納している。
【0108】
ファブリックボード1、ファブリックボード2は、第1種類のファブリックボードであり、第1種類のARPエントリをローカルに格納している。ファブリックボード3、ファブリックボード4は、第2種類のファブリックボードであり、第2種類のARPエントリをローカルに格納している。ファブリックボード1〜ファブリックボード4は、さらにルーティングエントリをローカルに格納している。
【0109】
VM01がVM11にアクセスすることを例にすると、以下のとおりである。
【0110】
L3 VXLANゲートウェイのラインカード1は、ポート10を介して、第1VXLAN内のVM01により送信されたパケットを受信する。説明の便宜上、ここでは、受信したパケットをパケット0と称する。ラインカード1が受信したパケット0は、第1VXLANに対応するVXLANカプセル化されたものである。VXLANカプセルは少なくとも、第1VXLANのVNID100及び第1VXLANに対応するVXLAN外側ヘッダを含む(図4に示すパケット0のVXLAN外側ヘッダは外側ETHカプセルを含み、外側ETHカプセルは、外側ソースMACアドレスと外側宛先MACアドレスと外側ソースIPアドレスと外側宛先IPアドレスとを含むカプセルを例とする)。図4は、VXLANカプセル化されたパケット0の構造を簡単に示している。
【0111】
ラインカード1は、VXLANカプセルのヘッダから外側宛先MACアドレス及びVLAN識別子を特定する。L3 VXLANゲートウェイにこのVLAN識別子に対応するVLANが配置され、外側宛先MACアドレスがL3 VXLANゲートウェイのローカルの、このVLANに対応するL3ポートMACアドレスである場合、パケット0をVXLANデカプセル化すると確定し、パケット0のVXLANカプセルのヘッダのVNID100に基づいて、対応するVXLANデカプセル化のエントリを検索し、検索されたVXLANデカプセル化のエントリに基づいてパケット0をVXLANデカプセル化する。説明の便宜上、ここでは、VXLANデカプセル化されたパケット0をパケット1と記する。
【0112】
ラインカード1は、パケット1がデータパケットであり、かつ宛先MACアドレスが自L3 VXLANゲートウェイのMACアドレスであることを発見すると、パケット1の宛先IPアドレスの予め設定されたビット位置における値が奇数であるか、それとも偶数であるかを識別する。仮に奇数の場合、ファブリックボード1又はファブリックボード2を宛先ファブリックボードとして選択する。ここで、ラインカード1はファブリックボード1を宛先ファブリックボードとして選択したとする。
【0113】
ラインカード1は、パケット1をファブリックボードプロキシカプセル化する。ファブリックボードプロキシカプセルにおける宛先プロキシchip IDは、ファブリックボードプロキシチップ識別子であり(図4では、chip01を例とする)、ファブリックボードプロキシカプセルにおける宛先プロキシportは、ファブリックボードプロキシポート識別子(図4では、Port1を例とする)である。説明の便宜上、ここでは、ファブリックボードプロキシカプセル化されたパケット1をパケット2と称する。
【0114】
ラインカード1は、ファブリックボード1に接続される相互接続ポートを介して、パケット2をファブリックボード1に送信する。
【0115】
ファブリックボード1は、パケット2を受信し、パケット2のファブリックボードプロキシカプセルのヘッダから、宛先プロキシchip ID及び宛先プロキシportがそれぞれchip01及びPort1であり、ちょうど順次にファブリックボードプロキシチップ識別子及びファブリックボードプロキシポート識別子であると識別すると、パケット2のファブリックボードプロキシカプセル化を解除する(すなわち、上記パケット1を復元する)。
【0116】
ファブリックボード1は、ローカルに格納されたARPエントリの中からパケット1の宛先IPアドレスにマッチングするARPエントリを検索し、パケット1のソースMACアドレスをL3 VXLANゲートウェイのゲートウェイMACアドレスに変更し、パケット1の宛先MACアドレスを、検索されたARPエントリにおける宛先MACアドレスに変更する(図4では、検索されたARPエントリにおける宛先MACアドレスが実質的にはVM11のMACアドレスである)。説明の便宜上、ここでは、ソースMACアドレス、宛先MACアドレスが変更されたパケット1をパケット3と称する。
【0117】
ファブリックボード1は、検索されたARPエントリにおける出力ポートがネットワーク側ポートであることを発見する。このネットワーク側ポートが少なくとも2つの物理ポートを集約してなる集約ポートである場合、ファブリックボード1は集約ポートのうちの1つの物理ポートを宛先出力ポートとして選択する。ここで、選択された物理ポートはポート30であるとする。
【0118】
ファブリックボード1は、L3 VXLANゲートウェイにおいてポート30が位置するラインカードが第1宛先ラインカードであると特定する。説明の便宜上、ここで、第1宛先ラインカードはラインカード2であるとする。
【0119】
ファブリックボード1は、パケット3に対して第2内部カプセル化を行う。説明の便宜上、ここでは、第2内部カプセル化されたパケット3をパケット4と称する。第2内部カプセルは、第2宛先chip ID、第2宛先port、及び検索されたARPエントリにおけるVLAN識別子を含む。第2宛先chip IDは、ラインカードプロキシチップ識別子である(図4では、チップ識別子がChip12である場合を例として説明する)。第2宛先portは、ラインカードプロキシポート識別子である(図4では、仮想ポート識別子がPort12である場合を例として説明する)。
【0120】
ファブリックボード1は、自ファブリックボード1におけるラインカード2に接続される相互接続ポートを介してパケット4をラインカード2に送信する。
【0121】
ラインカード2は、ファブリックボード1により送信されたパケット4を受信し、パケット4の第2内部カプセルのヘッダから第2宛先chip ID及び第2宛先portを特定する。また、特定した第2宛先chip IDがラインカードプロキシチップ識別子Chip12であり、かつ特定した第2宛先portがラインカードプロキシポート識別子Port12である場合、パケット4の第2内部カプセルのヘッダからパケット4カプセルのVLAN IDを特定し、パケット4の第2内部カプセル化を解除する(すなわち、上記パケット3を復元する)。
【0122】
ラインカード2は、予め設定されたVLAN IDとVNIDとのマッピング関係の中から、この特定したVLAN IDとマッピング関係を有するVNIDを検索し(実質的には第2VXLANのVNID200である)、自ラインカード2のローカルに格納されたMACエントリの中から、パケット3の宛先MACアドレス及びこの検索されたVNIDにマッチングするMACエントリを検索し、検索されたMACエントリにおける出力ポートに基づいて、自ラインカード2のローカルに格納されたVXLANカプセル化のエントリの中から対応するVXLANカプセル化のエントリを検索し、検索されたVXLANカプセル化のエントリ及び検索されたVNID(実質的には第2VXLANのVNID200である)を用いて、パケット3をVXLANカプセル化する。説明の便宜上、ここでは、VXLANカプセル化されたパケット3をパケット4と称する。ここで、「ラインカード2は、検索されたVXLANカプセル化のエントリ及び検索されたVNIDを用いて、パケット3をVXLANカプセル化する」ことは、具体的に以下のように行われる。すなわち、検索されたVXLANカプセル化のエントリにおけるVXLANカプセル化情報を用いて、パケット3に対してVXLAN外側ヘッダを付加し、検索されたVNID(図4では、第2VXLANのVNID200を例とする)を用いて、パケット3に対してVXLANフィールド(実質的にはVNIDフィールドである)を付加する。図4に示すパケット3のVXLANカプセルでは、VXLAN外側ヘッダの外側ETHカプセルが、外側ソースMACアドレスと外側宛先MACアドレスと外側ソースIPアドレスと外側宛先IPアドレスとを含む場合を例とする。
【0123】
ラインカード2は、検索されたVXLANカプセル化のエントリにおける出力ポートに基づいてパケット5を送信する。ここで、具体的に実施する際に、「ラインカード2は、検索されたVXLANカプセル化のエントリにおける出力ポートに基づいてパケット5を送信する」ことは、具体的に以下のように行われる。すなわち、この検索されたVXLANカプセル化のエントリにおける出力ポートを識別し、この識別された出力ポートは、実質的にはファブリックボード1により検索されたARPエントリにおける出力ポートである。上記のとおり、ファブリックボード1により検索されたARPエントリにおける出力ポートは少なくとも2つの物理ポートを集約してなる集約ポートであり、これにより、ここで識別されたVXLANカプセル化のエントリにおける出力ポートは集約ポートである。このように、ラインカード2は、ファブリックボードが宛先ポートを特定する方式に従って、識別された出力ポートから1つの物理ポートを選択することにより、最終的にラインカード2がパケット5を送信する物理ポートがファブリックボードにより選択された物理ポートと一致することを確保する。
【0124】
最終的に、第2VXLANのVM11はVM01により送信されたパケットを受信する。すなわち、L3 VXLANゲートウェイによって、第1VXLANから第2VXLANへのパケット転送が実現される。
【0125】
以上は、本発明で提供する方法を説明した。
【0126】
以下、本発明で提供する装置を説明する。
【0127】
図5を参照する。図5は本発明で提供するVXLANゲートウェイの構成図である。図5に示すように、このVXLANゲートウェイはラインカード及びファブリックボードを含んでもよい。
【0128】
そのうち、前記ラインカードは、ラインカード処理手段を含み、
前記ラインカード処理手段は、データパケットを受信し、前記データパケットがL3転送を行うものと特定すると、データパケットの宛先IPアドレスの予め設定されたビット位置における値に基づいて、前記値にマッチングする1種類のファブリックボードのうつの1つを宛先ファブリックボードとして選択し、データパケットを宛先ファブリックボードに送信する。前記値にマッチングする1種類のファブリックボードは、予め設定されたビット位置における値が前記データパケットの宛先IPアドレスの予め設定されたビット位置における値と同じである宛先IPアドレスを有するという条件を満たすARPエントリをローカルに格納しているものである。
【0129】
前記ラインカード処理手段は、前記ラインカードがファブリックボードにより検索されたARPエントリにおける出力ポートに関連する第1宛先ラインカードである場合、ファブリックボードと協働してデータパケットを転送する。
【0130】
前記ファブリックボードはファブリックボード処理手段を含む。ファブリックボード処理手段は、L3 VXLANゲートウェイのラインカードにより送信されたデータパケットを受信し、データパケットがL3転送を行うものと特定すると、ローカルに格納されたARPエントリの中から、データパケットの宛先IPアドレスにマッチングするARPエントリを検索し、検索されたARPエントリにおける出力ポートに関連する第1宛先ラインカードと協働してデータパケットを転送する。
【0131】
前記ファブリックボード処理手段は、検索されたARPエントリにおける出力ポートに関連する第1宛先ラインカードと協働してデータパケットを転送することは、データパケットのソースMACアドレスを自L3 VXLANゲートウェイのゲートウェイMACアドレスに変更し、データパケットの宛先MACアドレスを、検索されたARPエントリにおける宛先MACアドレスに変更し、検索されたARPエントリにおける出力ポートの種類に応じて、変更後のデータパケットに対して内部カプセル化を行い、内部カプセル化されたデータパケットを、L3 VXLANゲートウェイ中の、検索されたARPエントリにおける出力ポートに関連する第1宛先ラインカードに送信することを含む。
【0132】
前記ラインカード処理手段は、前記ラインカードがファブリックボードにより検索されたARPエントリにおける出力ポートに関連する第1宛先ラインカードである場合、ファブリックボードと協働してデータパケットを転送することは、L3 VXLANゲートウェイの前記宛先ファブリックボードにより送信されたデータパケットを受信し、前記ファブリックボード処理手段により検索されたARPエントリにおける出力ポートに基づいてデータパケットを転送することを含む。
【0133】
前記ファブリックボード処理手段は、検索されたARPエントリにおける出力ポートの種類に応じて、変更後のデータパケットに対して内部カプセル化を行うことは、以下のことを含む。
【0134】
この検索されたARPエントリにおける出力ポートがホストアクセスポートであるか、それともネットワーク側ポートであるかを識別する。
【0135】
ホストアクセスポートである場合、L3 VXLANゲートウェイにおいて前記ホストアクセスポートが位置するラインカードが前記第1宛先ラインカードであると特定し、変更後のデータパケットに対して第1内部カプセル化を行い、第1内部カプセル化されたデータパケットをL3 VXLANゲートウェイの前記第1宛先ラインカードに送信する。第1内部カプセルは、前記第1宛先ラインカードにおける、パケットを転送するためのチップの識別子である第1宛先チップ識別子chip IDと、この検索されたARPエントリにおける出力ポートである第1宛先ポート識別子portとを含む。
【0136】
ネットワーク側ポートである場合、前記ネットワーク側ポートが単一の物理ポートであれば、前記物理ポートが宛先出力ポートであると特定し、前記ネットワーク側ポートが少なくとも2つの物理ポートを集約してなる集約ポートであれば、前記集約ポートのうちの1つの物理ポートを宛先出力ポートとして選択し、L3 VXLANゲートウェイにおいて宛先出力ポートが位置するラインカードが前記第1宛先ラインカードであると特定し、変更後のデータパケットに対して第2内部カプセル化を行い、第2内部カプセル化されたデータパケットをL3 VXLANゲートウェイの前記第1宛先ラインカードに送信する。第2内部カプセルは、ラインカードプロキシチップ識別子である第2宛先chip ID、ラインカードプロキシポート識別子である第2宛先port、及び検索されたARPエントリにおける仮想ローカルエリアネットワーク(VLAN)識別子IDを含む。
【0137】
前記ラインカード処理手段は、内部カプセルに応じて、内部デカプセル化が解除されたデータパケットを転送することは、以下のことを含む。
【0138】
受信したデータパケットが第1内部カプセル化されたものである場合、第1内部カプセルのヘッダから第1宛先chip ID及び第1宛先portを特定し、第1宛先chip IDが自ラインカードにおける、パケットを転送するためのチップの識別子であり、かつ第1宛先portが自ラインカードにおけるホストアクセスポートの識別子である場合、受信したデータパケットの第1内部カプセル化を解除し、第1宛先portに対応するホストアクセスポートを介して転送する。
【0139】
受信したデータパケットが第2内部カプセル化されたものである場合、第2内部カプセルのヘッダから第2宛先chip ID及び第2宛先portを特定し、特定した第2宛先chip IDがラインカードプロキシチップ識別子であり、特定した第2宛先portがラインカードプロキシポート識別子である場合、データパケットの第2内部カプセルのヘッダからVLAN IDを特定し、データパケットの第2内部カプセル化を解除し、予め設定されたVLAN IDとVNIDとのマッピング関係の中から、この特定したVLAN IDとマッピング関係を有するVNIDを検索し、自ラインカードのローカルに格納されたMACエントリの中から、デカプセル化されたデータパケットの宛先MACアドレス及びこの検索されたVNIDにマッチングするMACエントリを検索し、検索されたMACエントリにおける出力ポートに基づいて、自ラインカードのローカルに格納されたVXLANカプセル化のエントリの中から対応するVXLANカプセル化のエントリを検索し、検索されたVXLANカプセル化のエントリ及び検索されたVNIDを用いて、デカプセル化されたデータパケットをVXLANカプセル化し、この検索されたVXLANカプセル化のエントリにおける出力ポートを介して送信する。
【0140】
前記ファブリックボード処理手段は、ローカルに格納されたARPエントリの中からデータパケットの宛先IPアドレスにマッチングするARPエントリが検索されなかった場合、さらに以下のステップを実行する。
【0141】
ローカルに格納されたルーティングエントリの中からデータパケットの宛先IPアドレスにマッチングするルーティングエントリを検索し、検索されたルーティングエントリにおける出力ポートはホストアクセスポートである。
【0142】
L3 VXLANゲートウェイにおいてこの検索されたルーティングエントリにおける出力ポートが位置するラインカードが第2宛先ラインカードであると特定し、データパケットのソースMACアドレスを自ゲートウェイのゲートウェイMACアドレスに変更し、データパケットの宛先MACアドレスを、検索されたルーティングエントリにおける宛先MACアドレスに変更し、変更後のデータパケットに対して第3内部カプセル化を行って、L3 VXLANゲートウェイの前記第2宛先ラインカードに送信し、第3内部カプセルは、前記第2宛先ラインカードにおける、パケットを転送するためのチップの識別子である第3宛先chip IDと、検索されたルーティングエントリにおける出力ポートである第3宛先portとを含む。
【0143】
これに基づいて、前記ラインカード処理手段は、その位置するラインカードが前記第2宛先ラインカードである場合、さらにL3 VXLANゲートウェイの前記宛先ファブリックボードにより送信されたデータパケットを受信し、データパケットの第3内部カプセルのヘッダから第3宛先chip ID及び第3宛先portを特定し、前記第3宛先chip IDが自ラインカードにおける、パケットを転送するためのチップの識別子であり、かつ第3宛先portが自ラインカードのホストアクセスポートの識別子である場合、受信したデータパケットの第3内部カプセル化を解除し、第3宛先portに対応するホストアクセスポートを介して転送する。
【0144】
ここまで、図5に示す装置の構成図が完成する。
【0145】
本発明の一例として、本発明はさらに、図5に示すVXLANゲートウェイのハードウェア構成図を提供する。図6に示すように、このVXLANゲートウェイのハードウェア構成は、ラインカードとファブリックボードとを含んでもよい。
【0146】
そのうち、ラインカードは、第1CPU及び第1メモリを含んでもよい。
【0147】
第1メモリは、ラインカード処理手段を格納するためのものである。
第1CPUは、ラインカード処理手段で実行する制御プログラムを格納し、前記第1メモリにおけるラインカード処理手段が上記した動作を実行するように制御する。前記第1メモリにおけるラインカード処理手段が実行する動作は、上記したようなラインカード処理手段が実行する動作であり、ここでは再び詳細に説明しない。
【0148】
ファブリックボードは、第2CPU及び第2メモリを含んでもよい。
【0149】
第2メモリは、ファブリックボード処理手段を格納するためのものである。
第2CPUは、ファブリックボード処理手段で実行する制御プログラムを格納し、前記第2メモリにおけるファブリックボード処理手段が上記した動作を実行するように制御する。前記第2メモリにおけるファブリックボード処理手段が実行する動作は、上記したようなファブリックボード処理手段が実行する動作であり、ここでは再び詳細に説明しない。
【0150】
ここまで、図6に示す装置のハードウェア構成図が完成する。
図1
図2
図3
図4
図5
図6