(57)【要約】【課題】  サーバ装置に対し、NAT装置のバインディング情報維持のための処理負荷をかけることなく、NAT装置配下のクライアント装置とサーバ装置間のUDPを用いたサービス通信を実現する。【解決手段】    サービス提供用サーバ装置とNATバインディング維持用サーバ装置とをパケット振り分け装置に接続し、パケット振り分け装置に、NAT装置配下のクライアント装置と当該NAT装置を介して通信を行うためのIPアドレス及びポート番号を割り当て、パケット振り分け装置は、クライアント装置から受信した上記IPアドレス及びポート番号を宛先とするパケットに含まれるデータに基づき、当該パケットをサービス提供用サーバ装置又はNATバインディング維持用サーバ装置に振り分ける。【選択図】図１
2010045451.tif 000002
【特許請求の範囲】
【請求項１】
パケット振り分け装置と、サービス提供用サーバ装置と、NATバインディング維持用サーバ装置とを備え、前記サービス提供用サーバ装置と前記NATバインディング維持用サーバ装置とが前記パケット振り分け装置に通信ネットワークを介して接続されて構成された通信システムにおいて使用される前記パケット振り分け装置であって、
前記パケット振り分け装置には、NAT装置配下のクライアント装置と当該NAT装置を介して通信を行うためのIPアドレス及びポート番号が割り当てられ、前記パケット振り分け装置は、
前記クライアント装置から前記IPアドレス及び前記ポート番号を宛先IPアドレス及び宛先ポート番号として含むパケットを前記NAT装置を介して受信し、当該パケットに含まれるデータに基づき、当該パケットを前記サービス提供用サーバ装置と前記NATバインディング維持用サーバ装置のうちのどちらに送信すべきかを判定する手段と、
前記判定の結果に応じて、前記パケットを前記サービス提供用サーバ装置又は前記NATバインディング維持用サーバ装置に送信する手段と、
前記サービス提供用サーバ装置又は前記NATバインディング維持用サーバ装置からパケットを受信し、当該パケットにおける送信元IPアドレス及び送信元ポート番号を、前記IPアドレス及び前記ポート番号に変換し、変換後のパケットを前記NAT装置を介して前記クライアント装置に送信する手段と
を備えたことを特徴とするパケット振り分け装置。
【請求項２】
前記サービス提供用サーバ装置はSIPサーバ装置であり、前記NATバインディング維持用サーバ装置はSTUNサーバ装置であり、前記通信システムにおけるSIPメッセージ及びSTUNメッセージの送受信はUDPに基づき行われる請求項１に記載のパケット振り分け装置。
【請求項３】
パケット振り分け装置と、サービス提供用サーバ装置と、NATバインディング維持用サーバ装置とを備え、前記サービス提供用サーバ装置と前記NATバインディング維持用サーバ装置とが前記パケット振り分け装置に通信ネットワークを介して接続されて構成された通信システムであって、
前記パケット振り分け装置には、NAT装置配下のクライアント装置と当該NAT装置を介して通信を行うためのIPアドレス及びポート番号が割り当てられ、前記パケット振り分け装置は、
前記クライアント装置から前記IPアドレス及び前記ポート番号を宛先IPアドレス及び宛先ポート番号として含むパケットを前記NAT装置を介して受信し、当該パケットに含まれるデータに基づき、当該パケットを前記サービス提供用サーバ装置と前記NATバインディング維持用サーバ装置のうちのどちらに送信すべきかを判定する手段と、
前記判定の結果に応じて、前記パケットを前記サービス提供用サーバ装置又は前記NATバインディング維持用サーバ装置に送信する手段と、
前記サービス提供用サーバ装置又は前記NATバインディング維持用サーバ装置からパケットを受信し、当該パケットにおける送信元IPアドレス及び送信元ポート番号を、前記IPアドレス及び前記ポート番号に変換し、変換後のパケットを前記NAT装置を介して前記クライアント装置に送信する手段と
を備えたことを特徴とする通信システム。
【請求項４】
前記サービス提供用サーバ装置はSIPサーバ装置であり、前記NATバインディング維持用サーバ装置はSTUNサーバ装置であり、前記通信システムにおけるSIPメッセージ及びSTUNメッセージの送受信はUDPに基づき行われる請求項３に記載の通信システム。
【請求項５】
前記NATバインディング維持用サーバ装置は、前記クライアント装置から、前記NAT装置及び前記パケット振り分け装置を介して、前記NAT装置におけるバインディングを維持するためのパケットを所定の時間間隔で受信する請求項３又は４に記載の通信システム。
【請求項６】
パケット振り分け装置と、サービス提供用サーバ装置と、NATバインディング維持用サーバ装置とを備え、前記サービス提供用サーバ装置と前記NATバインディング維持用サーバ装置とが前記パケット振り分け装置に通信ネットワークを介して接続されて構成された通信システムにおいて使用される前記パケット振り分け装置が実行するパケット処理方法であって、
前記パケット振り分け装置には、NAT装置配下のクライアント装置と当該NAT装置を介して通信を行うためのIPアドレス及びポート番号が割り当てられ、前記パケット処理方法は、
前記クライアント装置から前記IPアドレス及び前記ポート番号を宛先IPアドレス及び宛先ポート番号として含むパケットを前記NAT装置を介して受信し、当該パケットに含まれるデータに基づき、当該パケットを前記サービス提供用サーバ装置と前記NATバインディング維持用サーバ装置のうちのどちらに送信すべきかを判定するステップと、
前記判定の結果に応じて、前記パケットを前記サービス提供用サーバ装置又は前記NATバインディング維持用サーバ装置に送信するステップと、
前記サービス提供用サーバ装置又は前記NATバインディング維持用サーバ装置からパケットを受信し、当該パケットにおける送信元IPアドレス及び送信元ポート番号を、前記IPアドレス及び前記ポート番号に変換し、変換後のパケットを前記NAT装置を介して前記クライアント装置に送信するステップと
を備えたことを特徴とするパケット処理方法。
【請求項７】
パケット振り分け装置と、サービス提供用サーバ装置と、NATバインディング維持用サーバ装置とを備え、前記サービス提供用サーバ装置と前記NATバインディング維持用サーバ装置とが前記パケット振り分け装置に通信ネットワークを介して接続されて構成された通信システムにおける前記パケット振り分け装置としてコンピュータを機能させるためのプログラムであって、
前記パケット振り分け装置には、NAT装置配下のクライアント装置と当該NAT装置を介して通信を行うためのIPアドレス及びポート番号が割り当てられ、前記プログラムは、前記コンピュータを、
前記クライアント装置から前記IPアドレス及び前記ポート番号を宛先IPアドレス及び宛先ポート番号として含むパケットを前記NAT装置を介して受信し、当該パケットに含まれるデータに基づき、当該パケットを前記サービス提供用サーバ装置と前記NATバインディング維持用サーバ装置のうちのどちらに送信すべきかを判定する手段、
前記判定の結果に応じて、前記パケットを前記サービス提供用サーバ装置又は前記NATバインディング維持用サーバ装置に送信する手段、
前記サービス提供用サーバ装置又は前記NATバインディング維持用サーバ装置からパケットを受信し、当該パケットにおける送信元IPアドレス及び送信元ポート番号を、前記IPアドレス及び前記ポート番号に変換し、変換後のパケットを前記NAT装置を介して前記クライアント装置に送信する手段、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、NAT(Network Address Translation)装置の配下にあるクライアント装置が、NAT装置の外側にあるサーバ装置とUDP（User Datagram Protocol）を用いて通信を行う技術に関するものである。
【背景技術】
【０００２】
プライベートIPアドレスとグローバルIPアドレスとを相互に変換すること等により、プライベートIPアドレスが割り当てられたクライアント装置からグローバルネットワーク（インターネット）上のサーバ装置へのアクセスを可能とするNAT装置（NAPT(Network Address Port Translation)を含む）が普及している。
【０００３】
クライアント装置がNAT装置を介して外部のサーバ装置と通信を行う場合、クライアント装置がサーバ装置に向けてパケットを送信することにより、NAT装置には、クライアント装置のIPアドレス及びポート番号と、NAT装置のグローバルネットワーク側のIPアドレス及びポート番号との対応付けを含むバインディング情報が保持される。NAT装置は、サーバ装置からNAT装置の上記IPアドレス及びポート番号を宛先とするパケットを受信した場合に、バインディング情報を参照することにより、宛先をクライアント装置のIPアドレス及びポート番号に書き換えて、クライアント装置に送出する。
【０００４】
一般に、セキュリティを保つために、クライアント装置とサーバ装置間でパケットの通信が一定時間ない場合には、NAT装置におけるバインディング情報は無効になる。バインディング情報が無効になると、サーバ装置からクライアント装置にはパケットが届かなくなる。
【０００５】
ここで、クライアント装置とサーバ装置間のパケットの通信には、一般にTCP又はUDPが用いられる。TCPはコネクション型であり確認シーケンス等を含むが、UDPはそのようなシーケンスがないため、セキュリティの観点から、UDPではバインディング情報を無効にするための上記一定時間が短く設定される。
【特許文献１】特開２００６−２５４１６０号公報
【非特許文献１】RFC3489bis
【発明の開示】
【発明が解決しようとする課題】
【０００６】
さて、シグナリングプロトコルとしてSIP（Session Initiation Protocol）を用いたIP電話通信サービスが近年普及している。このようなサービスを受けるクライアント装置は家庭内網や社内網等のプライベートネットワークの中にあるのが一般的であり、クライアント装置はNAT装置を介してSIPサーバ装置（SIPプロキシ）と通信を行うことになる。  
SIPメッセージは通常UDPを用いて送受信がなされる。しかし、UDPを用いる場合、NAT装置のバインディング情報を維持し続けるために、クライアント装置とSIPサーバ装置間で短い時間間隔（数十秒〜数分に１回）でパケットの送受信を行う必要がある。例えば、クライアント装置は、バインディング情報を維持するために、Registerメッセージを短い時間間隔でSIPサーバ装置に送信する。これにより、SIPサーバ装置に高い処理負荷をかけてしまうという問題がある。
【０００７】
SIP通信にUDPでなくTCPを用いることにより、バインディング情報を維持するためのパケット送受信に係る負荷を削減できるが、TCP通信自体の処理負荷が高いため、SIPサーバ装置に高い処理負荷をかけるという問題は解消されない。
【０００８】
上記のように、UDP、TCPのいずれの場合もSIPサーバ装置に大きな負荷がかかり、SIPサーバ装置に収容するクライアント装置の数が大きくなればSIPサーバ装置を大幅に増強する必要が出てくる。従って、本来のVoIPサービスに対するスケーラビリティが乏しくなる。
【０００９】
なお、SIPサーバ装置とは別に備えられるSTUN（Simple Traversal of User Datagram Protocol）サーバ装置とクライアント装置とがバインディング情報を維持するためのパケット送受信を行うことにより、UDP通信におけるSIPサーバ装置の処理負荷を軽減することも考えられる。しかし、SIPサーバ装置とSTUNサーバ装置とを別々に備える方式では、シンメトリックNATに対応できないという問題がある。また、SIPサーバ装置内にSTUN機能を備え、STUN機能がバインディング情報を維持するためのパケット送受信を担うことも考えられるが、これではSIPサーバ装置の処理負荷は軽減されない。
【００１０】
本発明は上記の点に鑑みてなされたものであり、サーバ装置に対し、NAT装置のバインディング情報維持のための処理負荷をかけることなく、NAT装置配下にあるクライアント装置が、NAT装置外部のサーバ装置とUDPを用いた通信を行うことを可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記の課題を解決するために、本発明は、パケット振り分け装置と、サービス提供用サーバ装置と、NATバインディング維持用サーバ装置とを備え、前記サービス提供用サーバ装置と前記NATバインディング維持用サーバ装置とが前記パケット振り分け装置に通信ネットワークを介して接続されて構成された通信システムにおいて使用される前記パケット振り分け装置であって、前記パケット振り分け装置には、NAT装置配下のクライアント装置と当該NAT装置を介して通信を行うためのIPアドレス及びポート番号が割り当てられ、前記パケット振り分け装置は、前記クライアント装置から前記IPアドレス及び前記ポート番号を宛先IPアドレス及び宛先ポート番号として含むパケットを前記NAT装置を介して受信し、当該パケットに含まれるデータに基づき、当該パケットを前記サービス提供用サーバ装置と前記NATバインディング維持用サーバ装置のうちのどちらに送信すべきかを判定する手段と、前記判定の結果に応じて、前記パケットを前記サービス提供用サーバ装置又は前記NATバインディング維持用サーバ装置に送信する手段と、前記サービス提供用サーバ装置又は前記NATバインディング維持用サーバ装置からパケットを受信し、当該パケットにおける送信元IPアドレス及び送信元ポート番号を、前記IPアドレス及び前記ポート番号に変換し、変換後のパケットを前記NAT装置を介して前記クライアント装置に送信する手段とを備えたことを特徴とするパケット振り分け装置として構成される。
【００１２】
また、本発明は、上記のパケット振り分け装置と、サービス提供用サーバ装置と、NATバインディング維持用サーバ装置とを備え、前記サービス提供用サーバ装置と前記NATバインディング維持用サーバ装置とが前記パケット振り分け装置に通信ネットワークを介して接続されて構成された通信システムとして構成してもよい。また、本発明は、コンピュータを、パケット振り分け装置における各手段として機能させるプログラムとして構成することもできる。
【発明の効果】
【００１３】
本発明によれば、サービス提供用サーバ装置とNATバインディング維持用サーバ装置とをパケット振り分け装置に接続し、パケット振り分け装置に、NAT装置配下のクライアント装置と当該NAT装置を介して通信を行うためのIPアドレス及びポート番号を割り当て、パケット振り分け装置は、クライアント装置から受信したパケットに含まれるデータに基づき、当該パケットをサービス提供用サーバ装置又はNATバインディング維持用サーバ装置に振り分けることとしたので、クライアント装置から送信されるNATバインディング維持用のパケットはNATバインディング維持用サーバ装置に送ることが可能となり、サービス提供用サーバ装置に対するNATバインディング維持のための負荷はなくなり、NAT越えを実現しながらサービス提供用サーバ装置における本来のサービス提供のためのスケーラビリティを向上させることができる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照して本実施の形態について説明する。本実施の形態では、SIP通信を例にとって説明を行っているが、本発明はSIP通信に限らず、NAT装置を介してクライアント装置とサーバ装置間でUDP通信を行うシステム全般に適用できる。
【００１５】
（全体構成）
図１に、本発明の実施の形態に係る通信システムの全体構成図を示す。図１に示すように、本実施の形態における通信システムは、パケット振り分け装置１、SIPサーバ装置２（サービス提供用サーバ装置）、STUNサーバ装置３（NATバインディング維持用サーバ装置）、NAT装置A、NAT装置B、クライアント装置A、クライアント装置Bを有する。
【００１６】
パケット振り分け装置１は、ネットワーク５（グローバルネットワーク）を介してSIPサーバ装置２及びSTUNサーバ装置３に接続される。更に、パケット振り分け装置１は、ネットワーク４（グローバルネットワーク）を介してNAT装置A及びNAT装置Bに接続される。また、NAT装置Aはプライベートネットワークによりクライアント装置Aに接続され、NAT装置Bはプライベートネットワークによりクライアント装置Bに接続される。
【００１７】
図１には、各装置に割り当てられるIPアドレスとポート番号が（IPアドレス，ポート番号）の記述形式で示されている。つまり、クライアント装置Aには、SIP及びSTUN通信用のIPアドレス・ポート番号として(IP_A, Port_A) が割り当てられ、クライアント装置Bには、SIP及びSTUN通信用のIPアドレス・ポート番号として(IP_B, Port_B)が割り当てられている。また、NAT装置A、NAT装置Bには、ネットワーク４との通信用として、それぞれ(IP_NATA, Port_NATA)、(IP_NATB, Port_NATB) が割り当てられる。
【００１８】
パケット振り分け装置１には、各NAT装置を介して各クライアント装置と通信を行うためのIPアドレス・ポート番号としてバーチャルIPアドレス・バーチャルポート番号(VIP, VPort)が割り当てられている。このバーチャルIPアドレス・バーチャルポート番号は、各クライアント装置からSIPサーバ装置２とSTUNサーバ装置３に対してパケットを送信するときの宛先となるものであり、各クライアント装置からは、SIPサーバ装置２とSTUNサーバ装置３の（仮想的な）IPアドレス・ポート番号に見える。ここで、SIPサーバ装置２とSTUNサーバ装置３とで同一のバーチャルIPアドレス・バーチャルポート番号を使用していることにより、どのような種類のNAT装置にも対応可能になっている。
【００１９】
パケット振り分け装置１には、更に、SIPサーバ装置２及びSTUNサーバ装置３と通信を行うためのIPアドレス・ポート番号として(IP_LB, Port_LB) が割り当てられている
SIPサーバ装置２には (IP_SIP, Port_SIP) が割り当てられ、STUNサーバ装置３には (IP_STUN, Port_STUN)が割り当てられている。
【００２０】
図１に示す構成において、各クライアント装置は、STUNクライアント機能及びSIP-UA機能を有するPC（パーソナルコンピュータ）である。各NAT装置はNAT機能を有する装置であり、本実施の形態では、UDPパケットを透過させるNAT装置であればどのような種類（シンメトリックNATを含む）のNAT装置でもよい。
【００２１】
パケット振り分け装置１は、ネットワーク４を介して受信するパケットの中身を調べることにより、そのパケットをSIPサーバ装置２又はSTUNサーバ装置３に振り分ける等の機能を有する装置であり、その詳細については後述する。
【００２２】
SIPサーバ装置２は、SIPプロキシ機能を持つコンピュータである。STUNサーバ装置３は、STUNサーバ機能を持つコンピュータである。本実施の形態においては、SIPサーバ装置２及びSTUNサーバ装置３として従来からあるものを使用することができる。ただし、SIPサーバ装置２及びSTUNサーバ装置３において、デフォルトゲートウェイのIPアドレスとしてパケット振り分け装置１のIPアドレスIP_LBを設定しておく。もしくは、ネットワーク５におけるルーティングの設定により、SIPサーバ装置２及びSTUNサーバ装置３からクライアント装置に向けて返されるパケットがパケット振り分け装置１に届くようにしておく。  
（パケット振り分け装置１の機能構成）
図２に、パケット振り分け装置１の機能構成図を示す。図２に示すように、このパケット振り分け装置１は、受信部１１、パケット判定部１２、アドレス・ポート変換部１３、及び送信部１４を有する。
【００２３】
受信部１１は、パケット（IPパケット）を受信し、そのパケットの宛先がバーチャルIPアドレス・バーチャルポート番号(VIP, VPort)である場合に、そのパケットをパケット判定部１２に渡し、宛先が(VIP, VPort)でない場合には、そのパケットをアドレス・ポート変換部１３に渡す機能部である。
【００２４】
パケット判定部１２は、受信部１１から渡されたパケットの中身を参照し、そのパケットに含まれるデータが、STUNメッセージかSIPメッセージかを判定するものである。これは、例えば、パケットに含まれるUDPパケットのヘッダのポート番号等の情報から判断する。また、SIPメッセージ等のデータ部分を参照し、その中にSTUNメッセージやSIPメッセージに使用されるヘッダ情報があるかないかで判断してもよい。
【００２５】
パケット判定部１２は、パケットと判定結果とをアドレス・ポート変換部１３に渡す。アドレス・ポート変換部１３は、パケット判定部１２からパケットと判定結果を受信した場合に、判定結果が"SIP"であれば、そのパケットのヘッダにおける宛先IPアドレス・ポート番号を、(VIP, VPort)から (IP_SIP, Port_SIP) に変換し、変換後のパケットを送信部１４に渡す。また、アドレス・ポート変換部１３は、パケット判定部１２からパケットと判定結果を受信した場合に、判定結果が"STUN"であれば、そのパケットの宛先IPアドレス・ポート番号を、(VIP, VPort)から (IP_STUN, Port_STUN)に変換し、変換後のパケットを送信部１４に渡す。
【００２６】
また、アドレス・ポート変換部１３が、受信部１１からパケットを受信した場合（つまり、パケットの宛先が(VIP, VPort)でない場合）には、アドレス・ポート変換部１３は、パケットの送信元IPアドレス・ポート番号を(VIP, VPort)に変換し、変換後のパケットを送信部１４に渡す。送信部１４は、アドレス・ポート変換部１３から受信したパケットをパケット送信先に該当するネットワークに送出する。
【００２７】
パケット振り分け装置１は、CPU、記憶装置等を有するコンピュータに上記の各機能を実現するためのプログラムを実行させることにより実現できる。当該プログラムは可搬メモリ等の記録媒体からコンピュータにインストールすることとしてもよいし、ネットワーク上のサーバからダウンロードすることとしてもよい。また、パケット振り分け装置１を、パケット振り分け機能を有するロードバランサを用いて実現することも可能である。
【００２８】
（動作シーケンス）
次に、図３〜図５に示すシーケンスチャートを参照して、図１に示す通信システムの動作例を説明する。以下で示す通信はUDPで行われるものである。また、各シーケンス図において、"（IPアドレスX，ポート番号X）−＞（IPアドレスY，ポート番号Y）"という記述は、該当するパケットにおける送信元IPアドレス・ポート番号が（IPアドレスX，ポート番号X）であり、宛先IPアドレス・ポート番号が（IPアドレスY，ポート番号Y）であることを示す。
【００２９】
まず、図３、図４を参照して、クライアント装置Aが、STUN（STUNbisを含む）のプロトコルに従って、STUNサーバ装置３からNAT装置Aの外側のIPアドレス・ポート番号を取得し、その情報をContact情報等として含むRegisterをSIPサーバ装置２に送信するシーケンスについて説明する。
【００３０】
図３において、クライアント装置Aは、送信元IPアドレス・ポート番号を(IP_A, Port_A) とし、宛先IPアドレス・ポート番号をパケット振り分け装置１のバーチャルIPアドレス・バーチャルポート番号である(VIP, VPort) とした、STUNに基づくバインディング要求パケット（バインディング要求メッセージをデータとして含むIPパケット）をNAT装置Aに送信する（ステップ１）。
【００３１】
NAT装置Aは、受信したバインディング要求パケットの送信元IPアドレス・ポート番号(IP_A, Port_A)と、外側のIPアドレス・ポート番号(IP_NATA, Port_NATA) とを対応付けた情報を含むバインディング情報を作成し、保持するとともに、バインディング要求パケットの送信元IPアドレス・ポート番号を、(IP_NATA, Port_NATA) に変換し、当該バインディング要求パケットをネットワーク４に送出する（ステップ２）。
【００３２】
パケット振り分け装置１は、バインディング要求パケットを受信し、パケット判定部１２においてそのパケットの中身を調べることにより、そのパケットがSTUNのパケットであると判断する。そして、パケット振り分け装置１は、宛先IPアドレス・ポート番号を (IP_STUN, Port_STUN)としたバインディング要求パケットをネットワークに送出する（ステップ３）。このとき、送信元IPアドレス・ポート番号は(IP_NATA, Port_NATA) のままである。
【００３３】
上記バインディング要求パケットは、STUNサーバ装置３に届く。バインディング要求パケットを受信したSTUNサーバ装置３は、NAT装置Aの外側のIPアドレスとポート番号を含むバインディング応答パケットをNAT装置A宛てに送出する（ステップ４）。つまり、宛先IPアドレス・ポート番号をNAT装置AのIPアドレス・ポート番号(IP_NATA, Port_NATA)とし、送信元IPアドレス・ポート番号をSTUNサーバ装置３の IPアドレス・ポート番号(IP_STUN, Port_STUN)としたバインディング応答パケットを送出する。
【００３４】
STUNサーバ装置３では、デフォルトゲートウェイのIPアドレスとしてパケット振り分け装置１のIPアドレスIP_LBが設定してあるため、バインディング応答パケットはパケット振り分け装置１に届く。もしくは、ネットワーク５におけるルーティングの設定に基づき、バインディング応答パケットがパケット振り分け装置１に届く。  
バインディング応答パケットを受信したパケット振り分け装置１は、そのパケットの送信元IPアドレス・ポート番号を自身のIPアドレス・ポート番号(VIP, VPort)に変換し、変換したバインディング応答パケットをネットワーク４に送出する（ステップ５）。バインディング応答パケットはNAT装置Aに届き、NAT装置Aにおいてパケットの宛先IPアドレス・ポート番号が(IP_A, Port_A)に変換され、送出される（ステップ６）。これにより、クライアント装置Aはバインディング応答パケットを受信する。
【００３５】
この後、クライアント装置Aは、NAT装置Aにおけるバインディング情報を維持（穴あけを継続）するために、定期的（数十秒〜数分毎）に、上記と同様に(VIP, VPort)を宛先としたバインディング要求パケットを送信する。これにより、上記と同様のシーケンスで、NAT装置Aを経由したパケットの送受信がなされ、バインディング情報が保持される。なお、穴あけ継続の目的のためだけであれば、STUNサーバ装置３に送信するパケットはバインディング要求パケットでなくてもよい。以下で説明するSIPパケットの送受信処理と並行して、この穴あけ継続の目的のためのSTUNパケットの送受信が行われる。
【００３６】
次に、クライアント装置Aは、SIP通信を行うために、Registerパケット（Registerメッセージをデータとして有するIPパケット）をNAT装置Aに送出する（図４のステップ１１）。このRegisterパケットの送信元IPアドレス・ポート番号、及び宛先IPアドレス・ポート番号は、上述したSTUNのパケットと同様に、それぞれ(IP_A, Port_A)、(VIP, VPort) である。なお、Registerメッセージ内には、バインディング応答パケットから取得した(IP_NATA, Port_NATA) が記述されており、これがクライアント装置AのIPアドレス・ポート番号としてSIPサーバ装置２に登録されることになる。
【００３７】
NAT装置Aは、Registerパケットの送信元IPアドレス・ポート番号を(IP_NATA, Port_NATA) に変換し、当該Registerパケットをネットワーク４に送出する（ステップ１２）。
【００３８】
パケット振り分け装置１は、Registerパケットを受信し、パケットに中身を調べることによりそのパケットがSIPのパケットであると判断する。そして、パケット振り分け装置１は、宛先IPアドレス・ポート番号を (IP_SIP, Port_SIP) としたRegisterパケットをネットワーク５に送出する（ステップ１３）。当該Registerパケットは、SIPサーバ装置２に届く。
【００３９】
Registerパケットを受信したSIPサーバ装置２は、登録処理を行う。そして、NAT装置Aの外側のIPアドレスとポート番号(IP_NATA, Port_NATA)を宛先として含み、送信元IPアドレス・ポート番号としてSIPサーバ装置２のIPアドレス・ポート番号 (IP_SIP, Port_SIP)を含む応答パケットを送出する（ステップ１４）。SIPサーバ装置２では、デフォルトゲートウェイのIPアドレスとしてパケット振り分け装置１のIPアドレスIP_LBが設定してあるため、応答パケットはパケット振り分け装置１に届く。もしくは、前述したようにネットワーク５におけるルーティングの設定により、応答パケットがパケット振り分け装置１に届けられることとしてもよい。  
応答パケットを受信したパケット振り分け装置１は、その送信元IPアドレス・ポート番号を自身のIPアドレス・ポート番号(VIP, VPort)に変換し、変換した応答パケットをネットワーク４に送出する（ステップ１５）。応答パケットはNAT装置Aに届き、NAT装置Aにおいて宛先IPアドレス・ポート番号が(IP_A, Port_A)に変換され、送出される（ステップ１６）。これにより、クライアント装置Aは応答パケットを受信する。
【００４０】
次に、上記のような登録処理を行ったクライアント装置Aが、クライアント装置Bに対してINVITEパケット（INVITEメッセージをデータとして含むIPパケット）を送信する場合の動作を図５を参照して説明する。なお、SIPサーバ装置２には、クライアント装置BのIPアドレス・ポート番号として(IP_NATB, Port_NATB)が既に登録されているものとする。また、NAT装置Bには、(IP_B, Port_B)と(IP_NATB, Port_NATB)との対応を含むバインディング情報が保持されているものとする。
【００４１】
クライアント装置Aは、クライアント装置Bとの間でメディア通信を行う目的で、INVITEパケットをNAT装置Aに送出する（ステップ２１）。このINVITEパケットの送信元IPアドレス・ポート番号、及び宛先IPアドレス・ポート番号は、上述したRegisterパケットと同様に、それぞれ(IP_A, Port_A)、(VIP, VPort) である。
【００４２】
NAT装置Aは、INVITEパケットの送信元IPアドレス・ポート番号を(IP_NATA, Port_NATA) に変換し、当該INVITEパケットをネットワーク４に送出する（ステップ２２）。
【００４３】
パケット振り分け装置１は、INVITEパケットを受信し、パケットの中身を調べることによりそのパケットがSIPのパケットであると判断する。そして、パケット振り分け装置１は、宛先IPアドレス・ポート番号を (IP_SIP, Port_SIP) としたINVITEパケットをネットワーク５に送出する（ステップ２３）。当該INVITEパケットは、SIPサーバ装置２に届く。
【００４４】
INVITEパケットを受信したSIPサーバ装置２は、INVITEメッセージからこのINVITEがクライアント装置B宛のものであると判断し、登録情報から(IP_NATB, Port_NATB)を取得し、宛先IPアドレス・ポート番号として(IP_NATB, Port_NATB)を含み、送信元IPアドレス・ポート番号としてSIPサーバ装置２のIPアドレス・ポート番号 (IP_SIP, Port_SIP)を含むINVITEパケットを送出する（ステップ２４）。前述したとおり、SIPサーバ装置２では、デフォルトゲートウェイのIPアドレスとしてパケット振り分け装置１のIPアドレスIP_LBが設定してあるため、このINVITEパケットはパケット振り分け装置１に届く。もしくは、前述したようにネットワーク５におけるルーティングの設定により、INVITEパケットがパケット振り分け装置１に届けられることとしてもよい。  
INVITEパケットを受信したパケット振り分け装置１は、そのパケットの送信元IPアドレス・ポート番号を自身のIPアドレス・ポート番号(VIP, VPort)に変換し、INVITEパケットをネットワーク４に送出する（ステップ２５）。INVITEパケットはNAT装置Bに届き、NAT装置Bにおいて宛先IPアドレス・ポート番号が(IP_B, Port_B)に変換され、変換後のINVITEパケットがクライアント装置Bに送出される（ステップ２６）。これにより、クライアント装置BはINVITEパケットを受信する。
【００４５】
上記のような通信方法により、どのようなSIPメッセージでもNAT装置A、NAT装置Bを介して送受信でき、その後にメディア通信を行うことができる。メディア通信においても、図３に示したバインディング要求／バインディング応答の処理と同様にして、各クライアント装置は、メディア通信用にNAT装置の外部IPアドレス・ポート番号を取得するとともに、NAT装置における穴あけを継続できる。
【００４６】
本実施の形態によれば、NAT装置における穴あけ継続用のパケットは、パケット振り分け装置１によってSTUNサーバ装置３に送信されるので、NAT穴あけ継続のためにSIPサーバ装置に大きな処理負荷がかかるという問題が解決される。また、パケット振り分け装置１には、クライアント装置側に見せるIPアドレス・ポート番号として１種類のIPアドレス・ポート番号(VIP, VPort)を割り当てている。これにより、SIPサーバ装置２がパケットを送信する場合、及びSTUNサーバ装置３がパケットを送信する場合のいずれも、NAT装置が受信するパケットの送信元IPアドレス・ポート番号は(VIP, VPort)になり、シンメトリックNAT等の制約の厳しいNAT装置にも対応できる。
【００４７】
本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【図面の簡単な説明】
【００４８】
【図１】本発明の実施の形態における通信システムの全体構成図である。
【図２】パケット振り分け装置１の機能構成図である。
【図３】本発明の実施の形態における通信システムの動作を示すシーケンス図である。
【図４】本発明の実施の形態における通信システムの動作を示すシーケンス図である。
【図５】本発明の実施の形態における通信システムの動作を示すシーケンス図である。
【符号の説明】
【００４９】
１  パケット振り分け装置
２  SIPサーバ装置
３  STUNサーバ装置
４、５  ネットワーク
１１  受信部
１２  パケット判定部
１３  アドレス・ポート変換部
１４  送信部
【図１】
2010045451.tif 000003
【図２】
2010045451.tif 000004
【図３】
2010045451.tif 000005
【図４】
2010045451.tif 000006
【図５】
2010045451.tif 000007