(57)【要約】【課題】多重化された中継装置に接続された通信端末に固定ＩＰアドレスが設定されている場合にも、通信相手から通信端末へのパケット転送を確実に行う。【解決手段】多重化されたＰ−ＧＷ４と、オープンフローネットワーク６を介して該Ｐ−ＧＷ４と接続されるルータ３とを含んで構成される通信システム１に含まれるオープンフローコントローラ５であって、トポロジ情報を記憶するトポロジ情報格納部５１と、上りパケットが該Ｐ−ＧＷ４に接続されたオープンフロースイッチによって受信された際に、上りパケット情報を取得する取得部５２と、上りパケット情報とトポロジ情報とから、下りパケットを、ポート情報によって示されるポートから該通信端末２が接続されたＰ−ＧＷ４に出力するように複数の転送ノードを制御する制御部５３と、を備える。【選択図】図１
2014003392.tif 000002
【特許請求の範囲】
【請求項１】
通信端末が接続されて当該通信端末によって送受信されるパケットの中継を行う多重化された中継装置と、パケットの転送を行う複数の転送ノードを含んで構成される転送網を介して該中継装置と接続される該通信端末の通信相手とを含んで構成される通信システムに含まれる制御ノードであって、
前記複数の転送ノード間の物理的なつながりを示すトポロジ情報を記憶するトポロジ情報格納手段と、
前記通信端末が接続された前記中継装置から前記通信相手に向けて送信される上りパケットが該中継装置に接続された前記転送ノードによって受信された際に、該上りパケットが入力された該転送ノードのポートを示すポート情報、並びに該上りパケットの送信元アドレス及び宛先アドレスを含む上りパケット情報を取得する取得手段と、
前記取得手段によって取得された前記上りパケット情報と、前記トポロジ情報格納手段によって格納されたトポロジ情報とから、前記通信相手から前記通信端末に送信される下りパケットを、前記ポート情報によって示されるポートから該通信端末が接続された前記中継装置に出力するように前記複数の転送ノードを制御する制御手段と、
を備える制御ノード。
【請求項２】
前記制御手段は、前記中継装置に接続された前記転送ノードについて、前記上りパケット情報に含まれる前記宛先アドレスと前記トポロジ情報とから、前記上りパケットの出力を行うポートを決定し、該出力を行うポートから該上りパケット情報に含まれる送信元アドレス及び宛先アドレスそれぞれが宛先アドレス及び送信元アドレスとした下りパケットが入力された場合に、該上りパケット情報に含まれるポート情報に示されるポートから下りパケットを出力するように制御する請求項１に記載の制御ノード。
【請求項３】
前記制御手段は、前記上りパケット情報に含まれる宛先アドレスのアドレス帯域を特定し、該上りパケットの出力を行うポートから、該上りパケット情報に含まれる送信元アドレスを宛先アドレスとし、該上りパケット情報に含まれる宛先アドレスのアドレス帯域に含まれるアドレスを送信元アドレスとした下りパケットが入力された場合に、該上りパケット情報に含まれるポート情報に示されるポートから下りパケットを出力するように制御する請求項２に記載の制御ノード。
【請求項４】
前記制御手段は、各前記転送ノードについて、パケットが入力されたポート、並びに該パケットの送信元アドレス及び宛先アドレスに該パケットを出力するポートを対応付けたテーブルを生成して、当該テーブルに従ってパケットの転送を行うように制御する請求項１〜３のいずれか一項に記載の制御ノード。
【請求項５】
前記取得手段は、前記転送ノードが前記テーブルに設定されていない内容の前記上りパケットを受信した場合に行う前記制御ノードへの問い合わせを受信することで前記上りパケット情報を取得する請求項４に記載の制御ノード。
【請求項６】
請求項１〜５の何れか一項に記載の制御ノードと、前記多重化された中継装置とを含む通信システムであって、
前記中継装置は、
前記通信端末が接続されたことを検出する検出手段と、
前記検出手段による検出を契機として、前記通信相手の方向にパケットを送信する送信手段と、
を備える通信システム。
【請求項７】
通信端末が接続されて当該通信端末によって送受信されるパケットの中継を行う多重化された中継装置と、パケットの転送を行う複数の転送ノードを含んで構成される転送網を介して該中継装置と接続される該通信端末の通信相手とを含んで構成される通信システムに含まれると共に、複数の転送ノード間の物理的なつながりを示すトポロジ情報を記憶するトポロジ情報格納手段を備える制御ノードによる通信制御方法であって、
前記通信端末が接続された前記中継装置から前記通信相手に向けて送信される上りパケットが該中継装置に接続された前記転送ノードによって受信された際に、該上りパケットが入力された該転送ノードのポートを示すポート情報、並びに該上りパケットの送信元アドレス及び宛先アドレスを含む上りパケット情報を取得する取得ステップと、
前記取得ステップにおいて取得された前記上りパケット情報と、前記トポロジ情報格納手段に格納されたトポロジ情報とから、前記通信相手から前記通信端末に送信される下りパケットを、前記ポート情報によって示されるポートから該通信端末が接続された前記中継装置に出力するように前記複数の転送ノードを制御する制御ステップと、
を含む通信制御方法。
【請求項８】
請求項１〜５の何れか一項に記載の制御ノードと、前記多重化された中継装置とを含む通信システムによる通信制御方法であって、
前記中継装置による、
前記通信端末が接続されたことを検出する検出ステップと、
前記検出ステップにおける検出を契機として、前記通信相手の方向にパケットを送信する送信ステップと、
を含む通信制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動体通信システムに含まれる制御ノード及び通信制御方法に関する。
【背景技術】
【０００２】
高速通信を行うための通信方式であるＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）を利用した通信網（以下、ＬＴＥ網という）においては、外部ネットワークであるＰＤＮ（Ｐａｃｋｅｔ  Ｄａｔｅ  Ｎｅｔｗｏｒｋ）に接続する際には、ＰＤＮゲートウェイ装置（以下、Ｐ−ＧＷという）が接続点となる。
【０００３】
このようなＰＤＮに対して、固定ＩＰアドレスで接続して、パケットデータの送受信を行う場合のパケットデータアドレッシングをサポートする技術として、ホーム加入者サーバ（ＨＳＳ）、モビリティ管理エンティティ（ＭＭＥ）、サービスゲートウェイ装置（以下、Ｓ−ＧＷという）、Ｐ−ＧＷ間でそれぞれ、固定アドレス及びＡＰＮ（Ａｃｃｅｓｓ  Ｐｏｉｎｔ  Ｎａｍｅ）の情報を送受信する方法が知られている。（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２０１０−５３９７５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
Ｐ−ＧＷのような中継装置は、障害発生時等にも通信を確立することができるよう、装置の多重化が行われることが多い。中継装置が多重化されている場合には、あるひとつのクライアント（通信端末）を多重化された複数の中継装置で収容することになる。ユーザのＩＰアドレスはどちらの中継装置に接続しても同一となるため、クライアント（通信端末）宛のパケットを、どちらの中継装置に対して転送すれば良いのかをＩＰアドレスで区別することはできない。
【０００６】
ここで、多重化された中継装置はそれぞれＩＰプール（中継装置に接続されるクライアント（通信端末）が設定されうるＩＰアドレス）を管理している。通信端末の通信相手から通信端末へのパケットである下りパケットの転送を考えた場合に、接続される通信端末が固定ＩＰアドレスでない場合には、それぞれの中継装置が管理するＩＰアドレスの帯域を互いに重複しない帯域にしておくことで、いずれかの帯域から設定されるため、宛先ＩＰアドレスによって、通信端末にパケットを転送する中継装置を特定することが可能である。一方で、接続される通信端末に固定ＩＰアドレスが設定されている場合には、それぞれの中継装置が管理するＩＰプールは、互いに重複する帯域にする必要があり、そこから通信端末のＩＰアドレスが設定されており、通信端末はいずれの中継装置にも接続されえる。そのため、この場合には、下りパケットの宛先ＩＰアドレスが、どちらのＩＰプールの帯域に属するのかによって、通信端末にパケットを転送する中継装置を特定することができない。以上より、多重化された中継装置に接続された通信端末のＩＰアドレスが固定ＩＰアドレスである場合には、通信相手から当該通信端末へのパケットを、転送ができない場合があるという問題があった。
【０００７】
本発明は上記実情に鑑みてなされたものであり、多重化された中継装置に接続された通信端末に固定ＩＰアドレスが設定されている場合にも、通信相手から通信端末へのパケット転送を確実に行うことができる制御ノード及び通信制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る制御ノードは、通信端末が接続されて当該通信端末によって送受信されるパケットの中継を行う多重化された中継装置と、パケットの転送を行う複数の転送ノードを含んで構成される転送網を介して該中継装置と接続される該通信端末の通信相手とを含んで構成される通信システムに含まれる制御ノードであって、複数の転送ノード間の物理的なつながりを示すトポロジ情報を記憶するトポロジ情報格納手段と、通信端末が接続された中継装置から通信相手に向けて送信される上りパケットが該中継装置に接続された転送ノードによって受信された際に、該上りパケットが入力された該転送ノードのポートを示すポート情報、並びに該上りパケットの送信元アドレス及び宛先アドレスを含む上りパケット情報を取得する取得手段と、取得手段によって取得された上りパケット情報と、トポロジ情報格納手段によって格納されたトポロジ情報とから、通信相手から通信端末に送信される下りパケットを、ポート情報によって示されるポートから該通信端末が接続された中継装置に出力するように複数の転送ノードを制御する制御手段と、を備える。
【０００９】
この制御ノードでは、制御手段が、上りパケット情報とトポロジ情報とに基づいて、転送ノードが下りパケットを通信端末が接続された中継装置に出力できるように制御するため、中継装置が多重化されており、通信端末に固定ＩＰアドレスが設定されている場合にも、下りパケットを、適切な中継装置に確実に転送することができる。
【００１０】
以上より、本発明によれば、多重化された中継装置に接続された通信端末に固定ＩＰアドレスが設定されている場合にも、通信相手から通信端末へのパケット転送を確実に行うことができる制御ノードを提供することができる。
【００１１】
また、本発明に係る制御ノードにおいて、制御手段は、中継装置に接続された転送ノードについて、上りパケット情報に含まれる宛先アドレスとトポロジ情報とから、上りパケットの出力を行うポートを決定し、該出力を行うポートから該上りパケット情報に含まれる送信元アドレス及び宛先アドレスそれぞれが宛先アドレス及び送信元アドレスとした下りパケットが入力された場合に、該上りパケット情報に含まれるポート情報に示されるポートから下りパケットを出力するように制御することが好ましい。このことにより、上りパケット情報に基づいて、下りパケットを転送することを確実に実施することができる。すなわち、本発明の実施を確実なものとすることができる。
【００１２】
また、本発明に係る制御ノードにおいて、制御手段は、上りパケット情報に含まれる宛先アドレスのアドレス帯域を特定し、該上りパケットの出力を行うポートから、該上りパケット情報に含まれる送信元アドレスを宛先アドレスとし、該上りパケット情報に含まれる宛先アドレスのアドレス帯域に含まれるアドレスを送信元アドレスとした下りパケットが入力された場合に、該上りパケット情報に含まれるポート情報に示されるポートから下りパケットを出力するように制御することが好ましい。このことにより、特定のアドレス帯域に含まれるアドレスを送信元アドレスとした下りパケットを、確実に転送することができる。
【００１３】
また、本発明に係る制御ノードにおいて、制御手段は、各転送ノードについて、パケットが入力されたポート、並びに該パケットの送信元アドレス及び宛先アドレスに該パケットを出力するポートを対応付けたテーブルを生成して、当該テーブルに従ってパケットの転送を行うように制御することが好ましい。制御手段による制御を設定したテーブルに従って行うことにより、本発明の実施を簡易なものとすることができる。
【００１４】
また、本発明に係る制御ノードにおいて、取得手段は、転送ノードがテーブルに設定されていない内容の上りパケットを受信した場合に行う制御ノードへの問い合わせを受信することで上りパケット情報を取得することが好ましい。転送ノードが上りパケットを受信したタイミングで転送ノードからの問い合わせを受信することで、簡易かつタイムリーに上りパケット情報を取得することができ、テーブルの最新化を容易に行うことができる。
【００１５】
また、本発明に係る通信システムにおいて、制御ノードと多重化された中継装置とを含む通信システムであって、中継装置は、通信端末が接続されたことを検出する検出手段と、検出手段による検出を契機として、通信相手の方向にパケットを送信する送信手段と、を備えることが好ましい。下りパケットの転送を制御するためには上りパケットが送信されることが必須であるところ、通信端末が移動体通信網に接続されたタイミングで上りパケットを送信することにより、テーブルの設定を下りパケットの送信前に確実に行うことができ、通信相手から当該通信端末へのパケットが転送できないという事態を防止できる。
【００１６】
また、本発明に係る通信制御方法は、通信端末が接続されて当該通信端末によって送受信されるパケットの中継を行う多重化された中継装置と、パケットの転送を行う複数の転送ノードを含んで構成される転送網を介して該中継装置と接続される該通信端末の通信相手とを含んで構成される通信システムに含まれると共に、複数の転送ノード間の物理的なつながりを示すトポロジ情報を記憶するトポロジ情報格納手段を備える制御ノードによる通信制御方法であって、通信端末が接続され中継装置から通信相手に向けて送信される上りパケットが該中継装置に接続された前記転送ノードによって受信された際に、該上りパケットが入力された該転送ノードのポートを示すポート情報、並びに該上りパケットの送信元アドレス及び宛先アドレスを含む上りパケット情報を取得する取得ステップと、取得ステップにおいて取得された上りパケット情報と、トポロジ情報格納手段に格納されたトポロジ情報とから、通信相手から通信端末に送信される下りパケットを、ポート情報によって示されるポートから該通信端末が接続された中継装置に出力するように複数の転送ノードを制御する制御ステップと、を含む。この通信制御方法は、上述の制御ノードと同様な効果を奏することができる。
【００１７】
また、本発明に係る通信制御方法は、制御ノードと、多重化された中継装置とを含む通信システムによる通信制御方法であって、中継装置による、通信端末が接続されたことを検出する検出ステップと、検出ステップにおける検出を契機として、通信相手の方向にパケットを送信する送信ステップと、を含む。この通信制御方法は、上述の通信システムと同様な効果を奏することができる。
【発明の効果】
【００１８】
本発明によれば、多重化された中継装置に接続された通信端末に固定ＩＰアドレスが設定されている場合にも、通信相手から通信端末へのパケット転送を確実に行うことができる制御ノード及び通信制御方法を提供することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施形態に係る制御ノードであるオープンフローコントローラの機能構成、及び当該オープンフローコントローラを含む移動体通信システムを示す図である。
【図２】本発明の実施形態に係るフローテーブルを示す図である。
【図３】本発明の実施形態に係る制御ノードであるオープンフローコントローラ、オープンフロースイッチ等のハードウェア構成を示す図である。
【図４】本発明の実施形態に係る制御ノードであるオープンフローコントローラ、及び移動体通信システムを構成するその他の装置によるパケット転送処理を示すシーケンス図である。
【発明を実施するための形態】
【００２０】
以下、図面と共に本発明に係る移動体通信システム及びその制御方法の好適な実施形態について詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。
【００２１】
まず、図１を参照して、本実施形態に係る制御ノードであるオープンフローコントローラ５を含む移動体通信システム１の構成を示す。図１に示すように、本実施形態に係る移動体通信システム１は、通信端末（ＵＥ）２と、ルータ３と、Ｐ−ＧＷ４と、オープンフローコントローラ５と、オープンフローネットワーク６と、を備えて構成される。移動体通信システム１は、ＬＴＥ網において機能する移動体通信システムである。
【００２２】
通信端末２は、ユーザが利用する情報通信端末であって、例えば、ノート型ＰＣや、タブレット型コンピュータなどを用いることができる。通信端末２には固定ＩＰアドレスが用いられる（設定される）。通信端末２に固定ＩＰアドレスが用いられるケースとして、例えば、通常は企業ＬＡＮで用いられているＰＣ端末と同一のＩＰアドレスを、外出時にノート型ＰＣに割り当てる場合などが考えられる。また、通信端末２はＰ−ＧＷ４に接続する際は、Ｐ−ＧＷ４に対してＡＰＮ（Ａｃｃｅｓｓ  Ｐｏｉｎｔ  Ｎａｍｅ）を指定することで接続先のルータ３を指定する。以下、通信端末２とは移動体通信端末であるものとして説明を行う。よって、後述するＰ−ＧＷ４等も、移動体通信端末に対応しているものである。
【００２３】
ルータ３は、通信端末２を外部ネットワークであるＰＤＮ（例えば、企業内ＬＡＮ）に接続させる機能を有するものである。ルータ３は、後述するオープンフローネットワーク６を介して、Ｐ−ＧＷ４と接続される、通信端末２の通信相手である。なお、通信相手とは必ずしもルータ３に限定されず、ルータ３がさらにパケットを転送する相手（通信端末２のユーザがパケットを届けたい相手）であってもよい。また、ルータ３は例えばユーザネットワーク（企業内ＬＡＮなど）におけるルータである。
【００２４】
Ｐ−ＧＷ４は、ＬＴＥ網において、通信端末２を外部ネットワークであるＰＤＮに接続するための装置であり、接続された通信端末よって送受信されるパケットの中継を行う中継装置である。同一のＰＤＮに接続するためのＰ−ＧＷ４は、複数台で多重化することによって、通信の信頼性を向上させるとともに、各Ｐ−ＧＷ４の処理量を分散し、スループットの低下を防止している。図１中では、Ｐ−ＧＷ４ａ、Ｐ−ＧＷ４ｂの二台で多重化されている。Ｐ−ＧＷ４ａ、４ｂは、いずれも運用状態（両系運用系（両系ａｃｔ））としており、いずれかを予備系として待機させるといった利用のしかたはしていない。Ｐ−ＧＷ４ａ、４ｂは、それぞれ異なるＩＰプールを管理しているが、通信端末２には固定ＩＰアドレスが設定されているため、Ｐ−ＧＷ４ａ、４ｂの固定ＩＰアドレス用のＩＰプールは重複しており、その帯域からＩＰアドレスが通信端末２に設定されている。通信端末２のＰ−ＧＷ４の接続時に、接続先として多重化されたＰ−ＧＷ４ａ又は４ｂのいずれかが選択される。通信端末２がＰ−ＧＷ４ａとＰ−ＧＷ４ｂの何れに接続されるかは、移動体通信網おいて判断されて制御される。この判断は、例えば、Ｐ−ＧＷ４ａ及びＰ−ＧＷ４ｂに接続されている通信端末の比率（分散比率）に従って決定される。
【００２５】
Ｐ−ＧＷ４（Ｐ−ＧＷ４ａ及び４ｂ）は図１に示すように、ゲートウェイ部４１、検出部４２、送信部４３を備えている。
【００２６】
ゲートウェイ部４１は、Ｐ−ＧＷ４のゲートウェイとしての機能を有する。ゲートウェイ部４１は、通信端末２から当該通信端末２に応じたプロトコル形式のパケットを受信して、必要に応じて適切なプロトコルに変換を行い、パケットを転送（中継）する。ゲートウェイ部４１が有するゲートウェイとしての機能は、従来のＰ−ＧＷ４が有しているものと同様である。
【００２７】
検出部４２は、通信端末２が自装置（Ｐ−ＧＷ４）に接続されたことを検出する検出手段である。検出部４２は、Ｐ−ＧＷ４に在圏する移動体通信網に通信端末２が接続される（より具体的には例えば、通信端末２に係る接続に用いられる信号が受信される）ことにより、通信端末２が接続されたことを検出する。検出部４２は、通信端末２が接続されたことを検出するとその旨を送信部４３に通知する。また、通信端末２による接続において通信端末２からＡＰＮを指定する信号が送信された場合には、そのＡＰＮを送信部４３に通知する。
【００２８】
送信部４３は、検出部４２が通信端末２の接続を検出したことを契機として、通信相手であるルータ３に向かってパケットを送信する送信手段である。当該パケットとして、例えばＩＣＭＰパケット（ＩＣＭＰ＿Ｅｃｈｏ  Ｒｅｑｕｅｓｔ）が考えられる。Ｐ−ＧＷ４は、接続するＰＤＮを指定する文字列であるＡＰＮを、ＰＤＮ毎に保持しており、通信端末２がＰ−ＧＷ４に接続した際には、通信端末２によってＡＰＮが指定される。送信部４３は、該指定されたＡＰＮを参照して、当該通信端末２が接続したいＰＤＮを特定し、当該ＰＤＮのルータを宛先として決定する。なお、通信端末２によってＡＰＮの指定がなかった場合には、送信部４３が通信端末２毎に予め記憶したデフォルトのＡＰＮが用いられる。例えば、デフォルトのＡＰＮは、移動体通信網の管理者等によって入力されている。なお、送信部４３によって送信されるパケットに含められる送信元アドレスについては、接続された通信端末２のＩＰアドレスが、宛先アドレスについては、特定されたＰＤＮのルータのＩＰアドレスが、それぞれ設定される。
【００２９】
オープンフローコントローラ５は、移動体通信システムに含まれる制御ノードであって、オープンフローネットワーク６におけるパケットの送受信に関する制御を行う。オープンフローコントローラ５は従来のオープンフローコントローラが有する機能を有しており、また、図１に示すように、トポロジ情報格納部５１と、取得部５２と、制御部５３と、を備える。
【００３０】
トポロジ情報格納部５１は、複数のオープンフロースイッチ間の物理的なつながりを示すトポロジ情報を記憶するトポロジ情報格納手段である。トポロジ情報とは、各オープンフロースイッチ６ａ〜６ｄの物理的なつながり情報等であり、具体的には、各オープンフロースイッチ６ａ〜６ｄをつなぐケーブルが、それぞれ各オープンフロースイッチ６ａ〜６ｄのどのポート同士をつないでいるかという情報や、オープンフローネットワーク６のオープンフロースイッチの数（本実施形態であれば６ａ〜６ｄの４つ）の情報などがある。トポロジ情報を有することにより、経路として整合性のあるフロー制御が可能となる。
【００３１】
取得部５２は、通信端末２が接続されたＰ−ＧＷ４からルータ３に向けて送信される上りパケットが該Ｐ−ＧＷ４に接続されたオープンフロースイッチ６ａ〜６ｄによって受信された際に、上りパケット情報を取得する取得手段である。上りパケット情報は、該上りパケットが入力された該オープンフロースイッチ６ａ〜６ｄのポートを示すポート情報、並びに該上りパケットの送信元アドレス及び宛先アドレスを含む。ここで、オープンフロースイッチのポートとは、物理ポートをいう。取得部５２によって取得される上りパケット情報には、通信端末２が接続されたＰ−ＧＷ４から送信される上りパケットが、該Ｐ−ＧＷ４に接続されたオープンフロースイッチ６ａ〜６ｄによって直接、受信された際の上りパケット情報を含む。即ち、該上りパケット情報に含まれるポート情報は、Ｐ−ＧＷ４に接続されて、通信端末２が接続されたＰ−ＧＷ４から上りパケットが入力された該オープンフロースイッチ６ａ〜６ｄのポートを示す。
【００３２】
具体的に、ポート情報及び送信元アドレス、宛先アドレスの取得イメージを図１で説明する。例えば、通信端末２からルータ３を介して接続されるＰＤＮ内のサーバに向けて送信されたパケット（上りパケット）をオープンフロースイッチ６ａが受信したような場合を考える。いま、通信端末２がＰ−ＧＷ４ａに接続されているとすると、オープンフロースイッチ６ａは、ポートＡから、Ｐ−ＧＷ４ａからの上りパケットが入力されることになる。よって、上りパケットが入力されたオープンフロースイッチ６ａのポートとは、Ａになる。また、オープンフロースイッチ６ａが受信した上りパケットのヘッダ情報から、送信元アドレスは通信端末のアドレス（１９２．１６８.１．１）であり、宛先アドレスは、例えば、ルータ３を介して接続されるＰＤＮ内のサーバのアドレスであることが特定できる。なお、アドレスとはＩＰアドレスである。また、パケットのヘッダに格納された、送信元アドレス及び宛先アドレスの設定のされ方は、従来、通信端末２がＰＤＮにパケット送信を行う場合と同様である。
【００３３】
取得部５２は、オープンフロースイッチ６ａ〜６ｄから送信されたオープンフローコントローラ５への問い合わせを受信することで上りパケット情報を取得する。この問い合わせは、後述するようにオープンフロースイッチ６ａ〜６ｄがテーブルに設定されていない内容の上りパケットを受信した場合に行われる。また、この問い合わせには、上りパケット情報の取得元のオープンフロースイッチ６ａ〜６ｄを特定する情報が含まれている。取得部５２は、取得した上りパケット情報及び取得元のオープンフロースイッチ６ａ〜６ｄを特定する情報を、制御部５３に出力する。
【００３４】
制御部５３は、取得部５２によって取得された上りパケット情報及び上りパケット情報の取得元のオープンフロースイッチ６ａ〜６ｄを特定する情報と、トポロジ情報格納部５１によって格納されたトポロジ情報とから、ルータ３から通信端末２に送信される下りパケットを該通信端末２が接続されたＰ−ＧＷ４に出力するように複数のオープンフロースイッチを制御する制御手段である。制御部５３は、下りパケットを、上りパケット情報に含まれるポート情報によって示される、Ｐ−ＧＷ４に接続されて、通信端末２が接続されたＰ−ＧＷ４から上りパケットが入力された該オープンフロースイッチ６ａ〜６ｄのポートから、通信端末２が接続されたＰ−ＧＷ４に出力するように制御する。
【００３５】
具体的には、制御部５３は、Ｐ−ＧＷ４に接続されたオープンフロースイッチ６ａ〜６ｄを含む各オープンフロースイッチ６ａ〜６ｄについて、上りパケット情報に含まれる宛先アドレス及び上りパケット情報の取得元のオープンフロースイッチ６ａ〜６ｄを特定する情報とトポロジ情報とから、上りパケットの出力を行うポートを決定する。出力先のポートの決定は、従来のルーティング技術を用いて行うことができる。制御部５３は、該出力を行うポートから該上りパケット情報に含まれる送信元アドレス及び宛先アドレスそれぞれが宛先アドレス及び送信元アドレスとした下りパケットが入力された場合に、該上りパケット情報に含まれるポート情報に示されるポートから下りパケットを出力するように制御する。
【００３６】
また、制御部５３は、上りパケット情報に含まれる宛先アドレスのアドレス帯域を特定し、該上りパケットの出力を行うポートから、該上りパケット情報に含まれる送信元アドレスを宛先アドレスとし、該上りパケット情報に含まれる宛先アドレスのアドレス帯域に含まれるアドレスを送信元アドレスとした下りパケットが入力された場合に、該上りパケット情報に含まれるポート情報に示されるポートから下りパケットを出力するように制御する。
【００３７】
制御部５３は、各オープンフロースイッチ６ａ〜６ｄについて、パケットが入力されたポート、並びに該パケットの送信元アドレス及び宛先アドレスに該パケットを出力するポートを対応付けたテーブル（フローテーブル）を生成して生成したフローテーブルを各オープンフロースイッチ６ａ〜６ｄに送信することで、当該フローテーブルに従ってパケットの転送を行うように制御する。
【００３８】
フローテーブルについて、図２（ａ）により説明する。図２（ａ）に示すように、フローテーブルは、入力ポートと送信元アドレスと宛先アドレスと出力ポートとを含んでおり、これらの対応表を記録している。フローテーブルを構成する一レコードは、フローエントリという。図２（ａ）は、Ｐ−ＧＷ４に接続された通信端末２と、ルータ３を介して接続されるＰＤＮ内のサーバとで、送受信されるパケットについてのフローエントリを含んだフローテーブルである。各フローエントリは、入力ポート、送信元アドレス、宛先アドレス（マッチングフィールド）の組合せに該当したパケットを、どの出力ポート（アクション）から転送するか、を規定する情報である。すなわち、図２（ａ）のフローテーブルにあっては、入力ポートがＡであり、送信元アドレスが１９２．１６８.１．１、であり、宛先アドレスが、ＰＤＮ内のサーバである場合（マッチングフィールドがすべて一致した場合）には、出力ポートをＣとするものである。
【００３９】
制御部５３は、上りパケット情報の取得元のオープンフロースイッチ６ａ〜６ｄのフローテーブルに、該上りパケットのフローエントリを生成する。このフローエントリは、取得部５２によって取得された上りパケット情報に含まれる入力ポートと送信元アドレスと宛先アドレスとをマッチングフィールドの値とし、決定した出力ポートをアクションとするものである。そして、該上りパケットに対応する下りパケットのフローエントリを生成する。下りパケットのフローエントリは、マッチングフィールドの入力ポートを上りパケットのフローエントリの出力ポートとし、送信元アドレスを、上りパケットのフローエントリの宛先アドレスとし、宛先アドレスを、上りパケットのフローエントリの送信元アドレスとし、アクションの出力ポートを上りパケットのフローエントリの入力ポートとするものである。上記のように、下りパケットのフローエントリは、上りパケットのフローエントリを逆にしたものである。即ち、制御部５３は、この下りパケットのフローエントリによって、パケットの出力を行うポートから上りパケット情報に含まれる送信元アドレス及び宛先アドレスそれぞれが宛先アドレス及び送信元アドレスとした下りパケットが入力された場合に、該上りパケット情報に含まれるポート情報に示されるポートから下りパケットを出力するように制御する。
【００４０】
また、フローエントリの生成の際に、生成するフローエントリと競合を生じるフローエントリがフローテーブル中に存在してか否か判断して、競合を生じるフローエントリが存在していると判断した場合には競合を生じるフローエントリを削除することとしてもよい。例えば、上りパケット情報に含まれる送信元アドレス及び宛先アドレスと同一の上りパケットに係るフローエントリがある場合には（パケットに係る通信端末２と通信相手とが同じ場合）、該上りパケットに係るフローエントリと、該上りパケットに対応する下りパケットに係るフローエントリを削除してからフローエントリの生成を生成することとしてもよい。
【００４１】
なお、上記はフローエントリに適合しない上りパケットがオープンフロースイッチ６ａ〜６ｄによって受信された場合に該上りパケットに対応する下りパケットに係るフローエントリを作成するものである。フローエントリに適合しない下りパケットがオープンフロースイッチ６ａ〜６ｄによって受信された場合には、上述したフローエントリに適合しない上りパケットがオープンフロースイッチ６ａ〜６ｄによって受信された場合と同様、該下りパケットに対応する上りパケットに係るフローエントリを作成する。この場合、制御部５３は、パケットが、上りパケットであるか下りパケットであるかの判断を行う必要はない。なお、フローエントリに適合しない下りパケットがオープンフロースイッチ６ａ〜６ｄによって受信された場合には、必ずしも下りパケットに対応する上りパケットのフローエントリを作成する必要はない（該下りパケットのみのフローエントリを作成してもよい）。この場合、制御部５３は、パケットが、上りパケットであるか下りパケットであるかの判断を行う。この判断は、例えば、パケットの宛先アドレス又は送信元アドレスに基づいて行うこととすればよい。あるいは、上りパケットであるか下りパケットであるかの判断は、オープンフロースイッチ６ａ〜６ｄによって行われて、オープンフローコントローラ５に通知されてもよい。
【００４２】
具体的に、制御部５３によるテーブル設定のイメージについて、図１及び図２を用いて説明する。前提として、取得部５２によって、オープンフロースイッチ６ａが受信した、通信端末２からルータ３を介して接続されるＰＤＮ内のサーバに向けて送信されたパケット（上りパケット）の情報が取得されていたとする。また、トポロジ情報格納部５１によって、図１の複数のオープンフロースイッチ間の物理的なつながりが格納されているとする。この場合、上りパケットのヘッダ情報より、宛先アドレスは、ＰＤＮ内のサーバのアドレスであることが特定できる。また、オープンフロースイッチ６ａからルータ３に向けて転送されるパケットは、トポロジ情報より、オープンフロースイッチ６ｃに転送されるべきであることが特定できる。よって、宛先アドレスとトポロジ情報から、上りパケットの出力を行うオープンフロースイッチ６ａのポートはＣに決定される。ここまでで、上りパケットについての、入力ポート（Ａ）、出力ポート（Ｃ）、送信元アドレス（１９２．１６８.１．１）、宛先アドレス（ＰＤＮ内のサーバのアドレス帯域）が決まる。
【００４３】
通常、一つのＰＤＮ内には複数のサーバがあるため、フローテーブルでは、宛先アドレスであるＰＤＮ内のサーバのアドレスは、帯域で設定する。当該アドレス帯域には、ＰＤＮに対応するルータ３のアドレスも含まれる。アドレス帯域は、ルータ３を含む一つのＰＤＮのアドレス範囲を示すものである。制御部５３は、上りパケット情報に含まれる宛先アドレスからアドレス帯域を決定するビットマスク値を特定して、特定したビットマスク値により決定されるアドレス帯域を、フローエントリの宛先アドレスとして設定する。なお、ＰＤＮ内のサーバが単一である場合には、該単一のサーバのアドレスを宛先アドレスとしてもよい。下りパケットは、上りパケットの入力ポートを出力ポートに、出力ポートを入力ポートに、送信元アドレスを宛先アドレスに、宛先アドレスを送信元アドレスに、それぞれ設定したものとなる。なお、上りパケットについて、宛先アドレスであるＰＤＮ内のサーバのアドレスを帯域で設定したのと同様、下りパケットについても、送信元アドレスであるＰＤＮ内のサーバのアドレスは帯域で設定する。このようにして設定したオープンフロースイッチ６ａのフローテーブルは、図２（ａ）に示すようになる。
【００４４】
フローテーブルについて、図２（ａ）により説明する。図２（ａ）に示すように、フローテーブルは、入力ポートと送信元アドレスと宛先アドレスと出力ポートとを含んでおり、これらの対応表を記録している。フローテーブルを構成する一レコードは、フローエントリという。図２（ａ）は、Ｐ−ＧＷ４に接続された通信端末２と、ルータ３を介して接続されるＰＤＮ内のサーバとで、送受信されるパケットについてのフローエントリを含んだフローテーブルである。各フローエントリは、入力ポート、送信元アドレス、宛先アドレス（マッチングフィールド）の組合せに該当したパケットを、どの出力ポート（アクション）から転送するか、を規定する情報である。すなわち、図２（ａ）のフローテーブルにあっては、入力ポートがＡであり、送信元アドレスが１９２．１６８.１．１、であり、宛先アドレスが、ＰＤＮ内のサーバである場合（マッチングフィールドがすべて一致した場合）には、出力ポートをＣとするものである。
【００４５】
オープンフローネットワーク６は、パケットの転送を行う複数の転送ノードであるオープンフロースイッチを含んで構成される転送網である。オープンフローネットワーク６は、ネットワークの制御技術であり、アドレス情報やポート番号などの組み合わせにより決定される一連の通信を「フロー」として定義して、フロー単位での経路制御を実現するフロー制御ネットワークある。オープンフローネットワーク６は、Ｐ−ＧＷ４ａ、４ｂとルータ３との間に位置してフロー制御を行う。
【００４６】
オープンフローネットワーク６は、複数のオープンフロースイッチ６ａ〜６ｄからなる。オープンフロースイッチ６ａ〜６ｄは、オープンフローコントローラ５の制御部５３からの制御内容に従って、パケットの転送を行う転送ノードである。オープンフロースイッチ６ａ〜６ｄは、複数の物理的なポートを備えており、当該ポートを介して別の装置であるルータ３、Ｐ−ＧＷ４、別のオープンフロースイッチ６ａ〜６ｄと接続されており、パケットの送受信を行うことができる。また、オープンフロースイッチ６ａ〜６ｄは、オープンフローコントローラ５にも接続されており、情報の送受信を行うことができる。
【００４７】
オープンフロースイッチ６ａ〜６ｄは、転送対象のパケットを受信すると、該パケットが自身のフローテーブルに設定されている内容のものか否かを判断する。具体的には、オープンフロースイッチ６ａ〜６ｄは、受信された（入力された）パケットが入力した入力ポートを検出すると共に、受信されたパケットのヘッダから該パケットの送信元アドレス及び宛先アドレスを抽出する。オープンフロースイッチ６ａ〜６ｄは、取得した入力ポート、の送信元アドレス及び宛先アドレスの組に一致する情報が、自身のフローテーブルに含まれているか否かを判断する。
【００４８】
オープンフロースイッチ６ａ〜６ｄは、自身のフローテーブルに設定されている内容の上りパケットを受信したと判断した場合には、当該フローテーブルに従ってパケットの転送（出力）を行う。
【００４９】
オープンフロースイッチ６ａ〜６ｄは、自身のフローテーブルに設定されていない内容の上りパケットを受信したと判断した場合に、オープンフローコントローラ５に問い合わせを行う。この問い合わせには、受信したパケットに係る入力ポート、の送信元アドレス及び宛先アドレスが含められる。また、この問い合わせには、オープンフロースイッチ６ａ〜６ｄ自身を特定する情報が含められる。その後、オープンフローコントローラ５により、当該上りパケットの情報をもとにフローテーブルの情報が更新される。
【００５０】
オープンフロースイッチによる、フローテーブルに従ったパケットのフロー制御について、図２（ａ）に示したフローテーブルが設定されているオープンフロースイッチ６ａの例で説明する。いま、図１に示す通信端末２がＰ−ＧＷ４ａに接続されている場合に、通信端末２から、ルータ３を介して接続されるＰＤＮ内のサーバに転送されるパケットをオープンフロースイッチ６ａが受信したとする。当該受信したパケットの入力ポートはＡであり、また、パケットのヘッダ情報から、送信元アドレスは１９２．１６８.１．１、であり、宛先アドレスは、ＰＤＮ内のサーバであると特定できる。図２（ａ）に示したフローテーブルと比較すると、上りパケット用（図２（ａ）中の上側）のフローエントリと、マッチングフィールドである入力ポート、送信元アドレス、宛先アドレスの全てが一致するため、出力ポートとして、同フローエントリの出力ポートであるＣが選択される。よって、オープンフロースイッチ６ａは、当該パケットを出力ポートＣから転送する。以上は、オープンフロースイッチのフローテーブルに設定されている内容のパケットを受信した場合のフロー制御である。
【００５１】
一方で、例えば図１中のＰ−ＧＷ４ａが何らかの理由で故障していたような場合には、通信端末２は、Ｐ−ＧＷ４ａを使った接続からＰ−ＧＷ４ｂを使った接続に変更される。この場合に、通信端末２から、ルータ３を介して接続されるＰＤＮ内のサーバに転送されるパケットをオープンフロースイッチ６ｂが受信したとする。なお、オープンフロースイッチ６ｃには、オープンフロースイッチ６ａと同様、図２（ａ）に示したフローテーブルが設定されているとして説明を行う。オープンフロースイッチ６ｂが受信したパケットの入力ポートはＢであり、また、パケットのヘッダ情報から、送信元アドレスは１９２．１６８.１．１、であり、宛先アドレスは、ＰＤＮ内のサーバであると特定できる。この場合、上りパケットのヘッダ情報より、宛先アドレスは、ＰＤＮ内のサーバのアドレスであることが特定できる。また、オープンフロースイッチ６ｂからルータ３に向けて転送されるパケットは、トポロジ情報より、オープンフロースイッチ６ｃに転送されるべきであることが特定できる。よって、宛先アドレスとトポロジ情報から、上りパケットの出力を行うオープンフロースイッチ６ｂのポートはＣに決定される。ここまでで、上りパケットについての、入力ポート（Ｂ）、出力ポート（Ｃ）、送信元アドレス（１９２．１６８.１．１）、宛先アドレス（ＰＤＮ内のサーバのアドレス）が決まる。下りパケットは、上りパケットの入力ポートを出力ポートに、出力ポートを入力ポートに、送信元アドレスを宛先アドレスに、宛先アドレスを送信元アドレスに、それぞれ設定したものとなる。このようにして設定したオープンフロースイッチ６ｂのフローテーブルは、図２（ｄ）に示すようになる。すなわち、上りパケットは、オープンフロースイッチ６ｂからオープンフロースイッチ６ｃへ出力される。オープンフロースイッチ６ｃのフローテーブルである図２（ａ）に示したフローテーブルと比較すると、上りパケット用（図２（ａ）中の上側）のフローエントリの入力ポート（Ａ）と、受信したパケットの入力ポート（Ｂ）とが一致していないことがわかる。
【００５２】
この場合、オープンフロースイッチ６ｃは、オープンフローコントローラ５の取得部５２に問い合わせを行う。そして、制御部５３は、取得部５２が取得した上りパケットの情報、オープンフロースイッチ６ｃを特定する情報及びトポロジ情報格納部５１が格納しているトポロジ情報に基づいて、新たなフローテーブルを設定する。具体的には、上りパケットのヘッダ情報より、宛先アドレスは、ＰＤＮ内のサーバのアドレスであることが特定できる。また、オープンフロースイッチ６ｃからルータ３に向けて転送されるパケットは、トポロジ情報より、ルータ３に転送されるべきであることが特定できる。よって、宛先アドレスとトポロジ情報から、上りパケットの出力を行うオープンフロースイッチ６ｃのポートはＣに決定される。ここまでで、上りパケットについての、入力ポート（Ｂ）、出力ポート（Ｃ）、送信元アドレス（１９２．１６８.１．１）、宛先アドレス（ＰＤＮ内のサーバのアドレス）が決まる。下りパケットは、上りパケットの入力ポートを出力ポートに、出力ポートを入力ポートに、送信元アドレスを宛先アドレスに、宛先アドレスを送信元アドレスに、それぞれ設定したものとなる。このようにして設定したオープンフロースイッチ６ｃのフローテーブルは、図２（ｄ）に示すようになる。なお、図２（ｄ）に示す新たなフローテーブルを設定する前提として、図２（ａ）に示した元のフローテーブルが削除される。
【００５３】
また、オープンフローネットワーク６は、必ずしも複数のオープンフロースイッチを有する必要はなく、オープンフロースイッチが単体であっても良い。即ち、一つのオープンフロースイッチにおける異なるポートそれぞれに多重化されたＰ−ＧＷ４それぞれが接続されていてもよい。この場合の、オープンフロースイッチの機能や、フローテーブルとして保持する情報については、オープンフロースイッチを複数構成としたときと同様である。
【００５４】
図３は、本発明の実施形態に係る制御ノードであるオープンフローコントローラのハードウェア構成を示す図である。図３に示すようにオープンフローコントローラは、ＣＰＵ１０１、主記憶装置であるＲＡＭ１０２及びＲＯＭ１０３、通信を行うための通信モジュール１０４、並びにハードディスク等の補助記憶装置１０５等のハードウェアを備えるコンピュータを含むものとして構成される。これらの構成要素がプログラム等により動作することにより、上述した各機能が発揮される。
【００５５】
引き続いて、図４のシーケンス図を用いて、本実施形態に係る移動体通信システムのパケット転送処理である通信制御方法について説明する。
【００５６】
なお、当該処理の前提条件として、通信端末２には固定ＩＰアドレス（１９２．１６８．１．１）が設定されており、Ｐ−ＧＷ４ａ、４ｂは両系運用系（両系ａｃｔ）で構成されているものとし、また、本処理の開始時には各オープンフローテーブル６ａ〜６ｄにはフローテーブルが設定されていないものとする。また、本処理では、Ｐ−ＧＷ４は、検出部４２及び送信部４３を備えない構成とする。
【００５７】
まず、通信端末２が移動体通信網に在圏して、接続されるＰ−ＧＷ４として決定されたＰ−ＧＷ４ａと接続する。宛先アドレスとして、ルータ３を介して接続されるＰＤＮ内のサーバのアドレスを指定したパケットを送信する（Ｓ０１）。通信端末２がＰ−ＧＷ４ａと接続した際に最初に送信するパケットは、例えば、ＰＤＮである企業ＬＡＮへ接続するための認証要求のパケット等である。Ｐ−ＧＷ４ａとＰ−ＧＷ４ｂのいずれに通信端末２が接続されるかは、Ｐ−ＧＷ４ａ及びＰ−ＧＷ４ｂに接続されている通信端末の比率（分散比率）に従って決定される。Ｐ−ＧＷ４ａは、パケットを、接続されたオープンフロースイッチであるオープンフロースイッチ６ａに転送する（Ｓ０２）。この場合には、オープンフロースイッチ６ａのポートＡが入力ポートとなる。
【００５８】
次に、オープンフロースイッチ６ａは自身のフローテーブルに、転送されたパケットの入力ポート、送信元アドレス、宛先アドレスに対応するフローエントリが存在するか判断する。前提条件に示したように、各オープンフローテーブル６ａ〜６ｄにはフローテーブルが設定されていないため、オープンフロースイッチ６ａは、当該パケットがフローテーブルにマッチしないことを認識する（Ｓ０３）。
【００５９】
オープンフロースイッチ６ａは、転送されたパケットがフローテーブルにマッチしないため、オープンフローコントローラ５に、フローテーブルの設定を要求するための問い合わせを行う（Ｓ０４）。オープンフローコントローラ５では、取得部５２が該問い合わせを受信することで取得する（Ｓ０４、取得ステップ）。取得部５２は受信した該問い合わせを制御部５３に入力する。
【００６０】
オープンフローコントローラ５の制御部５３は、オープンフロースイッチ６ａからの要求に基づいて、フローテーブルを設定する。フローテーブルの設定の仕方は上述したとおりである。制御部５３は、図２（ａ）に示した、上りパケットのフローエントリ及び下りパケットのフローエントリを設定し、オープンフロースイッチ６ａのフローテーブルとして、当該フローテーブルを更新（設定）する（Ｓ０５、制御ステップ）。
【００６１】
Ｓ０５において、オープンフロースイッチ６ａのフローテーブルが設定されたため、オープンフロースイッチ６ａは、当該フローテーブルに基づいて、出力ポートＣからパケットを転送し（Ｓ０６）、パケットはオープンフロースイッチ６ｃに転送される。
【００６２】
オープンフロースイッチ６ｃは入力ポートＡからパケットを受信すると、フローテーブルが設定されていない状態であるため、当該パケットがフローテーブルにマッチしないことを認識し（Ｓ０７）、オープンフローコントローラ５に、フローテーブルの設定を要求するための問い合わせを行う（Ｓ０８）。オープンフローコントローラ５では、取得部５２が該問い合わせを受信することで取得する（Ｓ０８、取得ステップ）。取得部５２は受信した該問い合わせを制御部５３に入力する。
【００６３】
オープンフローコントローラ５の制御部５３は、オープンフロースイッチ６ｃからの要求に基づいて、フローテーブルを設定する。上述したとおり、トポロジ情報から通信経路を決定し、制御部５３は、トポロジ情報から決定した通信経路に基づいて、オープンフロースイッチ６ｃのフローテーブルとして、上りパケットを転送する際の、「入力ポート：Ａ、送信元アドレス：１９２．１６８．１．１、宛先アドレス：サーバ側のアドレス、出力ポートＣ」というフローエントリと、下りパケットを転送する際の、「入力ポート：Ｃ、送信元アドレス：サーバ側のアドレス、宛先アドレス：１９２．１６８．１．１、出力ポートＡ」というフローエントリを設定する。当該フローテーブルは図２（ａ）に示すようになる。そして、制御部５３は、オープンフロースイッチ６ｃのフローテーブルとして、当該フローテーブルを更新（設定）する（Ｓ０９、制御ステップ）。
【００６４】
Ｓ０９において、オープンフロースイッチ６ｃのフローテーブルが設定されたため、オープンフロースイッチ６ｃは、当該フローテーブルに基づいて、出力ポートＣからパケットを転送し（Ｓ１０）、パケットはルータ３に転送される。ルータ３からＰＤＮ内のサーバへのパケット転送は、ルータ３のルーティングテーブルに従って行われる。
【００６５】
その後、ＰＤＮ内のサーバ側から通信端末２に向けてパケットが転送されてきた場合には、ルータ３は、自身のルーティングテーブルに従って、オープンフロースイッチ６ｃにパケットを転送する（Ｓ１１）。
【００６６】
オープンフロースイッチ６ｃは、上りＳ０９においてオープンフローコントローラ５から設定されたフローテーブルの下りパケット転送用のフローエントリに従って、出力ポートＡからパケットを転送するため（Ｓ１２）、パケットはオープンフロースイッチ６ａに転送される。オープンフロースイッチ６ａは入力ポートＣからパケットを受信すると、Ｓ０５において設定されたフローテーブルの、下りパケット転送時のフローエントリに従って、出力ポートＡからパケットを転送する（Ｓ１３）。
【００６７】
オープンフロースイッチ６ａから転送されたパケットは、Ｐ−ＧＷ４ａにおいて受信され、通信端末に転送される（Ｓ１４）。
【００６８】
以上が、オープンフローコントローラ５によるフローテーブルの設定及びオープンフローネットワーク６の各オープンフロースイッチによるパケット転送処理である。なお、フローテーブルの設定後、通信端末２から後続パケットが転送された場合には、設定済みのフローテーブルに従って、同一のルートでパケット転送処理が行われる（Ｓ１５）。
【００６９】
次に、下りパケットについて、何らかの理由でルータ３が通常と異なるオープンフロースイッチにパケットを転送した場合の処理について説明する。
【００７０】
上述したとおり、ルータ３から下りパケットを通信端末２に転送する際は、まず、オープンフロースイッチ６ｃにパケットが転送されるのが通常である。いま、何らかの理由により（例えばオープンフロースイッチ６ｃとルータ３間の断線による障害などの要因によって）、ルータ３がパケットをオープンフロースイッチ６ｄに転送したような場合を考える。
【００７１】
ルータ３は、下りパケットをオープンフロースイッチ６ｄに転送する（Ｓ１６）。オープンフロースイッチ６ｄは、フローテーブルが存在しない状態なので、当該パケットがオープンフロースイッチ６ｄのフローテーブルにマッチしないことを認識する（Ｓ１７）。
【００７２】
オープンフロースイッチ６ｄは、転送されたパケットがフローテーブルにマッチしないため、オープンフローコントローラ５に、フローテーブルの設定を要求するための問い合わせを行う（Ｓ１８）。
【００７３】
オープンフローコントローラ５の制御部５３は、トポロジ情報から決定した通信経路に基づいて、オープンフロースイッチ６ｄのフローテーブルとして、上りパケットを転送する際の、「入力ポート：Ａ、送信元アドレス：１９２．１６８．１．１、宛先アドレス：サーバ側のアドレス、出力ポートＢ」というフローエントリと、下りパケットを転送する際の、「入力ポート：Ｂ、送信元アドレス：サーバ側のアドレス、宛先アドレス：１９２．１６８．１．１、出力ポートＡ」というフローエントリを設定する。当該フローテーブルは図２（ｂ）に示すようになる。そして、制御部５３が、オープンフロースイッチ６ｄのフローテーブルとして、当該フローテーブルを更新（設定）する（Ｓ１９）。
【００７４】
Ｓ１９において、オープンフロースイッチ６ｄのフローテーブルが設定されたため、オープンフロースイッチ６ｄは、当該フローテーブルに基づいて、下りパケットを出力ポートＡから転送する（Ｓ２０）。
【００７５】
オープンフロースイッチ６ｃは入力ポートＤからパケットを受信する。いま、障害などの要因がない状態では、オープンフロースイッチ６ｃは、図２（ａ）に示すフローテーブルが設定されている。図２（ａ）に示すように、オープンフロースイッチ６ｃのフローテーブルには、送信元アドレスがＰＤＮ内のサーバであって、宛先アドレスが通信端末のものである場合に、入力ポートはＤとなっていないため、パケットを転送することはできない（フローテーブルが設定されていない状態である）。よって、当該パケットがフローテーブルにマッチしないことを認識し（Ｓ２１）、オープンフローコントローラ５に、フローテーブルの設定を要求するための問い合わせを行う（Ｓ２２）。
【００７６】
オープンフローコントローラ５の制御部５３は、オープンフロースイッチ６ｃからの要求に基づいて、フローテーブルを設定する。上述したとおり、オープンフローコントローラ５はトポロジ情報から通信経路を決定するため、通信端末２への下りパケットはオープンフロースイッチ６ｃのポートＡから転送することを決定できる。
【００７７】
制御部５３は、トポロジ情報から決定した通信経路に基づいて、オープンフロースイッチ６ｃのフローテーブルとして、下りパケットを転送する際の、「入力ポート：Ｄ、送信元アドレス：サーバ側のアドレス、宛先アドレス：１９２．１６８．１．１、出力ポートＡ」というフローエントリと、上りパケットを転送する際の、「入力ポート：Ａ、送信元アドレス：１９２．１６８．１．１、宛先アドレス：サーバ側のアドレス、出力ポートＤ」を作成し、当該フローテーブルを設定する。当該フローテーブルは図２（ｃ）に示すようになる。そして、制御部５３が、オープンフロースイッチ６ｃのフローテーブルとして、当該フローテーブルを更新（設定）する（Ｓ２３）。なお、図２（ｃ）に示す新たなフローテーブルを設定する前提として、図２（ａ）に示した元のフローテーブルが削除される。
【００７８】
Ｓ２３において、オープンフロースイッチ６ｃのフローテーブルが設定されたため、オープンフロースイッチ６ｃは、当該フローテーブルに基づいて、出力ポートＡからパケットを転送し（Ｓ２４）、パケットはオープンフロースイッチ６ａに転送される。オープンフロースイッチ６ａは入力ポートＣからパケットを受信すると、Ｓ０５において設定されたフローテーブルの、下りパケット転送時のフローエントリ（図２（ａ））に従って、出力ポートＡからパケットを転送する（Ｓ２５）。
【００７９】
オープンフロースイッチ６ａから転送されたパケットは、Ｐ−ＧＷ４ａにおいて受信され、通信端末２に転送される（Ｓ２６）。
【００８０】
次に、Ｐ−ＧＷ４ａ、又はＰ−ＧＷ４ｂからルータ３を介して接続されるＰＤＮ内のサーバに向けての所定のパケット送信処理について説明する。即ち、Ｐ−ＧＷ４が検出部４２及び送信部４３を備えない構成である。ここまで説明した処理は、通信端末２がＰ−ＧＷ４ａ、又はＰ−ＧＷ４ｂに接続したタイミングで、必ず通信端末２からルータ３方向に流れるパケット（上りパケット）があることを期待している。よって、通信端末２からルータ３方向に流れるパケットが始めに無ければ、適切なフローテーブルがオープンフローネットワーク６の各オープンフロースイッチに設定されず、ルータ３から通信端末２方向へパケットを転送することができないという制限がある。
【００８１】
上記制限への対応として、通信端末２がＰ−ＧＷ４ａ又はＰ−ＧＷ４ｂに接続されたタイミングで、該接続されたＰ−ＧＷ４ａ又はＰ−ＧＷ４ｂからルータ３に向かって所定のパケットを送信する。このことにより、初めに上りパケットを送信し、適切なフローテーブルを設定することができる。なお、当該所定のパケットは中継装置であるＰ−ＧＷ４ａ又はＰ−ＧＷ４ｂから送信されるが、送信元アドレスは通信端末２のアドレスである。また、宛先アドレスは、ルータ３のアドレスである。
【００８２】
当該処理を行う場合は、上述したＳ０１〜Ｓ１４の処理において、以下の処理が異なる。Ｓ０１においては通信端末２がサーバ側のアドレスを指定したパケットを送信する必要があったが、当該処理においては、通信端末２がＰ−ＧＷ４ａ又はＰ−ＧＷ４ｂに接続されたタイミングで、Ｐ−ＧＷ４の検出部４２が自装置に接続されたことを検出する（検出ステップ）。続いて、Ｐ−ＧＷ４ａ又はＰ−ＧＷ４ｂの送信部４３から所定のパケットであるＩＣＭＰ（Ｉｎｔｅｒｎｅｔ  Ｃｏｎｔｒｏｌ  Ｍｅｓｓａｇｅ  Ｐｒｏｔｏｃｏｌ）パケット（ＩＣＭＰ＿Ｅｃｈｏ  Ｒｅｑｕｅｓｔ）が送信される（図４のＳ０２，Ｓ０６のパケットがＩＣＭＰパケットとなる）（送信ステップ）。また、Ｓ１０における、オープンフロースイッチからルータ３へのパケット送信についても、所定のパケットである、ＩＣＭＰ＿Ｅｃｈｏ  Ｒｅｑｕｅｓｔが送信される。また、Ｓ１１におけるルータ３側からオープンフロースイッチへの下りパケット送信及び、Ｓ１２、Ｓ１３におけるオープンフロースイッチからＰ−ＧＷ４ａへの下りパケット送信においては、所定のパケットである、ＩＣＭＰ＿Ｅｃｈｏ  Ｒｅｐｌｙが送信される。上りパケットが確実に送信されることで、各オープンフロースイッチのフローテーブルが設定され、下りパケットがルータ３側から送られた場合にも、確実に適切なＰ−ＧＷ４にパケットを転送することができる。
【００８３】
次に、本実施形態に係る移動体通信システム１の作用・効果について説明する。このオープンフローコントローラ５（制御ノード）では、制御部５３が、上りパケット情報とトポロジ情報とに基づいて、オープンフロースイッチが下りパケットを通信端末２が接続されたＰ−ＧＷ４に出力できるように制御するため、Ｐ−ＧＷ４が多重化されており、通信端末２に固定ＩＰアドレスが設定されている場合にも、下りパケットを、適切なＰ−ＧＷ４に確実に転送することができる。
【００８４】
以上より、本オープンフローコントローラ５によれば、多重化されたＰ−ＧＷ４に接続された通信端末２に固定ＩＰアドレスが設定されている場合にも、ルータ３から通信端末２へのパケット転送を確実に行うことができる。
【００８５】
また、本実施形態に係るオープンフローコントローラ５において、制御部５３は、Ｐ−ＧＷ４に接続されたオープンフロースイッチについて、上りパケット情報に含まれる宛先アドレスとトポロジ情報とから、上りパケットの出力を行うポートを決定し、該出力を行うポートから該上りパケット情報に含まれる送信元アドレス及び宛先アドレスそれぞれが宛先アドレス及び送信元アドレスとした下りパケットが入力された場合に、該上りパケット情報に含まれるポート情報に示されるポートから下りパケットを出力するように制御することにより、上りパケット情報に基づいて、下りパケットを転送することを確実に実施することができる。
【００８６】
また、本実施形態に係るオープンフローコントローラ５において、制御部５３は、上りパケット情報に含まれる宛先アドレスのアドレス帯域を特定し、該上りパケットの出力を行うポートから、該上りパケット情報に含まれる送信元アドレスを宛先アドレスとし、該上りパケット情報に含まれる宛先アドレスのアドレス帯域に含まれるアドレスを送信元アドレスとした下りパケットが入力された場合に、該上りパケット情報に含まれるポート情報に示されるポートから下りパケットを出力するように制御することにより、特定のアドレス帯域に含まれるアドレスを送信元アドレスとした下りパケットを、確実に転送することができる。
【００８７】
また、本実施形態に係るオープンフローコントローラ５において、制御部５３は、各オープンフロースイッチについて、パケットが入力されたポート、並びに該パケットの送信元アドレス及び宛先アドレスに該パケットを出力するポートを対応付けたテーブルを生成して、当該テーブルに従ってパケットの転送を行うように制御することにより、設定したテーブルに従って簡易にフロー制御を行うことができる。
【００８８】
また、本実施形態に係るオープンフローコントローラ５において、取得部５２は、オープンフロースイッチがテーブルに設定されていない内容の上りパケットを受信した場合に行うオープンフローコントローラ５への問い合わせを受信することで上りパケット情報を取得することで、直前の通信をもとに、簡易かつタイムリーに上りパケット情報を取得することができ、テーブルの最新化を容易に行うことができる。
【００８９】
また、本実施形態に係る移動体通信システム１において、オープンフローコントローラ５と多重化されＰ−ＧＷ４とを含む通信システムであって、Ｐ−ＧＷ４は、通信端末２が接続されたことを検出する検出部４２と、検出部４２による検出を契機として、ルータ３の方向にパケットを送信する送信部４３と、を備えることで、テーブルの設定を下りパケットの送信前に確実に行うことができ、ルータ３から通信端末２へのパケットが転送できないという事態を防止できる。なお、Ｐ−ＧＷ４とオープンフローコントローラ５間において、専用に特別なインターフェース（プロトコル）を実装することでも、通信端末２がＰ−ＧＷ４に接続したことを通知することはできるが、本方式であれば、オープンフローの枠組みの中で実装でき、簡潔な制御となる。
【００９０】
以上、本発明の好適な実施形態について説明したが、本発明は上記実施形態に限られるものではなく、各請求項に記載した要旨を変更しない範囲で変形し、又は他ものに適用したものであってもよい。
【００９１】
例えば、ゲートウェイ装置はＰ−ＧＷ４としたが、これに限定されるものではなく、他のゲートウェイ装置、又は同様の機能を有する中継装置であってもよい。
【００９２】
また、移動体通信システム１は、ＬＴＥ網において機能する移動体通信システムとしたが、これに限定されるものではなく、他の通信網においても用いることができる。
【００９３】
また、図１に示すように、多重化されたＰ−ＧＷ４ａ及びＰ−ＧＷ４ｂと接続されたオープンフロースイッチはそれぞれ、オープンフロースイッチ６ａとオープンフロースイッチ６ｂとし、別のオープンフロースイッチとしたが、同一のオープンフロースイッチとしてもよく、この場合にも、Ｐ−ＧＷ４ａ及びＰ−ＧＷ４ｂと接続するポートによって、バケットの転送先を判別することができる。
【００９４】
また、通信端末２は、移動体通信端末として説明したが、これに限定されるものではなく、移動体通信端末以外の通信端末であってもよい。
【符号の説明】
【００９５】
１…移動体通信システム、２…通信端末、３…ルータ、４、４ａ、４ｂ…Ｐ−ＧＷ、５…オープンフローコントローラ、６…オープンフローネットワーク、６ａ、６ｂ、６ｃ、６ｄ…オープンフロースイッチ、４１…ゲートウェイ部、４２…検出部、４３…送信部。
【図１】
2014003392.tif 000003
【図２】
2014003392.tif 000004
【図３】
2014003392.tif 000005
【図４】
2014003392.tif 000006