(57)【要約】【課題】  仮想ノードの負荷の増加やデータ転送性能の低下を軽減可能なネットワークノードを提供する。【解決手段】  ネットワークノード（１）は、外部からのトラフィックが一般のトラフィックかオーバレイトラフィックかを識別するトンネルスイッチ（１１）と、パケットのヘッダ情報及び当該パケットの処理内容を対応付けてフローエントリとして記録するフローテーブル（１４ｂ）と、トンネルスイッチ内にある入力ポートとトンネルスイッチ内のオーバレイトラフィックのパケットに対する処理内容とを監視しかつその監視結果をフローテーブルに記録するオーバレイフロー監視機能（１１３）とを有し、オーバレイトラフィックのパケットから抽出したヘッダ情報を検索キーとしたフローテーブルの参照結果に基づいて当該オーバレイトラフィックのパケットをトンネルスイッチ内で処理する。【選択図】      図１
2010226545.tif 000002
【特許請求の範囲】
【請求項１】
外部からのトラフィックが一般のトラフィックかオーバレイトラフィックかを識別するトンネルスイッチと、
パケットのヘッダ情報及び当該パケットの処理内容を対応付けてフローエントリとして記録するフローテーブルと、
前記トンネルスイッチ内にある入力ポートと前記トンネルスイッチ内の前記オーバレイトラフィックのパケットに対する処理内容とを監視しかつその監視結果を前記フローテーブルに記録するオーバレイフロー監視機能とを有し、
前記オーバレイトラフィックのパケットから抽出したヘッダ情報を検索キーとした前記フローテーブルの参照結果に基づいて当該オーバレイトラフィックのパケットを前記トンネルスイッチ内で処理することを特徴とするネットワークノード。
【請求項２】
アンダレイネットワークを構成するとともに、自ノード内に作成した複数の仮想ノードを用いて複数のオーバレイネットワークが構築され、前記複数の仮想ノード各々がオーバレイトラフィックを処理するネットワークノードであって、
前記複数の仮想ノード各々の内部に、前記オーバレイトラフィックを処理するためのオーバレイルーティング機能及びオーバレイフォワーディング機能を有し、
一般のトラフィックを処理するアンダレイルーティング機能及びアンダレイフォワーディング機能と、
外部からのトラフィックが前記一般のトラフィックか前記オーバレイトラフィックかを識別するトンネルスイッチと、
パケットのヘッダ情報及び当該パケットの処理を対応付けてフローエントリとして記録するフローテーブルと、
前記トンネルスイッチ内にある入力ポートと前記トンネルスイッチ内の前記オーバレイトラフィックのパケットに対する処理内容とを監視しかつその監視結果を前記フローテーブルに記録するオーバレイフロー監視機能とを有し、
最初のオーバレイトラフィックのパケット以降のオーバレイトラフィックのパケットから抽出したヘッダ情報の検索キーを用いて前記フローテーブルを参照し、その参照結果に基づいて当該オーバレイトラフィックのパケットを前記トンネルスイッチ内で処理することを特徴とするネットワークノード。
【請求項３】
前記オーバレイフロー監視機能は、前記トンネルスイッチ内にある入力ポートを監視しかつ前記オーバレイトラフィックのオーバレイネットワークキーとインナのＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ヘッダ情報とを参照キーとして記録することを特徴とする請求項２に記載のネットワークノード。
【請求項４】
前記トンネルスイッチは、前記オーバレイトラフィックのパケットのヘッダ情報から抽出した検索キーを利用して前記フローテーブルに登録されるフローエントリーを参照し、その参照結果に基づいて当該オーバレイトラフィックのパケットのヘッダ情報のアウタヘッダを取り除き、前記アウタヘッダを取り除いたパケットを宛先の仮想ノードへ転送することを特徴とする請求項２または請求項３に記載のネットワークノード。
【請求項５】
前記トンネルスイッチは、前記オーバレイトラフィックのパケットのヘッダ情報から抽出した検索キーを利用して前記フローテーブルに登録されるフローエントリーを参照し、参照した入力ポートの情報から仮想リンクのトンネルのローカルアドレスとリモートアドレスとを取得し、当該オーバレイトラフィックのパケットに新しいアウタヘッダとして追加して前記アンダレイフォワーディング機能へ転送することを特徴とする請求項２から請求項４のいずれかに記載のネットワークノード。
【請求項６】
前記アンダレイフォワーディング機能は、前記新しいアウタヘッダが追加されたオーバレイトラフィックのパケットを、当該アウタヘッダの情報を基づいて外部に送出することを特徴とする請求項５に記載のネットワークノード。
【請求項７】
前記フローテーブルに、前記パケットから抽出したヘッダ情報を用いてヘッダフィールドを記録し、当該ヘッダフィールド各々に対応付けて当該パケットの処理内容を記録することを特徴とする請求項２から請求項６のいずれかに記載のネットワークノード。
【請求項８】
前記トンネルスイッチから到着した前記オーバレイトラフィックのパケットから抽出したアウタヘッダと、前記オーバレイネットワークのキーと、前記インナのＩＰヘッダ情報とを検索キーとして用いて前記フローテーブルのフローエントリを参照し、ヒットしたエントリに対応する処理内容により前記オーバレイトラフィックのパケットを処理することを特徴とする請求項２から請求項７のいずれかに記載のネットワークノード。
【請求項９】
前記オーバレイトラフィックのパケットから抽出した検索キーを基に前記フローテーブルを参照し、前記フローテーブルのエントリにヒットしない場合、その検索キーの入力ポートの情報のみで前記フローテーブルの一番優先度が低いエントリにヒットさせ、当該パケットを前記アンダレイフォワーディング機能へ転送することを特徴とする請求項２から請求項８のいずれかに記載のネットワークノード。
【請求項１０】
前記オーバレイフロー監視機能は、最初に到着したオーバレイトラフィックのパケットを順次処理した場合の処理内容である前記アウタヘッドの情報の取り除き、カプセル化、出力ポートの決定を記録することを特徴とする請求項２から請求項９のいずれかに記載のネットワークノード。
【請求項１１】
前記オーバレイフロー監視機能は、前記アウタヘッドの情報の取り除き、カプセル化、出力ポートの決定を記録した後に、前記オーバレイネットワークのキーと前記インナのＩＰヘッダ情報とを参照キーとし、当該参照キーの単位で前記アウタヘッドの情報の取り除き、カプセル化、出力ポートの決定の順番を記録することを特徴とする請求項１０に記載のネットワークノード。
【請求項１２】
前記オーバレイフロー監視機能は、前記参照キーの単位で前記アウタヘッドの情報の取り除き、カプセル化、出力ポートの決定の順番を記録した後に、前記フローテーブルの上位の高い優先度のオーバレイフローテーブルに新しいヘッダフィードとそれに対応する処理内容とを登録することを特徴とする請求項１１に記載のネットワークノード。
【請求項１３】
前記トンネルスイッチは、前記オーバレイトラフィックのパケットから抽出した検索キーを基に前記オーバレイフローテーブルを参照し、ヒットしたエントリに記録されている処理内容の順番で当該オーバレイトラフィックのパケットを処理することを特徴とする請求項１２に記載のネットワークノード。
【請求項１４】
最初のオーバレイトラフィックのパケットを前記仮想ノード上にあるオーバレイルーティング機能及び前記フォワーディング機能により転送し、
前記最初のオーバレイトラフィックのパケット以降のオーバレイトラフィックのパケットに対して、前記オーバレイフローテーブル内にあるエントリを参照して当該オーバレイトラフィックのパケットに対する処理内容を判断し、その処理内容に基づいて前記トンネルスイッチ内で処理することを特徴とする請求項１３に記載のネットワークノード。
【請求項１５】
上記の請求項１から請求項１４のいずれかに記載のネットワークノードを含むことを特徴とするネットワーク。
【請求項１６】
アンダレイネットワークを構成するとともに、自ノード内に作成した複数の仮想ノードを用いて複数のオーバレイネットワークが構築され、前記複数の仮想ノード各々がオーバレイトラフィックを処理するネットワークノードに用いるトンネルスイッチング方法であって、
前記ネットワークノードに、外部からのトラフィックが一般のトラフィックか前記オーバレイトラフィックかを識別するトンネルスイッチと、パケットのヘッダ情報及び当該パケットの処理内容を対応付けてフローエントリとして記録するフローテーブルとを設け、
前記ネットワークノードが、前記トンネルスイッチ内にある入力ポートと前記トンネルスイッチ内の前記オーバレイトラフィックのパケットに対する処理内容とを監視しかつその監視結果を前記フローテーブルに記録するオーバレイフロー監視処理を実行し、
前記トンネルスイッチが、前記オーバレイトラフィックのパケットから抽出したヘッダ情報を検索キーとした前記フローテーブルの参照結果に基づいて当該オーバレイトラフィックのパケットを前記トンネルスイッチ内で処理することを特徴とするトンネルスイッチング方法。
【請求項１７】
アンダレイネットワークを構成するとともに、自ノード内に作成した複数の仮想ノードを用いて複数のオーバレイネットワークが構築され、前記複数の仮想ノード各々がオーバレイトラフィックを処理するネットワークノードに用いるトンネルスイッチング方法であって、
前記ネットワークノードに、外部からのトラフィックが前記一般のトラフィックか前記オーバレイトラフィックかを識別するトンネルスイッチと、パケットのヘッダ情報及び当該パケットの処理を対応付けてフローエントリとして記録するフローテーブルとを設け、
前記複数の仮想ノード各々に、前記オーバレイトラフィックを処理するためのオーバレイルーティング機能及びオーバレイフォワーディング機能を設け、
前記ネットワークノードが、一般のトラフィックを処理するアンダレイルーティング処理及びアンダレイフォワーディング処理と、前記トンネルスイッチ内にある入力ポートと前記トンネルスイッチ内の前記オーバレイトラフィックのパケットに対する処理内容とを監視しかつその監視結果を前記フローテーブルに記録するオーバレイフロー監視処理とを実行し、
前記トンネルスイッチが、最初のオーバレイトラフィックのパケット以降のオーバレイトラフィックのパケットから抽出したヘッダ情報の検索キーを用いて前記フローテーブルを参照し、その参照結果に基づいて当該オーバレイトラフィックのパケットを前記トンネルスイッチ内で処理することを特徴とするトンネルスイッチング方法。
【請求項１８】
前記オーバレイフロー監視処理において、前記トンネルスイッチ内にある入力ポートを監視しかつ前記オーバレイトラフィックのオーバレイネットワークキーとインナのＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ヘッダ情報とを参照キーとして記録することを特徴とする請求項１７に記載のトンネルスイッチング方法。
【請求項１９】
前記トンネルスイッチが、前記オーバレイトラフィックのパケットのヘッダ情報から抽出した検索キーを利用して前記フローテーブルに登録されるフローエントリーを参照し、その参照結果に基づいて当該オーバレイトラフィックのパケットのヘッダ情報のアウタヘッダを取り除き、前記アウタヘッダを取り除いたパケットを宛先の仮想ノードへ転送することを特徴とする請求項１７または請求項１８に記載のトンネルスイッチング方法。
【請求項２０】
前記トンネルスイッチが、前記オーバレイトラフィックのパケットのヘッダ情報から抽出した検索キーを利用して前記フローテーブルに登録されるフローエントリーを参照し、参照した入力ポートの情報から仮想リンクのトンネルのローカルアドレスとリモートアドレスとを取得し、当該オーバレイトラフィックのパケットに新しいアウタヘッダとして追加して前記アンダレイフォワーディング処理へ転送することを特徴とする請求項１７から請求項１９のいずれかに記載のトンネルスイッチング方法。
【請求項２１】
前記アンダレイフォワーディング処理において、前記新しいアウタヘッダが追加されたオーバレイトラフィックのパケットを、当該アウタヘッダの情報を基づいて外部に送出することを特徴とする請求項２０に記載のトンネルスイッチング方法。
【請求項２２】
前記フローテーブルに、前記パケットから抽出したヘッダ情報を用いてヘッダフィールドを記録し、当該ヘッダフィールド各々に対応付けて当該パケットの処理内容を記録することを特徴とする請求項１７から請求項２１のいずれかに記載のトンネルスイッチング方法。
【請求項２３】
前記トンネルスイッチから到着した前記オーバレイトラフィックのパケットから抽出したアウタヘッダと、前記オーバレイネットワークのキーと、前記インナのＩＰヘッダ情報とを検索キーとして用いて前記フローテーブルのフローエントリを参照し、ヒットしたエントリに対応する処理内容により前記オーバレイトラフィックのパケットを処理することを特徴とする請求項１７から請求項２２のいずれかに記載のトンネルスイッチング方法。
【請求項２４】
前記オーバレイトラフィックのパケットから抽出した検索キーを基に前記フローテーブルを参照し、前記フローテーブルのエントリにヒットしない場合、その検索キーの入力ポートの情報のみで前記フローテーブルの一番優先度が低いエントリにヒットさせ、当該パケットを前記アンダレイフォワーディング機能へ転送することを特徴とする請求項１７から請求項２３のいずれかに記載のトンネルスイッチング方法。
【請求項２５】
前記オーバレイフロー監視処理において、最初に到着したオーバレイトラフィックのパケットを順次処理した場合の処理内容である前記アウタヘッドの情報の取り除き、カプセル化、出力ポートの決定を記録することを特徴とする請求項１７から請求項２４のいずれかに記載のトンネルスイッチング方法。
【請求項２６】
前記オーバレイフロー監視処理において、前記アウタヘッドの情報の取り除き、カプセル化、出力ポートの決定を記録した後に、前記オーバレイネットワークのキーと前記インナのＩＰヘッダ情報とを参照キーとし、当該参照キーの単位で前記アウタヘッドの情報の取り除き、カプセル化、出力ポートの決定の順番を記録することを特徴とする請求項２５に記載のトンネルスイッチング方法。
【請求項２７】
前記オーバレイフロー監視処理において、前記参照キーの単位で前記アウタヘッドの情報の取り除き、カプセル化、出力ポートの決定の順番を記録した後に、前記フローテーブルの上位の高い優先度のオーバレイフローテーブルに新しいヘッダフィードとそれに対応する処理内容とを登録することを特徴とする請求項２６に記載のトンネルスイッチング方法。
【請求項２８】
前記トンネルスイッチが、前記オーバレイトラフィックのパケットから抽出した検索キーを基に前記オーバレイフローテーブルを参照し、ヒットしたエントリに記録されている処理内容の順番で当該オーバレイトラフィックのパケットを処理することを特徴とする請求項２７に記載のトンネルスイッチング方法。
【請求項２９】
最初のオーバレイトラフィックのパケットを前記仮想ノード上にあるオーバレイルーティング処理及び前記フォワーディング処理により転送し、
前記最初のオーバレイトラフィックのパケット以降のオーバレイトラフィックのパケットに対して、前記オーバレイフローテーブル内にあるエントリを参照して当該オーバレイトラフィックのパケットに対する処理内容を判断し、その処理内容に基づいて前記トンネルスイッチ内で処理することを特徴とする請求項２８に記載のトンネルスイッチング方法。
【請求項３０】
アンダレイネットワークを構成するとともに、自ノード内に作成した複数の仮想ノードを用いて複数のオーバレイネットワークが構築され、前記複数の仮想ノード各々がオーバレイトラフィックを処理するネットワークノード内の中央処理装置に実行させるプログラムであって、
前記ネットワークノードに、外部からのトラフィックが一般のトラフィックか前記オーバレイトラフィックかを識別するトンネルスイッチと、パケットのヘッダ情報及び当該パケットの処理内容を対応付けてフローエントリとして記録するフローテーブルとを設け、
前記トンネルスイッチ内にある入力ポートと前記トンネルスイッチ内の前記オーバレイトラフィックのパケットに対する処理内容とを監視しかつその監視結果を前記フローテーブルに記録するオーバレイフロー監視処理を含み、
前記トンネルスイッチに、前記オーバレイトラフィックのパケットから抽出したヘッダ情報を検索キーとした前記フローテーブルの参照結果に基づいて当該オーバレイトラフィックのパケットを前記トンネルスイッチ内で処理させることを特徴とするプログラム。
【請求項３１】
アンダレイネットワークを構成するとともに、自ノード内に作成した複数の仮想ノードを用いて複数のオーバレイネットワークが構築され、前記複数の仮想ノード各々がオーバレイトラフィックを処理するネットワークノード内の中央処理装置に実行させるプログラムであって、
前記ネットワークノードに、外部からのトラフィックが前記一般のトラフィックか前記オーバレイトラフィックかを識別するトンネルスイッチと、パケットのヘッダ情報及び当該パケットの処理を対応付けてフローエントリとして記録するフローテーブルとを設け、
前記複数の仮想ノード各々に、前記オーバレイトラフィックを処理するためのオーバレイルーティング機能及びオーバレイフォワーディング機能を設け、
一般のトラフィックを処理するアンダレイルーティング処理及びアンダレイフォワーディング処理と、前記トンネルスイッチ内にある入力ポートと前記トンネルスイッチ内の前記オーバレイトラフィックのパケットに対する処理内容とを監視しかつその監視結果を前記フローテーブルに記録するオーバレイフロー監視処理を含み、
前記トンネルスイッチに、最初のオーバレイトラフィックのパケット以降のオーバレイトラフィックのパケットから抽出したヘッダ情報の検索キーを用いて前記フローテーブルを参照させ、その参照結果に基づいて当該オーバレイトラフィックのパケットを前記トンネルスイッチ内で処理させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はネットワークノード、ネットワーク及びそれらに用いるトンネルスイッチング方法並びにそのプログラムに関し、特にオーバレイネットワークを構成するネットワーク内部にあるオーバレイネットワークのトンネルトラフィックを振り分けるトンネルスイッチング方法に関する。
【背景技術】
【０００２】
本発明に関連するネットワーク機器では、データ転送に特化し、機器に搭載されているプロトコルを用いて、到着するデータのパケットを処理し、そのパケットを宛先へ転送している。
【０００３】
しかしながら、将来のインタネット環境では、様々なネットワークアプリケーション・サービスを提供するために、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ネットワーク等の一つの実ネットワーク（アンダレイネットワーク）上に複数の仮想ネットワーク（オーバレイネットワーク）が構築されると考えられる。
【０００４】
このインタネット環境では、一つの物理のネットワーク機器に対し、仮想化技術を用いて複数の仮想ノードを作成し、その仮想ノード上にサービスに対応するルーティングプロトコルを搭載することより、各サービスに対応する複数のオーバレイネットワークを作成することが可能になる。
【０００５】
しかしながら、この方式では、物理のネットワーク機器の一つに複数の仮想ノードを作成する場合、オーバレイネットワークのトラフィックがその仮想ノード上で処理されるため、処理のオーバヘッド、転送遅延、仮想ノードの高負荷という問題が発生する。
【０００６】
オーバレイネットワークノード及びネットワークの仮想化について、例えば、後述する非特許文献１に記載された技術がある。非特許文献１においては、現在の世界中の大規模のオーバレイネットワークの研究プロジェクトが開示されている。
【０００７】
この非特許文献１に記載の技術では、仮想化技術を利用し、サーバ上に複数のスライス（仮想ノード）を作成することができ、それらを複数の研究者に提供している。その各サーバは、世界の各地に置かれ、インタネットで接続されている。
【０００８】
各サーバでは、リソース［ＣＰＵ（中央処理装置）、メモリ等］が共用されて、スライス（仮想ノード）単位として、複数の研究者に提供されている。研究者は、インタネットで接続されるスライスを収集し、世界規模な仮想ネットワークのテストベッドを作成し、そのテストベッド上に独自のネットワーク関連のアプリケーションやプロトコルを搭載し、試験・検証を行っている。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】ＰｌａｎｅｔＬａｂ：Ａｎ  Ｏｖｅｒｌａｙ  Ｔｅｓｔｂｅｄ  ｆｏｒ  Ｂｒｏａｄ−Ｃｏｖｅｒａｇｅ  Ｓｅｒｖｉｃｅｓ［ｈｔｔｐ：／／ｗｗｗ．ｐｌａｎｅｔ−ｌａｂ．ｏｒｇ／ｆｉｌｅｓ／ｐｄｎ／ＰＤＮ−０３−００９／ｐｄｎ−０３−００９．ｐｄｆ］
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、上述した仮想ネットワークにおいては、複数のサーバ（ノード）が世界中に置かれているが、そのサーバがエンドノードとしてインタネットで接続されている。しかしながら、インタネット内部のネットワークのコアの部分は、一般のネットワーク機器（アンダレイネットワーク）であり、全体のオーバレイネットワークを作成しても、一般のネットワーク機器のパケット処理から影響を受けることになるという問題がある。
【００１１】
また、上記の仮想ネットワークでは、各サーバ上に仮想ノードが作成されるが、オーバレイネットワークの各トンネルのトラフィックが各仮想ノードへ転送され、仮想ノード上で処理された後、宛先へパケットを転送している。しかしながら、仮想ノードは、アプリケーションレベルで作成され、各仮想ノードがルーティングプロトコルの処理とデータ転送の処理との両方を担当する場合、仮想ノードの負荷が増加し、データ転送性能が低下するという問題がある。
【００１２】
そこで、本発明の目的は上記の問題点を解消し、仮想ノードの負荷の増加やデータ転送性能の低下を軽減することができるネットワークノード、ネットワーク及びそれらに用いるトンネルスイッチング方法並びにそのプログラムを提供することにある。
【課題を解決するための手段】
【００１３】
本発明による第１のネットワークノードは、外部からのトラフィックが一般のトラフィックかオーバレイトラフィックかを識別するトンネルスイッチと、
パケットのヘッダ情報及び当該パケットの処理内容を対応付けてフローエントリとして記録するフローテーブルと、
前記トンネルスイッチ内にある入力ポートと前記トンネルスイッチ内の前記オーバレイトラフィックのパケットに対する処理内容とを監視しかつその監視結果を前記フローテーブルに記録するオーバレイフロー監視機能とを備え、
前記オーバレイトラフィックのパケットから抽出したヘッダ情報を検索キーとした前記フローテーブルの参照結果に基づいて当該オーバレイトラフィックのパケットを前記トンネルスイッチ内で処理している。
【００１４】
本発明による第２のネットワークノードは、アンダレイネットワークを構成するとともに、自ノード内に作成した複数の仮想ノードを用いて複数のオーバレイネットワークが構築され、前記複数の仮想ノード各々がオーバレイトラフィックを処理するネットワークノードであって、
前記複数の仮想ノード各々の内部に、前記オーバレイトラフィックを処理するためのオーバレイルーティング機能及びオーバレイフォワーディング機能を有し、
一般のトラフィックを処理するアンダレイルーティング機能及びアンダレイフォワーディング機能と、
外部からのトラフィックが前記一般のトラフィックか前記オーバレイトラフィックかを識別するトンネルスイッチと、
パケットのヘッダ情報及び当該パケットの処理を対応付けてフローエントリとして記録するフローテーブルと、
前記トンネルスイッチ内にある入力ポートと前記トンネルスイッチ内の前記オーバレイトラフィックのパケットに対する処理内容とを監視しかつその監視結果を前記フローテーブルに記録するオーバレイフロー監視機能とを備え、
最初のオーバレイトラフィックのパケット以降のオーバレイトラフィックのパケットから抽出したヘッダ情報の検索キーを用いて前記フローテーブルを参照し、その参照結果に基づいて当該オーバレイトラフィックのパケットを前記トンネルスイッチ内で処理している。
【００１５】
本発明によるネットワークは、上記のネットワークノードを含むことを特徴とする。
【００１６】
本発明による第１のトンネルスイッチング方法は、アンダレイネットワークを構成するとともに、自ノード内に作成した複数の仮想ノードを用いて複数のオーバレイネットワークが構築され、前記複数の仮想ノード各々がオーバレイトラフィックを処理するネットワークノードに用いるトンネルスイッチング方法であって、
前記ネットワークノードに、外部からのトラフィックが一般のトラフィックか前記オーバレイトラフィックかを識別するトンネルスイッチと、パケットのヘッダ情報及び当該パケットの処理内容を対応付けてフローエントリとして記録するフローテーブルとを設け、
前記ネットワークノードが、前記トンネルスイッチ内にある入力ポートと前記トンネルスイッチ内の前記オーバレイトラフィックのパケットに対する処理内容とを監視しかつその監視結果を前記フローテーブルに記録するオーバレイフロー監視処理を実行し、
前記トンネルスイッチが、前記オーバレイトラフィックのパケットから抽出したヘッダ情報を検索キーとした前記フローテーブルの参照結果に基づいて当該オーバレイトラフィックのパケットを前記トンネルスイッチ内で処理している。
【００１７】
本発明による第２のトンネルスイッチング方法は、アンダレイネットワークを構成するとともに、自ノード内に作成した複数の仮想ノードを用いて複数のオーバレイネットワークが構築され、前記複数の仮想ノード各々がオーバレイトラフィックを処理するネットワークノードに用いるトンネルスイッチング方法であって、
前記ネットワークノードに、外部からのトラフィックが前記一般のトラフィックか前記オーバレイトラフィックかを識別するトンネルスイッチと、パケットのヘッダ情報及び当該パケットの処理を対応付けてフローエントリとして記録するフローテーブルとを設け、
前記複数の仮想ノード各々に、前記オーバレイトラフィックを処理するためのオーバレイルーティング機能及びオーバレイフォワーディング機能を設け、
前記ネットワークノードが、一般のトラフィックを処理するアンダレイルーティング処理及びアンダレイフォワーディング処理と、前記トンネルスイッチ内にある入力ポートと前記トンネルスイッチ内の前記オーバレイトラフィックのパケットに対する処理内容とを監視しかつその監視結果を前記フローテーブルに記録するオーバレイフロー監視処理とを実行し、
前記トンネルスイッチが、最初のオーバレイトラフィックのパケット以降のオーバレイトラフィックのパケットから抽出したヘッダ情報の検索キーを用いて前記フローテーブルを参照し、その参照結果に基づいて当該オーバレイトラフィックのパケットを前記トンネルスイッチ内で処理している。
【００１８】
本発明による第１のプログラムは、アンダレイネットワークを構成するとともに、自ノード内に作成した複数の仮想ノードを用いて複数のオーバレイネットワークが構築され、前記複数の仮想ノード各々がオーバレイトラフィックを処理するネットワークノード内の中央処理装置に実行させるプログラムであって、
前記ネットワークノードに、外部からのトラフィックが一般のトラフィックか前記オーバレイトラフィックかを識別するトンネルスイッチと、パケットのヘッダ情報及び当該パケットの処理内容を対応付けてフローエントリとして記録するフローテーブルとを設け、
前記トンネルスイッチ内にある入力ポートと前記トンネルスイッチ内の前記オーバレイトラフィックのパケットに対する処理内容とを監視しかつその監視結果を前記フローテーブルに記録するオーバレイフロー監視処理を含み、
前記トンネルスイッチに、前記オーバレイトラフィックのパケットから抽出したヘッダ情報を検索キーとした前記フローテーブルの参照結果に基づいて当該オーバレイトラフィックのパケットを前記トンネルスイッチ内で処理させることを特徴とする。
【００１９】
本発明による第２のプログラムは、アンダレイネットワークを構成するとともに、自ノード内に作成した複数の仮想ノードを用いて複数のオーバレイネットワークが構築され、前記複数の仮想ノード各々がオーバレイトラフィックを処理するネットワークノード内の中央処理装置に実行させるプログラムであって、
前記ネットワークノードに、外部からのトラフィックが前記一般のトラフィックか前記オーバレイトラフィックかを識別するトンネルスイッチと、パケットのヘッダ情報及び当該パケットの処理を対応付けてフローエントリとして記録するフローテーブルとを設け、
前記複数の仮想ノード各々に、前記オーバレイトラフィックを処理するためのオーバレイルーティング機能及びオーバレイフォワーディング機能を設け、
一般のトラフィックを処理するアンダレイルーティング処理及びアンダレイフォワーディング処理と、前記トンネルスイッチ内にある入力ポートと前記トンネルスイッチ内の前記オーバレイトラフィックのパケットに対する処理内容とを監視しかつその監視結果を前記フローテーブルに記録するオーバレイフロー監視処理を含み、
前記トンネルスイッチに、最初のオーバレイトラフィックのパケット以降のオーバレイトラフィックのパケットから抽出したヘッダ情報の検索キーを用いて前記フローテーブルを参照させ、その参照結果に基づいて当該オーバレイトラフィックのパケットを前記トンネルスイッチ内で処理させることを特徴とする。
【発明の効果】
【００２０】
本発明は、上記のような構成及び動作とすることで、仮想ノードの負荷の増加やデータ転送性能の低下を軽減することができるという効果が得られる。
【図面の簡単な説明】
【００２１】
【図１】本発明の第１の実施の形態によるネットワークノードの構成例を示すブロック図である。
【図２】本発明の第１の実施の形態によるネットワークノードの内部構成を示すブロック図である。
【図３】本発明の第１の実施の形態によるアンダレイネットワークの基本構成例を示すブロック図である。
【図４】本発明の第１の実施の形態によるオーバレイネットワーク（Ａ）の基本構成例を示すブロック図である。
【図５】本発明の第１の実施の形態によるオーバレイネットワーク（Ｂ）の基本構成例を示すブロック図である。
【図６】本発明の第１の実施の形態において最初のオーバレイトラフィックのパケットが到着した時にそのパケットが処理されるアクションを示す図である。
【図７】本発明の第１の実施の形態によるフローテーブルの構成例を示す図である。
【図８】本発明の第１の実施の形態においてオーバレイフロー監視機能により新たなオーバレイフローテーブルを作成する方法を示す図である。
【図９】本発明の第１の実施の形態を適用するオーバレイトラフィックのパケットの構成例を示す図である。
【図１０】図７のフローテーブルにあるフローエントリのヘッダフィールドの内部構成を示す図である。
【図１１】図１のネットワークノードによる最初のパケットに対する処理を示すフローチャートである。
【図１２】図１のネットワークノードによる最初のオーバレイトラフィックのパケット以降のパケットに対する処理を示すフローチャートである。
【図１３】図１のネットワークノードによる最初のオーバレイトラフィックのパケットの処理内容の優先度の高いオーバレイフローテーブルへの記録処理を示すフローチャートである。
【発明を実施するための形態】
【００２２】
次に、本発明の実施の形態について図面を参照して説明する。まず、本発明によるネットワークの概要について説明する。本発明によるネットワークでは、複数のオーバレイネットワークを作成するため、ネットワークノード上に複数の仮想ノードを作成している。
【００２３】
本発明によるネットワークを構成するネットワークノードでは、オーバレイネットワークのトンネル（仮想リンク）のトラフィックを処理するために、オーバレイトラフィックの最初のパケットを仮想ノード内にあるオーバレイルーティング機能及びオーバレイフォワーディング機能により処理する。また、ネットワークノードでは、その後に到着したオーバレイトラフィックをトンネルスイッチ内にあるフローテーブルのエントリを参照することにより、オーバレイトラフィックを高速に転送している。
【００２４】
つまり、上記のネットワークノードは、ネットワークノードの外部からのトラフィックが、一般のトラフィックか、オーバレイのトラフィックかを識別するトンネルスイッチを備えている。
【００２５】
このトンネルスイッチでは、パケットのヘッダ部にあるアウタＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ヘッダ、トンネルヘッダ、インナＩＰヘッダの情報により、一般のパケットデータとオーバレイパケットデータとを区別する。さらに、トンネルスイッチでは、そのパケットのヘッダ部から抽出した情報を検索キーとし、フローテーブルに記録されているエントリを参照し、そのパケットの処理を判断する。
【００２６】
トンネルスイッチ内のパケットの処理（アクション）では、一般のトラフィックのパケットをアンダレイフォワーディング機能に振り分け、アンダレイトラフィックの処理を委託する。また、オーバレイのトラフィックのパケットは、フローエントリのパケット処理に定義されたアクションにより、アウタのＩＰヘッダをＤｅｃａｐ（取り除く：カプセル開放）し、トンネルスイッチの出力ポートに振り分け、仮想ノードへ転送する。
【００２７】
さらに、ネットワークノードの内部にある仮想ノードからトンネルスイッチに戻って来るパケットについては、フローエントリのパケット処理に定義されたアクションにより、新しいアウタのＩＰヘッダをＥｎｃａｐ（カプセル化）し、アンダレイフォワーディング機能に送信する。アンダレイフォワーディング機能は、アウタのＩＰヘッダの情報を用いて、オーバレイトラフィックのパケットを外部に転送する。
【００２８】
上記のトンネルスイッチは、トンネルスイッチ内にある入力ポートを監視し、オーバレイトラフィックのオーバレイネットワークキーとインナのＩＰヘッダ情報とを参照キーとして記録するオーバレイフロー監視機能を備えている。オーバレイフロー監視機能は、オーバレイトラフィックのパケットがネットワークノード内で処理される各アクションを、その情報を一時的に保存する一時保存テーブルに、参照キー単位で記録する。
【００２９】
オーバレイフロー監視機能は、各オーバレイトラフィックのフローの処理されたアクションであるＤｅｃａｐ，Ｅｎｃａｐ，出力ポートの情報が一時保存テーブルに一時保存されたら、一時保存テーブル上の情報を優先度の高いエントリとして、上位の優先度の高いオーバレイフローテーブルに記録する。このエントリは、３つアクション：Ｄｅｃａｐ，Ｅｎｃａｐ（新しいＩＰヘッダ情報を付ける），出力ポートの情報を記録する。
【００３０】
したがって、トンネルスイッチでは、最初のパケット以降のオーバレイトラフィックのパケットから抽出したヘッダ情報の検索キーで、優先度の高いオーバレイフローテーブルを参照し、そのオーバレイトラフィックのパケットを仮想ノード内で処理せず、トンネルスイッチ内でそのエントリのパケット処理の３つのアクションであるＤｅｃａｐ，Ｅｎｃａｐ，出力ポートにより、新しいアウタのＩＰヘッダを追加する。
【００３１】
トンネルスイッチ内では、オーバレイトラフィックのパケットから抽出した検索キーを基にフローテーブルを参照し、フローテーブルのエントリにヒットしない場合、その検索キーの入力ポートの情報のみで一番優先度が低いエントリにヒットさせ、そのパケットをアンダレイフォワーディング機能へ転送している。
【００３２】
このように、本発明によるネットワークノードでは、オーバレイトラフィックのパケットのヘッダから抽出された検索キーでフローテーブルのエントリを参照した結果から、そのパケット処理の３つアクションを決定しているので、トンネルスイッチ内でオーバレイトラフィックのパケットを処理することができる。
【００３３】
よって、本発明によるネットワークノードでは、全体のオーバレイネットワークを作成しても、一般のネットワーク機器のパケット処理から影響を受けることなく、仮想ノードの負荷の増加やデータ転送性能の低下を軽減することができる。
【００３４】
図１は本発明の第１の実施の形態によるネットワークノードの構成例を示すブロック図である。図１において、本発明の第１の実施の形態によるネットワークノード１は、トンネルスイッチ１１と、一般のトラフィックを処理するアンダレイフォワーディング機能１２と、仮想ノード１３と、とを備えている。
【００３５】
トンネルスイッチ１１は、Ｄｅｃａｐアクション１１１と、Ｅｎｃａｐアクション１１２と、オーバレイフロー監視機能１１３と、物理ネットワークインタフェース１１４とを備え、フローテーブル１４ｂのエントリにより物理ネットワークインタフェース１１４へ転送するアクション（図示せず）を有している。
【００３６】
仮想ノード１３は、オーバレイトラフィックを処理するオーバレイフォワーディング機能１３１と、仮想ネットワークインタフェース１３２とを備えている。優先度の高いオーバレイフローテーブル１４ａは、オーバレイフロー監視機能１１３からのエントリを記録する。
【００３７】
まず、最初の外部からのパケットが、ネットワークノード１の物理ネットワークインタフェース１１４に到着した場合、その物理ネットワークインタフェース１１４が接続されているトンネルスイッチ１１は、パケットのヘッダを抽出し、一般のトラフィックのパケットとオーバレイトラフィックのパケットとを区別する。
【００３８】
トンネルスイッチ１１は、抽出したヘッダの情報を検索キーとして、フローテーブル１４ｂに記録されているフローエントリを参照する。トンネルスイッチ１１は、フローエントリを参照した結果から、一般のトラフィックのパケットと判定したパケットをアンダレイフォワーディング機能１２へ転送する。アンダレイフォワーディング機能１２は、そのパケットをアンダレイのパケット転送処理方法により処理し、物理ネットワークインタフェース１１４へ転送する。
【００３９】
また、トンネルスイッチ１１は、フローエントリを参照した結果、オーバレイトラフィックのパケットと判定したパケットに対して、アウタのＩＰヘッダをＤｅｃａｐアクション１１１による取り除き、フローエントリに記載されているパケット処理のアクションにより、宛先の仮想ノード１３へ転送する（図１の２１０参照）。
【００４０】
仮想ノード１３内部では、転送されてきたパケットに対して、オーバレイフォワーディング機能１３１によりパケットの転送先を判断し、仮想ネットワークインタフェース１３２へ出力する。
【００４１】
仮想ノード１３からトンネルスイッチ１１に戻ってきたパケット２１１に対して、トンネルスイッチ１１は、その接続されている仮想ネットワークインタフェース１３２の情報から、再びフローテーブル１４ｂ内のエントリを参照し、仮想リンク（トンネル）の送信元アドレスと送信先アドレスとを判断する。トンネルスイッチ１１は、パケット処理の処理アクションであるＥｎｃａｐアクション１１２により仮想リンクの送信元アドレスと送信先アドレスとを新しいアウタのＩＰヘッダとして追加し、アンダレイフォワーディング機能１２へ転送する。
【００４２】
アンダレイフォワーディング機能１２では、アウタのＩＰヘッダを用いて、パケットの転送先及び出力インタフェースを判断し、物理ネットワークインタフェース１１４へ転送する。
【００４３】
ここで、オーバレイフロー監視機能１１３は、最初のオーバレイフローが通過する時に、物理ネットワークインタフェース１１４と、仮想ノード１３とトンネルスイッチ１１とが接続される仮想ネットワークインタフェース１３２と、トンネルスイッチ１１とアンダレイフォワーディング機能１２とが接続されるポートの３箇所を監視する（図１の２１３参照）。
【００４４】
オーバレイフロー監視機能１１３は、その通過したオーバレイトラフィックのパケットが処理されるアクションと最後に出力される物理インタフェースとを記録し、その記録したパケット処理のアクションであるＤｅｃａｐ，Ｅｎｃａｐ，出力インタフェースの情報を一時保存テーブル１４ｃに記録する（図１の２１６参照）。この場合、一時保存テーブル１４ｃには、「Ｋｅｙ｜Ｉｎｎｅｒ  ＩＰ  Ｈｅａｄｅｒ」，「Ｄｅｃａｐ」，「Ｅｎｃａｐ（Ｎｅｗ  Ｏｕｔｅｒ  ＩＰ  Ｈｅａｄｅｒ）」，「Ｆｏｒｗａｒｄ（Ｏｕｔｐｕｔ  Ｉ／Ｆ）」，「Ｈｅａｄｅｒ  Ｆｉｅｌｄｓ」が記録される（図１参照）。
【００４５】
一時保存テーブル１４ｃに上記のパケット処理の３つのアクションであるＤｅｃａｐ，Ｅｎｃａｐ，出力インタフェースの決定が記録された後、オーバレイフロー監視機能１１３は、その参照キーであるオーバレイネットワークのキーと、インナのＩＰアドレスと、Ｄｅｃａｐする前のアウタのＩＰアドレスとを検索キーとし、３つのアクションを新しいアクション群として、フローテーブル１４ｂの上位である優先度の高いオーバレイフローテーブル１４ａに登録する（図１の２１５参照）。優先度の高いオーバレイフローテーブル１４ａには、「アクション：・Ｄｅｃａｐ・Ｅｎｃａｐ・Ｆｏｒｗａｒｄ（Ｏｕｔｐｕｔ  Ｉ／Ｆ）」が登録される。
【００４６】
したがって、最初のオーバレイトラフィックのパケット（Ｌｏｎｇ  Ｐａｔｈ  Ｆｏｒｗａｒｄｉｎｇ）２１３は、外部からパケットがネットワークノード１に到着した後、トンネルスイッチ１１内部と、仮想ネットワークのオーバレイフォワーディング機能１３１と、アンダレイフォワーディング機能１２とにより、Ｄｅｃａｐ，Ｅｎｃａｐ，出力インタフェースの決定の順番で処理される。
【００４７】
オーバレイフロー監視機能１１３は、その各処理を監視し、その監視結果を優先度の高いオーバレイフローテーブル１４ａに記録する。これによって、トンネルスイッチ１１では、最初のオーバレイトラフィックのパケット２１３の以降に到着するパケット（Ｓｈｏｒｔ  Ｐａｔｈ  Ｆｏｒｗａｒｄｉｎｇ）２１４に対する処理を、優先度の高いオーバレイフローテーブル１４ａ内のエントリを参照して行う。
【００４８】
つまり、トンネルスイッチ１１では、オーバレイトラフィックのパケットのヘッダから抽出された検索キーと優先度の高いオーバレイフローテーブル１４ａ内のフローエントリとを参照した結果から、そのパケット処理の３つアクションが決定されるので、オーバレイトラフィックのパケットをトンネルスイッチ１１内で処理することができる。
【００４９】
よって、本発明による第１の実施の形態によるネットワークノード１では、全体のオーバレイネットワークを作成しても、一般のネットワーク機器のパケット処理から影響を受けることなく、仮想ノード１３の負荷の増加やデータ転送性能の低下を軽減することができる。
【００５０】
図２は本発明の第１の実施の形態によるネットワークノード１の内部構成を示すブロック図である。図２において、ネットワークノード１内では、複数の仮想ノード（Ａ，Ｂ）１３ａ，１３ｂを作成することができる。
【００５１】
仮想ノード（Ａ，Ｂ）１３ａ，１３ｂ内には、オーバレイトラフィックを処理するオーバレイルーティング機能１３３ａ，１３３ｂと、オーバレイフォワーディング機能１３１ａ，１３１ｂとが搭載されている。
【００５２】
さらに、ネットワークノード１内では、アンダレイトラフィックといった一般のトラフィックをアンダレイルーティング機能１５とアンダレイフォワーディング機能１２とにより処理する。
【００５３】
ネットワークノード１内部では、物理ネットワークインタフェース１１４に接続される場所にトンネルスイッチ１１が搭載され、到着したトラフィックの一般のパケットとオーバレイパケットとを識別し、フローテーブル［ＤＢ（データベース）１４］に記録されているフローエントリを参照して、そのパケットの処理するアクションと転送先の出力インタフェースとの決定を行う。
【００５４】
トンネルスイッチ１１は、その内部に、上記のオーバレイフロー監視機能１１３と、Ｄｅｃａｐアクション１１１及びＥｎｃａｐアクション１１２を含むアクション１１０とを備えている。
【００５５】
図３は本発明の第１の実施の形態によるアンダレイネットワーク（実ネットワーク）の基本構成例を示すブロック図であり、図４は本発明の第１の実施の形態によるオーバレイネットワーク（仮想ネットワーク）（Ａ）の基本構成例を示すブロック図であり、図５は本発明の第１の実施の形態によるオーバレイネットワーク（仮想ネットワーク）（Ｂ）の基本構成例を示すブロック図である。
【００５６】
図３において、アンダレイネットワーク１００は、オーバレイネットワークを構築するオーバレイノード（ネットワークノード）１−０〜１−４から構成されている。オーバレイノード１−０〜１−４は、仮想ノード（Ａ）１３ａ−０〜１３ａ−２，１３ａ−４と、仮想ノード（Ｂ）１３ｂ−０，１３ｂ−１，１３ｂ−３，１３ｂ−４とが搭載され、アンダレイリンク（物理リンク）２３０〜２３３で接続されている。
【００５７】
図４において、オーバレイネットワーク（Ａ）１４０は、オーバレイノード１−０〜１−２，１−４上の仮想ノード（Ａ）１３ａ−０〜１３ａ−２，１３ａ−４をオーバレイリンク（仮想リンク）（トンネル）１４１〜１４４で接続して構築されている。
【００５８】
図５において、オーバレイネットワーク（Ｂ）１５０は、オーバレイノード１−０，１−１，１−３，１−４上の仮想ノード（Ｂ）１３ｂ−０，１３ｂ−１，１３ｂ−３，１３ｂ−４をオーバレイリンク（仮想リンク）（トンネル）１５１〜１５４で接続して構築されている。
【００５９】
図６は本発明の第１の実施の形態において最初のオーバレイトラフィックのパケットが到着した時にそのパケットが処理されるアクションを示す図である。図６において、外部から最初のオーバレイトラフィックのパケットがネットワークノード１の物理ネットワークインタフェース１１４に到着した場合、その物理ネットワークインタフェース１１４が接続されているトンネルスイッチ１１は、そのパケットのヘッダを抽出し、一般のトラフィックのパケットとオーバレイトラフィックのパケットを区別する。
【００６０】
トンネルスイッチ１１は、抽出したヘッダの情報を検索キーとして、フローテーブル１４ｂに記録されているフローエントリを参照する。トンネルスイッチ１１は、フローエントリを参照した結果から、一般のトラフィックのパケットと判定したパケットをアンダレイフォワーディング機能１２へ転送する。アンダレイフォワーディング機能１２は、そのパケットをアンダレイのパケット転送処理方法により処理し、物理ネットワークインタフェース１１４へ転送する。
【００６１】
また、トンネルスイッチ１１は、フローエントリを参照した結果、オーバレイトラフィックのパケットと判定したパケットに対して、そのパケットのアウタのＩＰヘッダをＤｅｃａｐアクション１１１にて取り除き、フローエントリに記載されているパケット処理のアクションにより、宛先の仮想ノード１３へ転送する（図６の３１０参照）。
【００６２】
仮想ノード１３内部では、転送されてきたパケットに対して、オーバレイフォワーディング機能１３１によりパケットの転送先を判断し、仮想ネットワークインタフェース１３２へ出力する。
【００６３】
トンネルスイッチ１１は、仮想ノード１３から戻ってきたパケット（３１１）に対して、その接続されている仮想ネットワークインタフェース１３２の情報を検索キーとして、再びフローテーブル１４ｂ内のエントリを参照し、仮想リンク（トンネル）の送信元アドレスと送信先アドレスとを判断する。
【００６４】
その後に、トンネルスイッチ１１は、Ｅｎｃａｐアクション１１２により仮想リンクの送信元アドレスと送信先アドレスとを新しいアウタのＩＰヘッダとして追加し、アンダレイフォワーディング機能１２へ転送する。
【００６５】
アンダレイフォワーディング機能１２では、アウタのＩＰヘッダを用いて、パケットの転送先及び出力インタフェースを判断し、パケットを物理ネットワークインタフェース１１４へ送出する。
【００６６】
図７は本発明の第１の実施の形態によるフローテーブルの構成例を示す図である。図７において、フローテーブル１４ｂは、フローエントリ１４０ｂを記録しており、フローエントリ１４０ｂは、参照されるヘッダフィールド１４１ｂ（「ヘッダ・フィールド＃１」〜「ヘッダ・フィールド＃ｎ」）と、その参照した結果からのパケットの処理及び伝送先の判断するアクション１４２ｂ（「アクション＃１」〜「アクション＃ｎ」）とを記載している。
【００６７】
トンネルスイッチ１１は、到着したオーバレイヘッダの情報から、アウタのＩＰヘッダと、オーバレイネットワークのキーと、インナのＩＰヘッダとを抽出し、それらを検索キーとして、フローテーブル１４ｂ内にあるフローエントリ１４０ｂを参照することより、各パケット処理のアクション及び振り分けを行う。
【００６８】
図８は本発明の第１の実施の形態においてオーバレイフロー監視機能１１３により新たなオーバレイフローテーブルを作成する方法を示す図である。
【００６９】
トンネルスイッチ１１内のオーバレイフロー監視機能１１３は、最初のオーバレイフローが通過する時に、入力ネットワークインタフェース（物理ネットワークインタフェース１１４）と、仮想ノード１３とトンネルスイッチ１１とが接続される仮想ネットワークインタフェース１３２と、トンネルスイッチ１１とアンダレイフォワーディング機能１２とが接続されるポートの３箇所を監視する。オーバレイフロー監視機能１１３は、その通過したオーバレイトラフィックのパケットが処理されるアクションと最後に出力される物理インタフェースとを記録し（図８の２１６参照）、その記録したパケット処理のアクションであるＤｅｃａｐ，Ｅｎｃａｐ，出力インタフェースの情報を一時保存テーブル１４ｃに記録する。
【００７０】
つまり、一時保存テーブル１４ｃにおいては、「ｋｅｙ」，「Ｉｎｎｅｒ  ＩＰ  Ｓｒｃ  Ａｄｄｒ」，「Ｉｎｎｅｒ  ＩＰ  Ｄｓｔ  Ａｄｄｒ」１４２ｃと、「Ｄｅｃａｐ」：「Ｏｌｄ  Ｏｕｔｅｒ  ＩＰ  Ｈｅａｄｅｒ」１４３ｃと、「Ｅｎｃａｐ」：「Ｎｅｗ  Ｏｕｔｅｒ  ＩＰ  Ｈｅａｄｅｒ」１４４ｃと、「Ｆｏｒｗａｒｄ」：「Ｏｕｔｐｕｔ  Ｉｎｔｅｒｆａｃｅ」１４５ｃとからなるフローエントリ１４１ｃが記録される。
【００７１】
一時保存テーブル１４ｃに上記のパケット処理の３つのアクションであるＤｅｃａｐ，Ｅｎｃａｐ，出力インタフェースの決定を記録した後、オーバレイフロー監視機能１１３は、その参照キーであるオーバレイネットワークのキーと、インナのＩＰアドレスと、Ｄｅｃａｐする前のアウタのＩＰアドレスとを検索キーとし、３つのアクションを新しいアクション群として、フローテーブル１４ｂの上位である優先度の高いオーバレイフローテーブル１４ａに記録する。
【００７２】
したがって、最初のオーバレイトラフィックのパケットは、外部からパケットがネットワークノード１に到着した後、トンネルスイッチ１１内部と、仮想ネットワークのオーバレイフォワーディング機能１３１と、アンダレイフォワーディング機能１２とにより、Ｄｅｃａｐ，Ｅｎｃａｐ，出力インタフェースの決定が順番で処理される。
【００７３】
オーバレイフロー監視機能１１３は、その各処理を監視し、監視結果を優先度の高いオーバレイフローテーブル１４ａに記録することで、最初のオーバレイトラフィックのパケットの以降に到着するパケットに対しては、トンネルスイッチ１１が優先度の高いオーバレイフローテーブル１４ａ内のエントリを参照して処理が行われる。
【００７４】
そのため、トンネルスイッチ１１では、オーバレイトラフィックのパケットのヘッダから抽出した検索キーでフローエントリを参照した結果から、そのパケット処理の３つアクションを決定するので、トンネルスイッチ１１内部で、最初のオーバレイトラフィックのパケットの以降に到着するオーバレイトラフィックのパケットを処理することができる。
【００７５】
図９は本発明の第１の実施の形態を適用するオーバレイトラフィックのパケットの構成例を示す図である。図９において、オーバレイトラフィックのパケットは、トンネルスイッチ１１がオーバレイトラフィックのアウタ・ヘッダ４０１のアウタＩＰアドレス（アウタＳｒｃ  ＩＰ  Ａｄｄ４０５，アウタＤｓｔ  ＩＰ  Ａｄｄ４０６）と、トンネル・ヘッダ４０２のオーバレイネットワークキー４０７と、インナ・ヘッダ４０３のインナＩＰアドレス（インナＳｒｃ  ＩＰ  Ａｄｄ４０８，インナＤｓｔ  ＩＰ  Ａｄｄ４０９）とを抽出し、それらを検索キーとして、フローテーブル１４ｂのフローエントリを参照し、パケット処理のアクションを判断する。尚、図９において、４０４はペイロードである。
【００７６】
図１０は図７のフローテーブル１４ｂにあるフローエントリ１４０ｂのヘッダフィールド１４１ｂの内部構成を示す図である。図１０において、フローエントリ１４０ｂのヘッダフィールド１４１ｂは、アウタのＩＰヘッダと、オーバレイネットワークキーと、インナのＩＰヘッダから抽出されたパケットヘッダ部とから構成されている。
【００７７】
つまり、ヘッダフィールド１４１ｂは、「Ｉｎｐｕｔ  Ｐｏｒｔ」，「Ｅｔｈｅｒ（登録商標）  Ｓｏｕｒｃｅ」，「Ｅｔｈｅｒ（登録商標）  Ｄｅｓｔ」，「Ｅｔｈｅｒ（登録商標）  Ｔｙｐｅ」，「ＶＬＡＮ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｒｏｋ）  ｉｄ」，「Ｏｕｔｅｒ  ＩＰ  Ｓｒｃ  Ａｄｄｒ」，「Ｏｕｔｅｒ  ＩＰ  Ｄｓｔ  Ａｄｄｒ」，「Ｔｕｎｎｅｌ  Ｐｒｏｔｏ  Ｔｙｐｅ」，「Ｉｎｎｅｒ  Ｐｒｏｔｏ  Ｔｙｐｅ」，「Ｏｖｅｒ−ｌａｙ  Ｋｅｙ」，「Ｉｎｎｅｒ  ＩＰ  Ｓｒｃ  Ａｄｄｒ」，「Ｉｎｎｅｒ  ＩＰ  Ｄｓｔ  Ａｄｄｒ」からなる。
【００７８】
また、ヘッダフィールド１４１ｂは、対応するアクション１４２ｂ（「アクション：・Ｄｅｃａｐ・Ｅｎｃａｐ・Ｆｏｒｗａｒｄ（Ｏｕｔｐｕｔ  Ｉ／Ｆ）」）があるため、検索キーからの参照でヒットしたエントリからパケット処理の実行するアクションを判断することができる。
【００７９】
図８に示すように、オーバレイフロー監視機能１１３は、最初のオーバレイトラフィックの各処理のＤｅｃａｐ，Ｅｎｃａｐ，出力ポート（インタフェース）をオーバレイネットワークのキーとインナのＩＰヘッダの単位とで記録し、一時保存テーブル１４ｃに記録する。全ての３つのＤｅｃａｐ，Ｅｎｃａｐ，出力ポートが記録された後、オーバレイフロー監視機能１１３は、新しいヘッダフィールドと３つのアクション群とを上位の優先度の高いオーバレイフローテーブル１４ａに記録する。
【００８０】
図１１は図１のネットワークノード１による最初のパケットに対する処理を示すフローチャートであり、図１２は図１のネットワークノード１による最初のオーバレイトラフィックのパケット以降のパケットに対する処理を示すフローチャートであり、図１３は図１のネットワークノード１による最初のオーバレイトラフィックのパケットの処理内容の優先度の高いオーバレイフローテーブル１４ａへの記録処理を示すフローチャートである。
【００８１】
これら図１〜図１３を参照してネットワークノード１による処理について説明する。尚、図１１〜図１３に示す処理は、ネットワークノード１内の制御部［例えば、ＣＰＵ（中央処理装置）等］がメモリ等に格納したプログラムを実行することで実現される。
【００８２】
ネットワークノード１では、トンネルスイッチ１１により最初のパケットに対して、一般のトラフィックとオーバレイのトラフィックとが識別され、オーバレイトラフィックのバケットと判定された場合、ヘッダフィールドから抽出した検索キーを用いて、フローテーブル１４ｂを参照し、各パケット処理のアクションが判断される。
【００８３】
ネットワークノード１では、トンネルスイッチ１１により、パケットのヘッダ部から検索キーの情報が抽出され（図１１ステップＳ１）、検索キーにオーバレイネットワークのキーがあるかが判定される（図１１ステップＳ２）。
【００８４】
トンネルスイッチ１１は、オーバレイネットワークのキーがない場合、フローテーブル１４ｂを参照し、そのパケットをアンダレイフォワーディング機能１２へ振り分ける（図１１ステップＳ３）。
【００８５】
トンネルスイッチ１１は、オーバレイネットワークのキーがある場合、フローテーブル１４ｂを参照し、そのパケットに対して、パケット処理のＤｅｃａｐアクション１１１を実行し、仮想ノード１３へ転送する（図１１ステップＳ４）。仮想ノード１３においては、オーバレイフォワーディング機能１３１により転送先へパケットが転送される（図１１ステップＳ５）。
【００８６】
トンネルスイッチ１１は、フローテーブル１４ｂを参照し、パケット処理のＥｎｃａｐアクション１１２を実行し、アンダレイフォワーディング機能１２へ転送する（図１１ステップＳ６）。アンダレイフォワーディング機能１２は、パケットの転送先を決定し、その転送先へ送出する（図１１ステップＳ７）。
【００８７】
ネットワークノード１では、最初のオーバレイトラフィックのパケットを処理した後、新しい優先度の高いオーバレイフローテーブル１４ａが作成されることより、そのパケット以降に後到着したパケットを上位にある優先度の高いオーバレイフローテーブル１４ａを参照することより、Ｄｅｃａｐ，Ｅｎｃａｐ，出力ポートを判断し、トンネルスイッチ１１内で各アクションを処理し、パケットを転送先に送出する。
【００８８】
ネットワークノード１では、トンネルスイッチ１１により、パケットのヘッダ部から検索キーの情報を抽出し（図１２ステップＳ１１）、上位の優先度の高いオーバレイフローテーブル１４ａのエントリを参照する（図１２ステップＳ１２）。
【００８９】
トンネルスイッチ１１は、検索キーでヘッダフィールドとヒットしなければ（図１２ステップＳ１３）、下位のフローテーブル１４ｂのエントリを参照する（図１２ステップＳ１４）。
【００９０】
トンネルスイッチ１１は、検索キーでヘッダフィールドとヒットすれば（図１２ステップＳ１３）、３つのパケット処理のアクション：Ｄｅｃａｐ、Ｅｎｃａｐ、出力インタフェースを実行し、パケットを送出する（図１２ステップＳ１５）。
【００９１】
ネットワークノード１では、最初のオーバレイトラフィックのパケットが処理される時、トンネルスイッチ１１のオーバレイフロー監視機能１１３で各処理アクションを記録し、その３つのアクション群と新しいヘッダフィールドとを優先度の高いオーバレイフローテーブル１４ａに記録する。
【００９２】
ネットワークノード１では、トンネルスイッチ１１のオーバレイフロー監視機能１１３により物理ポートを監視し、パケットのＤｅｃａｐアクション１１１を記録する（図１３ステップＳ２１）。
【００９３】
オーバレイフロー監視機能１１３は、仮想ノード１３との仮想ポート（仮想ネットワークインタフェース１３２）を監視し、パケットのＥｎｃａｐアクション１１２を記録する（図１３ステップＳ２２）。
【００９４】
オーバレイフロー監視機能１１３は、アンダレイフォワーディング機能１２とのポートを監視し、パケットの出力先のアクションを記録する（図１３ステップＳ２３）。
【００９５】
オーバレイフロー監視機能１１３は、３つのアクション：Ｄｅｃａｐ、Ｅｎｃａｐ、出力先が記録されるのでなければ（図１３ステップＳ２４）、待機する（図１３ステップＳ２５）。
【００９６】
オーバレイフロー監視機能１１３は、３つのアクション：Ｄｅｃａｐ、Ｅｎｃａｐ、出力先が記録されるのであれば（図１３ステップＳ２４）、上位の優先度が高いオーバレイフローテーブル１４ａへフローエントリを登録する（図１３ステップＳ２６）。
【００９７】
このように、本実施の形態では、複数のオーバレイネットワーク１４０，１５０を構築するために、ネットワークノード１−０〜１−４上に複数の仮想ノード（Ａ，Ｂ）１３ａ，１３ｂを作成する場合、オーバレイネットワーク１４０，１５０のトンネルトラフィックのパケットを、最初のパケットが仮想ノード（Ａ，Ｂ）１３ａ，１３ｂ内にあるオーバレイルーティング機能１３３ａ，１３３ｂとオーバレイフォワーディング機能１３１ａ，１３１ｂとにより処理される。
【００９８】
さらに、本実施の形態では、この最初のパケット以降の同じトラフィックフローのパケットに対して、オーバレイフロー監視機能１１３により登録されたオーバレイフローテーブル１４ａ内にあるエントリを参照し、そのエントリの内容にしたがって処理している。
【００９９】
よって、本実施の形態では、オーバレイトラフィックのパケットに対して、最初のパケット以外のパケットが、トンネルスイッチ１１内にあるオーバレイフローテーブル１４ａ、フローテーブル１４ｂの参照により処理するため、オーバレイトラフィック処理の高速化を可能とし、仮想ノード（Ａ，Ｂ）１３ａ，１３ｂのパケット処理による負荷を低減することができる。
【０１００】
つまり、本実施の形態では、全体のオーバレイネットワークを作成しても、一般のネットワーク機器のパケット処理から影響を受けることなく、仮想ノード（Ａ，Ｂ）１３ａ，１３ｂの負荷の増加やデータ転送性能の低下を軽減することができる。
【０１０１】
尚、上記の実施の形態においては、仮想ノード１３や仮想ノード（Ａ，Ｂ）１３ａ，１３ｂについて述べたが、他のオーバレイノード１−０〜１−４をネットワークノード１と同様の構成及び動作とすることで、仮想ノード（Ａ）１３ａ−０〜１３ａ−２，１３ａ−４や仮想ノード（Ｂ）１３ｂ−０，１３ｂ−１，１３ｂ−３，１３ｂ−４についても、本発明を適用することができる。
【０１０２】
上記のように、本発明は、最初に到着したオーバレイトラフィックのパケットを仮想ノード上で処理するが、その後のパケットを、トンネルスイッチ１１内で処理することができるため、パケット転送の処理性能を向上させることができ、仮想ノード１３，仮想ノード（Ａ）１３ａ，仮想ノード（Ｂ）１３ｂ内のパケット転送処理負荷を減少させることができるため、より多く仮想ノードを搭載することができる。
【符号の説明】
【０１０３】
１，１−０〜１−４  ネットワークノード（オーバレイノード）
１１  トンネルスイッチ
１２  アンダレイフォワーディング機能
１３  仮想ノード
１３ａ，
１３ａ−０〜１３ａ−２，
１３ａ−４  仮想ノード（Ａ）
１３ｂ，
１３ｂ−０，１３ｂ−１，
１３ｂ−３，１３ａ−４  仮想ノード（Ｂ）
１４  データベース
１４ａ  優先度の高いオーバレイフローテーブル
１４ｂ  フローテーブル
１４ｃ  一時保存テーブル
１５  アンダレイルーティング機能
１００  アンダレイネットワーク
１１０  アクション
１１１  Ｄｅｃａｐアクション
１１２  Ｅｎｃａｐアクション
１１３  オーバレイフロー監視機能
１１４  物理ネットワークインタフェース
１３１，１３１ａ，１３１ｂ  オーバレイフォワーディング機能
１３２  仮想ネットワークインタフェース
１３３ａ，１３３ｂ  オーバレイルーティング機能
１４０，１５０  オーバレイネットワーク
１４１〜１４４，
１５１〜１５４  オーバレイリンク（仮想リンク）
２３０〜２３３  アンダレイリンク（物理リンク）
【図１】
2010226545.tif 000003
【図２】
2010226545.tif 000004
【図３】
2010226545.tif 000005
【図４】
2010226545.tif 000006
【図５】
2010226545.tif 000007
【図６】
2010226545.tif 000008
【図７】
2010226545.tif 000009
【図８】
2010226545.tif 000010
【図９】
2010226545.tif 000011
【図１０】
2010226545.tif 000012
【図１１】
2010226545.tif 000013
【図１２】
2010226545.tif 000014
【図１３】
2010226545.tif 000015