(57)【特許請求の範囲】
【請求項１】
マッピングサーバ装置が、外部ネットワークと接続する第１の転送装置を経由して、外部からの経路情報を取得する工程と、
前記マッピングサーバ装置が、前記経路情報と前記第１の転送装置のアドレスとを対応付けたマッピング情報を生成する工程と、
第２の転送装置が、前記マッピング情報に基づいて、受信したパケットの宛先アドレスに相当する経路情報に対応付けられた前記第１の転送装置のアドレスを検索する工程と、
前記第２の転送装置が、前記受信パケットをカプセル化して前記第１の転送装置のアドレスへ送出する工程と、を含む、
ことを特徴とする、パケット転送方法。
【請求項２】
前記第１の転送装置のアドレスを検索する工程において、宛先プレフィックスが同一である複数のマッピング情報の中から、各マッピング情報に付与された優先度を用いて、一のマッピング情報を選択する工程を含む、
ことを特徴とする、請求項１に記載のパケット転送方法。
【請求項３】
前記マッピング情報の選択工程において、各マッピング情報に付与された優先度の比に従って、一のマッピング情報を選択する、
ことを特徴とする、請求項２に記載のパケット転送方法。
【請求項４】
受信パケットのヘッダに含まれる情報を用いてハッシュ値を計算する工程を含み、
前記マッピング情報の選択工程において、前記ハッシュ値を用いる、
ことを特徴とする、請求項２または３に記載のパケット転送方法。
【請求項５】
マッピングサーバ装置が、外部ネットワークと接続する第１の転送装置を経由して、外部からの経路情報を取得する工程と、
前記マッピングサーバ装置が、前記経路情報と前記第１の転送装置のアドレスとを対応付けたマッピング情報を生成する工程と、
制御装置が、前記マッピング情報に基づいて、受信したパケットの宛先アドレスに相当する経路情報に対応付けられた前記第１の転送装置の識別情報を検索する工程と、
前記制御装置が、第２の転送装置から前記第１の転送装置までのパスを計算する工程と、
前記第２の転送装置が、前記計算されたパスに沿って前記パケットと同一宛先を持つパケットを転送する工程と、を含む、
ことを特徴とする、パケット転送方法。
【請求項６】
前記第１の転送装置の識別情報を検索する工程において、宛先プレフィックスが同一である複数のマッピング情報の中から、各マッピング情報に付与された優先度を用いて、一のマッピング情報を選択する工程を含む、
ことを特徴とする、請求項５に記載のパケット転送方法。
【請求項７】
前記マッピング情報の選択工程において、各マッピング情報に付与された優先度の比に従って、一のマッピング情報を選択する、
ことを特徴とする、請求項６に記載のパケット転送方法。
【請求項８】
受信パケットのヘッダに含まれる情報を用いてハッシュ値を計算する工程を含み、
前記マッピング情報の選択工程において、前記ハッシュ値を用いる、
ことを特徴とする、請求項６または７に記載のパケット転送方法。
【請求項９】
外部ネットワークと接続する第１の転送装置を経由して、外部からの経路情報を取得する経路情報取得部と、
前記経路情報と前記第１の転送装置のアドレスとを対応付けたマッピング情報を生成するマッピング情報作成部と、を有するマッピングサーバ装置と、
前記マッピング情報に基づいて、受信したパケットの宛先アドレスに相当する経路情報に対応付けられた前記第１の転送装置のアドレスを検索し、前記受信パケットをカプセル化して前記第１の転送装置のアドレスへ送出する第２の転送装置と、を備える、
ことを特徴とするネットワークシステム。
【請求項１０】
前記第２の転送装置は、前記第１の転送装置のアドレスを検索する際、宛先プレフィックスが同一である複数のマッピング情報の中から、各マッピング情報に付与された優先度を用いて、一のマッピング情報を選択する、
ことを特徴とする、請求項９に記載のネットワークシステム。
【請求項１１】
前記第２の転送装置は、各マッピング情報に付与された優先度の比に従って、一のマッピング情報を選択する、
ことを特徴とする、請求項１０に記載のネットワークシステム。
【請求項１２】
前記第２の転送装置は、受信パケットのヘッダに含まれる情報を用いてハッシュ値を計算し、宛先プレフィックスが同一である複数のマッピング情報の中から、該ハッシュ値を用いて、一のマッピング情報を選択する、
ことを特徴とする、請求項１０または１１に記載のネットワークシステム。
【請求項１３】
外部ネットワークと接続する第１の転送装置を経由して、外部からの経路情報を取得する経路情報取得部と、
前記経路情報と前記第１の転送装置のアドレスとを対応付けたマッピング情報を生成するマッピング情報作成部と、を有するマッピングサーバ装置と、
前記マッピング情報に基づいて、第２の転送装置が受信したパケットの宛先アドレスに対応する前記第１の転送装置の識別情報を検索し、前記第２の転送装置から前記第１の転送装置までのパスを計算する制御装置と、
前記計算したパスに沿って前記パケットと同一宛先を持つパケットを転送する転送装置と、を備える、
ことを特徴とするネットワークシステム。
【請求項１４】
前記制御装置は、前記第１の転送装置の識別情報を検索する際、宛先プレフィックスが同一である複数のマッピング情報の中から、各マッピング情報に付与された優先度を用いて、一のマッピング情報を選択する、
ことを特徴とする、請求項１３に記載のネットワークシステム。
【請求項１５】
前記制御装置は、各マッピング情報に付与された優先度の比に従って、一のマッピング情報を選択する、
ことを特徴とする、請求項１４に記載のネットワークシステム。
【請求項１６】
前記制御装置は、受信パケットのヘッダに含まれる情報を用いてハッシュ値を計算し、宛先プレフィックスが同一である複数のマッピング情報の中から、該ハッシュ値を用いて、一のマッピング情報を選択する、
ことを特徴とする、請求項１４または１５に記載のネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願についての記載）
本発明は、日本国特許出願：特願２０１０−２９００３８号（２０１０年１２月２７日出願）ならびに、特願２０１１−１１７１２１号（２０１１年５月２５日出願）の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、マッピングサーバ装置、ネットワークシステム、パケット転送方法およびプログラムに関し、特に、ドメイン間にまたがるパケット転送を行うルータ装置を備えたネットワークシステム、かかるシステムにおけるマッピングサーバ装置、パケット転送方法およびプログラムに関する。
【背景技術】
【０００２】
インターネットは、複数の組織がそれぞれ管理するネットワークが相互に接続することで構成されている。各組織が管理するネットワークを自律システム（ＡＳ：Ａｕｔｏｎｏｍｏｕｓ  Ｓｙｓｔｅｍ）という。各ＡＳ間では、非特許文献１に記載された経路制御プロトコルであるＢＧＰ（Ｂｏｒｄｅｒ  Ｇａｔｅｗａｙ  Ｐｒｏｔｏｃｏｌ）を用いて、自身が保有するアドレスブロックに関する経路情報を相互に交換する。一般に、各ＡＳは、複数のルータ装置を備えている。各ＡＳを構成するすべてのルータ装置の間で、他のＡＳから受け取った経路情報を共有する必要がある。
【０００３】
図１６は、外部ネットワークと接続する内部ネットワークを一例として示す図である。図１６のネットワークにおいて、例えば、ルータ装置Ｒ２１は、外部ネットワークＮ１から経路情報を受け取った場合には、その経路情報をルータ装置Ｒ２２〜Ｒ２６に通知する必要がある。なお、ＡＳ内部のルータ装置で情報交換時に用いられるＢＧＰをｉＢＧＰ（ｉｎｔｅｒｎａｌ  ＢＧＰ）といい、ＡＳ外部のルータ装置との情報交換に用いられるＢＧＰをｅＢＧＰ（ｅｘｔｅｒｎａｌ  ＢＧＰ）という。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Ｙ．Ｒｅｋｈｔｅｒ，Ｔ．Ｌｉ  ａｎｄ  Ｓ．Ｈａｒｅｓ，“Ａ  Ｂｏｒｄｅｒ  Ｇａｔｅｗａｙ  Ｐｒｏｔｏｃｏｌ  ４（ＢＧＰ−４），”ＲＦＣ  ４２７１，Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ，２００６．
【非特許文献２】Ｎｉｃｋ  ＭｃＫｅｏｗｎ  ｅｔ  ａｌ．，“ＯｐｅｎＦｌｏｗ：Ｅｎａｂｌｉｎｇ  Ｉｎｎｏｖａｔｉｏｎ  ｉｎ  Ｃａｍｐｕｓ  Ｎｅｔｗｏｒｋｓ，”Ｍａｒｃｈ  １４，２００８，［平成２３年５月２５日検索］，インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｏｐｅｎｆｌｏｗｓｗｉｔｃｈ．ｏｒｇ／／ｄｏｃｕｍｅｎｔｓ／ｏｐｅｎｆｌｏｗ−ｗｐ−ｌａｔｅｓｔ．ｐｄｆ＞
【非特許文献３】“ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  ｖｅｒｓｉｏｎ  １．１．０（Ｗｉｒｅ  Ｐｒｏｔｏｃｏｌ  ０ｘ０２），”Ｆｅｂｒｕａｒｙ  ２８，２０１１，［平成２３年５月２５日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｏｐｅｎｆｌｏｗｓｗｉｔｃｈ．ｏｒｇ／ｄｏｃｕｍｅｎｔｓ／ｏｐｅｎｆｌｏｗ−ｓｐｅｃ−ｖ１．１．０．ｐｄｆ＞
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記の非特許文献１−３の各開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明者によってなされたものである。
【０００６】
インターネットの拡大は続いており、ドメイン間ルーティングにおける経路情報の数は、年々増加している。現状のドメイン間ルーティングでは、ＡＳ内部の全ルータ装置が外部からの全経路情報を保持する必要がある。したがって、内部ルータ装置が増加した分の経路情報を格納できない場合には、内部ルータ装置のメモリを増設するか、または、内部ルータ装置をより高性能な装置に置き換える必要がある。
【０００７】
そこで、ＡＳ内部の各ルータ装置に外部経路を持たせることなく、ドメイン間にまたがるパケット転送を実現することが課題となる。本発明の目的は、かかる課題を解決するマッピングサーバ装置、パケット転送方法およびプログラムを提供することにある。
【課題を解決するための手段】
【０００８】
本発明の第１の視点に係るマッピングサーバ装置は、
自律システム（ＡＳ：Ａｕｔｏｎｏｍｏｕｓ  Ｓｙｓｔｅｍ）内部のルータ装置を経由して、他のＡＳにおける経路情報を取得する経路情報取得部と、
前記経路情報と前記ルータ装置のアドレスとを対応付けたマッピング情報を生成するマッピング情報作成部と、を備えている。
【０００９】
本発明の第２の視点に係るパケット転送方法は、
マッピングサーバ装置が、自律システム（ＡＳ：Ａｕｔｏｎｏｍｏｕｓ  Ｓｙｓｔｅｍ）内部のルータ装置を経由して、他のＡＳにおける経路情報を取得する工程と、
前記経路情報と前記ルータ装置のアドレスとを対応付けたマッピング情報を生成する工程と、を含む。
【００１０】
本発明の第３の視点に係るプログラムは、
自律システム（ＡＳ：Ａｕｔｏｎｏｍｏｕｓ  Ｓｙｓｔｅｍ）内部のルータ装置を経由して、他のＡＳにおける経路情報を取得する処理と、
前記経路情報と前記ルータ装置のアドレスとを対応付けたマッピング情報を生成する処理と、をコンピュータに実行させる。
【００１１】
本発明の第４の視点に係るパケット転送方法は、
マッピングサーバ装置が、外部ネットワークと接続する転送装置を経由して、外部からの経路情報を取得する工程と、
前記マッピングサーバ装置が、前記経路情報と前記転送装置の識別情報とを対応付けたマッピング情報を生成する工程と、を含む。
本発明の第５の視点に係るパケット転送方法は、
マッピングサーバ装置が、外部ネットワークと接続する第１の転送装置を経由して、外部からの経路情報を取得する工程と、
前記マッピングサーバ装置が、前記経路情報と前記第１の転送装置のアドレスとを対応付けたマッピング情報を生成する工程と、
第２の転送装置が、前記マッピング情報に基づいて、受信したパケットの宛先アドレスに相当する経路情報に対応付けられた前記第１の転送装置のアドレスを検索する工程と、
前記第２の転送装置が、前記受信パケットをカプセル化して前記第１の転送装置のアドレスへ送出する工程と、を含む。
本発明の第６の視点に係るパケット転送方法は、
マッピングサーバ装置が、外部ネットワークと接続する第１の転送装置を経由して、外部からの経路情報を取得する工程と、
前記マッピングサーバ装置が、前記経路情報と前記第１の転送装置のアドレスとを対応付けたマッピング情報を生成する工程と、
制御装置が、前記マッピング情報に基づいて、受信したパケットの宛先アドレスに相当する経路情報に対応付けられた前記第１の転送装置の識別情報を検索する工程と、
前記制御装置が、第２の転送装置から前記第１の転送装置までのパスを計算する工程と、
前記第２の転送装置が、前記計算されたパスに沿って前記パケットと同一宛先を持つパケットを転送する工程と、を含む。
【００１２】
本発明の第７の視点に係るマッピングサーバ装置は、
外部ネットワークと接続する転送装置を経由して、外部からの経路情報を取得する経路情報取得部と、
前記経路情報と前記転送装置の識別情報とを対応付けたマッピング情報を生成するマッピング情報作成部と、を備える。
本発明の第８の視点に係るネットワークシステムは、
外部ネットワークと接続する第１の転送装置を経由して、外部からの経路情報を取得する経路情報取得部と、
前記経路情報と前記第１の転送装置のアドレスとを対応付けたマッピング情報を生成するマッピング情報作成部と、を有するマッピングサーバ装置と、
前記マッピング情報に基づいて、受信したパケットの宛先アドレスに相当する経路情報に対応付けられた前記第１の転送装置のアドレスを検索し、前記受信パケットをカプセル化して前記第１の転送装置のアドレスへ送出する第２の転送装置と、を備える。
本発明の第９の視点に係るネットワークシステムは、
外部ネットワークと接続する第１の転送装置を経由して、外部からの経路情報を取得する経路情報取得部と、
前記経路情報と前記第１の転送装置のアドレスとを対応付けたマッピング情報を生成するマッピング情報作成部と、を有するマッピングサーバ装置と、
前記マッピング情報に基づいて、第２の転送装置が受信したパケットの宛先アドレスに対応する前記第１の転送装置の識別情報を検索し、前記第２の転送装置から前記第１の転送装置までのパスを計算する制御装置と、
前記計算したパスに沿って前記パケットと同一宛先を持つパケットを転送する転送装置と、を備える。
【発明の効果】
【００１３】
本発明に係るマッピングサーバ装置、パケット転送方法およびプログラムによると、ＡＳ内部の各ルータ装置に外部経路を持たせることなく、ドメイン間にまたがるパケット転送を実現することができる。
【図面の簡単な説明】
【００１４】
【図１】第１の実施形態における内部ネットワークを示す図である。
【図２】第１の実施形態における外部接続ルータ装置の構成を示すブロック図である。
【図３】一般的なルータ装置が保有する経路表を示す図である。
【図４】第１の実施形態におけるマッピングルータ装置の構成を示すブロック図である。
【図５】第１の実施形態におけるマッピング対応表を示す図である。
【図６】第１の実施形態におけるマッピングサーバ装置の構成を示すブロック図である。
【図７】第１の実施形態におけるマッピング情報の登録手順を示すフローチャートである。
【図８】ＢＧＰメッセージにおけるＢＧＰヘッダの各フィールドの構成を示す図である。
【図９】ＢＧＰメッセージにおけるＵＰＤＡＴＥメッセージの各フィールドの構成を示す図である。
【図１０】ＢＧＰメッセージにおけるＰＡＴＨ属性を模式的に示す図である。
【図１１】第１の実施形態におけるＢＧＰ識別子とＬｏｃａｔｏｒアドレスとの対応表を示す図である。
【図１２】第１の実施形態におけるマッピングを用いたパケット転送手順を示すフローチャートである。
【図１３】第２の実施形態におけるマッピング対応表を示す図である。
【図１４】第２の実施形態の説明のために用いるＢＧＰメッセージにおけるＰＡＴＨ属性を模式的に示す図である。
【図１５】第２の実施形態におけるマッピングを用いたパケット転送手順を示すフローチャートである。
【図１６】外部ネットワークと接続する内部ネットワークを示す図である。
【図１７】第３の実施形態における内部ネットワークの例を示す図である。
【図１８】オープンフロースイッチにおけるフローテーブルを示す図である。
【図１９】Ｅｔｈｅｒｎｅｔ（登録商標）／ＩＰ／ＴＣＰパケットのヘッダを示す図である。
【図２０】オープンフローのフローテーブル中に指定可能なアクションとその説明を示す図である。
【図２１】オープンフローのアクションで送出先として指定可能な仮想ポートとその説明を示す図である。
【図２２】第３の実施形態におけるマッピング情報の登録手順を示すフローチャートである。
【図２３】第３の実施形態におけるマッピングを用いたパケット転送手順を示すフローチャートである。
【発明を実施するための形態】
【００１５】
はじめに、本発明の概要について説明する。なお、この概要に付記する図面参照符号は、専ら理解を助けるための例示であり、本発明を図示の態様に限定することを意図するものではない。
【００１６】
本発明は、内部ネットワークの各ルータ装置において、外部経路を持つことなく適切な外部宛先に向けたパケット転送を実現するものである。そこで、本発明においては、内部ネットワークの境界にあるルータ装置がカプセル化を行う。また、カプセル化されたパケットの宛先アドレスには、内部ネットワーク内のアドレスが付与される。これにより、内部ネットワークの各ルータ装置が外部経路を持つことなく、ドメイン間のパケット転送を実現する。
【００１７】
ここで、カプセル化されたパケットの宛先アドレスには、適切なアドレスを選択する必要がある。図１は、本発明の一実施形態における内部ネットワーク（Ｎ４）を一例として示す図である。図１を参照すると、例えば、端末（Ｔ３１）から外部ネットワーク（Ｎ３）に接続された端末（Ｔ１３）へパケットを送る場合には、マッピングルータ装置（Ｒｍ２５）が端末（Ｔ３１）から受け取ったパケットをカプセル化する。カプセル化されたパケットの宛先として、外部接続ルータ装置（Ｒｅ２１）または外部接続ルータ装置（Ｒｅ２２）のいずれかを選ぶ必要がある。このとき、外部の宛先アドレスに対応して、内部ネットワーク（Ｎ４）の出口に配置されたルータ装置のアドレスを検索できるようにする必要がある。外部の宛先アドレスと内部ネットワーク（Ｎ４）の出口に配置されたルータ装置のアドレスとの対応情報をマッピング情報と呼ぶ。マッピング情報は、図１のマッピングサーバ装置（Ｓｍ）に設けられたデータベースに格納される。マッピングルータ装置（Ｒｍ２５）は、パケット受信時において、カプセル化の際に付与すべきアドレスを、マッピングサーバ装置（Ｓｍ）へ問い合わせることによって決定する。外部接続ルータ装置（Ｒｅ２１，Ｒｅ２２）は、ｅＢＧＰで受け取った経路情報をマッピングサーバ装置（Ｓｍ）に送る。マッピングサーバ装置（Ｓｍ）は、ｅＢＧＰで受け取った経路情報と、その経路情報の送信元である外部接続ルータ装置（Ｒｅ２１，Ｒｅ２２）のアドレスとから、マッピング情報を生成し、自身のデータベースへ格納する。
【００１８】
本発明において、下記の形態が可能である。
［形態１］
上記第１の視点に係るマッピングサーバ装置のとおりである。
［形態２］
前記マッピング情報生成部は、前記経路情報から優先度を算出して前記マッピング情報に付与するようにしてもよい。
［形態３］
上記のマッピングサーバ装置と、
他のＡＳを宛先アドレスとするパケットを受信すると、前記マッピング情報に基づいて、該宛先アドレスに対応するルータ装置のアドレスを検索し、該受信パケットをカプセル化して検索したアドレスへ送出するルータ装置と、を備えているネットワークシステムが提供される。
［形態４］
前記ルータ装置は、各マッピング情報に付与された優先度に従って、前記宛先アドレスに対応するルータ装置のアドレスを選択するようにしてもよい。
［形態５］
上記第２の視点に係るパケット転送方法のとおりである。
［形態６］
前記マッピングサーバ装置が、前記経路情報から優先度を算出して前記マッピング情報に付与する工程を含んでいてもよい。
［形態７］
ルータ装置が、他のＡＳを宛先アドレスとするパケットを受信すると、前記マッピング情報に基づいて、該宛先アドレスに対応するルータ装置のアドレスを検索する工程と、
前記受信パケットをカプセル化して検索したアドレスへ送出する工程と、を含んでいてもよい。
［形態８］
前記ルータ装置が、各マッピング情報に付与された優先度に従って、前記宛先アドレスに対応するルータ装置のアドレスを選択する工程を含んでいてもよい。
［形態９］
上記第３の視点に係るプログラムのとおりである。
［形態１０］
経路制御プロトコルを用いて経路情報を取得する経路情報取得部と、
前記経路情報からマッピング情報を生成するマッピング情報作成部と、を備えているマッピングサーバ装置が提供される。
［形態１１］
経路情報からマッピング情報を生成するマッピング情報作成部を有するマッピングサーバ装置を備え、
受信したパケットの宛先アドレスに対応するＬｏｃａｔｏｒアドレスを前記マッピング情報から検索するルーティング処理部と、
前記受信パケットをカプセル化するとともに、カプセル化したパケットの宛先アドレスを検索で得られたＬｏｃａｔｏｒアドレスとするトンネル処理部とを有するルータ装置を備えているネットワークシステムが提供される。
［形態１２］
経路情報からマッピング情報を生成するマッピング情報生成ステップと、
受信したパケットの宛先アドレスに対応するＬｏｃａｔｏｒアドレスをマッピング情報から検索する検索ステップと、
前記受信パケットをカプセル化し、前記ステップの検索で得られたＬｏｃａｔｏｒアドレスをカプセル化したパケットの宛先アドレスとするカプセル化ステップと、を含むパケット転送方法が提供される。
［形態１３］
前記経路情報を、経路制御プロトコルを用いて取得する経路情報取得ステップを含んでいてもよい。
［形態１４］
前記マッピング情報生成ステップにおいて、前記経路情報取得ステップでの経路情報の送信元のルータ装置に関する情報から、マッピング情報中のＬｏｃａｔｏｒアドレスを決定するようにしてもよい。
［形態１５］
前記ルータ装置に関する情報は、ルータ装置が有するアドレスであってもよい。
［形態１６］
前記ルータ装置に関する情報は、ルータ装置を識別するための識別子であってもよい。
［形態１７］
前記マッピング情報生成ステップにおいて、前記経路情報中の次転送先を表す情報からマッピング情報中のＬｏｃａｔｏｒアドレスを決定するようにしてもよい。
［形態１８］
前記マッピング情報生成ステップにおいて、マッピング情報毎に付与する優先度を経路情報から算出するようにしてもよい。
［形態１９］
前記カプセル化ステップにおいて、マッピング情報毎に付与された優先度に基づいてＬｏｃａｔｏｒアドレスを選択するようにしてもよい。
【００１９】
本発明において、さらに、下記の形態が可能である。
［形態２０］
上記第４の視点に係るパケット転送方法のとおりである。
［形態２１］
前記マッピングサーバ装置が、前記経路情報から優先度を算出して前記マッピング情報に付与する工程を含んでいてもよい。
［形態２２］
前記転送装置の識別情報は転送装置のアドレスであり、
第１の転送装置が、前記マッピング情報に基づいて、受信したパケットの宛先アドレスに対応する第２の転送装置のアドレスを検索する工程と、
前記第１の転送装置が、前記受信パケットをカプセル化して前記第２の転送装置のアドレスへ送出する工程と、を含んでいてもよい。
［形態２３］
制御装置が、前記マッピング情報に基づいて、受信したパケットの宛先アドレスに対応する第２の転送装置の識別情報を検索する工程と、
前記制御装置が、第１の転送装置から第２の転送装置までのパスを計算する工程と、
前記第１の転送装置が、前記計算されたパスに沿って前記パケットと同一宛先を持つパケットを転送する工程と、を含んでいてもよい。
［形態２４］
前記第１の転送装置が前記第２の転送装置のアドレスを検索する工程、または、前記制御装置が前記第２の転送装置の識別情報を検索する工程において、宛先プレフィックスが同一である複数のマッピング情報の中から、各マッピング情報に付与された優先度を用いて、一のマッピング情報を選択する工程を含んでいてもよい。
［形態２５］
前記マッピング情報の選択工程において、各マッピング情報に付与された優先度の比に従って、一のマッピング情報を選択するようにしてもよい。
［形態２６］
受信パケットのヘッダに含まれる情報を用いてハッシュ値を計算する工程を含み、
前記マッピング情報の選択工程において、前記ハッシュ値を用いるようにしてもよい。
［形態２７］
上記第５の視点に係るマッピングサーバ装置のとおりである。
［形態２８］
前記マッピング情報作成部は、前記経路情報から優先度を算出して前記マッピング情報に付与するようにしてもよい。
［形態２９］
前記転送装置の識別情報は転送装置のアドレスであり、
上記のマッピングサーバ装置と、
前記マッピング情報に基づいて、受信したパケットの宛先アドレスに対応する第２の転送装置のアドレスを検索し、前記受信パケットをカプセル化して第２の転送装置のアドレスへ送出する第１の転送装置と、を備えたネットワークシステムが提供される。
［形態３０］
前記第１の転送装置は、前記第２の転送装置のアドレスを検索する際、宛先プレフィックスが同一である複数のマッピング情報の中から、各マッピング情報に付与された優先度を用いて、一のマッピング情報を選択するようにしてもよい。
［形態３１］
前記第１の転送装置は、各マッピング情報に付与された優先度の比に従って、一のマッピング情報を選択するようにしてもよい。
［形態３２］
前記第１の転送装置は、受信パケットのヘッダに含まれる情報を用いてハッシュ値を計算し、宛先プレフィックスが同一である複数のマッピング情報の中から、該ハッシュ値を用いて、一のマッピング情報を選択するようにしてもよい。
［形態３３］
上記のマッピングサーバ装置と、
前記マッピング情報に基づいて、第１の転送装置が受信したパケットの宛先アドレスに対応する第２の転送装置の識別情報を検索し、第１の転送装置から第２の転送装置までのパスを計算する制御装置と、
前記計算したパスに沿って前記パケットと同一宛先を持つパケットを転送する転送装置と、を備えたネットワークシステムが提供される。
［形態３４］
前記制御装置は、前記第２の転送装置の識別情報を検索する際、宛先プレフィックスが同一である複数のマッピング情報の中から、各マッピング情報に付与された優先度を用いて、一のマッピング情報を選択するようにしてもよい。
［形態３５］
前記制御装置は、各マッピング情報に付与された優先度の比に従って、一のマッピング情報を選択するようにしてもよい。
［形態３６］
前記制御装置は、受信パケットのヘッダに含まれる情報を用いてハッシュ値を計算し、宛先プレフィックスが同一である複数のマッピング情報の中から、該ハッシュ値を用いて、一のマッピング情報を選択するようにしてもよい。
【００２０】
（実施形態１）
第１の実施形態に係るネットワークシステムについて、図面を参照して説明する。
【００２１】
図２は、本実施形態における外部接続ルータ装置Ｒｅの構成を一例として示すブロック図である。以下では、図１の外部接続ルータ装置Ｒｅ２１，Ｒｅ２２を、外部接続ルータ装置Ｒｅと総称する。図２を参照すると、外部接続ルータ装置Ｒｅは、経路制御部１１、パケット転送部１２、トンネル終端部１３およびネットワークインタフェース２１〜２ｎを備えている。
【００２２】
経路制御部１１は、経路情報交換部１１１、経路計算部１１２、および、経路情報送信部１１３を備えている。経路情報交換部１１１は、ＢＧＰ等の経路制御プロトコルを使用して、隣接ルータ装置との間で経路情報を交換する。経路情報交換部１１１は、収集した経路情報を経路計算部１１２および経路情報送信部１１３に渡す。経路計算部１１２は、使用している経路制御プロトコル毎に定められている経路計算を行い、経路表１２２に経路情報の登録を行う。経路情報送信部１１３は、経路情報交換部１１１から送られた経路情報をマッピングサーバ装置に通知する。
【００２３】
パケット転送部１２は、ルーティング処理部１２１および経路表１２２を備えている。図３は、経路表１２２の構成を一例として示す図である。図３を参照すると、経路表は、宛先、プレフィックス長、次転送先およびインタフェースで一組となる経路情報を格納したテーブルである。図３は、ＩＰｖ４の場合の例を示しているが、ＩＰｖ６の場合にも、経路表１２２は同様なエントリを持つテーブルとなる。ルーティング処理部１２１は、各ネットワークインタフェース２１〜２ｎから受信したパケットのヘッダ部分にある宛先アドレスのフィールドを参照し、経路表１２２を用いて、次転送先アドレスとインタフェースを検索する。ルーティング処理部１２１は、検索結果のインタフェース経由で検索結果の次転送先アドレスのルータ装置に対して、受信したパケットを送出する。
【００２４】
トンネル終端部１３は、パケットの宛先が外部接続ルータ装置Ｒｅのアドレスである場合、パケットのカプセル化を解除してパケット転送部１２に送る。
【００２５】
図４は、マッピングルータ装置Ｒｍの構成を示すブロック図である。以下では、図１のマッピングルータ装置Ｒｍ２５，Ｒｍ２６を、マッピングルータ装置Ｒｍと総称する。図４を参照すると、本実施形態のマッピングルータ装置Ｒｍは、マッピング管理部１４、パケット転送部１２、トンネル処理部１６およびネットワークインタフェース２１〜２ｎを備えている。
【００２６】
トンネル処理部１６、マッピング管理部１４およびルーティング処理部１２１を除く、各部の動作は、図２における外部接続ルータ装置Ｒｅの各部と同一である。ルーティング処理部１２１は、受信したパケットがマッピング対象である場合には、パケットの宛先をＩＤとして対応するＬｏｃａｔｏｒアドレスをマッピング対応表１４２から検索し、そのパケットを検索したＬｏｃａｔｏｒまでトンネルで送るようトンネル処理部１６へと指示を出す。一方、パケットがマッピング対象ではない場合には、ルーティング処理部１２１は、通常のパケット転送処理を行う。
【００２７】
マッピング管理部１４は、マッピング情報問い合わせ部１４１およびマッピング対応表１４２を備えている。マッピング対応表１４２は、ＩＤアドレスとＬｏｃａｔｏｒアドレスの組を管理するテーブルである。
【００２８】
図５は、マッピング対応表１４２を一例として示す図である。図５を参照すると、マッピング対応表１４２は、ＩＤとプレフィックス長およびＬｏｃａｔｏｒアドレスで一組となるマッピング情報を複数格納している。例えば、宛先が１９２．１６８．１．１のアドレスは、２４ビットでマスクすると、図５のマッピング対応表１４２の１番目のエントリにマッチする。すなわち、この場合のＬｏｃａｔｏｒアドレスは、１７２．１６．１．２５４となる。一方、宛先が１９２．１６８．１０．１のアドレスの場合、図５のマッピング対応表１４２の２番目、３番目の両エントリにマッチする。しかし、このときプレフィックス長の一番長い３番目のエントリが採用され、Ｌｏｃａｔｏｒアドレスは１７２．１６．１．２となる。このように、宛先アドレスをＩＤとして検索を行う処理は、インターネットプロトコル（ＩＰ：Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）の経路表における最長一致検索（ＬＰＭ：Ｌｏｎｇｅｓｔ  Ｐｒｅｆｉｘ  Ｍａｔｃｈ）のアドレス検索処理と同様な処理である。
【００２９】
マッピング情報問い合わせ部１４１は、ルーティング処理部１２１からの検索に対して、マッピング対応表１４２に該当するエントリがない場合には、マッピングサーバ装置Ｓｍにマッピング情報の問い合わせを行う。
【００３０】
トンネル処理部１６は、パケットを指定されたＬｏｃａｔｏｒアドレス宛にカプセル化し、カプセル化したパケットをパケット転送部１２へと渡す。
【００３１】
図６は、本実施形態におけるマッピングサーバ装置Ｓｍの構成を示すブロック図である。図６を参照すると、マッピングサーバ装置Ｓｍは、マッピングサーバ部１５、パケット転送部１２、および、ネットワークインタフェース２１を備えている。
【００３２】
マッピングサーバ部１５以外の各部の動作は、図２における外部接続ルータ装置Ｒｅの各部と同一である。マッピングサーバ部１５は、経路情報取得部１５１、マッピング情報作成部１５２、マッピングデータベース１５３およびマッピング情報応答部１５４を備えている。
【００３３】
経路情報取得部１５１は、外部接続ルータ装置Ｒｅ内の経路情報送信部１１３から送られてくる経路情報を受信し、マッピング情報作成部１５２へと送る。マッピング情報作成部１５２は、経路情報取得部１５１から送られてきた経路情報を元にマッピング情報を作成し、マッピングデータベース１５３に登録する。マッピングデータベース１５３は、マッピング情報作成部１５２が作成したマッピング情報を保存する。マッピングデータベース１５３が保存する情報は、図５のマッピング対応表１４２と同等のテーブルとして管理されている。マッピング情報応答部１５４は、図４におけるマッピングルータ装置Ｒｍ内のマッピング情報問い合わせ部１４１からの問い合わせに対し、マッピングデータベース１５３中から該当するエントリを検索して応答する。このとき、マッピングデータベース１５３中からの検索処理は、マッピングルータ装置Ｒｍにおけるマッピング対応表１４２の検索処理と同等の処理である。
【００３４】
図７は、本実施形態におけるマッピング情報の登録手順を示すフローチャートである。まず、外部接続ルータ装置Ｒｅは、外部ネットワークのルータ装置から経路制御プロトコルを用いて経路情報ｒｅを取得する。このとき取得した経路情報ｒｅをマッピングサーバ装置Ｓｍに転送する（ステップＳ１１）。
【００３５】
次に、マッピングサーバ装置Ｓｍは、受信した経路情報ｒｅの送信元である外部接続ルータ装置Ｒｅにおける内部ネットワークに接続するインタフェースのアドレスａｉを取得する（ステップＳ１２）。
【００３６】
アドレスａｉの取得方法の詳細については、後述する。次に、マッピングサーバ装置Ｓｍは、経路情報ｒｅ中から宛先プレフィックスｄｅとプレフィックス長ｌｅを抽出する（ステップＳ１３）。
【００３７】
次に、マッピングサーバ装置Ｓｍは、自身の持つマッピングデータベース１５３にｄｅ，ｌｅ，ａｉの３項目を登録する。このとき、ＩＤの項目にｄｅが、プレフィックス長の項目にｌｅが、またＬｏｃａｔｏｒアドレスのフィールドにａｉがそれぞれ格納される（ステップＳ１４）。このとき、すでにデータベース１５３中にｄｅ，ｌｅの値が同じ項目が登録されている場合は、元となる経路制御プロトコルにおける選択基準に基づいて優先度の高い方が選択され、データベース１５３中に格納される。
【００３８】
図８は、経路制御プロトコルの一つであるＢＧＰのメッセージヘッダを示す。図８中のＭａｒｋｅｒは、ＢＧＰメッセージにおいて同期の検出を行い、または、認証を行うために用いられるフィールドである。また、Ｌｅｎｇｔｈは、ヘッダを含むＢＧＰメッセージ全体の長さを表すフィールドである。Ｔｙｐｅは、ＢＧＰメッセージのタイプを表すフィールドである。Ｔｙｐｅのフィールドの値が２である場合、ＢＧＰヘッダに続くフィールドがＢＧＰ  ＵＰＤＡＴＥメッセージであることを示す。
【００３９】
図９は、ＢＧＰ  ＵＰＤＡＴＥメッセージを示す。各ルータ装置は、自身のもつ経路情報または他者から受け取った経路情報を、第三者に転送する際にこのＵＰＤＡＴＥメッセージを用いる。図９中のＷｉｔｈｄｒａｗｎ  Ｒｏｕｔｅｓ  Ｌｅｎｇｔｈは、２オクテット（ｏｃｔｅｔ）のフィールドであり、続くＷｉｔｈｄｒａｗｎ  Ｒｏｕｔｅｓフィールドの長さを表す。Ｗｉｔｈｄｒａｗｎ  Ｒｏｕｔｅｓは、可変長のフィールドであり、到達不能となった経路を通知するために用いられる。Ｔｏｔａｌ  Ｐａｔｈ  Ａｔｔｒｉｂｕｔｅ  Ｌｅｎｇｔｈは、２オクテットのフィールドであり、続くＰａｔｈ  Ａｔｔｒｉｂｕｔｅｓフィールドの長さを表す。Ｐａｔｈ  Ａｔｔｒｉｂｕｔｅｓフィールドは、各種ＰＡＴＨ属性を通知するために用いられる。この各種ＰＡＴＨ属性の中には、ＡＳ＿ＰＡＴＨ属性、ＮｅｘｔＨｏｐ属性等が存在し、それぞれ経路選択の際の参考情報として用いられる。
【００４０】
図１０は、各種ＰＡＴＨ属性を持つＢＧＰ  ＵＰＤＡＴＥメッセージｍ１，ｍ２を模式的に表した図である。図９におけるＮｅｔｗｏｒｋ  Ｌａｙｅｒ  Ｒｅａｃｈａｂｉｌｉｔｙ  Ｉｎｆｏｒｍａｔｉｏｎフィールドには、広告されるプレフィックスおよびそのプレフィックス長が格納される。このプレフィックスおよびプレフィックス長は、図７のステップＳ１３におけるｄｅ，ｌｅに相当する。
【００４１】
図７のステップＳ１２の処理の詳細について説明を行う。ステップＳ１２において、受信した経路情報ｒｅの送信元である外部接続ルータ装置Ｒｅにおける内部ネットワークに接続するインタフェースのアドレス、すなわち、Ｌｏｃａｔｏｒとして登録されるアドレスは、例えば、以下の（１）〜（３）のいずれかの方法で決定することができる。
【００４２】
（１）ＮｅｘｔＨｏｐ属性を利用する方法
ＢＧＰ  ＵＰＤＡＴＥメッセージに付与されるＮｅｘｔＨｏｐ属性を利用する。例えば図１０のＢＧＰ  ＵＰＤＡＴＥメッセージｍ２の場合は、宛先プレフィックス（ｐｒｅｆｉｘ）１９２．１６８．１．０，プレフィックス（ｐｒｅｆｉｘ）長２４に対応するＬｏｃａｔｏｒアドレスとして、ＮｅｘｔＨｏｐ属性として格納されている１７２．１６．１．２５４を採用する。
【００４３】
（２）ＢＧＰにおけるＴＣＰコネクションの相手側ＩＰアドレスを利用する方法
ＢＧＰのメッセージ交換には、階層のプロトコルとしてＴＣＰを利用している。ＴＣＰでは通信相手との間でコネクションを開設したうえで通信を行うが、コネクションの識別のために両端のＩＰアドレス、ポート番号およびプロトコル番号（ＴＣＰ）の５項組が利用されている。つまり、ＴＣＰコネクションの情報から通信相手のＩＰアドレスを知ることは可能であり、そのアドレスをＬｏｃａｔｏｒアドレスとして登録する。
【００４４】
（３）用意したテーブルを用い、ＢＧＰ毎に対応するＩＰアドレスを検索して利用する方法
ＢＧＰでは、コネクション開設時にお互いの識別子を交換する。この識別子とＬｏｃａｔｏｒアドレスの対応表を、マッピングサーバ装置Ｓｍに予め持たせておく。図１１に対応表の詳細を示す。図１１を参照すると、対応表には、ＢＧＰ識別子に対応するＬｏｃａｔｏｒアドレスがそれぞれ格納されている。例えば、ＢＧＰ識別子が１９２．１６８．１．２である外部接続ルータ装置から送られてきた経路情報に対して、Ｌｏｃａｔｏｒアドレスは１７２．１６．５．１となる。
【００４５】
また、上記の方法を組み合わせた方法を採用してもよい。例えば、ＢＧＰ  ＵＰＤＡＴＥメッセージ中のＮｅｘｔＨｏｐ属性を参照し、付与されている場合にはその値をＬｏｃａｔｏｒアドレスに採用し、付与されていない場合にはＴＣＰコネクションの相手側ＩＰアドレスをＬｏｃａｔｏｒとして採用するようにしてもよい。
【００４６】
図１２は、本実施形態におけるパケット転送動作を示すフローチャートである。
【００４７】
まず、マッピングルータ装置Ｒｍは、受信したパケットｐの宛先アドレスｄｐを参照する。さらに自身のマッピング対応表１４２から対応するＬｏｃａｔｏｒアドレスａｌを検索する（ステップＳ２１）。
【００４８】
マッピング対応表１４２中に該当するＬｏｃａｔｏｒアドレスが登録されていた場合には（ステップＳ２２のＹｅｓ）、ステップＳ２８へ進む。
【００４９】
一方、Ｌｏｃａｔｏｒアドレスが登録されていない場合には（ステップＳ２２のＮｏ）、マッピングルータ装置Ｒｍは、マッピングサーバ装置Ｓｍに、宛先ｄｐに対するＬｏｃａｔｏｒアドレスａｌを問い合わせる（ステップＳ２３）。前記問い合わせをうけたマッピングサーバ装置Ｓｍは、自身のマッピングデータベース１５３を参照し、該当するＬｏｃａｔｏｒアドレスａｌを検索する（ステップＳ２４）。
【００５０】
マッピングデータベース１５３に対応するＬｏｃａｔｏｒアドレスが登録されていない場合には（ステップＳ２５のＮｏ）、マッピングサーバ装置Ｓｍは、該当するＬｏｃａｔｏｒアドレスがないことを問い合わせ元であるマッピングルータ装置Ｒｍに応答し、応答を受けたマッピングルータ装置Ｒｍは、当該パケットを破棄し、一連の処理を終了する（ステップＳ２６）。
【００５１】
一方、マッピングデータベース１５３に対応するＬｏｃａｔｏｒアドレスが登録されている場合には（ステップＳ２５のＹｅｓ）、マッピングサーバ装置Ｓｍは、検索により見つかったＬｏｃａｔｏｒアドレスａｌを問い合わせ元のマッピングルータ装置Ｒｍへと返答する（ステップＳ２７）。
【００５２】
次に、マッピングルータ装置Ｒｍは、パケットｐをカプセル化し、そのカプセル化したパケットの宛先アドレスをＬｏｃａｔｏｒアドレスであるａｌにする。このカプセル化されたパケットを、内部ネットワークＮを介して、宛先アドレスａｌを持つ外部接続ルータ装置Ｒｅまで送る（ステップＳ２８）。
【００５３】
内部ネットワーク内の各ルータ装置は、カプセル化したパケットを外部接続ルータ装置Ｒｅへと転送する（ステップＳ２９）。
【００５４】
外部接続ルータ装置Ｒｅは、受信したパケットのカプセル化を解除し、そのパケットを外部ネットワークへの転送し（ステップＳ３０）、一連の処理を終了する。
【００５５】
本実施形態では、マッピングサーバ装置Ｓｍは、経路制御プロトコルにおける経路情報とその経路情報を受信した外部接続ルータ装置Ｒｅのアドレスとを対応付けたマッピング情報を保持する。ルータ装置は、マッピング情報を参照して、外部アドレス宛のパケットを内部アドレス宛のパケットへとカプセル化する。本実施形態によると、ＡＳ内部の各ルータ装置に外部経路を持たせることなく、ドメイン間にまたがるパケット転送を実現することができる。
【００５６】
（実施形態２）
第２の実施形態に係るネットワークシステムについて、図面を参照して説明する。
【００５７】
第１の実施形態におけるマッピングデータベース１５３への登録処理（図７のステップＳ１４）では、同一プレフィックス／プレフィックス長のパスが複数存在する場合には、ベストパスとして選択された経路情報についてのみ、マッピングデータベース１５３へ格納される。本実施形態では、これらの複数の経路をそれぞれ利用するように変更されている。
【００５８】
図１３は、本実施形態におけるマッピング対応表１４３の詳細を示す図である。図１３を参照すると、マッピング対応表１４３は、ＩＤとプレフィックス長、Ｌｏｃａｔｏｒアドレスおよび優先度で一組となるマッピング情報を複数格納している。図５に示した第１の実施形態におけるマッピング対応表１４２と比較すると、本実施形態のマッピング対応表１４３は優先度を格納するフィールドが設けられてる点で相違する。
【００５９】
本実施形態では、図７のステップＳ１４の処理でマッピング情報を格納する際に、優先度も併せて格納する。優先度として、例えば、ＢＧＰ  ＵＰＤＡＴＥメッセージ中のＡＳ＿ＰＡＴＨ属性からＡＳのパス長を参照し、１００をパス長で割った値を用いることができる。図１４に示す２つのＢＧＰ  ＵＰＤＡＴＥメッセージｍ３，ｍ４は、プレフィックスおよびプレフィックス長が同一である。図１４におけるＢＧＰ  ＵＰＤＡＴＥメッセージｍ３のＡＳパス長は２、ＢＧＰ  ＵＰＤＡＴＥメッセージｍ４のＡＳパス長さは４である。このとき、ＢＧＰＵＰＤＡＴＥメッセージｍ３，ｍ４から生成されるマッピング情報における優先度は、それぞれ５０，２５となる。図１３におけるマッピング対応表１４３の２，３番目のエントリのように格納される。
【００６０】
図１５は、本実施形態におけるパケット転送動作を示すフローチャートである。図１２における第１の実施形態におけるパケット転送動作と比較すると、本実施形態ではステップＳ３７およびステップＳ３８における処理が異なる。
【００６１】
マッピングサーバ装置Ｓｍは、検索により見つかったＬｏｃａｔｏｒアドレスａｌと優先度ｐｌの組すべてを、問い合わせを行ったマッピングルータ装置Ｒｍに返答する（ステップＳ３７）。
【００６２】
マッピングルータ装置Ｒｍは、ａｌとｐｌの組み合わせ中から一つを選択し、パケットｐを選択した宛先アドレスａｌでカプセル化し、内部ネットワークＮを介して、パケットを送信する（ステップＳ３８）。
【００６３】
優先度に応じた宛先アドレスの選択基準として、例えば、以下のような方法がある。
【００６４】
（１）優先度の一番高いマッピング情報を選択する。図１３のマッピング対応表１４３においてプレフィックス／プレフィックス長が１９２．１６８．１０．０／２４である場合には、優先度５０のマッピング情報が採用され、Ｌｏｃａｔｏｒアドレスとして１７２．１６．５．１が採用される。
【００６５】
（２）同一プレフィックス／プレフィックス長に対して複数のマッピング情報が対応する場合には、それらを優先度に応じてパケット毎に使い分ける。図１３におけるプレフィックス／プレフィックス長が１９２．１６８．１０．０／２４である場合では、優先度がそれぞれ５０と２５であるため、１７２．１６．５．１と１７２．１６．１．２は、それぞれ割合が２：１となるように選択される。
【００６６】
（３）上記（２）と同様に複数のマッピング情報の使い分けを行うが、フロー単位に使い分けを行う。フローとは、宛先アドレス、宛先ポート、送信元アドレス、送信元ポートおよびプロトコル番号の５つのフィールドがすべて同一となる一連のパケット群のことである。図１３におけるプレフィックス／プレフィックス長が１９２．１６８．１０．０／２４である場合には、２つのマッピング情報の優先度の比は２：１であった。この場合、パケット中の上記５項組の値をなんからのハッシュ関数にかけた後に３で割り、その余りが０か１であれば１７２．１６．５．１を選択し、余りが２であれば１７２．１６．１．２を選択する。
【００６７】
（実施形態３）
第３の実施形態に係るネットワークシステムについて、図１７を参照して説明する。第１の実施形態における図１の構成と比較すると、外部接続ルータ装置Ｒｅ２１、Ｒｅ２２、ルータ装置Ｒ２３、Ｒ２４、マッピングルータ装置Ｒｍ２５、Ｒｍ２６の代わりに、出口ＯＦＳ（オープンフロースイッチ）Ｏｅ２１、Ｏｅ２２、ＯＦＳ  Ｏ２３、Ｏ２４、入口ＯＦＳ  Ｏｉ２５、Ｏｉ２６が配置されている点で相違する。また、本実施形態では、ＯＦＣ（オープンフローコントローラ）Ｃ２８が導入されている点で相違する。以下では、出口ＯＦＳ  Ｏｅ２１、Ｏｅ２２を出口ＯＦＳ  Ｏｅと総称し、入口ＯＦＳ  Ｏｉ２５、Ｏｉ２６を入口ＯＦＳ  Ｏｉと総称する。
【００６８】
ＯＦＳ（オープンフロースイッチ）とＯＦＣ（オープンフローコントローラ）の詳細については、例えば、非特許文献２、３等に記載されている。以下に、ＯＦＳ、ＯＦＣの概略を述べる。ＯＦＳは、パケットのルックアップとフォワーディングを行うフローテーブルと、ＯＦＣとの通信用のセキュアチャネル（Ｓｅｃｕｒｅ  Ｃｈａｎｎｅｌ）を備えている。ＯＦＣは、オープンフロープロトコルを用いてセキュアチャネル上でＯＦＳと通信し、例えば、ＡＰＩレベルでフローを制御する。一例として、ＯＦＳに最初のパケット（Ｆｉｒｓｔ  Ｐａｃｋｅｔ）が到着すると、該ＯＦＳは、該パケットのヘッダ情報でフローテーブルを検索する。マッチしない場合には、ＯＦＳは、当該パケットをＯＦＣにセキュアチャネルで転送する。
【００６９】
ＯＦＣは、当該パケットの宛先、送信元情報に基づいて、ＯＦＣが管理するネットワークトポロジー情報から、該パケットのパスを決定する。ＯＦＣは、決定した経路に基づいて、パス上の各ＯＦＳに対してそれぞれのフローテーブルを設定する。２番目以降のパケットは、ＯＦＳのフローテーブルにヒットし、ＯＦＣへは転送せず、直接、フローテーブルのエントリで規定される次のＯＦＳに転送される。
【００７０】
ＯＦＳのフローテーブルは、例えば、図１８に示すように、パケットヘッダと照合するルール（Ｒｕｌｅ）と、フローに対する処理を定義したアクション（Ａｃｔｉｏｎ）と、フロー統計情報（Ｓｔａｔｉｓｔｉｃｓ）を、各フロー毎に有する。
【００７１】
パケットヘッダと照合するルール（Ｒｕｌｅ）には、正確な値（Ｅｘａｃｔ）、およびワイルドカード（Ｗｉｌｄｃａｒｄ）が用いられる。アクション（Ａｃｔｉｏｎ）は、ルールとマッチしたパケットに適用するアクションである。フロー統計情報は、アクティビティカウンタともいい、アクティブエントリ数、パケットルックアップ数、パケットマッチ数、フロー単位に、受信パケット数、受信バイト数、フローがアクティブな期間、ポート単位で受信パケット、送信パケット、受信バイト、送信バイト、受信ドロップ、送信ドロップ、受信エラー、送信エラー、受信フレームアラインメントエラー、受信オーバーランエラー、受信ＣＲＣエラー、コリジョン数を含む。
【００７２】
ＯＦＳに入力されたパケットはフローテーブルのルールとの照合（マッチ）が行われ、ルールにマッチするエントリが見つかった場合には、マッチしたエントリのアクションが当該パケットに対して施される。一方、マッチするエントリが見つからなかった場合には、当該パケットはＦｉｒｓｔ  Ｐａｃｋｅｔとして取り扱われ、セキュアチャネルを介してＯＦＣに転送される。ＯＦＣは、パケット経路を決定したフローエントリをＯＦＳへ送信する。ＯＦＳでは、当該ＯＦＳのフローエントリに対して、フローエントリの追加、変更、削除を行う。
【００７３】
パケットのヘッダの所定のフィールドがスイッチのフローテーブルのルールとの照合に用いられる。マッチ対象の情報は、ＭＡＣＤＡ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌデスティネーションアドレス）、ＭＡＣＳＡ（ＭＡＣソースアドレス）、Ｅｔｈｅｒｎｅｔタイプ（ＴＰＩＤ）、ＶＬＡＮＩＤ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ  ＩＤ）、ＶＬＡＮＴＹＰＥ（優先度）、ＩＰＳＡ（ＩＰソースアドレス）、ＩＰＤＡ（ＩＰデスティネーションアドレス）、ＩＰプロトコル、Ｓｏｕｒｃｅ  Ｐｏｒｔ（ＴＣＰ／ＵＤＰソースポート、あるいはＩＣＭＰ（Ｉｎｔｅｒｎｅｔ  Ｃｏｎｔｒｏｌ  Ｍｅｓｓａｇｅ  Ｐｒｏｔｏｃｏｌ）Ｔｙｐｅ）、Ｄｅｓｔｉｎａｔｉｏｎ  Ｐｏｒｔ（ＴＣＰ／ＵＤＰデスティネーションポート、あるいはＩＣＭＰ  Ｃｏｄｅ）を含む（図１９参照）。
【００７４】
図２０は、アクション名とアクションの内容を例示する。ＯＵＴＰＵＴは、指定ポート（インタフェース）に出力するアクションである。ＳＥＴ＿ＶＬＡＮ＿ＶＩＤからＳＥＴ＿ＴＰ＿ＤＳＴは、パケットヘッダのフィールドを修正するアクションである。また、スイッチは、物理ポートと以下の仮想ポートへパケットを転送する。
【００７５】
図２１は、仮想ポートを例示する。ＩＮ＿ＰＯＲＴは、パケットを入力ポートに出力する。ＮＯＲＭＡＬは、スイッチがサポートする既存の転送パスを用いて処理する。ＦＬＯＯＤは、パケットが入来したポートを除く通信可能状態（Ｆｏｒｗａｒｄｉｎｇ状態）の全てのポートに転送する。ＡＬＬは、パケットが入来したポートを除くポートに転送する。ＣＯＮＴＲＯＬＬＥＲは、パケットをカプセル化してコントローラに送信する。ＬＯＣＡＬは、パケットをスイッチ自身のローカルネットワークスタックに送信する。
【００７６】
アクションが指定されないフローエントリにマッチしたパケットはドロップ（廃棄）される。ルール、アクション、フロー統計情報からなる情報をフローエントリと呼び、フローテーブルはフローエントリを格納するテーブルである。以上が、ＯＦＳおよびＯＦＣの動作の概要である。
【００７７】
次に、ＯＦＳ、ＯＦＣを使った本実施形態におけるマッピング情報登録手順を、図２２を参照して説明する。まず、出口ＯＦＳ  Ｏｅは、外部ネットワークのルータ装置からのＢＧＰパケットをマッピングサーバ装置Ｓｍ２７に転送する（ステップＳ４１）。具体的な転送手段は、上記で説明したＯＦＳおよびＯＦＣの動作に従う。
【００７８】
例えば、図１７における出口ＯＦＳ  Ｏｅ２１が、対向するルータ装置Ｒ１１からＢＧＰパケットを一番初めに受け取ったとき、セキュアチャネルを通じてＯＦＣ  Ｃ２８へと送られる。ＢＧＰはＴＣＰを用いて転送されており、ソースポート番号もしくはデスティネーションポート番号のいずれかが１７９である。このため、ＯＦＣ  Ｃ２８は、出口ＯＦＳ  Ｏｅ２１からマッピングサーバ装置Ｓｍ２７までのパス上の各ＯＦＳ（図１７の場合には、出口ＯＦＳ  Ｏｅ２１とＯＦＳ  Ｏ２３）に対し、以下の２つのフローエントリを設定する。これらのフローエントリ中のルールは、それぞれＴＣＰソースポート番号が１７９であるというルールと、ＴＣＰデスティネーションポート番号が１７９であるというルールである。また、アクションはそれぞれ、出口ＯＦＳ  Ｏｅ２１に対してはＯＦＳ  Ｏ２３と接続するインタフェースへ出力となり、ＯＦＳ  Ｏ２３に対してはマッピングサーバ装置Ｓｍ２７と接続するインタフェースへ出力となる。以上により、以後ルータ装置Ｒ１１からのＢＧＰパケットがマッピングサーバ装置Ｓｍ２７へと届くようになる。
【００７９】
次に、図２２のステップＳ４２では、マッピングサーバ装置Ｓｍ２７はＢＧＰの終端を行い、経路情報ｒｅを抽出する。この経路情報ｒｅは、図７のステップＳ１１において取得した情報と同等である。
【００８０】
さらに、マッピングサーバ装置Ｓｍ２７は、ＢＧＰパケット送信元の出口ＯＦＳ  Ｏｅ２１のＩＤを特定し、ａｉとする（ステップＳ４３）。ＢＧＰパケットの終端時にＩＰソースアドレス（送信元アドレス）を参照すれば、送信元である外部ネットワークのルータ装置を特定することができる。外部ネットワークのルータ装置のＩＰアドレスと、そのルータ装置に接続する出口ＯＦＳ  ＯｅのＩＤとの対応を予めテーブルとして保持しておき、そのテーブルを検索することでステップＳ４３の処理を実現することができる。
【００８１】
次に、マッピングサーバ装置Ｓｍ２７は、経路情報ｒｅ中から宛先プレフィックスｄｅとプレフィックス長ｌｅを抽出する（ステップＳ４４）。
【００８２】
マッピングサーバ装置Ｓｍ２７は、自身の持つマッピングデータベースにｄｅ、ｌｅ、ａｉの３項組を登録する（ステップＳ４５）。マッピングデータベースに格納する３項組のうちａｉは、第１の実施形態では、外部接続ルータ装置における内部ネットワークに接続するインタフェースのアドレスであったのに対し、本実施形態では出口ＯＦＳ  ＯｅのＩＤである点が異なる。
【００８３】
次に、上記手順で生成したマッピング情報を用いた、本実施形態におけるパケット転送手順について、図２３を参照して説明する。
【００８４】
入口ＯＦＳ  Ｏｉは、受信したパケットｐのヘッダを参照し、自身のフローテーブルを検索する（ステップＳ５１）。
【００８５】
このとき、フローテーブル中に対応するフローエントリが登録されているかを調べる（ステップＳ５２）。登録されていれば（ステップＳ５２のＹｅｓ）、ステップＳ６１へ、登録されていなければ（ステップＳ５２のＮｏ）、ステップＳ５３へと進む。
【００８６】
入口ＯＦＳ  Ｏｉは、セキュアチャンネルを通して、ＯＦＣ  Ｃ２８に受信パケットを転送する（ステップＳ５３）。
【００８７】
ＯＦＣ  Ｃ２８は、マッピングサーバ装置Ｓｍ２７に、パケットヘッダ中の宛先ｄｐに対する出口ＯＦＳ  ＯｅのＩＤ  ａｉの問い合わせを行う（ステップＳ５４）。
【００８８】
前記問い合わせを受けたマッピングサーバ装置Ｓｍ２７は、自身のマッピングデータベースを参照し、該当する出口ＯＦＳ  ＯｅのＩＤ  ａｉを検索する（ステップＳ５５）。この検索処理は、ＩＰの経路表検索における最長一致検索（Ｌｏｎｇｅｓｔ  Ｐｒｅｆｉｘ  Ｍａｔｃｈ）と同様な処理である。
【００８９】
このとき、マッピングデータベース中に対応する出口ＯＦＳ  ＯｅのＩＤ  ａｉが登録されているかを調べる（ステップＳ５６）。登録されていれば（ステップＳ５６のＹｅｓ）、ステップＳ５８へ、登録されていなければ（ステップＳ５６のＮｏ）、ステップＳ５７へと進む。
【００９０】
マッピングデータベース中に対応するエントリがない場合には（ステップＳ５６のＮｏ）、マッピングサーバ装置Ｓｍ２７は該当する出口ＯＦＳなしと、問い合わせ元に返答し、応答を受けたＯＦＣ  Ｃ２８はパケットを破棄し（ステップＳ５７）、すべての処理を終了する。
【００９１】
一方、マッピングデータベース中に対応するエントリが見つかった場合には（ステップＳ５６のＹｅｓ）、マッピングサーバ装置Ｓｍ２７は、検索により見つかった出口ＯＦＳ  ＯｅのＩＤ  ａｉを問い合わせを行ったＯＦＣ  Ｃ２８に返答する（ステップＳ５８）。
【００９２】
ＯＦＣ  Ｃ２８は、入口ＯＦＳ  Ｏｉから出口ＯＦＳ  Ｏｅまでの最適パスを計算する（ステップＳ５９）。ＯＦＣ  Ｃ２８はネットワーク中のトポロジー情報（全ＯＦＳ間の接続情報）を保有しているので、例えば、ダイクストラのアルゴリズムを適用することで、２ノード間（本実施形態の場合には、ＯｉからＯｅ）までの最短パスを計算し、それを最適パスとすればよい。どのような基準で最適パスとみなすかは、さまざまなポリシーが考えられるが、どのような基準で最適パスを決定してもよい。
【００９３】
次に、ＯＦＣ  Ｃ２８は、パス上の各ＯＦＳに対して、次のようなフローエントリを設定する（ステップＳ６０）。フローエントリ中のルールとして、ＩＰデスティネーションアドレス（宛先アドレス）がｄｐであるパケットを対象とする。さらにアクションとしては、計算した最適パスに沿って転送を行うように、最適パス上において自身の次のＯＦＳに接続するインタフェースにパケットを出力するという設定を指定する。最適パスの終点となる出口ＯＦＳ  Ｏｅには、アクションとして、外部ネットワークのルータ装置に接続するインタフェースにパケットを出力するという設定を指定する。
【００９４】
そして、各ＯＦＳは、受信パケットのヘッダ情報を元に自身のフローテーブルを参照し、パケット転送を行う（ステップＳ６１）。この段階で宛先アドレスがｄｐであるパケットは、入口ＯＦＳ  Ｏｉから最適パス上を出口ＯＦＳ  Ｏｅまで転送され、そこから外部ネットワーク中のルータ装置に向かって送出される。
【００９５】
本発明は、例えば、インターネットへの接続を行うサービスプロバイダのネットワークに対して適用することができる。
【００９６】
本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【００９７】
なお、国内優先主張の基礎たる先の出願の開示内容に関しては、専ら、先の出願の開示内容にのみ基づいて解釈されるものとし、後の出願の開示事項は影響を与えないものとする。
【符号の説明】
【００９８】
１１    経路制御部
１２    パケット転送部
１３    トンネル終端部
１４    マッピング管理部
１５    マッピングサーバ部
１６    トンネル処理部
２１〜２ｎ    ネットワークインタフェース
１１１    経路情報交換部
１１２    経路計算部
１１３    経路情報送信部
１２１    ルーティング処理部
１２２    経路表
１４１    マッピング情報問い合わせ部
１４２，１４３    マッピング対応表
１５１    経路情報取得部
１５２    マッピング情報作成部
１５３    マッピングデータベース
１５４    マッピング情報応答部
ｍ１〜ｍ４    ＢＧＰ  ＵＰＤＡＴＥメッセージ
Ｎ１，Ｎ３    外部ネットワーク
Ｎ２，Ｎ４    内部ネットワーク
Ｒ１１，Ｒ１２，Ｒ２１〜Ｒ２６  ルータ装置
Ｒｅ，Ｒｅ２１，Ｒｅ２２    外部接続ルータ装置
Ｒｍ，Ｒｍ２５，Ｒｍ２６    マッピングルータ装置
Ｓｍ    マッピングサーバ装置
Ｔ１３，Ｔ３１，Ｔ３２    端末
Ｃ２８    オープンフローコントローラ（ＯＦＣ）
Ｎ５    外部ネットワーク
Ｎ６    内部ネットワーク
Ｏ２３，Ｏ２４    オープンフロースイッチ（ＯＦＳ）
Ｏｅ，Ｏｅ２１，Ｏｅ２２    出口ＯＦＳ
Ｏｉ，Ｏｉ２５，Ｏｉ２６    入口ＯＦＳ
Ｓｍ２７    マッピングサーバ装置
【図１】
0005880570.tif 000002
【図２】
0005880570.tif 000003
【図３】
0005880570.tif 000004
【図４】
0005880570.tif 000005
【図５】
0005880570.tif 000006
【図６】
0005880570.tif 000007
【図７】
0005880570.tif 000008
【図８】
0005880570.tif 000009
【図９】
0005880570.tif 000010
【図１０】
0005880570.tif 000011
【図１１】
0005880570.tif 000012
【図１２】
0005880570.tif 000013
【図１３】
0005880570.tif 000014
【図１４】
0005880570.tif 000015
【図１５】
0005880570.tif 000016
【図１６】
0005880570.tif 000017
【図１７】
0005880570.tif 000018
【図１８】
0005880570.tif 000019
【図１９】
0005880570.tif 000020
【図２０】
0005880570.tif 000021
【図２１】
0005880570.tif 000022
【図２２】
0005880570.tif 000023
【図２３】
0005880570.tif 000024