JP4435082B2 - 通信装置、通信方法および通信プログラム - Google Patents

通信装置、通信方法および通信プログラム Download PDF

Info

Publication number
JP4435082B2
JP4435082B2 JP2005362300A JP2005362300A JP4435082B2 JP 4435082 B2 JP4435082 B2 JP 4435082B2 JP 2005362300 A JP2005362300 A JP 2005362300A JP 2005362300 A JP2005362300 A JP 2005362300A JP 4435082 B2 JP4435082 B2 JP 4435082B2
Authority
JP
Japan
Prior art keywords
communication device
message
address
communication
protocol
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005362300A
Other languages
English (en)
Other versions
JP2007166423A (ja
Inventor
康之 小堺
充 神田
俊一 権藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2005362300A priority Critical patent/JP4435082B2/ja
Publication of JP2007166423A publication Critical patent/JP2007166423A/ja
Application granted granted Critical
Publication of JP4435082B2 publication Critical patent/JP4435082B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Description

この発明は、アドレス変換機能を有するネットワーク中継装置を介して外部ネットワークに接続された他の通信装置と通信する通信装置、通信方法および通信プログラムに関するものである。
近年、限られたグローバルIPアドレスの数を越える複数の装置が同時にインターネット上の別の装置と通信できるようにするため、NAT boxを利用したネットワーク構成が広く利用されている。NAT boxとは、受信したパケットのIPアドレスやポート番号等を書き換えてからパケットを転送する、ネットワークアドレス変換(NAT:Network Address Translation)機能を有するルータ(ネットワーク中継装置)である。
NAT boxは、NAT box配下の装置から開始された新しい通信を検知するたびに、パケット中の送信元アドレスおよび送信先アドレスの組に対して変換先のアドレスをマッピングするデータ(NATマッピングと呼ばれる)を作成し、内部に保持する。そして、NAT boxは、このNATマッピングを参照してパケット中のアドレスを変換する。
ここで、アドレスにはIPアドレスだけでなくTCPヘッダ、UDPヘッダのポート番号などの、トランスポートプロトコルにおけるアドレスも含む場合が多い。なお、NAT boxによるアドレスの変換を以下ではNAT変換と記述することとする。
NAT box配下の装置から通信を開始すれば、パケットのIPアドレス等がNAT boxによって外部と通信可能なIPアドレス等に変換されるため、インターネット上の別の装置と通信を行うことができる。一方、インターネット上の装置から通信を開始するためには、インターネット上の装置から送信されたパケットをNAT boxがNAT box配下の装置に送信するために何らかの処理をあらかじめ行わなければ通信を行うことができない。
このように、NAT boxに関連する通信技術では、NAT boxの内部および外部の双方から通信可能とする技術の開発が課題の1つとなっている(第1の課題)。
従来から、第1の課題を解決するための技術は数多く存在するが、いずれも多くの処理ステップを必要としていた。このため、一定ステップ数で通信を開始可能とする技術が提案されている。例えば、NATマッピングをユーザが設定可能なNAT boxを利用する技術、UPnP(Universal Plug and Play)対応のNAT boxを利用する技術などが知られている。
一方、一般的なNAT boxは、IPヘッダの次に位置するTCPヘッダやUDPヘッダ内のポート番号も変換することにより、複数のNAT box配下の装置がTCPやUDPを用いて同時にNAT boxを介してインターネット上の装置と通信可能とする機能を有する。
ところが、このようなNAT boxの多くは、TCPやUDP以外のプロトコルに対応せず、TCPやUDP以外のプロトコルに対してはIPアドレスのみを変換する。このため、例えば暗号化を行うESP(IP Encapsulating Security Payload)でカプセル化したパケットを転送することができないものが存在する。
このように、NAT boxに関連する通信技術では、NAT boxが限られたプロトコルのみに対応しているという課題も存在する(第2の課題)。
第2の課題を解決する方法として、ESPとIPヘッダの間にUDPヘッダを挿入することにより、NAT boxを介してもESPを用いた通信を可能とする技術が提案されている(例えば、非特許文献1)。
非特許文献1の方式では、非特許文献2に記載された拡張された鍵交換プロトコルを用いて、NAT box配下の装置からインターネット上の装置へ通信を開始する。鍵交換プロトコルはUDPを用いて行われ、かつNAT box配下の装置から通信が開始されるため、NAT boxを介していても鍵交換プロトコルを実行できる。また、ESPで暗号化されたメッセージを、鍵交換プロトコルで使用したUDPの通信と同じポート番号のUDPでさらにカプセル化することで、NAT box配下の装置とインターネット上の装置が通信可能となる。
これにより、ESP等でカプセル化されたパケットでもNAT boxを介した通信が可能となる。また、鍵交換プロトコルによる折衝が完了した後は、いずれの装置からでもESPでカプセル化されたパケットで通信を開始可能である。
A. Huttunen et al.、"RFC 3948、 UDP Encapsulation of IPsec ESP Packets"、[online]、 January 2005、 retrieved from the Internet: <URL: http://www.ietf.org/rfc/rfc3948.txt> T. Kivinen et al.、"RFC 3947、 Negotiation of NAT-Traversal in the IKE"、[online]、 January 2005、 retrieved from the Internet: <URL: http://www.ietf.org/rfc/rfc3947.txt>
しかしながら、非特許文献1の方法では、必ずNAT box配下の装置から通信の確立を要求する必要があるという問題があった。すなわち、鍵交換プロトコルをインターネット上の装置から開始することができないという、上述の第1の課題と同様の問題があった。
本発明は、上記を鑑みてなされたものであって、プロトコルの制限を回避しつつ、NAT boxの外部の装置から通信の確立要求を行い、NAT box内外の双方の装置から通信を開始できる通信装置、通信方法および通信プログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、ローカルアドレスを有し、前記ローカルアドレスを第1のグローバルアドレスに変換する機能を有する中継装置を介してグローバルネットワークに接続された外部通信装置、および、前記外部通信装置との通信の確立を仲介する仲介サーバと、前記グローバルネットワークを介して接続可能な通信装置であって、あらかじめ割り当てられた第2のグローバルアドレスを記憶する記憶手段と、前記記憶手段に記憶された前記第2のグローバルアドレスを含み、前記外部通信装置への通信の確立を要求する第1のメッセージを前記仲介サーバへ送信する第1の送信手段と、前記仲介サーバから前記第1のメッセージに対する応答を受信し、前記外部通信装置から、前記中継装置が前記ローカルアドレスを前記第1のグローバルアドレスに変換可能なプロトコルによる通信で、前記第1のグローバルアドレスを含み前記第2のグローバルアドレスを宛先に指定した第2のメッセージを受信する第1の受信手段と、前記外部通信装置との間の第1のプロトコルでカプセル化された第2のプロトコルによる通信で用いる第1のパラメータとを含む第3のメッセージを前記仲介サーバへ送信する第2の送信手段と、前記仲介サーバから、前記外部通信装置との間の前記第1のプロトコルでカプセル化された前記第2のプロトコルによる通信で用いる第2のパラメータを含む第4のメッセージを受信する第2の受信手段とを備えることを特徴とする。
また、本発明は、第1のグローバルアドレスを有する外部通信装置、および、前記外部通信装置との通信の確立を仲介する仲介サーバが接続されたグローバルネットワークに、ローカルアドレスを第2のグローバルアドレスに変換する機能を有する中継装置を介して接続された通信装置であって、あらかじめ割り当てられた前記ローカルアドレスを記憶する記憶手段と、前記仲介サーバから、前記第1のグローバルアドレスを含み、前記外部通信装置からの通信の確立を要求する第1のメッセージを受信する第1の受信手段と、前記第1のメッセージに対する応答を前記外部通信装置へ前記仲介サーバを介して送信し、前記記憶手段に記憶された前記ローカルアドレスを含み、前記第1のメッセージに含まれる前記第1のグローバルアドレスを宛先に指定した第2のメッセージを前記中継装置が前記ローカルアドレスを前記第2のグローバルアドレスに変換可能なプロトコルによる通信で前記外部通信装置に送信する第1の送信手段と、前記仲介サーバから、前記第2のグローバルアドレスと、前記外部通信装置との間の第1のプロトコルでカプセル化された第2のプロトコルによる通信で用いる第1のパラメータとを含む第3のメッセージを受信する第2の受信手段と、前記外部通信装置との間の前記第1のプロトコルでカプセル化された前記第2のプロトコルによる通信で用いる第2のパラメータを含む第4のメッセージを前記仲介サーバに送信する第2の送信手段と、を備えたことを特徴とする。
また、本発明は、上記装置を実行することができる通信方法および通信プログラムである。
本発明によれば、インターネット上の通信装置からNAT box配下の通信装置へ通信の確立要求を行った場合であっても、カプセル化される任意のプロトコルによる通信の開始で必要な情報を、相互に送受信することができる。このため、プロトコルの制限を回避しつつ、NAT boxの外部の装置から通信の確立要求および通信の開始ができるという効果を奏する。
以下に添付図面を参照して、この発明にかかる通信装置、通信方法および通信プログラムの最良な実施の形態を詳細に説明する。
本実施の形態にかかる通信装置は、ルータまたはNAT boxのいずれに接続された場合であっても、通信の確立要求を行い、カプセル化される任意のプロトコルによる通信の開始で必要な情報を、相互に送受信するものである。
インターネット上で送受信されるメッセージは、通常、パケットと呼ばれるデータの単位に分割されて送信される。パケットは、送信元、送信先のアドレス情報等を格納するヘッダ部と、データ自体を格納するペイロード部から構成される。なお、ヘッダ部とペイロード部とを合わせた情報をデータグラムと呼ぶ場合もある。
以下では、IPヘッダとIPペイロードから構成されるものをパケットと呼び、UDPヘッダとUDPペイロードから構成されるものをUDPデータグラム、TCPヘッダとTCPペイロードから構成されるものをTCPセグメントと呼ぶ。
また、カプセル化とは、既存のパケットやデータグラム等を任意のプロトコルの新たなペイロードとし、当該プロトコルの新たなヘッダを付与することにより、既存のパケットやデータグラム等を生成したプロトコルを隠蔽化することをいう。なお、新たなペイロードを生成する際に、暗号化等のデータの加工処理を行う場合を含む。
例えば、TCPで作成されたTCPセグメントをESPにより暗号化し、ESPヘッダを付与することにより、TCPセグメントをESPでカプセル化することができる。
図1は、本実施の形態にかかる通信装置100を含むネットワーク全体の構成を示すブロック図である。なお、同図では、2つの通信装置100a、100bが記載されているが、機能や構成は同一である。通信装置100a、100bをまとめて通信装置100と呼ぶ。通信装置100aには、グローバルIPアドレスAが、通信装置100bにはプライベートIPアドレスBが割り当てられているものとする。
同図に示すように、通信装置100aは、LAN(Local Area Network)110aに接続され、ルータ120aを介してインターネット130に接続されている。通信装置100bは、LAN(Local Area Network)110bに接続され、NAT box120bを介してインターネット130に接続されている。また、インターネット130には、SIP(Session Initiation Protocol)により通信の確立を仲介する仲介サーバであるSIP Proxy140が接続されている。
ルータ120aはLAN110aとインターネット130に接続され、グローバルIPアドレスRAが付与されているものとする。なおルータ120aはNAT boxであってもよい。ただしこの場合は、NATマッピングをユーザまたは通信装置100aから設定できる機能をルータ120aが備えることを前提とする。
例えば、ルータ120aを、UPnP IGD(Universal Plug and Play Internet Gateway Device)におけるポートマッピング設定機能や、Cone NATと呼ばれる種別のNATと同様の機能を備えるように構成すればよい。
このような機能を備えることにより、通信装置100bからアクセス可能な送信先IPアドレス、送信先UDPポート番号を通信装置100bに正しく通知することができる。すなわち、通信装置100bが通知された送信先UDPポート番号、送信先IPアドレスを設定したパケットを送信したとき、NAT変換機能を有するルータ120aは事前に設定されたNATマッピングに従い、正しく通信装置100aに転送することができる。
NAT box120bは、インターネット130とLAN110bに接続され、NAT変換機能を備え、グローバルIPアドレスRBが付与されているものとする。
ここで、NAT box120bが備える、TCPまたはUDPヘッダを含むパケットに対する一般的なアドレス変換アルゴリズムについて説明する。
NAT box120bは、NAT box120b配下の装置から通信を開始する最初のパケットを検知すると、NATマッピングを作成し、データベースに記憶する。
NATマッピングとは、パケット中の送信元アドレスおよび送信先アドレスに対して変換先のアドレスをマッピングするデータであり、例えば、ローカルIPアドレスおよびローカルポート番号に対して、それぞれ変換先IPアドレスおよび変換先ポート番号を対応づけて格納している。また、これ以外に、トランスポートプロトコル種別、リモートIPアドレス、リモートポート番号を含む場合が多い。
NAT box120bは、作成するNATマッピングのローカルIPアドレスをパケットの送信元IPアドレスに設定し、リモートIPアドレスをパケットの送信先IPアドレスに設定し、ローカルポート番号をパケットの送信元ポート番号に設定し、リモートポート番号をパケットの送信先ポート番号に設定し、トランスポートプロトコル種別をパケットに含まれるトランスポートプロトコルの種別に設定し、変換先IPアドレスをNAT box120bに付与されるグローバルIPアドレスに設定する。
さらに、リモートIPアドレス、トランスポートプロトコル種別、リモートポート番号、変換先IPアドレス、変換先ポート番号の組がデータベース内の全NATマッピングで唯一になるようなポート番号のうちの一つを選び、NATマッピングの変換先ポート番号に設定する。
そして、NAT box120bはパケットの送信元IPアドレスを作成したNATマッピングの変換先IPアドレスに変換し、送信元ポート番号を変換先ポート番号に変換してから転送する。これにより、パケットを受信した装置に、あたかもNAT box120bからパケットが送信されたように認識させることができる。
次に、上述のパケットとは送信先IPアドレスと送信元IPアドレスの値が逆で、かつ送信先ポート番号と送信元ポート番号が逆で、かつトランスポートプロトコル種別が等しいパケットを検知すると、NAT box120bはデータベースから送信元IPアドレスがリモートIPアドレスに等しく、かつ送信先IPアドレスが変換先IPアドレスに等しく、かつトランスポートプロトコル種別がパケット中のトランスポートプロトコルに等しく、かつ送信元ポート番号がリモートポート番号に等しく、かつ送信先ポート番号が変換先ポート番号に等しいNATマッピングを検索することで、作成したNATマッピングを取得する。
そして、NAT box120bは、パケットの送信先IPアドレスをNATマッピングのローカルIPアドレスに変換し、パケットの送信先ポート番号をローカルポート番号に変換してからパケットを転送する。
このようなアドレス変換プロトコルにより、NAT box120bはアドレスを変換したパケットを転送する。
なお、本実施の形態では、通信装置100aとSIP Proxy140の間の通信、および通信装置100bとSIP Proxy140との間の通信はSIPで行うものとする。通信装置100a、100bとSIP Proxy140との間の通信プロトコルはこれに限られるものではなく、NAT box120bを介した場合であっても通信装置100bからSIP Proxy140に接続可能なものであればどのようなプロトコルを使用してもよい。
また、本実施の形態において確立する通信は、IP、UDP、ESPでカプセル化されたTCPセッションとして説明する。
ここで、通信装置100aがIP、UDP、ESPでカプセル化されたTCPセグメントで通信装置100bへデータを送信する際の送信元TCPポート番号および送信元UDPポート番号をそれぞれTP、UPとする。また、通信装置100bがIP、UDP、ESPでカプセル化されたTCPセグメントで通信装置100aへデータを送信する際の送信元TCPポート番号および送信元UDPポート番号をそれぞれTQ、UQとする。
なお、通信に用いるパケットは、少なくともIPと、IPの次のプロトコルである第1のプロトコル(上記例ではUDP)と、第1のプロトコルでカプセル化する第2のプロトコル(上記例ではESP)のヘッダを含むパケットであればよい。また、第1のプロトコルは、UDPに限られるものではなく、NAT box120bがNAT変換可能なものであれば、TCPなどのあらゆるプロトコルを適用できる。
また、第2のプロトコルは、ESPのようにNAT変換不可能なプロトコルだけでなく、NAT変換可能なUDP、TCPなども含む、あらゆるプロトコルを適用できる。ただし、第1のプロトコル、第2のプロトコルをともにTCPとすることは、TCPの輻輳制御を行う機能に関連してエラーが発生する場合があるため避けることが望ましい。
次に、通信装置100の構成について説明する。なお、通信装置100は、通信装置100aのようにNAT変換機能を有さないルータ120a配下に設置された場合と、通信装置100bのようにNAT box120bに設置された場合とで実行する処理が異なる。
そこで、以下では説明の便宜上、通信装置100が、ルータ120aまたはNAT box120bのいずれの配下に設置されているかにより処理および機能を分けて記載する。
まず、ルータ120a配下に接続された通信装置100aから、NAT box120b配下に接続された通信装置100bに対して、通信の確立を要求する場合について説明する。
通信装置100a、100bは、送受信部101と、アドレス取得部102と、メッセージ生成部103と、メッセージ処理部104と、変換後アドレス検出用パケット生成部105と、変換後アドレス検出用パケット処理部106と、記憶部107とを備えている。
送受信部101は、外部装置との間でパケットの送受信を行うものである。具体的には、メッセージ生成部103が生成したパケットを送信し、外部装置から送信されたパケットを受信してメッセージ処理部104、またはアドレス取得部102に受信したパケットを渡す処理を行う。
アドレス取得部102は、通信装置100aが備えるものであり、通信装置100bから通信装置100aに到達可能なUDPデータグラムの送信先IPアドレス、送信先UDPポート番号を取得し、記憶部107に記憶させるものである。送信先IPアドレス、送信先UDPポート番号の取得方法の詳細については後述する。
メッセージ生成部103は、外部装置との通信に用いるメッセージの生成を行うものである。なお、メッセージ生成部103は、通信の確立を要求する場合には(通信装置100aに相当)、SIPにおける接続を要求するためのメッセージを表すINVITEリクエストを生成する。また、通信を要求される場合には(通信装置100bに相当)、SIPにおけるINVITEリクエストに対する応答のメッセージを表す200OK応答を生成する。
具体的には、メッセージ生成部103は、アドレス取得部102により取得された送信先IPアドレスと送信先UDPポート番号と、認証に用いる第1の認証データとを含むINVITEリクエストを生成する。
また、メッセージ生成部103は、TCPセッションで通信装置100aがデータを送信する場合の送信元TCPポート番号とESPによるカプセル化に必要な第1のパラメータ、およびメッセージ処理部104が取得した送信元IPアドレスと送信元UDPポート番号とを含むINVITEリクエストを生成する。なお、前記のINVITEリクエストと区別するため、以下ではこのINVITEリクエストをre−INVITEリクエストという。
ここで、ESPによるカプセル化に必要なパラメータとは、ESPにより暗号化鍵を生成するためのパラメータをいう。以下では、通信装置100aから送信するパラメータを第1のパラメータといい、通信装置100bから送信するパラメータを第2のパラメータという。各装置は相互にパラメータを受信し、暗号化鍵生成用の関数にパラメータを適用して暗号化鍵を生成する。
また、メッセージ生成部103は、INVITEリクエストを受信した場合に、当該INVITEリクエストに対する200OK応答を生成する。
さらに、メッセージ生成部103は、re−INVITEリクエストに対して、TCPセッションでデータを送信する場合の送信元TCPポート番号、ESPによるカプセル化に必要な第2のパラメータを含む200OK応答を生成する。
メッセージ処理部104は、通信の確立を要求した場合には(通信装置100aに相当)、re−INVITEリクエストに対する200OK応答から、通信装置100bがTCPセッションでデータを送信する場合の送信元TCPポート番号、ESPによるカプセル化に必要な第2のパラメータを取得し、記憶部107に保持させるものである。
一方、メッセージ処理部104は、通信の確立を要求された場合には(通信装置100bに相当)、受信したINVITEリクエストから、第1の認証データと送信先IPアドレスと送信先UDPポート番号とを取得し、記憶部107に保存する。
変換後アドレス検出用パケット生成部105は、NAT box120bにNATマッピングを生成させるために、通信装置100bがUDPで通信装置100aへ送信するパケットを生成する。当該パケットを送信することにより、NAT box120bがNATマッピングを生成し、通信装置100aには、送信元IPアドレスおよびUDPポート番号がNAT変換されたパケットが転送される。以下では、当該パケットを変換後アドレス検出用パケットと呼ぶ。
変換後アドレス検出用パケット処理部106は、通信装置100bが送信した変換後アドレス検出用パケット中の送信元IPアドレスと、送信元UDPポート番号と、通信装置100bを認証させるための第2の認証データとを取得し、記憶部107に保存しておいた第1の認証データとの整合性を検証する。また、変換後アドレス検出用パケット処理部106は、取得した送信元IPアドレスと、送信元UDPポート番号とを記憶部107に保存する。
記憶部107は、装置間の認証に用いる情報、メッセージの送受信に必要なアドレス情報、パラメータを格納する記憶部であり、HDD(Hard Disk Drive)、光ディスク、メモリカードなどの一般的に利用されているあらゆる記憶媒体により構成することができる。
図1に示すように、記憶部107は、送信先アドレステーブル107aと、送信元アドレステーブル107bと、カプセル化パラメータテーブル107cとを備えている。
送信先アドレステーブル107aは、アドレス取得部102が取得したIPアドレスおよびUDPポート番号を格納するテーブルである。なお、このIPアドレスおよびUDPポート番号は変換後アドレス検出用パケットの送信先アドレスとなる。図2は、送信先アドレステーブル107aのデータ構造の一例を示す説明図である。
同図に示すように、送信先アドレステーブル107aは、送信先アドレスの情報として、送信先IPアドレスと、送信先UDPポート番号とを格納している。
送信元アドレステーブル107bは、通信装置100bが送信した変換アドレス検出用パケットをNAT box120bがNAT変換した後の送信元IPアドレスおよび送信元ポート番号を格納するテーブルである。図3は、送信元アドレステーブル107bのデータ構造の一例を示す説明図である。
同図に示すように、送信元アドレステーブル107bは、送信元アドレスの情報として、送信元IPアドレスと、送信元UDPポート番号とを格納している。
カプセル化パラメータテーブル107cは、TCPなどのカプセル化されるプロトコルで使用する情報、ESPなどのプロトコルでカプセル化する際に必要なパラメータを格納するテーブルである。図4は、カプセル化パラメータテーブル107cのデータ構造の一例を示す説明図である。
同図に示すように、カプセル化パラメータテーブル107cは、他の通信装置がTCPセッションでデータを送信する際の送信元TCPポート番号と、ESPでカプセル化する際に必要なパラメータであるESPパラメータとを対応づけて格納している。なお、ESPによるカプセル化に必要なパラメータは複数存在しうるが、同図ではESPパラメータをまとめてEPとして表している。
なお、図1には図示していないが、記憶部107は、上記テーブル以外に、認証に用いる認証データも格納する。
ここで、本実施の形態で送受信されるパケットについて説明する。図5は、本実施の形態で送受信されるパケットのヘッダの構成の一例を示した説明図である。
同図に示すように、パケットのヘッダは、IPヘッダ、UDPヘッダ、ESPヘッダ、TCPヘッダの順に記載されている。これは、通信の確立後に開始する通信の通信プロトコルがTCPであり、TCPセグメントをESPで暗号化し、さらにNAT box120bを通過できるようにUDPでカプセル化して、IPヘッダを付加したパケットであることを意味する。なお、上述のように、通信プロトコルはこれらに限られるものではない。
次に、このように構成された本実施の形態にかかる通信装置100の通信処理について説明する。図6は、本実施の形態における通信処理の全体の流れを示すシーケンス図である。なお、同図では通信処理の概要を示し、処理の詳細については後述する図7、図8の詳細シーケンス図で説明する。
同図に示すように、通信装置100aにはグローバルIPアドレスAが付与され、ルータ120aにはグローバルIPアドレスRAが付与され、NAT box120bにはグローバルIPアドレスRBが付与され、通信装置100bにはプライベートIPアドレスBが付与されている。
また、通信処理を開始する前提として、通信装置100aおよび通信装置100bは、それぞれSIP Proxy140との間でSIPセッションを確立しているものとする。ただし、SIPセッションを確立する際、SIP Proxy140からではなく、通信装置100aおよび通信装置100bから通信を開始するものとする。NAT box120b配下の装置からインターネット130上の装置への接続となるため、NAT box120bを介しても通信装置100bはSIPセッションを確立可能である。ルータ120aがNAT boxである場合も同じ理由によりSIPセッションを確立可能である。
まず、通信装置100aのアドレス取得部102が、通信装置100bから通信装置100aに到達可能なアドレスの情報を取得するアドレス取得処理を行う(ステップS601)。
次に、通信装置100aのメッセージ生成部103が、第1の認証データを生成して記憶部107に保存するとともに、ステップS601で取得したアドレス情報と第1の認証データとを含むINVITEリクエストを生成し、送受信部101により送信する(ステップS602)。
次に、INVITEリクエストはルータ120aに送信され(ステップS603)、SIP Proxy140に転送される(ステップS604)。
次に、INVITEリクエストは、SIP Proxy140によりNAT box120bに転送され(ステップS605)、NAT box120bから通信装置100bに転送される(ステップS606)。
次に、通信装置100bのメッセージ処理部104は、INVITEリクエストに含まれるアドレス情報、第1の認証データを記憶部107に保存する(ステップS607)。
次に、通信装置100bは、受信したINVITEリクエストに対する200OK応答を送信する(ステップS608)。200OK応答はNAT box120bに送信され(ステップS609)、NAT box120bから、SIP Proxy140に転送される(ステップS610)。
次に、200OK応答は、SIP Proxy140によりルータ120aに転送され(ステップS611)、ルータ120aから通信装置100aに転送される(ステップS612)。
次に、通信装置100aの送受信部101は200OK応答を受信する(ステップS613)。
一方、通信装置100bでは、200OK応答送信後、NAT box120bで変換された後の送信元アドレス情報を検出するために利用する変換後アドレス検出用パケットを送信する(ステップS614)。変換後アドレス検出用パケットには、通信装置100bを認証するための認証データも含まれる。
変換後アドレス検出用パケットはNAT box120bに送信され(ステップS615)、NAT box120bによりNAT変換された後、NAT box120bから、ルータ120aに転送される(ステップS616)。このように、変換後アドレス検出用パケットの送信にはSIP Proxy140を使用しない。
次に、変換後アドレス検出用パケットは、ルータ120aから通信装置100aに転送される(ステップS617)。次に、通信装置100aの送受信部101は変換後アドレス検出用パケットを受信し、送信元アドレス情報、認証データを取得し検証する処理を行う(ステップS618)。
検証に成功した場合、通信装置100aのメッセージ処理部104は、送信元アドレス情報を記憶部107に保存する(ステップS619)。
次に、通信装置100aのメッセージ生成部103は、ESPでカプセル化するTCPセッションでデータを送る際に必要なパラメータと、ESPでカプセル化するために必要な第1のパラメータとを含むre−INVITEリクエストを生成して送信する(ステップS620)。
次に、re−INVITEリクエストはルータ120aに送信され(ステップS621)、SIP Proxy140に転送される(ステップS622)。
次に、re−INVITEリクエストは、SIP Proxy140によりNAT box120bに転送され(ステップS623)、NAT box120bから通信装置100bに転送される(ステップS624)。
次に、通信装置100bのメッセージ処理部104は、re−INVITEリクエストに含まれる各種パラメータを記憶部107に保存する(ステップS625)。
次に、通信装置100bは、受信したre−INVITEリクエストに対する200OK応答を送信する(ステップS626)。この場合の200OK応答には、ESPでカプセル化するTCPセッションでデータを送る際に必要なパラメータと、ESPでカプセル化するために必要な第2のパラメータとが含まれる。
200OK応答はNAT box120bに送信され(ステップS627)、NAT box120bから、SIP Proxy140に転送される(ステップS628)。
次に、200OK応答は、SIP Proxy140によりルータ120aに転送され(ステップS629)、ルータ120aから通信装置100aに転送される(ステップS630)。
次に、通信装置100aの送受信部101は200OK応答を受信し、メッセージ処理部104は200OK応答に含まれる各種パラメータを記憶部107に保存する(ステップS631)。
このような処理により、通信装置100aと通信装置100bは、TCPセッションのパケットを送受信するために必要な全てのアドレス情報、ESPでカプセル化するためのパラメータを取得できるので、相互にTCPセッションによる通信を開始可能になる(ステップS632)。
次に、このように構成された本実施の形態にかかる通信装置100の通信処理の詳細について説明する。図7、図8は、本実施の形態における通信処理の詳細な流れを示すシーケンス図である。なお、同図ではルータ120a、SIP Proxy140、NAT box120bは省略している。
まず、通信装置100aのアドレス取得部102が、通信装置100bから到達可能なUDPデータグラムの送信先IPアドレス(X)、送信先UDPポート番号(XP)を取得し、送信先アドレステーブル107aに保存する(ステップS701)。アドレス情報の取得処理は、以下のように行う。
ルータ120aがNAT boxでない場合、通信装置100aにはグローバルIPアドレスAが付与されるため、IPアドレスA、および通信装置100a上のUDPポート番号UPが通信装置100bから通信装置100aへ到達可能なUDPデータグラムの送信先IPアドレス、送信先UDPポート番号となる。そこで、ルータ120aがNAT boxでない場合は、自装置のIPアドレスA、UDPポート番号UPを、送信先IPアドレスX、送信先UDPポート番号XPとして取得する。
一方、ルータ120aがNAT boxである場合、通信装置100aにはプライベートIPアドレスが付与されるため、IPアドレスXをA以外のIPアドレスにする必要がある。しかし、ルータ120aがNAT boxである場合、上述のように、ルータ120aはNATマッピングを設定する手段を備えることを前提としている。したがって、自ら設定したNATマッピングに従い、外部の装置から自装置へ到達可能なアドレス情報を取得することができる。
すなわち、IPアドレスRA、UDPポート番号RPを送信先とするパケットの送信先を通信装置100aのIPアドレスA、UDPポート番号UPに変換し転送するような、RPをルータ120aに設定可能である。そこで、ルータ120aのIPアドレスRA、変換先UDPポート番号RPを、送信先IPアドレスX、送信先UDPポート番号XPとして取得することが可能となる。
次に、通信装置100aのメッセージ生成部103は、第1の認証データを生成し、記憶部107に第1の認証データを保存する(ステップS702)。第1の認証データとしては、例えば、ランダムな数字列を生成する。
また、メッセージ生成部103は、送信先アドレステーブル107aに保存したIPアドレスXとUDPポート番号XPと第1の認証データとを含むINVITEリクエストを生成する(ステップS703)。
次に、通信装置100aの送受信部101は、生成したINVITEリクエストをSIP Proxy140を介して通信装置100bに送信する(ステップS704)。
次に、通信装置100bの送受信部101はINVITEリクエストを受信し(ステップS705)、メッセージ処理部104は、INVITEリクエストに記されたIPアドレスX、UDPポート番号XP、第1の認証データを取得し、記憶部107に保存する(ステップS706)。なお、IPアドレスX、UDPポート番号XPは、通信装置100b内の送信先アドレステーブル107aに保存される。
次に、通信装置100bの送受信部101が、メッセージ生成部103により生成されたINVITEリクエストに対する200OK応答を、SIP Proxy140を介して通信装置100aに送信する(ステップS707)。
次に、通信装置100aの送受信部101は200OK応答を受信する(ステップS708)。
次に、通信装置100bのメッセージ処理部104は、第1の認証データにパスワードを統合した第2の認証データを生成する(ステップS709)。パスワードは、事前に通信装置100aとの間で交換したものを用いる。
このように、第1の認証データを受信し、受信した第1の認証データとパスワードから生成した第2の認証データを返信して認証を行うダイレクト認証により、通信装置100bから送信されたメッセージであることの認証を行う。
また、通信装置間の認証方法はこれに限られるものではなく、一般的に用いられているあらゆる認証方法を適用することができる。例えば、ステップS707で返信する200OK応答に第2の認証データを含め、ステップS709では別の認証データである第3の認証データを変換後アドレス検出用パケットに含め、通信装置100aでは、受信した第2の認証データおよび第3の認証データと、事前に記憶部107に保存した第1の認証データとの整合性を確認することにより、認証を行うように構成してもよい。
また、ステップS706で第1の認証データを取得したときに、事前に記憶した認証データと照合して通信装置100aからのメッセージであることを認証するように構成してもよい。さらに、認証処理を省略するように構成してもよい。
次に、通信装置100bの変換後アドレス検出用パケット生成部105は、送信先アドレステーブル107aに保存しておいたIPアドレスXおよびUDPポート番号XPをそれぞれ送信先IPアドレスおよび送信先UDPポート番号とし、自装置(通信装置100b)のIPアドレスBおよびUDPポート番号UQをそれぞれ送信元IPアドレスおよび送信元UDPポート番号とする、変換後アドレス検出用パケットを生成する(ステップS710)。なお、変換後アドレス検出用パケットは、ステップS709で生成した第2の認証データを含む。
次に、通信装置100bの送受信部101は、生成した変換後アドレス検出用パケットを、通信装置100aに対して送信する(ステップS711)。
次に、通信装置100aの送受信部101は、変換後アドレス検出用パケットを受信する(ステップS712)。
ここで、ステップS711で通信装置100bから送信され、ステップS712で通信装置100aに受信されるまでの、変換後アドレス検出用パケットが通る経路および当該パケットに対して施される処理の詳細について説明する。
図9は、ルータ120aがNAT boxでない場合の変換後アドレス検出用パケット901の経路の一例を示す説明図である。
同図では、ルータ120aがNAT boxでないため、通信装置100aのアドレス取得部102が取得したIPアドレスXは通信装置100aに付与されたグローバルIPアドレスAであり、UDPポート番号XPは、通信装置100a上のUDPポート番号UPである。
まず、パケット901はNAT box120bを経由するが、このときNAT box120bによって少なくともパケット901の送信元IPアドレスBがNAT box120bに付与されたグローバルIPアドレスRBに変換される。また、パケット901のUDPポート番号UQも変換される場合があるが、いずれにせよNAT box120bを通過後のパケット901の送信元UDPポート番号をRQとする。
次に、パケット901はSIP Proxy140を経由せず、ルータ120aに転送される。ルータ120aはNAT変換機能を備えていないため、パケット901を単に通信装置100aに転送する。
このようにして、NAT変換後の送信元IPアドレスRBおよび送信元UDPポート番号RQを含むパケットが通信装置100aに到達する。
一方、図10は、ルータ120aがNAT boxである場合の変換後アドレス検出用パケット1001の経路の一例を示す説明図である。
同図では、ルータ120aはNAT boxであるため、ステップS601の通信開始時には既にパケット1001の送信先IPアドレスX、送信先UDPポート番号XPを変換するためのNATマッピングが設定済みである。
また、通信装置100aのアドレス取得部102が取得したIPアドレスXはルータ120aに付与されたグローバルIPアドレスRAであると同時にルータ120aに設定されたNATマッピングの変換先IPアドレスであり、UDPポート番号XPは、ルータ120aに設定されたNATマッピングの変換先UDPポート番号RPである。
同図の例でも、パケット1001はNAT box120bを経由するが、このときNAT box120bのアドレス変換機能によって少なくともパケット1001の送信元IPアドレスBがNAT box120bに付与されたグローバルIPアドレスRBに変換される。また、パケット1001のUDPポート番号UQも変換される場合があるが、いずれにせよNAT box120bを通過後のパケット1001の送信元UDPポート番号をRQとする。
次に、ルータ120aは、設定されたNATマッピングを用いて、パケット1001の送信先IPアドレスRAをIPアドレスAに変換し、送信先UDPポート番号RPをUPに変換して、通信装置100aにパケット1001を転送する。
このようにして、ルータ120aがNAT boxである場合であっても、NAT変換後の送信元IPアドレスRBおよび送信元UDPポート番号RQを含むパケットが通信装置100aに到達する。
ステップS712で通信装置100aの送受信部101が変換後アドレス検出用パケットを受信した後、通信装置100aの変換後アドレス検出用パケット処理部106が、変換後アドレス検出用パケットの送信元IPアドレスRB、送信元UDPポート番号RQ、変換後アドレス検出用パケットに記された第2の認証データ、および記憶部107に保存していた第1の認証データとの整合性を検証する(ステップS713)。
なお、検証に失敗した場合、通信装置100aはアドレス取得処理(ステップS701)から処理をやり直す。また、接続を取りやめる旨のメッセージをSIP Proxy140を経由して通信装置100bに送信し、通信処理を終了するように構成してもよい。
検証に成功した場合、通信装置100aのメッセージ処理部104は、送信元アドレステーブル107bにIPアドレスRB、UDPポート番号RQを保存する(ステップS714)。
次に、通信装置100aのメッセージ生成部103は、IPアドレスRBと、UDPポート番号RQと、通信装置100aがTCPセッションでデータを送る場合の送信元ポート番号TPと、ESPでTCPをカプセル化するために必要な第1のパラメータEP1とを含むre−INVITEリクエストを生成する(ステップS715)。
なお、メッセージ生成部103は、ステップS708で受信した200OK応答に含まれるCall−IDと呼ばれるIDを記憶部107に保存しておき、当該Call−IDをINVITEリクエスト記載するように構成してもよい。
Call−IDはSIP特有のIDであり、個々の呼を識別するためのIDである。SIPの仕様により、Call−IDを変えずにINVITEリクエストを送信することで、全く新しい通信の確立を要求するのではなく通信装置100bとの接続に使用するプロトコルを変更することを、通信装置100aが通信装置100bに明示することができる。
次に、通信装置100aの送受信部101は、SIP Proxy140を介して通信装置100bにre−INVITEリクエストを送信する(ステップS716)。
次に、通信装置100bの送受信部101は、re−INVITEリクエストを受信する(ステップS717)。次に、通信装置100bのメッセージ処理部104は、re−INVITEリクエストに含まれるIPアドレスRB、UDPポート番号RQ、TCPポート番号TP、ESPでTCPをカプセル化するために必要な第1のパラメータEP1をカプセル化パラメータテーブル107cに保存する(ステップS718)。
次に、通信装置100bのメッセージ生成部103は、通信装置100bがTCPセッションでデータを送信する場合の送信元ポート番号TQと、ESPでカプセル化するために必要な第2のパラメータEP2を含む200OK応答を生成する(ステップS719)。
次に、通信装置100bの送受信部101は、SIP Proxy140を介して通信装置100aに200OK応答を送信する(ステップS720)。
次に、通信装置100aの送受信部101は、200OK応答を受信する(ステップS721)。次に、通信装置100aのメッセージ処理部104は、200OK応答に含まれるTCPポート番号TQ、ESPでTCPをカプセル化するために必要な第2のパラメータEP2をカプセル化パラメータテーブル107cに保存する(ステップS722)。
以上により、通信装置100aと通信装置100bは、TCPセッションのパケットを送受信するために必要な全てのIPアドレス、UDPポート番号、ESPでカプセル化するためのパラメータ、TCPポート番号を相互に取得できるので、通信装置100aからでも通信装置100bからでもTCPによる通信を開始可能となる。
通信装置100aから通信を開始することでTCPセッションを確立する場合、通信装置100aは、送信元IPアドレス、送信元UDPポート番号、送信元TCPポート番号をそれぞれA、UP、TPとし、送信先IPアドレス、送信先UDPポート番号、送信先TCPポート番号をそれぞれRB、RQ、TQとし、TCPのSYNフラグをセットし、UDPヘッダとESPでTCPヘッダをカプセル化したパケットを送信すればよい。
一方、通信装置100bから通信を開始することでTCPセッションを確立する場合、通信装置100bは、送信元IPアドレス、送信元UDPポート番号、送信元TCPポート番号をそれぞれB、UQ、TQとし、送信先IPアドレス、送信先UDPポート番号、送信先TCPポート番号をそれぞれX、XP、TPとし、TCPのSYNフラグをセットし、UDPヘッダとESPでTCPヘッダをカプセル化したパケットを送信すればよい。
いずれの場合でも、カプセル化されたパケットはステップS711で通信装置100bが送信した変換後アドレス検出用パケットと同じ経路、同じIPアドレス、同じUDPポート番号を使用するので、通信相手の装置に到達可能である。
次に、NAT box120b配下に接続された通信装置100bから、ルータ120a配下に接続された通信装置100aに対して、通信の確立を要求する場合について説明する。
この場合、通信装置100aから通信の確立を要求する場合と異なり、メッセージ生成部103、メッセージ処理部104、変換後アドレス検出用パケット生成部105、および変換後アドレス検出用パケット処理部106は以下の処理を実行する。
メッセージ生成部103は、通信装置100bから通信の確立を要求する場合(通信装置100bに相当)、送信先IPアドレスと送信先UDPポート番号と第1の認証データとをいずれも含まないINVITEリクエストを生成する。
また、通信の確立を要求される場合には(通信装置100aに相当)、メッセージ生成部103は、INVITEリクエストを受信した場合に、自装置(通信装置100a)を認証するための第1の認証データと、アドレス取得部102で取得した送信先IPアドレスと送信先UDPポート番号とを含む200OK応答を生成する。
メッセージ処理部104は、INVITEリクエストに対して通信装置100aが送信した200OK応答から、第1の認証データと、送信先IPアドレスと、送信先UDPポート番号とを取得し、記憶部107に保存する。
また、メッセージ処理部104は、通信の確立を要求する場合には(通信装置100bに相当)、re−INVITEリクエストから、通信装置100aがTCPセッションでデータを送信する場合の送信元TCPポート番号、ESPによるカプセル化に必要な第1のパラメータを記憶部107に保存する。
メッセージ処理部104は、通信の確立を要求される場合には(通信装置100aに相当)、INVITEリクエストを受信する。
また、メッセージ処理部104は、re−INVITEリクエストに対する200OK応答から、通信装置100bがTCPセッションでデータを送信する場合の送信元TCPポート番号、ESPによるカプセル化に必要な第2のパラメータを取得し、記憶部107に保存する。
変換後アドレス検出用パケット生成部105は、受信した第1の認証データから生成した第2の認証データを含み、通信装置100bがUDPで通信装置100aへ送信する変換後アドレス検出用パケットを生成する。
変換後アドレス検出用パケット処理部106は、記憶部107に保存しておいた第1の認証データと、通信装置100bが送信した変換後アドレス検出用パケット中の送信元IPアドレスと、UDPポート番号と、第2の認証データとの整合性を検証する。また、変換検出用パケット処理部106は、変換アドレス検出用パケットの送信元IPアドレスと、送信元UDPポート番号を記憶部107に保存する。
なお、送受信部101、アドレス取得部102の機能は、通信装置100aから通信の確立を要求する場合と同一である。
次に、通信装置100bから通信の確立を要求する場合における、通信装置100の通信処理について説明する。図11は、本実施の形態における通信処理の全体の流れを示すシーケンス図である。なお、同図では通信処理の概要を示し、処理の詳細については後述する図12、図13の詳細シーケンス図で説明する。
同図に示すように、通信装置100bにはプライベートIPアドレスBが付与され、NAT box120bにはグローバルIPアドレスRBが付与され、ルータ120aにはグローバルIPアドレスRAが付与され、通信装置100aにはグローバルIPアドレスAが付与されている。
また、通信処理を開始する前提として、通信装置100aおよび通信装置100bは、それぞれSIP Proxy140との間でSIPセッションを確立しているものとする。
まず、通信装置100bのメッセージ生成部103が、INVITEリクエストを生成し、送受信部101により送信する(ステップS1101)。
次に、INVITEリクエストはNAT box120bに送信され(ステップS1102)、SIP Proxy140に転送される(ステップS1103)。
次に、INVITEリクエストは、SIP Proxy140によりルータ120aに転送され(ステップS1104)、ルータ120aから通信装置100aに転送される(ステップS1105)。
次に、通信装置100aのメッセージ処理部104は、INVITEリクエストに含まれる第一の認証データを記憶部107に保存する(ステップS1106)。
次に、通信装置100aのアドレス取得部102が、通信装置100bから通信装置100aに到達可能なアドレスの情報を取得するアドレス取得処理を行う(ステップS1107)。なお、ステップS1107のアドレス取得処理は、INVITEリクエストを受信する前に予め行うように構成してもよい。
次に、通信装置100aは、第1の認証データを生成し、生成した第1の認証データと、ステップS1107で取得したアドレス情報とを含む200OK応答を送信する(ステップS1108)。200OK応答はルータ120aに送信され(ステップS1109)、ルータ120aから、SIP Proxy140に転送される(ステップS1110)。
次に、200OK応答は、SIP Proxy140によりNAT box120bに転送され(ステップS1111)、NAT box120bから通信装置100bに転送される(ステップS1112)。
次に、通信装置100bの送受信部101は200OK応答を受信し、200OK応答に含まれるアドレス情報と、第1の認証データとを記憶部107に保存する(ステップS1113)。
次に、通信装置100bは、NAT box120bで変換された後の送信元アドレス情報を検出するために利用する変換後アドレス検出用パケットを送信する(ステップS1114)。変換後アドレス検出用パケットには、第1の認証データから生成した第2の認証データも含まれる。
変換後アドレス検出用パケットはNAT box120bに送信され(ステップS1115)、NAT box120bから、ルータ120aに転送される(ステップS1116)。このように、変換後アドレス検出用パケットの送信にはSIP Proxy140は使用しない。
次に、変換後アドレス検出用パケットは、ルータ120aから通信装置100aに転送される(ステップS1117)。次に、通信装置100aの送受信部101は変換後アドレス検出用パケットを受信し、送信元アドレス情報、認証データを取得し検証する処理を行う(ステップS1118)。
検証に成功した場合、通信装置100aのメッセージ処理部104は、送信元アドレス情報を送信元アドレステーブル107bに保存する(ステップS1119)。
次に、通信装置100aのメッセージ生成部103は、ESPでカプセル化するTCPによる通信に必要なパラメータと、ESPでカプセル化するために必要な第1のパラメータとを含むre−INVITEリクエストを生成して送信する(ステップS1120)。
次に、re−INVITEリクエストはルータ120aに送信され(ステップS1121)、SIP Proxy140に転送される(ステップS1122)。
次に、re−INVITEリクエストは、SIP Proxy140によりNAT box120bに転送され(ステップS1123)、NAT box120bから通信装置100bに転送される(ステップS1124)。
次に、通信装置100bのメッセージ処理部104は、re−INVITEリクエストに含まれる各種パラメータを記憶部107に保存する(ステップS1125)。
次に、通信装置100bは、受信したre−INVITEリクエストに対する200OK応答を送信する(ステップS1126)。この場合の200OK応答には、ESPでカプセル化するTCPによる通信に必要なパラメータと、ESPでカプセル化するために必要な第2のパラメータとが含まれる。
200OK応答はNAT box120bに送信され(ステップS1127)、NAT box120bから、SIP Proxy140に転送される(ステップS1128)。
次に、200OK応答は、SIP Proxy140によりルータ120aに転送され(ステップS1129)、ルータ120aから通信装置100aに転送される(ステップS1130)。
次に、通信装置100aの送受信部101は200OK応答を受信し、メッセージ処理部104は200OK応答に含まれる各種パラメータを記憶部107に保存する(ステップS1131)。
このような処理により、通信装置100aと通信装置100bは、TCPセッションのパケットを送受信するために必要な全てのアドレス情報、ESPでカプセル化するためのパラメータを取得できるので、相互にTCPセッションによる通信を開始可能になる(ステップS1132)。
次に、通信装置100bから通信の確立を要求する場合における、通信装置100の通信処理の詳細について説明する。図12、図13は、本実施の形態における通信処理の詳細な流れを示すシーケンス図である。なお、同図ではルータ120a、SIP Proxy140、NAT box120bは省略している。
まず、通信装置100bのメッセージ生成部103が、INVITEリクエストを生成する(ステップS1201)。
次に、通信装置100bの送受信部101は、生成したINVITEリクエストをSIP Proxy140を介して通信装置100bに送信する(ステップS1202)。
次に、通信装置100aの送受信部101はINVITEリクエストを受信する(ステップS1203)。次に、通信装置100aのアドレス取得部102が、通信装置100bから到達可能なUDPデータグラムの送信先IPアドレス(X)、送信先UDPポート番号(XP)を取得し、送信先アドレステーブル107aに保存する(ステップS1204)。アドレス情報の取得処理は、ステップS701で説明した処理内容と同様である。
次に、メッセージ生成部103は、自装置(通信装置100a)を認証させるための第1の認証データを生成し(ステップS1205)、第1の認証データと、ステップS1204で取得した送信先IPアドレスXおよび送信先UDPポート番号XPとを含む200OK応答を生成する(ステップS1206)。
次に、通信装置100aの送受信部101が、メッセージ生成部103により生成された200OK応答を、SIP Proxy140を介して通信装置100bに送信する(ステップS1207)。
次に、通信装置100bの送受信部101は200OK応答を受信する(ステップS1208)。
次に、メッセージ処理部104は、200OK応答に記されたIPアドレスX、UDPポート番号XP、第1の認証データを取得し、記憶部107に保存する(ステップS1209)。
ステップS1210からステップS1223までの、変換後アドレス検出用パケット送受信処理、カプセル化パラメータの送受信処理は、通信装置100aから通信の確立を要求する場合における図7のステップS709からステップS722までと同様の処理なので、その説明を省略する。
以上の処理により、通信装置100aと通信装置100bは、TCPセッションのパケットを送受信するために必要な全てのIPアドレス、UDPポート番号、ESPでカプセル化するためのパラメータ、TCPポート番号を取得できるので、通信装置100aからでも通信装置100bからでもTCPによる通信を開始可能となる。
次に、ステップS1212で通信装置100bから送信され、ステップS1213で通信装置100aに受信されるまでの、変換後アドレス検出用パケットが流れる経路および当該パケットに対して施される処理の詳細について説明する。
図14は、ルータ120aがNAT boxでない場合の変換後アドレス検出用パケット1401の経路の一例を示す説明図である。
同図では、ルータ120aがNAT boxでないため、通信装置100aから通知されたIPアドレスXは通信装置100aに付与されたグローバルIPアドレスAであり、UDPポート番号XPは、通信装置100a上のUDPポート番号UPである。
まず、パケット1401はNAT box120bを経由するが、このときNAT box120bによって少なくともパケット1401の送信元IPアドレスBがNAT box120bに付与されたグローバルIPアドレスRBに変換される。また、パケット1401のUDPポート番号UQも変換される場合があるが、いずれにせよNAT box120bを通過後のパケット1401の送信元UDPポート番号をRQとする。
次に、パケット1401はSIP Proxy140を経由せず、ルータ120aに転送される。ルータ120aはNAT変換機能を備えていないため、パケット1401を単に通信装置100aに転送する。
このようにして、NAT変換後の送信元IPアドレスRBおよび送信元UDPポート番号RQを含むパケットが通信装置100aに到達する。
一方、図15は、ルータ120aがNAT boxである場合の変換後アドレス検出用パケット1501の経路の一例を示す説明図である。
同図では、ルータ120aはNAT boxであるため、ステップS1201の通信開始時には既にパケット1501の送信先IPアドレスX、送信先UDPポート番号XPを変換するためのNATマッピングが設定済みである。
また、通信装置100bに通知されたIPアドレスXはルータ120aに付与されたグローバルIPアドレスRAであると同時にルータ120aに設定されたNATマッピングの変換先IPアドレスであり、通信装置100bに通知されたUDPポート番号XPは、ルータ120aに設定されたNATマッピングの変換先UDPポート番号RPである。
同図の例でも、パケット1501はNAT box120bを経由するが、このときNAT box120bのアドレス変換機能によって少なくともパケット1501の送信元IPアドレスBがNAT box120bに付与されたグローバルIPアドレスRBに変換される。また、パケット1501のUDPポート番号UQも変換される場合があるが、いずれにせよNAT box120bを通過後のパケット1501の送信元UDPポート番号をRQとする。
次に、ルータ120aは、設定されたNATマッピングを用いて、パケット1501の送信先IPアドレスRAをIPアドレスAに変換し、送信先UDPポート番号RPをUPに変換して、通信装置100aにパケット1501を転送する。
このようにして、ルータ120aがNAT boxである場合であっても、NAT変換後の送信元IPアドレスRBおよび送信元UDPポート番号RQを含むパケットが通信装置100aに到達する。
このように、本実施の形態にかかる通信装置では、他の装置がルータまたはNAT boxのいずれに接続された場合であっても、他の通信装置に対して通信の確立要求を行い、カプセル化される任意のプロトコルによる通信の開始で必要な情報を、相互に送受信することができる。このため、プロトコルの制限を回避しつつ、NAT boxの外部の装置から通信の確立要求および通信の開始ができる。
また、NAT boxの内部の装置から通信の確立要求および通信の開始ができる。さらに、一方のNAT boxに特殊な手段を備える必要もなく、少ないステップ数で実行可能であるという利点がある。
本実施の形態にかかる通信装置は、CPU(Central Processing Unit)などの制御装置と、ROM(Read Only Memory)やRAM(Random Access Memory)などの記憶装置と、HDD、CD(Compact Disc)ドライブ装置などの外部記憶装置と、ディスプレイ装置などの表示装置と、キーボードやマウスなどの入力装置を備えており、通常のコンピュータを利用したハードウェア構成となっている。
本実施の形態にかかる通信装置で実行される通信プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM(Compact Disk Read Only Memory)、フレキシブルディスク(FD)、CD−R(Compact Disk Recordable)、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
また、本実施の形態にかかる通信装置で実行される通信プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施の形態にかかる通信装置で実行される通信プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
また、本実施の形態の通信プログラムを、ROM等に予め組み込んで提供するように構成してもよい。
本実施の形態にかかる通信装置で実行される通信プログラムは、上述した各部(送受信部、アドレス取得部、メッセージ生成部、メッセージ処理部、変換後アドレス検出用パケット生成部、変換後アドレス検出用パケット処理部)を含むモジュール構成となっており、実際のハードウェアとしてはCPU(プロセッサ)が上記記憶媒体から通信プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、上述した各部が主記憶装置上に生成されるようになっている。
以上のように、本発明にかかる通信装置、通信方法および通信プログラムは、NAT機能を有するルータに接続されたコンピュータなどの通信装置に適している。
本実施の形態にかかる通信装置を含むネットワーク全体の構成を示すブロック図である。 送信先アドレステーブルのデータ構造の一例を示す説明図である。 送信元アドレステーブルのデータ構造の一例を示す説明図である。 カプセル化パラメータテーブルのデータ構造の一例を示す説明図である。 本実施の形態で送受信されるパケットのヘッダの構成の一例を示した説明図である。 本実施の形態における通信処理の全体の流れを示すシーケンス図である。 本実施の形態における通信処理の詳細な流れを示すシーケンス図である。 本実施の形態における通信処理の詳細な流れを示すシーケンス図である。 ルータがNAT boxでない場合の変換後アドレス検出用パケットの経路の一例を示す説明図である。 ルータがNAT boxである場合の変換後アドレス検出用パケットの経路の一例を示す説明図である。 本実施の形態における通信処理の全体の流れを示すシーケンス図である。 本実施の形態における通信処理の詳細な流れを示すシーケンス図である。 本実施の形態における通信処理の詳細な流れを示すシーケンス図である。 ルータがNAT boxでない場合の変換後アドレス検出用パケットの経路の一例を示す説明図である。 ルータがNAT boxである場合の変換後アドレス検出用パケットの経路の一例を示す説明図である。
符号の説明
100a、100b 通信装置
101 送受信部
102 アドレス取得部
103 メッセージ生成部
104 メッセージ処理部
105 変換後アドレス検出用パケット生成部
106 変換後アドレス検出用パケット処理部
107 記憶部
107a 送信先アドレステーブル
107b 送信元アドレステーブル
107c カプセル化パラメータテーブル
110a、110b LAN
120a ルータ
120b NAT box
130 インターネット
140 SIP Proxy
901 パケット
1001 パケット
1401 パケット
1501 パケット

Claims (17)

  1. ローカルアドレスを有し、前記ローカルアドレスを第1のグローバルアドレスに変換する機能を有する中継装置を介してグローバルネットワークに接続された外部通信装置、および、前記外部通信装置との通信の確立を仲介する仲介サーバと、前記グローバルネットワークを介して接続可能な通信装置であって、
    あらかじめ割り当てられた第2のグローバルアドレスを記憶する記憶手段と、
    前記記憶手段に記憶された前記第2のグローバルアドレスを含み、前記外部通信装置への通信の確立を要求する第1のメッセージを前記仲介サーバへ送信する第1の送信手段と、
    前記仲介サーバから前記第1のメッセージに対する応答を受信し、前記外部通信装置から、前記中継装置が前記ローカルアドレスを前記第1のグローバルアドレスに変換可能なプロトコルによる通信で、前記第1のグローバルアドレスを含み前記第2のグローバルアドレスを宛先に指定した第2のメッセージを受信する第1の受信手段と、
    前記外部通信装置との間の第1のプロトコルでカプセル化された第2のプロトコルによる通信で用いる第1のパラメータとを含む第3のメッセージを前記仲介サーバへ送信する第2の送信手段と、
    前記仲介サーバから、前記外部通信装置との間の前記第1のプロトコルでカプセル化された前記第2のプロトコルによる通信で用いる第2のパラメータを含む第4のメッセージを受信する第2の受信手段と
    を備えることを特徴とする通信装置。
  2. 前記仲介サーバから、前記外部通信装置からの通信の確立を要求する第5のメッセージを受信する第3の受信手段と、
    前記第2のグローバルアドレスを含む第6のメッセージを前記仲介サーバに送信する第3の送信手段と、
    前記外部通信装置から、前記中継装置が前記ローカルアドレスを前記第1のグローバルアドレスに変換可能なプロトコルによる通信で、前記第1のグローバルアドレスを含む第7のメッセージを受信する第4の受信手段と、をさらに備え、
    前記第2の送信手段は、前記第2のメッセージまたは前記第7のメッセージに含まれる前記第1のグローバルアドレスと、前記外部通信装置との間の第1のプロトコルでカプセル化された第2のプロトコルによる通信で用いる第1のパラメータとを含む第3のメッセージを前記仲介サーバへ送信することを特徴とする請求項1に記載の通信装置。
  3. 前記第1の受信手段は、前記外部通信装置を認証する第1の認証データをさらに含む前記第2のメッセージを受信し、
    前記第4の受信手段は、前記外部通信装置を認証する第2の認証データをさらに含む前記第7のメッセージを受信し
    前記第1の認証データまたは前記第2の認証データに基づいて、前記第2のメッセージまたは前記第7のメッセージが前記外部通信装置から送信されたものであることを検証するメッセージ処理手段をさらに備えたことを特徴とする請求項2に記載の通信装置。
  4. 前記第1の送信手段は、認証に用いる第3の認証データをさらに含む前記第1のメッセージを送信し、
    前記第3の送信手段は、認証に用いる第4の認証データをさらに含む前記第6のメッセージを送信し、
    前記メッセージ処理手段は、前記第1の認証データと前記第3の認証データとに基づいて、または、前記第2の認証データと前記第4の認証データとに基づいて、前記第2のメッセージまたは前記第7のメッセージが前記外部通信装置から送信されたものであることを検証することを特徴とする請求項3に記載の通信装置。
  5. 前記記憶手段は、前記通信装置とネットワークとの接続を中継する第2の中継装置に割り当てられたグローバルアドレスを前記第2のグローバルアドレスとして記憶することを特徴とする請求項1に記載の通信装置。
  6. 第1のグローバルアドレスを有する外部通信装置、および、前記外部通信装置との通信の確立を仲介する仲介サーバが接続されたグローバルネットワークに、ローカルアドレスを第2のグローバルアドレスに変換する機能を有する中継装置を介して接続された通信装置であって、
    あらかじめ割り当てられた前記ローカルアドレスを記憶する記憶手段と、
    前記仲介サーバから、前記第1のグローバルアドレスを含み、前記外部通信装置からの通信の確立を要求する第1のメッセージを受信する第1の受信手段と、
    前記第1のメッセージに対する応答を前記外部通信装置へ前記仲介サーバを介して送信し、前記記憶手段に記憶された前記ローカルアドレスを含み、前記第1のメッセージに含まれる前記第1のグローバルアドレスを宛先に指定した第2のメッセージを前記中継装置が前記ローカルアドレスを前記第2のグローバルアドレスに変換可能なプロトコルによる通信で前記外部通信装置に送信する第1の送信手段と、
    前記仲介サーバから、前記第2のグローバルアドレスと、前記外部通信装置との間の第1のプロトコルでカプセル化された第2のプロトコルによる通信で用いる第1のパラメータとを含む第3のメッセージを受信する第2の受信手段と、
    前記外部通信装置との間の前記第1のプロトコルでカプセル化された前記第2のプロトコルによる通信で用いる第2のパラメータを含む第4のメッセージを前記仲介サーバに送信する第2の送信手段と、
    を備えたことを特徴とする通信装置。
  7. 前記外部通信装置への通信の確立を要求する第5のメッセージを前記仲介サーバに送信する第3の送信手段と、
    前記仲介サーバから、前記第1のグローバルアドレスを含む第6のメッセージを受信する第3の受信手段と、
    前記ローカルアドレスを含み、前記第6のメッセージに含まれる前記第1のグローバルアドレスを宛先に指定した第7のメッセージを前記中継装置が前記ローカルアドレスを前記第2のグローバルアドレスに変換可能なプロトコルによる通信で前記外部通信装置に送信する第4の送信手段と、
    をさらに備えたことを特徴とする請求項6に記載の通信装置。
  8. 前記第1の送信手段は、前記通信装置を認証する第1の認証データをさらに含む前記第2のメッセージを送信し、
    前記第4の送信手段は、前記通信装置を認証する第2の認証データをさらに含む前記第7のメッセージを送信することを特徴とする請求項7に記載の通信装置。
  9. 前記第1の受信手段は、前記外部通信装置を認証する第3の認証データをさらに含む前記第1のメッセージを受信し、
    前記第1の送信手段は、前記第3の認証データに対して前記第1の認証データをさらに含む前記第2のメッセージを送信し、
    前記第3の受信手段は、前記外部通信装置を認証する第4の認証データをさらに含む前記第6のメッセージを受信し、
    前記第4の送信手段は、前記第4の認証データに対して前記第2の認証データをさらに含む前記第7のメッセージを送信することを特徴とする請求項8に記載の通信装置。
  10. 前記第1の受信手段は、前記第1のグローバルアドレスとして、前記外部通信装置とネットワークとの接続を中継する第2の中継装置にあらかじめ割り当てられたグローバルアドレスの情報を含む前記第1のメッセージを受信することを特徴とする請求項6に記載の通信装置。
  11. 前記第1のグローバルアドレスおよび前記第2のグローバルアドレスは、IPアドレスとUDPポート番号とを含む情報であることを特徴とする請求項1〜10のいずれか1つに記載の通信装置。
  12. 前記第2のプロトコルは、ESP(Encapsulating Security Payload)、TCP、UDP、ICMP(Internet Control Message Protocol)、IPv4(Internet Protocol Version 4)、IPv6(Internet Protocol Version 6)、ICMPv6(Internet Control Message Protocol for the Internet Protocol Version 6)、およびL2TP(Layer 2 Tunneling Protocol)のうち少なくとも1つを含むことを特徴とする請求項1〜11のいずれか1つに記載の通信装置。
  13. 前記第1のメッセージ、前記第3のメッセージ、前記第4のメッセージ、前記第5のメッセージ、および前記第6のメッセージは、SIP(Session Initiation Protocol)プロトコルにより送受信されるSIPメッセージであることを特徴とする請求項1〜12のいずれか1つに記載の通信装置。
  14. ローカルアドレスを有し、前記ローカルアドレスを第1のグローバルアドレスに変換する機能を有する中継装置を介してグローバルネットワークに接続された外部通信装置、および、前記外部通信装置との通信の確立を仲介する仲介サーバと、前記グローバルネットワークを介して接続可能な通信装置における通信方法であって、
    あらかじめ割り当てられた第2のグローバルアドレスを記憶する記憶手段に記憶された前記第2のグローバルアドレスを含み、前記外部通信装置への通信の確立を要求する第1のメッセージを前記仲介サーバへ送信する第1の送信ステップと、
    前記仲介サーバから前記第1のメッセージに対する応答を受信し、前記外部通信装置から、前記中継装置が前記ローカルアドレスを前記第1のグローバルアドレスに変換可能なプロトコルによる通信で、前記第1のグローバルアドレスを含み前記第2のグローバルアドレスを宛先に指定した第2のメッセージを受信する第1の受信ステップと、
    前記外部通信装置との間の第1のプロトコルでカプセル化された第2のプロトコルによる通信で用いる第1のパラメータとを含む第3のメッセージを前記仲介サーバへ送信する第2の送信ステップと、
    前記仲介サーバから、前記外部通信装置との間の前記第1のプロトコルでカプセル化された前記第2のプロトコルによる通信で用いる第2のパラメータを含む第4のメッセージを受信する第2の受信ステップと
    を備えることを特徴とする通信方法。
  15. 第1のグローバルアドレスを有する外部通信装置、および、前記外部通信装置との通信の確立を仲介する仲介サーバが接続されたグローバルネットワークに、ローカルアドレスを第2のグローバルアドレスに変換する機能を有する中継装置を介して接続された通信装置における通信方法であって、
    前記仲介サーバから、前記第1のグローバルアドレスを含み、前記外部通信装置からの通信の確立を要求する第1のメッセージを受信する第1の受信ステップと、
    前記第1のメッセージに対する応答を前記外部通信装置へ前記仲介サーバを介して送信し、あらかじめ割り当てられた前記ローカルアドレスを記憶する記憶手段に記憶された前記ローカルアドレスを含み、前記第1のメッセージに含まれる前記第1のグローバルアドレスを宛先に指定した第2のメッセージを前記中継装置が前記ローカルアドレスを前記第2のグローバルアドレスに変換可能なプロトコルによる通信で前記外部通信装置に送信する第1の送信ステップと、
    前記仲介サーバから、前記第2のグローバルアドレスと、前記外部通信装置との間の第1のプロトコルでカプセル化された第2のプロトコルによる通信で用いる第1のパラメータとを含む第3のメッセージを受信する第2の受信ステップと、
    前記外部通信装置との間の前記第1のプロトコルでカプセル化された前記第2のプロトコルによる通信で用いる第2のパラメータを含む第4のメッセージを前記仲介サーバに送信する第2の送信ステップと、
    を備えたことを特徴とする通信方法。
  16. ローカルアドレスを有し、前記ローカルアドレスを第1のグローバルアドレスに変換する機能を有する中継装置を介してグローバルネットワークに接続された外部通信装置、および、前記外部通信装置との通信の確立を仲介する仲介サーバと、前記グローバルネットワークを介して接続可能な通信装置における通信プログラムであって、
    あらかじめ割り当てられた第2のグローバルアドレスを記憶する記憶手段に記憶された前記第2のグローバルアドレスを含み、前記外部通信装置への通信の確立を要求する第1のメッセージを前記仲介サーバへ送信する第1の送信手順と、
    前記仲介サーバから前記第1のメッセージに対する応答を受信し、前記外部通信装置から、前記中継装置が前記ローカルアドレスを前記第1のグローバルアドレスに変換可能なプロトコルによる通信で、前記第1のグローバルアドレスを含み前記第2のグローバルアドレスを宛先に指定した第2のメッセージを受信する第1の受信手順と、
    前記外部通信装置との間の第1のプロトコルでカプセル化された第2のプロトコルによる通信で用いる第1のパラメータとを含む第3のメッセージを前記仲介サーバへ送信する第2の送信手順と、
    前記仲介サーバから、前記外部通信装置との間の前記第1のプロトコルでカプセル化された前記第2のプロトコルによる通信で用いる第2のパラメータを含む第4のメッセージを受信する第2の受信手順と
    をコンピュータに実行させる通信プログラム。
  17. 第1のグローバルアドレスを有する外部通信装置、および、前記外部通信装置との通信の確立を仲介する仲介サーバが接続されたグローバルネットワークに、ローカルアドレスを第2のグローバルアドレスに変換する機能を有する中継装置を介して接続された通信装置における通信プログラムであって、
    前記仲介サーバから、前記第1のグローバルアドレスを含み、前記外部通信装置からの通信の確立を要求する第1のメッセージを受信する第1の受信手順と、
    前記第1のメッセージに対する応答を前記外部通信装置へ前記仲介サーバを介して送信し、あらかじめ割り当てられた前記ローカルアドレスを記憶する記憶手段に記憶された前記ローカルアドレスを含み、前記第1のメッセージに含まれる前記第1のグローバルアドレスを宛先に指定した第2のメッセージを前記中継装置が前記ローカルアドレスを前記第2のグローバルアドレスに変換可能なプロトコルによる通信で前記外部通信装置に送信する第1の送信手順と、
    前記仲介サーバから、前記第2のグローバルアドレスと、前記外部通信装置との間の第1のプロトコルでカプセル化された第2のプロトコルによる通信で用いる第1のパラメータとを含む第3のメッセージを受信する第2の受信手順と、
    前記外部通信装置との間の前記第1のプロトコルでカプセル化された前記第2のプロトコルによる通信で用いる第2のパラメータを含む第4のメッセージを前記仲介サーバに送信する第2の送信手順と、
    をコンピュータに実行させる通信プログラム。
JP2005362300A 2005-12-15 2005-12-15 通信装置、通信方法および通信プログラム Expired - Fee Related JP4435082B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005362300A JP4435082B2 (ja) 2005-12-15 2005-12-15 通信装置、通信方法および通信プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005362300A JP4435082B2 (ja) 2005-12-15 2005-12-15 通信装置、通信方法および通信プログラム

Publications (2)

Publication Number Publication Date
JP2007166423A JP2007166423A (ja) 2007-06-28
JP4435082B2 true JP4435082B2 (ja) 2010-03-17

Family

ID=38248783

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005362300A Expired - Fee Related JP4435082B2 (ja) 2005-12-15 2005-12-15 通信装置、通信方法および通信プログラム

Country Status (1)

Country Link
JP (1) JP4435082B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4961368B2 (ja) * 2008-02-26 2012-06-27 エヌ・ティ・ティ・コミュニケーションズ株式会社 端末装置、nat越え方法、及びプログラム
US9219637B2 (en) * 2010-01-30 2015-12-22 Oleg Boulanov Facilitating rapid establishment of human/machine communication links with private SIP-based IP networks using pre-distributed static network address translation maps
CN103430506B (zh) * 2011-02-28 2015-12-02 交互式社交网络有限公司 网络通信系统和方法
US9419737B2 (en) 2013-03-15 2016-08-16 Concio Holdings LLC High speed embedded protocol for distributed control systems
US8897319B2 (en) * 2013-03-15 2014-11-25 Concio Holdings LLC High speed embedded protocol for distributed control systems
US9432488B2 (en) 2013-03-15 2016-08-30 Concio Holdings LLC High speed embedded protocol for distributed control systems
US10673565B2 (en) 2014-09-30 2020-06-02 Concio Holdings LLC Confirming data accuracy in a distributed control system
US10326865B2 (en) 2015-03-24 2019-06-18 Concio Holdings LLC Filter or bridge for communications between CAN and CAN-FD protocol modules
CN111294399B (zh) * 2020-02-04 2023-06-23 网宿科技股份有限公司 一种数据传输方法和装置

Also Published As

Publication number Publication date
JP2007166423A (ja) 2007-06-28

Similar Documents

Publication Publication Date Title
JP4435082B2 (ja) 通信装置、通信方法および通信プログラム
JP4489008B2 (ja) 通信装置、通信方法および通信プログラム
Frankel et al. Ip security (ipsec) and internet key exchange (ike) document roadmap
US20090092133A1 (en) Method, apparatus and system for network mobility of a mobile communication device
JP4260659B2 (ja) パケットのnat透過機能を有する端末装置及びそのプログラム
JP4708036B2 (ja) 通信システム、情報処理装置、サーバ、及び情報処理方法
JP2007096826A (ja) 情報処理システム、トンネル通信装置、及びトンネル通信方法
WO2007037028A1 (ja) 情報処理システム、トンネル通信装置、トンネル通信方法、代理応答装置、及び代理応答方法
US9118495B1 (en) Communication between broadcast domains
JP2010081266A (ja) 情報処理装置、管理装置、通信システム、及びプログラム
JP2008236130A (ja) 通信を確立してメッセージを中継する装置、通信を確立する方法およびプログラム
WO2005081492A1 (en) Method and system for proxy-based secure end-to-end tcp/ip communications
JP5091887B2 (ja) 端末装置、通信処理方法、及びプログラム
JP2006352223A (ja) ネットワーク接続システム
JP2011188448A (ja) ゲートウェイ装置、通信方法および通信用プログラム
JP5258305B2 (ja) セキュリティ通信装置、及び方法
JP5131118B2 (ja) 通信システム、管理装置、中継装置、及びプログラム
JP2011049841A (ja) ネットワーク制御方法およびネットワークシステム
JP2007060610A (ja) ネットワーク接続システム、ネットワーク接続装置、そのプログラムおよび記録媒体
JP2005167608A (ja) 暗号通信装置、暗号通信方法、コンピュータプログラム、及びコンピュータ読み取り可能な記録媒体
JP2016507968A (ja) ReNAT通信環境を提供するシステム及び方法
JP3788802B2 (ja) ネットワーク間セキュア通信方法、パケットセキュア処理装置、その処理方法、プログラム、その記録媒体、アドレス変換装置
JPWO2019092825A1 (ja) 情報処理装置及び情報処理方法
JP5195062B2 (ja) 中継装置および通信システムおよび通信プログラム
JP6705602B1 (ja) 中継装置、中継方法、及び制御プログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090303

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090507

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090804

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091104

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20091113

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20091201

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091222

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130108

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130108

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140108

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees