JP4260659B2 - パケットのnat透過機能を有する端末装置及びそのプログラム - Google Patents

パケットのnat透過機能を有する端末装置及びそのプログラム Download PDF

Info

Publication number
JP4260659B2
JP4260659B2 JP2004071232A JP2004071232A JP4260659B2 JP 4260659 B2 JP4260659 B2 JP 4260659B2 JP 2004071232 A JP2004071232 A JP 2004071232A JP 2004071232 A JP2004071232 A JP 2004071232A JP 4260659 B2 JP4260659 B2 JP 4260659B2
Authority
JP
Japan
Prior art keywords
port number
terminal
nat
terminal device
tcp
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 - Lifetime
Application number
JP2004071232A
Other languages
English (en)
Other versions
JP2005260715A (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.)
NTT Communications Corp
Original Assignee
NTT Communications 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 NTT Communications Corp filed Critical NTT Communications Corp
Priority to JP2004071232A priority Critical patent/JP4260659B2/ja
Publication of JP2005260715A publication Critical patent/JP2005260715A/ja
Application granted granted Critical
Publication of JP4260659B2 publication Critical patent/JP4260659B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

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

Description

本発明は、NAT(Network Address Translation)装置の配下にある端末同士がNAT装置を通過して通信を行うためのNAT透過技術に関するものである。
プライベートIPアドレスとグローバルIPアドレスとを相互に変換することにより、プライベートIPアドレスのみが割り当てられた端末からインターネットへのアクセスを可能とするNAT装置が普及している。
NAT装置にはその配下にある端末に対するNAT装置の外側からの不正なアクセスを防止できるという利点がある反面、NAT装置の外側からNAT装置配下の端末へのアクセスが制限されることから、一般的にNAT装置を介した端末同士のピアツーピア通信ができないという問題がある。
この問題を解決するために、UPnP(Universal Plug and Play)やSTUN(Simple Traversal of UDP through NATs,RFC3489)等のNAT透過技術が提案されている。
ここで、STUNを用いた場合におけるNAT装置配下の端末間でのUDPデータチャネルの構築方法について図1を用いて説明する。
図1に示す例では、NAT装置1、2の配下にある端末3、4間でUDPデータチャネルを構築する。また、端末3側には、NAT装置1により変換されたグローバルなIPアドレスとポート番号を端末3に返すSTUNサーバ5が備えられ、同様に端末4側にはSTUNサーバ6が備えられている。また、端末3、4間での情報交換は、SIPプロキシサーバ7を介して行う。
なお、本明細書では、NAT装置配下の端末のプライベートIPアドレスを内部IPアドレスもしくは内部アドレス、当該端末で使用されるアプリケーションが識別するポート番号を内部ポート番号と呼び、NAT装置により変換された後のグローバルIPアドレスを外部IPアドレスもしくは外部アドレス、ポート番号を外部ポート番号と呼ぶことにする。また、図面中、TCP用のポート番号をTCPポート、UDP用のポート番号をUDPポート、送信元を“SRC”、送信先を“DST”と記す場合がある。
まず、端末3は、NAT装置1により変換された後の外部IPアドレスyと外部ポート番号yとをSTUNサーバ5を利用して取得する(ステップS1)。端末4の側も同様である。
そして、端末3、4間で、SIPのINVITEセッションにより、外部IPアドレスと外部ポート番号とを互いに通知する(ステップS2)。その後、端末3は、UDPパケットを、送信先IPアドレスを端末4側の外部アドレスbとし、送信先ポート番号を端末4側の外部ポート番号bとして送信する(ステップS3)。NAT装置2には、送信元IPアドレスy、送信元ポート番号yとして当該UDPパケットが到達するが、NAT装置2では、送信元IPアドレスy、送信元ポート番号yのパケットを通過させることがテーブルに登録されていないため、当該UDPパケットは廃棄される。
一方、端末4側からは、UDPパケットを、送信先IPアドレスをy、送信先ポート番号をyとして送信する。NAT装置1には、送信元IPアドレスb、送信元ポート番号bとして当該UDPパケットが到達するが、このときには、ステップS3において通過したUDPパケットにより、送信先IPアドレスb、送信先ポート番号bがNAT装置1のテーブルに登録されているため、端末4側から送信された当該UDPパケットはNAT装置1を通過して、端末3に到達する。同様にして、以降の端末3から端末4へのUDPパケットは、NAT装置2を通過して、端末4に到達する。以降のUDP通信は双方向ともNAT装置を超えることができる。このように、UDPであればNAT装置を介しての端末同士の通信ができる。
NAT透過に関する他の従来技術として、IPsec NAT-Traversalと呼ばれるUDPカプセル化を用いた技術がある(特許文献1参照)。この技術は、送信元でUDPパケットをIPsec化した後に、ダミーのUDPヘッダ(送信元の内部ポート番号、送信先のポート番号)を挿入し、受信側において、そのダミーのUDPヘッダがNAT装置により変換された変換後のUDPヘッダを参照することにより、送信元の外部ポート番号を取得し、IPsec化されていたUDPパケットのUDPヘッダの送信元内部ポート番号を当該外部ポート番号に変換するというものである。これによりアプリケーションはIPsecによる暗号化とNATを意識することなくUDP通信を行うことができる。
特許第3457645号
しかしながら、上記の従来技術によるとUDPのNAT透過は実現できるが、TCPのNAT透過を行うことができないという問題がある。
TCPでは、SYNパケット、SYN/ACKパケット等を用い、互いにシーケンス番号を交換することにより接続の確立を行う。従って、図1に示したSTUNを用いる方法のように互いが独立にパケットを相手に送信する方法では、NAT装置等が正常なTCP通信が行われていないと判断する場合があるので、TCPのNAT透過を実現することができない場合がある。
また、IPsec NAT-Traversalの技術においてTCPパケットをUDPカプセル化することによりTCPのNAT透過を行うことも考えられるが、IPsec NAT-Traversal技術では、NAT装置が変換するのは、UDPカプセル化で付けられたUDPヘッダにおけるポート番号であることから、受信側では、UDPカプセル内部のTCPヘッダ内の送信元の内部ポート番号をどの外部ポート番号に変換すればよいか判断できない。従って、IPsec NAT-Traversalの従来のUDPカプセル化技術では、TCPのNAT透過は実現できない。
更に、UPnPを用いて端末がNAT装置に直接働きかけることによりTCPのNAT透過を実現することも考えられるが、両端の端末双方の側のNAT装置がUPnPに対応する必要があるという問題がある。また、端末とNAT装置が同一サブネット内に存在しない場合や、多重にNAT装置を介する場合には、UPnPによるTCPのNAT透過を実現することはできない。
本発明は上記の点に鑑みてなされたものであり、NAT装置の配下にある端末同士がTCPによる通信を行うことを可能にする技術を提供することを目的とする。
上記の課題は、第1のNAT装置の内側から、第2のNAT装置の内側にある他の端末装置と通信を行う機能を有する端末装置であって、前記他の端末装置に、第1のNAT装置により付与される第1の外部ポート番号を送信する手段と、前記他の端末装置から、第2のNAT装置により付与される第2の外部ポート番号を受信する手段と、第1の外部ポート番号を送信先ポート番号として含み、前記他の端末装置のアプリケーションにより使用される内部ポート番号を送信元ポート番号として含むパケットを、前記他の端末装置から受信する手段と、前記送信元ポート番号を、第2の外部ポート番号に変換し、前記送信先ポート番号を、前記端末装置のアプリケーションにより使用される内部ポート番号に変換する手段とを備えた端末装置により解決される。
本発明によれば、端末装置が通信相手装置のTCP用外部ポート番号を知ることができるので、それを用いて受信パケット内のTCPヘッダの内部ポート番号を変換できる。また、通信相手装置は、当該端末装置が通知するTCP用の外部ポート番号を取得するので、同様の変換を行うことができる。従って、端末装置は、NAT装置の存在を意識することなく通信相手装置とTCP通信を行うことができる。
前記端末装置は、第1の外部ポート番号を、第1のNAT装置の外側に備えられた外部サーバから取得することができる。例えば、端末装置は当該外部サーバに対してダミーのTCP接続をし、外部サーバから、第1のNAT装置により付与されたTCP用の外部ポート番号を取得することができる。
また、前記端末装置は、前記端末装置から送信されたパケットが、第2のNAT装置を通過して前記他の端末装置に届くようにするためのNAT通過手段を備える。
そして、前記NAT通過手段は、パケットをカプセリングする手段と、カプセリングされたパケットを第2のNAT装置に向けて送信する手段とを有する。
NAT透過手段は通信相手の装置も備えており、前記端末装置は、例えばTCPヘッダを有するパケットをUDPヘッダでカプセリングしたパケットを受信する。
前記端末装置は、前記カプセリングされたパケットの送信先アドレス及び前記UDPヘッダに含まれる送信先外部ポート番号を中継サーバを介して前記他の端末装置から受信し、前記UDPヘッダに含まれる送信元の外部ポート番号をSTUN装置から受信することができる。中継サーバとして例えばSIPプロキシサーバを使用できる。
本発明によれば、NAT装置の配下にある端末同士で一般的なアプリケーションによるTCP通信が可能となる。
以下、図面を参照して本発明の実施の形態について説明する。まず、図2を用いて、本発明に係るNAT透過技術の原理について説明する。
図2に示すように、端末とTCP接続し、TCPの外部ポート番号を端末に通知する機能を有する外部サーバ10を備える。
そして、まず、端末11が外部サーバ10に対して(ダミーの)TCP接続を行う。このとき、端末11から送信されるTCPパケットのTCPヘッダ内の送信元の内部ポート番号は、NAT装置12により外部ポート番号yyに変換されるが、外部サーバ10は、その外部ポート番号yyを端末11に返答する。これにより、端末11はTCPヘッダの送信元外部ポート番号yyを取得する。端末13も同様にして外部ポート番号bbを取得する。
そして、端末11と端末13との間でSIP等を用いることにより、取得したTCP通信用の送信元外部ポート番号を交換する。これにより、端末11は、端末13側の送信元外部ポート番号bbを取得し、端末13は、端末11側の送信元外部ポート番号yyを取得する。
その後、TCPパケットをUDPカプセル化することにより、NAT装置12、14を透過してパケットを互いの端末が送受信する。この場合のNAT透過は図1に示した方法を用いて行うことができる。なお、図2には、UDPパケットのNAT透過のための構成(STUNサーバ等)及びシーケンスは示していない。
図2に示すように、端末11から、端末13に、UDPカプセル化したTCPパケットを送信する場合を例にとると、端末11は、TCP用の送信元内部ポート番号x、TCP用の送信先外部ポート番号bbを含む情報をTCPヘッダとして有するTCPパケットをUDPカプセル化したUDPパケットを端末13に対して送信する。
そして、端末13では、受信したUDPカプセル化パケットの中身を取り出し、そのTCPヘッダ内の内部ポート番号xを、TCP用の外部ポート番号yyに書き換える。なお、内部IPアドレスxはNAT装置12により外部IPアドレスyに変換され、外部IPアドレスbはNAT装置14により、内部IPアドレスaに変換されている。
このような変換を行うことにより、端末11、13側のアプリケーションは、グローバルなアドレス/ポートを持った通信相手とTCP通信を行う場合と同様にして、NAT装置配下にある端末とTCP通信を行うことができる。なお、UDPカプセル内部のTCPパケットは、必要に応じてIPsecによる暗号化をすることができる。
次に、図3を参照して本実施の形態をより詳細に説明する。
本実施の形態では、外部サーバとしてSTUNサーバと図2に示した外部サーバの両方の機能を持つ外部サーバ20、21を備えている。また、端末22、端末23間でSIP通信を行うためのSIPプロキシサーバ24を備えている。NAT装置25配下に端末22があり、NAT装置26配下に端末23がある。
まず、端末22と端末23の各々において、UDPカプセル化で用いるための外部IPアドレスとUDP用の外部ポート番号を外部サーバから取得する(ステップS11)。例えば、端末22は外部IPアドレスyとUDP用の外部ポート番号yを外部サーバ20から取得する。端末23側も同様である。
そして、図2で説明したように、端末22は外部サーバ20にダミーのTCP接続を行い、TCP用の外部ポート番号yyを外部サーバ20から取得する。端末23も同様にしてTCP用の外部ポート番号bbを取得する(ステップS12)。
その後、各端末は、UDPトンネル用の(内部ポート番号、外部IPアドレス、外部ポート番号)と、端末間でのTCP接続用の外部ポート番号をSIPにより互いに相手の端末に通知する(ステップS13)。
その後、図1に示した原理と同様にして、各端末から、送信元内部ポート番号、送信先外部ポート番号をUDPヘッダとして持つUDPパケットを相手端末に送信しあうことにより、UDPパケットのNAT透過を行う(ステップS14)。すなわち、UDPトンネルを構築する。これにより、以降のシーケンスにおいて、端末から送信されたUDPカプセル化されたパケットは、NAT透過して相手の端末に到達することができる。
各端末は、TCP用の送信先外部ポート番号を取得しているので、外部ポート番号をTCPヘッダ内に含むTCPパケットを生成することが可能となる。端末内で生成されたTCPパケットはIPsecにより暗号化される。なお、IPsecによる暗号化を行わなくてもよい。
図3の例では、端末23は、自身のアプリケーションが使用するTCP用の送信元内部ポート番号kと、送信先外部ポート番号yyとを含むTCPヘッダを付したTCPパケットを生成し、それをIPsec暗号化したものを、UDPカプセル化して端末22側に送信する(ステップS15)。
その後、端末22側では、TCPパケットが取り出され、復号化され、送信元の内部ポート番号kが、それに対応する外部ポート番号であるbbに変換され、送信先の外部ポート番号yyが、端末22の内部ポート番号jに変換される(ステップS16)。
なお、端末23は、外部ポート番号bbに対応する内部ポート番号としてkを使用することを、ステップS15の前に端末22に通知しておいてもよい。また、端末22は、外部ポート番号yyに対応する内部ポート番号としてjを使用することを、端末23に通知しておいてもよい。
ステップS16において変換されたTCPパケットのヘッダに基づき、データが端末22内のアプリケーションに渡される。アプリケーションが端末23に向けてTCPによりデータを送信する際には、ソケットに書き込まれた情報に基づき、送信元内部ポート番号をj、送信先外部ポート番号をbbとするTCPパケットが生成され、暗号化、及びUDPカプセル化されてUDPパケットが端末23側に送信される(ステップS17)。
端末23側では、端末22の場合と同様にして、送信元内部ポート番号jが送信元外部ポート番号yyに変換され、送信先外部ポート番号bbが送信先内部ポート番号kに変換され(ステップS18)、そのヘッダ情報に基づき、データがアプリケーションに渡される。
従って、端末22、23アプリケーションはNAT装置を意識することなくTCP通信を行うことができる。
図3に示した構成において、ダミーのTCP接続の相手先はSTUNサーバ機能を含む外部サーバでなくともよい。例えば、SIPプロキシサーバ24と認証連携したダミー接続専用のサーバを用いてもよい。また、外部サーバは、物理的に1つでもよく、また、複数のサーバでロードバランスしてもよい。また、端末間でのアドレス/ポート番号情報の交換は、SIP以外の方法を用いて行うこともできる。
端末同士がTCP接続している間、TCP通信用の外部ポート番号を確保するために、各端末はダミーのTCP接続を保持しておく。また、NAT装置のコネクション保持のタイムアウトを回避するために、端末は数分間隔でTCPキープアライブパケットを外部サーバに送信してもよい。
さて、端末間で複数のTCPコネクションを張る場合、そのコネクションの数だけダミーのTCP接続を行う。なお、トンネルに使用するUDPセッションは1つだけでよい。しかし、WebブラウザのようなTCPクライアントは、自動的に複数のTCPコネクションを張る場合が多く、このような場合は、TCPコネクションの数を予め知ることはできない。従って、このような場合は、SIPのINVITEセッションではUDPトンネルの確立だけをネゴシエーションしておき、実際にアプリケーションがTCPソケットを開いたタイミングで通信スタックが自発的にダミーTCP接続を行い、UDPトンネルを通して、予約されたTCPのポート番号を相手に通知するようにすればよい。
次に、TCPのNAT透過の別の例を図4〜図8を用いてステップ毎に説明する。
図4〜図8の例では、SIPサーバ31、32がSTUNサーバ機能を有している。また、端末33(例えばビデオ装置)と端末34(例えば携帯端末)が通信を行う場合を示しており、端末33が端末34に対してアクティブにTCP接続を行う例である。また、端末33はNAT装置35の配下にあり、端末34はNAT装置36の配下にある。
図4に示すように、ステップS21において、各端末は端末同士の通信に先立ち、SIPサーバ間でシグナリングチャネルを確立しておく。このとき、各端末は、NAT装置が付与するUDP用の外部IPアドレスと外部ポート番号をSIPサーバから取得する。
続いて、図5のステップS22において、端末33がINVITEセッションを開始する。INVITEメッセージには、UDPトンネル構築及びUDPカプセル化で使用する外部IPアドレスBと外部ポート番号b、及びメディアの情報(図5の例では、TCPアクティブ接続)を含める。TCP接続を受け入れる側である端末34は、外部サーバ37にダミーTCP接続し、外部サーバ37からTCP接続用の外部ポート番号yを取得する。そして、INVITEの応答メッセージに、UDPトンネル用の外部IPアドレスDと外部ポート番号d及びTCP接続用の外部ポート番号yを含めて端末33に通知する。
図6のステップS23において、端末33、34は、取得したUDP用の送信先の外部IPアドレスと外部ポート番号を含むUDPパケットを互いに送信しあうことで、NAT装置35、36を超えてUDPトンネルを確立する。なお、TCP用の外部ポート番号を予約しておくため、端末34の外部サーバ37に対するダミーのTCP接続は維持しておく。
図7のステップS24において、端末33においてクライアントアプリケーションがTCP通信のためのソケットを開くタイミングで、端末33は外部サーバ38へダミーのTCP接続を行い、外部サーバ38から返答されたTCP通信用の外部ポート番号xをUDPトンネルを通して接続先の端末34に通知する。更に、各端末のアプリケーションがTCP通信のために使用する内部ポート番号を互いに交換する。すなわち、端末33は端末34に対して内部ポート番号zを通知し、端末34は端末33に対して内部ポート番号80を通知する。これにより端末33は、端末34から送信されたTCPパケットの内部ポート番号80を外部ポート番号yに変換すればよいことを認識し、端末34は、端末33から送信されたTCPパケットの内部ポート番号zを外部ポート番号xに変換すればよいことを認識する。
そして、図8のステップS25以降、アプリケーションから上記ソケットを用いて転送されるデータはUDPカプセル化され、送信先の端末における通信スタックでTCPヘッダ内のポート番号の変換が行われる。例えば、図8に示すように、送信元内部ポート番号z、送信先外部ポート番号yを含む情報をTCPヘッダとして持つTCPパケットが、UDPトンネルを通して端末33から端末34に送信されると、端末34は、送信元内部ポート番号zを外部ポート番号xに変換し、送信先外部ポート番号yを内部ポート番号80に変換し、その変換後の情報に基づきデータをアプリケーションに渡す。
図9に、各装置の機能ブロックを含む構成図を示す。
図9に示すように、端末41は、TCP通信を行う各種アプリケーション50、SIP通信のためのSIP機能部51(SIP通信のためのプログラム群という意味でSIPスタックともいう)、NAT透過に関係する状態テーブル52、及び通信機能部53(通信スタックともいう)を有している。
SIP機能部51は、SIPセッション管理のためのセッション管理部54を有している。通信機能部53は、TCP/IP通信等のデータ通信を行うための一般的な機能の他、TCP−NAT補償機能55、IPsec機能56、UDPカプセル処理機能57、UDPトンネル構築機能58を有している。
TCP−NAT補償機能55は、TCP通信用のポート番号の変換を行う機能である。IPsec機能56は、通信機能部内で生成されたTCPパケットを暗号化する機能である。また、UDPカプセル処理機能57は、UDPカプセル化のためにパケットにUDPヘッダを挿入する処理を行う機能である。UDPトンネル構築機能58は、UDPパケットを送信することによりNAT透過を行い、UDPトンネルを構築する機能である。NAT透過に関係する状態テーブルは、外部ポート番号、内部ポート番号の対応情報を有している。アプリケーション50は、ソケットAPIを利用することにより、通信機能部53にデータ通信を実行させる。
また、図9の例では、外部サーバ43はSTUNサーバの機能部59とダミーTCP接続用の機能部60の両方を含む。STUNサーバの機能部59から端末41がUDP用の外部ポート番号を取得する。また、ダミーTCP接続用の機能部60により端末41と外部サーバとの間でダミーTCP接続を行い、TCP用の外部ポート番号の予約を行う。
SIPサーバ等のセッション管理サーバ44は、セッション管理を行うセッション管理部61を有している。セッション管理サーバ44を介して端末41、端末42間でIPアドレス情報、ポート番号情報の交換を行う。端末42の構成は、端末41の構成と同様である。
以上の構成により、図4〜8等を参照して説明した処理を行う。すなわち、端末41、42が各々のTCPヘッダの送信元外部ポート番号を取得し、その送信元外部ポート番号を互いに通知する。また、端末41、42はアプリケーションが使用するTCP用の内部ポート番号を互いに通知する。これにより、端末41、42の各々は、前記NAT透過に関係する状態テーブルに、通信相手端末の外部ポート番号と内部ポート番号とを対応付けて記録することができ、TCP用の送信元内部ポート番号を含むTCPヘッダを有するTCPパケットをUDPカプセル化したUDPパケットを受信した場合には、そのTCPヘッダ内の内部ポート番号を、前記状態テーブルを参照することにより、外部ポート番号に書き換えることができる。
端末、外部サーバの各々は、CPU、メモリ、記憶装置等を持つコンピュータであり、本発明に係る機能手段は、コンピュータで実行されるプログラムにより実現される。当該プログラムは、CD−ROM、SDカード等の記録媒体に記録しておき、任意のコンピュータにインストールして使用することが可能である。
上記の実施の形態に示した構成によれば、双方NAT装置配下にある端末同士が一般的なクライアントアプリケーションで直接TCP通信を行うことが可能となる。また、UPnPのようにNAT装置に直接働きかけることなくTCP通信が可能となる。更に、TCPシーケンスがUDPカプセル化により隠蔽されるため、FW機能を備えたNAT装置に対しても上記の実施の形態に示したTCP通信NAT透過の方法は有効である。
なお、本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
NAT装置配下の端末間でのUDPデータチャネルの構築方法を説明するための図である。 本発明に係るTCP接続のNAT透過技術の原理について説明するための図である。 本発明の実施の形態を説明するための図である。 TCP接続のNAT透過に関する他の実施の形態を説明するための図(1)である。 TCP接続のNAT透過に関する他の実施の形態を説明するための図(2)である。 TCP接続のNAT透過に関する他の実施の形態を説明するための図(3)である。 TCP接続のNAT透過に関する他の実施の形態を説明するための図(4)である。 TCP接続のNAT透過に関する他の実施の形態を説明するための図(5)である。 各装置の機能ブロックを含む構成図である。
符号の説明
1、2、12、14、25、26、35、36 NAT装置
3、4、11、13、22、23、33、34、41、42 端末
5、6 STUNサーバ
7、31、32 SIPプロキシサーバ
44 セッション管理サーバ
10、20、21、37、38 外部サーバ
50 各種アプリケーション
51 SIP機能部
52 NAT透過に関する状態テーブル
53 通信機能部
59 STUN機能部
60 ダミーTCP接続サーバ機能部

Claims (8)

  1. 第1のNAT装置の内側から、第2のNAT装置の内側にある他の端末装置と通信を行う機能を有する端末装置であって、
    前記他の端末装置に、第1のNAT装置により付与される第1の外部ポート番号を送信する手段と、
    前記他の端末装置から、第2のNAT装置により付与される第2の外部ポート番号を受信する手段と、
    第1の外部ポート番号を送信先ポート番号として含み、前記他の端末装置のアプリケーションにより使用される内部ポート番号を送信元ポート番号として含むパケットを、前記他の端末装置から受信する手段と、
    前記送信元ポート番号を、第2の外部ポート番号に変換し、前記送信先ポート番号を、前記端末装置のアプリケーションにより使用される内部ポート番号に変換する手段と
    を備えたことを特徴とする端末装置。
  2. 第1の外部ポート番号を、第1のNAT装置の外側に備えられた外部サーバから取得する手段を備えた請求項1に記載の端末装置。
  3. 前記端末装置から送信されたパケットが、第2のNAT装置を通過して前記他の端末装置に届くようにするためのNAT通過手段を備えた請求項1に記載の端末装置。
  4. 前記NAT通過手段は、パケットをカプセリングする手段と、カプセリングされたパケットを第2のNAT装置に向けて送信する手段とを有する請求項3に記載の端末装置。
  5. 前記各ポート番号は、TCP通信用のポート番号である請求項1ないし4のうちいずれか1項に記載の端末装置。
  6. 前記各ポート番号はTCP通信用のポート番号であり、前記カプセリングは、TCPヘッダを含むパケットに、UDP通信用の外部ポート番号を含むUDPヘッダを付加することにより行う請求項4に記載の端末装置。
  7. 前記カプセリングされたパケットの送信先アドレス及び前記UDPヘッダに含まれる送信先外部ポート番号を中継サーバを介して前記他の端末装置から受信する手段と、
    前記UDPヘッダに含まれる送信元の外部ポート番号をSTUN装置から受信する手段と
    を備えた請求項6に記載の端末装置。
  8. 第1のNAT装置の内側から、第2のNAT装置の内側にある他の端末装置と通信を行ために使用されるコンピュータを、
    前記他の端末装置に、第1のNAT装置により付与される第1の外部ポート番号を送信する手段、
    前記他の端末装置から、第2のNAT装置により付与される第2の外部ポート番号を受信する手段、
    第1の外部ポート番号を送信先ポート番号として含み、前記他の端末装置のアプリケーションにより使用される内部ポート番号を送信元ポート番号として含むパケットを、前記他の端末装置から受信する手段、
    前記送信元ポート番号を、第2の外部ポート番号に変換し、前記送信先ポート番号を、前記コンピュータのアプリケーションにより使用される内部ポート番号に変換する手段
    として機能させるプログラム。
JP2004071232A 2004-03-12 2004-03-12 パケットのnat透過機能を有する端末装置及びそのプログラム Expired - Lifetime JP4260659B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004071232A JP4260659B2 (ja) 2004-03-12 2004-03-12 パケットのnat透過機能を有する端末装置及びそのプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004071232A JP4260659B2 (ja) 2004-03-12 2004-03-12 パケットのnat透過機能を有する端末装置及びそのプログラム

Publications (2)

Publication Number Publication Date
JP2005260715A JP2005260715A (ja) 2005-09-22
JP4260659B2 true JP4260659B2 (ja) 2009-04-30

Family

ID=35085998

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004071232A Expired - Lifetime JP4260659B2 (ja) 2004-03-12 2004-03-12 パケットのnat透過機能を有する端末装置及びそのプログラム

Country Status (1)

Country Link
JP (1) JP4260659B2 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4708036B2 (ja) * 2005-01-21 2011-06-22 パナソニック株式会社 通信システム、情報処理装置、サーバ、及び情報処理方法
US8250643B2 (en) * 2005-02-28 2012-08-21 Nec Corporation Communication device, communication system, communication method, and program
JP4331154B2 (ja) * 2005-09-29 2009-09-16 パナソニック株式会社 情報処理システム、トンネル通信装置、及びトンネル通信方法
JP4327142B2 (ja) 2005-09-29 2009-09-09 パナソニック株式会社 情報処理システム、トンネル通信装置、トンネル通信方法、代理応答装置、及び代理応答方法
JP4602247B2 (ja) * 2005-12-28 2010-12-22 パナソニックシステムネットワークス株式会社 通信方法
CN100423513C (zh) * 2006-03-21 2008-10-01 杭州华三通信技术有限公司 一种tcp连接的合并方法
JP4709060B2 (ja) * 2006-05-09 2011-06-22 キヤノン株式会社 通信装置、通信装置の制御方法及びプログラム
JP2008085470A (ja) 2006-09-26 2008-04-10 Fujitsu Ltd Ipアプリケーションサービス提供システム
KR100901790B1 (ko) * 2006-12-04 2009-06-11 한국전자통신연구원 IPv4 네트워크 기반 IPv6 서비스 제공시스템에서의 제어 터널 및 다이렉트 터널 설정 방법
JP5103031B2 (ja) * 2007-02-26 2012-12-19 日立情報通信エンジニアリング株式会社 ネットワーク通信方法及びそのシステム
JP5151197B2 (ja) * 2007-03-20 2013-02-27 日本電気株式会社 通信システム、パケット転送処理装置及びそれらに用いる通信セッション制御方法
JP4411332B2 (ja) 2007-03-20 2010-02-10 パナソニック株式会社 Ip通信装置及びip通信システム並びにこれらのip通信方法
JP4961368B2 (ja) * 2008-02-26 2012-06-27 エヌ・ティ・ティ・コミュニケーションズ株式会社 端末装置、nat越え方法、及びプログラム
JP5091887B2 (ja) * 2009-02-23 2012-12-05 エヌ・ティ・ティ・コミュニケーションズ株式会社 端末装置、通信処理方法、及びプログラム
JP5218357B2 (ja) * 2009-09-25 2013-06-26 ブラザー工業株式会社 通信方法、通信システム、端末装置
US8819244B2 (en) * 2010-04-07 2014-08-26 Apple Inc. Apparatus and method for establishing and utilizing backup communication channels
JP5241890B2 (ja) * 2011-07-12 2013-07-17 キヤノン株式会社 受信装置、方法、及び、プログラム
JP5758461B2 (ja) * 2013-09-12 2015-08-05 株式会社デジオン 通信方法、外部情報処理装置、内部情報処理装置及びプログラム
JP7408150B2 (ja) * 2020-06-25 2024-01-05 学校法人 名城大学 通信方法

Also Published As

Publication number Publication date
JP2005260715A (ja) 2005-09-22

Similar Documents

Publication Publication Date Title
JP4260659B2 (ja) パケットのnat透過機能を有する端末装置及びそのプログラム
JP4489008B2 (ja) 通信装置、通信方法および通信プログラム
JP6359184B2 (ja) Rtcクライアントとrtcサーバとの間のrtc通信コネクションを確立するときにアプリケーションレイヤ・ゲートウェイ・ファイアウォールをトラバースするための通信装置および方法
US7729366B2 (en) Method, apparatus and system for network mobility of a mobile communication device
JP3793083B2 (ja) トンネリングおよび補償を使用するネットワーク・アドレス翻訳によりセキュリティを与えるための方法および装置
US9497168B2 (en) Method and apparatus for supporting communications between a computing device within a network and an external computing device
JP5378494B2 (ja) リレーサーバを利用したデータ伝送システム及び方法
RU2543304C2 (ru) Способ и устройство, для ретрансляции пакетов
WO2007037028A1 (ja) 情報処理システム、トンネル通信装置、トンネル通信方法、代理応答装置、及び代理応答方法
JP2011124770A (ja) Vpn装置、vpnネットワーキング方法、プログラム、及び記憶媒体
JP5122587B2 (ja) 接続制御方法、接続制御サーバ装置、接続制御クライアント装置、接続制御システム、及びプログラム
KR20040035902A (ko) 네트워크 주소 변환 상에서의 데이터 전송 방법 및 장치
JP5091887B2 (ja) 端末装置、通信処理方法、及びプログラム
CN102932359B (zh) 流媒体服务请求方法、装置和系统
EP3170301A1 (en) Access to a node
JP2010283762A (ja) 通信経路設定装置、通信経路設定方法、プログラム、及び記憶媒体
CN106921624B (zh) 会话边界控制器及数据传输方法
JP4648436B2 (ja) パケット振り分け装置、通信システム、パケット処理方法、及びプログラム
JP2010252261A (ja) Vpn装置、vpnネットワーキング方法、及び記憶媒体
JP4401302B2 (ja) 通信管理システム、通信管理方法、及び通信管理プログラム
CN112751816B (zh) 一种隧道建立方法、装置、设备及计算机可读存储介质
CN117439815B (zh) 一种基于反向透明桥接的内网穿透系统及方法
JP4789980B2 (ja) トンネル通信システムおよび制御装置
JP6913132B2 (ja) データ送信補助方法
JP5084716B2 (ja) Vpn接続装置、dnsパケット制御方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060904

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081226

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: 20090203

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: 20090204

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

Free format text: PAYMENT UNTIL: 20120220

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4260659

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130220

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20140220

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term