ネットワーク通信方法及びそのシステム
【課題】NAT−GW装置を介して接続される、異なるネットワーク体系における端末装置間のトンネリング通信を実現する。
【解決手段】外部セグメントと内部セグメントとの間に介在するNAT-GW装置は、トンネリングパケットの宛先を制御するトンネリング通信制御部と、外部端末装置とトンネリング通信終端装置間でトンネリングパケットの中継を行うトンネリングパケット中継部を有し、1つTCPポートで接続を待受け、外部端末装置とNAT-GW装置間でTCPのコネクション(TCPコネクション)を確立し、NAT-GW装置間とトンネリング通信終端装置間で別のTCPコネクションを確立し、外部端末装置と内部端末装置の各端末のIPアドレスとポート番号と各TCPコネクションとを対応付け、トンネリングパケットに含まれる宛先情報に対応するTCPコネクションを用いて、外部セグメントと内部セグメント間のパケット通信する。
【解決手段】外部セグメントと内部セグメントとの間に介在するNAT-GW装置は、トンネリングパケットの宛先を制御するトンネリング通信制御部と、外部端末装置とトンネリング通信終端装置間でトンネリングパケットの中継を行うトンネリングパケット中継部を有し、1つTCPポートで接続を待受け、外部端末装置とNAT-GW装置間でTCPのコネクション(TCPコネクション)を確立し、NAT-GW装置間とトンネリング通信終端装置間で別のTCPコネクションを確立し、外部端末装置と内部端末装置の各端末のIPアドレスとポート番号と各TCPコネクションとを対応付け、トンネリングパケットに含まれる宛先情報に対応するTCPコネクションを用いて、外部セグメントと内部セグメント間のパケット通信する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワーク通信方法及びそのシステムに係り、特に、ネットワークアドレス変換装置(以下、NAT装置(Network Address Translator)という)によって接続された、異なるIPアドレス(Internet Protocol Address)体系を持つネットワーク間におけるNAT装置を越えたパケット通信を実現するトンネリング通信システム及びその方法、及びそのシステムに使用されるNAT-GW装置に関する。
【背景技術】
【0002】
一般に、企業が利用するネットワークは、企業内のローカルなネットワーク(以下、内部セグメントという)と、インターネットなどの外部のネットワーク(以下、外部セグメントという)と、外部セグメントに対して公開しているサーバ装置を設置しているDMZセグメント(Demilitarized Zone)の3つに大きく分けられ、各セグメント間はFW(Fire Wall)装置で区切られている。
【0003】
このようなネットワーク構成において、例えば外部セグメントと内部セグメント間でSIP(Session Initiation Protocol)を用いた通信を行う場合には、通常のNAT機能に加えてSIPメッセージ内のSDP(Session Description Protocol)を解析し、SDP内のIPアドレスを変換するSIP-NAT機能の技術が用いられている。
なお、NAT装置については非特許文献1に開示され、またSIPについては非特許文献2及び3に、SDPについては非特許文献4にそれぞれ詳しく開示されている。
【0004】
【非特許文献1】K. Egevang, P. Francis、“The IP Network Address Translator (NAT)”、May 1994、URL: http://www.ietf.org/rfc/rfc1631.txt
【非特許文献2】M. Handley, H. Schulzrinne, E. Schooler, J. Rosenberg、“ SIP: Session Initiation Protocol”、 March 1999、URL:http://www.ietf.org/rfc/rfc2543.txt
【非特許文献3】J. Rosenberg, H. Schulzrinne, G. Camarillo, A. Johnston, J. Peterson, R. Sparks, M. Handley, E. Schooler、“ SIP: Session Initiation Protocol”、 June 2002、URL:http://www.ietf.org/rfc/rfc3261.txt
【非特許文献4】M. Handley, V. Jacobson、“SDP: Session Description Protocol”、 April 1999、URL:http://www.ietf.org/rfc/rfc2327.txt
【発明の開示】
【発明が解決しようとする課題】
【0005】
従来技術によれば、SIPセッションを使用したデータ通信システムにおいて、NAT装置によって接続された内部セグメントにあるSIPサーバを介した通信を行えないという問題がある。
【0006】
また、NAT装置によって接続される内部セグメントの端末との間でSIPセッションを使用したデータ通信を行う場合に、SIPサーバにグローバルなIPアドレスを付加し、外部セグメントに公開する必要がある。しかも、通信で使用するポートが複数ある場合にはその全てのポートの通信を許可する必要があるため、ネットワークに対するセキュリティの設定を変更しなければならない。
【0007】
本発明の目的は、上記従来技術の不具合を解決し、NAT−GW装置を介して接続される、異なるネットワーク体系における端末装置間の通信を実現するトンネリング通信方法、そのシステム、それに使用される通信用プログラム及びNAT-GW装置を提供することにある。
【課題を解決するための手段】
【0008】
本発明に係る通信方法は、好ましくは、データ通信のためのあるアドレス体系を持つ外部セグメントに属する外部端末装置と、外部セグメントとは異なるアドレス体系を持つ内部セグメントに属するトンネリング通信終端装置と内部端末装置とをNAT-GW装置を介して接続して、両端末装置間のセッション開始プロトコル(SIP)にて確立されたセッション(SIPセッション)を用いてパケット通信する通信方法であって、
内部セグメントにあるトンネリング通信を終端するトンネリング通信終端装置において、SIPパケットを解析すると共に、外部端末装置と内部端末装置間のパケットのルーティングを制御して、内部端末装置に対するパケットを送受信し、
NAT-GW装置において、トンネリングパケットを中継すると共に、1つTCPポートで接続を待受け、外部端末装置とNAT-GW装置間でTCPのコネクション(TCPコネクションという)を確立し、NAT-GW装置間とトンネリング通信終端装置間で別のTCPコネクションを確立し、外部端末装置と内部端末装置の各端末のIPアドレスとポート番号と各TCPコネクションとを対応付け、トンネリングパケットに含まれる宛先情報に対応するTCPコネクションを用いて、外部セグメントと内部セグメント間でパケット通信することを特徴とする通信方法である。
【0009】
好ましい例では、トンネリング通信終端装置と外部端末装置は、NAT-GW装置へ接続するTCPポート番号の問い合わせを行い、NAT-GW装置から返送されたTCPポートへ対しコネクションを確立し、確立したTCPコネクションを用いてトンネリング通信を行う。
また、好ましくは、NAT-GW装置におけるパケットの中継及びトンネリング通信終端装置におけるパケットの転送を許可する宛先IPアドレスとポート番号の組合せをSIPセッションが確立した宛先間でだけトンネリング通信を許可する。
また、好ましくは、外部端末装置と内部端末装置間で送受信されるパケットのアプリケーション層のプロトコルに依存しないでトンネリング通信を行う。
【0010】
本発明に係るネットワーク通信システムは、好ましくは、データ通信のためのあるアドレス体系を持つ外部セグメントに属する外部端末装置と、外部セグメントとは異なるアドレス体系を持つ内部セグメントに属するトンネリング通信終端装置及び内部端末装置とをNAT-GW装置によって接続して、両端末装置間のセッション開始プロトコル(SIP)にて確立されたセッション(SIPセッション)を用いてパケット通信するネットワーク通信システムであって、
内部セグメントにおいてトンネリング通信を終端するトンネリング通信終端装置は、トンネリングパケットに関する変換を行うパケット変換部と、トンネリングパケットを送受信するトンネリングパケット伝達部と、SIPパケットを解析するSIP解析部と、外部端末装置と内部端末装置間のパケットのルーティングを制御するパケットルーティング制御部と、内部端末装置から受信したパケットをパケットルーティング制御部へ通知し及びパケットルーティング制御部から通知されたパケットを内部端末装置へ送信する機能を有するパケット転送部とを有し、
NAT-GW装置は、トンネリングパケットの宛先を制御するトンネリング通信制御部と、外部端末装置とトンネリング通信終端装置間でトンネリングパケットの中継を行うトンネリングパケット中継部を有し、かつ、NAT−GW装置は、1つTCPポートで接続を待受け、外部端末装置とNAT-GW装置間でTCPのコネクション(TCPコネクション)を確立し、NAT-GW装置間とトンネリング通信終端装置間で別のTCPコネクションを確立し、外部端末装置と内部端末装置の各端末のIPアドレスとポート番号と各TCPコネクションとを対応付け、トンネリングパケットに含まれる宛先情報に対応するTCPコネクションを用いて、外部セグメントと内部セグメント間のパケット通信することを特徴とするネットワーク通信システムである。
【0011】
また、本発明はトンネリング終端装置及びNAT−GW装置で上記動作又は機能を実現するプログラムとしても構成され得る。
また、本発明に係るNAT−GW装置は、データ通信のためのあるアドレス体系を持つ、外部端末装置を含む外部セグメントと、外部セグメントとは異なるアドレス体系を持ち、トンネリング終端装置及び内部端末装置を含む内部セグメントとの間に介在して、両端末装置間のセッション開始プロトコル(SIP)にて確立されたセッション(SIPセッション)を用いてパケット通信を管理するNAT-GW装置において、
トンネリングパケットの宛先を制御するトンネリング通信制御部と、外部端末装置とトンネリング通信終端装置間でトンネリングパケットの中継を行うトンネリングパケット中継部を有し、1つTCPポートで接続を待受け、外部端末装置とNAT-GW装置間でTCPのコネクション(TCPコネクション)を確立し、NAT-GW装置間とトンネリング通信終端装置間で別のTCPコネクションを確立し、外部端末装置と内部端末装置の各端末のIPアドレスとポート番号と各TCPコネクションとを対応付け、トンネリングパケットに含まれる宛先情報に対応するTCPコネクションを用いて、外部セグメントと内部セグメント間のパケット通信することを特徴とするNAT-GW装置である。
【発明の効果】
【0012】
本発明によれば、NAT-GW装置を介して接続される、異なるネットワーク体系における端末装置間の通信を実現することができる。また、トンネリングパケットに送信元、宛先情報を付加することで1つのTCPポートで複数の端末装置を複数の接続で通信することができる。更にSIPメッセージによる通信経路の制御を行うことができる。
【発明を実施するための最良の形態】
【0013】
以下、本発明の一実施形態について図を参照して詳細に説明する。
図1はネットワーク通信システムの構成例を示す。
この通信システムにおいて、それぞれ異なるアドレス体系を持つ外部セグメント10と内部セグメント12との間には、両者を接続するDMZセグメント(Demilitarized Zone)11が介在する。外部セグメント10には種々の端末装置が存在するが、この例では、NAT−GW装置113を経由しない端末102や、NAT−GW装置113を経由する外部端末装置103が含まれる。外部端末装置103はインターネット104を介してDMZセグメント113を介して内部端末装置13に接続され得る。これをNAT越え通信という。なお、NAT−GW装置113を経由する外部端末装置103の構成については後述する。
【0014】
DMZセグメント113はファイアウォール112及びNAT−GW装置113を有する。NAT−GW装置113は、外部セグメント10にある外部端末装置(NAT−GW装置を経由する)103に対するアドレス変換を行い、トンネリング終端装置105との通信(トンネリング通信)によりNAT越し通信を中継する。一方、NAT−GW装置113を経由しない端末102からのアクセスはファイアウォール112によって遮断される。なお、NAT−GW装置113は、本発明に特徴的な機能を有し、その構成については後述する。
【0015】
内部セグメント12には、複数の内部端末装置131、132(総称して13ということがある)、トンネリング通信を終端して内部端末装置13にパケットを転送するトンネリング通信終端装置14、SIPメッセージの中継を行うSIPサーバ15が含まれる。
なお、トンネリング終端装置105の構成については後述する。
【0016】
図2は外部端末装置103の構成を示す。
外部端末装置103はNAT越え通信が行える端末であり、パケット通信を実現するSIPアプリケーション210を有する。このSIPアプリケーション201は、SIPプロトコルを処理して、SIPサーバ15と通信を行いSIPセッションの確立を行うSIP部202と、SIP部202によって確立されたSIPセッション上で、音声や映像等のメディアデータの送受信を行うメディア部203と、トンネリングパケットの生成を行うパケット変換部204と、NAT-GW装置113との間でトンネリング通信を行うトンネリングパケット伝達部205と、IPパケットの送信を行うソケット部206を有する。通常の通信パケットがヘッダ部とデータ部から成るのに対して、パケット変換部204で生成されるトンネリングパケットは、これらの各部に加えて、トンネル通信用のアドレスを保持するトンネルパケットヘッダ部を有する。
なお、このSIPアプリケーション210における上記諸機能はハードウェア資源である処理装置(CPU)で所定のアプリケーションが実行されることで実現する。
【0017】
図3はNAT-GW装置113の構成を示す。
NAT-GW装置113は、外部端末装置103または内部端末装置13のトンネリング通信終端装置14から受信したトンネリングパケットから宛先を取得し、その宛先のIPアドレスに対してトンネリングパケットを中継するトンネリングパケット中継部302と、宛先のIPアドレスとポート番号とTCPコネクションとを対応づけトンネリング通信の宛先を管理するトンネリング通信制御部301と、トンネリングパケットの送信を行うソケット部303、及び送受信データ及び通信のための管理情報を格納するメモリ304を有する。特徴的なことは、メモリ304内に、トンネリングパケットの中継を管理するためのパケット中継テーブル40(図4)を格納し、この中継テーブル40を参照して外部端末装置103とトンネリング通信終端装置14との間でパケットを中継する。
【0018】
図4に示すように、パケット中継テーブル40は、内部端末装置13のIPアドレスとポート番号から成る宛先401と、それに対応して形成されたコネクション402を登録して管理する。
【0019】
図5はトンネリング通信終端装置14の構成を示す。
トンネリング通信終端装置14は、受信したSIPメッセージ内のIPアドレスとポート番号を取得または設定するSIP解析部501と、トンネリングパケットの生成を行うパケット変換部502と、NAT-GW装置113との間でトンネリング通信を行うトンネリングパケット伝達部503と、外部端末装置103のIPアドレス及びポート番号とトンネリング通信終端装置14のポート番号と、内部端末装置13またはSIPサーバ15のIPアドレスとポート番号の対応付けを行い、トンネリング通信終端装置14が受信したパケットの宛先を管理するパケットルーティング制御部505と、内部端末装置13またはSIPサーバ15へのパケットの送受信を行うパケット転送部506、及びメモリ507を有して構成される。
特徴的なことは、メモリ507内に、トンネリングパケットの中継を管理するためのパケット転送テーブル60(図6)を格納し、この転送テーブル60を参照することでNAT−GW113と内部端末装置13との間のパケットの転送を管理する。
【0020】
図6に示すように、パケット転送テーブル60は、コネクション61に対応して、外部端末装置のIPアドレス及びポート番号62、トンネリング終端装置14の開設ポート番号63、内部端末装置のIPアドレス及びポート番号64の対を登録して管理する。パケットルーティング制御部505はこのパケット転送テーブル60を参照することで、外部端末装置のIPアドレス及びポート番号と、トンネリング通信終端装置14のポート番号と、内部端末装置13またはSIPサーバ15のIPアドレスとポート番号の対応付けを行ってそのルートを設定する。
【0021】
次に、図7以降の図を参照して、NAT越えトンネリング通信の動作を説明する。
図7は外部端末装置103から起動で通信を開始し、内部端末装置13とのNAT越え通信終了後に経路を切断するまでの手順を示す。
外部端末装置103と内部端末装置13と間の通信手順として、まず、NAT−GW装置113を中継して外部端末装置103とトンネリング通信終端装置14との間でTCPコネクション(connection)を確立する工程701(詳細は図8参照)、次に外部端末装置103と、NAT−GW装置113、トンネリング通信終端装置14、SIPサーバ15、内部端末装置13との間でトンネリング通信経路を確立する工程702(詳細は図9,10参照)、次に確立された通信経路を用いて、NAT−GW装置113等を介して外部端末装置103と内部端末装置13との間でメディアデータなどのデータパケットの送受信を行う工程703(詳細は図13,14参照)、データの通信が終わると、最後にトンネリング通信経路を切断する工程704(詳細は図11,12参照)、の各工程の処理を行う。
【0022】
次に、図8以降を参照して、各処理工程701〜704について詳細に説明する。
図8を参照してコネクション(connection)の確立動作701について説明する。
まず、トンネリング通信終端装置14から、NAT-GW装置113へトンネリング通信にて接続するTCPポート番号の問い合わせを行う(S801)。NAT-GW装置113は使用されていないTCPポート“5080”を開設して、その開設したポート番号“5080”を問い合わせ元のトンネリング通信終端装置14へ返送する(S802)。ポート番号を受信したトンネリング終端装置はそのポート番号“5080”に対してSIPサーバ15への通信用TCPコネクション(Connection1)を確立する(S803)。
【0023】
同様にして、外部端末装置103からNAT−GW装置113に対してもトンネリング通信で接続するTCPポート番号の問い合わせを行う(S811)。NAT-GW装置113は使用されていないTCPポート“5081”を開設して、その開設したポート番号“5081”を問い合わせ元の外部端末装置103へ返送する(S812)。ポート番号を受信した外部端末装置103はそのポート番号“5081”に対して通信用TCPコネクション(Connection2)を確立する(S813)。外部端末装置103とNAT−GW装置113との間の通信用TCPコネクション(Connection2)が確立した時点で、宛先のアドレス、ポート番号及びTCPコネクションの対がパケット中継テーブル40に登録される。
【0024】
次に、図9及び10を参照して、トンネンリング通信経路確立動作702について説明する。図9は外部端末装置103から通信を開始する場合の動作を示し、図10は内部端末装置13から通信を開始する場合の動作を示す。
図9において、まず、外部端末装置103は、INVITEリクエスト(SIPセッション確立要求)を送信元に外部端末装置自身のIPアドレスとポート番号を設定し、宛先にSIPサーバのIPアドレスとポート番号を設定したトンネリングパケットとして、NAT-GW装置113へ送信する(S901)。
【0025】
トンネリングパケットを受信したNAT-GW装置113は、宛先に設定されているIPアドレスとポート番号を認識して、そのパケットをトンネリング通信終端装置14へ中継する(S902)。トンネリングパケットを受信したトンネリング通信終端装置14は、そのトンネリングパケットを通常のパケットに変換し、SIPメッセージ内の外部端末装置103のIPアドレスとポート番号をトンネリング通信終端装置14のIPアドレスとポート番号に書換え、宛先に設定されているSIPサーバ15へそのパケットを転送する(S903)。INVITEリクエストを受信したSIPサーバ15は、SIPメッセージの宛先に設定されているSIP-URIから内部端末装置13へINVITEリクエストを送信する(S904)。また、SIPサーバ15は、INVITEリクエストを受信すると、SIPセッション確立の処理を継続していることを意味する100TRYINGをトンネリング通信終端装置14へ返送する(S905)。この100TRYINGはNAT−GW装置113を介して外部端末装置103へ送信される(S906,907)。
【0026】
INVITEリクエストを受信した内部端末装置13は、180RINGINGレスポンス(SIPセッション確立処理中)と200OK(SIPセッション確立許可)レスポンスをSIPサーバ15へ送信する(S911,S921)。
SIPサーバ15は、受信した180RINGINGレスポンスを、INVITEリクエスト送信経路を逆に辿って、トンネリング通信終端装置14、NAT-GW装置113を経由して外部端末装置103へ送信する(S912〜S914)。
【0027】
同様にして、200OKレスポンスを受信したSIPサーバ15は、トンネリング通信終端装置14へレスポンスパケットを送信する(S922)。200OKレスポンスのレスポンスパケットを受信したトンネリング通信終端装置14は、そのパケットから内部端末装置13のIPアドレスとポート番号を取得し、また、先のINVITEリクエストから取得した外部端末装置103のIPアドレスと、ポート番号と、トンネリング通信終端装置がメディア転送用に開設したポート番号と、200OKレスポンスから取得した内部端末装置13のIPアドレスとポート番号を対応付けて、パケット転送テーブル60に登録する。そして、200OKレスポンスを、送信元に内部端末装置13のIPアドレスとポート番号を設定し、宛先に外部端末装置103のIPアドレスとポート番号を設定したトンネリングパケットに変換して、NAT-GW装置113へ送信する(S923)。トンネリングパケットに変換された200OKレスポンスを受信したNAT-GW装置113は、宛先となる外部端末装置103へそのパケットを送信する(S924)。これによってTCPコネクション3とTCPコネクション4が確立した(S931、932)。そして、外部端末装置103からACKレスポンスが同様の経路(先のコネクション1,2含む)を経由して内部端末装置13へ送信される(S941〜944)。
【0028】
図10は、内部端末装置13から通信を開始する場合の動作を示す。
この動作は、図9に示した手順とは逆であるが、基本的な動作原理は図9の動作と変わらない。その動作手順は、図9の動作手順から容易に理解されるであろうから、詳細な説明は省略する。
【0029】
次に、図13及び14を参照してメディアデータ等のパケットの送受信動作703について説明する。ここで、図13は外部端末装置103から内部端末装置13へのパケットの送信手順を示し、図14は逆に、内部端末装置13から外部端末装置103へのパケットの送信手順を示す。
【0030】
図13において、まず、外部端末装置103にて、送信元に外部端末装置103のIPアドレスとポート番号を設定し、宛先に内部端末装置(例えば131)のIPアドレスとポート番号を設定したトンネリングパケットを生成して(S1300)、そのトンネリングパケットをNAT-GW装置113へ送信する(S1301)。
NAT-GW装置113は、外部端末装置103から送信されたトンネリングパケットを受信すると(1302)、トンネリングパケットの宛先IPアドレスとポート番号から対応するTCPコネクションをパケット中継テーブル40から取得して(S1303)、中継すべき宛先がこの中継テーブル40に登録されているか否かを判断する(S1304)。その結果、中継すべき宛先が中継テーブル40に未登録の場合は、パケットを破棄して次の受信を待つ(S1304)。一方、宛先が登録済みの場合は対応するTCPコネクションによりトンネリング通信終端装置14へトンネリングパケットを中継する(S1305)。
【0031】
トンネリング通信終端装置14は、NAT-GW装置113から送信されたトンネリングパケットを受信すると(S1306)、トンネリングパケットから送信データと宛先IPアドレスとポート番号を取得して(S1307)、パケット転送テーブル10を参照して内部端末装置131のIPアドレスとポート番号と一致する登録情報があるか否かを判定する(S1309)。その結果、一致する登録情報が無かった場合はパケットを破棄して次の受信を待つ。一方、一致する情報があった場合には、トンネリングパケットを通常のパケットに変換して、そのパケットを該当する内部端末装置131へ送信する(S1309)。
【0032】
次に、図14を参照して、内部端末装置13から外部端末装置103へパケットを送信する動作について説明する。
例えば、内部端末装置132は、図10におけるINVITEリクエストから取得したトンネリング通信終端装置14のIPアドレスとポート番号宛てに、メディアデータなどのデータパケットを送信する(S1400)。トンネリング通信終端装置14は、内部端末装置132から送信されたデータパケットを受信すると(S1401)、パケット転送テーブル60を参照してから送信元のIPアドレスとポート番号に対応して登録された外部端末装置103のIPアドレスとポート番号を取得して、トンネリングパケットを生成し(S1402)、そのトンネリングパケットをNAT-GW装置113へ送信する(S1404)。
なお、パケット転送テーブル60を検索した結果、対応する外部端末装置103に関するアドレス情報等が無い場合には、トンネリングパケットは破棄され、次の受信を待つことになる(S1403)。
【0033】
NAT-GW装置113は、トンネリング通信終端装置14からトンネリングパケットを受信すると(S1405)、トンネリングパケットの宛先IPアドレスとポート番号を取得し(S1406)、パケット中継テーブル40に外部端末装置103のIPアドレスとポート番号が登録されているか否かを判定する(S1407)。判定の結果、そのIPアドレス等が登録されていれば、その対応するTCPコネクションを介して外部端末装置103へトンネリングパケットを送信する(S1409)。一方、それが登録されていなければ、パケットを破棄して、次の受信を待つ。
外部端末装置103は、NAT-GW装置113から送信されたトンネリングパケットを受信して、そのトンネリングパケットから内部端末装置132が送信したデータを取得する(S1409)。
【0034】
次に、図11及び12を参照して、外部端末装置と内部端末装置間の通信経路を切断する動作704について説明する。
図11は内部端末装置から切断する場合を示し、図12は外部端末装置103から切断する場合を示す。
内部端末装置13から通信を切断する場合、図11のように、内部端末装置13からBYEリクエスト(SIPセッション終了要求)をSIPサーバ14へ送信する(S1101)。SIPサーバ14は、受信したBYEリクエストを、確立済みの通信経路を通して外部端末装置103へ送信する(S1102〜S1104)。
BYEリクエストを受信した外部端末装置103は、200OK(SIPセッション正常終了)レスポンスを、当該通信経路を通してNAT−GW装置113、トンネリング通信終端装置15、SIPサーバ14へ返送する(S1201〜S1203)。
【0035】
ここで、トンネリング通信終端装置15は200 OK(SIPセッション正常終了)を受信すると、SIPサーバ14へ200OK(SIPセッション正常終了)レスポンスを送信した後、パケット転送テーブル60に登録されている外部端末装置103のIPアドレスとポート番号と、トンネリング通信終端装置14のポート番号と、内部端末装置13のIPアドレスとポート番号を削除する。そして、内部端末装置13に対するメディアデータ転送用TCPコネクションを切断し、かつその転送用に開設したポートを閉じて、通信経路の切断を終了する。
なお、図12に示す、外部端末装置103から切断する動作は、図11とは逆であるが、実質的な原理は同様であるので、その説明を省略する。
【0036】
以上のように、本実施例によれば、NAT−GW装置113が外部端末装置103のIPアドレス、ポート番号、TCPコネクションを対応付けて、中継テーブル40に登録しておくことで、1つのTCPポートで複数種(複数ポート相当)のデータ通信を処理することができる。すなわち、従来のファイアウォール112のように、使用する数分のポートを開設する必要がなく、1つのTCPポートを開設して、トンネリングパケットに送信元、宛先情報を付加することにより、1つのTCPポートで複数の端末装置を複数の接続で通信することができる。1つのTCPポートのみで実現できるので、開設ポート数の低減に寄与する。
【図面の簡単な説明】
【0037】
【図1】一実施形態におけるネットワーク通信システムの構成例を示す図。
【図2】一実施形態における外部端末装置103の構成を示す図。
【図3】一実施形態におけるNAT-GW装置113の構成を示す図。
【図4】一実施形態におけるパケット中継テーブル40の構成を示す図。
【図5】一実施形態におけるトンネリング通信終端装置14の構成を示す図。
【図6】一実施形態におけるパケット転送テーブル60の構成を示す図。
【図7】一実施形態におけるトンネリング通信経路確立手順を示すシーケンス図。
【図8】一実施形態におけるトンネリング通信を行うTCPコネクション確立の手順を示すシーケンス図。
【図9】一実施形態におけるトンネリング通信経路確立の手順を示すシーケンス図。
【図10】一実施形態におけるトンネリング通信経路確立の手順を示すシーケンス図。
【図11】一実施形態におけるトンネリング通信を内部端末装置から切断する手順を示すシーケンス図。
【図12】一実施形態におけるトンネリング通信を外部端末装置から切断する手順を示すシーケンス図。
【図13】一実施形態におけるトンネリング通信において外部端末装置から内部端末装置へパケットを送信するときの処理の流れを示す図。
【図14】一実施形態におけるトンネリング通信において内部端末装置から外部端末装置へパケットを送信するときの処理の流れを示す図。
【符号の説明】
【0038】
10:外部セグメント、 11:DMZセグメント、 12:内部セグメント、 102、103:外部端末装置、113:NAT−GW装置、 13、131、132、:内部端末装置、 14:トンネリング通信終端装置、 15:SIPサーバ、 112:ファイアウォール、 201:SIPアプリケーション、 202:SIP部、 203:メディア部、 204:パケット変換部、 205:トンネリングパケット伝達部、 206:ソケット部、 301:トンネリング通信制御部、 302:トンネリングパケット中継部、
400:パケット中継テーブル、 501:SIP解析部、 502:パケット変換部、 503:トンネリングパケット伝達部、 504:ソケット部、 505:パケットルーティング制御部、 506:パケット転送部、 600:パケット転送テーブル
【技術分野】
【0001】
本発明は、ネットワーク通信方法及びそのシステムに係り、特に、ネットワークアドレス変換装置(以下、NAT装置(Network Address Translator)という)によって接続された、異なるIPアドレス(Internet Protocol Address)体系を持つネットワーク間におけるNAT装置を越えたパケット通信を実現するトンネリング通信システム及びその方法、及びそのシステムに使用されるNAT-GW装置に関する。
【背景技術】
【0002】
一般に、企業が利用するネットワークは、企業内のローカルなネットワーク(以下、内部セグメントという)と、インターネットなどの外部のネットワーク(以下、外部セグメントという)と、外部セグメントに対して公開しているサーバ装置を設置しているDMZセグメント(Demilitarized Zone)の3つに大きく分けられ、各セグメント間はFW(Fire Wall)装置で区切られている。
【0003】
このようなネットワーク構成において、例えば外部セグメントと内部セグメント間でSIP(Session Initiation Protocol)を用いた通信を行う場合には、通常のNAT機能に加えてSIPメッセージ内のSDP(Session Description Protocol)を解析し、SDP内のIPアドレスを変換するSIP-NAT機能の技術が用いられている。
なお、NAT装置については非特許文献1に開示され、またSIPについては非特許文献2及び3に、SDPについては非特許文献4にそれぞれ詳しく開示されている。
【0004】
【非特許文献1】K. Egevang, P. Francis、“The IP Network Address Translator (NAT)”、May 1994、URL: http://www.ietf.org/rfc/rfc1631.txt
【非特許文献2】M. Handley, H. Schulzrinne, E. Schooler, J. Rosenberg、“ SIP: Session Initiation Protocol”、 March 1999、URL:http://www.ietf.org/rfc/rfc2543.txt
【非特許文献3】J. Rosenberg, H. Schulzrinne, G. Camarillo, A. Johnston, J. Peterson, R. Sparks, M. Handley, E. Schooler、“ SIP: Session Initiation Protocol”、 June 2002、URL:http://www.ietf.org/rfc/rfc3261.txt
【非特許文献4】M. Handley, V. Jacobson、“SDP: Session Description Protocol”、 April 1999、URL:http://www.ietf.org/rfc/rfc2327.txt
【発明の開示】
【発明が解決しようとする課題】
【0005】
従来技術によれば、SIPセッションを使用したデータ通信システムにおいて、NAT装置によって接続された内部セグメントにあるSIPサーバを介した通信を行えないという問題がある。
【0006】
また、NAT装置によって接続される内部セグメントの端末との間でSIPセッションを使用したデータ通信を行う場合に、SIPサーバにグローバルなIPアドレスを付加し、外部セグメントに公開する必要がある。しかも、通信で使用するポートが複数ある場合にはその全てのポートの通信を許可する必要があるため、ネットワークに対するセキュリティの設定を変更しなければならない。
【0007】
本発明の目的は、上記従来技術の不具合を解決し、NAT−GW装置を介して接続される、異なるネットワーク体系における端末装置間の通信を実現するトンネリング通信方法、そのシステム、それに使用される通信用プログラム及びNAT-GW装置を提供することにある。
【課題を解決するための手段】
【0008】
本発明に係る通信方法は、好ましくは、データ通信のためのあるアドレス体系を持つ外部セグメントに属する外部端末装置と、外部セグメントとは異なるアドレス体系を持つ内部セグメントに属するトンネリング通信終端装置と内部端末装置とをNAT-GW装置を介して接続して、両端末装置間のセッション開始プロトコル(SIP)にて確立されたセッション(SIPセッション)を用いてパケット通信する通信方法であって、
内部セグメントにあるトンネリング通信を終端するトンネリング通信終端装置において、SIPパケットを解析すると共に、外部端末装置と内部端末装置間のパケットのルーティングを制御して、内部端末装置に対するパケットを送受信し、
NAT-GW装置において、トンネリングパケットを中継すると共に、1つTCPポートで接続を待受け、外部端末装置とNAT-GW装置間でTCPのコネクション(TCPコネクションという)を確立し、NAT-GW装置間とトンネリング通信終端装置間で別のTCPコネクションを確立し、外部端末装置と内部端末装置の各端末のIPアドレスとポート番号と各TCPコネクションとを対応付け、トンネリングパケットに含まれる宛先情報に対応するTCPコネクションを用いて、外部セグメントと内部セグメント間でパケット通信することを特徴とする通信方法である。
【0009】
好ましい例では、トンネリング通信終端装置と外部端末装置は、NAT-GW装置へ接続するTCPポート番号の問い合わせを行い、NAT-GW装置から返送されたTCPポートへ対しコネクションを確立し、確立したTCPコネクションを用いてトンネリング通信を行う。
また、好ましくは、NAT-GW装置におけるパケットの中継及びトンネリング通信終端装置におけるパケットの転送を許可する宛先IPアドレスとポート番号の組合せをSIPセッションが確立した宛先間でだけトンネリング通信を許可する。
また、好ましくは、外部端末装置と内部端末装置間で送受信されるパケットのアプリケーション層のプロトコルに依存しないでトンネリング通信を行う。
【0010】
本発明に係るネットワーク通信システムは、好ましくは、データ通信のためのあるアドレス体系を持つ外部セグメントに属する外部端末装置と、外部セグメントとは異なるアドレス体系を持つ内部セグメントに属するトンネリング通信終端装置及び内部端末装置とをNAT-GW装置によって接続して、両端末装置間のセッション開始プロトコル(SIP)にて確立されたセッション(SIPセッション)を用いてパケット通信するネットワーク通信システムであって、
内部セグメントにおいてトンネリング通信を終端するトンネリング通信終端装置は、トンネリングパケットに関する変換を行うパケット変換部と、トンネリングパケットを送受信するトンネリングパケット伝達部と、SIPパケットを解析するSIP解析部と、外部端末装置と内部端末装置間のパケットのルーティングを制御するパケットルーティング制御部と、内部端末装置から受信したパケットをパケットルーティング制御部へ通知し及びパケットルーティング制御部から通知されたパケットを内部端末装置へ送信する機能を有するパケット転送部とを有し、
NAT-GW装置は、トンネリングパケットの宛先を制御するトンネリング通信制御部と、外部端末装置とトンネリング通信終端装置間でトンネリングパケットの中継を行うトンネリングパケット中継部を有し、かつ、NAT−GW装置は、1つTCPポートで接続を待受け、外部端末装置とNAT-GW装置間でTCPのコネクション(TCPコネクション)を確立し、NAT-GW装置間とトンネリング通信終端装置間で別のTCPコネクションを確立し、外部端末装置と内部端末装置の各端末のIPアドレスとポート番号と各TCPコネクションとを対応付け、トンネリングパケットに含まれる宛先情報に対応するTCPコネクションを用いて、外部セグメントと内部セグメント間のパケット通信することを特徴とするネットワーク通信システムである。
【0011】
また、本発明はトンネリング終端装置及びNAT−GW装置で上記動作又は機能を実現するプログラムとしても構成され得る。
また、本発明に係るNAT−GW装置は、データ通信のためのあるアドレス体系を持つ、外部端末装置を含む外部セグメントと、外部セグメントとは異なるアドレス体系を持ち、トンネリング終端装置及び内部端末装置を含む内部セグメントとの間に介在して、両端末装置間のセッション開始プロトコル(SIP)にて確立されたセッション(SIPセッション)を用いてパケット通信を管理するNAT-GW装置において、
トンネリングパケットの宛先を制御するトンネリング通信制御部と、外部端末装置とトンネリング通信終端装置間でトンネリングパケットの中継を行うトンネリングパケット中継部を有し、1つTCPポートで接続を待受け、外部端末装置とNAT-GW装置間でTCPのコネクション(TCPコネクション)を確立し、NAT-GW装置間とトンネリング通信終端装置間で別のTCPコネクションを確立し、外部端末装置と内部端末装置の各端末のIPアドレスとポート番号と各TCPコネクションとを対応付け、トンネリングパケットに含まれる宛先情報に対応するTCPコネクションを用いて、外部セグメントと内部セグメント間のパケット通信することを特徴とするNAT-GW装置である。
【発明の効果】
【0012】
本発明によれば、NAT-GW装置を介して接続される、異なるネットワーク体系における端末装置間の通信を実現することができる。また、トンネリングパケットに送信元、宛先情報を付加することで1つのTCPポートで複数の端末装置を複数の接続で通信することができる。更にSIPメッセージによる通信経路の制御を行うことができる。
【発明を実施するための最良の形態】
【0013】
以下、本発明の一実施形態について図を参照して詳細に説明する。
図1はネットワーク通信システムの構成例を示す。
この通信システムにおいて、それぞれ異なるアドレス体系を持つ外部セグメント10と内部セグメント12との間には、両者を接続するDMZセグメント(Demilitarized Zone)11が介在する。外部セグメント10には種々の端末装置が存在するが、この例では、NAT−GW装置113を経由しない端末102や、NAT−GW装置113を経由する外部端末装置103が含まれる。外部端末装置103はインターネット104を介してDMZセグメント113を介して内部端末装置13に接続され得る。これをNAT越え通信という。なお、NAT−GW装置113を経由する外部端末装置103の構成については後述する。
【0014】
DMZセグメント113はファイアウォール112及びNAT−GW装置113を有する。NAT−GW装置113は、外部セグメント10にある外部端末装置(NAT−GW装置を経由する)103に対するアドレス変換を行い、トンネリング終端装置105との通信(トンネリング通信)によりNAT越し通信を中継する。一方、NAT−GW装置113を経由しない端末102からのアクセスはファイアウォール112によって遮断される。なお、NAT−GW装置113は、本発明に特徴的な機能を有し、その構成については後述する。
【0015】
内部セグメント12には、複数の内部端末装置131、132(総称して13ということがある)、トンネリング通信を終端して内部端末装置13にパケットを転送するトンネリング通信終端装置14、SIPメッセージの中継を行うSIPサーバ15が含まれる。
なお、トンネリング終端装置105の構成については後述する。
【0016】
図2は外部端末装置103の構成を示す。
外部端末装置103はNAT越え通信が行える端末であり、パケット通信を実現するSIPアプリケーション210を有する。このSIPアプリケーション201は、SIPプロトコルを処理して、SIPサーバ15と通信を行いSIPセッションの確立を行うSIP部202と、SIP部202によって確立されたSIPセッション上で、音声や映像等のメディアデータの送受信を行うメディア部203と、トンネリングパケットの生成を行うパケット変換部204と、NAT-GW装置113との間でトンネリング通信を行うトンネリングパケット伝達部205と、IPパケットの送信を行うソケット部206を有する。通常の通信パケットがヘッダ部とデータ部から成るのに対して、パケット変換部204で生成されるトンネリングパケットは、これらの各部に加えて、トンネル通信用のアドレスを保持するトンネルパケットヘッダ部を有する。
なお、このSIPアプリケーション210における上記諸機能はハードウェア資源である処理装置(CPU)で所定のアプリケーションが実行されることで実現する。
【0017】
図3はNAT-GW装置113の構成を示す。
NAT-GW装置113は、外部端末装置103または内部端末装置13のトンネリング通信終端装置14から受信したトンネリングパケットから宛先を取得し、その宛先のIPアドレスに対してトンネリングパケットを中継するトンネリングパケット中継部302と、宛先のIPアドレスとポート番号とTCPコネクションとを対応づけトンネリング通信の宛先を管理するトンネリング通信制御部301と、トンネリングパケットの送信を行うソケット部303、及び送受信データ及び通信のための管理情報を格納するメモリ304を有する。特徴的なことは、メモリ304内に、トンネリングパケットの中継を管理するためのパケット中継テーブル40(図4)を格納し、この中継テーブル40を参照して外部端末装置103とトンネリング通信終端装置14との間でパケットを中継する。
【0018】
図4に示すように、パケット中継テーブル40は、内部端末装置13のIPアドレスとポート番号から成る宛先401と、それに対応して形成されたコネクション402を登録して管理する。
【0019】
図5はトンネリング通信終端装置14の構成を示す。
トンネリング通信終端装置14は、受信したSIPメッセージ内のIPアドレスとポート番号を取得または設定するSIP解析部501と、トンネリングパケットの生成を行うパケット変換部502と、NAT-GW装置113との間でトンネリング通信を行うトンネリングパケット伝達部503と、外部端末装置103のIPアドレス及びポート番号とトンネリング通信終端装置14のポート番号と、内部端末装置13またはSIPサーバ15のIPアドレスとポート番号の対応付けを行い、トンネリング通信終端装置14が受信したパケットの宛先を管理するパケットルーティング制御部505と、内部端末装置13またはSIPサーバ15へのパケットの送受信を行うパケット転送部506、及びメモリ507を有して構成される。
特徴的なことは、メモリ507内に、トンネリングパケットの中継を管理するためのパケット転送テーブル60(図6)を格納し、この転送テーブル60を参照することでNAT−GW113と内部端末装置13との間のパケットの転送を管理する。
【0020】
図6に示すように、パケット転送テーブル60は、コネクション61に対応して、外部端末装置のIPアドレス及びポート番号62、トンネリング終端装置14の開設ポート番号63、内部端末装置のIPアドレス及びポート番号64の対を登録して管理する。パケットルーティング制御部505はこのパケット転送テーブル60を参照することで、外部端末装置のIPアドレス及びポート番号と、トンネリング通信終端装置14のポート番号と、内部端末装置13またはSIPサーバ15のIPアドレスとポート番号の対応付けを行ってそのルートを設定する。
【0021】
次に、図7以降の図を参照して、NAT越えトンネリング通信の動作を説明する。
図7は外部端末装置103から起動で通信を開始し、内部端末装置13とのNAT越え通信終了後に経路を切断するまでの手順を示す。
外部端末装置103と内部端末装置13と間の通信手順として、まず、NAT−GW装置113を中継して外部端末装置103とトンネリング通信終端装置14との間でTCPコネクション(connection)を確立する工程701(詳細は図8参照)、次に外部端末装置103と、NAT−GW装置113、トンネリング通信終端装置14、SIPサーバ15、内部端末装置13との間でトンネリング通信経路を確立する工程702(詳細は図9,10参照)、次に確立された通信経路を用いて、NAT−GW装置113等を介して外部端末装置103と内部端末装置13との間でメディアデータなどのデータパケットの送受信を行う工程703(詳細は図13,14参照)、データの通信が終わると、最後にトンネリング通信経路を切断する工程704(詳細は図11,12参照)、の各工程の処理を行う。
【0022】
次に、図8以降を参照して、各処理工程701〜704について詳細に説明する。
図8を参照してコネクション(connection)の確立動作701について説明する。
まず、トンネリング通信終端装置14から、NAT-GW装置113へトンネリング通信にて接続するTCPポート番号の問い合わせを行う(S801)。NAT-GW装置113は使用されていないTCPポート“5080”を開設して、その開設したポート番号“5080”を問い合わせ元のトンネリング通信終端装置14へ返送する(S802)。ポート番号を受信したトンネリング終端装置はそのポート番号“5080”に対してSIPサーバ15への通信用TCPコネクション(Connection1)を確立する(S803)。
【0023】
同様にして、外部端末装置103からNAT−GW装置113に対してもトンネリング通信で接続するTCPポート番号の問い合わせを行う(S811)。NAT-GW装置113は使用されていないTCPポート“5081”を開設して、その開設したポート番号“5081”を問い合わせ元の外部端末装置103へ返送する(S812)。ポート番号を受信した外部端末装置103はそのポート番号“5081”に対して通信用TCPコネクション(Connection2)を確立する(S813)。外部端末装置103とNAT−GW装置113との間の通信用TCPコネクション(Connection2)が確立した時点で、宛先のアドレス、ポート番号及びTCPコネクションの対がパケット中継テーブル40に登録される。
【0024】
次に、図9及び10を参照して、トンネンリング通信経路確立動作702について説明する。図9は外部端末装置103から通信を開始する場合の動作を示し、図10は内部端末装置13から通信を開始する場合の動作を示す。
図9において、まず、外部端末装置103は、INVITEリクエスト(SIPセッション確立要求)を送信元に外部端末装置自身のIPアドレスとポート番号を設定し、宛先にSIPサーバのIPアドレスとポート番号を設定したトンネリングパケットとして、NAT-GW装置113へ送信する(S901)。
【0025】
トンネリングパケットを受信したNAT-GW装置113は、宛先に設定されているIPアドレスとポート番号を認識して、そのパケットをトンネリング通信終端装置14へ中継する(S902)。トンネリングパケットを受信したトンネリング通信終端装置14は、そのトンネリングパケットを通常のパケットに変換し、SIPメッセージ内の外部端末装置103のIPアドレスとポート番号をトンネリング通信終端装置14のIPアドレスとポート番号に書換え、宛先に設定されているSIPサーバ15へそのパケットを転送する(S903)。INVITEリクエストを受信したSIPサーバ15は、SIPメッセージの宛先に設定されているSIP-URIから内部端末装置13へINVITEリクエストを送信する(S904)。また、SIPサーバ15は、INVITEリクエストを受信すると、SIPセッション確立の処理を継続していることを意味する100TRYINGをトンネリング通信終端装置14へ返送する(S905)。この100TRYINGはNAT−GW装置113を介して外部端末装置103へ送信される(S906,907)。
【0026】
INVITEリクエストを受信した内部端末装置13は、180RINGINGレスポンス(SIPセッション確立処理中)と200OK(SIPセッション確立許可)レスポンスをSIPサーバ15へ送信する(S911,S921)。
SIPサーバ15は、受信した180RINGINGレスポンスを、INVITEリクエスト送信経路を逆に辿って、トンネリング通信終端装置14、NAT-GW装置113を経由して外部端末装置103へ送信する(S912〜S914)。
【0027】
同様にして、200OKレスポンスを受信したSIPサーバ15は、トンネリング通信終端装置14へレスポンスパケットを送信する(S922)。200OKレスポンスのレスポンスパケットを受信したトンネリング通信終端装置14は、そのパケットから内部端末装置13のIPアドレスとポート番号を取得し、また、先のINVITEリクエストから取得した外部端末装置103のIPアドレスと、ポート番号と、トンネリング通信終端装置がメディア転送用に開設したポート番号と、200OKレスポンスから取得した内部端末装置13のIPアドレスとポート番号を対応付けて、パケット転送テーブル60に登録する。そして、200OKレスポンスを、送信元に内部端末装置13のIPアドレスとポート番号を設定し、宛先に外部端末装置103のIPアドレスとポート番号を設定したトンネリングパケットに変換して、NAT-GW装置113へ送信する(S923)。トンネリングパケットに変換された200OKレスポンスを受信したNAT-GW装置113は、宛先となる外部端末装置103へそのパケットを送信する(S924)。これによってTCPコネクション3とTCPコネクション4が確立した(S931、932)。そして、外部端末装置103からACKレスポンスが同様の経路(先のコネクション1,2含む)を経由して内部端末装置13へ送信される(S941〜944)。
【0028】
図10は、内部端末装置13から通信を開始する場合の動作を示す。
この動作は、図9に示した手順とは逆であるが、基本的な動作原理は図9の動作と変わらない。その動作手順は、図9の動作手順から容易に理解されるであろうから、詳細な説明は省略する。
【0029】
次に、図13及び14を参照してメディアデータ等のパケットの送受信動作703について説明する。ここで、図13は外部端末装置103から内部端末装置13へのパケットの送信手順を示し、図14は逆に、内部端末装置13から外部端末装置103へのパケットの送信手順を示す。
【0030】
図13において、まず、外部端末装置103にて、送信元に外部端末装置103のIPアドレスとポート番号を設定し、宛先に内部端末装置(例えば131)のIPアドレスとポート番号を設定したトンネリングパケットを生成して(S1300)、そのトンネリングパケットをNAT-GW装置113へ送信する(S1301)。
NAT-GW装置113は、外部端末装置103から送信されたトンネリングパケットを受信すると(1302)、トンネリングパケットの宛先IPアドレスとポート番号から対応するTCPコネクションをパケット中継テーブル40から取得して(S1303)、中継すべき宛先がこの中継テーブル40に登録されているか否かを判断する(S1304)。その結果、中継すべき宛先が中継テーブル40に未登録の場合は、パケットを破棄して次の受信を待つ(S1304)。一方、宛先が登録済みの場合は対応するTCPコネクションによりトンネリング通信終端装置14へトンネリングパケットを中継する(S1305)。
【0031】
トンネリング通信終端装置14は、NAT-GW装置113から送信されたトンネリングパケットを受信すると(S1306)、トンネリングパケットから送信データと宛先IPアドレスとポート番号を取得して(S1307)、パケット転送テーブル10を参照して内部端末装置131のIPアドレスとポート番号と一致する登録情報があるか否かを判定する(S1309)。その結果、一致する登録情報が無かった場合はパケットを破棄して次の受信を待つ。一方、一致する情報があった場合には、トンネリングパケットを通常のパケットに変換して、そのパケットを該当する内部端末装置131へ送信する(S1309)。
【0032】
次に、図14を参照して、内部端末装置13から外部端末装置103へパケットを送信する動作について説明する。
例えば、内部端末装置132は、図10におけるINVITEリクエストから取得したトンネリング通信終端装置14のIPアドレスとポート番号宛てに、メディアデータなどのデータパケットを送信する(S1400)。トンネリング通信終端装置14は、内部端末装置132から送信されたデータパケットを受信すると(S1401)、パケット転送テーブル60を参照してから送信元のIPアドレスとポート番号に対応して登録された外部端末装置103のIPアドレスとポート番号を取得して、トンネリングパケットを生成し(S1402)、そのトンネリングパケットをNAT-GW装置113へ送信する(S1404)。
なお、パケット転送テーブル60を検索した結果、対応する外部端末装置103に関するアドレス情報等が無い場合には、トンネリングパケットは破棄され、次の受信を待つことになる(S1403)。
【0033】
NAT-GW装置113は、トンネリング通信終端装置14からトンネリングパケットを受信すると(S1405)、トンネリングパケットの宛先IPアドレスとポート番号を取得し(S1406)、パケット中継テーブル40に外部端末装置103のIPアドレスとポート番号が登録されているか否かを判定する(S1407)。判定の結果、そのIPアドレス等が登録されていれば、その対応するTCPコネクションを介して外部端末装置103へトンネリングパケットを送信する(S1409)。一方、それが登録されていなければ、パケットを破棄して、次の受信を待つ。
外部端末装置103は、NAT-GW装置113から送信されたトンネリングパケットを受信して、そのトンネリングパケットから内部端末装置132が送信したデータを取得する(S1409)。
【0034】
次に、図11及び12を参照して、外部端末装置と内部端末装置間の通信経路を切断する動作704について説明する。
図11は内部端末装置から切断する場合を示し、図12は外部端末装置103から切断する場合を示す。
内部端末装置13から通信を切断する場合、図11のように、内部端末装置13からBYEリクエスト(SIPセッション終了要求)をSIPサーバ14へ送信する(S1101)。SIPサーバ14は、受信したBYEリクエストを、確立済みの通信経路を通して外部端末装置103へ送信する(S1102〜S1104)。
BYEリクエストを受信した外部端末装置103は、200OK(SIPセッション正常終了)レスポンスを、当該通信経路を通してNAT−GW装置113、トンネリング通信終端装置15、SIPサーバ14へ返送する(S1201〜S1203)。
【0035】
ここで、トンネリング通信終端装置15は200 OK(SIPセッション正常終了)を受信すると、SIPサーバ14へ200OK(SIPセッション正常終了)レスポンスを送信した後、パケット転送テーブル60に登録されている外部端末装置103のIPアドレスとポート番号と、トンネリング通信終端装置14のポート番号と、内部端末装置13のIPアドレスとポート番号を削除する。そして、内部端末装置13に対するメディアデータ転送用TCPコネクションを切断し、かつその転送用に開設したポートを閉じて、通信経路の切断を終了する。
なお、図12に示す、外部端末装置103から切断する動作は、図11とは逆であるが、実質的な原理は同様であるので、その説明を省略する。
【0036】
以上のように、本実施例によれば、NAT−GW装置113が外部端末装置103のIPアドレス、ポート番号、TCPコネクションを対応付けて、中継テーブル40に登録しておくことで、1つのTCPポートで複数種(複数ポート相当)のデータ通信を処理することができる。すなわち、従来のファイアウォール112のように、使用する数分のポートを開設する必要がなく、1つのTCPポートを開設して、トンネリングパケットに送信元、宛先情報を付加することにより、1つのTCPポートで複数の端末装置を複数の接続で通信することができる。1つのTCPポートのみで実現できるので、開設ポート数の低減に寄与する。
【図面の簡単な説明】
【0037】
【図1】一実施形態におけるネットワーク通信システムの構成例を示す図。
【図2】一実施形態における外部端末装置103の構成を示す図。
【図3】一実施形態におけるNAT-GW装置113の構成を示す図。
【図4】一実施形態におけるパケット中継テーブル40の構成を示す図。
【図5】一実施形態におけるトンネリング通信終端装置14の構成を示す図。
【図6】一実施形態におけるパケット転送テーブル60の構成を示す図。
【図7】一実施形態におけるトンネリング通信経路確立手順を示すシーケンス図。
【図8】一実施形態におけるトンネリング通信を行うTCPコネクション確立の手順を示すシーケンス図。
【図9】一実施形態におけるトンネリング通信経路確立の手順を示すシーケンス図。
【図10】一実施形態におけるトンネリング通信経路確立の手順を示すシーケンス図。
【図11】一実施形態におけるトンネリング通信を内部端末装置から切断する手順を示すシーケンス図。
【図12】一実施形態におけるトンネリング通信を外部端末装置から切断する手順を示すシーケンス図。
【図13】一実施形態におけるトンネリング通信において外部端末装置から内部端末装置へパケットを送信するときの処理の流れを示す図。
【図14】一実施形態におけるトンネリング通信において内部端末装置から外部端末装置へパケットを送信するときの処理の流れを示す図。
【符号の説明】
【0038】
10:外部セグメント、 11:DMZセグメント、 12:内部セグメント、 102、103:外部端末装置、113:NAT−GW装置、 13、131、132、:内部端末装置、 14:トンネリング通信終端装置、 15:SIPサーバ、 112:ファイアウォール、 201:SIPアプリケーション、 202:SIP部、 203:メディア部、 204:パケット変換部、 205:トンネリングパケット伝達部、 206:ソケット部、 301:トンネリング通信制御部、 302:トンネリングパケット中継部、
400:パケット中継テーブル、 501:SIP解析部、 502:パケット変換部、 503:トンネリングパケット伝達部、 504:ソケット部、 505:パケットルーティング制御部、 506:パケット転送部、 600:パケット転送テーブル
【特許請求の範囲】
【請求項1】
データ通信のためのあるアドレス体系を持つ外部セグメントに属する外部端末装置と、該外部セグメントとは異なるアドレス体系を持つ内部セグメントに属するトンネリング通信終端装置と内部端末装置とをNAT-GW装置を介して接続して、両端末装置間のセッション開始プロトコル(SIP)にて確立されたセッション(SIPセッション)を用いてパケット通信する通信方法であって、
該内部セグメントにあるトンネリング通信を終端するトンネリング通信終端装置において、該SIPパケットを解析すると共に、該外部端末装置と該内部端末装置間のパケットのルーティングを制御して、該内部端末装置に対するパケットを送受信し、
該NAT-GW装置において、トンネリングパケットを中継すると共に、1つTCPポートで接続を待受け、該外部端末装置と該NAT-GW装置間でTCPのコネクション(TCPコネクションという)を確立し、該NAT-GW装置間と該トンネリング通信終端装置間で別のTCPコネクションを確立し、該外部端末装置と該内部端末装置の各端末のIPアドレスとポート番号と各TCPコネクションとを対応付け、該トンネリングパケットに含まれる宛先情報に対応するTCPコネクションを用いて、該外部セグメントと該内部セグメント間でパケット通信することを特徴とする通信方法。
【請求項2】
該トンネリング通信終端装置と該外部端末装置は、該NAT-GW装置へ接続するTCPポート番号の問い合わせを行い、該NAT-GW装置から返送されたTCPポートへ対しコネクションを確立し、確立したTCPコネクションを用いてトンネリング通信を行うことを特徴とする請求項1の通信方法。
【請求項3】
該NAT-GW装置におけるパケットの中継及び該トンネリング通信終端装置におけるパケットの転送を許可する宛先IPアドレスとポート番号の組合せを該SIPセッションが確立した宛先間でだけトンネリング通信を許可することを特徴とする請求項1または2の通信方法。
【請求項4】
該外部端末装置と該内部端末装置間で送受信されるパケットのアプリケーション層のプロトコルに依存しないでトンネリング通信を行うことを特徴とする請求項1乃至3のいずれかの通信方法。
【請求項5】
データ通信のためのあるアドレス体系を持つ外部セグメントに属する外部端末装置と、該外部セグメントとは異なるアドレス体系を持つ内部セグメントに属するトンネリング通信終端装置及び内部端末装置とをNAT-GW装置によって接続して、両端末装置間のセッション開始プロトコル(SIP)にて確立されたセッション(SIPセッション)を用いてパケット通信するネットワーク通信システムであって、
該内部セグメントにおいてトンネリング通信を終端するトンネリング通信終端装置は、トンネリングパケットに関する変換を行う該パケット変換部と、該トンネリングパケットを送受信するトンネリングパケット伝達部と、該SIPパケットを解析するSIP解析部と、該外部端末装置と該内部端末装置間のパケットのルーティングを制御するパケットルーティング制御部と、該内部端末装置から受信したパケットを該パケットルーティング制御部へ通知し及び該パケットルーティング制御部から通知されたパケットを該内部端末装置へ送信する機能を有するパケット転送部とを有し、
該NAT-GW装置は、トンネリングパケットの宛先を制御するトンネリング通信制御部と、該外部端末装置と該トンネリング通信終端装置間でトンネリングパケットの中継を行うトンネリングパケット中継部を有し、かつ、該NAT−GW装置は、1つTCPポートで接続を待受け、該外部端末装置と該NAT-GW装置間でTCPのコネクション(TCPコネクション)を確立し、該NAT-GW装置間と該トンネリング通信終端装置間で別のTCPコネクションを確立し、該外部端末装置と該内部端末装置の各端末のIPアドレスとポート番号と各TCPコネクションとを対応付け、該トンネリングパケットに含まれる宛先情報に対応するTCPコネクションを用いて、該外部セグメントと該内部セグメント間のパケット通信することを特徴とするネットワーク通信システム。
【請求項6】
トンネリングパケットに送信元、宛先のIPアドレスとポート番号を付加することによって、該NAT-GW装置が開設する1つのTCPポートで複数の内部端末装置に対して複数の接続の通信を行うことを特徴とする請求項5のネットワーク通信システム。
【請求項7】
該外部端末装置と該内部端末装置の間のトンネリング通信経路確立において、該トンネリング通信終端装置の該SIPメッセージ解析部でSIPメッセージを解析して、外部セグメントと内部セグメントの間の通信を許可するIPアドレスとポート番号を決定することを特徴とする請求項5又は6のネットワーク通信システム。
【請求項8】
該SIPセッションが確立された外部端末装置と内部端末装置の間の通信経路において、アプリケーション層のプロトコルに依存することなく通信を行うことを特徴とする請求項5乃至7のいずれかのネットワーク通信システム。
【請求項9】
データ通信のためのあるアドレス体系を持つ外部セグメントに属する外部端末装置と、該外部セグメントとは異なるアドレス体系を持つ内部セグメントに属する内部端末装置とをNAT-GW装置を介して接続し、両端末装置間のセッション開始プロトコル(SIP)にて確立されたセッション(SIPセッション)を用いてパケットを通信する通信用プログラムであって、
該内部セグメントにあるトンネリング通信を終端するトンネリング通信終端装置において、該SIPパケットを解析すると共に、該外部端末装置と該内部端末装置間のパケットのルーティングを制御して、該内部端末装置に対するパケットを送受信する機能を有し、
該NAT-GW装置において、トンネリングパケットを中継すると共に、1つTCPポートで接続を待受け、該外部端末装置と該NAT-GW装置間でTCPのコネクション(TCPコネクションという)を確立し、該NAT-GW装置間と該トンネリング通信終端装置間で別のTCPコネクションを確立し、該外部端末装置と該内部端末装置の各端末のIPアドレスとポート番号と各TCPコネクションとを対応付け、該トンネリングパケットに含まれる宛先情報に対応するTCPコネクションを用いて、該外部セグメントと該内部セグメント間でパケット通信する機能を有することを特徴とする通信用プログラム。
【請求項10】
データ通信のためのあるアドレス体系を持つ、外部端末装置を含む外部セグメントと、該外部セグメントとは異なるアドレス体系を持ち、トンネリング終端装置及び内部端末装置を含む内部セグメントとの間に介在して、両端末装置間のセッション開始プロトコル(SIP)にて確立されたセッション(SIPセッション)を用いてパケット通信を管理するNAT-GW装置において、
トンネリングパケットの宛先を制御するトンネリング通信制御部と、該外部端末装置と該トンネリング通信終端装置間でトンネリングパケットの中継を行うトンネリングパケット中継部を有し、1つTCPポートで接続を待受け、該外部端末装置と該NAT-GW装置間でTCPのコネクション(TCPコネクション)を確立し、該NAT-GW装置間と該トンネリング通信終端装置間で別のTCPコネクションを確立し、該外部端末装置と該内部端末装置の各端末のIPアドレスとポート番号と各TCPコネクションとを対応付け、該トンネリングパケットに含まれる宛先情報に対応するTCPコネクションを用いて、該外部セグメントと該内部セグメント間のパケット通信することを特徴とするNAT-GW装置。
【請求項1】
データ通信のためのあるアドレス体系を持つ外部セグメントに属する外部端末装置と、該外部セグメントとは異なるアドレス体系を持つ内部セグメントに属するトンネリング通信終端装置と内部端末装置とをNAT-GW装置を介して接続して、両端末装置間のセッション開始プロトコル(SIP)にて確立されたセッション(SIPセッション)を用いてパケット通信する通信方法であって、
該内部セグメントにあるトンネリング通信を終端するトンネリング通信終端装置において、該SIPパケットを解析すると共に、該外部端末装置と該内部端末装置間のパケットのルーティングを制御して、該内部端末装置に対するパケットを送受信し、
該NAT-GW装置において、トンネリングパケットを中継すると共に、1つTCPポートで接続を待受け、該外部端末装置と該NAT-GW装置間でTCPのコネクション(TCPコネクションという)を確立し、該NAT-GW装置間と該トンネリング通信終端装置間で別のTCPコネクションを確立し、該外部端末装置と該内部端末装置の各端末のIPアドレスとポート番号と各TCPコネクションとを対応付け、該トンネリングパケットに含まれる宛先情報に対応するTCPコネクションを用いて、該外部セグメントと該内部セグメント間でパケット通信することを特徴とする通信方法。
【請求項2】
該トンネリング通信終端装置と該外部端末装置は、該NAT-GW装置へ接続するTCPポート番号の問い合わせを行い、該NAT-GW装置から返送されたTCPポートへ対しコネクションを確立し、確立したTCPコネクションを用いてトンネリング通信を行うことを特徴とする請求項1の通信方法。
【請求項3】
該NAT-GW装置におけるパケットの中継及び該トンネリング通信終端装置におけるパケットの転送を許可する宛先IPアドレスとポート番号の組合せを該SIPセッションが確立した宛先間でだけトンネリング通信を許可することを特徴とする請求項1または2の通信方法。
【請求項4】
該外部端末装置と該内部端末装置間で送受信されるパケットのアプリケーション層のプロトコルに依存しないでトンネリング通信を行うことを特徴とする請求項1乃至3のいずれかの通信方法。
【請求項5】
データ通信のためのあるアドレス体系を持つ外部セグメントに属する外部端末装置と、該外部セグメントとは異なるアドレス体系を持つ内部セグメントに属するトンネリング通信終端装置及び内部端末装置とをNAT-GW装置によって接続して、両端末装置間のセッション開始プロトコル(SIP)にて確立されたセッション(SIPセッション)を用いてパケット通信するネットワーク通信システムであって、
該内部セグメントにおいてトンネリング通信を終端するトンネリング通信終端装置は、トンネリングパケットに関する変換を行う該パケット変換部と、該トンネリングパケットを送受信するトンネリングパケット伝達部と、該SIPパケットを解析するSIP解析部と、該外部端末装置と該内部端末装置間のパケットのルーティングを制御するパケットルーティング制御部と、該内部端末装置から受信したパケットを該パケットルーティング制御部へ通知し及び該パケットルーティング制御部から通知されたパケットを該内部端末装置へ送信する機能を有するパケット転送部とを有し、
該NAT-GW装置は、トンネリングパケットの宛先を制御するトンネリング通信制御部と、該外部端末装置と該トンネリング通信終端装置間でトンネリングパケットの中継を行うトンネリングパケット中継部を有し、かつ、該NAT−GW装置は、1つTCPポートで接続を待受け、該外部端末装置と該NAT-GW装置間でTCPのコネクション(TCPコネクション)を確立し、該NAT-GW装置間と該トンネリング通信終端装置間で別のTCPコネクションを確立し、該外部端末装置と該内部端末装置の各端末のIPアドレスとポート番号と各TCPコネクションとを対応付け、該トンネリングパケットに含まれる宛先情報に対応するTCPコネクションを用いて、該外部セグメントと該内部セグメント間のパケット通信することを特徴とするネットワーク通信システム。
【請求項6】
トンネリングパケットに送信元、宛先のIPアドレスとポート番号を付加することによって、該NAT-GW装置が開設する1つのTCPポートで複数の内部端末装置に対して複数の接続の通信を行うことを特徴とする請求項5のネットワーク通信システム。
【請求項7】
該外部端末装置と該内部端末装置の間のトンネリング通信経路確立において、該トンネリング通信終端装置の該SIPメッセージ解析部でSIPメッセージを解析して、外部セグメントと内部セグメントの間の通信を許可するIPアドレスとポート番号を決定することを特徴とする請求項5又は6のネットワーク通信システム。
【請求項8】
該SIPセッションが確立された外部端末装置と内部端末装置の間の通信経路において、アプリケーション層のプロトコルに依存することなく通信を行うことを特徴とする請求項5乃至7のいずれかのネットワーク通信システム。
【請求項9】
データ通信のためのあるアドレス体系を持つ外部セグメントに属する外部端末装置と、該外部セグメントとは異なるアドレス体系を持つ内部セグメントに属する内部端末装置とをNAT-GW装置を介して接続し、両端末装置間のセッション開始プロトコル(SIP)にて確立されたセッション(SIPセッション)を用いてパケットを通信する通信用プログラムであって、
該内部セグメントにあるトンネリング通信を終端するトンネリング通信終端装置において、該SIPパケットを解析すると共に、該外部端末装置と該内部端末装置間のパケットのルーティングを制御して、該内部端末装置に対するパケットを送受信する機能を有し、
該NAT-GW装置において、トンネリングパケットを中継すると共に、1つTCPポートで接続を待受け、該外部端末装置と該NAT-GW装置間でTCPのコネクション(TCPコネクションという)を確立し、該NAT-GW装置間と該トンネリング通信終端装置間で別のTCPコネクションを確立し、該外部端末装置と該内部端末装置の各端末のIPアドレスとポート番号と各TCPコネクションとを対応付け、該トンネリングパケットに含まれる宛先情報に対応するTCPコネクションを用いて、該外部セグメントと該内部セグメント間でパケット通信する機能を有することを特徴とする通信用プログラム。
【請求項10】
データ通信のためのあるアドレス体系を持つ、外部端末装置を含む外部セグメントと、該外部セグメントとは異なるアドレス体系を持ち、トンネリング終端装置及び内部端末装置を含む内部セグメントとの間に介在して、両端末装置間のセッション開始プロトコル(SIP)にて確立されたセッション(SIPセッション)を用いてパケット通信を管理するNAT-GW装置において、
トンネリングパケットの宛先を制御するトンネリング通信制御部と、該外部端末装置と該トンネリング通信終端装置間でトンネリングパケットの中継を行うトンネリングパケット中継部を有し、1つTCPポートで接続を待受け、該外部端末装置と該NAT-GW装置間でTCPのコネクション(TCPコネクション)を確立し、該NAT-GW装置間と該トンネリング通信終端装置間で別のTCPコネクションを確立し、該外部端末装置と該内部端末装置の各端末のIPアドレスとポート番号と各TCPコネクションとを対応付け、該トンネリングパケットに含まれる宛先情報に対応するTCPコネクションを用いて、該外部セグメントと該内部セグメント間のパケット通信することを特徴とするNAT-GW装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2008−211480(P2008−211480A)
【公開日】平成20年9月11日(2008.9.11)
【国際特許分類】
【出願番号】特願2007−45788(P2007−45788)
【出願日】平成19年2月26日(2007.2.26)
【出願人】(000233295)日立情報通信エンジニアリング株式会社 (195)
【Fターム(参考)】
【公開日】平成20年9月11日(2008.9.11)
【国際特許分類】
【出願日】平成19年2月26日(2007.2.26)
【出願人】(000233295)日立情報通信エンジニアリング株式会社 (195)
【Fターム(参考)】
[ Back to top ]