(57)【要約】【課題】無線通信路をトンネリングするときに、データ転送のスループットの低下を抑制する。【解決手段】パケットカプセル化装置１０は、第１端末と対向端末である第２端末との間の通信における初回パケットに、カプセル化のためのヘッダを付加することによってカプセル化し、カプセル化されたパケットを受信したときにカプセル化を解除するカプセル化手段１１と、無線通信路における初回パケットに後続するパケットの経路を特定可能なデータを記憶する記憶手段１２と、初回パケットに後続するパケットを、カプセル化せずに、パケットの経路を特定可能なデータに従って無線通信路に送出する非カプセル化パケット送信手段１３とを含む。【選択図】図１３
2020141363.tif 000002
【特許請求の範囲】
【請求項１】
通信を行う複数の端末間の通信路に含まれる無線通信路におけるトンネリングのためのカプセル化を行うパケットカプセル化方法であって、
第１端末から対向端末である第２端末への第１初回パケットに、カプセル化のためのヘッダを付加することによってカプセル化し、
前記無線通信路における前記第１初回パケットに後続するパケットの経路を特定可能なデータを記憶し、
前記第２端末から前記第１端末への第２初回パケットに、カプセル化のためのヘッダを付加することによってカプセル化し、
前記無線通信路における前記第２初回パケットに後続するパケットの経路を特定可能なデータを記憶し、
前記第１初回パケットに後続するパケットおよび前記第２初回パケットに後続するパケットを、カプセル化せずに、前記パケットの経路を特定可能なデータに従って前記無線通信路に送出する
ことを特徴とするパケットカプセル化方法。
【請求項２】
前記第１初回パケットおよび前記第２初回パケットにＧＲＥヘッダを付加してカプセル化を行う
請求項１記載のパケットカプセル化方法。
【請求項３】
パケットの経路を特定可能なデータを、オープンフローにおけるフローとして記憶する
請求項１または請求項２記載のパケットカプセル化方法。
【請求項４】
前記第１初回パケットに後続するパケットの経路を特定可能なデータは、前記第１端末からのパケットを受信する第１装置における前記後続するパケットを送信するインタフェースと、前記第２端末からのパケットを受信する第２装置における前記第１装置からのパケットを受信するインタフェースとを特定可能なデータであり、
前記第１初回パケットに後続するパケットを前記無線通信路に送出するときに、前記パケットの経路を特定可能なデータに従って、パケットのヘッダを書き換える
請求項１から請求項３のうちのいずれか１項に記載のパケットカプセル化方法。
【請求項５】
前記第２初回パケットに後続するパケットの経路を特定可能なデータは、前記第２端末からのパケットを受信する第２装置における前記後続するパケットを送信するインタフェースと、前記第１端末からのパケットを受信する第１装置における前記第２装置からのパケットを受信するインタフェースとを特定可能なデータであり、
前記第２初回パケットに後続するパケットを前記無線通信路に送出するときに、前記パケットの経路を特定可能なデータに従って、パケットのヘッダを書き換える
請求項１から請求項４のうちのいずれか１項に記載のパケットカプセル化方法。
【請求項６】
通信を行う複数の端末間の通信路に含まれる無線通信路におけるトンネリングのためのカプセル化を行うパケットカプセル化装置であって、
第１端末と対向端末である第２端末との間の通信における初回パケットに、カプセル化のためのヘッダを付加することによってカプセル化し、カプセル化されたパケットを受信したときにカプセル化を解除するカプセル化手段と、
前記無線通信路における前記初回パケットに後続するパケットの経路を特定可能なデータを記憶する記憶手段と、
前記初回パケットに後続するパケットを、カプセル化せずに、前記パケットの経路を特定可能なデータに従って前記無線通信路に送出する非カプセル化パケット送信手段と
を備えたことを特徴とするパケットカプセル化装置。
【請求項７】
カプセル化手段は、前記初回パケットにＧＲＥヘッダを付加してカプセル化を行う
請求項６記載のパケットカプセル化装置。
【請求項８】
記憶手段は、パケットの経路を特定可能なデータを、オープンフローにおけるフローとして記憶する
請求項６または請求項７記載のパケットカプセル化装置。
【請求項９】
記憶手段は、前記初回パケットに後続するパケットの経路を特定可能なデータとして、自装置における前記第１端末または前記第２端末からのパケットを前記無線通信路に送出するインタフェースと、前記無線通信路からのパケットを受信する対向装置におけるインタフェースとを特定可能なデータであるデータを記憶し、
前記非カプセル化パケット送信手段は、前記初回パケットに後続するパケットを前記無線通信路に送出するときに、前記パケットの経路を特定可能なデータに従って、パケットのヘッダを書き換える
請求項６から請求項８のうちのいずれか１項に記載のパケットカプセル化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線通信路においてパケットカプセル化を行うパケットカプセル化方法およびパケットカプセル化装置に関する。
【背景技術】
【０００２】
工場内に設置された機器（端末）同士の通信のための有線伝送路を含む通信ネットワークがある（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−２６９４１６号公報
【特許文献２】特開２０１６−１９０６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
有線伝送路による通信ネットワークが設けられている場合、工場内のレイアウト変更が行われるときに、有線伝送路の配線変更が求められることがある。配線変更の手間を低減するために、例えばレイアウト変更の可能性が高い箇所を無線ネットワーク化することが考えられる。具体的には、当該箇所に無線ＬＡＮ（Local Area Network）を導入することが考えられる。
【０００５】
しかし、単に無線ＬＡＮを導入しても、無線ＬＡＮに対応できない端末が存在するときには、そのような端末は、無線通信路を介する通信を行うことができない。
【０００６】
そのような課題を解消するには、無線通信路の外に存在する一の端末（無線ＬＡＮに対応できない端末）と無線通信路の外に存在する他の端末（無線ＬＡＮに対応できない端末）とが通信するときに、一の端末に接続されるルータがＭＡＣ（Media Access Control）アドレスを変換し、他の端末に接続されるルータがＭＡＣアドレスを逆変換すればよい。
【０００７】
しかし、例えば複数のルータを介する場合に、一の端末に対応する送信元ＭＡＣアドレスは、他の端末に送られない。
【０００８】
そこで、カプセル化を使用して、無線通信路をトンネリングすることが考えられる。しかし、カプセル化のために新たなヘッダ等を一の端末からのパケットに追加する必要があるので、無線通信路を通過するパケットのサイズが大きくなる。すなわち、スループットが低下する。また、元のパケットのサイズが大きい場合には、フラグメント化される可能性が高くなり、そのことも、パケットの中継性能を低下させる（例えば、特許文献２参照）。さらに、元のパケットのサイズが大きい場合には、途中経路でパケットが消失するおそれがある。
【０００９】
本発明は、無線通信路をトンネリングするときに、データ転送のスループットの低下を抑制できるパケットカプセル化方法およびパケットカプセル化装置を提供することを目的とする。
【００１０】
なお、工場内の通信ネットワークは、課題を説明するための一例であって、本発明が適用される分野は工場に限定されない。
【課題を解決するための手段】
【００１１】
本発明によるパケットカプセル化方法は、通信を行う複数の端末間の通信路に含まれる無線通信路におけるトンネリングのためのカプセル化を行うパケットカプセル化方法であって、第１端末から対向端末である第２端末への第１初回パケットに、カプセル化のためのヘッダを付加することによってカプセル化し、無線通信路における第１初回パケットに後続するパケットの経路を特定可能なデータを記憶し、第２端末から第１端末への第２初回パケットに、カプセル化のためのヘッダを付加することによってカプセル化し、無線通信路における第２初回パケットに後続するパケットの経路を特定可能なデータを記憶し、第１初回パケットに後続するパケットおよび第２初回パケットに後続するパケットを、カプセル化せずに、パケットの経路を特定可能なデータに従って無線通信路に送出する。
【００１２】
本発明によるパケットカプセル化装置は、通信を行う複数の端末間の通信路に含まれる無線通信路におけるトンネリングのためのカプセル化を行うパケットカプセル化装置であって、第１端末と対向端末である第２端末との間の通信における初回パケットに、カプセル化のためのヘッダを付加することによってカプセル化し、カプセル化されたパケットを受信したときにカプセル化を解除するカプセル化手段と、無線通信路における初回パケットに後続するパケットの経路を特定可能なデータを記憶する記憶手段と、初回パケットに後続するパケットを、カプセル化せずに、パケットの経路を特定可能なデータに従って無線通信路に送出する非カプセル化パケット送信手段とを含む。
【発明の効果】
【００１３】
本発明によれば、無線通信路をトンネリングするときに、パケットの消失を回避して、データ転送のスループットの低下が抑制される。
【図面の簡単な説明】
【００１４】
【図１】パケットカプセル化装置が適用されるシステムの一例を示すブロック図である。
【図２】移動装置の構成例を示すブロック図である。
【図３】固定装置の構成例を示すブロック図である。
【図４】固定装置に関連するＩＰアドレスおよびＭＡＣアドレスの設定例を示す説明図である。
【図５】移動装置に関連するＩＰアドレスおよびＭＡＣアドレスの設定例を示す説明図である。
【図６】カプセル化されたパケットの構成例を示す説明図である。
【図７】システムの動作を示すシーケンス図である。
【図８】無線ＬＡＮ内での後続パケットの構成例を示す説明図である。
【図９】移動装置の処理の一例を示すフローチャートである。
【図１０】固定装置の処理の一例を示すフローチャートである。
【図１１】移動装置の後続パケットの処理の一例を示すフローチャートである。
【図１２】固定装置の後続パケットの処理の一例を示すフローチャートである。
【図１３】パケットカプセル化装置の概要を示すブロック図である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施形態を図面を参照して説明する。
【００１６】
図１は、本発明によるパケットカプセル化装置が適用されるシステムの一例を示すブロック図である。
【００１７】
図１に示すシステムには、無線通信路としての無線ＬＡＮ１００がある。無線ＬＡＮ１００は、端末２１０，２２０間の通信を中継する。
【００１８】
図１に示す例では、無線ＬＡＮ１００で通信を行う移動装置１１０およびＡＰ１４１〜１４４と、固定装置１２０、およびＡＰ（Access Point）１４１〜１４４に接続されるL2HUB １３０とを含む。L2HUB １３０として、一般的な市販品を使用可能である。ＡＰ１４１〜１４４として、一般的な無線ＬＡＮルータを使用可能である。なお、無線ＬＡＮルータを使用する場合には、無線ＬＡＮルータは、ブリッジモードに設定される。
【００１９】
移動装置１１０は、移動可能であり、無線ＬＡＮ子機の機能を有する。また、移動装置１１０は、パケットカプセル化機能を有する。すなわち、移動装置１１０は、パケットカプセル化装置に相当する。移動装置１１０は、自走式の装置であってもよいし、搬送車両等に搭載されることによって移動可能にされてもよい。
【００２０】
固定装置１２０は、ある箇所に固定的に設置され、ルータ機能を有する。また、固定装置１２０は、パケットカプセル化機能を有する。すなわち、固定装置１２０も、パケットカプセル化装置に相当する。
【００２１】
図１に示す例では、端末２１０は、移動装置１１０に接続される。端末２２０は、固定装置１２０に接続される。端末２１０，２２０は、無線ＬＡＮ１００の外に存在する端末（無線ＬＡＮに対応できない端末）であり、以下、外部端末２１０，２２０という。
【００２２】
なお、図１に示す例では、L2HUB １３０およびＡＰ１４１〜１４４が存在するが、それらの機能は、固定装置１２０に内蔵されていてもよい。
【００２３】
図２は、移動装置１１０の構成例を示すブロック図である。なお、本実施形態では、トンネリングプロトコルとして、ＧＲＥ（Generic Routing Encapsulation ）が使用される。また、移動装置１１０の構成として、オープンフロー（OpenFlow）の考え方に基づく構成を前提にする。
【００２４】
図２に示す例では、移動装置１１０は、コントローラ１１１、スイッチ（br0 ）１１２、２つのイーサネット（登録商標）インタフェース（eth0, eth1）１１３，１１４、2.4GHz帯のＷｉＦｉインタフェース（ath0）１１５、5GHz帯のＷｉＦｉインタフェース（ath1）１１６、および２つのＧＲＥインタフェース（gre0, gre1）１１７，１１８を有する。ＧＲＥインタフェース１１７，１１８は、ＧＲＥに基づくカプセル化（ＧＲＥカプセル化）機能を有する。
【００２５】
コントローラ１１１は、OpenFlowコントローラに相当する。スイッチ１１２は、OpenFlowスイッチに相当する。
【００２６】
イーサネットインタフェース１１３，１１４、および、ＷｉＦｉインタフェース１１５，１１６は、それぞれの規格に基づく通信機能を有する機器である。ＧＲＥインタフェース１１７，１１８は、例えば、プログラムに従って動作するプロセッサで実現可能である。
【００２７】
なお、図２に示す例では、２つのイーサネットインタフェース１１３，１１４、２つのＷｉＦｉインタフェース１１５，１１６、２つのＧＲＥインタフェース１１７，１１８を有する移動装置１１０が例示されているが、各々に関して、２つあることは必須のことではない。
【００２８】
図２に示されたように、移動装置１１０が２つのＷｉＦｉインタフェース１１５，１１６と、２つのＧＲＥインタフェース１１７，１１８とを有する場合には、例えば、ＷｉＦｉインタフェース１１５（ath0）がＧＲＥインタフェース１１７（gre0）に対応づけられ、ＷｉＦｉインタフェース１１６（ath1）がＧＲＥインタフェース１１８（gre1）に対応づけられる。
【００２９】
図３は、固定装置１２０の構成例を示すブロック図である。図３に示す例では、固定装置１２０は、コントローラ１２１、スイッチ（br0 ）１２２、２つのイーサネットインタフェース（eth0, eth1）１２３，１２４、および２つのＧＲＥインタフェース（gre0, gre1）１２７，１２８を有する。
【００３０】
イーサネットインタフェース１２３，１２４は、規格に基づく通信機能を有する機器である。ＧＲＥインタフェース１２７，１２８は、例えば、プログラムに従って動作するプロセッサで実現可能である。
【００３１】
固定装置１２０の構成として、オープンフロー（OpenFlow）の考え方に基づく構成を前提にする。コントローラ１２１は、OpenFlowコントローラに相当する。スイッチ１２２は、OpenFlowスイッチに相当する。
【００３２】
なお、図３に示す例では、２つのイーサネットインタフェース１２３，１２４、２つのＧＲＥインタフェース１２７，１２８を有する固定装置１２０が例示されているが、各々に関して、２つあることは必須のことではない。
【００３３】
例えば、１つイーサネットインタフェース１２３（eth0）のみが設けられていてもよい。また、１つイーサネットインタフェース１２３（eth0）に、２つのＧＲＥインタフェース１２７，１２８（gre0, gre1）が対応づけられてもよい。その場合、イーサネットインタフェース１２３（eth0）に、gre0との通信用のＩＰアドレスとgre1との通信用のＩＰアドレスとが割り当てられる。
【００３４】
次に、図４および図５の説明図を参照して、外部端末２１０，２２０、移動装置１１０内の各ブロック、および固定装置１２０内の各ブロックにおけるＩＰ（Internet Protocol ）アドレスおよびＭＡＣアドレスの設定例を説明する。
【００３５】
図４には、固定装置１２０に関連するＩＰアドレスおよびＭＡＣアドレスの設定例が示されている。すなわち、固定装置１２０におけるスイッチ１２２および各インタフェースには、図４に示されるようにＩＰアドレスおよびＭＡＣアドレスが設定されているとする。各ブロックにおける上段にはＩＰアドレスの一例が示されている。各ブロックにおける下段にはＭＡＣアドレスの一例が示されている。
【００３６】
なお、図４には、２つのＧＲＥインタフェース１２７，１２８のうちのＧＲＥインタフェース１２７が例示されている。
【００３７】
図５には、移動装置１１０に関連するＩＰアドレスおよびＭＡＣアドレスの設定例が示されている。すなわち、移動装置１１０におけるスイッチ１１２および各インタフェースには、図５に示されるようにＩＰアドレスおよびＭＡＣアドレスが設定されているとする。各ブロックにおける上段にはＩＰアドレスの一例が示されている。各ブロックにおける下段にはＭＡＣアドレスの一例が示されている。
【００３８】
なお、図５には、２つのイーサネットインタフェース１１３，１１４のうちのイーサネットインタフェース１１４が例示されている。また、２つのＷｉＦｉインタフェース１１５，１１６のうちＷｉＦｉインタフェース１１５が例示されている。また、２つのＧＲＥインタフェース１１７，１１８のうちＧＲＥインタフェース１１７が例示されている。
【００３９】
図６は、カプセル化されたパケット（最初に到来したパケット）の構成例を示す説明図である。図６には、外部端末２１０から到来したパケットが移動装置１１０でカプセル化された結果が例示されている。
【００４０】
図５に示された例を参照すると、図６において、ＧＲＥカプセル化パケットヘッダとして示されている部分が外部ヘッダである。外部ヘッダは、新たなIP Header （ＩＰヘッダ）とGRE Header（ＧＲＥヘッダ）とで構成される。外部ヘッダには、例えばIEEE802.11形式のEthernet Header （イーサネットヘッダ：Ethernetは登録商標）も付加されている。また、オリジナルパケット（外部端末２１０からのパケット）のイーサネットヘッダとＩＰヘッダとを内部ヘッダとする。
【００４１】
次に、図１に示されたシステムの動作を説明する。
【００４２】
図７は、システムの動作を示すシーケンス図である。図７には、ＴＣＰ（Transmission Control Protocol ）通信が行われる場合の例が示されている。ＴＣＰ通信では、通常、３ウェイハンドシェイクが実施されてから、ユーザデータが送信される。
【００４３】
図７に示す例では、外部端末２１０は、往路の初回パケットを移動装置１１０に送信する。ＴＣＰ通信では、外部端末２１０は、SYN フラグが設定されたパケットを送信する。パケットを受信した移動装置１１０において、ＧＲＥインタフェースは、ＧＲＥカプセル化を行ってから、パケットを固定装置１２０に向けて送信する。このとき、移動装置１１０は、後続パケットのためのフローを優先度高でスイッチ１１２に設定する。後続パケットのためのフローは、ＧＲＥカプセル化に関するパケットヘッダの一部を省略してパケット転送処理するためのフローである。移動装置１１０は、当該フローの優先度を最も高くしてもよい。
【００４４】
具体的には、スイッチ１１２は、PACKET_IN メッセージでコントローラ１１１に問合せを行う。コントローラ１１１は、問合せに応じて、スイッチ１１２に、後続パケットのオリジナルパケット（図６参照）のヘッダを、カプセル化に関するヘッダで置き換えて固定装置１２０に送信することを特定可能なフローを、スイッチ１２２に設定する（ステップＳ１）。なお、図７に記載されている「直接固定装置１２０に送信」は、ＧＲＥインタフェースを介さずにパケットが送信されることを意味する。
【００４５】
パケットを受信した固定装置１２０は、ＧＲＥカプセル化が解除されたパケットを外部端末２２０に送信する。このとき、固定装置１２０におけるスイッチ１２２に、後続パケットのパケットヘッダを復元するためのフローが優先度高で設定される（ステップＳ２）。なお、固定装置１２０は、当該フローの優先度を最も高くしてもよい。後続パケットのパケットヘッダを復元するためのフローは、ＧＲＥカプセル化パケットヘッダに変更されているパケットヘッダをオリジナルパケット（外部端末２１０からのパケット）のパケットヘッダに書き換える処理を実行するためのフローである。なお、図７に記載されている「直接外部端末２２０に送信」は、ＧＲＥカプセル化解除の処理を実行するＧＲＥインタフェースを介さずにパケットが送信されることを意味する。
【００４６】
外部端末２２０は、復路の初回パケットを固定装置１２０に送信する。ＴＣＰ通信では、外部端末２２０は、通常、SYN フラグおよびACK フラグが設定されたパケットを送信する。パケットを受信した固定装置１２０において、ＧＲＥインタフェースは、ＧＲＥカプセル化を行ってパケットを移動装置１１０に向けて送信する。このとき、固定装置１２０は、後続パケットのためのフローを優先度高でスイッチ１２２に設定する。固定装置１２０は、当該フローの優先度を最も高くしてもよい。後続パケットのためのフローは、ＧＲＥカプセル化に関するパケットヘッダの一部を省略してパケット転送処理するためのフローである。
【００４７】
具体的には、スイッチ１２２は、PACKET_IN メッセージでコントローラ１２１に問合せを行う。コントローラ１２１は、問合せに応じて、スイッチ１２２に、後続パケットのオリジナルパケット（図６参照）のヘッダをカプセル化に関するヘッダで置き換えて移動装置１１０に送信することを特定可能なフローを、スイッチ１２２に設定する。
【００４８】
なお、固定装置１２０における上記の処理は、移動装置１１０における処理（ステップＳ１参照）と同様であるので、図７において、コメントとしては記載されていない。
【００４９】
パケットを受信した移動装置１１０は、ＧＲＥカプセル化が解除されたパケットを外部端末２１０に送信する。このとき、移動装置１１０におけるスイッチ１１２に、後続パケットのパケットヘッダを復元するためのフローが優先度高で設定される。移動装置１１０は、当該フローの優先度を最も高くしてもよい。後続パケットのパケットヘッダを復元するためのフローは、ＧＲＥカプセル化パケットヘッダに変更されているパケットヘッダをオリジナルパケット（外部端末２２０からのパケット）のパケットヘッダに書き換える処理を実行するためのフローである。
【００５０】
なお、移動装置１１０における上記の処理は、固定装置１２０における処理（ステップＳ２参照）と同様であるので、図７において、コメントとしては記載されていない。
【００５１】
次いで、外部端末２１０は、往路の後続パケットを移動装置１１０に送信する。ＴＣＰ通信では外部端末２１０は、通常、ACK フラグが設定されたパケットを送信する。移動装置１１０は、設定済みのフローに従って、入力されたパケットの5 tuple を条件として、送信元ＭＡＣアドレスおよび送信先ＭＡＣアドレスと送信元ＩＰアドレスおよび送信先ＩＰアドレスとをＧＲＥカプセル化のためのそれらに書き換えて、パケットを固定装置１２０に向けて送信する（ステップＳ３ａ）。なお、移動装置１１０において、パケットは、ＧＲＥインタフェースを通らない。
【００５２】
固定装置１２０は、設定済みのフローに従って、入力されたパケットの5 tuple を条件として、送信元ＭＡＣアドレスおよび送信先ＭＡＣアドレスと送信元ＩＰアドレスおよび送信先ＩＰアドレスとを書き換えて、パケットを外部端末２２０に送信する（ステップＳ４ａ）。なお、固定装置１２０において、パケットは、ＧＲＥインタフェースを通らない。
【００５３】
その後、外部端末２１０は、ユーザデータを含むパケットを移動装置１１０に送信する。移動装置１１０は、設定済みのフローに従って、送信元ＭＡＣアドレスおよび送信先ＭＡＣアドレスと送信元ＩＰアドレスおよび送信先ＩＰアドレスとをＧＲＥカプセル化のためのそれらに書き換えて、パケットを固定装置１２０に向けて送信する（ステップＳ３ｂ）。なお、移動装置１１０において、パケットは、ＧＲＥインタフェースを通らない。
【００５４】
固定装置１２０は、設定済みのフローに従って、送信元ＭＡＣアドレスおよび送信先ＭＡＣアドレスと送信元ＩＰアドレスおよび送信先ＩＰアドレスとを書き換えて、パケットを外部端末２２０に送信する（ステップＳ４ｂ）。
【００５５】
ユーザデータを含むパケットのサイズが大きい場合がある。外部端末２１０が、大容量のデータを送信するときに、パケットのサイズが、外部端末２１０で設定されるＭＴＵ（Maximum Transmission Unit ）値を越える場合には、パケットのサイズがＭＴＵ値以下になるようにデータを分割する。なお、一般に、ＭＴＵ値として１５００が用いられる。
【００５６】
移動装置１１０がＭＴＵ値に近いパケットを受信したときに、パケットをＧＲＥカプセル化すると、パケットのサイズはさらに大きくなる。その結果、パケットのサイズが、移動装置１１０のＭＴＵ値を越える可能性が高くなる、パケットのサイズがＭＴＵ値を越えるときには、移動装置１１０は、パケットを再分割する処理（再分割処理：fragment処理）を実行する。再分割処理は、負荷が高い処理である。また、再分割処理が実行されると、実質的な通信速度が低下する。なお、移動装置１１０が再分割処理を行わずにパケットを送信すると、途中経路でパケットが消失するおそれがある。
【００５７】
本実施形態では、後続するパケットについてＧＲＥカプセル化処理を実行しないので、ＧＲＥカプセル化に起因する再分割処理が実行されない。したがって、パケットの消失や通信速度の低下が防止される。
【００５８】
図８は、無線ＬＡＮ１００内での後続パケットの構成例を示す説明図である。図８には、外部端末２１０から到来したパケットのヘッダが移動装置１１０で変換された結果が例示されている。図６に示されたカプセル化されたパケットの構成と比較すると、図８に示す構成では、ＧＲＥヘッダと内部ヘッダとが省略されているともいえる。
【００５９】
次に、図９〜図１２のフローチャートを参照して、図１に示されたシステムの動作を説明する。図９および図１０は、外部端末２１０からの初回パケットおよび外部端末２２０からの初回パケットを対象とした処理を示すフローチャートである。図９および図１０における丸付き数字は、処理順を表している。
【００６０】
まず、図９のフローチャートを参照して、移動装置１１０の動作を説明する。図９に示す処理は、移動装置１１０が、外部端末２１０からSYN フラグ付きの初回パケットを受信したことを契機として開始される。以下、初回パケットがイーサネットインタフェース１１４（eth1）で受信された場合を例にする。また、外部端末２１０と移動装置１１０との間の通信のプロトコルとして、ＴＣＰ（ＵＤＰ（User Datagram Protocol）でも可）が使用される場合を例にする。
【００６１】
移動装置１１０において、スイッチ１１２は、ステップＳ１０で、入力ＩＦ（インタフェース）すなわちパケットを受信したインタフェースを確認する。この例では、イーサネットインタフェース１１４（eth1）でパケットが受信されたので、スイッチ１１２は、ステップＳ１１で、プロトコルを判定する。この例では、ＴＣＰで通信が行われているので、ステップＳ１２に移行する。
【００６２】
ステップＳ１２において、スイッチ１１２は、PACKET_IN メッセージで、コントローラ１１１に処理方法を問い合わせる。コントローラ１１１は、PACKET_OUTメッセージで、オリジナルパケット（外部端末２１０から受信したパケット）を、例えばＧＲＥインタフェース１１７（gre0）に出力するように指示する（ステップＳ１３）。また、コントローラ１１１は、後続パケットの処理のために、FLOW_MODメッセージで、スイッチ１１２に、フローをフローテーブルに設定させる（ステップＳ１４）。
【００６３】
具体的には、フローは、例えば、以下のような内容である。なお、以下の内容は、図９におけるステップＳ１４に付記されている。
【００６４】
・マッチング条件
入力ＩＦ：  eth1
送信元ＩＰアドレス：  PACKET_INメッセージによる送信元ＩＰアドレス
送信先ＩＰアドレス：  PACKET_INメッセージによる送信先ＩＰアドレス
プロトコル：  ＴＣＰ／ＵＤＰ
送信元ポート：  PACKET_INメッセージによる送信元ポート
送信先ポート：  PACKET_INメッセージによる送信先ポート
【００６５】
・アクション
送信元ＭＡＣアドレス：  自ath0のＭＡＣアドレス
送信先ＭＡＣアドレス：  対向eth0のＭＡＣアドレス
送信元ＩＰアドレス：  自ath0のＩＰアドレス
送信先ＩＰアドレス：  対向eth0のＩＰアドレス
ath0に出力
【００６６】
なお、マッチング条件におけるPACKET_INメッセージによる送信元ＩＰアドレスは、外部端末２１０のＩＰアドレスに相当する。PACKET_INメッセージによる送信先ＩＰアドレスは、外部端末２２０のＩＰアドレスに相当する。
【００６７】
以後、スイッチ１１２は、イーサネットインタフェース１１４（eth1）で受信されたパケットについて、フローテーブルに記載されている上記のマッチング条件が成立したら、上記のアクションとして記載されている動作を実行する（図１１参照）。
【００６８】
なお、ステップＳ１１でＴＣＰ／ＵＤＰではないと判定された場合には、スイッチ１１２は、オリジナルパケットを、例えばＧＲＥインタフェース１１７（gre0）に出力する（ステップＳ１５）。
【００６９】
ＧＲＥインタフェース１１７（gre0）は、オリジナルパケットをＧＲＥカプセル化する。
【００７０】
ステップＳ２１〜Ｓ２６の処理は、ＧＲＥに関する処理である。
【００７１】
初回パケットに関して、スイッチ１１２は、ＧＲＥインタフェース１１７（gre0）によってＧＲＥカプセル化が実行された後、再度、入力ＩＦを確認する（ステップＳ１０）。このときの入力ＩＦはＧＲＥインタフェース１１７（gre0）であるから、スイッチ１１２は、ステップＳ２１で、プロトコルを判定する。この例では、ＧＲＥカプセル化が行われたので、ステップＳ２２に移行する。ステップＳ２２において、スイッチ１１２は、ＧＲＥカプセル化されたパケットを、例えば、ＷｉＦｉインタフェース１１５（ath0）に出力する。ＷｉＦｉインタフェース１１５（ath0）は、ＧＲＥカプセル化されたパケットを送出する。
【００７２】
ステップＳ２３〜Ｓ２６，Ｓ３１の処理は、後述される。
【００７３】
次に、図１０のフローチャートを参照して、固定装置１２０の動作を説明する。以下、移動装置１１０からのＧＲＥカプセル化された初回パケットがイーサネットインタフェース１２３（eth0）で受信された場合を例にする。
【００７４】
固定装置１２０において、スイッチ１２２は、ステップＳ４０で、初回パケットを受信したインタフェースを確認する。この例では、イーサネットインタフェース１２３（eth0）でパケットが受信されるので、スイッチ１２２は、受信されたパケットを、ＧＲＥインタフェース１２７（gre0）に出力する。ＧＲＥインタフェース１２７（gre0）は、受信されたパケットのＧＲＥカプセル化を解除する。
【００７５】
スイッチ１２２は、再度、入力ＩＦを確認する（ステップＳ４０）。入力ＩＦはＧＲＥインタフェース１２７（gre0）であるから、スイッチ１２２は、ステップＳ５１で、プロトコルを判定する。この例では、ＴＣＰで通信が行われているので、ステップＳ５３に移行する。
【００７６】
ステップＳ５３において、スイッチ１２２は、PACKET_IN メッセージで、コントローラ１２１に処理方法を問い合わせる。コントローラ１２１は、PACKET_OUTメッセージで、受信したパケット（移動装置１１０から受信した初回パケット）を、例えばイーサネットインタフェース１２４（eth1）に出力するように指示する（ステップＳ５５）。イーサネットインタフェース１２４（eth1）は、ＧＲＥカプセル化が解除された初回パケットを外部端末２２０に送信する。また、コントローラ１２１は、後続パケットの処理のために、FLOW_MODメッセージで、スイッチ１２２に、フローをフローテーブルに設定させる（ステップＳ５６）。
【００７７】
具体的には、フローは、例えば、以下のような内容である。なお、以下の内容は、図１０におけるステップＳ５６に付記されている。
【００７８】
・マッチング条件
入力IF：  eth0
送信元ＩＰアドレス：  ＧＲＥインタフェースの送信元ＩＰアドレス
送信先ＩＰアドレス：  ＧＲＥインタフェースの送信先ＩＰアドレス
プロトコル：  ＴＣＰ／ＵＤＰ
送信元ポート：  PACKET_IN メッセージによる送信元ポート
送信先ポート：  PACKET_IN メッセージによる送信先ポート
【００７９】
・アクション
送信元ＭＡＣアドレス：  PACKET_IN メッセージによる送信元ＭＡＣアドレス
送信先ＭＡＣアドレス：  PACKET_IN メッセージによる送信先ＭＡＣアドレス
送信元ＩＰアドレス：  PACKET_IN メッセージによる送信元ＩＰアドレス
送信先ＩＰアドレス：  PACKET_IN メッセージによる送信先ＩＰアドレス
eth1に出力
【００８０】
なお、アクションにおけるPACKET_INメッセージによる送信元ＩＰアドレスは、外部端末２１０のＩＰアドレスに相当する。PACKET_INメッセージによる送信先ＩＰアドレスは、外部端末２２０のＩＰアドレスに相当する。
【００８１】
以後、スイッチ１２２は、イーサネットインタフェース１２３（eth0）で受信されたパケットについて、フローテーブルに記載されている上記のマッチング条件が成立したら、上記のアクションとして記載されている動作を実行する（図１２参照）。
【００８２】
なお、スイッチ１２２は、プロトコルが、ＧＥＲ、ＴＣＰおよびＵＤＰ以外であった場合には、受信されたパケットを、イーサネットインタフェース１２４（eth1）に出力する（ステップＳ５４）。
【００８３】
外部端末２２０から、復路のパケットとして、SYN フラグおよびACK フラグ付きの初回パケットが到着すると、スイッチ１２２は、入力ＩＦを確認する（ステップ４０）。外部端末２２０からのパケットはイーサネットインタフェース１２４（eth1）で受信されるので、スイッチ１２２は、ステップＳ４１で、プロトコルを判定する。この例では、ＴＣＰで通信が行われているので、ステップＳ４２に移行する。
【００８４】
ステップＳ４２において、スイッチ１２２は、PACKET_IN メッセージで、コントローラ１２１に処理方法を問い合わせる。コントローラ１２１は、PACKET_OUTメッセージで、ＧＲＥカプセル化された初回パケットを、例えばＧＲＥインタフェース１２７（gre0）に出力するように指示する（ステップＳ４３）。また、コントローラ１２１は、後続パケットの処理のために、FLOW_MODメッセージで、スイッチ１２２に、フローをフローテーブルに設定させる（ステップＳ４４）。
【００８５】
具体的には、フローは、例えば、以下のような内容である。なお、以下の内容は、図１０におけるステップＳ４４に付記されている。
【００８６】
・マッチング条件
入力IF：  eth1
送信元ＩＰアドレス：  PACKET_IN メッセージによる送信元ＩＰアドレス
送信先ＩＰアドレス：  PACKET_IN メッセージによる送信先ＩＰアドレス
プロトコル：  ＴＣＰ／ＵＤＰ
送信元ポート：  PACKET_IN メッセージによる送信元ポート
送信先ポート：  PACKET_IN メッセージによる送信先ポート
【００８７】
・アクション
送信元ＭＡＣアドレス：  自eth0のＭＡＣアドレス
送信先ＭＡＣアドレス：  対向ath0のＭＡＣアドレス
送信元ＩＰアドレス：自eth0のＩＰアドレス
送信先ＩＰアドレス：  対向ath0のＩＰアドレス
eth0に出力
【００８８】
なお、PACKET_INメッセージによる送信元ＩＰアドレスは、外部端末２２０のＩＰアドレスに相当する。PACKET_INメッセージによる送信先ＩＰアドレスは、外部端末２１０のＩＰアドレスに相当する。
【００８９】
以後、スイッチ１２２は、イーサネットインタフェース１２４（eth1）で受信されたパケットについて、フローテーブルに記載されている上記のマッチング条件が成立したら、上記のアクションとして記載されている動作を実行する（図１２参照）。
【００９０】
外部端末２２０からの初回パケットはＧＲＥインタフェース１２７（gre0）に出力されるが（ステップＳ４３参照）、ＧＲＥインタフェース１２７（gre0）は、初回パケットをＧＲＥカプセル化する。
【００９１】
スイッチ１２２は、再度、入力ＩＦを確認する（ステップＳ４０）。この場合には、入力ＩＦは、ＧＲＥインタフェース１２７（gre0）である。スイッチ１２２は、ステップＳ５１で、プロトコルを判定する。この例では、プロトコルはＧＲＥであるから、ステップＳ５２に移行する。
【００９２】
ステップＳ５２において、スイッチ１２２は、ＧＲＥカプセル化されたパケットを、例えば、イーサネットインタフェース１２３（eth0）に出力する。イーサネットインタフェース１２３（eth0）は、ＧＲＥカプセル化されたパケットを、移動装置１１０に対して送信する。
【００９３】
移動装置１１０において、スイッチ１１２は、固定装置１２０からのパケットが受信されたときに、入力ＩＦを確認する（図９におけるステップＳ１０）。例えばＷｉＦｉインタフェース１１５（ath0）で固定装置１２０からのパケットが受信された場合、スイッチ１１２は、ステップＳ３１に移行する。ステップＳ３１では、スイッチ１１２は、初回パケットを、例えばＧＲＥインタフェース１１７（gre0）に出力する。
【００９４】
ＧＲＥインタフェース１１７（gre0）は、固定装置１２０を介する外部端末２２０からの初回パケットのＧＲＥカプセル化を解除する。
【００９５】
スイッチ１１２は、再度、入力ＩＦを確認する（ステップＳ１０）。この例では、入力ＩＦは、ＧＲＥインタフェース１１７（gre0）である。スイッチ１１２は、ステップＳ２１で、プロトコルを判定する。この例では、ＴＣＰで通信が行われているので、ステップＳ２３に移行する。
【００９６】
ステップＳ２３において、スイッチ１１２は、PACKET_IN メッセージで、コントローラ１１１に処理方法を問い合わせる。コントローラ１１１は、PACKET_OUTメッセージで、パケット（固定装置１２０から受信した初回パケット）を、イーサネットインタフェース１１４（eth1）に出力するように指示する（ステップＳ２５）。イーサネットインタフェース１１４（eth1）は、固定装置１２０から受信した初回パケットを外部端末２１０に送信する。また、コントローラ１１１は、後続パケットの処理のために、FLOW_MODメッセージで、フローをフローテーブルに設定させる（ステップＳ２６）。
【００９７】
具体的には、フローは、例えば、以下のような内容である。なお、以下の内容は、図９におけるステップＳ２６に付記されている。
【００９８】
・マッチング条件
入力IF：  ath0
送信元ＩＰアドレス：  ＧＲＥインタフェースの送信元ＩＰアドレス
送信先ＩＰアドレス：  ＧＲＥインタフェースの送信先ＩＰアドレス
プロトコル：  ＴＣＰ／ＵＤＰ
送信元ポート：  PACKET_IN メッセージによる送信元ポート
送信先ポート：  PACKET_IN メッセージによる送信先ポート
【００９９】
・アクション
送信元ＭＡＣアドレス：  PACKET_IN メッセージによる送信元ＭＡＣアドレス
送信先ＭＡＣアドレス：  PACKET_IN メッセージによる送信先ＭＡＣアドレス
送信元ＩＰアドレス：  PACKET_IN メッセージによる送信元ＩＰアドレス
送信先ＩＰアドレス：  PACKET_IN メッセージによる送信先ＩＰアドレス
eth1に出力
【０１００】
なお、PACKET_INメッセージによる送信元ＩＰアドレスは、外部端末２２０のＩＰアドレスに相当する。PACKET_INメッセージによる送信先ＩＰアドレスは、外部端末２１０のＩＰアドレスに相当する。
【０１０１】
以後、スイッチ１１２は、ＷｉＦｉインタフェース１１５（ath0）で受信されたパケットについて、フローテーブルに記載されている上記のマッチング条件が成立したら、上記のアクションとして記載されている動作を実行する（図１１参照）。
【０１０２】
図１１および図１２は、外部端末２１０からの後続パケットおよび外部端末２２０からの後続パケットを対象とした処理を示すフローチャートである。図１１および図１２における丸付き数字は、処理順を表している。
【０１０３】
まず、図１１のフローチャートを参照して、移動装置１１０の後続パケットの処理を説明する。すなわち、フローテーブルが作成された後の移動装置１１０の動作を説明する。
【０１０４】
一般に、移動装置１１０は、外部端末２１０から、まず、ACK フラグ付きのパケットを受信する。
【０１０５】
移動装置１１０において、スイッチ１１２は、ステップＳ１０で、パケットを受信したインタフェースを確認する。この例では、イーサネットインタフェース１１４（eth1）でパケットが受信されるので、スイッチ１１２は、ステップＳ１１で、プロトコルを判定する。この例では、ＴＣＰで通信が行われているので、ステップＳ１６に移行する。
【０１０６】
ステップＳ１６において、スイッチ１１２は、入力されたパケットの5 tuple が、使用中の5 tuple （外部端末２１０から外部端末２２０に向かうパケットであることを特定可能）であることを確認したら（ステップＳ１６）、ステップＳ２０に移行する。
【０１０７】
なお、スイッチ１１２は、入力されたパケットの5 tuple が、使用中の5 tuple でないことを確認したら、ステップＳ１７〜Ｓ１９の処理を実行する。ステップＳ１７〜Ｓ１９の処理は、図９に示されたステップＳ１２〜Ｓ１４の処理と同様である。
【０１０８】
ステップＳ２０において、マッチング条件が成立している（すなわち、使用中の5 tuple である。）ので、スイッチ１１２は、フローテーブルに設定されているアクションを実行する。すなわち、パケットのＭＡＣアドレスおよびＩＰアドレスを書き換えて、パケットをＷｉＦｉインタフェース１１５（ath0）に出力する。ＷｉＦｉインタフェース１１５（ath0）は、パケットを送出する。
【０１０９】
なお、ＭＡＣアドレスおよびＩＰアドレスを書き換える処理は、具体的には、外部端末２１０から外部端末２２０へのパケットのＭＡＣアドレスとＩＰアドレスとを、移動装置１１０におけるＷｉＦｉインタフェース（ath0）１１５および固定装置１２０におけるイーサネットインタフェース１２３（eth0）のＭＡＣアドレスとＩＰアドレスとに代える処理である（図６，８、および図９におけるステップＳ１４の付記参照）。
【０１１０】
図１２のフローチャートを参照して、固定装置１２０の後続パケットの処理を説明する。すなわち、フローテーブルが作成された後の固定装置１２０の動作を説明する
【０１１１】
固定装置１２０において、スイッチ１２２は、ステップＳ４０で、パケットを受信したインタフェースを確認する。この例では、イーサネットインタフェース１２４（eth1）でパケットが受信されるので、スイッチ１２２は、ステップＳ４１で、プロトコルを判定する。この例では、ＴＣＰで通信が行われているので、ステップＳ４６に移行する。
【０１１２】
ステップＳ４６において、スイッチ１２２は、入力されたパケットの5 tuple が、使用中の5 tuple （ＧＲＥカプセル化パケットヘッダが設定されていること等を特定可能）であることを確認したら、ステップＳ４７に移行する。
【０１１３】
なお、スイッチ１２２が、入力されたパケットの5 tuple が、使用中の5 tuple でないことを確認したら、ステップＳ４８に移行する。
【０１１４】
ステップＳ４７において、マッチング条件が成立している（すなわち、使用中の5 tuple である。）ので、スイッチ１２２は、フローテーブルに設定されているアクションを実行する。すなわち、パケットのＭＡＣアドレスおよびＩＰアドレスを書き換えて、パケットをイーサネットインタフェース１２３（eth0）に出力する。イーサネットインタフェース１２３（eth0）は、パケットを外部端末２２０に送信する。
【０１１５】
なお、ＭＡＣアドレスおよびＩＰアドレスを書き換える処理は、具体的には、受信したパケットに設定されているイーサネットヘッダ（図８参照）におけるＭＡＣアドレスとＩＰアドレスとを、外部端末２１０，２２０のＭＡＣアドレスとＩＰアドレスとに代える処理である（図１０におけるステップＳ４４の付記参照）。
【０１１６】
外部端末２２０から、復路の後続パケットが到着すると、スイッチ１２２は、入力ＩＦを確認する（ステップ４０）。外部端末２２０からのパケットはイーサネットインタフェース１２３（eth0）で受信されるので、ステップＳ６２に移行する。
【０１１７】
ステップＳ６２において、スイッチ１２２は、入力されたパケットの5 tuple が、使用中の5 tuple （外部端末２２０から外部端末２１０に向かうパケットであることを特定可能）であることを確認したら、ステップＳ６３に移行する。
【０１１８】
なお、スイッチ１１２は、入力されたパケットの5 tuple が、使用中の5 tuple でないことを確認したら、ステップＳ６１およびステップＳ５１〜Ｓ５６の処理を実行する。
【０１１９】
ステップＳ６３において、マッチング条件が成立している（すなわち、使用中の5 tuple である。）ので、スイッチ１１２は、フローテーブルに設定されているアクションを実行する。すなわち、パケットのＭＡＣアドレスおよびＩＰアドレスを書き換えて、パケットをイーサネットインタフェース１２４（eth1）に出力する。イーサネットインタフェース１２４（eth1）は、パケットを移動装置１１０に対して送信する。
【０１２０】
なお、ＭＡＣアドレスおよびＩＰアドレスを書き換える処理は、具体的には、外部端末２１０から外部端末２２０へのパケットのＭＡＣアドレスとＩＰアドレスとを、固定装置１２０におけるイーサネットインタフェース１２３（eth0）および移動装置１１０におけるＷｉＦｉインタフェース（ath0）１１５のＭＡＣアドレスとＩＰアドレスとに代える処理である（図１０におけるステップＳ４４の付記参照）。
【０１２１】
移動装置１１０において、スイッチ１１２は、固定装置１２０からのパケットが受信されたときに、入力ＩＦを確認する（図１１におけるステップＳ１０）。この例では、ＷｉＦｉインタフェース１１５（ath0）で固定装置１２０からのパケットが受信されるので、ステップＳ３２に移行する。ステップＳ３２において、スイッチ１１２は、入力されたパケットの5 tuple が、使用中の5 tuple であることを確認したら、ステップＳ３４に移行する。
【０１２２】
ステップＳ３４において、マッチング条件が成立している（すなわち、使用中の5 tuple である。）ので、スイッチ１１２は、フローテーブルに設定されているアクションを実行する。すなわち、パケットのＭＡＣアドレスおよびＩＰアドレスを書き換えて、パケットをイーサネットインタフェース１２４（eth1）に出力する。イーサネットインタフェース１２４（eth1）は、パケットを外部端末２１０に対して送信する。
【０１２３】
なお、ＭＡＣアドレスおよびＩＰアドレスを書き換える処理は、具体的には、イーサネットヘッダおよびＩＰヘッダを、外部端末２２０および外部端末２１０のＭＡＣアドレスとＩＰアドレスとに代える処理である（図６，図８、および図９におけるステップＳ２６の付記参照）。
【０１２４】
本実施形態では、外部端末２１０，２２０は、途中経路に無線ＬＡＮが存在することを意識することなく、通信できる。さらに、各外部端末が同じサブネットワーク内のＩＰアドレスを持つネットワーク構成において、ＡＲＰ（Address Resolution Protocol ）手順などを、手を加えることなく実施可能である。
【０１２５】
また、本実施形態では、一般的なパケットカプセル化時に発生するスループット（通信速度）の低下が抑制される。また、途中経路でのパケットの消失の可能性が低減する。
【０１２６】
パケットのヘッダサイズを圧縮する手法と比較すると、本実施形態では、ヘッダ連結を再構築するための情報を含むコンテキストを固有に識別するために新しいアドレスを用意することが不要であるという利点がある。また、新しいアドレス用のパケットフィルタやルーティングに関する追加設定も必要ない。その結果、追加設定に要する管理工数の増大や追加設定の際のセキュリティ懸念も生じない。また、コンテキストを識別するためにフロー毎に新たなアドレスを用意する手法を採用する場合に、多数の装置が接続されるときに、コンテキストを識別するための情報が不足しにくい。また、外部端末間で、コンテキストを固有に識別するための新しいアドレスなどを事前整合する必要はない。また、外部端末間で事前整合用のメッセージ定義が不要である。そして、事前整合の分だけ、通信開始までのタイムラグが発生したり余分な通信が発生したりするようなことはない。
【０１２７】
なお、上記の実施形態では、４つのＡＰ１４１〜１４４が設けられている場合を例にしたが、ＡＰが増設された場合でも、上記の実施形態における通信方式が維持される。すなわち、増設されたＡＰを経由するように通信経路が変わっても、一般的な無線ＬＡＮの再接続処理をするだけで、ＩＰレイヤ以上のレイヤでは途中経路の通信処理を考慮する必要はない。
【０１２８】
また、移動装置１１０におけるスイッチ１１２および固定装置１２０におけるスイッチ１２２に対してフローを作成するときに、他の経路でパケットを送受信するためのフローをあらかじめ作成するようにしてもよい。ＧＲＥを用いる場合、ＧＲＥのネットワークインタフェースを確立するときに、相手側のＩＰアドレスが把握される必要があるので対応付けは容易であり、容易に他のフローも作成される。
【０１２９】
そのように構成された場合には、一般的な無線ＬＡＮの再接続処理が行われるだけで、ＩＰレイヤ以上のレイヤでは、途中経路の通信処理には特段考慮する必要なく、上記の実施形態における通信方式が適用される。また、複数の無線ＬＡＮインタフェースが用意されることによって、一方の経路の無線品質が悪化したときに、他方の経路に切り替えることによって、安定した通信が継続される。
【０１３０】
上記の実施形態では、１つの移動装置１１０が存在していたが、移動装置が複数存在し、各移動装置が固定装置と通信するようなシステムでも、上記の実施形態における通信方式を適用可能である。そのようなシステムでは、移動装置の無線ＬＡＮインタフェースにＩＰアドレスを割り当てる際に、各移動装置間で、重複しないようにＩＰアドレスを割り当てればよい。
【０１３１】
上記の実施形態では、固定装置１２０に１つの外部端末２２０が存在したが、複数の外部端末が存在し、各々の外部端末が、移動装置１１０に接続される外部端末２１０と通信するように構成されたシステムにも、上記の実施形態における通信方式を適用可能である。
【０１３２】
なお、移動装置１１０に接続される外部端末２１０以外の外部端末が存在し、それらの外部端末が外部端末２２０と同時に通信できるようにする場合には、移動装置１１０のコントローラ１１１が、ＴＣＰ／ＵＤＰポートが他の外部端末で使用されているものと重複しないように変換する処理を実行すればよい。例えば、移動装置１１０は、ＮＡＰＴ（Network Address Port Translation）の考え方を応用した処理を実行すればよい。すなわち、移動装置１１０が、ＮＡＰＴテーブルを有し、コントローラ１１１は、ＮＡＰＴテーブルを参照して、パケットヘッダの5 tuple を管理すればよい。
【０１３３】
また、移動装置１１０に接続される外部端末２１０以外の外部端末が存在し、それらの外部端末が外部端末２２０と同時に通信できるようにする場合に、移動装置１１０のコントローラ１１１が、移動装置１１０に接続される外部端末ごとに、固有のVLAN ID （Virtual LAN Identifier）を割り当てる。外部端末同士が通信する場合、往路の初回パケットを送るときから、途中の移動装置が、各パケットにVLANタグを追加し、割り当てたVLAN IDを設定する。パケットを受信した固定装置１２０は、VLAN ID を、外部端末を識別する情報として記憶する。また、固定装置１２０は、VLANタグが削除されたパケットを、送信先の外部端末に送る。復路の初回パケットについても、同様の処理が実行される。後続パケットについても、VLAN ID が設定されたVLANタグが送信側で付与され、受信側は、VLAN ID を基に、本来のイーサネットヘッダおよびＩＰヘッダを復元すればよい。
【０１３４】
つまり、図９〜図１２に示された処理において、ＴＣＰ／ＵＤＰに基づく判断を、VLAN ID に基づく判断に変更することによって、上記の実施形態における通信方式が適用可能になる。
【０１３５】
また、外部端末同士が、VLANタグが付与されたパケットで通信するような場合に、オリジナルパケットにVLANタグが設定されていても、上記の実施形態における通信方式を適用可能である。ただし、パケットの受信側の装置（例えば、外部端末２１０から外部端末２２０への通信では、往路の初回パケットに関して固定装置１２０）は、その通信時に、オリジナルパケットのヘッダ情報を元にフローを作成するが、VLANタグ部分も併せて記憶し、VLANタグを挿入するアクションを含むフローを設定する。
【０１３６】
以上に説明したように、上記の実施形態では、通信を行う複数の端末間の通信路に含まれる無線通信路におけるトンネリングのためのカプセル化を行う以下のようなパケットカプセル化方法が開示されている。
【０１３７】
すなわち、第１端末（例えば、外部端末２１０）から対向端末である第２端末（例えば、外部端末２２０）への第１初回パケットに、カプセル化のためのヘッダ（例えば、ＧＲＥヘッダなど）を付加することによってカプセル化し、無線通信路（例えば、無線ＬＡＮ１００）における第１初回パケットに後続するパケットの経路を特定可能なデータ（例えば、オープンフロー技術におけるフロー）を記憶し、第２端末から第１端末への第２初回パケットに、カプセル化のためのヘッダを付加することによってカプセル化し、無線通信路における第２初回パケットに後続するパケットの経路を特定可能なデータ（例えば、オープンフロー技術におけるフロー）を記憶し、第１初回パケットに後続するパケットおよび第２初回パケットに後続するパケットを、カプセル化せずに、パケットの経路を特定可能なデータに従って無線通信路に送出する。
【０１３８】
なお、上記の実施形態では、トンネルプロトコルとしてＧＲＥを用いたが、ルーティングが可能なレイヤ３の他のトンネルプロトコルを用いてもよい。
【０１３９】
図１３は、パケットカプセル化装置の概要を示すブロック図である。パケットカプセル化装置１０（実施形態では、移動装置１１０または固定装置１２０）は、第１端末（例えば、外部端末２１０）と対向端末である第２端末（例えば、外部端末２２０）との間の通信における初回パケットに、カプセル化のためのヘッダ（例えば、ＧＲＥヘッダなど）を付加することによってカプセル化し、カプセル化されたパケットを受信したときにカプセル化を解除するカプセル化手段１１（実施形態では、移動装置１１０におけるＧＲＥインタフェース１１７，１１８（gre0, gre1）、または、固定装置１２０におけるＧＲＥインタフェース１２７，１２８（gre0, gre1）で実現される。）と、無線通信路（例えば、無線ＬＡＮ１００）における初回パケットに後続するパケットの経路を特定可能なデータ（例えば、オープンフロー技術におけるフロー）を記憶する記憶手段１２（実施形態では、移動装置１１０におけるスイッチ１１２、または、固定装置１２０におけるスイッチ１２２で実現される。）と、初回パケットに後続するパケットを、カプセル化せずに、パケットの経路を特定可能なデータに従って無線通信路に送出する非カプセル化パケット送信手段１３（実施形態では、移動装置１１０におけるスイッチ１１２とＧＲＥインタフェースを除くインタフェースと、または、固定装置１２０におけるスイッチ１２２とＧＲＥインタフェースを除くインタフェースとで実現される。）とを備えている。
【０１４０】
パケットカプセル化装置において、記憶手段１２が、初回パケットに後続するパケットの経路を特定可能なデータとして、自装置における第１端末または第２端末からのパケットを無線通信路に送出するインタフェース（実施形態では、移動装置１１０におけるＷｉＦｉインタフェース１１５，１１６（ath0, ath1）、または、固定装置１２０におけるイーサネットインタフェース１２３，１２４（eth0, eth1）で実現される。）と、無線通信路からのパケットを受信する対向装置におけるインタフェース（実施形態では、移動装置１１０におけるＷｉＦｉインタフェース１１５，１１６（ath0, ath1）、または、固定装置１２０におけるイーサネットインタフェース１２３，１２４（eth0, eth1）で実現される。）とを特定可能なデータであるデータを記憶し、非カプセル化パケット送信手段１３が、初回パケットに後続するパケットを無線通信路に送出するときに、パケットの経路を特定可能なデータに従って、パケットのヘッダを書き換えるように構成されていてもよい。
【符号の説明】
【０１４１】
１０    パケットカプセル化装置
１１    カプセル化手段
１２    記憶手段
１３    非カプセル化パケット送信手段
１００  無線ＬＡＮ
１１０  移動装置
１１１  コントローラ
１１２  スイッチ
１１３  イーサネットインタフェース（eth0）
１１４  イーサネットインタフェース（eth1）
１１５  ＷｉＦｉインタフェース（ath0）
１１６  ＷｉＦｉインタフェース（ath1）
１１７  ＧＲＥインタフェース（gre0）
１１８  ＧＲＥインタフェース（gre1）
１２０  固定装置
１２１  コントローラ
１２２  スイッチ
１２３  イーサネットインタフェース（eth0）
１２４  イーサネットインタフェース（eth1）
１２７  ＧＲＥインタフェース（gre0）
１２８  ＧＲＥインタフェース（gre1）
１３０  L2HUB
１４１〜１４４  ＡＰ
２１０，２２０  端末（外部端末）
【図１】
2020141363.tif 000003
【図２】
2020141363.tif 000004
【図３】
2020141363.tif 000005
【図４】
2020141363.tif 000006
【図５】
2020141363.tif 000007
【図６】
2020141363.tif 000008
【図７】
2020141363.tif 000009
【図８】
2020141363.tif 000010
【図９】
2020141363.tif 000011
【図１０】
2020141363.tif 000012
【図１１】
2020141363.tif 000013
【図１２】
2020141363.tif 000014
【図１３】
2020141363.tif 000015