JP2005260715A - Terminal device having packet nat transparent function, and its program - Google Patents
Terminal device having packet nat transparent function, and its program Download PDFInfo
- Publication number
- JP2005260715A JP2005260715A JP2004071232A JP2004071232A JP2005260715A JP 2005260715 A JP2005260715 A JP 2005260715A JP 2004071232 A JP2004071232 A JP 2004071232A JP 2004071232 A JP2004071232 A JP 2004071232A JP 2005260715 A JP2005260715 A JP 2005260715A
- Authority
- JP
- Japan
- Prior art keywords
- port number
- nat
- terminal
- 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.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
Description
本発明は、NAT(Network Address Translation)装置の配下にある端末同士がNAT装置を通過して通信を行うためのNAT透過技術に関するものである。 The present invention relates to a NAT transmission technology for communication between terminals under a NAT (Network Address Translation) device through a NAT device.
プライベートIPアドレスとグローバルIPアドレスとを相互に変換することにより、プライベートIPアドレスのみが割り当てられた端末からインターネットへのアクセスを可能とするNAT装置が普及している。 2. Description of the Related Art NAT devices that allow access to the Internet from terminals assigned only private IP addresses by converting private IP addresses and global IP addresses to each other have become widespread.
NAT装置にはその配下にある端末に対するNAT装置の外側からの不正なアクセスを防止できるという利点がある反面、NAT装置の外側からNAT装置配下の端末へのアクセスが制限されることから、一般的にNAT装置を介した端末同士のピアツーピア通信ができないという問題がある。 While NAT devices have the advantage of preventing unauthorized access from outside the NAT device to terminals under the NAT device, access to the terminals under the NAT device is restricted from outside the NAT device. However, there is a problem that peer-to-peer communication between terminals via a NAT device is not possible.
この問題を解決するために、UPnP(Universal Plug and Play)やSTUN(Simple Traversal of UDP through NATs,RFC3489)等のNAT透過技術が提案されている。 In order to solve this problem, NAT transmission techniques such as UPnP (Universal Plug and Play) and STUN (Simple Traversal of UDP through NATs, RFC3489) have been proposed.
ここで、STUNを用いた場合におけるNAT装置配下の端末間でのUDPデータチャネルの構築方法について図1を用いて説明する。 Here, a method for constructing a UDP data channel between terminals under the NAT apparatus when STUN is used will be described with reference to FIG.
図1に示す例では、NAT装置1、2の配下にある端末3、4間でUDPデータチャネルを構築する。また、端末3側には、NAT装置1により変換されたグローバルなIPアドレスとポート番号を端末3に返すSTUNサーバ5が備えられ、同様に端末4側にはSTUNサーバ6が備えられている。また、端末3、4間での情報交換は、SIPプロキシサーバ7を介して行う。
In the example shown in FIG. 1, a UDP data channel is established between
なお、本明細書では、NAT装置配下の端末のプライベートIPアドレスを内部IPアドレスもしくは内部アドレス、当該端末で使用されるアプリケーションが識別するポート番号を内部ポート番号と呼び、NAT装置により変換された後のグローバルIPアドレスを外部IPアドレスもしくは外部アドレス、ポート番号を外部ポート番号と呼ぶことにする。また、図面中、TCP用のポート番号をTCPポート、UDP用のポート番号をUDPポート、送信元を“SRC”、送信先を“DST”と記す場合がある。 In this specification, a private IP address of a terminal under a NAT device is called an internal IP address or internal address, and a port number identified by an application used in the terminal is called an internal port number. After being converted by the NAT device, The global IP address is called an external IP address or external address, and the port number is called an external port number. In the drawings, the TCP port number may be described as a TCP port, the UDP port number as a UDP port, the transmission source as “SRC”, and the transmission destination as “DST”.
まず、端末3は、NAT装置1により変換された後の外部IPアドレスyと外部ポート番号yとをSTUNサーバ5を利用して取得する(ステップS1)。端末4の側も同様である。
First, the
そして、端末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パケットは廃棄される。
Then, the external IP address and the external port number are mutually notified by the SIP INVITE session between the
一方、端末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装置を介しての端末同士の通信ができる。
On the other hand, from the
NAT透過に関する他の従来技術として、IPsec NAT-Traversalと呼ばれるUDPカプセル化を用いた技術がある(特許文献1参照)。この技術は、送信元でUDPパケットをIPsec化した後に、ダミーのUDPヘッダ(送信元の内部ポート番号、送信先のポート番号)を挿入し、受信側において、そのダミーのUDPヘッダがNAT装置により変換された変換後のUDPヘッダを参照することにより、送信元の外部ポート番号を取得し、IPsec化されていたUDPパケットのUDPヘッダの送信元内部ポート番号を当該外部ポート番号に変換するというものである。これによりアプリケーションはIPsecによる暗号化とNATを意識することなくUDP通信を行うことができる。
しかしながら、上記の従来技術によるとUDPのNAT透過は実現できるが、TCPのNAT透過を行うことができないという問題がある。 However, according to the above prior art, UDP NAT transmission can be realized, but there is a problem that TCP NAT transmission cannot be performed.
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透過は実現できない。
In TCP, connection is established by exchanging sequence numbers with each other using SYN packets, SYN / ACK packets, and the like. Therefore, in the method of transmitting packets to each other independently like the method using STUN shown in FIG. 1, the NAT device may determine that normal TCP communication is not performed. There are cases where NAT transmission cannot be realized.
In addition, in the IPsec NAT-Traversal technology, it is conceivable to perform TCP NAT transmission by encapsulating TCP packets in UDP. However, in the IPsec NAT-Traversal technology, the NAT device converts it with UDP encapsulation. Therefore, the receiving side cannot determine to which external port number the source internal port number in the TCP header inside the UDP capsule should be converted. Therefore, TCP NAT transmission cannot be realized with the conventional UDP encapsulation technology of IPsec NAT-Traversal.
更に、UPnPを用いて端末がNAT装置に直接働きかけることによりTCPのNAT透過を実現することも考えられるが、両端の端末双方の側のNAT装置がUPnPに対応する必要があるという問題がある。また、端末とNAT装置が同一サブネット内に存在しない場合や、多重にNAT装置を介する場合には、UPnPによるTCPのNAT透過を実現することはできない。
本発明は上記の点に鑑みてなされたものであり、NAT装置の配下にある端末同士がTCPによる通信を行うことを可能にする技術を提供することを目的とする。
Further, although it is conceivable to realize NAT transmission of TCP by causing the terminal to directly act on the NAT device using UPnP, there is a problem that the NAT devices on both sides of the terminal need to support UPnP. In addition, when the terminal and the NAT device do not exist in the same subnet, or when multiple NAT devices are used, TCP NAT transmission by UPnP cannot be realized.
The present invention has been made in view of the above points, and an object of the present invention is to provide a technique that enables terminals under the control of a NAT device to perform communication by TCP.
上記の課題は、第1のNAT装置の内側から、第2のNAT装置の内側にある他の端末装置と通信を行う機能を有する端末装置であって、前記他の端末装置に、第1のNAT装置により付与される第1の外部ポート番号を送信する手段と、前記他の端末装置から、第2のNAT装置により付与される第2の外部ポート番号を受信する手段と、第1の外部ポート番号を送信先ポート番号として含み、前記他の端末装置のアプリケーションにより使用される内部ポート番号を送信元ポート番号として含むパケットを、前記他の端末装置から受信する手段と、前記送信元ポート番号を、第2の外部ポート番号に変換し、前記送信先ポート番号を、前記端末装置のアプリケーションにより使用される内部ポート番号に変換する手段とを備えた端末装置により解決される。 The above-described problem is a terminal device having a function of performing communication with another terminal device inside the second NAT device from the inside of the first NAT device. Means for transmitting a first external port number assigned by the NAT device, means for receiving a second external port number assigned by the second NAT device from the other terminal device, and a first external device Means for receiving, from the other terminal device, a packet containing a port number as a destination port number and an internal port number used by an application of the other terminal device as a source port number; and the source port number And a means for converting the destination port number into an internal port number used by an application of the terminal device. It is more resolved.
本発明によれば、端末装置が通信相手装置のTCP用外部ポート番号を知ることができるので、それを用いて受信パケット内のTCPヘッダの内部ポート番号を変換できる。また、通信相手装置は、当該端末装置が通知するTCP用の外部ポート番号を取得するので、同様の変換を行うことができる。従って、端末装置は、NAT装置の存在を意識することなく通信相手装置とTCP通信を行うことができる。 According to the present invention, since the terminal device can know the external port number for TCP of the communication partner device, it can be used to convert the internal port number of the TCP header in the received packet. Further, the communication partner apparatus acquires the external port number for TCP notified by the terminal apparatus, and therefore can perform the same conversion. Accordingly, the terminal device can perform TCP communication with the communication partner device without being aware of the presence of the NAT device.
前記端末装置は、第1の外部ポート番号を、第1のNAT装置の外側に備えられた外部サーバから取得することができる。例えば、端末装置は当該外部サーバに対してダミーのTCP接続をし、外部サーバから、第1のNAT装置により付与されたTCP用の外部ポート番号を取得することができる。 The terminal device can obtain the first external port number from an external server provided outside the first NAT device. For example, the terminal device can make a dummy TCP connection to the external server, and can acquire the external port number for TCP assigned by the first NAT device from the external server.
また、前記端末装置は、前記端末装置から送信されたパケットが、第2のNAT装置を通過して前記他の端末装置に届くようにするためのNAT通過手段を備える。 In addition, the terminal device includes NAT passing means for allowing a packet transmitted from the terminal device to pass through a second NAT device and reach the other terminal device.
そして、前記NAT通過手段は、パケットをカプセリングする手段と、カプセリングされたパケットを第2のNAT装置に向けて送信する手段とを有する。 The NAT passing means has means for encapsulating the packet and means for transmitting the encapsulated packet to the second NAT device.
NAT透過手段は通信相手の装置も備えており、前記端末装置は、例えばTCPヘッダを有するパケットをUDPヘッダでカプセリングしたパケットを受信する。 The NAT transmission means also includes a communication partner device, and the terminal device receives, for example, a packet obtained by encapsulating a packet having a TCP header with a UDP header.
前記端末装置は、前記カプセリングされたパケットの送信先アドレス及び前記UDPヘッダに含まれる送信先外部ポート番号を中継サーバを介して前記他の端末装置から受信し、前記UDPヘッダに含まれる送信元の外部ポート番号をSTUN装置から受信することができる。中継サーバとして例えばSIPプロキシサーバを使用できる。 The terminal device receives a destination address of the encapsulated packet and a destination external port number included in the UDP header from the other terminal device via a relay server, and transmits the source address included in the UDP header. The external port number can be received from the STUN device. For example, a SIP proxy server can be used as the relay server.
本発明によれば、NAT装置の配下にある端末同士で一般的なアプリケーションによるTCP通信が可能となる。 According to the present invention, it is possible to perform TCP communication by a general application between terminals under the NAT device.
以下、図面を参照して本発明の実施の形態について説明する。まず、図2を用いて、本発明に係るNAT透過技術の原理について説明する。 Embodiments of the present invention will be described below with reference to the drawings. First, the principle of the NAT transmission technique according to the present invention will be described with reference to FIG.
図2に示すように、端末とTCP接続し、TCPの外部ポート番号を端末に通知する機能を有する外部サーバ10を備える。
As shown in FIG. 2, an
そして、まず、端末11が外部サーバ10に対して(ダミーの)TCP接続を行う。このとき、端末11から送信されるTCPパケットのTCPヘッダ内の送信元の内部ポート番号は、NAT装置12により外部ポート番号yyに変換されるが、外部サーバ10は、その外部ポート番号yyを端末11に返答する。これにより、端末11はTCPヘッダの送信元外部ポート番号yyを取得する。端末13も同様にして外部ポート番号bbを取得する。
First, the
そして、端末11と端末13との間でSIP等を用いることにより、取得したTCP通信用の送信元外部ポート番号を交換する。これにより、端末11は、端末13側の送信元外部ポート番号bbを取得し、端末13は、端末11側の送信元外部ポート番号yyを取得する。 Then, by using SIP or the like between the terminal 11 and the terminal 13, the acquired transmission source external port number for TCP communication is exchanged. Thereby, the terminal 11 acquires the transmission source external port number bb on the terminal 13 side, and the terminal 13 acquires the transmission source external port number yy on the terminal 11 side.
その後、TCPパケットをUDPカプセル化することにより、NAT装置12、14を透過してパケットを互いの端末が送受信する。この場合のNAT透過は図1に示した方法を用いて行うことができる。なお、図2には、UDPパケットのNAT透過のための構成(STUNサーバ等)及びシーケンスは示していない。
Thereafter, the TCP packet is UDP-encapsulated, so that each terminal transmits and receives the packet through the
図2に示すように、端末11から、端末13に、UDPカプセル化したTCPパケットを送信する場合を例にとると、端末11は、TCP用の送信元内部ポート番号x、TCP用の送信先外部ポート番号bbを含む情報をTCPヘッダとして有するTCPパケットをUDPカプセル化したUDPパケットを端末13に対して送信する。 As illustrated in FIG. 2, when an example of transmitting a UDP-encapsulated TCP packet from the terminal 11 to the terminal 13, the terminal 11 transmits the TCP transmission source internal port number x and the TCP transmission destination. A UDP packet obtained by UDP-encapsulating a TCP packet having information including the external port number bb as a TCP header is transmitted to the terminal 13.
そして、端末13では、受信したUDPカプセル化パケットの中身を取り出し、そのTCPヘッダ内の内部ポート番号xを、TCP用の外部ポート番号yyに書き換える。なお、内部IPアドレスxはNAT装置12により外部IPアドレスyに変換され、外部IPアドレスbはNAT装置14により、内部IPアドレスaに変換されている。
Then, the terminal 13 extracts the contents of the received UDP-encapsulated packet and rewrites the internal port number x in the TCP header with the external port number yy for TCP. The internal IP address x is converted to the external IP address y by the
このような変換を行うことにより、端末11、13側のアプリケーションは、グローバルなアドレス/ポートを持った通信相手とTCP通信を行う場合と同様にして、NAT装置配下にある端末とTCP通信を行うことができる。なお、UDPカプセル内部のTCPパケットは、必要に応じてIPsecによる暗号化をすることができる。 By performing such conversion, the application on the terminal 11 or 13 side performs TCP communication with a terminal under the NAT device in the same manner as when performing TCP communication with a communication partner having a global address / port. be able to. The TCP packet inside the UDP capsule can be encrypted by IPsec as necessary.
次に、図3を参照して本実施の形態をより詳細に説明する。 Next, the present embodiment will be described in more detail with reference to FIG.
本実施の形態では、外部サーバとしてSTUNサーバと図2に示した外部サーバの両方の機能を持つ外部サーバ20、21を備えている。また、端末22、端末23間でSIP通信を行うためのSIPプロキシサーバ24を備えている。NAT装置25配下に端末22があり、NAT装置26配下に端末23がある。
In the present embodiment,
まず、端末22と端末23の各々において、UDPカプセル化で用いるための外部IPアドレスとUDP用の外部ポート番号を外部サーバから取得する(ステップS11)。例えば、端末22は外部IPアドレスyとUDP用の外部ポート番号yを外部サーバ20から取得する。端末23側も同様である。
First, in each of the terminal 22 and the terminal 23, an external IP address and an external port number for UDP used for UDP encapsulation are acquired from an external server (step S11). For example, the terminal 22 acquires the external IP address y and the UDP external port number y from the
そして、図2で説明したように、端末22は外部サーバ20にダミーのTCP接続を行い、TCP用の外部ポート番号yyを外部サーバ20から取得する。端末23も同様にしてTCP用の外部ポート番号bbを取得する(ステップS12)。
Then, as described with reference to FIG. 2, the terminal 22 performs a dummy TCP connection to the
その後、各端末は、UDPトンネル用の(内部ポート番号、外部IPアドレス、外部ポート番号)と、端末間でのTCP接続用の外部ポート番号をSIPにより互いに相手の端末に通知する(ステップS13)。 Thereafter, each terminal notifies each other's terminals of the UDP tunnel (internal port number, external IP address, external port number) and the external port number for TCP connection between the terminals by SIP (step S13). .
その後、図1に示した原理と同様にして、各端末から、送信元内部ポート番号、送信先外部ポート番号をUDPヘッダとして持つUDPパケットを相手端末に送信しあうことにより、UDPパケットのNAT透過を行う(ステップS14)。すなわち、UDPトンネルを構築する。これにより、以降のシーケンスにおいて、端末から送信されたUDPカプセル化されたパケットは、NAT透過して相手の端末に到達することができる。 Thereafter, in the same manner as in the principle shown in FIG. 1, each terminal transmits a UDP packet having the transmission source internal port number and the transmission destination external port number as a UDP header to the partner terminal, so that the NAT transmission of the UDP packet is performed. Is performed (step S14). That is, a UDP tunnel is constructed. Thereby, in the subsequent sequence, the UDP-encapsulated packet transmitted from the terminal can reach the partner terminal through the NAT.
各端末は、TCP用の送信先外部ポート番号を取得しているので、外部ポート番号をTCPヘッダ内に含むTCPパケットを生成することが可能となる。端末内で生成されたTCPパケットはIPsecにより暗号化される。なお、IPsecによる暗号化を行わなくてもよい。
図3の例では、端末23は、自身のアプリケーションが使用するTCP用の送信元内部ポート番号kと、送信先外部ポート番号yyとを含むTCPヘッダを付したTCPパケットを生成し、それをIPsec暗号化したものを、UDPカプセル化して端末22側に送信する(ステップS15)。
Since each terminal acquires a TCP destination external port number, it is possible to generate a TCP packet including the external port number in the TCP header. TCP packets generated in the terminal are encrypted by IPsec. Note that it is not necessary to perform encryption by IPsec.
In the example of FIG. 3, the terminal 23 generates a TCP packet with a TCP header including a TCP transmission source internal port number k and a transmission destination external port number yy used by its own application. The encrypted data is UDP-encapsulated and transmitted to the terminal 22 side (step S15).
その後、端末22側では、TCPパケットが取り出され、復号化され、送信元の内部ポート番号kが、それに対応する外部ポート番号であるbbに変換され、送信先の外部ポート番号yyが、端末22の内部ポート番号jに変換される(ステップS16)。 Thereafter, on the terminal 22 side, the TCP packet is extracted and decrypted, the internal port number k of the transmission source is converted into bb which is the corresponding external port number, and the external port number yy of the transmission destination is changed to the terminal 22. Is converted into the internal port number j (step S16).
なお、端末23は、外部ポート番号bbに対応する内部ポート番号としてkを使用することを、ステップS15の前に端末22に通知しておいてもよい。また、端末22は、外部ポート番号yyに対応する内部ポート番号としてjを使用することを、端末23に通知しておいてもよい。 Note that the terminal 23 may notify the terminal 22 that k is used as the internal port number corresponding to the external port number bb before step S15. Further, the terminal 22 may notify the terminal 23 that j is used as the internal port number corresponding to the external port number yy.
ステップS16において変換されたTCPパケットのヘッダに基づき、データが端末22内のアプリケーションに渡される。アプリケーションが端末23に向けてTCPによりデータを送信する際には、ソケットに書き込まれた情報に基づき、送信元内部ポート番号をj、送信先外部ポート番号をbbとするTCPパケットが生成され、暗号化、及びUDPカプセル化されてUDPパケットが端末23側に送信される(ステップS17)。 Data is passed to the application in the terminal 22 based on the header of the TCP packet converted in step S16. When the application sends data to the terminal 23 by TCP, a TCP packet is generated based on the information written in the socket, with the source internal port number j and destination external port number bb. And UDP-encapsulated and a UDP packet is transmitted to the terminal 23 side (step S17).
端末23側では、端末22の場合と同様にして、送信元内部ポート番号jが送信元外部ポート番号yyに変換され、送信先外部ポート番号bbが送信先内部ポート番号kに変換され(ステップS18)、そのヘッダ情報に基づき、データがアプリケーションに渡される。 On the terminal 23 side, as in the case of the terminal 22, the transmission source internal port number j is converted into the transmission source external port number yy, and the transmission destination external port number bb is converted into the transmission destination internal port number k (step S18). ), Data is passed to the application based on the header information.
従って、端末22、23アプリケーションはNAT装置を意識することなくTCP通信を行うことができる。 Accordingly, the terminal 22 and 23 applications can perform TCP communication without being aware of the NAT device.
図3に示した構成において、ダミーのTCP接続の相手先はSTUNサーバ機能を含む外部サーバでなくともよい。例えば、SIPプロキシサーバ24と認証連携したダミー接続専用のサーバを用いてもよい。また、外部サーバは、物理的に1つでもよく、また、複数のサーバでロードバランスしてもよい。また、端末間でのアドレス/ポート番号情報の交換は、SIP以外の方法を用いて行うこともできる。
In the configuration shown in FIG. 3, the destination of the dummy TCP connection does not have to be an external server including the STUN server function. For example, a dummy connection dedicated server that cooperates with the
端末同士がTCP接続している間、TCP通信用の外部ポート番号を確保するために、各端末はダミーのTCP接続を保持しておく。また、NAT装置のコネクション保持のタイムアウトを回避するために、端末は数分間隔でTCPキープアライブパケットを外部サーバに送信してもよい。 Each terminal holds a dummy TCP connection in order to secure an external port number for TCP communication while the terminals are TCP-connected. In addition, in order to avoid a timeout of NAT device connection retention, the terminal may transmit a TCP keep alive packet to an external server at intervals of several minutes.
さて、端末間で複数のTCPコネクションを張る場合、そのコネクションの数だけダミーのTCP接続を行う。なお、トンネルに使用するUDPセッションは1つだけでよい。しかし、WebブラウザのようなTCPクライアントは、自動的に複数のTCPコネクションを張る場合が多く、このような場合は、TCPコネクションの数を予め知ることはできない。従って、このような場合は、SIPのINVITEセッションではUDPトンネルの確立だけをネゴシエーションしておき、実際にアプリケーションがTCPソケットを開いたタイミングで通信スタックが自発的にダミーTCP接続を行い、UDPトンネルを通して、予約されたTCPのポート番号を相手に通知するようにすればよい。 When a plurality of TCP connections are established between terminals, dummy TCP connections are performed for the number of connections. Note that only one UDP session is required for the tunnel. However, in many cases, a TCP client such as a Web browser automatically establishes a plurality of TCP connections. In such a case, the number of TCP connections cannot be known in advance. Therefore, in such a case, in the SIP INVITE session, only the establishment of the UDP tunnel is negotiated, and when the application actually opens the TCP socket, the communication stack spontaneously makes a dummy TCP connection, and through the UDP tunnel. The reserved TCP port number may be notified to the other party.
次に、TCPのNAT透過の別の例を図4〜図8を用いてステップ毎に説明する。 Next, another example of TCP NAT transmission will be described step by step with reference to FIGS.
図4〜図8の例では、SIPサーバ31、32がSTUNサーバ機能を有している。また、端末33(例えばビデオ装置)と端末34(例えば携帯端末)が通信を行う場合を示しており、端末33が端末34に対してアクティブにTCP接続を行う例である。また、端末33はNAT装置35の配下にあり、端末34はNAT装置36の配下にある。
4 to 8, the
図4に示すように、ステップS21において、各端末は端末同士の通信に先立ち、SIPサーバ間でシグナリングチャネルを確立しておく。このとき、各端末は、NAT装置が付与するUDP用の外部IPアドレスと外部ポート番号をSIPサーバから取得する。 As shown in FIG. 4, in step S21, each terminal establishes a signaling channel between SIP servers prior to communication between the terminals. At this time, each terminal obtains the UDP external IP address and external port number assigned by the NAT device from the SIP server.
続いて、図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に通知する。
Subsequently, in step S22 of FIG. 5, the terminal 33 starts an INVITE session. The INVITE message includes the external IP address B and external port number b used in UDP tunnel construction and UDP encapsulation, and media information (TCP active connection in the example of FIG. 5). The terminal 34 that accepts the TCP connection makes a dummy TCP connection to the
図6のステップS23において、端末33、34は、取得したUDP用の送信先の外部IPアドレスと外部ポート番号を含むUDPパケットを互いに送信しあうことで、NAT装置35、36を超えてUDPトンネルを確立する。なお、TCP用の外部ポート番号を予約しておくため、端末34の外部サーバ37に対するダミーのTCP接続は維持しておく。
In step S23 of FIG. 6, the
図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に変換すればよいことを認識する。
In step S24 of FIG. 7, at the timing when the client application opens a socket for TCP communication in the terminal 33, the terminal 33 makes a dummy TCP connection to the
そして、図8のステップS25以降、アプリケーションから上記ソケットを用いて転送されるデータはUDPカプセル化され、送信先の端末における通信スタックでTCPヘッダ内のポート番号の変換が行われる。例えば、図8に示すように、送信元内部ポート番号z、送信先外部ポート番号yを含む情報をTCPヘッダとして持つTCPパケットが、UDPトンネルを通して端末33から端末34に送信されると、端末34は、送信元内部ポート番号zを外部ポート番号xに変換し、送信先外部ポート番号yを内部ポート番号80に変換し、その変換後の情報に基づきデータをアプリケーションに渡す。 After step S25 in FIG. 8, the data transferred from the application using the socket is UDP-encapsulated, and the port number in the TCP header is converted by the communication stack in the destination terminal. For example, as shown in FIG. 8, when a TCP packet having information including a transmission source internal port number z and a transmission destination external port number y as a TCP header is transmitted from the terminal 33 to the terminal 34 through the UDP tunnel, the terminal 34 Converts the source internal port number z to the external port number x, converts the destination external port number y to the internal port number 80, and passes the data to the application based on the converted information.
図9に、各装置の機能ブロックを含む構成図を示す。 FIG. 9 shows a configuration diagram including functional blocks of each device.
図9に示すように、端末41は、TCP通信を行う各種アプリケーション50、SIP通信のためのSIP機能部51(SIP通信のためのプログラム群という意味でSIPスタックともいう)、NAT透過に関係する状態テーブル52、及び通信機能部53(通信スタックともいう)を有している。
As shown in FIG. 9, the terminal 41 relates to
SIP機能部51は、SIPセッション管理のためのセッション管理部54を有している。通信機能部53は、TCP/IP通信等のデータ通信を行うための一般的な機能の他、TCP−NAT補償機能55、IPsec機能56、UDPカプセル処理機能57、UDPトンネル構築機能58を有している。
The
TCP−NAT補償機能55は、TCP通信用のポート番号の変換を行う機能である。IPsec機能56は、通信機能部内で生成されたTCPパケットを暗号化する機能である。また、UDPカプセル処理機能57は、UDPカプセル化のためにパケットにUDPヘッダを挿入する処理を行う機能である。UDPトンネル構築機能58は、UDPパケットを送信することによりNAT透過を行い、UDPトンネルを構築する機能である。NAT透過に関係する状態テーブルは、外部ポート番号、内部ポート番号の対応情報を有している。アプリケーション50は、ソケットAPIを利用することにより、通信機能部53にデータ通信を実行させる。
The TCP-
また、図9の例では、外部サーバ43はSTUNサーバの機能部59とダミーTCP接続用の機能部60の両方を含む。STUNサーバの機能部59から端末41がUDP用の外部ポート番号を取得する。また、ダミーTCP接続用の機能部60により端末41と外部サーバとの間でダミーTCP接続を行い、TCP用の外部ポート番号の予約を行う。
In the example of FIG. 9, the
SIPサーバ等のセッション管理サーバ44は、セッション管理を行うセッション管理部61を有している。セッション管理サーバ44を介して端末41、端末42間でIPアドレス情報、ポート番号情報の交換を行う。端末42の構成は、端末41の構成と同様である。
The
以上の構成により、図4〜8等を参照して説明した処理を行う。すなわち、端末41、42が各々のTCPヘッダの送信元外部ポート番号を取得し、その送信元外部ポート番号を互いに通知する。また、端末41、42はアプリケーションが使用するTCP用の内部ポート番号を互いに通知する。これにより、端末41、42の各々は、前記NAT透過に関係する状態テーブルに、通信相手端末の外部ポート番号と内部ポート番号とを対応付けて記録することができ、TCP用の送信元内部ポート番号を含むTCPヘッダを有するTCPパケットをUDPカプセル化したUDPパケットを受信した場合には、そのTCPヘッダ内の内部ポート番号を、前記状態テーブルを参照することにより、外部ポート番号に書き換えることができる。
With the above configuration, the processing described with reference to FIGS. That is, the
端末、外部サーバの各々は、CPU、メモリ、記憶装置等を持つコンピュータであり、本発明に係る機能手段は、コンピュータで実行されるプログラムにより実現される。当該プログラムは、CD−ROM、SDカード等の記録媒体に記録しておき、任意のコンピュータにインストールして使用することが可能である。 Each of the terminal and the external server is a computer having a CPU, a memory, a storage device, etc., and the functional means according to the present invention is realized by a program executed on the computer. The program can be recorded on a recording medium such as a CD-ROM or an SD card, and can be installed and used in an arbitrary computer.
上記の実施の形態に示した構成によれば、双方NAT装置配下にある端末同士が一般的なクライアントアプリケーションで直接TCP通信を行うことが可能となる。また、UPnPのようにNAT装置に直接働きかけることなくTCP通信が可能となる。更に、TCPシーケンスがUDPカプセル化により隠蔽されるため、FW機能を備えたNAT装置に対しても上記の実施の形態に示したTCP通信NAT透過の方法は有効である。 According to the configuration shown in the above-described embodiment, terminals that are under the control of both NAT devices can directly perform TCP communication using a general client application. Further, TCP communication is possible without directly acting on the NAT device as in UPnP. Furthermore, since the TCP sequence is concealed by UDP encapsulation, the TCP communication NAT transmission method described in the above embodiment is effective even for a NAT apparatus having an FW function.
なお、本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。 The present invention is not limited to the above-described embodiment, and various modifications and applications can be made within the scope of the claims.
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接続サーバ機能部
1, 2, 12, 14, 25, 26, 35, 36
Claims (8)
前記他の端末装置に、第1のNAT装置により付与される第1の外部ポート番号を送信する手段と、
前記他の端末装置から、第2のNAT装置により付与される第2の外部ポート番号を受信する手段と、
第1の外部ポート番号を送信先ポート番号として含み、前記他の端末装置のアプリケーションにより使用される内部ポート番号を送信元ポート番号として含むパケットを、前記他の端末装置から受信する手段と、
前記送信元ポート番号を、第2の外部ポート番号に変換し、前記送信先ポート番号を、前記端末装置のアプリケーションにより使用される内部ポート番号に変換する手段と
を備えたことを特徴とする端末装置。 A terminal device having a function of communicating with another terminal device inside the second NAT device from the inside of the first NAT device,
Means for transmitting a first external port number assigned by the first NAT device to the other terminal device;
Means for receiving, from the other terminal device, a second external port number assigned by a second NAT device;
Means for receiving, from the other terminal device, a packet containing the first external port number as the destination port number and including the internal port number used by the application of the other terminal device as the source port number;
Means for converting the transmission source port number into a second external port number, and converting the transmission destination port number into an internal port number used by an application of the terminal device. apparatus.
前記UDPヘッダに含まれる送信元の外部ポート番号をSTUN装置から受信する手段と
を備えた請求項6に記載の端末装置。 Means for receiving the destination address of the encapsulated packet and the destination external port number included in the UDP header from the other terminal device via a relay server;
The terminal device according to claim 6, further comprising: a unit that receives an external port number of a transmission source included in the UDP header from a STUN device.
前記他の端末装置に、第1のNAT装置により付与される第1の外部ポート番号を送信する手段、
前記他の端末装置から、第2のNAT装置により付与される第2の外部ポート番号を受信する手段、
第1の外部ポート番号を送信先ポート番号として含み、前記他の端末装置のアプリケーションにより使用される内部ポート番号を送信元ポート番号として含むパケットを、前記他の端末装置から受信する手段、
前記送信元ポート番号を、第2の外部ポート番号に変換し、前記送信先ポート番号を、前記コンピュータのアプリケーションにより使用される内部ポート番号に変換する手段
として機能させるプログラム。 A computer used to communicate with other terminal devices inside the second NAT device from inside the first NAT device,
Means for transmitting to the other terminal device a first external port number assigned by a first NAT device;
Means for receiving a second external port number assigned by a second NAT device from the other terminal device;
Means for receiving, from the other terminal device, a packet containing the first external port number as a destination port number and an internal port number used by the application of the other terminal device as a source port number;
A program that converts the transmission source port number into a second external port number and functions as means for converting the transmission destination port number into an internal port number used by an application of the computer.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004071232A JP4260659B2 (en) | 2004-03-12 | 2004-03-12 | Terminal apparatus having NAT function of packet and program thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004071232A JP4260659B2 (en) | 2004-03-12 | 2004-03-12 | Terminal apparatus having NAT function of packet and program thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005260715A true JP2005260715A (en) | 2005-09-22 |
JP4260659B2 JP4260659B2 (en) | 2009-04-30 |
Family
ID=35085998
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004071232A Expired - Lifetime JP4260659B2 (en) | 2004-03-12 | 2004-03-12 | Terminal apparatus having NAT function of packet and program thereof |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4260659B2 (en) |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006203610A (en) * | 2005-01-21 | 2006-08-03 | Matsushita Electric Ind Co Ltd | Communication system, information processing device, server, and information processing method |
WO2007037025A1 (en) * | 2005-09-29 | 2007-04-05 | Matsushita Electric Industrial Co., Ltd. | Information processing system, tunnel communication device, tunnel communication method, and program |
WO2007037028A1 (en) * | 2005-09-29 | 2007-04-05 | Matsushita Electric Industrial Co., Ltd. | Information processing system, tunnel communication device, tunnel communication method, proxy response device, and proxy response method |
JP2007181122A (en) * | 2005-12-28 | 2007-07-12 | Fractalist Inc | Communication method |
JP2007306144A (en) * | 2006-05-09 | 2007-11-22 | Canon Inc | Transmission apparatus, transmission method thereof, program, and storage medium |
JPWO2006093021A1 (en) * | 2005-02-28 | 2008-08-07 | 日本電気株式会社 | Communication device, communication system, communication method, and program |
JP2008211480A (en) * | 2007-02-26 | 2008-09-11 | Hitachi Information & Communication Engineering Ltd | Network communication method and its system |
CN100423513C (en) * | 2006-03-21 | 2008-10-01 | 杭州华三通信技术有限公司 | A Merging Method of TCP Connection |
JP2008236275A (en) * | 2007-03-20 | 2008-10-02 | Nec Corp | Communication system, packet transfer processing unit, and communication session control method therefor |
JP2009206657A (en) * | 2008-02-26 | 2009-09-10 | Ntt Communications Kk | Terminal device, nat traversal method, and program |
US7706358B2 (en) | 2006-09-26 | 2010-04-27 | Fujitsu Limited | IP application service providing system |
JP2010199761A (en) * | 2009-02-23 | 2010-09-09 | Ntt Communications Kk | Terminal device, communication processing method, and program |
JP2011071745A (en) * | 2009-09-25 | 2011-04-07 | Brother Industries Ltd | Communication method, communication system, and terminal device |
JP2011205706A (en) * | 2011-07-12 | 2011-10-13 | Canon Inc | Receiver, method, and program |
JP4819953B2 (en) * | 2006-12-04 | 2011-11-24 | 韓國電子通信研究院 | Control tunnel and direct tunnel setting method in IPv4 network-based IPv6 service providing system |
US8144704B2 (en) | 2007-03-20 | 2012-03-27 | Panasonic Corporation | IP communication apparatus and IP communication method of such apparatus |
JP2013531904A (en) * | 2010-04-07 | 2013-08-08 | アップル インコーポレイテッド | Apparatus and method for establishing and using a standby communication channel |
JP2015056803A (en) * | 2013-09-12 | 2015-03-23 | 株式会社デジオン | Communication method, external information processing unit, internal information processing unit, and program |
JP2022006834A (en) * | 2020-06-25 | 2022-01-13 | 学校法人 名城大学 | Communication method |
-
2004
- 2004-03-12 JP JP2004071232A patent/JP4260659B2/en not_active Expired - Lifetime
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4708036B2 (en) * | 2005-01-21 | 2011-06-22 | パナソニック株式会社 | Communication system, information processing apparatus, server, and information processing method |
JP2006203610A (en) * | 2005-01-21 | 2006-08-03 | Matsushita Electric Ind Co Ltd | Communication system, information processing device, server, and information processing method |
JPWO2006093021A1 (en) * | 2005-02-28 | 2008-08-07 | 日本電気株式会社 | Communication device, communication system, communication method, and program |
JP4826827B2 (en) * | 2005-02-28 | 2011-11-30 | 日本電気株式会社 | COMMUNICATION DEVICE, COMMUNICATION SYSTEM, COMMUNICATION METHOD, AND PROGRAM |
US8078735B2 (en) * | 2005-09-29 | 2011-12-13 | Panasonic Corporation | Information processing system, tunnel communication device, tunnel communication method, and program |
US7929538B2 (en) | 2005-09-29 | 2011-04-19 | Panasonic Corporation | Information processing system, tunnel communication device, tunnel communication method, proxy response device, and proxy response method |
WO2007037028A1 (en) * | 2005-09-29 | 2007-04-05 | Matsushita Electric Industrial Co., Ltd. | Information processing system, tunnel communication device, tunnel communication method, proxy response device, and proxy response method |
WO2007037025A1 (en) * | 2005-09-29 | 2007-04-05 | Matsushita Electric Industrial Co., Ltd. | Information processing system, tunnel communication device, tunnel communication method, and program |
JP2007181122A (en) * | 2005-12-28 | 2007-07-12 | Fractalist Inc | Communication method |
JP4602247B2 (en) * | 2005-12-28 | 2010-12-22 | パナソニックシステムネットワークス株式会社 | Communication method |
CN100423513C (en) * | 2006-03-21 | 2008-10-01 | 杭州华三通信技术有限公司 | A Merging Method of TCP Connection |
JP2007306144A (en) * | 2006-05-09 | 2007-11-22 | Canon Inc | Transmission apparatus, transmission method thereof, program, and storage medium |
JP4709060B2 (en) * | 2006-05-09 | 2011-06-22 | キヤノン株式会社 | COMMUNICATION DEVICE, COMMUNICATION DEVICE CONTROL METHOD, AND PROGRAM |
US7706358B2 (en) | 2006-09-26 | 2010-04-27 | Fujitsu Limited | IP application service providing system |
JP4819953B2 (en) * | 2006-12-04 | 2011-11-24 | 韓國電子通信研究院 | Control tunnel and direct tunnel setting method in IPv4 network-based IPv6 service providing system |
US8457014B2 (en) | 2006-12-04 | 2013-06-04 | Electronics And Telecommunications Research Institute | Method for configuring control tunnel and direct tunnel in IPv4 network-based IPv6 service providing system |
JP2008211480A (en) * | 2007-02-26 | 2008-09-11 | Hitachi Information & Communication Engineering Ltd | Network communication method and its system |
JP2008236275A (en) * | 2007-03-20 | 2008-10-02 | Nec Corp | Communication system, packet transfer processing unit, and communication session control method therefor |
US8144704B2 (en) | 2007-03-20 | 2012-03-27 | Panasonic Corporation | IP communication apparatus and IP communication method of such apparatus |
JP2009206657A (en) * | 2008-02-26 | 2009-09-10 | Ntt Communications Kk | Terminal device, nat traversal method, and program |
JP2010199761A (en) * | 2009-02-23 | 2010-09-09 | Ntt Communications Kk | Terminal device, communication processing method, and program |
JP2011071745A (en) * | 2009-09-25 | 2011-04-07 | Brother Industries Ltd | Communication method, communication system, and terminal device |
JP2013531904A (en) * | 2010-04-07 | 2013-08-08 | アップル インコーポレイテッド | Apparatus and method for establishing and using a standby communication channel |
JP2011205706A (en) * | 2011-07-12 | 2011-10-13 | Canon Inc | Receiver, method, and program |
JP2015056803A (en) * | 2013-09-12 | 2015-03-23 | 株式会社デジオン | Communication method, external information processing unit, internal information processing unit, and program |
JP2022006834A (en) * | 2020-06-25 | 2022-01-13 | 学校法人 名城大学 | Communication method |
JP7408150B2 (en) | 2020-06-25 | 2024-01-05 | 学校法人 名城大学 | Communication method |
Also Published As
Publication number | Publication date |
---|---|
JP4260659B2 (en) | 2009-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4260659B2 (en) | Terminal apparatus having NAT function of packet and program thereof | |
JP6359184B2 (en) | Communication apparatus and method for traversing application layer gateway firewall when establishing RTC communication connection between RTC client and RTC server | |
US7729366B2 (en) | Method, apparatus and system for network mobility of a mobile communication device | |
ES2362993T3 (en) | A METHOD AND PROVISION TO PROVIDE SECURITY THROUGH CONVERSION OF NETWORK ADDRESSES USING TUNNEL AND COMPENSATIONS. | |
US9497168B2 (en) | Method and apparatus for supporting communications between a computing device within a network and an external computing device | |
JP5378494B2 (en) | Data transmission system and method using relay server | |
RU2543304C2 (en) | Packet relay method and device | |
JP4489008B2 (en) | COMMUNICATION DEVICE, COMMUNICATION METHOD, AND COMMUNICATION PROGRAM | |
WO2007037028A1 (en) | Information processing system, tunnel communication device, tunnel communication method, proxy response device, and proxy response method | |
WO2011071190A2 (en) | Networking method of communication apparatus, communication apparatus and storage medium | |
JP5122587B2 (en) | Connection control method, connection control server device, connection control client device, connection control system, and program | |
JP5091887B2 (en) | Terminal device, communication processing method, and program | |
CN100464540C (en) | Communication for spanning gateway | |
CN102932359B (en) | Streaming media service requesting method, device and system | |
JP3970857B2 (en) | Communication system, gateway device | |
JP2010283762A (en) | Communication path setting device, communication path setting method, program, and storage medium | |
CN106921624B (en) | Session boundary controller and data transmission method | |
JP4648436B2 (en) | Packet distribution device, communication system, packet processing method, and program | |
JP2010252261A (en) | VPN apparatus, VPN networking method, and storage medium | |
CN117439815B (en) | Intranet penetration system and method based on reverse transparent bridging | |
JP4401302B2 (en) | Communication management system, communication management method, and communication management program | |
JP5084716B2 (en) | VPN connection apparatus, DNS packet control method, and program | |
JP4789980B2 (en) | Tunnel communication system and control device | |
KR102033816B1 (en) | Assistant data transmission method | |
JP2023088290A (en) | Remote access with man-in-the-middle attack prevention |
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 |