ソースアドレスを選択する通信装置
【課題】複数のソースアドレスを有する通信装置において、宛先通信装置との接続性が確認され、かつ、より性能の良い通信経路を経由するためのソースアドレスを選択する通信装置を提供する。
【解決手段】本発明の通信装置は、複数のネットワークと接続可能であり、各ネットワークとそれぞれ接続するためのソースアドレスが割り当てられた通信装置において、送信データの宛先に関する情報を受信すると、各ネットワークを介した宛先までのそれぞれの通信経路の特性情報を取得する通信経路特性情報取得部と、特性情報に基づいて、複数のソースアドレスの中から一つのソースアドレスを選択するソースアドレス選択部と、選択されたソースアドレスに対応するネットワークに対して送信データを送信する送信部とを備える。複数のネットワークのうち最適な通信経路を有するネットワークに対応するソースアドレスを選択して、通信を行うことができる。
【解決手段】本発明の通信装置は、複数のネットワークと接続可能であり、各ネットワークとそれぞれ接続するためのソースアドレスが割り当てられた通信装置において、送信データの宛先に関する情報を受信すると、各ネットワークを介した宛先までのそれぞれの通信経路の特性情報を取得する通信経路特性情報取得部と、特性情報に基づいて、複数のソースアドレスの中から一つのソースアドレスを選択するソースアドレス選択部と、選択されたソースアドレスに対応するネットワークに対して送信データを送信する送信部とを備える。複数のネットワークのうち最適な通信経路を有するネットワークに対応するソースアドレスを選択して、通信を行うことができる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パケット通信を行う通信装置が複数のネットワークに接続しており、また、それぞれのネットワークからアドレスを割り当てられている場合において、通信装置が他の通信装置と適切な通信経路で通信することを可能とするためのソースアドレスを選択する通信装置に関する。
【背景技術】
【0002】
近年、IP(Internet Protocol)技術に基づいたインターネットが全世界で急速に普及してきている。インターネットでは、ネットワークプロバイダあるいはインターネットサービスプロバイダ(ISP)と呼ばれる事業者が、IPアドレスあるいは、IPアドレスの上位ビット部のプレフィックスをユーザに割り当て、ユーザの通信装置(例えば、パーソナルコンピュータ)は、そのIPアドレスあるいはプレフィックスを含むIPアドレスを通信装置のソースアドレスとしてインターネットにアクセスする。
【0003】
各事業者がそれぞれ独自のサービスを提供していたり、企業内ネットワークにアクセスしたりするために、ユーザは複数のネットワークからIPアドレス(プレフィックス)を割り当てられることが多くなってきている。
【0004】
このように、複数のIPアドレスが割り当てられている場合は、このうちの一つのIPアドレスをソースアドレスと選択し、そのIPアドレスを用いてネットワークにアクセスする必要がある。ソースアドレス選択方法として、インターネットの仕様などの標準化活動を行っている組織IETF(The Internet Engineering Task Force)では、次の方法を標準化している。すなわち、従来のソースアドレス選択方法は、宛先アドレスとの最大プレフィックス一致に基づいて、ソースアドレスを選択する方法である。
【0005】
図1は、従来のソースアドレス選択方法を説明する図である。図1において、複数のIPアドレスを有する通信装置Xが、宛先通信装置Yと通信するとき、通信装置Xは、最大プレフィクス長一致に基づいて、IPアドレスを選択する。具体的には、通信装置Xが、二つのIPアドレス、2001:0:10::1と2001:100:10::1を有し、宛先通信装置YのIPアドレスが、2001:100:20::1である場合、通信装置Xは、宛先通信装置YのIPアドレスとのプレフィクスの一致度がより高いIPアドレス2001:100:10::1(ネットワークプロバイダBから割り当てられたIPアドレス)を選択する。
【0006】
しかしながら、プレフィックス長の一致が長いほど、ネットワーク的に近いとは限らない。例えば、宛先通信装置Yへの往路パスに障害があった場合は通信不能となる。障害がなく、正常に宛先通信装置Yと通信できたとしても、遅延などの性能は、ネットワークプロバイダAを経由した方が良い場合も考えられる。また、宛先通信装置Yからのリターンパスに障害があった場合も通信不能となる。また、ネットワークプロバイダ事業者が独自のサービスを提供するための閉域網のアドレスをソースアドレスとしてインターネットにアクセスした場合、インターネットと接続関係の無い閉域網のためリターンパスが存在しないという致命的な問題が生じる。
【0007】
また、"Site Exit Issue"の問題も存在することが指摘されている。"Site Exit Issue"は、"address spoofing"を防止するために、プロバイダが割り当てたアドレス/プレフィックス以外のソースアドレスを有するパケットを廃棄する機能であるIngress Filteringにより、引き起こされる。すなわち、Hostが選択したソースアドレスを割り当てたプロバイダ以外のプロバイダにルーティングされると、Ingress Filteringにより廃棄され、全く通信できなくなってしまう。IETFでは、この"Site Exit Issue"の問題を解決するために、以下の4つの方法を提案しているが、それぞれに課題が存在する。
【0008】
(1) Ingress Filteringのルール緩和
【0009】
Ingress Filteringによるaddress spoofingに対する効果が減少し、セキュリテの脆弱性を増す。
【0010】
(2) ソースアドレスルーティング
【0011】
通信装置がある程度経路を制御できる点に利点があるが、その経路が最適か接続性は 確保されているかなどの保証がない。
【0012】
(3) 端末によるソースアドレス選択(Source Address Discovery、 Exit Router Discovery)
・SAD: Path MTU-Discoveryのように、ソースアドレスを通信可能になるまでの順 次変えていくため、遅延が大きく、また、経路が最適とは限らない。
【0013】
・ERD: Exit Routerまでのトンネル設定が必要であり、通信装置の負荷が増大する。
【0014】
(4) NAT
【0015】
End-to-Endで直接通信可能なIPv6の場合、その利点を打ち消してしまう。
【0016】
このように、標準化技術では、経路の最適化(例:RTTが最小)とSite Exit Issueを共に解決することができなかった。
【0017】
一方、上述したような標準化技術の課題に対処するために、下記特許文献1では、複数のISPと接続したマルチホーム環境で、接続性が確認されたISPにより割り当てられたアドレスプレフィックスをソースアドレスとして、ルータでソースアドレスルーティングすることで、通信できるようにすることが提案されている。特許文献1では、IPv6のND(Neighbor Discovery)メッセージ等により、それぞれのISPとの接続性確認をすると共に、ソースアドレスルーティングを行うことが記述されている。
【0018】
しかし、特許文献1の発明によれば、ISPとの接続性しか確認していないため、宛先ドメイン/ホストの接続性を保証できない。また、複数のISPとの接続性が確認されているときに、どのISPのプレフィックスを利用すべきか具体化されていない。
【0019】
一方、特許文献2では、複数のルータからアドレスプレフィックスを割り当てられる環境で、割り当てられたアドレスプレフィックス毎に仮想インターフェースを生成し、アドレスプレフィックスを利用して生成したアドレスを付与する。そして、ソースアドレス選択は、宛先アドレスとの最長プレフィックス一致に基づいて行う。さらに、アドレスプレフィックスの配布時に、プレフィックスと対応付けたラベルを配布することでパケット処理効率を上げることが記述されている。
【0020】
しかし、ソースアドレス選択方法自体は、上述の標準化技術の範囲内であって、最適な経路による通信、Site Exit Issueの解決に課題が残る。
【特許文献1】特開2003-298635号
【特許文献2】特開2003-324461号
【発明の開示】
【発明が解決しようとする課題】
【0021】
このように、End-to-Endの接続性が保証され、かつ、性能が最適となる通信路を経由するようなソースアドレス選択方法を提供することが望まれている。
【0022】
従って、本発明の目的は、複数のネットワークプロバイダにより割り当てられたアドレスから一のアドレスを選択し、それをソースアドレスとして通信する通信装置において、宛先通信装置との双方向の接続性が確認され、かつ、より性能の良い通信経路を経由するためのソースアドレスを選択する通信装置を提供することにある。
【課題を解決するための手段】
【0023】
上記目的を達成するための本発明の通信装置の構成は、複数のネットワークと接続可能であり、各ネットワークとそれぞれ接続するためのソースアドレスが割り当てられた通信装置において、送信データの宛先に関する情報を受信すると、各ネットワークを介した前記宛先までのそれぞれの通信経路の特性情報を取得する通信経路特性情報取得部と、
前記特性情報に基づいて、複数のソースアドレスの中から一つのソースアドレスを選択するソースアドレス選択部と、前記選択されたソースアドレスに対応するネットワークに対して前記送信データを送信する送信部とを備えることを特徴とする。
【0024】
例えば、前記特性情報は、前記宛先までのそれぞれの通信経路の接続性に関する情報であり、この場合、前記通信経路特性情報取得部は、各ネットワークの通信経路が前記宛先まで接続しているかどうかを確認し、前記ソースアドレス選択部は、前記宛先と接続しているネットワークに対応するソースアドレスを選択する。
【0025】
また、例えば、前記特性情報は、前記宛先までのそれぞれの通信経路の遅延性に関する情報であり、この場合、前記通信経路特性情報取得部は、各ネットワークの通信経路の遅延を測定し、前記ソースアドレス選択部は、通信経路の遅延が最小となるネットワークに対応するソースアドレスを選択する。
【0026】
また、本発明の通信装置は、さらに、前記選択されたソースアドレスと前記宛先との対応関係を格納する格納部を備えていてもよく、この場合、前記通信経路特性情報取得部は、前記格納部に、前記宛先に対応するソースアドレスが格納されていない場合に、前記特性情報を取得し、前記ソースアドレス選択部は、前記特性情報に基づいて選択したソースアドレスを、前記宛先に対応づけて前記格納部に登録する。そして、好ましくは、前記格納部に格納された前記対応関係は、所定時間経過後消去される。
【発明の効果】
【0027】
本発明の通信装置によれば、複数のソースアドレスが割り当てられた通信装置において、複数のネットワークのうち最適な通信経路を有するネットワークに対応するソースアドレスを選択して、通信を行うことができる。
【発明を実施するための最良の形態】
【0028】
以下、図面を参照して本発明の実施の形態について説明する。しかしながら、かかる実施の形態例が、本発明の技術的範囲を限定するものではない。
【0029】
図2は、本発明の第一の実施の形態例における通信装置を説明する図であって、第一の実施の形態例におけるブロック構成例を示す図である。第一の構成例の通信装置は、例えばパーソナルコンピュータのような端末1Aである。端末1A(通信装置)は、各ネットワークプロバイダからの割り当てられたIPアドレス(以下、単にアドレスと称す)をソースアドレスリスト格納部16に記憶する。ネットワークプロバイダからのアドレス割り当て方法は、主に次の3つが考えられる。(本発明では下記の3方法に限定するものではない)
IPCP (Internet Protocol Control Protocol)
DHCP (Dynamic Host Configuration Protocol)
RA (Router Advertisement)
一般に、アドレスはネットワークアドレス部(プレフィックスという)とホストアドレス部から構成される。ネットワークプロバイダは、プレフィックスとホストアドレス部を含むアドレスを割り当てることもあるし、プレフィックスのみを割り当て、ホストアドレス部はプレフィックスを割り当てられた通信装置がMACアドレスなどから自動的に生成し、アドレスを合成することもある。ソースアドレスリスト格納部16はこうして得られたアドレスを記憶する。複数のネットワークプロバイダそれぞれからアドレスを割り当てられた場合は、ソースアドレス格納部16は、複数のアドレスを記憶する。
【0030】
送信データ受付部11は、アプリケーションから送信すべきデータを受信すると、そのデータと宛先情報を送信パケット生成部12に送る。ここで、宛先情報としては、宛先通信装置のアドレスであったり、ホスト名であったりする。
【0031】
送信パケット生成部12は、送信データをパケット化し、送信データにソースアドレス及び宛先アドレスを付した送信パケットを生成する。
【0032】
図3は、送信パケット生成部12の処理例を示すフローチャートである。送信パケット生成部12は、送信データ受付部11より送信データ、宛先情報を受信すると(S11)、宛先情報がアドレスであるかどうか判定する(S12)。宛先情報がアドレスであれば、宛先・ソースアドレス対応表格納部14を検索し、宛先アドレスに対応するソースアドレスが登録されているか問い合わせ(S13)、ソースアドレスが登録されていれば(S14)、そのアドレスを利用して送信パケットを生成し、パケット送信部13に送る(S19)。ソースアドレスが得られなかった場合(S14)や宛先情報がホスト名だった場合(この場合、ソースアドレスも得られていない)(S12)、宛先情報をソースアドレス選択部15に送る(S15、S17)。そして、後述するソースアドレス選択部15の処理により、ソースアドレス(S16)又はソースアドレスと宛先アドレス(S18)の応答を受信すると、そのアドレスを利用して送信パケットを生成し、パケット送信部13に送る。
【0033】
図2に戻って、宛先・ソースアドレス対応表格納部14は、宛先アドレスとソースアドレスの対応関係を記憶すると共に、一定時間、対応関係の問い合わせがない場合は、その登録の削除を行う。
【0034】
ソースアドレス選択部15は、本発明に特徴的な要素であってソースアドレス格納部16に格納されている複数のソースアドレスの中から、宛先通信装置との通信に最適なソースアドレスを選択する。
【0035】
図4は、ソースアドレス選択部15の処理例のフローチャートである。ソースアドレス選択部15は、送信パケット生成部12から、宛先情報を受けると(S21)、ソースアドレスリスト格納部16に格納されている複数のソースアドレスを取得し(S22)、宛先情報とソースアドレスを通信経路特性情報取得部17に送り(S23)、通信経路特性情報取得部17から情報を待つ。そして、通信経路特性情報取得部17より、各ソースアドレスを利用した場合の特性情報をそれぞれ受信して(S24)、その性能情報に基づいて、最良の性能を得られるソースアドレスを選択し、それを送信パケット生成部12に応答するとともに、宛先・ソースアドレス対応表格納部14に登録する(S25)。
【0036】
なお、送信パケット生成部12から受信した宛先情報が宛先アドレスではなく、宛先ホスト名の場合は、通信経路特性情報取得部17は、特性情報と一緒に宛先アドレスをソースアドレス選択部15に応答し、ソースアドレス選択部15は、ソースアドレスと共に宛先アドレスを送信パケット生成部12に応答する。また、ソースアドレス選択部15は、定期的に性能情報の更新を通信経路特性情報取得部17に要求し、その結果を宛先・ソースアドレス対応表格納部14に反映させてもよい。
【0037】
通信経路特性情報取得部17は、通信装置と相手先通信装置との間の通信経路の特性情報を取得する。特性情報は、通信経路の接続性(通信障害、通信不能状態にないかどうか)や、接続可能状態における遅延性(通信速度)などの情報である。
【0038】
図5は、第一の実施の形態例における通信経路特性情報取得部17の処理例を説明する図である。図5の処理例は、通信装置X(端末1A)と宛先通信装置Yとの間の接続性を確認するための処理であって、宛先情報がホスト名である場合に、宛先アドレスを取得する処理を利用して、接続性に関する特性情報を取得する。通信経路特性情報取得部17(通信装置X)は、複数のソースアドレスをソースアドレス格納部16より取得している。宛先情報がホスト名の場合、通信経路特性情報取得部17は、宛先アドレスを取得するために、各ネットワークプロバイダの名前解決サーバA、Bのアドレスを宛先アドレスとし、ソースアドレスは各ネットワークプロバイダから割り当てられたアドレスを使用した名前解決要求メッセージを生成し、パケット送信部13に送る。パケット送信部13は、各名前解決サーバA、Bに名前解決要求メッセージを送信する。図5の場合、名前解決サーバAは、宛先通信装置Yが属する名前解決サーバCから宛先アドレスを含む名前解決応答を受信し、通信装置Xのパケット受信部18は、それを受信する。一方、名前解決サーバBは、名前解決サーバCとの通信経路に障害があるため、名前解決応答を受信しない。この場合、名前解決サーバBは、名前解決エラーメッセージを、通信装置Xに送信する。
【0039】
通信経路特性情報取得部17は、パケット受信部18より名前解決サーバAからの名前解決応答を受信して、宛先アドレスを取得する。そして、通信経路特性情報取得部17は、宛先アドレスを取得するとともに、各ネットワークの宛先通信装置との接続性に関する情報も取得することができる。すなわち、名前解決サーバAを経由する通信経路は、宛先通信装置のネットワークと接続しているが、名前解決サーバBを経由する通信経路は宛先通信装置のネットワークと接続していない。
【0040】
一般には、各ネットワークプロバイダ経由の名前解決応答で得られる宛先アドレスは同一であるが、サーバ負荷分散が施されている場合、異なるアドレスが得られることもある。この場合、それぞれの宛先アドレスにアクセスするときは、そのアドレスを取得したときに経由したネットワークプロバイダに割り当てられたアドレスをソースアドレスとして利用する。
【0041】
このように、通信経路特性情報取得部17は、名前解決のためのメッセージを宛先通信装置の属するネットワークとの接続性の確認に用いることができる。すなわち、名前解決応答が得られないネットワークプロバイダは宛先通信装置の属するネットワークとの接続性がないと判断でき、一方、名前解決応答が得られるネットワークプロバイダは接続性が存在すると判断することができる。通信経路特性情報取得部17は、この旨、ソースアドレス選択部15に通知する。特性情報の取得方法の具体例について、さらに後述する。
【0042】
こうして、パケット送信部13は、送信パケットのソースアドレスに基づき、そのソースアドレスを割り当てたネットワークプロバイダのネットワークに対してパケットを転送する。
【0043】
図6は、本発明の第二の実施の形態例における通信装置を説明する図である。第二の実施の形態例における通信装置は、端末1Aと接続するゲイトウェイ1Bである。ゲイトウェイ1Bには、複数の端末1Aが接続可能であって、複数の端末1Aが、ゲイトウェイ1Bを介して、ネットワークに接続することができる。
【0044】
図7は、本実施の第二の実施の形態例における端末1Aとゲイトウェイ(通信装置)1Bのブロック構成を示す図である。本第二の実施の形態例では、図2の端末1Aにおけるソースアドレス選択機能を、ゲイトウェイ1Bが実現する。
【0045】
ゲイトウェイ1Bは、各ネットワークプロバイダより、プレフィックスをそれぞれ割り当てられ、その情報をソースアドレスリスト格納部16Bに記憶するとともに、各ネットワークプロバイダから割り当てられたプレフィックスを用いたアドレスを端末1Aに割り当てる。端末1Aは、ゲイトウェイ1Bにより割り当てられたアドレスをソースアドレスリスト格納部16Aに記憶する。
【0046】
端末1Aは、送信データ受付部11、送信パケット生成部12、パケット送信部13A、宛先・ソースアドレス対応表格納部14、ソースアドレス格納部17A、パケット受信部18A、アドレス情報要求部19を備える。なお、パケット送信部13A及びパケット受信部18Aは、それぞれ、ゲイトウェイ1Bに対するパケットの送受信を行う。
【0047】
ゲイトウェイ1Bは、パケット送信手段13B、ソースアドレス選択部15、ソースアドレスリスト格納部16B、通信経路特性情報取得部17、パケット受信手段18B、アドレス情報応答手段20を備える。パケット送信手段13B及びパケット受信手段18Bは、ネットワークに対するパケットの送受信と、端末1Aに対するパケットの送受信を行う。
【0048】
また、図2の構成では、送信パケット生成部12がソースアドレス選択部15に対して直接宛先情報を送り、ソースアドレス選択部15からアドレスを直接取得するが、図7の構成では、端末1Aのアドレス情報要求部19とゲイトウェイ1Bのアドレス情報応答部20を介して、宛先情報及びアドレスの送受信が行われる。具体的には、端末1Aのアドレス情報要求部19が、ゲイトウェイ1Bのアドレス情報応答部20に対して宛先情報を含むアドレス要求を送り、アドレス情報応答部20は、そのアドレス要求をソースアドレス選択部15に転送する。そして、アドレス情報応答部20は、ソースアドレス選択部15により選択されたアドレスを、アドレス要求部19に通知する。
【0049】
図8は、本発明の第二の実施の形態例における端末1Aとゲイトウェイ1Bの別のブロック構成例を示す図である。図8では、端末1Aとゲイトウェイ1Bの両方が、それぞれ宛先・ソースアドレス対応表格納部14A、14Bを有している。ゲイトウェイ1Bに複数の端末1Aが接続している場合、宛先・ソースアドレス対応表格納部14Bをゲイトウェイ1Bに設けることで、複数の端末1Aそれぞれからのアドレス要求に対応することができる。
【0050】
以下、通信経路特性情報取得部17における特性情報の取得に関するさまざまな形態例について説明する。
【0051】
図9は、ネットワークの接続性に関する特性情報を取得する通信経路特性情報取得部17のブロック構成例を示す図である。通信経路特性情報取得部17は、接続性確認パケット生成部171と接続性確認パケット受信部172とを備える。接続性確認のために名前解決メッセージが利用される場合、接続性確認パケット生成部171は、ソースアドレス選択部15からの指示に従って、上述の名前解決要求(図5参照)を生成し、接続性確認パケット受信部172は、名前解決応答又は名前解決エラーメッセージを受信し、ソースアドレス選択部15に通知する。
【0052】
接続性確認は、名前解決メッセージ以外にも、例えば、ICMP Echo メッセージ、SIPメッセージ、TCPのセッション確立メッセージなどを利用してもよい。
【0053】
図10は、ICMP Echo メッセージを利用した接続性確認のための通信経路特性情報取得部17の処理例を説明する図である。ICMP Echo メッセージを利用する場合、通信装置X(端末1A又はゲイトウェイ1B)の通信経路特性情報取得部17(接続性確認パケット生成部171)は、宛先アドレスを宛先通信装置Yのアドレスとして、ソースアドレス毎にICMP Echo メッセージを生成し、ICMP Echo メッセージは、それぞれのネットワークを経由して宛先通信装置Yに転送される(名前解決メッセージを利用する場合は、名前解決要求は、宛先通信装置Yまでは転送されず、その手前の宛先通信装置Yの属するネットワークの名前解決サーバが応答処理を行う)。宛先通信装置Yは、正常に受信したICMP Echo メッセージに対応するICMP Echo Replyメッセージを返送する。通信装置Xの通信経路特性情報取得部17(接続性確認パケット受信部172)は、ICMP Echo Replyメッセージを受信すると、ICMP Echo メッセージのソースアドレスにおける接続性が確認された旨をソースアドレス選択部15に通知する。一方、ICMP Echo Replyメッセージの受信に失敗した場合は、ICMP Echo メッセージのソースアドレスでは接続性が確認されなかったことをソースアドレス選択部15に通知する。
【0054】
なお、同一のICMP Echoメッセージを複数送信して、接続性を確認することもできる。この場合、例えば、ICMP Echo メッセージを5メッセージずつ送信したとすると、あるソースアドレスに対するICMP Echo Replyメッセージは5メッセージ受信できたのに対して、別のソースアドレスに対するICMP Echo Replyメッセージは3メッセージしか受信できなかった場合、ソースアドレス選択部15は前者のソースアドレスを使用することを選択することができる。後者のソースアドレスを使った場合、ネットワークの輻輳のため、5メッセージのうち2メッセージが往復の経路上のどこかで廃棄されたものと推測されるからである。
【0055】
SIPメッセージを利用する場合、接続性確認パケット生成部171は、SIP Inviteメッセージを生成し、宛先通信装置あるいは仲介するSIPプロキシサーバに転送する。直接あるいはSIPプロキシサーバを介して、SIP Inviteメッセージを受信した宛先通信装置は、通信の開始に問題がなければ、SIP 200 OKメッセージを返信する。接続性確認パケット受信部172は、ICMP Echo Replyと同様に、SIP 200 OKメッセージの受信結果をソースアドレス選択部15に通知して、ソースアドレス選択部15は、受信結果に基づいて、利用するソースアドレスを選択する。
【0056】
また、ICMP EchoやSIPメッセージなどのように、宛先通信装置からの応答を受けるのではなく、ネットワーク管理サーバ(例えば、名前解決メッセージを利用する場合の名前解決サーバ)に正常性を確認することもある。
【0057】
図11は、ネットワークの遅延に関する特性情報を取得する通信経路特性情報取得部17のブロック構成例を示す図である。通信経路特性情報取得部17は、遅延測定パケット生成部173と遅延測定応答パケット受信部174と遅延計測部175とを備える。遅延測定には、名前解決メッセージ、ICMP Echoメッセージ、SIPメッセージ、TCPのセッション確立メッセージなどが利用される。
【0058】
図12は、ICMP Echoメッセージを利用した遅延測定のための通信経路特性情報取得部17の処理例を説明する図である。通信装置Xの通信経路特性情報取得部17(遅延測定パケット生成部173)は、遅延測定パケットとして、ソースアドレス毎にICMP Echoメッセージを利用した遅延測定パケットを生成し、送信するとともに、遅延計測部175に対して、タイマーのセットを行う。そして、遅延測定応答パケット受信部174が遅延測定パケットに対応する応答パケット(ICMP Echo Replyメッセージ)を受信すると、遅延計測部175のタイマー値を、ソースアドレスとともに、ソースアドレス選択部15に通知する。所定時間応答がない場合は、ソースアドレスとともに、その旨通知する。ソースアドレス選択部15は、最短の遅延を実現するソースアドレスを選択する。なお、遅延測定は、一回だけでなく、複数回行い、その平均値をソースアドレス選択部15に通知することが好ましい。
【0059】
図13は、通信経路の帯域に関する特性情報を取得する通信経路特性情報取得部17のブロック構成例を示す図である。通信経路特性情報取得部17は、帯域予約パケット生成部176と帯域予約応答パケット受信部177とを備える。帯域に関しては、帯域予約のためのリソース予約プロトコル(RSVP)やSIPメッセージなどのメッセージが利用される。ネットワーク管理サーバに対するメッセージが利用されてもよい。
【0060】
帯域予約パケット生成部176は、所定のメッセージを利用して、利用を希望する帯域を記載した帯域予約要求パケットをソースアドレス毎に生成して送信する。帯域予約応答パケット受信部177は、帯域予約応答パケットを受信し、応答パケット内に含まれる予約可能な帯域情報を、ソースアドレスとともにソースアドレス選択部15に通知する。そして、ソースアドレス選択部15は、最も帯域の太い経路を実現するソースアドレスを選択する。
【0061】
図14は、通信経路のポリシーに関する特性情報を取得する通信経路特性情報取得部17のブロック構成例を示す図である。通信経路特性情報取得部17は、ポリシー検索部178とポリシー格納部179とを備える。ポリシーは、宛先アドレスと接続するために利用するネットワークの優先度である。ポリシー格納部179の登録内容は、ネットワーク管理者による設定や管理サーバからのダウンロードにより構築することができる。また、ポリシー格納部で優先度を解決できない場合、ポリシー検索部179は、ネットワーク管理サーバなどに問い合わせることもできる。設定する優先度については、ネットワーク管理者の裁量によるものであり、本発明では特に規定しないが、通信コストなどを基準に優先度を決めることもできる。
【0062】
ポリシー検索部178は、宛先情報を受信すると、宛先情報をキーとしてポリシー格納部179を検索し、接続するネットワークの優先度を取得する。そして、優先度の情報をソースアドレス選択部15に通知する。ソースアドレス選択部15では、取得された優先度のうち、最高優先度を有するネットワークより割り当てられたアドレスをソースアドレスとして選択する。好ましくは、上述の接続性確認をあわせて行い、接続性が確認されたネットワークの中から最高優先度のネットワークを選択してもよい。
【0063】
図15に、ポリシー格納部179の構成例を示す図である。検索キーとしての宛先情報は、例えば、ホスト名(いわゆるFQDN: Fully Qualified Domain Name)あるいは、アドレス(プレフィックス)である。そして、各優先度におけるネットワーク識別子あるいはネットワークから割り当てられたプレフィックスを記憶する。
【0064】
図16は、図7の構成(第二の実施の形態例)における名前解決メッセージを利用した接続性確認の処理例を説明する図である。図16において、まず、端末1A側(例えば、送信パケット生成部12)が名前解決要求をゲイトウェイ1Bに送ると、ゲイトウェイ1B(通信装置)の通信経路特性情報取得部17は、その名前解決要求を各ネットワークの名前解決サーバに送り、名前解決応答を受信する。そして、ソースアドレス選択部15により選択されたソースアドレスを、受信した名前解決応答を利用して選択されたソースアドレスを端末1Aに通知する。図7の構成例においても、接続性の確認は、名前解決メッセージに限らず、ICMP Echoメッセージなどの他のメッセージを利用してもよい。
【0065】
図17は、名前解決メッセージのフォーマット例を示す図である。名前解決要求メッセージでは、図のQuestionにホスト名が含まれる。一方、名前解決応答メッセージでは、Answerにホストのアドレス情報、Authorityに名前解決サーバ名、Additionalに、名前解決サーバ名のアドレスがそれぞれ含まれる。ゲイトウェイ1Bが利用するソースアドレスを選択した後、端末1Aに名前解決応答メッセージを送信するときに、Authorityにはソースアドレスを割り当てたネットワークプロバイダの名前解決サーバ名、Additionalには、その名前解決サーバのアドレスを含める。名前解決応答メッセージを受信した端末1Aは、名前解決サーバのアドレスと最大プレフィックス一致するアドレスをソースアドレスとして利用するように判断する。
【0066】
なお、上述の例では、既存の名前解決メッセージのフィールドを用いて、利用するソースアドレスを選択するための情報(名前解決サーバのアドレス)を端末1Aに通知するが、独自のフィールドを定義して、ソースアドレス(プレフィックス)を通知することもできる。
【0067】
また、名前解決サーバのメッセージ内容ではなく、メッセージを転送するためのパケットヘッダに付与されるアドレスを用いて、端末1Aが利用するソースアドレスを通知することもできる。すなわち、ゲイトウェイ1Bから端末1Aに送信する名前解決メッセージのソースアドレスとして、選択されたソースアドレスと同じプレフィックスを有するゲイトウェイ1Bのアドレスを利用する。本メッセージを受信した端末1Aは、本メッセージのソースアドレスと最大プレフィックス一致するアドレスをソースアドレスとして利用するように判断する。
【0068】
図18は、図7の構成における名前解決メッセージを利用した接続性確認の別の処理例を説明する図である。図18では、ゲイトウェイ1B(通信装置)から端末1Aへのソースアドレスを、名前解決応答に含めて通知せず、名前解決応答とは異なるリダイレクト(Redirect)メッセージを利用して通知する。なお、図18では、リダイレクトメッセージの送信タイミングを名前解決応答メッセージ後としているが、端末1Aから宛先通信装置への通信パケットをゲイトウェイ1Bが受信した後にリダイレクトメッセージを送信するようにしてもよい。
【0069】
図19は、IPv6におけるリダイレクトメッセージのフォーマット例を示す図である。メッセージ中のTarget Addressには、選択したソースアドレスと同一のプレフィックスを使ったゲイトウェイ1Bのアドレス、Destination Addressには、宛先通信装置のアドレスが含められる。
【0070】
端末1Aは、リダイレクトメッセージに含まれるゲイトウェイ10Aのソースアドレスとプレフィックスが同じアドレスをソースアドレスとして、宛先アドレスとの対応関係を保存する。
【0071】
図20は、IPv4におけるリダイレクトメッセージのフォーマット例を示す図である。メッセージ中のGateway Internet Addressには、選択したソースアドレスと同一のプレフィックスを使ったゲイトウェイ1Bのアドレス、Internet Header + 65 bits of Original Data Datagramには、宛先通信装置のアドレスが含められる。
【0072】
図21は、図8の構成例において、ゲイトウェイ1Bが端末1Aから通信パケットを受信した場合の処理例を示す図である。具体的には、ゲイトウェイ1B(通信装置)が通信パケットの宛先アドレスとソースアドレスの対応関係のチェックし、ゲイトウェイ1Bで、通信パケットの宛先アドレスとソースアドレスの対応関係の正当性が確認できなかったため、ソースアドレスの選択を行い、適切なソースアドレスをリダイレクトメッセージにより、端末1Aに通知する例を示している。
【0073】
図8の構成では、端末1Aとゲイトウェイ1Bの両方が、それぞれ宛先・ソースアドレス対応表格納部14A、14Bを有しているが、両者の内容が一致しない場合があり得る。具体的には、宛先・ソースアドレス対応表の各宛先・ソースアドレスの対応関係は、ソースアドレス選択部15により選択されてから所定時間経過後消去される。ネットワークの特性(接続性、遅延性、帯域など)は、リアルタイムで変化しているため、一定時間経過後は、当該対応関係が最適でなくなってしまう可能性があるからである。消去された後に、再度、同じ宛先アドレスへの接続要求があった場合は、再度特性情報を取得し直して、最適なソースアドレスが選択され、その対応関係が宛先・ソースアドレス対応表格納部14に格納される。この際、宛先・ソースアドレスの対応関係を保持する時間に関し、ゲイトウェイ1Bの方が端末1Aより短く設定される場合がある。ゲイトウェイ1Bが、最終的なソースアドレスを選択するため、できるだけ最新の特性情報に基づいた対応関係を設定する必要があるからである。
【0074】
図22は、ゲイトウェイ1Bが通信パケットの宛先アドレスとソースアドレスの対応関係のチェックする処理例のフローチャートである。端末1Aは、自己の宛先・ソースアドレス対応表格納部14Aに基づいて、宛先アドレスとソースアドレスを付した通信パケットをゲイトウェイ1Bに送信する。ゲイトウェイ1Bは、その通信パケットを受信すると(S31)、受信した通信パケットの宛先アドレスとソースアドレスの対応関係を、自己の宛先・ソースアドレス対応表格納部14Bに基づいてチェックする(S32)。ステップS33において、対応関係が一致していれば、通信パケットをネットワークに送信する(S34)。対応関係が一致せず、さらに、ステップS35において、ゲイトウェイ1Bの宛先・ソースアドレス対応表格納部14Bに別の対応関係が登録されている場合は、その別の対応関係におけるソースアドレスをリダイレクトメッセージで端末1Aに通知する。端末1Aは、そのソースアドレスに基づいて、自己の宛先・ソースアドレス対応表格納部14Aを更新する。
【0075】
ステップS35において、ゲイトウェイ1Bの宛先・ソースアドレス対応表格納部14Bに対応関係が登録されていない場合は、図21に示すように、例えば、ICMP Echo メッセージを用いて、ソースアドレス選択処理を行い(S37)、選択したソースアドレスに基づいて、自己の宛先・ソースアドレス対応表格納部14Bを更新するとともに(S38)、その選択されたソースアドレスをリダイレクトメッセージで端末1Aに通知する(S36)。端末1Aは、同様に、そのソースアドレスに基づいて、自己の宛先・ソースアドレス対応表格納部14Aを更新する。
【0076】
図23は、図7の構成における名前解決メッセージを利用した接続性確認のさらなる別の処理例を説明する図である。図18では、ゲイトウェイ1Bから端末1Aへのソースアドレスを、リダイレクト(Redirect)メッセージを利用して通知したが、本処理例では、DHCP static routeメッセージを利用して通知する。
【0077】
図24は、DHCP Static Routeメッセージのフォーマット例を示す図である。ゲイトウェイ1Bは、DHCP Static RouteメッセージのDestination Descriptorに宛先通信装置のアドレス、Router Addressに選択したソースアドレスと同一のプレフィックスを使ったゲイトウェイ1Bのアドレスをそれぞれ格納して、端末1Aに当該メッセージを送信する。端末1Aは、DHCP Static Routeメッセージに含まれるゲイトウェイのソースアドレスとプレフィックスが同じアドレスをソースアドレスとして、宛先アドレスとの対応関係を保存する。
【0078】
図25は、本発明の第一の実施の形態例における通信装置(端末)の別のブロック構成例を示す図である。図25の構成例では、図2の構成に加えて、通信断検出部10が設けられる。通信断検出部10は、一定時間、宛先通信端末からの通信パケットを受信しない場合、あるいは、ICMP Destination Unreachableメッセージなどのエラーメッセージを受信した場合に、宛先端末との接続性が断絶したと判断し、別のソースアドレスを選択するようにソースアドレス選択部15に要求する。通信経路特性情報取得部17は、特性情報を取得し直し、ソースアドレス選択部15は、その特性情報に基づいて、別のソースアドレスに変更する。IPv4のICMPメッセージはRFC792に、IPv6のICMPv6メッセージはRFC2463に、それぞれ規定されている。
【0079】
上述した実施の形態例において、好ましくは、ソースアドレス選択部15は、宛先・ソースアドレス対応表格納部14にソースアドレスとの対応関係のある宛先アドレスについて、各ネットワークプロバイダを経由した通信経路の特性情報を定期的に取得して、特性が最適となるソースアドレスを更新し、そのソースアドレスと宛先アドレスとの対応関係を宛先・ソースアドレス対応表格納部14に登録するようにしてもよい。
【0080】
上述の実施の形態例では、ソースアドレスを選択するための複数の方法を示した。しかし、これはそれぞれが単独で利用されることに限定されるわけではなく、それぞれを組み合わせて、ソースアドレスを選択することもできる。
【0081】
また、本発明の実施の形態例では、異なる物理伝送メディアを有する通信装置が、それぞれの伝送メディアが接続するネットワークを使い分けるときにも適用することができる。たとえば、無線LANインターフェースを有するパケット通信対応携帯電話は、無線LAN或いは携帯電話網を経由して、インターネット等に接続することができる。このとき、無線LANインターフェースと携帯電話のパケット通信機能のどちらを使って、インターネット等に接続するかを判断するときに、本発明を利用することができる。
【0082】
(付記1)
複数のネットワークと接続可能であり、各ネットワークとそれぞれ接続するためのソースアドレスが割り当てられた通信装置において、
送信データの宛先に関する情報を受信すると、各ネットワークを介した前記宛先までのそれぞれの通信経路の特性情報を取得する通信経路特性情報取得部と、
前記特性情報に基づいて、複数のソースアドレスの中から一つのソースアドレスを選択するソースアドレス選択部と、
前記選択されたソースアドレスに対応するネットワークに対して前記送信データを送信する送信部とを備えることを特徴とする通信装置。
【0083】
(付記2)
付記1において、
前記特性情報は、前記宛先までのそれぞれの通信経路の接続性に関する情報であり、
前記通信経路特性情報取得部は、各ネットワークの通信経路が前記宛先まで接続しているかどうかを確認し、
前記ソースアドレス選択部は、前記宛先と接続しているネットワークに対応するソースアドレスを選択することを特徴とする通信装置。
【0084】
(付記3)
付記1において、
前記特性情報は、前記宛先までのそれぞれの通信経路の遅延性に関する情報であり、
前記通信経路特性情報取得部は、各ネットワークの通信経路の遅延を測定し、
前記ソースアドレス選択部は、通信経路の遅延が最小となるネットワークに対応するソースアドレスを選択することを特徴とする通信装置。
【0085】
(付記4)
付記1において、
前記特性情報は、前記宛先までのそれぞれの通信経路の帯域に関する情報であり、
前記通信経路特性情報取得部は、各ネットワークの通信経路の利用可能帯域を確認し、
前記ソースアドレス選択部は、利用可能帯域が最大となるネットワークに対応するソースアドレスを選択することを特徴とする通信装置。
【0086】
(付記5)
付記1において、
前記特性情報は、前記宛先までのそれぞれの通信経路の優先度に関する情報であり、
前記通信経路特性情報取得部は、宛先別に選択すべきソースアドレスの優先度を記憶し、
前記ソースアドレス選択部は、前記宛先に対する最上位優先度のソースアドレスを選択することを特徴とする通信装置。
【0087】
(付記6)
付記1において、さらに、
前記選択されたソースアドレスと前記宛先との対応関係を格納する格納部を備え、
前記通信経路特性情報取得部は、前記格納部に、前記宛先に対応するソースアドレスが格納されていない場合に、前記特性情報を取得し、
前記ソースアドレス選択部は、前記特性情報に基づいて選択したソースアドレスを、前記宛先に対応づけて前記格納部に登録することを特徴とする通信装置。
【0088】
(付記7)
請求項6において、
前記格納部に格納された前記対応関係は、所定時間経過後消去されることを特徴とする通信装置。
【0089】
(付記8)
付記1において、
端末と接続し、前記端末からの送信データをネットワークに送信する通信装置であって、
前記通信経路特性情報取得部は、前記端末からの要求に応じて、前記特性情報を取得し、
前記ソースアドレス選択部は、前記特性情報に基づいて選択したソースアドレスを前記端末に通知することを特徴とする通信装置。
【0090】
(付記9)
付記1において、さらに、
前記選択されたソースアドレスに基づく前記宛先までの通信経路の通信断を検出する検出部を備え、
前記検出部が前記通信断を検出すると、前記通信経路特性情報取得部は、再度、前記特性情報を取得し、
前記ソースアドレス選択部は、前記特性情報に基づいて、選択すべきソースアドレスを変更することを特徴とする通信装置。
【0091】
(付記10)
付記1において、
前記通信経路特性情報取得部は、定期的に前記特性情報を取得し、
前記ソースアドレス選択部は、前記特性情報に基づいて、選択すべきソースアドレスを定期的に更新することを特徴とする通信装置。
【図面の簡単な説明】
【0092】
【図1】従来のソースアドレス選択方法を説明する図である。
【図2】本発明の第一の実施の形態例における通信装置の構成例を示す図である。
【図3】送信パケット生成部12の処理例を示すフローチャートである。
【図4】ソースアドレス選択部15の処理例のフローチャートである。
【図5】通信経路特性情報取得部17の処理例を説明する図である。
【図6】本発明の実施の第二の形態例における通信装置を説明する図である。
【図7】本実施の第二の実施の形態例における端末1Aとゲイトウェイ1Bのブロック構成を示す図である。
【図8】本発明の第二の実施の形態例における端末1Aとゲイトウェイ1Bの別のブロック構成例を示す図である。
【図9】ネットワークの接続性に関する特性情報を取得する通信経路特性情報取得部17のブロック構成例を示す図である。
【図10】ICMP Echo メッセージを利用した接続性確認のための通信経路特性情報取得部17の処理例を説明する図である。
【図11】ネットワークの遅延に関する特性情報を取得する通信経路特性情報取得部17のブロック構成例を示す図である。
【図12】ICMP Echoメッセージを利用した遅延測定のための通信経路特性情報取得部17の処理例を説明する図である。
【図13】通信経路の帯域に関する特性情報を取得する通信経路特性情報取得部17のブロック構成例を示す図である。
【図14】通信経路のポリシーに関する特性情報を取得する通信経路特性情報取得部17のブロック構成例を示す図である。
【図15】ポリシー格納部179の構成例を示す図である。
【図16】図7の構成における名前解決メッセージを利用した接続性確認の処理例を説明する図である。
【図17】名前解決メッセージのフォーマット例を示す図である。
【図18】図7の構成における名前解決メッセージを利用した接続性確認の別の処理例を説明する図である。
【図19】IPv6におけるリダイレクトメッセージのフォーマット例を示す図である。
【図20】IPv4におけるリダイレクトメッセージのフォーマット例を示す図である。
【図21】図8の構成において、ゲイトウェイ1Bが端末1Aから通信パケットを受信した場合の処理例を示す図である。
【図22】ゲイトウェイ1Bが通信パケットの宛先アドレスとソースアドレスの対応関係のチェックする処理例のフローチャートである。
【図23】図7の構成における名前解決メッセージを利用した接続性確認のさらなる別の処理例を説明する図である。
【図24】DHCP Static Routeメッセージのフォーマット例を示す図である。
【図25】本発明の実施の第一の実施の形態例における通信装置の別のブロック構成例を示す図である。
【符号の説明】
【0093】
1A:端末(通信装置)、1B:ゲイトウェイ(通信装置)、10:通信断検出部、11:送信データ受付部、12:送信パケット生成部、13:パケット送信部、14:宛先・ソースアドレス対応表格納部、15:ソースアドレス選択部、16:ソースアドレスリスト格納部、17:通信経路特性情報取得部、18:パケット受信部、19:アドレス情報要求部、20:アドレス情報応答部
【技術分野】
【0001】
本発明は、パケット通信を行う通信装置が複数のネットワークに接続しており、また、それぞれのネットワークからアドレスを割り当てられている場合において、通信装置が他の通信装置と適切な通信経路で通信することを可能とするためのソースアドレスを選択する通信装置に関する。
【背景技術】
【0002】
近年、IP(Internet Protocol)技術に基づいたインターネットが全世界で急速に普及してきている。インターネットでは、ネットワークプロバイダあるいはインターネットサービスプロバイダ(ISP)と呼ばれる事業者が、IPアドレスあるいは、IPアドレスの上位ビット部のプレフィックスをユーザに割り当て、ユーザの通信装置(例えば、パーソナルコンピュータ)は、そのIPアドレスあるいはプレフィックスを含むIPアドレスを通信装置のソースアドレスとしてインターネットにアクセスする。
【0003】
各事業者がそれぞれ独自のサービスを提供していたり、企業内ネットワークにアクセスしたりするために、ユーザは複数のネットワークからIPアドレス(プレフィックス)を割り当てられることが多くなってきている。
【0004】
このように、複数のIPアドレスが割り当てられている場合は、このうちの一つのIPアドレスをソースアドレスと選択し、そのIPアドレスを用いてネットワークにアクセスする必要がある。ソースアドレス選択方法として、インターネットの仕様などの標準化活動を行っている組織IETF(The Internet Engineering Task Force)では、次の方法を標準化している。すなわち、従来のソースアドレス選択方法は、宛先アドレスとの最大プレフィックス一致に基づいて、ソースアドレスを選択する方法である。
【0005】
図1は、従来のソースアドレス選択方法を説明する図である。図1において、複数のIPアドレスを有する通信装置Xが、宛先通信装置Yと通信するとき、通信装置Xは、最大プレフィクス長一致に基づいて、IPアドレスを選択する。具体的には、通信装置Xが、二つのIPアドレス、2001:0:10::1と2001:100:10::1を有し、宛先通信装置YのIPアドレスが、2001:100:20::1である場合、通信装置Xは、宛先通信装置YのIPアドレスとのプレフィクスの一致度がより高いIPアドレス2001:100:10::1(ネットワークプロバイダBから割り当てられたIPアドレス)を選択する。
【0006】
しかしながら、プレフィックス長の一致が長いほど、ネットワーク的に近いとは限らない。例えば、宛先通信装置Yへの往路パスに障害があった場合は通信不能となる。障害がなく、正常に宛先通信装置Yと通信できたとしても、遅延などの性能は、ネットワークプロバイダAを経由した方が良い場合も考えられる。また、宛先通信装置Yからのリターンパスに障害があった場合も通信不能となる。また、ネットワークプロバイダ事業者が独自のサービスを提供するための閉域網のアドレスをソースアドレスとしてインターネットにアクセスした場合、インターネットと接続関係の無い閉域網のためリターンパスが存在しないという致命的な問題が生じる。
【0007】
また、"Site Exit Issue"の問題も存在することが指摘されている。"Site Exit Issue"は、"address spoofing"を防止するために、プロバイダが割り当てたアドレス/プレフィックス以外のソースアドレスを有するパケットを廃棄する機能であるIngress Filteringにより、引き起こされる。すなわち、Hostが選択したソースアドレスを割り当てたプロバイダ以外のプロバイダにルーティングされると、Ingress Filteringにより廃棄され、全く通信できなくなってしまう。IETFでは、この"Site Exit Issue"の問題を解決するために、以下の4つの方法を提案しているが、それぞれに課題が存在する。
【0008】
(1) Ingress Filteringのルール緩和
【0009】
Ingress Filteringによるaddress spoofingに対する効果が減少し、セキュリテの脆弱性を増す。
【0010】
(2) ソースアドレスルーティング
【0011】
通信装置がある程度経路を制御できる点に利点があるが、その経路が最適か接続性は 確保されているかなどの保証がない。
【0012】
(3) 端末によるソースアドレス選択(Source Address Discovery、 Exit Router Discovery)
・SAD: Path MTU-Discoveryのように、ソースアドレスを通信可能になるまでの順 次変えていくため、遅延が大きく、また、経路が最適とは限らない。
【0013】
・ERD: Exit Routerまでのトンネル設定が必要であり、通信装置の負荷が増大する。
【0014】
(4) NAT
【0015】
End-to-Endで直接通信可能なIPv6の場合、その利点を打ち消してしまう。
【0016】
このように、標準化技術では、経路の最適化(例:RTTが最小)とSite Exit Issueを共に解決することができなかった。
【0017】
一方、上述したような標準化技術の課題に対処するために、下記特許文献1では、複数のISPと接続したマルチホーム環境で、接続性が確認されたISPにより割り当てられたアドレスプレフィックスをソースアドレスとして、ルータでソースアドレスルーティングすることで、通信できるようにすることが提案されている。特許文献1では、IPv6のND(Neighbor Discovery)メッセージ等により、それぞれのISPとの接続性確認をすると共に、ソースアドレスルーティングを行うことが記述されている。
【0018】
しかし、特許文献1の発明によれば、ISPとの接続性しか確認していないため、宛先ドメイン/ホストの接続性を保証できない。また、複数のISPとの接続性が確認されているときに、どのISPのプレフィックスを利用すべきか具体化されていない。
【0019】
一方、特許文献2では、複数のルータからアドレスプレフィックスを割り当てられる環境で、割り当てられたアドレスプレフィックス毎に仮想インターフェースを生成し、アドレスプレフィックスを利用して生成したアドレスを付与する。そして、ソースアドレス選択は、宛先アドレスとの最長プレフィックス一致に基づいて行う。さらに、アドレスプレフィックスの配布時に、プレフィックスと対応付けたラベルを配布することでパケット処理効率を上げることが記述されている。
【0020】
しかし、ソースアドレス選択方法自体は、上述の標準化技術の範囲内であって、最適な経路による通信、Site Exit Issueの解決に課題が残る。
【特許文献1】特開2003-298635号
【特許文献2】特開2003-324461号
【発明の開示】
【発明が解決しようとする課題】
【0021】
このように、End-to-Endの接続性が保証され、かつ、性能が最適となる通信路を経由するようなソースアドレス選択方法を提供することが望まれている。
【0022】
従って、本発明の目的は、複数のネットワークプロバイダにより割り当てられたアドレスから一のアドレスを選択し、それをソースアドレスとして通信する通信装置において、宛先通信装置との双方向の接続性が確認され、かつ、より性能の良い通信経路を経由するためのソースアドレスを選択する通信装置を提供することにある。
【課題を解決するための手段】
【0023】
上記目的を達成するための本発明の通信装置の構成は、複数のネットワークと接続可能であり、各ネットワークとそれぞれ接続するためのソースアドレスが割り当てられた通信装置において、送信データの宛先に関する情報を受信すると、各ネットワークを介した前記宛先までのそれぞれの通信経路の特性情報を取得する通信経路特性情報取得部と、
前記特性情報に基づいて、複数のソースアドレスの中から一つのソースアドレスを選択するソースアドレス選択部と、前記選択されたソースアドレスに対応するネットワークに対して前記送信データを送信する送信部とを備えることを特徴とする。
【0024】
例えば、前記特性情報は、前記宛先までのそれぞれの通信経路の接続性に関する情報であり、この場合、前記通信経路特性情報取得部は、各ネットワークの通信経路が前記宛先まで接続しているかどうかを確認し、前記ソースアドレス選択部は、前記宛先と接続しているネットワークに対応するソースアドレスを選択する。
【0025】
また、例えば、前記特性情報は、前記宛先までのそれぞれの通信経路の遅延性に関する情報であり、この場合、前記通信経路特性情報取得部は、各ネットワークの通信経路の遅延を測定し、前記ソースアドレス選択部は、通信経路の遅延が最小となるネットワークに対応するソースアドレスを選択する。
【0026】
また、本発明の通信装置は、さらに、前記選択されたソースアドレスと前記宛先との対応関係を格納する格納部を備えていてもよく、この場合、前記通信経路特性情報取得部は、前記格納部に、前記宛先に対応するソースアドレスが格納されていない場合に、前記特性情報を取得し、前記ソースアドレス選択部は、前記特性情報に基づいて選択したソースアドレスを、前記宛先に対応づけて前記格納部に登録する。そして、好ましくは、前記格納部に格納された前記対応関係は、所定時間経過後消去される。
【発明の効果】
【0027】
本発明の通信装置によれば、複数のソースアドレスが割り当てられた通信装置において、複数のネットワークのうち最適な通信経路を有するネットワークに対応するソースアドレスを選択して、通信を行うことができる。
【発明を実施するための最良の形態】
【0028】
以下、図面を参照して本発明の実施の形態について説明する。しかしながら、かかる実施の形態例が、本発明の技術的範囲を限定するものではない。
【0029】
図2は、本発明の第一の実施の形態例における通信装置を説明する図であって、第一の実施の形態例におけるブロック構成例を示す図である。第一の構成例の通信装置は、例えばパーソナルコンピュータのような端末1Aである。端末1A(通信装置)は、各ネットワークプロバイダからの割り当てられたIPアドレス(以下、単にアドレスと称す)をソースアドレスリスト格納部16に記憶する。ネットワークプロバイダからのアドレス割り当て方法は、主に次の3つが考えられる。(本発明では下記の3方法に限定するものではない)
IPCP (Internet Protocol Control Protocol)
DHCP (Dynamic Host Configuration Protocol)
RA (Router Advertisement)
一般に、アドレスはネットワークアドレス部(プレフィックスという)とホストアドレス部から構成される。ネットワークプロバイダは、プレフィックスとホストアドレス部を含むアドレスを割り当てることもあるし、プレフィックスのみを割り当て、ホストアドレス部はプレフィックスを割り当てられた通信装置がMACアドレスなどから自動的に生成し、アドレスを合成することもある。ソースアドレスリスト格納部16はこうして得られたアドレスを記憶する。複数のネットワークプロバイダそれぞれからアドレスを割り当てられた場合は、ソースアドレス格納部16は、複数のアドレスを記憶する。
【0030】
送信データ受付部11は、アプリケーションから送信すべきデータを受信すると、そのデータと宛先情報を送信パケット生成部12に送る。ここで、宛先情報としては、宛先通信装置のアドレスであったり、ホスト名であったりする。
【0031】
送信パケット生成部12は、送信データをパケット化し、送信データにソースアドレス及び宛先アドレスを付した送信パケットを生成する。
【0032】
図3は、送信パケット生成部12の処理例を示すフローチャートである。送信パケット生成部12は、送信データ受付部11より送信データ、宛先情報を受信すると(S11)、宛先情報がアドレスであるかどうか判定する(S12)。宛先情報がアドレスであれば、宛先・ソースアドレス対応表格納部14を検索し、宛先アドレスに対応するソースアドレスが登録されているか問い合わせ(S13)、ソースアドレスが登録されていれば(S14)、そのアドレスを利用して送信パケットを生成し、パケット送信部13に送る(S19)。ソースアドレスが得られなかった場合(S14)や宛先情報がホスト名だった場合(この場合、ソースアドレスも得られていない)(S12)、宛先情報をソースアドレス選択部15に送る(S15、S17)。そして、後述するソースアドレス選択部15の処理により、ソースアドレス(S16)又はソースアドレスと宛先アドレス(S18)の応答を受信すると、そのアドレスを利用して送信パケットを生成し、パケット送信部13に送る。
【0033】
図2に戻って、宛先・ソースアドレス対応表格納部14は、宛先アドレスとソースアドレスの対応関係を記憶すると共に、一定時間、対応関係の問い合わせがない場合は、その登録の削除を行う。
【0034】
ソースアドレス選択部15は、本発明に特徴的な要素であってソースアドレス格納部16に格納されている複数のソースアドレスの中から、宛先通信装置との通信に最適なソースアドレスを選択する。
【0035】
図4は、ソースアドレス選択部15の処理例のフローチャートである。ソースアドレス選択部15は、送信パケット生成部12から、宛先情報を受けると(S21)、ソースアドレスリスト格納部16に格納されている複数のソースアドレスを取得し(S22)、宛先情報とソースアドレスを通信経路特性情報取得部17に送り(S23)、通信経路特性情報取得部17から情報を待つ。そして、通信経路特性情報取得部17より、各ソースアドレスを利用した場合の特性情報をそれぞれ受信して(S24)、その性能情報に基づいて、最良の性能を得られるソースアドレスを選択し、それを送信パケット生成部12に応答するとともに、宛先・ソースアドレス対応表格納部14に登録する(S25)。
【0036】
なお、送信パケット生成部12から受信した宛先情報が宛先アドレスではなく、宛先ホスト名の場合は、通信経路特性情報取得部17は、特性情報と一緒に宛先アドレスをソースアドレス選択部15に応答し、ソースアドレス選択部15は、ソースアドレスと共に宛先アドレスを送信パケット生成部12に応答する。また、ソースアドレス選択部15は、定期的に性能情報の更新を通信経路特性情報取得部17に要求し、その結果を宛先・ソースアドレス対応表格納部14に反映させてもよい。
【0037】
通信経路特性情報取得部17は、通信装置と相手先通信装置との間の通信経路の特性情報を取得する。特性情報は、通信経路の接続性(通信障害、通信不能状態にないかどうか)や、接続可能状態における遅延性(通信速度)などの情報である。
【0038】
図5は、第一の実施の形態例における通信経路特性情報取得部17の処理例を説明する図である。図5の処理例は、通信装置X(端末1A)と宛先通信装置Yとの間の接続性を確認するための処理であって、宛先情報がホスト名である場合に、宛先アドレスを取得する処理を利用して、接続性に関する特性情報を取得する。通信経路特性情報取得部17(通信装置X)は、複数のソースアドレスをソースアドレス格納部16より取得している。宛先情報がホスト名の場合、通信経路特性情報取得部17は、宛先アドレスを取得するために、各ネットワークプロバイダの名前解決サーバA、Bのアドレスを宛先アドレスとし、ソースアドレスは各ネットワークプロバイダから割り当てられたアドレスを使用した名前解決要求メッセージを生成し、パケット送信部13に送る。パケット送信部13は、各名前解決サーバA、Bに名前解決要求メッセージを送信する。図5の場合、名前解決サーバAは、宛先通信装置Yが属する名前解決サーバCから宛先アドレスを含む名前解決応答を受信し、通信装置Xのパケット受信部18は、それを受信する。一方、名前解決サーバBは、名前解決サーバCとの通信経路に障害があるため、名前解決応答を受信しない。この場合、名前解決サーバBは、名前解決エラーメッセージを、通信装置Xに送信する。
【0039】
通信経路特性情報取得部17は、パケット受信部18より名前解決サーバAからの名前解決応答を受信して、宛先アドレスを取得する。そして、通信経路特性情報取得部17は、宛先アドレスを取得するとともに、各ネットワークの宛先通信装置との接続性に関する情報も取得することができる。すなわち、名前解決サーバAを経由する通信経路は、宛先通信装置のネットワークと接続しているが、名前解決サーバBを経由する通信経路は宛先通信装置のネットワークと接続していない。
【0040】
一般には、各ネットワークプロバイダ経由の名前解決応答で得られる宛先アドレスは同一であるが、サーバ負荷分散が施されている場合、異なるアドレスが得られることもある。この場合、それぞれの宛先アドレスにアクセスするときは、そのアドレスを取得したときに経由したネットワークプロバイダに割り当てられたアドレスをソースアドレスとして利用する。
【0041】
このように、通信経路特性情報取得部17は、名前解決のためのメッセージを宛先通信装置の属するネットワークとの接続性の確認に用いることができる。すなわち、名前解決応答が得られないネットワークプロバイダは宛先通信装置の属するネットワークとの接続性がないと判断でき、一方、名前解決応答が得られるネットワークプロバイダは接続性が存在すると判断することができる。通信経路特性情報取得部17は、この旨、ソースアドレス選択部15に通知する。特性情報の取得方法の具体例について、さらに後述する。
【0042】
こうして、パケット送信部13は、送信パケットのソースアドレスに基づき、そのソースアドレスを割り当てたネットワークプロバイダのネットワークに対してパケットを転送する。
【0043】
図6は、本発明の第二の実施の形態例における通信装置を説明する図である。第二の実施の形態例における通信装置は、端末1Aと接続するゲイトウェイ1Bである。ゲイトウェイ1Bには、複数の端末1Aが接続可能であって、複数の端末1Aが、ゲイトウェイ1Bを介して、ネットワークに接続することができる。
【0044】
図7は、本実施の第二の実施の形態例における端末1Aとゲイトウェイ(通信装置)1Bのブロック構成を示す図である。本第二の実施の形態例では、図2の端末1Aにおけるソースアドレス選択機能を、ゲイトウェイ1Bが実現する。
【0045】
ゲイトウェイ1Bは、各ネットワークプロバイダより、プレフィックスをそれぞれ割り当てられ、その情報をソースアドレスリスト格納部16Bに記憶するとともに、各ネットワークプロバイダから割り当てられたプレフィックスを用いたアドレスを端末1Aに割り当てる。端末1Aは、ゲイトウェイ1Bにより割り当てられたアドレスをソースアドレスリスト格納部16Aに記憶する。
【0046】
端末1Aは、送信データ受付部11、送信パケット生成部12、パケット送信部13A、宛先・ソースアドレス対応表格納部14、ソースアドレス格納部17A、パケット受信部18A、アドレス情報要求部19を備える。なお、パケット送信部13A及びパケット受信部18Aは、それぞれ、ゲイトウェイ1Bに対するパケットの送受信を行う。
【0047】
ゲイトウェイ1Bは、パケット送信手段13B、ソースアドレス選択部15、ソースアドレスリスト格納部16B、通信経路特性情報取得部17、パケット受信手段18B、アドレス情報応答手段20を備える。パケット送信手段13B及びパケット受信手段18Bは、ネットワークに対するパケットの送受信と、端末1Aに対するパケットの送受信を行う。
【0048】
また、図2の構成では、送信パケット生成部12がソースアドレス選択部15に対して直接宛先情報を送り、ソースアドレス選択部15からアドレスを直接取得するが、図7の構成では、端末1Aのアドレス情報要求部19とゲイトウェイ1Bのアドレス情報応答部20を介して、宛先情報及びアドレスの送受信が行われる。具体的には、端末1Aのアドレス情報要求部19が、ゲイトウェイ1Bのアドレス情報応答部20に対して宛先情報を含むアドレス要求を送り、アドレス情報応答部20は、そのアドレス要求をソースアドレス選択部15に転送する。そして、アドレス情報応答部20は、ソースアドレス選択部15により選択されたアドレスを、アドレス要求部19に通知する。
【0049】
図8は、本発明の第二の実施の形態例における端末1Aとゲイトウェイ1Bの別のブロック構成例を示す図である。図8では、端末1Aとゲイトウェイ1Bの両方が、それぞれ宛先・ソースアドレス対応表格納部14A、14Bを有している。ゲイトウェイ1Bに複数の端末1Aが接続している場合、宛先・ソースアドレス対応表格納部14Bをゲイトウェイ1Bに設けることで、複数の端末1Aそれぞれからのアドレス要求に対応することができる。
【0050】
以下、通信経路特性情報取得部17における特性情報の取得に関するさまざまな形態例について説明する。
【0051】
図9は、ネットワークの接続性に関する特性情報を取得する通信経路特性情報取得部17のブロック構成例を示す図である。通信経路特性情報取得部17は、接続性確認パケット生成部171と接続性確認パケット受信部172とを備える。接続性確認のために名前解決メッセージが利用される場合、接続性確認パケット生成部171は、ソースアドレス選択部15からの指示に従って、上述の名前解決要求(図5参照)を生成し、接続性確認パケット受信部172は、名前解決応答又は名前解決エラーメッセージを受信し、ソースアドレス選択部15に通知する。
【0052】
接続性確認は、名前解決メッセージ以外にも、例えば、ICMP Echo メッセージ、SIPメッセージ、TCPのセッション確立メッセージなどを利用してもよい。
【0053】
図10は、ICMP Echo メッセージを利用した接続性確認のための通信経路特性情報取得部17の処理例を説明する図である。ICMP Echo メッセージを利用する場合、通信装置X(端末1A又はゲイトウェイ1B)の通信経路特性情報取得部17(接続性確認パケット生成部171)は、宛先アドレスを宛先通信装置Yのアドレスとして、ソースアドレス毎にICMP Echo メッセージを生成し、ICMP Echo メッセージは、それぞれのネットワークを経由して宛先通信装置Yに転送される(名前解決メッセージを利用する場合は、名前解決要求は、宛先通信装置Yまでは転送されず、その手前の宛先通信装置Yの属するネットワークの名前解決サーバが応答処理を行う)。宛先通信装置Yは、正常に受信したICMP Echo メッセージに対応するICMP Echo Replyメッセージを返送する。通信装置Xの通信経路特性情報取得部17(接続性確認パケット受信部172)は、ICMP Echo Replyメッセージを受信すると、ICMP Echo メッセージのソースアドレスにおける接続性が確認された旨をソースアドレス選択部15に通知する。一方、ICMP Echo Replyメッセージの受信に失敗した場合は、ICMP Echo メッセージのソースアドレスでは接続性が確認されなかったことをソースアドレス選択部15に通知する。
【0054】
なお、同一のICMP Echoメッセージを複数送信して、接続性を確認することもできる。この場合、例えば、ICMP Echo メッセージを5メッセージずつ送信したとすると、あるソースアドレスに対するICMP Echo Replyメッセージは5メッセージ受信できたのに対して、別のソースアドレスに対するICMP Echo Replyメッセージは3メッセージしか受信できなかった場合、ソースアドレス選択部15は前者のソースアドレスを使用することを選択することができる。後者のソースアドレスを使った場合、ネットワークの輻輳のため、5メッセージのうち2メッセージが往復の経路上のどこかで廃棄されたものと推測されるからである。
【0055】
SIPメッセージを利用する場合、接続性確認パケット生成部171は、SIP Inviteメッセージを生成し、宛先通信装置あるいは仲介するSIPプロキシサーバに転送する。直接あるいはSIPプロキシサーバを介して、SIP Inviteメッセージを受信した宛先通信装置は、通信の開始に問題がなければ、SIP 200 OKメッセージを返信する。接続性確認パケット受信部172は、ICMP Echo Replyと同様に、SIP 200 OKメッセージの受信結果をソースアドレス選択部15に通知して、ソースアドレス選択部15は、受信結果に基づいて、利用するソースアドレスを選択する。
【0056】
また、ICMP EchoやSIPメッセージなどのように、宛先通信装置からの応答を受けるのではなく、ネットワーク管理サーバ(例えば、名前解決メッセージを利用する場合の名前解決サーバ)に正常性を確認することもある。
【0057】
図11は、ネットワークの遅延に関する特性情報を取得する通信経路特性情報取得部17のブロック構成例を示す図である。通信経路特性情報取得部17は、遅延測定パケット生成部173と遅延測定応答パケット受信部174と遅延計測部175とを備える。遅延測定には、名前解決メッセージ、ICMP Echoメッセージ、SIPメッセージ、TCPのセッション確立メッセージなどが利用される。
【0058】
図12は、ICMP Echoメッセージを利用した遅延測定のための通信経路特性情報取得部17の処理例を説明する図である。通信装置Xの通信経路特性情報取得部17(遅延測定パケット生成部173)は、遅延測定パケットとして、ソースアドレス毎にICMP Echoメッセージを利用した遅延測定パケットを生成し、送信するとともに、遅延計測部175に対して、タイマーのセットを行う。そして、遅延測定応答パケット受信部174が遅延測定パケットに対応する応答パケット(ICMP Echo Replyメッセージ)を受信すると、遅延計測部175のタイマー値を、ソースアドレスとともに、ソースアドレス選択部15に通知する。所定時間応答がない場合は、ソースアドレスとともに、その旨通知する。ソースアドレス選択部15は、最短の遅延を実現するソースアドレスを選択する。なお、遅延測定は、一回だけでなく、複数回行い、その平均値をソースアドレス選択部15に通知することが好ましい。
【0059】
図13は、通信経路の帯域に関する特性情報を取得する通信経路特性情報取得部17のブロック構成例を示す図である。通信経路特性情報取得部17は、帯域予約パケット生成部176と帯域予約応答パケット受信部177とを備える。帯域に関しては、帯域予約のためのリソース予約プロトコル(RSVP)やSIPメッセージなどのメッセージが利用される。ネットワーク管理サーバに対するメッセージが利用されてもよい。
【0060】
帯域予約パケット生成部176は、所定のメッセージを利用して、利用を希望する帯域を記載した帯域予約要求パケットをソースアドレス毎に生成して送信する。帯域予約応答パケット受信部177は、帯域予約応答パケットを受信し、応答パケット内に含まれる予約可能な帯域情報を、ソースアドレスとともにソースアドレス選択部15に通知する。そして、ソースアドレス選択部15は、最も帯域の太い経路を実現するソースアドレスを選択する。
【0061】
図14は、通信経路のポリシーに関する特性情報を取得する通信経路特性情報取得部17のブロック構成例を示す図である。通信経路特性情報取得部17は、ポリシー検索部178とポリシー格納部179とを備える。ポリシーは、宛先アドレスと接続するために利用するネットワークの優先度である。ポリシー格納部179の登録内容は、ネットワーク管理者による設定や管理サーバからのダウンロードにより構築することができる。また、ポリシー格納部で優先度を解決できない場合、ポリシー検索部179は、ネットワーク管理サーバなどに問い合わせることもできる。設定する優先度については、ネットワーク管理者の裁量によるものであり、本発明では特に規定しないが、通信コストなどを基準に優先度を決めることもできる。
【0062】
ポリシー検索部178は、宛先情報を受信すると、宛先情報をキーとしてポリシー格納部179を検索し、接続するネットワークの優先度を取得する。そして、優先度の情報をソースアドレス選択部15に通知する。ソースアドレス選択部15では、取得された優先度のうち、最高優先度を有するネットワークより割り当てられたアドレスをソースアドレスとして選択する。好ましくは、上述の接続性確認をあわせて行い、接続性が確認されたネットワークの中から最高優先度のネットワークを選択してもよい。
【0063】
図15に、ポリシー格納部179の構成例を示す図である。検索キーとしての宛先情報は、例えば、ホスト名(いわゆるFQDN: Fully Qualified Domain Name)あるいは、アドレス(プレフィックス)である。そして、各優先度におけるネットワーク識別子あるいはネットワークから割り当てられたプレフィックスを記憶する。
【0064】
図16は、図7の構成(第二の実施の形態例)における名前解決メッセージを利用した接続性確認の処理例を説明する図である。図16において、まず、端末1A側(例えば、送信パケット生成部12)が名前解決要求をゲイトウェイ1Bに送ると、ゲイトウェイ1B(通信装置)の通信経路特性情報取得部17は、その名前解決要求を各ネットワークの名前解決サーバに送り、名前解決応答を受信する。そして、ソースアドレス選択部15により選択されたソースアドレスを、受信した名前解決応答を利用して選択されたソースアドレスを端末1Aに通知する。図7の構成例においても、接続性の確認は、名前解決メッセージに限らず、ICMP Echoメッセージなどの他のメッセージを利用してもよい。
【0065】
図17は、名前解決メッセージのフォーマット例を示す図である。名前解決要求メッセージでは、図のQuestionにホスト名が含まれる。一方、名前解決応答メッセージでは、Answerにホストのアドレス情報、Authorityに名前解決サーバ名、Additionalに、名前解決サーバ名のアドレスがそれぞれ含まれる。ゲイトウェイ1Bが利用するソースアドレスを選択した後、端末1Aに名前解決応答メッセージを送信するときに、Authorityにはソースアドレスを割り当てたネットワークプロバイダの名前解決サーバ名、Additionalには、その名前解決サーバのアドレスを含める。名前解決応答メッセージを受信した端末1Aは、名前解決サーバのアドレスと最大プレフィックス一致するアドレスをソースアドレスとして利用するように判断する。
【0066】
なお、上述の例では、既存の名前解決メッセージのフィールドを用いて、利用するソースアドレスを選択するための情報(名前解決サーバのアドレス)を端末1Aに通知するが、独自のフィールドを定義して、ソースアドレス(プレフィックス)を通知することもできる。
【0067】
また、名前解決サーバのメッセージ内容ではなく、メッセージを転送するためのパケットヘッダに付与されるアドレスを用いて、端末1Aが利用するソースアドレスを通知することもできる。すなわち、ゲイトウェイ1Bから端末1Aに送信する名前解決メッセージのソースアドレスとして、選択されたソースアドレスと同じプレフィックスを有するゲイトウェイ1Bのアドレスを利用する。本メッセージを受信した端末1Aは、本メッセージのソースアドレスと最大プレフィックス一致するアドレスをソースアドレスとして利用するように判断する。
【0068】
図18は、図7の構成における名前解決メッセージを利用した接続性確認の別の処理例を説明する図である。図18では、ゲイトウェイ1B(通信装置)から端末1Aへのソースアドレスを、名前解決応答に含めて通知せず、名前解決応答とは異なるリダイレクト(Redirect)メッセージを利用して通知する。なお、図18では、リダイレクトメッセージの送信タイミングを名前解決応答メッセージ後としているが、端末1Aから宛先通信装置への通信パケットをゲイトウェイ1Bが受信した後にリダイレクトメッセージを送信するようにしてもよい。
【0069】
図19は、IPv6におけるリダイレクトメッセージのフォーマット例を示す図である。メッセージ中のTarget Addressには、選択したソースアドレスと同一のプレフィックスを使ったゲイトウェイ1Bのアドレス、Destination Addressには、宛先通信装置のアドレスが含められる。
【0070】
端末1Aは、リダイレクトメッセージに含まれるゲイトウェイ10Aのソースアドレスとプレフィックスが同じアドレスをソースアドレスとして、宛先アドレスとの対応関係を保存する。
【0071】
図20は、IPv4におけるリダイレクトメッセージのフォーマット例を示す図である。メッセージ中のGateway Internet Addressには、選択したソースアドレスと同一のプレフィックスを使ったゲイトウェイ1Bのアドレス、Internet Header + 65 bits of Original Data Datagramには、宛先通信装置のアドレスが含められる。
【0072】
図21は、図8の構成例において、ゲイトウェイ1Bが端末1Aから通信パケットを受信した場合の処理例を示す図である。具体的には、ゲイトウェイ1B(通信装置)が通信パケットの宛先アドレスとソースアドレスの対応関係のチェックし、ゲイトウェイ1Bで、通信パケットの宛先アドレスとソースアドレスの対応関係の正当性が確認できなかったため、ソースアドレスの選択を行い、適切なソースアドレスをリダイレクトメッセージにより、端末1Aに通知する例を示している。
【0073】
図8の構成では、端末1Aとゲイトウェイ1Bの両方が、それぞれ宛先・ソースアドレス対応表格納部14A、14Bを有しているが、両者の内容が一致しない場合があり得る。具体的には、宛先・ソースアドレス対応表の各宛先・ソースアドレスの対応関係は、ソースアドレス選択部15により選択されてから所定時間経過後消去される。ネットワークの特性(接続性、遅延性、帯域など)は、リアルタイムで変化しているため、一定時間経過後は、当該対応関係が最適でなくなってしまう可能性があるからである。消去された後に、再度、同じ宛先アドレスへの接続要求があった場合は、再度特性情報を取得し直して、最適なソースアドレスが選択され、その対応関係が宛先・ソースアドレス対応表格納部14に格納される。この際、宛先・ソースアドレスの対応関係を保持する時間に関し、ゲイトウェイ1Bの方が端末1Aより短く設定される場合がある。ゲイトウェイ1Bが、最終的なソースアドレスを選択するため、できるだけ最新の特性情報に基づいた対応関係を設定する必要があるからである。
【0074】
図22は、ゲイトウェイ1Bが通信パケットの宛先アドレスとソースアドレスの対応関係のチェックする処理例のフローチャートである。端末1Aは、自己の宛先・ソースアドレス対応表格納部14Aに基づいて、宛先アドレスとソースアドレスを付した通信パケットをゲイトウェイ1Bに送信する。ゲイトウェイ1Bは、その通信パケットを受信すると(S31)、受信した通信パケットの宛先アドレスとソースアドレスの対応関係を、自己の宛先・ソースアドレス対応表格納部14Bに基づいてチェックする(S32)。ステップS33において、対応関係が一致していれば、通信パケットをネットワークに送信する(S34)。対応関係が一致せず、さらに、ステップS35において、ゲイトウェイ1Bの宛先・ソースアドレス対応表格納部14Bに別の対応関係が登録されている場合は、その別の対応関係におけるソースアドレスをリダイレクトメッセージで端末1Aに通知する。端末1Aは、そのソースアドレスに基づいて、自己の宛先・ソースアドレス対応表格納部14Aを更新する。
【0075】
ステップS35において、ゲイトウェイ1Bの宛先・ソースアドレス対応表格納部14Bに対応関係が登録されていない場合は、図21に示すように、例えば、ICMP Echo メッセージを用いて、ソースアドレス選択処理を行い(S37)、選択したソースアドレスに基づいて、自己の宛先・ソースアドレス対応表格納部14Bを更新するとともに(S38)、その選択されたソースアドレスをリダイレクトメッセージで端末1Aに通知する(S36)。端末1Aは、同様に、そのソースアドレスに基づいて、自己の宛先・ソースアドレス対応表格納部14Aを更新する。
【0076】
図23は、図7の構成における名前解決メッセージを利用した接続性確認のさらなる別の処理例を説明する図である。図18では、ゲイトウェイ1Bから端末1Aへのソースアドレスを、リダイレクト(Redirect)メッセージを利用して通知したが、本処理例では、DHCP static routeメッセージを利用して通知する。
【0077】
図24は、DHCP Static Routeメッセージのフォーマット例を示す図である。ゲイトウェイ1Bは、DHCP Static RouteメッセージのDestination Descriptorに宛先通信装置のアドレス、Router Addressに選択したソースアドレスと同一のプレフィックスを使ったゲイトウェイ1Bのアドレスをそれぞれ格納して、端末1Aに当該メッセージを送信する。端末1Aは、DHCP Static Routeメッセージに含まれるゲイトウェイのソースアドレスとプレフィックスが同じアドレスをソースアドレスとして、宛先アドレスとの対応関係を保存する。
【0078】
図25は、本発明の第一の実施の形態例における通信装置(端末)の別のブロック構成例を示す図である。図25の構成例では、図2の構成に加えて、通信断検出部10が設けられる。通信断検出部10は、一定時間、宛先通信端末からの通信パケットを受信しない場合、あるいは、ICMP Destination Unreachableメッセージなどのエラーメッセージを受信した場合に、宛先端末との接続性が断絶したと判断し、別のソースアドレスを選択するようにソースアドレス選択部15に要求する。通信経路特性情報取得部17は、特性情報を取得し直し、ソースアドレス選択部15は、その特性情報に基づいて、別のソースアドレスに変更する。IPv4のICMPメッセージはRFC792に、IPv6のICMPv6メッセージはRFC2463に、それぞれ規定されている。
【0079】
上述した実施の形態例において、好ましくは、ソースアドレス選択部15は、宛先・ソースアドレス対応表格納部14にソースアドレスとの対応関係のある宛先アドレスについて、各ネットワークプロバイダを経由した通信経路の特性情報を定期的に取得して、特性が最適となるソースアドレスを更新し、そのソースアドレスと宛先アドレスとの対応関係を宛先・ソースアドレス対応表格納部14に登録するようにしてもよい。
【0080】
上述の実施の形態例では、ソースアドレスを選択するための複数の方法を示した。しかし、これはそれぞれが単独で利用されることに限定されるわけではなく、それぞれを組み合わせて、ソースアドレスを選択することもできる。
【0081】
また、本発明の実施の形態例では、異なる物理伝送メディアを有する通信装置が、それぞれの伝送メディアが接続するネットワークを使い分けるときにも適用することができる。たとえば、無線LANインターフェースを有するパケット通信対応携帯電話は、無線LAN或いは携帯電話網を経由して、インターネット等に接続することができる。このとき、無線LANインターフェースと携帯電話のパケット通信機能のどちらを使って、インターネット等に接続するかを判断するときに、本発明を利用することができる。
【0082】
(付記1)
複数のネットワークと接続可能であり、各ネットワークとそれぞれ接続するためのソースアドレスが割り当てられた通信装置において、
送信データの宛先に関する情報を受信すると、各ネットワークを介した前記宛先までのそれぞれの通信経路の特性情報を取得する通信経路特性情報取得部と、
前記特性情報に基づいて、複数のソースアドレスの中から一つのソースアドレスを選択するソースアドレス選択部と、
前記選択されたソースアドレスに対応するネットワークに対して前記送信データを送信する送信部とを備えることを特徴とする通信装置。
【0083】
(付記2)
付記1において、
前記特性情報は、前記宛先までのそれぞれの通信経路の接続性に関する情報であり、
前記通信経路特性情報取得部は、各ネットワークの通信経路が前記宛先まで接続しているかどうかを確認し、
前記ソースアドレス選択部は、前記宛先と接続しているネットワークに対応するソースアドレスを選択することを特徴とする通信装置。
【0084】
(付記3)
付記1において、
前記特性情報は、前記宛先までのそれぞれの通信経路の遅延性に関する情報であり、
前記通信経路特性情報取得部は、各ネットワークの通信経路の遅延を測定し、
前記ソースアドレス選択部は、通信経路の遅延が最小となるネットワークに対応するソースアドレスを選択することを特徴とする通信装置。
【0085】
(付記4)
付記1において、
前記特性情報は、前記宛先までのそれぞれの通信経路の帯域に関する情報であり、
前記通信経路特性情報取得部は、各ネットワークの通信経路の利用可能帯域を確認し、
前記ソースアドレス選択部は、利用可能帯域が最大となるネットワークに対応するソースアドレスを選択することを特徴とする通信装置。
【0086】
(付記5)
付記1において、
前記特性情報は、前記宛先までのそれぞれの通信経路の優先度に関する情報であり、
前記通信経路特性情報取得部は、宛先別に選択すべきソースアドレスの優先度を記憶し、
前記ソースアドレス選択部は、前記宛先に対する最上位優先度のソースアドレスを選択することを特徴とする通信装置。
【0087】
(付記6)
付記1において、さらに、
前記選択されたソースアドレスと前記宛先との対応関係を格納する格納部を備え、
前記通信経路特性情報取得部は、前記格納部に、前記宛先に対応するソースアドレスが格納されていない場合に、前記特性情報を取得し、
前記ソースアドレス選択部は、前記特性情報に基づいて選択したソースアドレスを、前記宛先に対応づけて前記格納部に登録することを特徴とする通信装置。
【0088】
(付記7)
請求項6において、
前記格納部に格納された前記対応関係は、所定時間経過後消去されることを特徴とする通信装置。
【0089】
(付記8)
付記1において、
端末と接続し、前記端末からの送信データをネットワークに送信する通信装置であって、
前記通信経路特性情報取得部は、前記端末からの要求に応じて、前記特性情報を取得し、
前記ソースアドレス選択部は、前記特性情報に基づいて選択したソースアドレスを前記端末に通知することを特徴とする通信装置。
【0090】
(付記9)
付記1において、さらに、
前記選択されたソースアドレスに基づく前記宛先までの通信経路の通信断を検出する検出部を備え、
前記検出部が前記通信断を検出すると、前記通信経路特性情報取得部は、再度、前記特性情報を取得し、
前記ソースアドレス選択部は、前記特性情報に基づいて、選択すべきソースアドレスを変更することを特徴とする通信装置。
【0091】
(付記10)
付記1において、
前記通信経路特性情報取得部は、定期的に前記特性情報を取得し、
前記ソースアドレス選択部は、前記特性情報に基づいて、選択すべきソースアドレスを定期的に更新することを特徴とする通信装置。
【図面の簡単な説明】
【0092】
【図1】従来のソースアドレス選択方法を説明する図である。
【図2】本発明の第一の実施の形態例における通信装置の構成例を示す図である。
【図3】送信パケット生成部12の処理例を示すフローチャートである。
【図4】ソースアドレス選択部15の処理例のフローチャートである。
【図5】通信経路特性情報取得部17の処理例を説明する図である。
【図6】本発明の実施の第二の形態例における通信装置を説明する図である。
【図7】本実施の第二の実施の形態例における端末1Aとゲイトウェイ1Bのブロック構成を示す図である。
【図8】本発明の第二の実施の形態例における端末1Aとゲイトウェイ1Bの別のブロック構成例を示す図である。
【図9】ネットワークの接続性に関する特性情報を取得する通信経路特性情報取得部17のブロック構成例を示す図である。
【図10】ICMP Echo メッセージを利用した接続性確認のための通信経路特性情報取得部17の処理例を説明する図である。
【図11】ネットワークの遅延に関する特性情報を取得する通信経路特性情報取得部17のブロック構成例を示す図である。
【図12】ICMP Echoメッセージを利用した遅延測定のための通信経路特性情報取得部17の処理例を説明する図である。
【図13】通信経路の帯域に関する特性情報を取得する通信経路特性情報取得部17のブロック構成例を示す図である。
【図14】通信経路のポリシーに関する特性情報を取得する通信経路特性情報取得部17のブロック構成例を示す図である。
【図15】ポリシー格納部179の構成例を示す図である。
【図16】図7の構成における名前解決メッセージを利用した接続性確認の処理例を説明する図である。
【図17】名前解決メッセージのフォーマット例を示す図である。
【図18】図7の構成における名前解決メッセージを利用した接続性確認の別の処理例を説明する図である。
【図19】IPv6におけるリダイレクトメッセージのフォーマット例を示す図である。
【図20】IPv4におけるリダイレクトメッセージのフォーマット例を示す図である。
【図21】図8の構成において、ゲイトウェイ1Bが端末1Aから通信パケットを受信した場合の処理例を示す図である。
【図22】ゲイトウェイ1Bが通信パケットの宛先アドレスとソースアドレスの対応関係のチェックする処理例のフローチャートである。
【図23】図7の構成における名前解決メッセージを利用した接続性確認のさらなる別の処理例を説明する図である。
【図24】DHCP Static Routeメッセージのフォーマット例を示す図である。
【図25】本発明の実施の第一の実施の形態例における通信装置の別のブロック構成例を示す図である。
【符号の説明】
【0093】
1A:端末(通信装置)、1B:ゲイトウェイ(通信装置)、10:通信断検出部、11:送信データ受付部、12:送信パケット生成部、13:パケット送信部、14:宛先・ソースアドレス対応表格納部、15:ソースアドレス選択部、16:ソースアドレスリスト格納部、17:通信経路特性情報取得部、18:パケット受信部、19:アドレス情報要求部、20:アドレス情報応答部
【特許請求の範囲】
【請求項1】
複数のネットワークと接続可能であり、各ネットワークとそれぞれ接続するためのソースアドレスが割り当てられた通信装置において、
送信データの宛先に関する情報を受信すると、各ネットワークを介した前記宛先までのそれぞれの通信経路の特性情報を取得する通信経路特性情報取得部と、
前記特性情報に基づいて、複数のソースアドレスの中から一つのソースアドレスを選択するソースアドレス選択部と、
前記選択されたソースアドレスに対応するネットワークに対して前記送信データを送信する送信部とを備えることを特徴とする通信装置。
【請求項2】
請求項1において、
前記特性情報は、前記宛先までのそれぞれの通信経路の接続性に関する情報であり、
前記通信経路特性情報取得部は、各ネットワークの通信経路が前記宛先まで接続しているかどうかを確認し、
前記ソースアドレス選択部は、前記宛先と接続しているネットワークに対応するソースアドレスを選択することを特徴とする通信装置。
【請求項3】
請求項1において、
前記特性情報は、前記宛先までのそれぞれの通信経路の遅延性に関する情報であり、
前記通信経路特性情報取得部は、各ネットワークの通信経路の遅延を測定し、
前記ソースアドレス選択部は、通信経路の遅延が最小となるネットワークに対応するソースアドレスを選択することを特徴とする通信装置。
【請求項4】
請求項1において、さらに、
前記選択されたソースアドレスと前記宛先との対応関係を格納する格納部を備え、
前記通信経路特性情報取得部は、前記格納部に、前記宛先に対応するソースアドレスが格納されていない場合に、前記特性情報を取得し、
前記ソースアドレス選択部は、前記特性情報に基づいて選択したソースアドレスを、前記宛先に対応づけて前記格納部に登録することを特徴とする通信装置。
【請求項5】
請求項4において、
前記格納部に格納された前記対応関係は、所定時間経過後消去されることを特徴とする通信装置。
【請求項1】
複数のネットワークと接続可能であり、各ネットワークとそれぞれ接続するためのソースアドレスが割り当てられた通信装置において、
送信データの宛先に関する情報を受信すると、各ネットワークを介した前記宛先までのそれぞれの通信経路の特性情報を取得する通信経路特性情報取得部と、
前記特性情報に基づいて、複数のソースアドレスの中から一つのソースアドレスを選択するソースアドレス選択部と、
前記選択されたソースアドレスに対応するネットワークに対して前記送信データを送信する送信部とを備えることを特徴とする通信装置。
【請求項2】
請求項1において、
前記特性情報は、前記宛先までのそれぞれの通信経路の接続性に関する情報であり、
前記通信経路特性情報取得部は、各ネットワークの通信経路が前記宛先まで接続しているかどうかを確認し、
前記ソースアドレス選択部は、前記宛先と接続しているネットワークに対応するソースアドレスを選択することを特徴とする通信装置。
【請求項3】
請求項1において、
前記特性情報は、前記宛先までのそれぞれの通信経路の遅延性に関する情報であり、
前記通信経路特性情報取得部は、各ネットワークの通信経路の遅延を測定し、
前記ソースアドレス選択部は、通信経路の遅延が最小となるネットワークに対応するソースアドレスを選択することを特徴とする通信装置。
【請求項4】
請求項1において、さらに、
前記選択されたソースアドレスと前記宛先との対応関係を格納する格納部を備え、
前記通信経路特性情報取得部は、前記格納部に、前記宛先に対応するソースアドレスが格納されていない場合に、前記特性情報を取得し、
前記ソースアドレス選択部は、前記特性情報に基づいて選択したソースアドレスを、前記宛先に対応づけて前記格納部に登録することを特徴とする通信装置。
【請求項5】
請求項4において、
前記格納部に格納された前記対応関係は、所定時間経過後消去されることを特徴とする通信装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【公開番号】特開2006−86800(P2006−86800A)
【公開日】平成18年3月30日(2006.3.30)
【国際特許分類】
【出願番号】特願2004−269383(P2004−269383)
【出願日】平成16年9月16日(2004.9.16)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
【公開日】平成18年3月30日(2006.3.30)
【国際特許分類】
【出願日】平成16年9月16日(2004.9.16)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
[ Back to top ]