(57)【要約】【課題】アドレス変換を行って複数の通信インタフェースを使い分ける通信を行う場合に、アドレス変換が適さない通信に対しても、その通信を正しく動作させることができる通信端末を提供する。【解決手段】通信制御部８２は、複数の通信インタフェース部８１の中から、パケットの送受信に使用する通信インタフェース部８１を選択し、パケットに含まれるソースアドレスを、選択した通信インタフェース部で利用可能なアドレスに変換する制御を行う。ソースアドレス制御部８３は、通信制御部８２によるアドレスの変換が適さない対象通信の発生を検知または予測し、通信制御部８２による対象通信のパケットに対するアドレスの変換の前後で変化しないソースアドレスを、そのアドレスの変換の前に対象通信のパケットに設定させる制御を行う。【選択図】図１３
2015095789.tif 000002
【特許請求の範囲】
【請求項１】
複数の通信インタフェース部と、
パケットの送受信に使用する前記通信インタフェース部を選択し、前記パケットに含まれるソースアドレスを、選択した通信インタフェース部で利用可能なアドレスに変換する制御を行う通信制御部と、
前記通信制御部によるアドレスの変換が適さない対象通信の発生を検知または予測し、前記通信制御部による前記対象通信のパケットに対するアドレスの変換の前後で変化しないソースアドレスを、当該アドレスの変換の前に前記対象通信のパケットに設定させる制御を行うソースアドレス制御部とを備えた
ことを特徴とする通信端末。
【請求項２】
ソースアドレス制御部は、通信制御部により選択され、対象通信のパケットの送受信に使用される通信インタフェース部で利用可能なアドレスをソースアドレスとして対象通信のパケットに設定させる
請求項１記載の通信端末。
【請求項３】
ソースアドレス制御部は、対象通信のパケットの送受信に使用されるソースアドレスに、通信インタフェース部が使用するアドレスを設定または追加する指示をし、当該ソースアドレスを使用する経路設定を指示することにより、対象通信のパケットに対するアドレスの変換の前後で変化しないソースアドレスを、対象通信のパケットに設定させる制御を行う
請求項１または請求項２に記載の通信端末。
【請求項４】
ソースアドレス制御部は、対象通信を行うアプリケーションのリストを保持し、前記リストに含まれるアプリケーションの稼働状態を監視することにより、対象通信の発生を検知または予測する
請求項１から請求項３のうちのいずれか１項に記載の通信端末。
【請求項５】
ソースアドレス制御部が制御を行う制御対象部と、通信制御部との間の通信を中継する内部通信インタフェース部を備え、
ソースアドレス制御部は、前記内部通信インタフェース部のアドレスを、対象通信のパケットの送受信に使用される通信インタフェース部のアドレスに設定させる制御を、前記制御対象部に対して行う
請求項１から請求項４のうちのいずれか１項に記載の通信端末。
【請求項６】
複数の通信インタフェース部の中から、パケットの送受信に使用する通信インタフェース部を選択し、
前記パケットに含まれるソースアドレスを、選択された通信インタフェース部で利用可能なアドレスに変換する制御を行い、
前記アドレスの変換が適さない対象通信の発生を検知または予測し、
前記対象通信のパケットに対するアドレスの変換の前後で変化しないソースアドレスを、当該アドレスの変換の前に前記対象通信のパケットに設定させる制御を行う
ことを特徴とする通信方法。
【請求項７】
選択された通信インタフェース部で利用可能なアドレスをソースアドレスとして対象通信のパケットに設定させる
請求項６記載の通信方法。
【請求項８】
コンピュータに、
複数の通信インタフェース部の中から、パケットの送受信に使用する前記通信インタフェース部を選択し、前記パケットに含まれるソースアドレスを、選択した通信インタフェース部で利用可能なアドレスに変換する制御を行う通信制御処理、および、
前記通信制御処理におけるアドレスの変換が適さない対象通信の発生を検知または予測し、前記通信制御処理における前記対象通信のパケットに対するアドレスの変換の前後で変化しないソースアドレスを、当該アドレスの変換の前に前記対象通信のパケットに設定させる制御を行うソースアドレス制御処理
を実行させるための通信プログラム。
【請求項９】
ソースアドレス制御処理で、選択された通信インタフェース部で利用可能なアドレスをソースアドレスとして対象通信のパケットに設定させる
請求項８記載の通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の通信インタフェースを利用した通信を制御する通信端末、通信方法および通信プログラムに関する。
【背景技術】
【０００２】
近年、携帯電話等の通信端末の高機能化に伴い、複数の通信インタフェースを備えた通信端末が普及している。そのような通信インタフェースの一例として、３Ｇ（３ｒｄ  Ｇｅｎｅｒａｔｉｏｎ）、ＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）、無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷｉＭＡＸ（Ｗｏｒｌｄｗｉｄｅ  Ｉｎｔｅｒｏｐｅｒａｂｉｌｉｔｙ  ｆｏｒ  Ｍｉｃｒｏｗａｖｅ  Ａｃｃｅｓｓ：登録商標）等が挙げられる。
【０００３】
通信網が通信に利用できるリソースは有限であるため、通信が集中すると輻輳が発生し性能劣化やサービス停止が発生するおそれがある。それは、特に前述したような無線通信網においてより顕著である。
【０００４】
通信端末が複数の通信インタフェースを備えている場合、通信の内容によって使用される通信インタフェースを使い分けることにより、通信網の混雑や輻輳を回避したり、よりよい通信品質を実現したりすることが可能になる。
【０００５】
通信端末単体で通信の内容によって使用される通信インタフェースを使い分ける方法の一つとして、通信されるパケットのヘッダ内の通信端末側アドレスに対しＮＡＴ（Ｎｅｔｏｗｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｉｏｎ、ネットワークアドレス変換）を適用する方法がある（非特許文献１参照。）。非特許文献１に記載された方法では、まず、通信端末から送信されようとするパケットについて、送信に使用すべき通信インタフェースを選択する。その後、パケットの送信元アドレスであるソースアドレスを、選択された通信インタフェース用に変換（ＮＡＴ）した上で、そのパケットを選択された通信インタフェースから送信する。
【０００６】
通信端末が受信するパケットに対しては、送信先アドレスの逆変換が行われる。通信端末が送信するパケットにＮＡＴを適用しない場合、そのパケットは、選択された通信インタフェースが接続されているネットワークにおいて不適切なソースアドレスと判断され、正しく通信が行えなくなるおそれがある。
【０００７】
選択された通信インタフェースからパケットを送受信する際、その通信インタフェースに設定されたアドレスを利用してＮＡＴを実施することで、アンカ装置やトンネリング装置等の対向装置が不要になる。そのため、通信端末単体で複数の通信インタフェースを使い分けすることが可能になる。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】狩野秀一、他３名、「事業者による移動端末制御へのOpenFlowの適用」、電子情報通信学会技術研究報告（信学技報）、Vol. 111、No.468、NS2011-201、pp.123-128、2012年 3月
【発明の概要】
【発明が解決しようとする課題】
【０００９】
一方、ＮＡＴを適用した場合に、正常に動作しない通信も存在する。ＮＡＴが適用された場合に正常に動作しない通信の一例として、ＳＩＰ（Ｓｅｓｓｉｏｎ  Ｉｎｉｔｉｎａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）プロトコルやＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）プロトコル、ＵＰｎＰ（Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ）プロトコルやＤＬＮＡ（Ｄｉｇｉｔａｌ  Ｌｉｖｉｎｇ  Ｎｅｔｗｏｒｋ  Ａｌｌｉａｎｃｅ）が定める通信仕様などがある。
【００１０】
これらのプロトコルでは、通信に使用されるアドレスがパケットのヘッダ部分だけでなくデータ部分にも含まれて通信される。そのため、パケットにＮＡＴが適用されヘッダ部分のアドレスが変更された場合、ヘッダ部分のアドレスとデータ部分のアドレスに差異が生じ、そのパケットを使用するプロトコルや通信の処理が失敗することとなる。
【００１１】
ＮＡＴが適用される場合に通信を正しく動作させるための方法として、例えば、ＮＡＴトラバーサルなどの技術も知られている。しかし、この方法を用いる場合、通信を実行するモジュール（クライアントやサーバ等）に拡張する必要があったり、中継装置やプロキシ装置などの追加装置が必要になったりするという問題がある。
【００１２】
そこで、本発明は、アドレス変換を行って複数の通信インタフェースを使い分ける通信を行う場合に、アドレス変換が適さない通信に対しても、その通信を正しく動作させることができる通信端末、通信方法および通信プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明による通信端末は、複数の通信インタフェース部と、パケットの送受信に使用する通信インタフェース部を選択し、パケットに含まれるソースアドレスを、選択した通信インタフェース部で利用可能なアドレスに変換する制御を行う通信制御部と、通信制御部によるアドレスの変換が適さない対象通信の発生を検知または予測し、通信制御部による対象通信のパケットに対するアドレスの変換の前後で変化しないソースアドレスを、そのアドレスの変換の前に対象通信のパケットに設定させる制御を行うソースアドレス制御部とを備えたことを特徴とする。
【００１４】
本発明による通信方法は、複数の通信インタフェース部の中から、パケットの送受信に使用する通信インタフェース部を選択し、パケットに含まれるソースアドレスを、選択された通信インタフェース部で利用可能なアドレスに変換する制御を行い、アドレスの変換が適さない対象通信の発生を検知または予測し、対象通信のパケットに対するアドレスの変換の前後で変化しないソースアドレスを、そのアドレスの変換の前に対象通信のパケットに設定させる制御を行うことを特徴とする。
【００１５】
本発明による通信プログラムは、コンピュータに、複数の通信インタフェース部の中から、パケットの送受信に使用する通信インタフェース部を選択し、パケットに含まれるソースアドレスを、選択した通信インタフェース部で利用可能なアドレスに変換する制御を行う通信制御処理、および、通信制御処理におけるアドレスの変換が適さない対象通信の発生を検知または予測し、通信制御処理における対象通信のパケットに対するアドレスの変換の前後で変化しないソースアドレスを、そのアドレスの変換の前に対象通信のパケットに設定させる制御を行うソースアドレス制御処理を実行させることを特徴とする。
【発明の効果】
【００１６】
本発明によれば、アドレス変換を行って複数の通信インタフェースを使い分ける通信を行う場合に、アドレス変換が適さない通信に対しても、その通信を正しく動作させることができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の通信端末が適用される通信システムの構成例を示す説明図である。
【図２】本発明による通信端末の一実施形態を示すブロック図である。
【図３】通信制御部１０の構成例を示すブロック図である。
【図４】通信処理部２０の構成例を示すブロック図である。
【図５】ソースアドレス制御部４０の構成例を示すブロック図である。
【図６】本実施形態における通信ネットワーク３−１の構成の具体例を示す説明図である。
【図７】各装置のＭＡＣアドレスおよびＩＰアドレスの例を示す説明図である。
【図８】制御ポリシのリストの例を示す説明図である。
【図９】通信システムの動作例を示すフローチャートである。
【図１０】通信システムの動作例を示すシーケンス図である。
【図１１】通信制御部１０の動作例を示すフローチャートである。
【図１２】フローエントリの例を示す説明図である。
【図１３】本発明による通信端末の概要を示すブロック図である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施形態を図面を参照して説明する。図１は、本発明の通信端末が適用される通信システムの構成例を示す説明図である。図１に例示する通信システムは、通信端末１と、サーバ２と、通信ネットワーク３−１〜３−３とを備えている。なお、図１に示すこれらの構成要素の数や接続関係は一例であり、本発明はこの構成に限定されるものではない。以下の説明では、通信端末１とサーバ２を、それぞれ、第１の通信装置、第２の通信装置と記すことがある。
【００１９】
通信端末１は、通信ネットワーク３−１および通信ネットワーク３−２と同時に接続し通信することができ、これらの通信ネットワークや、他の通信ネットワークである通信ネットワーク３−３を介してサーバ２と通信を行う。通信端末１は、例えば、サーバ２のサービスを利用するクライアント端末であるが、その他、サーバ２と通信する任意の通信装置であってもよい。
【００２０】
サーバ２は、通信端末１の通信相手であり、その一例としてＷｅｂサーバ、メールサーバ、ビデオサーバ、等が挙げられる。ただし、本発明におけるサーバ２は、これらに限定されない。また、以下の説明では、通信端末１の通信相手がサーバ２である場合を例に説明するが、本発明はこの構成に限定されない。通信端末１の通信相手は、通信端末１と通信可能な装置であればよく、その形態は、サーバの他、端末、携帯電話、パーソナルコンピュータ、家電などであってもよい。
【００２１】
通信ネットワーク３−１および通信ネットワーク３−２は、通信端末１に接続され、通信端末１と、自ネットワーク内に接続された装置または他のネットワークとの間の通信を中継する。また、通信ネットワーク３−３は、サーバ２に接続され、通信端末１とサーバ２との間の通信を中継する。
【００２２】
通信ネットワーク３−１〜３−３は有線ネットワークであってもよいし、無線ネットワークであってもよい。有線ネットワークの一例として、Ｅｔｈｅｒｎｅｔ（登録商標）、専用線が挙げられる。無線ネットワークの一例として、３Ｇ、ＬＴＥ、無線ＬＡＮ、ＷｉＭＡＸ、ＰＨＳ（Ｐｅｒｓｏｎａｌ  Ｈａｎｄｙ−ｐｈｏｎｅ  Ｓｙｓｔｅｍ）が挙げられる。
【００２３】
通信ネットワーク３−１〜３−３は、それぞれ別の種類のネットワークでもよいし、同じ種類のネットワークでもよい。例えば、通信ネットワーク３−１及び３−２の一方を３Ｇとし、他方を無線ＬＡＮとしてもよい。
【００２４】
図２は、本発明による通信端末の一実施形態を示すブロック図である。本実施形態の通信端末１は、通信制御部１０と、通信処理部２０と、通信ＩＦ（Ｉｎｔｅｒｆａｃｅ）部３０−１〜３０−２と、ソースアドレス制御部４０と、内部通信ＩＦ部５０と、通信利用部６０−１〜ｍと、プロトコルスタック部７０とを備えている。なお、図２は、通信端末１の機能ブロック（処理部もしくはモジュール）の一例であり、本実施形態の動作が実現できれば、その他の構成であってもよい。なお、後述する図３及び図４に例示する構成についても同様である。
【００２５】
通信制御部１０は、通信処理部２０による通信処理を制御する。後述するように、通信制御部１０は、制御ポリシに基づいてフローエントリ（処理規則）を作成することで、通信処理部２０の処理を制御する。なお、本実施形態では、通信制御部１０が、通信端末１の内部で通信処理部２０を制御する制御部である場合を例に説明するが、通信制御部１０は、通信端末１の外部でネットワーク等を介して通信処理部２０を制御する制御装置であってもよい。すなわち、本実施形態の通信端末１は、複数の装置から構成されるシステムであってもよい。
【００２６】
通信処理部２０は、通信制御部１０による制御のもと、通信ＩＦ部３０−１〜３０−２や内部通信ＩＦ部５０から送受信される通信（パケット）の処理を行う。後述するように、通信処理部２０は、通信制御部１０から設定されたフローエントリ（処理規則）に基づいて、受信したパケットを処理する。
【００２７】
プロトコルスタック部７０は、通信プロトコル群を処理するモジュールである。プロトコルスタック部７０は、例えば、ＯＳＩ（Ｏｐｅｎ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ）参照モデルやＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）参照モデルのネットワーク層およびトランスポート層に相当するプロトコル群を処理する。
【００２８】
プロトコルスタック部７０は、階層化された通信プロトコルの一部または全部を処理するプロトコルスタックである。プロトコルスタック部７０は、少なくとも、通信ＩＦ部３０−１〜３０−２よりも上位レイヤの通信プロトコルを処理する。プロトコルスタック部７０は、上位レイヤの通信を行うアプリケーション（上位レイヤアプリケーション）である通信利用部６０−１〜ｍに対し、例えば、ソケット（Ｓｏｃｋｅｔ）インタフェースによる通信機能を提供する。
【００２９】
プロトコルスタック部７０は、上述するネットワーク層およびトランスポート層の処理をスキップして通信を行う機能（例えばＲａｗソケット）を有していてもよい。プロトコルスタック部７０は、例えば、ソケットインタフェースを通じ、上位レイヤアプリケーションに対し、送受信する通信を特定のアドレス、ポート、通信インタフェースに固定する（限定する、バインドする）機能（バインド機能）を有していてもよい。このバインド機能は、ソケットごとに動作させてもよい。プロトコルスタック部７０は、例えば、ソケットインタフェースを通じ、上位レイヤアプリケーションが通信に使用したアドレス、ポート、通信インタフェースを取得する機能を有していてもよい。
【００３０】
通信ＩＦ部３０−１〜３０−２は、それぞれ通信ネットワーク３−１および通信ネットワーク３−２に接続し、パケットの送受信を行う。通信ＩＦ部３０−１〜３０−２は、それぞれ接続する通信ネットワーク３−１および３−２の通信プロトコル（例えば、レイヤ１）に準拠した物理インタフェースである。
【００３１】
ソースアドレス制御部４０は、ＮＡＴが適用されると支障が発生する通信に対しＮＡＴが適用されないよう、通信利用部６０−１〜ｍが通信に使用するソースアドレスを制御する。以下、このような制御のことをソースアドレス制御と記す。なお、ソースアドレス制御部４０の動作については後述される。
【００３２】
内部通信ＩＦ部５０は、通信端末１の内部の機能（処理部）間を接続するための内部インタフェースであり、通信端末１外の装置との物理的な接続を伴わない、仮想的な通信インタフェースである。内部通信ＩＦ部５０は、これを利用し通信を行う通信利用部６０−１〜ｍやプロトコルスタック部７０に対し、一般的な物理通信ＩＦと同様に振る舞う。ただし、内部通信ＩＦ部５０で送受信されたパケットは、物理ネットワークに対して送受信されることなく、通信処理部２０に対する入出力として扱われる。
【００３３】
通信利用部６０−１〜ｍは、通信端末１内において通信を行うモジュールである。通信利用部６０−１〜ｍは、例えば、通信処理部２０を介して、外部のサーバ２にアクセスし、サーバ２が提供するサービスを利用するクライアント処理部である。
【００３４】
通信利用部６０−１〜ｍの一例として、Ｗｅｂブラウザ、メールクライアント、ビデオストリーミングアプリケーション、ＳＮＳ（Ｓｏｃｉａｌ  Ｎｅｔｗｏｒｋ  Ｓｅｒｖｉｃｅ）アプリケーション等が挙げられる。ただし、本発明のおける通信利用部６０−１〜ｍの内容は、これらに限定されない。本実施形態では、通信利用部６０−１〜ｍが行う通信には、内部通信ＩＦ部５０が使われるものとする。この通信は、通信利用部６０−１〜ｍによるソケットインタフェースを通じたプロトコルスタック部７０への指示、またはプロトコルスタック部７０への事前設定（例えば経路）によって実現できる。
【００３５】
図３は、通信制御部１０の構成例を示すブロック図である。図３に示すように、通信制御部１０は、制御処理部１０１と、制御ポリシ記憶部１０２とを備えている。
【００３６】
制御処理部１０１は、制御ポリシ記憶部１０２に記憶された情報を利用し、通信処理部２０による通信処理を制御する。
【００３７】
制御処理部１０１は、後述する通信処理部２０の制御チャネル処理部２０１との間で制御用通信（制御チャネル）を行う。制御処理部１０１は、制御チャネルを通じて、処理が必要なパケットの通知（パケット通知）を通信処理部２０から受け取ると、制御ポリシ記憶部１０２に記憶された制御ポリシとそのパケットを照合する。
【００３８】
制御処理部１０１は、そのパケットの照合に成功し、適用する制御ポリシの決定に成功した場合、そのパケットが属する通信（フロー）に適用する処理を、その制御ポリシから決定する。制御処理部１０１は、その通信に適用する処理を決定した後、決定した処理を表す０または１以上のフローエントリ（処理規則）を生成し、制御チャネルを通じてそのフローエントリを通信処理部２０に設定する。
【００３９】
制御ポリシ記憶部１０２は、制御ポリシのリストを記憶する。制御ポリシとは、制御処理部１０１が、発生した通信に適用する処理を決定するために用いる情報である。制御ポリシは、少なくとも、その制御ポリシの適用対象である通信（トラフィック、フロー）を指定するトラフィック条件と、その制御ポリシが適用される際に実行すべき処理とを含む。制御ポリシは、優先度を含んでいてもよい。なお、本実施形態では、制御ポリシ記憶部１０２が、通信制御部１０内部の記憶部である場合を例に説明するが、制御ポリシ記憶部１０２は、通信端末１内部のその他の部分の記憶部であってもよいし、通信端末１の外部の記憶装置であってもよい。
【００４０】
制御ポリシのトラフィック条件は、例えば、以下の項目を含む。一つの制御ポリシに含まれるトラフィック条件は、一つでも複数でもよく、また、それらの条件は、ＡＮＤで結合（ＡＮＤ条件）されたりＯＲ（ＯＲ条件）で結合されたりしていてもよい。また、トラフィック条件は、完全一致でも部分一致でもよい。
・送信元ＩＰアドレス
・送信先ＩＰアドレス
・プロトコルタイプ
・送信元ポート番号
・送信先ポート番号
・入力インタフェース
・入力インタフェース種別
・ＱｏＳ（Ｑｕｏｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）
・ＶＬＡＮ  ＩＤ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）
・ドメイン名
・アプリケーション
【００４１】
制御ポリシの処理は、例えば、以下の項目を含む。一つの制御ポリシに含まれる処理は、一つでも複数でもよい。
・指定されたＩＦを使用して通信する。
・指定されたＩＦ群の中のいずれかを使用して通信する（ＩＦ間に優先度を設けてもよい）。
・指定されたＩＦ群のすべてを使用して通信する。
・パケット中の指定されたフィールドを指定された値に変更する。
・指定されたサーバもしくはモジュールに転送する。
・指定されたフローエントリを通信処理部２０に設定する。
・破棄する。
【００４２】
なお、上述した制御ポリシのトラフィック条件および処理は一例であり、本発明に適用される条件や処理は、これらに限定されない。また、制御ポリシ記憶部１０２が記憶する制御ポリシは、予め与えられておいてもよいし、制御ポリシサーバ（図示せず）などの通信端末１以外の装置から受信されてもよい。
【００４３】
図４は、通信処理部２０の構成例を示すブロック図である。図４に示すように、通信処理部２０は、制御チャネル処理部２０１と、パケット処理部２０２と、フローテーブル記憶部２０３とを備えている。
【００４４】
制御チャネル処理部２０１は、通信制御部１０との間で制御用通信（制御チャネル）を行う。また、制御チャネル処理部２０１は、対応するフローエントリが存在しないパケットの通知をパケット処理部２０２から受けると、制御チャネルを用いてそのパケットを通信制御部１０に通知する（パケット通知）。パケット通知には、そのパケットの全部または一部、および、そのパケットが受信された通信ＩＦの情報が含まれる。
【００４５】
さらに、制御チャネル処理部２０１は、制御チャネルを介して通信制御部１０からフローエントリを追加、変更、または、削除するよう指示されると、指示された内容に基づきフローテーブル記憶部２０３に記憶されているフローテーブルを更新する。また、制御チャネル処理部２０１は、制御チャネルを介して通信制御部１０からパケットを出力するよう指示されると、指示された内容に基づきパケットを出力するようパケット処理部２０２に指示する。
【００４６】
フローテーブル記憶部２０３は、処理規則（フローエントリ）を含むフローテーブルを記憶する。処理規則（フローエントリ）は、制御チャネル処理部２０１によってフローテーブル記憶部２０３に記録される。本実施形態では、フローテーブル記憶部２０３が、通信処理部２０内部の記憶部である場合を例に説明するが、フローテーブル記憶部２０３は、通信端末１内部のその他の部分の記憶部であってもよいし、通信端末１の外部の記憶装置であってもよい。
【００４７】
パケット処理部２０２は、通信ＩＦ部３０−１〜３０−２や内部通信ＩＦ部５０を介して、他の装置やモジュール（以下、まとめてエンティティと記す。）と接続され、接続されたエンティティとの間でパケットの送受信を行う。
【００４８】
パケット処理部２０２は、他の装置からパケットを受信すると、受信したパケットに対応するフローエントリをフローテーブル記憶部２０３に記憶されているフローテーブル内から検索する。受信したパケットに対応するフローエントリがフローテーブル内に見つかった場合、パケット処理部２０２は、そのフローエントリのアクションに従って処理を行う。一方、受信したパケットに対応するフローエントリがフローテーブルに見つからなかった場合、パケット処理部２０２は、受信したパケットのフローエントリが存在しない旨を制御チャネル処理部２０１に通知する。
【００４９】
さらに、パケット処理部２０２は、他のエンティティと通信を行うためのポートを複数備え、各ポートは、それぞれ異なる通信ＩＦ部３０−１〜３０−２および内部通信ＩＦ部５０に接続される。なお、各ポートは、ポート識別子により識別される。
【００５０】
フローエントリのアクションに基づいてパケット処理部２０２が行う処理には、以下に例示する処理が挙げられる。また、パケット処理部２０２が行う処理は、１つに限定されず、０であっても（すなわち、何も処理しない）、２つ以上であってもよい。また、フローエントリのアクションに指定される処理は、以下の処理に限定されない。
・指定されたポートからパケットを出力する。
・パケットの送信先ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスを指定された値に変更する。
・パケットの送信元ＭＡＣアドレスを指定された値に変更する。
・パケットの送信先ＩＰアドレスを指定された値に変更する。
・パケットの送信元ＩＰアドレスを指定された値に変更する。
・パケットの送信先ポート番号を指定された値に変更する。
・パケットの送信元ポート番号を指定された値に変更する。
・パケットにＶＬＡＮ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）タグを追加する。
・パケットのＶＬＡＮタグを削除する。
・パケットのＶＬＡＮタグを変更する。
・パケットを破棄する。
【００５１】
制御チャネル処理部２０１およびパケット処理部２０２は、一例として、プログラム（通信プログラム）に従って動作するコンピュータのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）によって実現することができる。また、制御チャネル処理部２０１およびパケット処理部２０２は、それぞれ、専用のハードウェアで実現されていてもよい。
【００５２】
図５は、ソースアドレス制御部４０の構成例を示すブロック図である。図５に示すように、ソースアドレス制御部４０は、ソースアドレス制御対象検出部４０１と、対象リスト記憶部４０２と、ソースアドレス制御処理部４０３とを備えている。
【００５３】
ソースアドレス制御対象検出部４０１は、ソースアドレス制御が必要な通信の発生またはその予兆を検出し、ソースアドレス制御処理部４０３に対しソースアドレス制御の処理開始を指示する。
【００５４】
この指示は、対象となる通信に係る情報（通信を行う通信利用部６０−１〜ｍの識別子等）を含んでいてもよい。ソースアドレス制御対象検出部４０１は、ソースアドレス制御の要否の判定に、対象リスト記憶部４０２に記憶されている情報を利用する。
【００５５】
対象リスト記憶部４０２は、ソースアドレス制御の対象となる通信を識別するための情報を記憶する。対象リスト記憶部４０２が記憶する情報は、予め与えられておいてもよいし、通信端末１以外の装置から受信されてもよい。
【００５６】
ソースアドレス制御処理部４０３は、ソースアドレス制御の対象となる通信へのＮＡＴ適用が不要となるよう、その通信が使用すべきソースアドレスを決定し、プロトコルスタック部７０に設定されている各構成の情報を変更する。ソースアドレス制御処理部４０３は、使用すべきソースアドレスを決定するため、制御処理部１０１を参照する。
【００５７】
ソースアドレス制御対象検出部４０１およびソースアドレス制御処理部４０３は、一例として、プログラム（通信プログラム）に従って動作するコンピュータのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）によって実現することができる。また、ソースアドレス制御対象検出部４０１およびソースアドレス制御処理部４０３は、それぞれ、専用のハードウェアで実現されていてもよい。
【００５８】
以下、具体的な通信ネットワークの構成を例示して、本実施形態の通信システムの動作を説明する。ただし、本発明の内容は、以下に例示する通信システムの態様に限定されない。
【００５９】
まず、通信ネットワーク３−１が無線ＬＡＮネットワークであり、通信ＩＦ部３０−１が無線ＬＡＮインタフェースであり、通信ＩＦ部３０−１が通信ネットワーク３−１に接続されるものとする。また、通信ネットワーク３−２が３Ｇネットワークであり、通信ＩＦ部３０−２が３Ｇインタフェースであり、通信ＩＦ部３０−２が通信ネットワーク３−２に接続されるものとする。
【００６０】
図６は、本実施形態における通信ネットワーク３−１の構成の具体例を示す説明図である。図６に示すように、本実施形態における通信ネットワーク３−１は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）３−１−１と、無線ＬＡＮ基地局３−１−２と、ルータ３−１−３とを備えている。
【００６１】
無線ＬＡＮ基地局３−１−２は、無線ＬＡＮの基地局（アクセスポイント）であり、通信端末１の通信ＩＦ部３０−１と無線ＬＡＮ方式により接続し、通信ＩＦ部３０−１とＬＡＮ３−１−１との間の通信を中継する。
【００６２】
ルータ３−１−３は、ＬＡＮ３−１−１と通信ネットワーク３−３との間で、ＴＣＰ／ＩＰプロトコルの通信を中継するルータである。
【００６３】
本実施形態におけるプロトコルスタック部７０は、ＴＣＰ／ＩＰスタックである。本実施形態におけるプロトコルスタック部７０は、特に、ＩＰ、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）、ＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）、ＩＣＭＰ（Ｉｎｔｅｒｎｅｔ  Ｃｏｎｔｒｏｌ  Ｍｅｓｓａｇｅ  Ｐｒｏｔｏｃｏｌ）およびＡＲＰを処理する。ただし、本発明で使用されるプロトコルは、これらに限定されない。
【００６４】
プロトコルスタック部７０は、通信インタフェース（通信ＩＦ部３０−１〜３０−２および内部通信ＩＦ部５０）ごとに、その通信インタフェースで使用するＩＰアドレスを保持する。このＩＰアドレスは、プロトコルスタック部７０に予め与えられてもよいし、動的に取得されたり更新されたりしてもよい。プロトコルスタック部７０は、一つの通信インタフェースについて、複数のＩＰアドレスを保持することもできる。
【００６５】
プロトコルスタック部７０は、送信するＩＰパケットの転送先を決定するための情報である経路表を保持する。プロトコルスタック部７０が保持する経路表は、例えば、送信先ＩＰアドレスと、その送信先ＩＰアドレスが設定されたＩＰパケットの転送先装置のＩＰアドレスおよび転送に使用する通信インタフェースの識別子またはそれらのいずれかと、その経路が使用される場合に推奨されるソースアドレスとを含む。
【００６６】
送信先ＩＰアドレスは、ネットワークアドレスおよびサブネットアドレスであってもよい。経路表は、プロトコルスタック部７０に予め与えられてもよいし、動的に取得されたり更新されたりしてもよい。
【００６７】
プロトコルスタック部７０は、送信するＩＰパケットのソースアドレスが未決定であった場合、そのＩＰパケットに使用するソースアドレスを決定する。送信するＩＰパケットのソースアドレスは、例えば、送信要求者によって指定されていない場合や、ＴＣＰのようなコネクション型通信のＩＰパケットであって、そのＩＰパケットがコネクション確立処理開始前のパケットである場合に未決定となる。
【００６８】
プロトコルスタック部７０は、例えば、ＩＰパケットの送信に使用する経路に推奨ソースアドレスが設定されている場合、そのソースアドレスをＩＰパケットのソースアドレスに使用してもよい。また、推奨ソースアドレスが設定されていない場合、プロトコルスタック部７０は、そのＩＰパケットを送信する通信ＩＦ部に設定されているＩＰアドレスを、そのＩＰパケットのソースアドレスに使用してもよい。また、そのＩＰパケットを送信する通信ＩＦ部に複数のＩＰアドレスが設定されている場合、プロトコルスタック部７０は、その複数のＩＰアドレスの中からそのＩＰパケットの宛先アドレスと最もアドレスプレフィックスが一致するものを、そのＩＰパケットのソースアドレスに使用してもよい。
【００６９】
本実施形態のソースアドレス制御部４０は、各通信利用部６０−１〜ｍの単位で、ソースアドレス制御対象の検出および制御を行う。
【００７０】
本実施形態の対象リスト記憶部４０２は、制御対象とする通信利用部６０−１〜ｍの識別子のリストを保持する。通信利用部６０−１〜ｍの識別子には、例えば、通信利用部６０−１〜ｍのプロセス名、アプリケーション名、プログラムファイル名のいずれかまたはこれらの組み合わせが用いられてもよい。
【００７１】
本実施形態のソースアドレス制御対象検出部４０１は、制御対象の通信利用部６０−１〜ｍの稼動開始をソースアドレス制御が必要な通信の予兆として扱う。すなわち、ソースアドレス制御対象検出部４０１は、対象リスト記憶部４０２に含まれる通信利用部６０−１〜ｍが稼動を開始した場合、ソースアドレス制御処理部４０３に対してソースアドレス制御の処理開始を指示する。ソースアドレス制御対象検出部４０１は、稼動を開始した通信利用部６０−１〜ｍの識別子をその指示に含める。ソースアドレス制御対象検出部４０１は、例えば、通信利用部６０−１〜ｍを実行するプロセスが起動されたこと、または、通信利用部６０−１〜ｍがフォアグランドプロセスもしくはアプリケーションとなったこと、または、これらの組合せを検知したときに、通信利用部６０−１〜ｍが稼動を開始したと判断してもよい。
【００７２】
ソースアドレス制御対象検出部４０１は、通信利用部６０−１〜ｍが稼動を開始したことを判断するための情報を、通信端末１のシステム管理モジュール（図示せず。例えば、Ｏｐｅｒａｔｉｏｎｇ  Ｓｙｓｔｅｍ（ＯＳ））から取得してよい。ソースアドレス制御対象検出部４０１は、ポーリングによりこの情報を取得してもよく、システム管理モジュールからのイベント通知としてこの情報を取得してもよい。
【００７３】
本実施形態のソースアドレス制御処理部４０３は、制御対象の通信利用部６０−１〜ｍが使用すべき通信ＩＦ部３０の情報を通信制御部１０に問い合わせて取得する。そして、ソースアドレス制御処理部４０３は、得られた通信ＩＦ部３０に設定されたＩＰアドレスを制御対象の通信利用部６０−１〜ｍが使用すべきソースアドレスと決定する。
【００７４】
ソースアドレス制御処理部４０３は、プロトコルスタック部７０に対し、以下の設定変更を行う。ソースアドレス制御処理部４０３は、決定したソースアドレスを内部通信ＩＦ部５０に追加する設定を行う。さらに、ソースアドレス制御処理部４０３は、プロトコルスタック部７０に対し、デフォルト経路の推奨アドレスを、決定したソースアドレスに変更する設定を行う。
【００７５】
図７は、各装置のＭＡＣアドレスおよびＩＰアドレスの例を示す説明図である。本実施形態では、図７に例示するＭＡＣアドレスおよびＩＰアドレスが各装置に設定されているとする。本実施形態では、図７に示すように、通信ＩＦ部３０−１には、ＤＨＣＰ（Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）によりアドレスが割り当てられ、通信ＩＦ部３０−２には、ＰＰＰ（Ｐｏｉｎｔ  ｔｏ Ｐｏｉｎｔ  Ｐｒｏｔｏｃｏｌ）によりアドレスが割り当てられる。これらのアドレス設定には、通信ネットワーク３−１〜３−３内のＤＨＣＰサーバ（図示せず）およびＰＰＰサーバ（図示せず）が使用される。また、その他の通信インタフェース及び装置には、図７のアドレスが予め設定されているとする。
【００７６】
また、本実施形態のプロトコルスタック部７０には、経路表に予め以下の経路（デフォルト経路）が設定されているものとする。
−送信先  ０．０．０．０／０
−転送先  内部通信ＩＦ部５０
−推奨ソースアドレス １９２．１６８．２５４．１ （内部通信ＩＦ部５０のＩＰアドレス）
【００７７】
図８は、制御ポリシ記憶部１０２が記憶する制御ポリシのリストの例を示す説明図である。図８に示すように、本実施形態における制御ポリシは、優先度と、トラフィック条件と、実行すべき処理とを関連付けた規則である。トラフィック条件は、ポリシを適用するトラフィックを識別するための条件である。また、本実施形態における制御ポリシは、優先度を含み、数値が小さいものほど高優先であるとする。ここでは、説明の都合上、制御ポリシの優先度をその制御ポリシの識別子として使用する。例えば、図８に例示する上から一つ目の制御ポリシを参照する際、制御ポリシ１と記述する。本実施形態の説明において、トラフィック条件は、特記がない場合ＡＮＤ結合（ＡＮＤ条件）とする。
【００７８】
以上に示す具体例をもとに、本実施形態の通信システムの動作を説明する。ここでは、通信利用部６０−１〜ｍの一つである通信利用部６０−Ｘのみが、対象リスト記憶部４０２に制御対象として記憶されている場合を例に説明する。
【００７９】
なお、本実施形態において、ドメイン名からＩＰアドレスを解決する処理は、ＤＮＳ（Ｄｏｍａｉｎ  Ｎａｍｅ  Ｓｙｓｔｅｍ）等の一般的な技術によって行われるものとし、その説明を省略する。また、ＴＣＰによる通信では、Ａｃｋ（Ａｃｋｎｏｗｌｅｄｇｅｍｅｎｔ）送信や、データ欠落に伴うデータパケットの再送が通常発生するが、特記する場合を除き、それらの図示および説明は省略する。
【００８０】
初めに、通信利用部６０−１〜ｍのいずれかが稼動を開始した場合の動作を説明する。図９は、本実施形態における通信システムの動作例を示すフローチャートである。
【００８１】
まず、通信利用部６０−１〜ｍのいずれかが稼動を開始する（ステップＳ１０１）。この稼働は、例えば、ユーザの操作によって通信利用部６０に対応するアプリケーションが起動することにより開始されてよい。
【００８２】
ソースアドレス制御対象検出部４０１は、通信利用部６０の稼動開始を検出すると、稼働を検出した通信利用部６０が対象リスト記憶部４０２が記憶するリストに含まれているかどうか、すなわちソースアドレス制御の対象か否かを確認する（ステップＳ１０２）。稼働を検出した通信利用部６０がソースアドレス制御の対象でない場合（ステップＳ１０２におけるＮ）、本動作は終了する。
【００８３】
一方、稼働を検出した通信利用部６０がソースアドレス制御の対象である場合（ステップＳ１０２におけるＹ）、ソースアドレス制御対象検出部４０１は、ソースアドレス制御処理部４０３に、ソースアドレス制御の処理開始を指示する。処理開始の指示を受けたソースアドレス制御処理部４０３は、通信利用部６０が使用すべき通信ＩＦ部を決定する（ステップＳ１０３）。
【００８４】
具体的には、ソースアドレス制御処理部４０３は、通信利用部６０が使用すべき通信ＩＦ部３０を通信制御部１０に問い合わせ、その結果を取得する。このときの通信制御部１０の動作は、後述する図１１を用いて説明されるが、パケット通知を受信したときの通信制御部１０における制御処理部１０１の動作と同様である。
【００８５】
ただし、この場合、実際にはパケットを受信していないが、制御処理部１０１は、アプリケーションが通信利用部６０であるパケットを受信したものとして、制御ポリシとの照合動作を行う。
【００８６】
本例の場合、アプリケーションとして通信利用部６０−Ｘが稼働するため、トラフィック条件は、図８に例示する制御ポリシ２に適合する。そのため、その通信利用部６０が使用すべき通信ＩＦ部３０として通信ＩＦ部３０−１（無線ＬＡＮ）が選択される。
【００８７】
ソースアドレス制御処理部４０３は、通信利用部６０が使用すべき通信ＩＦ部３０が存在するか否か確認する（ステップＳ１０４）。存在しない場合（ステップＳ１０４におけるＮ）、すなわちその通信利用部６０が通信を許可されていない場合、本動作は終了する。
【００８８】
一方、その通信利用部６０が使用すべき通信ＩＦ部３０が存在する場合（ステップＳ１０４におけるＹ）、ソースアドレス制御処理部４０３は、その通信利用部６０が使用すべきソースアドレスを決定する（ステップＳ１０５）。具体的には、ソースアドレス制御処理部４０３は、その通信利用部６０が使用すべき通信ＩＦ部３０に設定されているＩＰアドレスをプロトコルスタック部７０から取得し、取得したＩＰアドレスをその通信利用部６０が使用すべきソースアドレスと決定する。
【００８９】
ソースアドレス制御処理部４０３は、ソースアドレスに決定されたＩＰアドレスを内部通信ＩＦ部５０に設定されたＩＰアドレスに追加するよう、プロトコルスタック部７０に要求する（ステップＳ１０６）。
【００９０】
ソースアドレス制御処理部４０３は、決定されたソースアドレスがデフォルトで使用されるようデフォルト経路を更新する（ステップＳ１０７）。具体的には、ソースアドレス制御処理部４０３は、デフォルト経路の推奨ソースアドレスを、決定されたソースアドレスに変更するようプロトコルスタック部７０に要求する。
【００９１】
なお、後述する図１２に例示する制御ポリシが使用される際、通信利用部６０−Ｘに関して本動作が実行された場合、通信利用部６０−Ｘは、対象リスト記憶部４０２が記憶するリストに含まれているため、以下の処理が行われる。
【００９２】
まず、ステップＳ１０３において、通信利用部６０−Ｘが使用すべき通信ＩＦ部３０として通信ＩＦ部３０−１（ＷＬＡＮ ＩＦ）が決定される。また、ステップＳ１０５において、使用すべきソースアドレスとして１９２．１６８．１．１（通信ＩＦ部３０−１のＩＰアドレス）が決定される。また、ステップＳ１０６において、内部通信ＩＦ部５０のＩＰアドレスに１９２．１６８．１．１が追加される。また、ステップＳ１０７において、デフォルト経路の推奨ソースアドレスが１９２．１６８．１．１に変更される。
【００９３】
次に、通信利用部６０がサーバ２とＨＴＴＰ（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）通信を行う場合の動作を説明する。図１０は、本実施形態の通信システムの動作例を示すシーケンス図である。なお、図１０において、通信ネットワーク３−３の図示は省略する。
【００９４】
また、図１１は、本実施形態の通信制御部１０の動作例を示すフローチャートである。また、図１２は、本実施形態の動作の説明で用いられるフローエントリの例を示す説明図である。図１２に例示するフローエントリには、上述するトラフィック条件に相当するマッチ条件と、そのマッチ条件に合致する場合に行われる処理（アクション）とが対応づけられていることを示す。
【００９５】
まず初めに、通信利用部６０−Ｘが、サーバ２とＨＴＴＰ通信を行う場合の動作を説明する。この通信では、図８に例示する制御ポリシ２に従って処理が行われることが期待される。
【００９６】
なお、本動作の説明では、以下の条件が成り立っていることを前提とする。
−  フローテーブル記憶部２０３にはフローエントリが記憶されていない。
−  通信利用部６０−Ｘに関し、図９に例示する動作が実行済みである。
【００９７】
図１０に例示するように、まず、通信利用部６０−Ｘは、ＨＴＴＰに係る通信に用いられるソケット（ＨＴＴＰ用ソケット）の作成要求をプロトコルスタック部７０に対し行い、プロトコルスタック部７０はその要求に応じる（ステップＳ１２０）。以後、通信利用部６０−Ｘは、作成されたＨＴＴＰ用ソケットを通じてパケットの送受信を行う。
【００９８】
続いて、通信利用部６０−Ｘは、ＨＴＴＰデータ取得前にＨＴＴＰ用のＴＣＰ接続を行うため、サーバ２のＩＰアドレスである１０．０．０．２のＴＣＰ８０番ポートに対し、ＴＣＰ接続要求（ＣＯＮＮＥＣＴ要求）を送信する（ステップＳ１２１）。
【００９９】
続いて、プロトコルスタック部７０は、ＴＣＰ接続要求を受けＴＣＰ接続確立用のパケット（ＴＣＰ  ＳＹＮパケット（ＴＣＰ接続要求パケット））を作成し、送信する（ステップＳ１２２）。
【０１００】
具体的には、プロトコルスタック部７０は、経路表を参照してデフォルト経路を使用することを決定し、そのパケットの転送先として内部通信ＩＦ部５０を選択する。また、プロトコルスタック部７０は、デフォルト経路の推奨ソースアドレスを参照し、ソースアドレスとして１９２．１６８．１．１を使用することを決定する。そのパケットの送信元ＩＰアドレスは１９２．１６８．１．１に、送信先ＩＰアドレスは１０．０．０．２に、送信先ポート番号は８０に設定される。また、そのパケットの送信元ポート番号は、１００００であるとする。
【０１０１】
続いて、内部通信ＩＦ部５０は、そのパケット（ＴＣＰ接続要求パケット）を受信し、通信処理部２０に通知する（ステップＳ１２３）。
【０１０２】
続いて、通信処理部２０のパケット処理部２０２は、そのパケットを受信し、フローテーブル記憶部２０３を参照し、このパケットに対応するフローエントリの有無を確認する（ステップＳ１２４）。ステップＳ１２４の段階では、フローテーブル記憶部２０３は空であるため、受信したパケット（ＴＣＰ接続要求パケット）に対応するフローエントリは見つからない。
【０１０３】
受信したパケットと一致するフローエントリが無いため、通信処理部２０のパケット処理部２０２は、そのパケットを制御チャネル処理部２０１に通知し、制御チャネル処理部２０１は、対応するパケット通知を通信制御部１０に送信する（ステップＳ１２５）。
【０１０４】
続いて、通信制御部１０の制御処理部１０１は、パケット通知を受信し、通知されたパケット（ＴＣＰ接続要求パケット）に対する処理を決定する（ステップＳ１２６）。なお、制御処理部１０１の動作は、図１１に例示したフローチャートに沿って行われる。
【０１０５】
具体的には、制御チャネル処理部２０１またはソースアドレス制御処理部４０３からの情報を受信すると、通信制御部１０の制御処理部１０１は、受信した情報に対応する制御ポリシを検索する。このとき、制御処理部１０１は、制御ポリシのうち、まず最高優先度の制御ポリシを選択する（図１１におけるステップＳ１５１）。
【０１０６】
制御処理部１０１は、選択した制御ポリシが受信した情報とマッチ条件（トラフィック条件）において適合するか否か判断する（ステップＳ１５２）。選択した制御ポリシに適合しない場合（ステップＳ１５２におけるＮ）、制御処理部１０１は、未確認の制御ポリシが存在するか否か確認する（ステップＳ１５３）。未確認の制御ポリシが存在しない場合（ステップＳ１５３におけるＮ）、処理を終了する。一方、未確認の制御ポリシが存在する場合（ステップＳ１５３におけるＹ）、制御処理部１０１は、次の優先度の制御ポリシを選択して（ステップＳ１５４）、ステップＳ１５２以降の処理を繰り返す。
【０１０７】
一方、ステップＳ１５２において、選択した制御ポリシが受信した情報とマッチ条件（トラフィック条件）において適合する場合（ステップＳ１５２におけるＹ）、制御処理部１０１は、選択している制御ポリシに基づく処理を実行するためのフローエントリを作成する（ステップＳ１５５）。フローエントリの作成後、制御処理部１０１は、情報の送信先へ、そのフローエントリを示す情報を送信する。
【０１０８】
以下、ステップＳ１５５において、フローエントリを作成する処理を、具体例を用いて説明する。例えば、指定された処理が“指定されたＩＦを使用して通信”であったとする。この場合、制御処理部１０１は、通信端末１が送信するパケットについて、“送信元ＩＰアドレスを指定されたＩＦのＩＰアドレスに変更した後、指定されたＩＦから出力する”というアクションを持つフローエントリを作成してもよい。さらに、この場合、制御処理部１０１は、通信端末１が受信するパケットについて、“送信先ＩＰアドレスを通信端末１が送信するパケットの当初の送信元ＩＰアドレスに変更した後、内部通信ＩＦ部５０から出力する”というアクションを持つフローエントリを作成する。
【０１０９】
また、制御処理部１０１は、通信端末１が送信するパケットに対するフローエントリの上述するアクション“指定されたＩＦから出力する”の前に、“送信元ＭＡＣアドレスを指定されたＩＦのＭＡＣアドレスに変更”および“送信先ＭＡＣアドレスを指定されたＩＦが接続するＬＡＮ上のデフォルトゲートウェイのＭＡＣアドレスに変更”というアクションを含めてもよい。
【０１１０】
さらに、制御処理部１０１は、通信端末１が受信するパケットに対する上述するフローエントリのアクション“内部通信ＩＦ部５０から出力する”の前に、“送信先ＭＡＣアドレスを内部通信ＩＦ部５０のＭＡＣアドレスに変更”というアクションを含めてもよい。
【０１１１】
制御処理部１０１は、これらのアクションの生成に係る情報を、プロトコルスタック部７０、通信ＩＦ部３０−１〜３０−２、内部通信ＩＦ部５０、および通信端末１のＯＳ（図示せず）から取得してもよい。
【０１１２】
制御処理部１０１は、通信に使用するＩＦが複数指定されていた場合、優先度の高いものから順に指定されたＩＦが利用可能かを調べ、最初に利用可能であったＩＦに関し、前述のようなフローエントリを作成してよい。制御処理部１０１は、ＩＦが利用可能か否かを、例えば、そのＩＦが存在するか否か、リンクアップしているか否か、ＩＰアドレスが構成されているか否か、等によって判断してよい。
【０１１３】
制御処理部１０１は、指定された処理が“破棄する”であった場合、例えば、アクションが空のフローエントリを作成する。
【０１１４】
本例の場合、ＴＣＰ接続要求パケットは、図８に例示する制御ポリシ２に適合するため、図１１に例示するステップＳ１５５において、図１２の項番１および項番２に例示するフローエントリが生成される。すなわち、制御処理部１０１は、制御ポリシ２に設定された処理である無線ＬＡＮを使用して通信を行う処理を行うことを決定する。そのため、制御処理部１０１は、内部通信ＩＦ部５０から受信したパケットを通信ＩＦ部３０−１（無線ＬＡＮ）を介してサーバ２へ転送するためのフローエントリ（図１２に例示する項番１）を作成する。さらに、制御処理部１０１は、通信ＩＦ部３０−１（無線ＬＡＮ）を介してサーバ２から受信したパケットを、内部通信ＩＦ部５０へ転送するためのフローエントリ（図１２に例示する項番２）を作成する。
【０１１５】
続いて、通信制御部１０の制御処理部１０１は、ステップＳ１２６において生成されたフローエントリを通信処理部２０に設定する。あわせて、制御処理部１０１は、対応するＴＣＰ接続要求パケットに対し、そのフローエントリに基づく処理を適用するよう通信処理部２０に指示する（図１０におけるステップＳ１２７）。
【０１１６】
続いて、通信処理部２０の制御チャネル処理部２０１は、通知（設定）されたフローエントリ（図１２に例示する項番１および項番２）を、フローテーブル記憶部２０３に記憶させる（ステップＳ１２８）。
【０１１７】
続いて、通信処理部２０のパケット処理部２０２は、ステップＳ１２８で設定されたフローエントリに基づきパケット（ＴＣＰ接続要求パケット）を処理する（ステップＳ１２９）。ここでは、そのパケットは、図１２に例示する項番１のフローエントリにマッチするため、パケット処理部２０２は、そのフローエントリのアクションを実行する。
【０１１８】
具体的には、パケット処理部２０２は、パケットの送信先ＭＡＣアドレスを０２：００：０３：０１：０３：０１に変更し、送信元ＭＡＣアドレスを０２：００：００：００：００：０１に変更し、送信元ＩＰアドレスを１９２．１６８．１．１に変更した後、そのパケットを通信ＩＦ部３０−１に出力する。
【０１１９】
ここで、送信元ＩＰアドレスの変更処理が実施されるが、ソースアドレス制御部４０による制御の結果、変更前の送信元ＩＰアドレスと変更後の送信元ＩＰアドレスは同一となっている。すなわち、実質的にこのパケットにＮＡＴは適用されていないことになる。
【０１２０】
続いて、通信ＩＦ部３０−１は、送信要求されたパケット（ＴＣＰ接続要求パケット）を送信する（ステップＳ１３０）。以降、このパケットは、通信ネットワーク３−１、通信ネットワーク３−３の順に転送され、サーバ２で受信される。
【０１２１】
続いて、サーバ２は、受信したＴＣＰ接続要求パケットに対するＴＣＰ接続応答パケットを送信する（ステップＳ１３１）。この時、そのＴＣＰ接続応答パケットの送信元ＩＰアドレスは１０．０．０．２、送信元ポート番号は８０、送信先ＩＰアドレスは１９２．１６８．１．１、送信先ポート番号は１００００となる。このパケットは、通信ネットワーク３−３、通信ネットワーク３−１の順で転送され、通信ＩＦ部３０−１で受信される。
【０１２２】
続いて、通信ＩＦ部３０−１は、受信したパケット（ＴＣＰ接続応答パケット）を通信処理部２０に送信する（ステップＳ１３２）。
【０１２３】
続いて、通信処理部２０のパケット処理部２０２は、そのＴＣＰ接続応答パケットを受信し、フローテーブル記憶部２０３を参照して、このパケットに対応するフローエントリの有無を確認する（ステップＳ１３３）。受信したＴＣＰ接続応答パケットとフローエントリの条件を比較すると、ここでは、ステップＳ１２８において記憶されたフローエントリが発見される（図１２に例示する項番２）。
【０１２４】
続いて、通信処理部２０のパケット処理部２０２は、ステップＳ１３３で発見したフローエントリに基づきパケット（ＴＣＰ接続応答パケット）を処理する（ステップＳ１３４）。このパケットは、図１２に例示する項番２のフローエントリにマッチするため、パケット処理部２０２は、そのフローエントリのアクションを実行する。
【０１２５】
具体的には、パケット処理部２０２は、パケットの送信先ＭＡＣアドレスを０２：００：００：００：００：５０に変更し、送信先ＩＰアドレスを１９２．１６８．１．１に変更した後、そのパケットを内部通信ＩＦ部５０に出力する。
【０１２６】
ここで、送信先ＩＰアドレスの変更処理が実施されるが、ソースアドレス制御部４０による制御の結果、変更前の送信先ＩＰアドレスと変更後の送信先ＩＰアドレスは同一となっている。すなわち、実質的にこのパケットにＮＡＴは適用されていないことになる。
【０１２７】
続いて、内部通信ＩＦ部５０は、このパケット（ＴＣＰ接続応答パケット）を受信し、プロトコルスタック部７０に通知する（ステップＳ１３５）。
【０１２８】
続いて、プロトコルスタック部７０は、受信したパケットの受信処理を行い、その結果ＨＴＴＰ用ソケットを通じ通信利用部６０−ＸにＴＣＰ接続の接続完了を通知する（ステップＳ１３６）。
【０１２９】
続いて、通信利用部６０−Ｘは、接続が完了したＴＣＰ接続（コネクション）を介してＨＴＴＰデータを取得するため、ＨＴＴＰ用ソケットを用いてＨＴＴＰリクエストデータをプロトコルスタック部７０に送信する（ステップＳ１３７）。
【０１３０】
続いて、プロトコルスタック部７０は、データ送信要求（ＨＴＴＰリクエスト）を受け、ＨＴＴＰリクエストを含むＴＣＰパケットを作成し送信する（ステップＳ１３８）。プロトコルスタック部７０は、ステップＳ１２２の処理と同様に、経路表を参照し、ＴＣＰパケットを内部通信ＩＦ部５０へ送信する。
【０１３１】
続いて、内部通信ＩＦ部５０は、そのＴＣＰパケット（ＨＴＴＰリクエスト）を受信し、通信処理部２０に通知する（ステップＳ１３９）。
【０１３２】
続いて、通信処理部２０のパケット処理部２０２は、そのＴＣＰパケットを受信し、フローテーブル記憶部２０３を参照し、このパケットに対応するフローエントリの有無を確認する（ステップＳ１４０）。受信したＴＣＰパケット（ＨＴＴＰリクエスト）とフローエントリの条件を比較すると、ここでは、ステップＳ１２８で記憶された、図１２に例示する項番１のフローエントリが発見される。
【０１３３】
続いて、通信処理部２０のパケット処理部２０２は、ステップＳ１４０で発見したフローエントリに基づき、ＴＣＰパケット（ＨＴＴＰリクエスト）を処理する（ステップＳ１４１）。ここでは、そのパケットは、図１２に例示する項番１のフローエントリにマッチするため、パケット処理部２０２は、そのフローエントリのアクションを実行する。
【０１３４】
具体的には、パケット処理部２０２は、パケットの送信先ＭＡＣアドレスを０２：００：０３：０１：０３：０１に変更し、送信元ＭＡＣアドレスを０２：００：００：００：００：０１に変更し、送信元ＩＰアドレスを１９２．１６８．１．１に変更した後、そのパケットを通信ＩＦ部３０−１に出力する。
【０１３５】
ここで、送信元ＩＰアドレスの変更処理が実施されるが、ソースアドレス制御部４０による制御の結果、変更前の送信元ＩＰアドレスと変更後の送信元ＩＰアドレスは同一となっている。すなわち、実質的にこのパケットにＮＡＴは適用されていないことになる。
【０１３６】
続いて、通信ＩＦ部３０−１は、送信要求されたＴＣＰパケット（ＨＴＴＰリクエスト）を送信する（ステップＳ１４２）。以降、このパケットは、通信ネットワーク３−１、通信ネットワーク３−３の順に転送され、サーバ２で受信される。
【０１３７】
以降、サーバ２は、受信したパケットに対する応答パケット（ＨＴＴＰレスポンス）を送信するが、その処理は、ステップＳ１３１〜ステップＳ１３６で説明した、ＴＣＰ接続応答パケットの処理と同様であるため、その説明を省略する。
【０１３８】
次に、通信利用部６０−Ｘ以外の通信利用部６０（以下、通信利用部６０−Ｙと記す。）が、サーバ２とＨＴＴＰ通信を行う場合の動作を説明する。この通信では、図８に例示する制御ポリシ３に従って処理が行われることが期待される。
【０１３９】
なお、本動作の説明では、以下の条件が成り立っていることを前提とする。
−  フローテーブル記憶部２０３にはフローエントリが記憶されていない。
−  通信利用部６０−Ｘに関し、図９を用いて説明した動作が実行済みである。
【０１４０】
また、本動作の説明では、通信利用部６０−ＸがＨＴＴＰ通信を行った場合の動作例を示す図１０を参照し、通信利用部６０−ＹがＨＴＴＰ通信を行った場合と異なる点に限定して説明を行う。
【０１４１】
なお、図１０を参照した説明で記載された通信利用部６０−Ｘは、すべて通信利用部６０−Ｙに読み替えられるものとする。また、送信されるＴＣＰ接続要求パケットの送信元ポート番号は１０００１であるとする。また、通信利用部６０−Ｙについて行われるステップＳ１２０からステップＳ１２５までの処理は、通信利用部６０−Ｘについて行われる処理と同様である。
【０１４２】
ステップＳ１２６において、通信利用部６０が通信利用部６０−Ｙの場合、ＴＣＰ接続要求パケットは、図８に例示する制御ポリシ３に適合するため、図１１に例示するステップＳ１５５において、図１２の項番３および項番４に例示するフローエントリが生成される。すなわち、制御処理部１０１は、制御ポリシ３に設定された処理である３Ｇを使用して通信を行う処理を行うことを決定する。そのため、制御処理部１０１は、内部通信ＩＦ部５０から受信したパケットを通信ＩＦ部３０−２（３Ｇ）を介してサーバ２へ転送するためのフローエントリ（図１２に例示する項番３）を作成する。さらに、制御処理部１０１は、通信ＩＦ部３０−２（３Ｇ）を介してサーバ２から受信したパケットを、内部通信ＩＦ部５０へ転送するためのフローエントリ（図１２に例示する項番４）を作成する。
【０１４３】
なお、通信利用部６０−Ｙについて行われるステップＳ１２７からステップＳ１２８までの処理は、通信利用部６０−Ｘについて行われる処理と同様である。
【０１４４】
ステップＳ１２９において、パケット（ＴＣＰ接続要求パケット）は、図１２に例示する項番３のフローエントリにマッチするため、通信処理部２０のパケット処理部２０２は、そのフローエントリのアクションを実行する。
【０１４５】
具体的には、パケット処理部２０２は、パケットの送信元ＩＰアドレスを１９２．１６８．２．１に変更した後、そのパケットを通信ＩＦ部３０−２に出力する。ここで、送信元ＩＰアドレスの変更処理が実施されるが、通信利用部６０−Ｙは対象リスト記憶部４０２が記憶するリストに含まれておらず、通信利用部６０−Ｙの通信にＮＡＴが適用されてもその通信に支障は生じない。
【０１４６】
ステップＳ１３０〜ステップＳ１３２において、送信要求されたパケット（ＴＣＰ接続要求パケット）およびサーバ２が送信するＴＣＰ接続応答パケットは、通信ＩＦ部３０−１の代わりに通信ＩＦ部３０−２によって処理され、また、通信ネットワーク３−１の代わりに、通信ネットワーク３−２を介して通信される。
【０１４７】
ステップＳ１３３において、図１２に例示する項番２のフローエントリの代わりに、図１２に例示する項番４が発見される。
【０１４８】
ステップＳ１３４において、パケット（ＴＣＰ接続応答パケット）は、図１２に例示する項番４のフローエントリにマッチするため、通信処理部２０のパケット処理部２０２は、そのフローエントリのアクションを実行する。
【０１４９】
具体的には、パケット処理部２０２は、パケットの送信先ＭＡＣアドレスを０２：００：００：００：００：５０に変更し、送信先ＩＰアドレスを１９２．１６８．１．１に変更した後、そのパケットを内部通信ＩＦ部５０に出力する。
【０１５０】
ここで、送信先ＩＰアドレスの変更処理が実施されるが、通信利用部６０−Ｙは対象リスト記憶部４０２が記憶するリストに含まれておらず、通信利用部６０−Ｙの通信にＮＡＴが適用されてもその通信に支障は生じない。
【０１５１】
以降、通信利用部６０−Ｙについて行われるステップＳ１３５からステップＳ１３９までの処理は、通信利用部６０−Ｘについて行われる処理と同様である。
【０１５２】
ステップＳ１４０において、図１２に例示する項番１のフローエントリの代わりに、図１２に例示する項番３が発見される。
【０１５３】
ステップＳ１４１において、パケット（ＴＣＰ接続要求パケット）は、図１２に例示する項番３のフローエントリにマッチするため、通信処理部２０のパケット処理部２０２は、そのフローエントリのアクションを実行する。
【０１５４】
具体的には、パケット処理部２０２は、パケットの送信元ＩＰアドレスを１９２．１６８．２．１に変更した後、そのパケットを通信ＩＦ部３０−２に出力する。ここで、送信元ＩＰアドレスの変更処理が実施されるが、通信利用部６０−Ｙは対象リスト記憶部４０２が記憶するリストに含まれておらず、通信利用部６０−Ｙの通信にＮＡＴが適用されてもその通信に支障は生じない。
【０１５５】
以上のように、本実施形態によれば、通信処理部２０が、複数の通信ＩＦ部３０−１〜３０−２の中から、通信利用部６０−１〜ｍによるパケットの送受信に使用する通信ＩＦ部を選択し、そのパケットに含まれるソースアドレスを、選択した通信ＩＦ部で利用可能なアドレスに変換する。この際、通信制御部１０は、通信処理部２０が通信ＩＦ部を選択できない場合や、ソースアドレスを選択した通信ＩＦ部で利用可能なアドレスに変換できない場合、通信処理部２０が処理を行うことができるように制御を行う。したがって、通信制御部１０と通信処理部２０とが協働してこれらの処理を行っていると言うこともできる。
【０１５６】
また、ソースアドレス制御部４０（具体的には、ソースアドレス制御対象検出部４０１）は、通信処理部２０によるアドレス変換が適さない対象となる通信の発生を検知または予測する。すると、ソースアドレス制御処理部４０３は、対象となる通信のパケットに対して行われるアドレスの変換の前後で変化しないソースアドレスを、そのアドレスの変換の前に、対象となる通信のパケットに設定させる制御をプロトコルスタック部７０に対して行う。
【０１５７】
具体的には、ソースアドレス制御部４０（より具体的には、ソースアドレス制御対象検出部４０１）が、ソースアドレス制御対象の通信（ＮＡＴが適さない通信、アドレス変換が適さない通信）の発生またはその予兆を検出し、検出時にその通信に対しソースアドレス制御を開始する。
【０１５８】
ソースアドレス制御の際、ソースアドレス制御部４０は、その通信が使用すべき通信ＩＦ部３０を通信制御部１０を参照して特定し、特定された通信ＩＦ部３０に設定されたアドレスを内部通信ＩＦ部５０に追加設定する。あわせて、ソースアドレス制御部４０は、設定したアドレスがその通信のソースアドレスとして利用されるよう経路設定を変更する。
【０１５９】
通信制御部１０は、制御ポリシにしたがって、通信処理部２０が受信したパケットおよびそのパケットが属するフローの処理内容を決定し、通信処理部２０に対応するフローエントリ（処理規則）を設定する。このフローエントリは、そのパケットが通信端末１外のネットワークで通信可能になるよう（すなわち、その通信ＩＦで利用可能となるよう）、適切なアドレス変換をそのパケットに適用できるよう作成される。
【０１６０】
このとき、ソースアドレス制御対象の通信に対しては、上述のとおり、通信に使用すべき通信ＩＦ部３０のアドレスが最初からソースアドレスとして使用されるようソースアドレス制御部４０によって制御が行われている。そのため、実質的には、この通信にアドレス変換処理は適用されない（すなわち、変換前後のアドレスが同一である）。
【０１６１】
よって、本実施形態によれば、通信端末が、アドレス変換により複数の通信インタフェースを使い分ける通信処理を行うとともに、アドレス変換が適さない通信に対しても複数の通信インタフェースを使い分けることができる。
【０１６２】
なお、本実施形態における通信システムの説明では、通信制御部１０が作成するフローエントリに、送信元もしくは送信先のアドレスを変換するアクションを常に含める例を示したが、本発明は、これに限定されるものではない。例えば、通信制御部１０は、変換前と変換後のアドレスが同一である場合、作成するフローエントリに送信元または送信先のアドレスを変換するアクションを含めないことにしてもよい。これにより、通信処理部２０の負荷を軽減することができる。
【０１６３】
なお、本実施形態における通信システムの説明では、対象リスト記憶部４０２が制御対象とする通信利用部６０−１〜ｍの識別子のリストを保持し、ソースアドレス制御対象検出部４０１が制御対象の通信利用部６０−１〜ｍの稼動開始をソースアドレス制御が必要な通信の予兆として扱う例を示したが、本発明はこれに限定されるものではない。
【０１６４】
例えば、対象リスト記憶部４０２は、通信利用部６０−１〜ｍの識別子に加えてもしくは代わりに、通信に係る情報（例えば、送信先ＩＰアドレス、送信元ＩＰアドレス、プロトコル番号、送信先ポート番号、送信元ポート番号、の一部もしくは全部の組み合わせ）のリストを保持してもよい。また、ソースアドレス制御対象検出部４０１は、通信利用部６０−１〜ｍの通信開始をソースアドレス制御が必要な通信の予兆として扱ってもよい。これは、例えば、ソースアドレス制御対象検出部４０１が、通信利用部６０−１〜ｍからプロトコルスタック部７０への通信開始や接続開始の要求（例えば、Ｓｏｃｋｅｔインタフェース経由）をフックもしくはモニタすることで実現できる。
【０１６５】
なお、本実施形態における通信システムの説明では、ソースアドレス制御処理部４０３が、ソースアドレス制御として、デフォルト経路の推奨アドレスを決定したソースアドレスに変更する設定を行う例を示したが、本発明はこれに限定されるものではない。
【０１６６】
例えば、ソースアドレス制御処理部４０３は、デフォルト経路を更新する代わりに、ソースアドレス制御の対象となる通信の送信先ＩＰアドレス宛の経路（転送先は、内部通信ＩＦ部５０、推奨ソースアドレスは決定したソースアドレス）を追加してもよい。ソースアドレス制御処理部４０３は、当該送信先ＩＰアドレスを、ソースアドレス制御の契機となった通信の情報から取得してもよいし、使用する通信ＩＦ部３０を決定する際に使用された制御ポリシのトラフィック条件から取得してもよい。
【０１６７】
次に、本発明の概要を説明する。図１３は、本発明による通信端末の概要を示すブロック図である。本発明による通信端末は、複数の通信インタフェース部８１（例えば、通信ＩＦ部３０−１〜３０−２）と、パケットの送受信に使用する通信インタフェース部８１を選択し、パケットに含まれるソースアドレスを、選択した通信インタフェース部で利用可能なアドレスに変換する制御を行う通信制御部８２（例えば、通信制御部１０、通信処理部２０）と、通信制御部８２によるアドレスの変換が適さない対象通信（例えば、ＮＡＴが適さない通信）の発生を検知または予測し、通信制御部８２による対象通信のパケットに対するアドレスの変換の前後で変化しないソースアドレス（例えば、通信ＩＦ部のアドレス）を、そのアドレスの変換の前に対象通信のパケットに設定させる制御を（例えば、プロトコルスタック部７０に対して）行うソースアドレス制御部８３（例えば、ソースアドレス制御部４０）とを備えている。
【０１６８】
そのような構成により、アドレス変換を行って複数の通信インタフェースを使い分ける通信を行う場合に、アドレス変換が適さない通信に対しても、その通信を正しく動作させることができる。
【０１６９】
また、ソースアドレス制御部８３は、通信制御部８２により選択され、対象通信のパケットの送受信に使用される通信インタフェース部８１で利用可能なアドレスをソースアドレスとして対象通信のパケットに設定させてもよい。
【０１７０】
また、ソースアドレス制御部８３は、対象通信のパケットの送受信に使用されるソースアドレスに、通信インタフェース部８１が使用するアドレスを設定または追加する指示をし、そのソースアドレスを使用する経路設定を指示することにより、対象通信のパケットに対するアドレスの変換の前後で変化しないソースアドレスを、対象通信のパケットに設定させる制御を行ってもよい。
【０１７１】
また、ソースアドレス制御部８３は、対象通信を行うアプリケーション（例えば、通信利用部６０）のリストを保持し、リストに含まれるアプリケーションの稼働状態を監視することにより、対象通信の発生を検知または予測してもよい。
【０１７２】
また、通信端末は、ソースアドレス制御部８３が制御を行う制御対象部（例えば、プロトコルスタック部７０）と、通信制御部８２（例えば、通信処理部２０）との間の通信を中継する内部通信インタフェース部（例えば、内部通信ＩＦ部５０）を備えていてもよい。そして、ソースアドレス制御部８３は、内部通信インタフェース部のアドレスを、対象通信のパケットの送受信に使用される通信インタフェース部のアドレスに設定させる制御を、制御対象部に対して行ってもよい。
【符号の説明】
【０１７３】
１  通信端末
２  サーバ
３−１〜３−３  通信ネットワーク
１０  通信制御部
２０  通信処理部
３０−１〜３０−２  通信ＩＦ部
４０  ソースアドレス制御部
５０  内部通信ＩＦ部
６０−１〜ｍ  通信利用部
７０  プロトコルスタック部
１０１  制御処理部
１０２  制御ポリシ記憶部
２０１  制御チャネル処理部
２０２  パケット処理部
２０３  フローテーブル記憶部
４０１  ソースアドレス制御対象検出部
４０２  対象リスト記憶部
４０３  ソースアドレス制御処理部
【図１】
2015095789.tif 000003
【図２】
2015095789.tif 000004
【図３】
2015095789.tif 000005
【図４】
2015095789.tif 000006
【図５】
2015095789.tif 000007
【図６】
2015095789.tif 000008
【図７】
2015095789.tif 000009
【図８】
2015095789.tif 000010
【図９】
2015095789.tif 000011
【図１０】
2015095789.tif 000012
【図１１】
2015095789.tif 000013
【図１２】
2015095789.tif 000014
【図１３】
2015095789.tif 000015