(57)【要約】【課題】ＶＸＬＡＮのような仮想Ｌ２ネットワークが複数存在する環境で、仮想Ｌ２ネットワーク間のＬ３中継を行うと、通信遅延時間が増大もしくは、エッジ装置で記憶するエントリの数が増加を引き起こす。【解決手段】エッジ装置で、自分の所属しない仮想Ｌ２ネットワーク対して、ＡＲＰもしくはＮＤＰによるアドレス解決を行い、その応答を受信することで、自分の所属しない仮想Ｌ２ネットワークのＭＡＣアドレスを学習する。【選択図】  図１
2017069657.tif 000002
【特許請求の範囲】
【請求項１】
第１の仮想ネットワークに属する第１の中継装置と、第２の仮想ネットワークに属する第２の中継装置とを備え、
一つの仮想ネットワークグループとして関連づけられる第１の仮想ネットワークと第２の仮想ネットワークとは、第３の仮想ネットワークを介して接続され、
第１の中継装置は、
パケットの宛先の通信装置のＩＰアドレスと宛先の通信装置が属する仮想ネットワークを識別するネットワーク識別子との対応付けを示す転送情報に予め記憶し、
第１の仮想ネットワークに属する第１の通信装置から第２の仮想ネットワークに属する第２の通信装置宛のパケットを受信すると、転送情報を参照して、受信したパケットの宛先ＩＰアドレスに対応する宛先ＶＮＩを特定し、特定した宛先ＶＮＩと送信元の第１の通信装置のＭＡＣアドレスとを用いて、受信したパケットをカプセル化し、カプセル化したパケットを第３の仮想ネットワークに送信し、
第２の中継装置は、
第３の仮想ネットワークから第２の通信装置宛のパケットを受信すると、受信したパケットに含まれる第１の通信装置のＭＡＣアドレスを保持し、受信したパケットをデカプセル化し、デカプセル化したパケットに含まれる第１の通信装置のＭＡＣアドレスを第２の中継装置のＭＡＣアドレスに更新し、更新したパケットを第２の通信装置宛に送信する
通信システム。
【請求項２】
請求項１の通信システムであって、第１の中継装置は、
第２の通信装置宛のパケットを受信すると、受信したパケットの宛先ＩＰアドレスに対応する宛先ＶＮＩと隣接通信装置のＩＰアドレスとを特定し、特定した宛先ＶＮＩを含む、特定した隣接通信装置のＩＰアドレスを宛先とするアドレス解決パケットを第３の仮想ネットワークに送信し、アドレス解決パケットに対する応答パケットを受信すると、応答パケットに含まれる隣接通信装置のＭＡＣアドレスを隣接通信装置のＩＰアドレスと対応付けて保持し、応答パケットに含まれる第２の中継装置のＭＡＣアドレスを隣接通信装置のＭＡＣアドレスと対応付けてＭＡＣ学習を実行し、特定した宛先ＶＮＩと第１の通信装置のＭＡＣアドレスと隣接通信装置のＭＡＣアドレスと第１の中継装置のＭＡＣアドレスと第２の通信装置のＭＡＣアドレスと宛先ＩＰアドレスとを用いて、受信した第２の通信装置宛のパケットをカプセル化する、通信システム。
【請求項３】
請求項２の通信システムであって、第１の中継装置は、第２の通信装置宛のパケットを受信すると、前記転送情報を参照して、受信したパケットの宛先ＩＰアドレスに対応する宛先ＶＮＩと隣接通信装置のＩＰアドレスとを特定し、特定したＩＰアドレスに対応する隣接通信装置のＭＡＣアドレスがない場合、特定した隣接通信装置のＩＰアドレスを宛先とするアドレス解決パケットを第３の仮想ネットワークに送信する通信システム。
【請求項４】
請求項２の通信システムであって、第２の中継装置は、第１の中継装置からカプセル化されたパケット受信時に、宛先を確認し、宛先ＭＡＣアドレスを学習していない場合、第２の仮想ネットワーク宛にアドレス解決要求を送信する通信システム。
【請求項５】
第１の仮想ネットワークに属する第１の中継装置を含む通信システムであって、
前記第１の中継装置は、前記第１の仮想ネットワークと一つの仮想ネットワークグループとして関連づけられる第２の仮想ネットワークに属する第２の中継装置と第３の仮想ネットワークを介して接続され、
パケットの宛先の通信装置のＩＰアドレスと宛先の通信装置が属する仮想ネットワークを識別するネットワーク識別子との対応付けが予め記憶されるメモリと、
第１の仮想ネットワークに属する第１の通信装置から第２の仮想ネットワークに属する第２の通信装置宛のパケットを受信すると、転送情報を参照して、受信したパケットの宛先ＩＰアドレスに対応する宛先ＶＮＩを特定し、特定した宛先ＶＮＩと送信元の第１の通信装置のＭＡＣアドレスとを用いて、受信したパケットをカプセル化し、カプセル化したパケットを第３の仮想ネットワークを介して前記第２の中継装置に向けて送信する、ことを特徴とする通信システム。
【請求項６】
請求項１記載の通信システムであって、
前記第２の中継装置をさらに有し、
前記中継装置は、第３の仮想ネットワークから第２の通信装置宛のパケットを受信すると、受信したパケットに含まれる第１の通信装置のＭＡＣアドレスを保持し、受信したパケットをデカプセル化し、デカプセル化したパケットに含まれる第１の通信装置のＭＡＣアドレスを第２の中継装置のＭＡＣアドレスに更新し、更新したパケットを第２の通信装置宛に送信する
通信システム。
【請求項７】
請求項５記載の通信システムであって、
前記第１の仮想ネットワーク及び前記第２の仮想ネットワークは、ＶＬＡＮであって、前記第３の仮想ネットワークは、ＶＸＬＡＮであることを特徴とする、通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システムまたは通信装置に関する。特に、  ＶＸＬＡＮ（Ｖｉｒｔｕａｌ  Ｅｘｔｅｎｓｉｂｌｅ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）のプロトコルに従ったパケットを中継する通信システムまたは通信装置に関する。
【背景技術】
【０００２】
特許文献１には、レイヤ３ＶＰＮによってコアネットワークに接続した拠点ネットワークとレイヤ２ＶＰＮによって接続した拠点ネットワークとの間の通信を可能とするために、ＶＰＮのパケット転送を行う第１のＮＷ１０１と、第１のＮＷ１０１にレイヤ３にて接続する第２のＮＷ１０２と、第１のＮＷ１０１にレイヤ２にて接続する第３のＮＷ１０３とがＶＰＮを構成し、第２のＮＷ１０２から第３のＮＷ１０３の宛先にパケットを送付する際に、レイヤ３によるパケット転送処理を行い、宛先の情報と宛先への中継点となる第３のＮＷ１０３を接続する第１のＮＷ１０１に属するネットワーク装置ＰＥ１ １１１の情報を用いて、これらの情報をパケットの宛先情報に格納し転送する、ことが開示される。
【０００３】
非特許文献１に示されるＶＸＬＡＮでは、Ｌａｙｅｒ-３(Ｌ３)ネットワーク上に、オーバレイネットワークを構築することで、物理的な場所に縛られない仮想Ｌａｙｅｒ-２（Ｌ２）ネットワークを構築する（第１章第３〜５段落、第４章第一段落）。
【０００４】
非特許文献２には、送受信される任意のプロトコルに従ったフレームの前にＶＸＬＡＮヘッダに付加し、他のプロトコルとＶＸＬＡＮとを互換を持ち、拡張可能とすることが開示される（第一章第一段落）。
【０００５】
一人のユーザまたは一つのグループが、複数の仮想Ｌ２ネットワークを使用する場合、それぞれの仮想Ｌ２ネットワークに属する装置間が通信するために、仮想Ｌ２ネットワーク間をＬ３（Ｌａｙｅｒ−３）中継で接続する必要がある。非特許文献３では、宛先ノードのＩＰアドレスと、そのノードが接続するＶＸＬＡＮのエッジ装置の対応を示す情報を、ＢＧＰを用いて交換することで、転送先を特定することが開示される（５．４節）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１３−９０４９
【非特許文献】
【０００７】
【非特許文献１】ＲＦＣ８３４８  Ｖｉｒｔｕａｌ  ｅＸｔｅｎｓｉｂｌｅ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ  （ＶＸＬＡＮ）：  Ａ  Ｆｒａｍｅｗｏｒｋ  ｆｏｒ  Ｏｖｅｒｌａｙｉｎｇ  Ｖｉｒｔｕａｌｉｚｅｄ  Ｌａｙｅｒ  ２  Ｎｅｔｗｏｒｋｓ  ｏｖｅｒ  Ｌａｙｅｒ  ３  Ｎｅｔｗｏｒｋｓ
【非特許文献２】Ｇｅｎｅｒｉｃ  Ｐｒｏｔｏｃｏｌ  Ｅｘｔｅｎｓｉｏｎ  ｆｏｒ  ＶＸＬＡＮ  ｄｒａｆｔ−ｑｕｉｎｎ−ｖｘｌａｎ−ｇｐｅ−０４
【非特許文献３】Ｉｎｔｅｇｒａｔｅｄ  Ｒｏｕｔｉｎｇ  ａｎｄ  Ｂｒｉｄｇｉｎｇ  ｉｎ  ＥＶＰＮ ｄｒａｆｔ−ｉｅｔｆ−ｂｅｓｓ−ｅｖｐｎ−ｉｎｔｅｒ−ｓｕｂｎｅｔ−ｆｏｒｗａｒｄｉｎｇ−００
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ＶＸＬＡＮによる仮想Ｌ２ネットワークに多数のノードが参加すると、ＶＸＬＡＮのカプセル化を行う各エッジ装置で学習する必要があるノードの数が増え、大量のエントリを学習可能な高価な装置が必要となる。また、仮想Ｌ２ネットワーク内でブロードキャストパケットが流れた際に、中継する必要のあるノードおよびエッジ装置が増え、ネットワーク内を流れるトラフィックが多くなる、装置への負荷がかかるといった問題が生じる。そのため、多数のノードを使用するユーザ（テナント）では、複数の仮想Ｌ２ネットワークを使用し、各エッジ装置で学習するノードの数を減らすという運用が想定される。しかしながら、上述したような運用を行う場合、異なる仮想Ｌ２ネットワークに属するノード間をＬ３中継により接続しようとした際に、ＶＸＬＡＮのエッジ装置が、宛先のノードと接続しているエッジ装置を知ることができない。一方、非特許文献３に開示される技術では、各エッジ装置の学習する情報を減らすことはできない。
【０００９】
上記課題は、相互にＬ３中継（ＯＳＩで規定されるレイヤ３のプロトコル（ＩＰ）に従った中継処理）を行う仮想Ｌ２ネットワーク全てに対して各エッジ装置が所属し、中継先の仮想Ｌ２ネットワーク内のノード情報を学習する場合、各エッジ装置の学習するノードの数が増大する。また、ブロードキャストによるトラフィック量も減少しない。
【００１０】
また、相互にＬ３中継を行う仮想Ｌ２ネットワークに属するルータを設置する場合、Ｌ３中継で通信を行うノードの位置に関わらず、ルータを必ず経由することととなり、転送遅延が増大する。
【課題を解決するための手段】
【００１１】
本発明は、以下の形態により上記課題の少なくとも一を解決する。
例えば、本発明の一態様では、第１の仮想ネットワークに属する第１の中継装置と、第２の仮想ネットワークに属する第２の中継装置とを備え、第１の仮想ネットワークと第２の仮想ネットワークは、第３の仮想ネットワークを介して接続され、第１の中継装置は、パケットの宛先の通信装置のＩＰアドレス（宛先ＩＰアドレス）と宛先のネットワークを識別するネットワーク識別子（宛先ＶＮＩ）とを対応付けて転送情報（フォワーディングテーブル）に予め記憶し、第１の仮想ネットワークに属する第１の通信装置から第２の仮想ネットワークに属する第２の通信装置宛のパケットを受信すると、転送情報を参照して、受信したパケットの宛先ＩＰアドレスに対応する宛先ＶＮＩを特定し、特定した宛先ＶＮＩと送信元の第１の通信装置のＭＡＣアドレスとを用いて受信したパケットをカプセル化し、カプセル化したパケットを第３の仮想ネットワークに送信し、第２の中継装置は、第３の仮想ネットワークから第２の通信装置宛のパケットを受信すると、受信したパケットに含まれる第１の通信装置のＭＡＣアドレスを保持し、受信したパケットをデカプセル化し、デカプセル化したパケットに含まれる第１の通信装置のＭＡＣアドレスを第２の中継装置のＭＡＣアドレスに更新し、更新したパケットを第２の通信装置宛に送信する、通信システム。
【発明の効果】
【００１２】
本発明の一態様によると、他のルータ装置を介さず、エッジ装置間のＬ３中継がされるため、転送遅延を低減できることである。
【図面の簡単な説明】
【００１３】
【図１】ネットワークシステム構成図
【図２】ネットワークシステムのシーケンス図
【図３】拡張ＶＸＬＡＮパケットおよびユーザパケットのパケット構造図
【図４】エッジ装置の機能構成図
【図５】インタフェース情報テーブルの説明図
【図６】ＶＮＩグループテーブルの説明図
【図７】フォワーディングテーブルの説明図
【図８】端末情報テーブルの説明図
【図９】ＭＡＣ学習テーブルの説明図
【図１０】エッジ装置のパケット受信時動作を示すフローチャート
【図１１】ＶＸＬＡＮをデカプセル化する処理のフローチャート
【図１２】受信パケットを中継する処理のフローチャート
【図１３】受信パケットをＬ３中継する処理のフローチャート
【図１４】図１２のフローチャートの続き
【図１５】ノードが移動した際のパケットの流れを説明図
【図１６】図１５の各装置の動作を説明するシーケンス図
【図１７】ユーザパケットおよび拡張ＶＸＬＡＮパケットの内容
【発明を実施するための形態】
【００１４】
以下、図面を参照して、ネットワークシステム、エッジ装置の実施例を示す。
【００１５】
図１は、実施形態の一例として、ネットワークシステムの構成を示す説明図である。このネットワークシステムは、各エッジ装置を接続するＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）５００と、仮想Ｌ２ネットワーク１０１Ａ、１０１Ｂを備えている。仮想Ｌ２ネットワーク１０１Ａと１０１Ｂは、ＶＮＩグループ１に属し、それぞれが拠点ごとの仮想ネットワーク、例えば、別々のＶＬＡＮ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）である。同じＶＮＩグループで異なる仮想Ｌ２ネットワーク間では、ＶＸＬＡＮにおけるＬ３接続（レイヤ３のプロトコルに従った通信）が、される。エッジ装置が、それぞれの仮想Ｌ２ネットワークにおけるゲートウェイであり、ゲートウェイであるエッジ装置間で、ＶＸＬＡＮにおけるＬ３接続がされる。
また、仮想Ｌ２ネットワーク１０１Ａのネットワークアドレスおよびプレフィックス長はＩＰアドレス／プレフィックス長１０１Ａであり、仮想Ｌ２ネットワーク１０１Ｂのネットワークアドレスおよびプレフィックス長は、ＩＰアドレス／プレフィックス長１０１Ｂである。
【００１６】
仮想Ｌ２ネットワーク１０１Ａには、中継装置であるエッジ装置３００Ａとエッジ装置３００Ａと物理ネットワーク１００Ａを介して接続するノード１０２Ａである通信装置が所属している。仮想Ｌ２ネットワーク１０１Ｂには、中継装置であるエッジ装置３００Ｂ、２００Ｃおよび、エッジ装置３００Ｂと物理ネットワーク１００Ｂを介して接続するノード１０２Ｂである通信装置が所属している。ノード１０２Ｂは、仮想Ｌ２ネットワーク１０１Ｂと異なるＬ２ネットワークに所属するノード１０２Ｃとも接続する。
【００１７】
エッジ装置およびノードには、予めＭＡＣアドレスおよびＩＰアドレスが割り当てられている。エッジ装置３００ＡがＷＡＮ５００と接続しているインタフェースは、ＭＡＣアドレスとしてＭＡＣ３００Ａ、ＩＰアドレスとしてＩＰ３００Ａを持つ。同じくエッジ装置３００ＢがＷＡＮ５００と接続するインタフェースには、ＭＡＣアドレスとしてＭＡＣ３００Ｂ、ＩＰアドレスとしてＩＰ３００Ｂが割り当てられ、エッジ装置３００ＣがＷＡＮ５００と接続するインタフェースにはＭＡＣアドレスとしてＭＡＣ３００Ｃ、ＩＰアドレスとしてＩＰ３００Ｃが割り当てられる。また、ノード１０２Ａには、ＭＡＣアドレスとしてＭＡＣ１０２ＡとＩＰアドレスとしてＩＰ１０２Ａが割り当てられ、ノード１０２Ｂには、ＭＡＣアドレスとしてＭＡＣ１０２ＢとＩＰアドレスとしてＩＰ１０２Ｂとが割り当てられる。ノード１０２Ｃには、ＭＡＣアドレスとしてＭＡＣ１０２ＣとＩＰアドレスとしてＩＰ１０２Ｃが割り当てられる。仮想Ｌ２ネットワーク１０１Ａに接続するエッジ装置３００Ａのインタフェースには、ＭＡＣ１、ＩＰ１が、仮想Ｌ２ネットワーク１０１Ｂに接続するエッジ装置３００Ｂ、エッジ装置３００Ｃのインタフェースには、ＭＡＣ２、ＩＰ２が割り当てられる。
【００１８】
次に、処理の流れを説明する。ノード１０２Ａからエッジ装置３００Ａへ送信されるユーザパケット（Ｐ１６０１）、エッジ装置３００Ａからエッジ装置３００Ｂへ送信される拡張ＶＸＬＡＮパケット（Ｐ１６０６）、エッジ装置３００Ｂからノード１０２Ｂへ送信されるユーザパケット（Ｐ１６０７）である。
【００１９】
以下の例では、Ｌ３中継時のパケットの流れを、ノード１０２Ａがノード１０２Ｃ宛のパケットを送信した場合を説明する。ノード１０２Ａから送信されたパケット（Ｐ１６０１）はエッジ装置３００Ａに到達する。エッジ装置３００Ａは、ネクストホップのＩＰアドレスに対応するＭＡＣアドレスが登録されているかを調べる。該当エントリが登録されていないため、エッジ装置３００Ａは、ＡＲＰリクエストパケットをＶＮＩ２仮想Ｌ２ネットワークに対してフラッディングし（Ｐ１６０２）、応答を待つ。ＡＲＰリクエストは、エッジ装置３００Ｂを介して、ノード１０２Ｂへ到達し（Ｐ１６０３）、ノード１０２ＢがＡＲＰリプライパケット（Ｐ１６０４）を、エッジ装置３００Ｂを介して、エッジ装置３００Ａに返信する（Ｐ１６０５）。
【００２０】
エッジ装置３００Ａは、ＡＲＰリプライパケットを受信し、送信先ノードのＭＡＣアドレスであるＭＡＣ１０２Ｂおよび、エッジ装置３００ＢのＭＡＣアドレスを学習する。エッジ装置３００Ａは、学習結果を利用し、ユーザパケットをカプセル化し拡張ＶＸＬＡＮパケットとしてエッジ装置３００Ｂに向け送信する（Ｐ１６０６）。エッジ装置３００Ｂは、拡張ＶＸＬＡＮパケットをデカプセル化し、デカプセル化後のユーザパケットをノード１０２Ｂへ中継し（Ｐ１６０７）、ノード１０２ＢがＬ３中継を行うことでノード１０２Ｃに到達する（Ｐ１６０８）。その後再度、ノード１０２Ａがノード１０２Ｃ宛のパケットを送信する（Ｐ１６０９）場合には、エッジ装置３００Ａは中継先の装置を学習済みのため、アドレス解決を行わず、エッジ装置３００Ｂに拡張ＶＸＬＡＮパケットを中継する（Ｐ１６１０）。その後は、先ほどと同様に、エッジ装置３００Ｂがデカプセル化を行いノード１０２Ｂに中継し（Ｐ１６１１）、ノード１０２ＢがＬ３中継でノード１０２Ｃに中継する。（Ｐ１６１２）
図３は、Ｌ３中継時にＷＡＮ５００を流れる拡張ＶＸＬＡＮパケット２００のパケットフォーマットの一例およびユーザパケット２１８を示すものである。拡張ＶＸＬＡＮパケットは、Ｏｕｔｅｒパケットヘッダ２０１とＩｎｎｅｒパケット２０２で構成される。Ｏｕｔｅｒパケットヘッダ２０１は、エッジ装置３００およびＷＡＮ５００内の装置が拡張ＶＸＬＡＮパケットを中継する際に使用するヘッダである。Ｉｎｎｅｒパケットは、エッジ装置３００での仮想Ｌ２ネットワーク１０１に関する情報が格納され、エッジ装置３００で仮想Ｌ２ネットワーク１０１を流れるユーザパケットへの復元や、後述するエッジ装置３００内部のテーブルの学習に使用される。
【００２１】
Ｏｕｔｅｒパケットヘッダ２０１は、宛先エッジ装置ＩＰアドレス２０８、送信元エッジ装置ＩＰアドレス２０９を含むＯｕｔｅｒ  ＩＰヘッダ２０３や、宛先ＵＤＰポート番号２１０を含むＵＤＰヘッダ２０４、宛先ＶＮＩ２１１や送信元ＶＮＩ２１２を含む拡張ＶＸＬＡＮヘッダ２０５で構成される。拡張ＶＸＬＡＮヘッダ２０５は、通常のＶＸＬＡＮヘッダに対し予約領域を使い送信元ＶＮＩ２１２を持てるよう拡張したものである。通常のＶＸＬＡＮヘッダと拡張ＶＸＬＡＮヘッダの識別には、宛先ＵＤＰポート番号２１０が使用可能である。また、他のパケットフォーマット例としては、Ｇｅｎｅｒａｌ  Ｐｒｏｔｏｃｏｌ  Ｅｘｔｅｎｓｉｏｎ  ｆｏｒ  ＶＸＬＡＮ等を使用し、ＶＸＬＡＮヘッダの後に追加のヘッダを設けることが考えられる。
【００２２】
Ｉｎｎｅｒパケット２０２は、宛先ノードＭＡＣアドレス２１３と送信元ノードＭＡＣアドレス２１４を含むＩｎｎｅｒ  ＭＡＣヘッダ２０６と、宛先ノードＩＰアドレス２１５と送信元ノードＩＰアドレス２１６を含むＩｎｎｅｒ  ＩＰヘッダ２０７およびＩＰデータ部２１７で構成される。Ｉｎｎｅｒ  ＭＡＣヘッダ２０６の送信元ノードＭＡＣアドレス２１４は、ＷＡＮ５００への中継を行ったエッジ装置３００に入力されたユーザパケットの送信元ＭＡＣアドレスと同じ値をとる。宛先ノードＭＡＣアドレス２１３は、ネクストホップのノードのＭＡＣアドレスをとる。また、宛先ノードＩＰアドレス２１５、送信元ノードＩＰアドレス２１６、ＩＰデータ部２１７は、ユーザパケットと同じ値が入る。
【００２３】
例として、図１のノード１０２Ａから送信されたノード１０２Ｃ宛のユーザパケットをエッジ装置３００Ａ、３００Ｂの間で拡張ＶＸＬＡＮパケットとして中継する場合の各項目の値を説明する。この場合、宛先エッジ装置ＩＰアドレス２０８は、エッジ装置３００Ｂを指すＩＰアドレス３００Ｂとなり、送信元エッジ装置ＩＰアドレス２０９は、エッジ装置３００Ａを指すＩＰアドレス３００Ａとなる。次に宛先ＶＮＩ２１１は、ノード１０２Ｂが属する仮想Ｌ２ネットワーク１０１Ｂを指すＶＮＩ２、送信元ＶＮＩ２１２は、ノード１０２Ａが属する仮想Ｌ２ネットワーク１０１Ａを指すＶＮＩ１となる。宛先ノードＭＡＣアドレス２１３は、ネクストホップの装置であるノード１０２Ｂを指すＭＡＣ１０２Ｂ、送信元ノードＭＡＣアドレスは、ノード１０２Ａを指すＭＡＣ１０２Ａとなる。宛先ノードＩＰアドレス２１５は、ノード１０２Ｂを指すＩＰ１０２Ｂとなり、送信元ノードＩＰアドレス２１６はノード１０２Ａを指すＩＰ１０２Ａとなる。
【００２４】
図４は、エッジ装置３００の機能構成図である。エッジ装置３００は、インタフェース３０３Ａ、３０３Ｂおよび、制御部３０１、テーブル群３０２を持つ。また、制御部３０１は、受信処理部３０４、経路制御部３０５および送信処理部３０６を含む。テーブル群３０２は、中継処理を行う前に事前に設定されるインタフェース情報テーブル４００、ＶＮＩグループテーブル５００、フォワーディングテーブル６００と、端末情報テーブル７００と、ＭＡＣ学習テーブル８００を含む。
【００２５】
インタフェース３０３Ａは、ノード１０２Ａと接続するインタフェースである。インタフェース３０３Ｂは、ＷＡＮ５００と接続している。
【００２６】
インタフェース情報テーブル４００は、エッジ装置３００が有するインタフェースとインタフェースが接続するネットワークの属性に応じたアクセスの種類、ＶＮＩグループ、及びＶＮＩのとの対応付けを含む。ＶＮＩグループテーブル５００は、ＶＮＩグループに属する仮想Ｌ２ネットワークを示す情報を含む。
【００２７】
フォワーディングテーブル６００は、ＶＮＩグループとそのグループに属するパケットの転送経路とを対応付ける情報を含む。特に、フォワーディングテーブル６００は、通信装置のＩＰアドレスと通信装置が属する仮想ネットワークを識別するネットワーク識別子であるＶＮＩとの対応付けを示す情報を含む。端末情報テーブル７００は、ＶＮＩグループ毎にそのグループに属する端末に関する情報が格納される。例えば、端末に関する情報は、端末のＩＰアドレスまたＭＡＣアドレスである。
【００２８】
ＭＡＣ学習テーブル８００は、ＶＮＩとＭＡＣアドレスの組合せで出力すべきインタフェースを特定する情報を含む。
【００２９】
受信処理部３０４は、インタフェースで受信したパケットを処理する。受信処理部３０４で受信したパケットにより、経路制御部３０５は、テーブル群３０２内テーブルを更新する。送信制御部３０１は、受信パケットを送信する。
【００３０】
受信処理部３０４は、インタフェース３０３Ａまたはインタフェース３０３Ｂで受信したパケットについて、受信したインタフェースに対応付けられたアクセスの種別を決定する。対応付けられたアクセスの種別は、例えば、ＶＸＬＡＮアクセスまたはＶＸＬＡＮトランクである。
【００３１】
受信処理部３０４は、受信処理回路であってもよい。または、受信処理部３０４は、プロセッサを備え、プログラムにより受信処理部３０４の処理を実現してもよい。
【００３２】
経路制御部３０５は、受信したパケットの出力先や経路を決定する。具体的には、経路制御部３０５は、受信したパケットの宛先ＩＰアドレスに対応する宛先ＶＮＩを特定し、特定した宛先ＶＮＩとパケットの送信元のＭＡＣアドレスとを用いて受信したパケットをカプセル化する。また、経路制御部３０５は、対向のエッジ装置３００から受信したパケットをデカプセル化し、デカプセル化したパケットに含まれる送信元の通信装置のＭＡＣアドレスを自装置のＭＡＣアドレスに更新し、更新したパケットを第２の通信装置宛に送信する。また、経路制御部３０４は、同じ仮想Ｌ２ネットワークに属するノード１０２から受信したパケットの宛先ＩＰアドレスに対応する宛先ＶＮＩと宛先ＶＮＩに属する対向エッジ装置３００のＩＰアドレスとを特定し、特定した宛先ＶＮＩを含む、特定した隣接通信装置のＩＰアドレスを宛先とするアドレス解決パケットをＷＡＮ５００を介して対向エッジ装置３００に送信する。
【００３３】
また、経路制御部３０５は、アドレス解決パケットに対する応答パケットを受信すると、応答パケットに含まれる対向するエッジ装置３００に対応する隣接通信装置のＭＡＣアドレスを隣接通信装置のＩＰアドレスと対応付けて端末情報テーブル７００に格納し、応答パケットに含まれるエッジ装置３００のＩＰアドレスとそのエッジ装置に隣接する通信装置のＭＡＣアドレスとを対応付けてＭＡＣ学習情報に格納し、特定した宛先ＶＮＩと第１の通信装置のＭＡＣアドレスと隣接通信装置のＭＡＣアドレスと自装置のＭＡＣアドレスと対向するエッジ装置のＭＡＣアドレスと宛先ＩＰアドレスとを用いて、同じＶＮＩに属するノードから受信し、対向するエッジ装置を介して接続され異なるＶＮＩに属するノードを宛先とするパケットをカプセル化する。
【００３４】
送信処理部３０６は、受信したパケットの宛先のＩＰアドレスに対応するＭＡＣアドレスを解決するＡＲＰリクエストパケットを作成し、受信したパケットの宛先ＶＮＩに対してフラッディングを行う。
【００３５】
また、送信処理部３０６は、送信指示されたインタフェースに対して、パケットの送信を行う。指示されたインタフェースが、他のエッジ装置のＩＰアドレスだった場合は、Ｌ３中継用の拡張ＶＸＬＡＮパケットを生成する。この時、Ｉｎｎｅｒパケット２０２は指示されたパケットをそのまま使用する。宛先エッジ装置ＩＰアドレスは、ＭＡＣ学習テーブル８００から取得した出力先情報８０３を使用する。送信元エッジ装置ＩＰアドレスは、出力先情報８０３宛のパケット送信するＩＰアドレスを格納する。宛先ＶＮＩ２１１は、フォワーディングテーブル６００から取得したＶＮＩ６０４を使用する。送信元ＶＮＩは、インタフェース情報テーブル４００から取得したＶＮＩ４０４を使用する。その後生成したパケットを送信する。
【００３６】
図５は、インタフェース情報テーブル４００の説明図である。インタフェース情報テーブル４００は、エッジ装置３００それぞれが有するインタフェース３０３の各種情報を保持するテーブルである。インタフェース情報テーブル４００は、インタフェース番号４０１に対応付けて、インタフェース種別４０２、ＶＮＩグループ番号４０３、ＶＮＩ４０４を保持する。インタフェース番号４０１には、インタフェース３０３を識別する番号が格納される。インタフェース種別４０２は、インタフェースの接続するネットワークを示す値である。ＷＡＮ５００と接続する場合、インタフェース種別４０２は「ＶＸＬＡＮトランク」となり、仮想Ｌ２ネットワーク１０１と接続する場合は、「ＶＸＬＡＮアクセス」となる。インタフェース種別４０２が、「ＶＸＬＡＮアクセス」の場合は、ＶＮＩグループ番号４０３、ＶＮＩ４０４が設定される。ＶＮＩグループ番号４０３は、ＶＮＩグループを識別する番号である。ＶＮＩ４０４は、仮想Ｌ２ネットワーク１０１Ａ、１０１Ｂを識別する番号である。
【００３７】
図５の例では、エントリ４０５によって、インタフェース３０３ＡがＶＮＩグループ１に属する仮想Ｌ２ネットワーク１０１Ａに接続していることを示す。また、エントリ４０６は、インタフェース３０３ＢがＷＡＮ５００と接続していることを示している。
【００３８】
図６は、ＶＮＩグループテーブル５００の説明図である。ＶＮＩグループテーブル５００は、ＶＮＩグループに属する仮想Ｌ２ネットワークを表すテーブルである。ＶＮＩグループ番号５０１と、ＶＮＩ番号５０２で構成される。図６の例では、ＶＮＩグループ１にＶＮＩ番号がＶＮＩ１である仮想Ｌ２ネットワーク１０１Ａ、ＶＮＩ番号がＶＮＩ２である１０１Ｂが所属していることを示している。
【００３９】
図７は、フォワーディングテーブル６００の説明図である。フォワーディングテーブルは、各ＶＮＩグループで、ＩＰパケットがＬ３中継される経路を表す情報を含むテーブルである。フォワーディングテーブル６００は、ＶＮＩグループ番号６０１およびＩＰアドレス／プレフィックス長６０２に関連して、ネクストホップ情報６０３および、ＶＮＩ番号６０４を保持する。特に、フォワーディングテーブル６００は、通信装置のＩＰアドレスと通信装置が属する仮想ネットワークを識別するネットワーク識別子であるＶＮＩとの対応付けを示す情報を含む。フォワーディングテーブル６００において、ＶＮＩグループ番号６０１はＬ３中継を行うＶＮＩグループを表す値であり、ＩＰアドレス／プレフィックス長６０２は、経路のＩＰアドレスおよびプレフィックス長を表す。ネクストホップ情報６０３は、ＶＮＩグループ番号に対する各経路のネクストホップの装置（隣接通信装置）を示す情報である。ここでいうネクストホップは、ＷＡＮ５００をＶＸＬＡＮでトンネリングされ接続する場合も含む。ネクストホップが宛先ノードの場合、ネクストホップ情報６０３の値は「Ｄｉｒｅｃｔ  Ｃｏｎｎｅｃｔ」となり、それ以外の場合は、中継先のノードのＩＰアドレスが格納される。ＶＮＩ番号６０４は、中継先の仮想Ｌ２ネットワークを特定する識別子である。
【００４０】
図７の例では、エントリ６０５、６０６、６０７は、全てＶＮＩグループ１に関する経路の情報を表している。エントリ６０５は、ＩＰアドレス／プレフィックス１０１Ａが、ＶＮＩ番号がＶＮＩ１で表される仮想Ｌ２ネットワーク１０１Ａで接続されていることを示す。エントリ６０６は、ＩＰアドレス／プレフィックス１０１Ｂが、ＶＮＩ２で表される仮想Ｌ２ネットワーク１０１Ｂで接続されていることを示す。エントリ６０７は、ＩＰアドレス／プレフィックス１０１が、ＶＮＩ番号がＶＮＩ２に属しＩＰ１０２Ｂを持つノード１０２Ｂを経由してつながっていることを示す。
【００４１】
図８は、端末情報テーブル７００の説明図である。端末情報テーブル７００は、各ＶＮＩグループ上でＡＲＰ等を用いてアドレス解決されたＩＰアドレスおよびＭＡＣアドレスを表す。端末情報テーブル７００は、ＶＮＩグループ番号７０１とＩＰアドレス７０２に関連して、ＭＡＣアドレス７０３を保持する。また、端末情報テーブル７００は、経路制御部３０５により、アドレス解決応答を受信した際に、更新される。
【００４２】
図８の例では、エントリ７０４で、ＶＮＩグループ１に属し、ＩＰアドレスがＩＰ１０２Ａである装置が、ＭＡＣ１０２ＡのＭＡＣアドレスを示し、エントリ７０５で、ＶＮＩグループ１に属し、ＩＰアドレスがＩＰ１０２Ｂである装置が、ＭＡＣ１０２ＢのＭＡＣアドレスを示す。なお、端末情報テーブル７００の初期状態は、図８からエントリ７０５が削除されている状態である。
【００４３】
図９は、ＭＡＣ学習テーブル８００の説明図である。ＭＡＣ学習テーブル８００は、仮想Ｌ２ネットワークに所属する端末が、どのインタフェースもしくは、エッジ装置を通じて接続しているかを表すテーブルである。ＭＡＣ学習テーブル８００は、ＶＮＩ番号８０１およびＭＡＣアドレス８０２に関連して、出力先情報８０３を記憶する。出力先情報８０３は、ＶＮＩ番号８０１およびＭＡＣアドレス８０２で表されるノードが直接インタフェースを通じてつながっている場合は、そのインタフェースを示すインタフェース番号が格納されＷＡＮ５００上のＶＸＬＡＮトンネリングで接続している場合は、トンネルの出口となるエッジ装置のＩＰアドレスが格納される。ＭＡＣ学習テーブル８００は、受信処理部３０４でパケット受信時に、経路制御部を通じて更新される。通常のＶＸＬＡＮとは異なり、ＭＡＣ学習テーブル８００を保持するエッジ装置３００が、参加していない仮想Ｌ２ネットワーク１０１に関する情報も蓄えられる。
【００４４】
図９の例では、エントリ８０４によって、ＶＮＩ番号がＶＮＩ１である仮想Ｌ２ネットワーク１０１Ａに属するＭＡＣ１０２Ａを持つノードであるノード１０２Ａが、インタフェース３０３Ａを介して接続していることを表している。エントリ８０５は、エッジ装置３００Ａが所属しないＶＮＩ番号がＶＮＩ２である仮想Ｌ２ネットワーク１０１Ｂに関するエントリである。エントリ８０５は、ＶＮＩ番号がＶＮＩ２である仮想Ｌ２ネットワーク１０１Ｂに所属し、ＭＡＣ１０２ＢのＭＡＣアドレスを持つノード１０２Ｂが、ＩＰ３００Ｂが割り当てられるエッジ装置３００Ｂを介して接続していることを示している。なお、ＭＡＣ学習テーブル８００の初期状態は、が図９からエントリ８０５が削除されている状態とする。  図１０は、パケット受信時の受信処理部３０４で行われるパケット受信処理の処理内容を示したフローチャートである。エッジ装置３００は、インタフェース３０３Ａ、３０３Ｂからパケットを受信すると、受信処理部３０４でパケット受信処理を開始する。（Ｓ９０１）まず、受信処理部３０４は、受信したインタフェース３０３のインタフェース番号をインタフェース情報テーブル４００上で検索する。検索の結果該当したエントリよりインタフェース種別４０２を取得する。インタフェース種別４０２が「ＶＸＬＡＮアクセス」の場合（Ｓ９０３）、さらにエントリよりインタフェースの所属するＶＮＩグループ番号４０３、ＶＮＩ４０４を取得し、受信処理部３０４の中継処理（Ｓ１１００）を呼び出す。インタフェース種別４０２が「ＶＸＬＡＮトランク」の場合（Ｓ９０３）、受信処理部３０４のＶＸＬＡＮデカプセル化処理（Ｓ１０００）を呼び出す。
【００４５】
図１１は、経路制御部３０５で行われるＶＸＬＡＮデカプセル化処理の処理内容を示したフローチャートである。この処理は、パケットを受信したインタフェースの種別が、「ＶＸＬＡＮトランク」である、つまりＷＡＮ５００と接続しているインタフェースだった場合に実行される。経路制御部３０５は、受信パケットがＶＸＬＡＮパケットもしくは拡張ＶＸＬＡＮパケットかどうか確認を行う（Ｓ１００２）。具体的に、経路制御部３０５は、受信パケットに含まれる宛先エッジ装置ＭＡＣアドレス２１３、宛先ノードＩＰアドレス２１５が自装置のもの判定を行い、さらに受信パケットに含まれる宛先ＵＤＰポート番号２１０を確認することで、ＶＸＬＡＮもしくは拡張ＶＸＬＡＮパケットであるか確認する。
【００４６】
経路制御部３０５は、拡張ＶＸＬＡＮパケットまたはＶＸＬＡＮパケットの場合、ＭＡＣ学習テーブル８００を更新する（Ｓ１００３）。具体的には、経路制御部３０５は、ＶＮＩ番号８０１が送信元ＶＮＩ２１１、ＭＡＣアドレス８０２が送信元ノードＭＡＣアドレス２１４のエントリを作成または、更新し、出力先情報８０３の値を送信元エッジ装置ＩＰアドレス２１５として記憶する。ＶＸＬＡＮパケットの場合は、ＶＮＩ番号８０１として受信パケットに含まれる宛先ＶＮＩ２１０を記憶する。
【００４７】
次に、経路制御部３０５は、受信パケットのＯｕｔｅｒ  ＩＰヘッダ２０１を外し、ユーザパケットを生成する（ステップ１００４）。経路制御部３０５は、パケットが拡張ＶＸＬＡＮパケットの場合、受信パケットの送信元ノードＭＡＣアドレス２１４を自装置のＭＡＣアドレスに書き換える。
【００４８】
最後に、送信元ＶＮＩ２１２と生成したユーザパケットを引数に中継処理（Ｓ１１００）を呼び出す。
【００４９】
経路制御部３０５は、拡張ＶＸＬＡＮパケットまたはＶＸＬＡＮパケットのどちらにも該当しない場合、処理を終了し（Ｓ１００５）パケットを破棄する。以上が図１１のフローチャートの説明である。
【００５０】
図１２は、経路制御部３０５が行う中継処理の処理内容を示したフローチャートである。この処理では、中継対象のユーザパケットが、Ｌ２中継で中継すべきパケットか、Ｌ３中継で中継すべきパケットか、もしくは、制御パケットか判別し、それぞれの場合の処理を行う。
【００５１】
中継処理の開始後（Ｓ１１０１）、経路制御部３０５は、宛先ＭＡＣアドレス２１３が自装置のものか判定する（Ｓ１１０２）。経路制御部３０５は、もし、他装置宛のパケットだった場合、Ｌ２中継処理（Ｓ１１０３）を行う。ここでいうＬ２中継処理（Ｓ１１０３）は、自装置のポートからＬ２パケットを送信する場合と、ＶＸＬＡＮで他装置に中継する場合を含む。
【００５２】
自装置宛のパケットだった場合、経路制御部３０５は、パケットがＡＲＰパケット等の自装置で処理する必要があるプロトコルのパケットかどうか判定し（Ｓ１１０４）、そのプロトコルに合わせた動作をする。例えば、経路制御部３０５は、ＡＲＰリプライパケットだった場合、端末情報テーブルにそのＡＲＰで解決した、ＩＰアドレス及びＭＡＣアドレスの組合せと、受信したパケットに含まれるＶＮＩの属するＶＮＩグループを登録する（Ｓ１１０５）。
【００５３】
中継対象のパケットが通常のＩＰパケットだった場合、経路制御部３０５は、Ｌ３中継処理（Ｓ１２００）を実施する。図１３および図１４にＬ３中継処理のフローチャートを示す。Ｌ３中継処理では、まず、経路制御部３０５は、ＶＮＩグループテーブル５００を参照し、受信したパケットに含まれるＶＮＩグループ番号４０３を検索する（Ｓ１２０２）。該当するＶＮＩグループがない場合（Ｓ１２０３）、中継処理を終了する。（Ｓ１３０４）次に、Ｓ１２０２の検索結果、経路制御部３０５は、取得したＶＮＩグループとパケットの宛先ＩＰアドレス２１５をフォワーディングテーブル６００で検索し、ＶＮＩグループ番号６０１が一致し、ＩＰアドレス／プレフィックス長６０２が最長一致したエントリのネクストホップ情報６０３およびＶＮＩ番号６０４を取得する（Ｓ１２０４）。経路制御部３０５は、一致するエントリがなかった場合は、中継処理を終了する（Ｓ１３０４）。次に、経路制御部３０５は、端末情報テーブルの検索を行う（Ｓ１２０６）。この時、ＶＮＩグループ番号７０１として、ＶＮＩグループテーブルから取得したＶＮＩグループ番号５０２を、ＩＰアドレス７０２として、ネクストホップ情報６０３が、「Ｄｉｒｅｃｔ  Ｃｏｎｎｅｃｔ」の場合は、宛先ＩＰアドレス２１５を、そうでない場合、ネクストホップ情報６０３記載のＩＰを用いて検索する。該当するエントリがなかった場合（Ｓ１２０７）、経路制御部３０５は、送信処理部に該当ＩＰへのＡＲＰの送信を指示し、アドレス解決が完了するまで待機する（Ｓ１４００）。エントリがあった場合（Ｓ１２０７）、もしくはアドレス解決が完了した場合、経路制御部３０５は、ＭＡＣアドレス７０３を取得し、それと宛先ＶＮＩでＭＡＣ学習テーブル８００を検索する。該当するエントリがなかった場合（Ｓ１３０２）、受信処理部３０４は、送信制御部にＡＲＰの送信を指示アドレス解決が完了するまで待機する（Ｓ１４００）。該当するエントリがあった場合は、受信処理部３０４は、出力先情報８０３を取得し、ユーザパケットの宛先ＭＡＣ２１３をその値に書き換え（Ｓ１３０３）、その後送信処理部３０６に出力先情報８０３から宛先ＶＮＩへのユーザパケットの送信処理を指示する（Ｓ１５００）。
【００５４】
次にエッジ装置３００Ａに着目して先ほどの図１、図２の動作を説明する。
【００５５】
ノード１０２Ａからノード１０２Ｃ宛のパケット（Ｐ１６０１）をインタフェース３０３Ａで受信したエッジ装置３００Ａは、受信処理部３０４に渡し、パケット受信処理を呼び出す。（Ｓ９０１）パケット受信処理の中で、インタフェース３０３Ａのインタフェース番号ＩＦ１をインタフェース情報テーブル４００上で検索し、エントリ４０５が該当する。（Ｓ９０２）インタフェース種別４０２が「ＶＸＬＡＮアクセス」のため、受信パケットをユーザパケットとして扱い、ＶＮＩグループ番号４０３およびＶＮＩ４０４を取り出し、ＶＮＩグループ番号４０３およびＶＮＩ４０４、受信パケット（Ｐ１６０２）を引数に中継処理（Ｓ１１００、Ｓ１１０１）を呼び出す。中継処理では、まず受信パケット２１８の宛先ＭＡＣアドレス２２０が自装置宛のＭＡＣ１か、確認する。（Ｓ１１０２）自装置宛であるため、次にパケットがＩＰパケットであることを確認し（Ｓ１１０４）、Ｌ３中継処理（Ｓ１２００、Ｓ１２０１）を呼び出す。エッジ装置３００ＡはＬ３処理の中で、ＶＮＩグループテーブル５００をＶＮＩ１で検索し、エントリ５０３からＶＮＩグループ番号５０１としてＶＮＩグループ１を取得する。（Ｓ１２０２、Ｓ１２０３）次に、ユーザパケット２１８から宛先ＩＰノードアドレス２１５の値としてＩＰ１０２Ｃを取り出し、フォワーディングテーブル６００内で検索する。（Ｓ１２０４）その結果、エントリ６９７が該当し、ネクストホップ情報６０３からネクストホップのＩＰアドレスであるＩＰ１０２Ｂと、ＶＮＩ番号６０４からネクストホップの属する仮想Ｌ２ネットワークを示すＶＮＩ２内にあることを確認する。（Ｓ１２０５）
次に、エッジ装置３００Ａの受信処理部３０４は取得したＶＮＩグループ１およびＩＰ１０２Ｂを端末情報テーブル７００内で検索する。（Ｓ１２０６）結果、ＩＰ１０２Ｂに対応するエントリがないため、アドレス解決が必要と判断し（Ｓ１２０７）、送信処理部３０６にＶＮＩ２上でＩＰ１０２Ｂに対するＡＲＰ送信を指示する。（Ｓ１４００、Ｓ１４０１）送信処理部３０６は、ＩＰ１０２Ｂをアドレス解決するため、ＶＸＬＡＮでカプセル化されたＡＲＰリクエストパケットＰ１６０２を生成し（Ｓ１４０２）、ネクストホップが属するＶＮＩ２内でブロードキャストするため、ＶＮＩ２のマルチキャストアドレス宛に送信する（Ｓ１４０３）。
【００５６】
送信したＡＲＰに対するリプライＰ１６０４をインタフェース３０３Ｂで受信するすると、受信処理部３０４に渡し、パケット受信処理を呼び出す。インタフェース情報テーブルの検索の結果（Ｓ９０２）、エントリ４０６が該当し、インタフェース３０３Ｂのインタフェース種別が「ＶＸＬＡＮトランク」と分かり（Ｓ９０３）、ＶＸＬＡＮデカプセル化処理が呼び出される。（Ｓ１０００、Ｓ１００１）パケット種別を確認し、ＶＸＬＡＮパケットのため（Ｓ１００２）、続けてＭＡＣ学習テーブルの更新（Ｓ１００３）、デカプセル化（Ｓ１００４）、中継処理（Ｓ１１００）が呼び出される。ＭＡＣ学習テーブルの更新（Ｓ１００３）では、宛先ＶＮＩ２１１よりＶＮＩ２、送信元ノードＭＡＣアドレス２１４よりＭＡＣ１０２Ｂ、送信元エッジ装置ＩＰアドレス２０９よりＩＰ３００Ｂを取得し、図９のエントリ８０５のようなエントリを登録する。中継処理を開始すると（Ｓ１１０１）、パケットの宛先ノードＭＡＣアドレスが自装置を指すＭＡＣ３００Ｂであることを確認する。（Ｓ１１０２）その後、パケットがＡＲＰリプライパケットであることを確認し（Ｓ１１０４）、ＡＲＰリプライパケットに記載されている、図８のエントリ７０５のようなＩＰ１０２Ｂと、ＭＡＣ１０２Ｂの組み合わせを端末情報テーブル７００に記録する。（Ｓ１１０５）。
【００５７】
端末情報テーブルが更新されたため中継処理にて、再度、端末情報テーブルの確認を行う。（Ｓ１２０６）学習したエントリ７０５が該当するため（Ｓ１２０７）、続いて宛先ＶＮＩであるＶＮＩ２と宛先ＭＡＣアドレスであるＭＡＣ１０２Ｂを、ＭＡＣ学習テーブル８００上で検索し（Ｓ１３０１）学習したエントリ８０５が該当する。（Ｓ１３０２）その後、パケットの宛先ＭＡＣアドレスをエントリ７０５から取得したＭＡＣ３００Ｂに書き換え、送信制御部３０６にパケット送信を指示する。（Ｓ１５００、Ｓ１５０１）送信制御３０６は、宛先エッジ装置ＩＰアドレスをＩＰ３００Ｂ、送信元エッジ装置ＩＰアドレスをＩＰ１０２Ａ、宛先ＶＮＩをＶＮＩ２、送信元ＶＮＩをＶＮＩ１とした拡張ＶＸＬＡＮパケットを生成し、送信する。
【００５８】
その後、ノードＡがノードＣに再度パケットＰ１６０９を送る場合には、エッジ装置３００Ａは、端末情報テーブル７００から、ＶＮＩグループ１およびＩＰ１０２Ｂに対するエントリ７０５を得ることができる。同様にＭＡＣ学習テーブル８００からも、ＭＡＣ１０２Ｂに対するエントリ８０５を得ることができるため、アドレス解決を行わず、パケットＰ１６１０を生成し送信する。
【００５９】
以上の動作を行うことによる効果は、エッジ装置３００ＡのＬ３中継に関するＭＡＣ学習テーブル８００の内容を削減できることである。エッジ装置３００Ａは、Ｌ３中継で必要になった場合のみ、ノード１０２Ｂがエッジ装置３００Ｂに接続されていることを学習することになる。仮想Ｌ２ネットワーク１０１Ｂに属する他のノード１００についてのエントリを学習することがなくなるため、エントリを削減できる。
【００６０】
次に、ノード１０２Ｂがエッジ装置３００Ｂからエッジ装置３００Ｃに移動した場合のパケットの流れを図１５に、シーケンス図を図１６に示す。エッジ装置３００ＡのＭＡＣ学習テーブルの初期状態を図１０に示す。
【００６１】
ノード１０２Ｂが移動し、エッジ装置３００Ｂから同一仮想Ｌ２ネットワーク１０１Ｂに属する他のエッジ装置３００Ｃに移動した場合、エッジ装置３００Ｃとノード１０２Ｂは、物理ネットワーク１０３Ｃを介して接続され、エッジ装置３００Ａ内のＭＡＣ学習テーブル８００で学習しているノード１０２Ｂに関するエントリが変更しなくてはならないという課題がある。ノード１０２Ｂに関するエントリが変更されない場合、エッジ装置３００Ａからノード１０２Ｂ宛のパケットをＬ３中継で中継する際に、移動前に接続していたエッジ装置３００Ｂに中継してしまう。このような状況は、ノード１０２Ｂが仮想マシンであり、ライブマイグレーションなどで仮想マシンを動作させる物理サーバが変わった場合などに起こる。
【００６２】
本実施例では、上記のような課題を解決する手段として、拡張ＶＸＬＡＮパケット２００に送信元のノード１０２のＭＡＣアドレスとＶＮＩを付与することで、拡張ＶＸＬＡＮパケット２００を受信したエッジ装置３００で、送信元のエッジ装置３００と送信元のノード１０２の対応を学習させる。
【００６３】
パケットＰ２００１〜Ｐ２００４は、エッジ装置３００Ａがノード１０２Ｂの移動を検知していない時点でのエッジ装置３００Ａのパケットの流れである。エッジ装置３００Ａは、移動したノード１０２Ｂからのパケットを中継することで、移動を検知し、ＭＡＣ学習テーブル８００を更新する。そのため、ノード１０２Ｂが移動してから、エッジ装置３００Ａを経由した中継を行うか、タイムアウト等でテーブルのエントリが削除されるまで、エッジ装置３００Ａ内のＭＡＣ学習テーブル８００は更新されない。この状況下で、ノード１０２Ａからノード１０２Ｂ宛のパケット（Ｐ２００１）を送信すると、エッジ装置３００Ａで拡張ＶＸＬＡＮパケットにカプセル化され、エッジ装置３００Ｂへと中継され（Ｐ２００２）、エッジ装置３００Ｂで通常のＶＸＬＡＮパケットに詰め替えられエッジ装置３００Ｃへ中継され（Ｐ２００３）、ノード１０２Ｂへと送信される。（Ｐ２００４）
パケットＰ２００５〜Ｐ２００７は、ノード１０２Ｂからノード１０２Ａ宛のパケットを送信した場合に流れるパケットである。エッジ装置３００Ｃが、ノード１０２Ｂから送信されたパケット（Ｐ２００５）を受信すると、拡張ＶＸＬＡＮパケットにカプセル化し、エッジ装置３００Ａへ中継する。（Ｐ２００６）エッジ装置３００Ａは、拡張ＶＸＬＡＮパケットを受信すると、ＭＡＣ学習テーブル８００を更新し、デカプセル化を行い、ノード１０２Ａへ中継する。（Ｐ２００７）ＭＡＣ学習テーブル８００の更新により、ノード１０２Ｂとエッジ装置３００Ｃを対応付けることができる。
【００６４】
テーブル更新後、ノード１０２Ｂからノード１０２Ｃ宛のパケット（Ｐ２００８）を送信すると、エッジ装置３００Ａから、拡張ＶＸＬＡＮパケットとしてエッジ装置３００Ｃへと中継され（Ｐ２００９）、ノード１０２Ｂへと中継される。（Ｐ２０１０）
パケットＰ２００６を受信した際のエッジ装置３００Ａの動作について説明する。エッジ装置３００Ａは、パケット受信処理を開始し（９０１）、受信インタフェースの情報をインタフェース情報テーブル４００で確認し（Ｓ９０２、Ｓ９０３）、ＶＸＬＡＮデカプセル化処理を開始する。（Ｓ１０００、Ｓ１００１）受信パケットのパケット種別を確認し、拡張ＶＸＬＡＮであることが分かる。（Ｓ１００２）次にＭＡＣ学習テーブル８００に対して、ＶＮＩ番号８０１が受信パケットの送信元ＶＮＩ２１２であるＶＮＩ２を、ＭＡＣアドレス８０２が送信元ノードＭＡＣアドレス２１６であるＭＡＣ１０２Ｂを、出力先情報８０３が送信元エッジ装置ＩＰアドレス２０９である、ＩＰ３００Ｃを設定したエントリを登録する。同じＶＮＩ番号８０１およびＭＡＣアドレス８０２のエントリ８０５があるため、そのエントリが上書きされる。その後、拡張ＶＸＬＡＮパケットをデカプセル化して、Ｉｎｎｅｒパケット２０２を取り出す。（Ｓ１００４）この際、送信元ノードＭＡＣアドレスを自装置のＭＡＣ２に書き換える。その後中継処理を呼び出す。（Ｓ１１００、Ｓ１１０１）宛先ＭＡＣアドレスが自装置のものか確認を行い（Ｓ１１０２）、他宛であるのでＬ２中継処理を行い（Ｓ１１０３）、ノード１０２Ａと接続するインタフェース３０３Ａより送信する。
【００６５】
パケットＰ２００２を受信した際のエッジ装置３００Ｂについても前述したパケットＰ２００６を受信した際のエッジ装置３００Ａと同様の動作を行い、Ｌ２中継処理を呼び出す（Ｓ１１０３）。ここで、ＭＡＣ学習テーブルに記載されている出力先情報８０３がエッジ装置３００ＣのＩＰアドレスであるＩＰ３００Ｃを指しているため、ＩＰ３００Ｃに通常のＶＸＬＡＮとして、中継する。
【００６６】
この動作の効果は、ノード１０２の接続するエッジ装置３００が変更した場合でも、ノード１０２がパケットを送信することで、それを受信したエッジ装置３００のＭＡＣ学習テーブル７００の情報を更新することである。
【００６７】
本実施例の一形態によると、例えば、エッジ装置間の処理で仮想Ｌ２ネットワーク間のＬ３中継を行うことにより、Ｌ３中継装置を追加してＬ３中継処理を行う場合とくらべ、中継時の遅延を抑えられる。
【００６８】
本実施例の一形態によると、例えば、各エッジ装置で記憶するＭＡＣ学習テーブルのエントリは、宛先となるノードに関するものを管理すればよいので、ＭＡＣ学習テーブル７００のエントリ数が削減される。
【００６９】
本実施例の一形態によると、例えばノードが、移動した場合、例えば、ノードが通信中にライブマイグレーション等で接続するエッジ装置を変更した場合でも、通信が可能であり、移動したノードがＬ３中継を行うことで、エッジ装置のＭＡＣ学習テーブルを更新することが可能となる。
【符号の説明】
【００７０】
５００  ＷＡＮ
１００Ａ、１００Ｂ  物理ネットワーク
１０１Ａ、１０１Ｂ  仮想Ｌ２ネットワーク
１０２Ａ、１０２Ｂ、１０２Ｃ  ノード
３０１  制御部
３０２  テーブル群
３０３Ａ、３０３Ｂ  インタフェース
３０４  受信処理部
３０５  経路制御部
３０６  送信処理部
【図１】
2017069657.tif 000003
【図２】
2017069657.tif 000004
【図３】
2017069657.tif 000005
【図４】
2017069657.tif 000006
【図５】
2017069657.tif 000007
【図６】
2017069657.tif 000008
【図７】
2017069657.tif 000009
【図８】
2017069657.tif 000010
【図９】
2017069657.tif 000011
【図１０】
2017069657.tif 000012
【図１１】
2017069657.tif 000013
【図１２】
2017069657.tif 000014
【図１３】
2017069657.tif 000015
【図１４】
2017069657.tif 000016
【図１５】
2017069657.tif 000017
【図１６】
2017069657.tif 000018
【図１７】
2017069657.tif 000019