JP2010166189A - Ip repeater, communication system, and tcp flow control method used for them - Google Patents
Ip repeater, communication system, and tcp flow control method used for them Download PDFInfo
- Publication number
- JP2010166189A JP2010166189A JP2009005270A JP2009005270A JP2010166189A JP 2010166189 A JP2010166189 A JP 2010166189A JP 2009005270 A JP2009005270 A JP 2009005270A JP 2009005270 A JP2009005270 A JP 2009005270A JP 2010166189 A JP2010166189 A JP 2010166189A
- Authority
- JP
- Japan
- Prior art keywords
- tcp
- control
- packet
- alg
- function
- 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.)
- Pending
Links
Images
Landscapes
- Small-Scale Networks (AREA)
- Telephonic Communication Services (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
本発明はIP中継装置、通信システム及びそれらに用いるTCPフロー制御方法に関し、特にIP(Internet Protocol)中継装置におけるTCP(Transmission Control Protocol)フローの制御方法に関する。 The present invention relates to an IP relay device, a communication system, and a TCP flow control method used therefor, and more particularly, to a TCP (Transmission Control Protocol) flow control method in an IP (Internet Protocol) relay device.
グローバルネットワークとプライベートネットワークに属するNAT(Network Address Translation)機能が動作するIP中継装置において(例えば、非特許文献1参照)、FTP(File Transfer Protocol)やSIP(Session Initiation Protocol)等のTCP(Transmission Control Protocol)パケットを転送する時に、ALG(Application Level Gateway)機能によってTCPアプリケーションのペイロードを変換する必要がある。 In an IP relay device that operates a NAT (Network Address Translation) function belonging to a global network and a private network (see, for example, Non-Patent Document 1), TCP (Transmission Control Protocol) such as FTP (File Transfer Protocol) and SIP (Session Initiation Protocol). When transferring a Protocol packet, it is necessary to convert the payload of the TCP application by using an ALG (Application Level Gateway) function.
NATの基本動作では、IPパケットのIPヘッダ中のアドレス及びTCP/UDP(User Datagram Protocol)ヘッダのポート番号のみを変更する。 In the basic operation of NAT, only the address in the IP header of the IP packet and the port number of the TCP / UDP (User Datagram Protocol) header are changed.
しかしながら、アプリケーションによっては、TCP/UDPのデータ部分によってアドレスやポート番号を運ぶものがある。この場合、IPヘッダやTCP/UDPヘッダの情報以外にTCP/UDPのデータ部分のアドレスやポート番号情報を書き換える必要がある。この情報は、アプリケーションによって、書かれる位置が異なるため、アプリケーション毎に書き換えルールを定義する必要がある。この機能がALG機能と呼ばれている。 However, some applications carry addresses and port numbers in the TCP / UDP data portion. In this case, it is necessary to rewrite the address and port number information of the TCP / UDP data portion in addition to the information of the IP header and the TCP / UDP header. Since this information is written in different locations depending on the application, it is necessary to define a rewrite rule for each application. This function is called the ALG function.
しかしながら、上述したALG機能を具備した中継装置では、TCPのセグメントが順番通りに来ない場合、TCPの再送やTCPのセグメントが分割された場合に、その後の正常なTCPの通信ができないという問題がある。その結果、TCPコネクションが途切れてしまうという問題、TCPパケットの再送が発生するという問題、通信を最初からやり直さなければいけないという問題等が生ずることとなる。 However, in the relay apparatus having the above-described ALG function, there is a problem that when TCP segments do not come in order, when TCP retransmission or TCP segments are divided, normal TCP communication thereafter cannot be performed. is there. As a result, a problem that the TCP connection is interrupted, a problem that the TCP packet is retransmitted, a problem that the communication has to be restarted from the beginning, and the like occur.
つまり、グローバルネットワークとプライベートネットワークに属するNAT機能を具備したIP中継装置において、一部のTCPアプリケーションでは、ALG機能を使用してペイロードを変換する必要があるが、TCPの順序が逆転した場合、TCPの再送、TCPのセグメントが分割された場合にALG機能が正しく処理できず、TCPコネクションが途切れてしまうという問題がある。 That is, in an IP relay device having a NAT function belonging to a global network and a private network, some TCP applications need to convert the payload using the ALG function, but if the TCP order is reversed, When the TCP segment is divided and the TCP segment is divided, the ALG function cannot be processed correctly and the TCP connection is interrupted.
TCPの順序が逆転した場合は、ALG機能が動作するTCPアプリケーションにおいて、複雑なTCPシーケンス番号の管理が必要になり、アプリケーションレイヤだけでなく、TCPレイヤまで管理しなければならない。 When the TCP order is reversed, it is necessary to manage a complicated TCP sequence number in a TCP application in which the ALG function operates, and it is necessary to manage not only the application layer but also the TCP layer.
また、TCPの再送が発生した場合は、ALG機能が動作するTCPアプリケーションにおいて、TCPの再送とは判断できずに、重複したリソースを確保してしまい、前までのコネクションが切断されてしまう。 Also, when TCP retransmission occurs, a TCP application in which the ALG function operates cannot be determined as TCP retransmission, and duplicate resources are secured, and the previous connection is disconnected.
さらに、TCPのセグメントが分割された場合は、TCPアプリケーションで書き換えるべきIPアドレス情報やTCPポート番号が認識できない場合が生じ、パケット破棄やそのまま転送するという問題が発生する。これは、正しく転送できないという問題と、セキュリティ上の問題とがある。 Further, when the TCP segment is divided, the IP address information and the TCP port number to be rewritten by the TCP application may not be recognized, which causes a problem of packet discard or transfer as it is. This has a problem that data cannot be transferred correctly and a security problem.
これらの問題のため、TCPの順序制御と再送制御、分割制御に対応したALG機能の実装方法を考案する必要がある。 Because of these problems, it is necessary to devise a method for implementing the ALG function corresponding to TCP sequence control, retransmission control, and division control.
そこで、本発明の目的は上記の問題点を解消し、ノード間の安定した通信を供給することができるIP中継装置、通信システム及びそれらに用いるTCPフロー制御方法を提供することにある。 Therefore, an object of the present invention is to provide an IP relay device, a communication system, and a TCP flow control method used for them, which can solve the above problems and can supply stable communication between nodes.
本発明によるIP中継装置は、プライベートネットワークに属する端末とグローバルネットワークに属する端末との通信を中継する際に、一部のTCP(Transmission Control Protocol)アプリケーションのFTP(File Transfer Protocol)及びSIP(Session Initiation Protocol)のデータをNAT(Network Address Translation)上で書き換えるALG(Application Level Gateway)機能と、
前記ALG機能が必要なTCPパケットを受信した場合にTCPコネクションを制御するTCPセッション制御機能とを備え、
前記TCPセッション制御機能から前記ALG機能へ前記TCPパケットの順序性を提供している。
The IP relay device according to the present invention, when relaying communication between a terminal belonging to a private network and a terminal belonging to a global network, FTP (File Transfer Protocol) and SIP (Session Initiation) of some TCP (Transmission Control Protocol) applications. ALG (Application Level Gateway) function for rewriting protocol data on NAT (Network Address Translation);
A TCP session control function for controlling a TCP connection when a TCP packet that requires the ALG function is received;
The TCP packet order is provided from the TCP session control function to the ALG function.
本発明による通信システムは、上記のIP中継装置を含むことを特徴とする。 A communication system according to the present invention includes the above-described IP relay device.
本発明によるTCPフロー制御方法は、IP(Internet Protocol)中継装置に、プライベートネットワークに属する端末とグローバルネットワークに属する端末との通信を中継する際に、一部のTCP(Transmission Control Protocol)アプリケーションのFTP(File Transfer Protocol)及びSIP(Session Initiation Protocol)のデータをNAT(Network Address Translation)上で書き換えるALG(Application Level Gateway)機能を設け、
前記IP中継装置が、前記ALG機能が必要なTCPパケットを受信した場合にTCPコネクションを制御するTCPセッション制御処理を実行し、前記TCPセッション制御処理から前記ALG機能へ前記TCPパケットの順序性を提供している。
In the TCP flow control method according to the present invention, when a communication between a terminal belonging to a private network and a terminal belonging to a global network is relayed to an IP (Internet Protocol) relay apparatus, FTP of some TCP (Transmission Control Protocol) applications is used. (File Transfer Protocol) and SIP (Session Initiation Protocol) data are provided with an ALG (Application Level Gateway) function that rewrites data on NAT (Network Address Translation).
When the IP relay apparatus receives a TCP packet that requires the ALG function, it executes a TCP session control process that controls a TCP connection, and provides the TCP packet order from the TCP session control process to the ALG function. is doing.
本発明は、上記のような構成及び動作とすることで、ノード間の安定した通信を供給することができるという効果が得られる。 The present invention has an effect that stable communication between nodes can be supplied by adopting the above configuration and operation.
次に、本発明の実施の形態について図面を参照して説明する。まず、本発明による通信システムの概要について説明する。本発明による通信システムでは、プライベートネットワークに属する端末と、グローバルネットワークに属する端末とが通信する場合に、NAT(Network Address Translation)機能を具備したIP(Internet Protocol)中継装置を介して通信する。 Next, embodiments of the present invention will be described with reference to the drawings. First, an outline of a communication system according to the present invention will be described. In the communication system according to the present invention, when a terminal belonging to a private network and a terminal belonging to a global network communicate, communication is performed via an IP (Internet Protocol) relay apparatus having a NAT (Network Address Translation) function.
その中で、さらに一部のTCP(Transmission Control Protocol)アプリケーションのFTP(File Transfer Protocol)やSIP(Session Initiation Protocol)は、NAT上でデータを書き換える必要があるため、ALG(Application Level Gateway)機能が用いられる。 Among them, FTP (File Transfer Protocol) of some TCP (Transmission Control Protocol) applications and SIP (Session Initiation Protocol) need to rewrite data on NAT, so ALG (Application Level Gateway) functions. Used.
本発明による通信システムは、そのALG機能を具備したIP中継装置において、TCPセッションの順序制御、再送制御、分割制御を行うことにより、TCPパケットのシーケンス異常や再送受信、セグメントの分割受信に対応し、エンドツーエンドの通信を正確に行うことを特徴とする。 The communication system according to the present invention supports TCP packet sequence abnormalities, retransmission, and segmented reception by performing TCP session order control, retransmission control, and division control in an IP relay device having the ALG function. The end-to-end communication is performed accurately.
本発明による通信システムでは、IPパケット中継装置でTCPアプリケーションのALG機能を動作させる場合において、TCPセッション制御機能を具備することにより、TCPセッション異常時に対応し、ALG機能でのパケット破棄や無駄な処理を回避している。 In the communication system according to the present invention, when the ALG function of the TCP application is operated by the IP packet relay device, the TCP session control function is provided to cope with the TCP session abnormality, and the ALG function discards the packet and usesless processing. Is avoiding.
図1は本発明の第1の実施の形態による通信システムの構成例を示すブロック図であり、図2は本発明の第1の実施の形態によるネットワーク構成例を示すブロック図である。図1及び図2において、本発明の第1の実施の形態による通信システムは、PC(Parsonal Computer)(#1,#2)1−0,1−1と、IP中継装置2とから構成されている。IP中継装置2は、ALG機能20を備えている。
FIG. 1 is a block diagram showing a configuration example of a communication system according to the first embodiment of the present invention, and FIG. 2 is a block diagram showing a network configuration example according to the first embodiment of the present invention. 1 and 2, the communication system according to the first embodiment of the present invention includes PCs (Personal Computers) (# 1, # 2) 1-0, 1-1 and an
PC(#1)1−0は、プライベートネットワーク100に属し、プライベートネットワークIPアドレスが割当てられている。PC(#2)1−1は、グローバルネットワーク101に属し、グローバルネットワークIPアドレスが割当てられている。
The PC (# 1) 1-0 belongs to the
IP中継装置2は、NAT機能(図示せず)を具備し、プライベートネットワーク100とグローバルネットワーク101との両方に属し、両方のIPアドレスが割当てられている。また、IP中継装置2は、インタネット網200を経由してPC(#2)1−1との通信を行う。
The
PC(#1)1−0とPC(#2)1−1とは、ALG機能を必要とするTCPアプリケーションのFTPやSIPを実装している。PC(#1)1−0とPC(#2)1−1とにおいてFTPが動作する場合は、PC(#1)1−0とPC(#2)1−1との間でTCPコネクションを確立し、TCP上でFTPをやりとりする。その際、IP中継装置2は、中継するFTPパケットの編集を行い、TCPパケットのセッション制御を行う。
The PC (# 1) 1-0 and the PC (# 2) 1-1 are mounted with FTP or SIP of a TCP application that requires the ALG function. When FTP operates on PC (# 1) 1-0 and PC (# 2) 1-1, a TCP connection is established between PC (# 1) 1-0 and PC (# 2) 1-1. Establish and exchange FTP over TCP. At that time, the
図1において、IP中継装置2は、図2に示すALG機能20の他に、レイヤ2・3送受信制御部21と、TCPセッション制御部22と、ALG制御部23とを備えている。TCPセッション制御部22は、再送制御部221と、順序制御部222と、パケットバッファ223とを備えている。
1, the
PC(#1)1−0はプライベートネットワーク100に属し、PC(#2)1−1はグローバルネットワーク101に属している。PC(#1)1−0とPC(#2)1−1とは、それぞれALG機能20を必要とするTCPアプリケーションのFTPやSIPを実装している。IP中継装置2は、プライベートネットワーク100及びグローバルネットワーク101それぞれに属し、PC(#1)1−0とPC(#2)1−1とのIP通信を中継する。
The PC (# 1) 1-0 belongs to the
IP中継装置2において、レイヤ2・3送受信制御部21は、レイヤ2及びレイヤ3の通信を制御し、IPルーティング及びポリシルーティングを行うことで、IPパケットの転送とパケット送受信とを実現している。
In the
IP中継装置2において、TCPセッション制御部22は、レイヤ2・3送受信制御部21よりALG機能20が必要なTCPパケットを受信した場合にTCPコネクションを制御する。TCPセッション制御部22では、順序制御部222とパケットバッファ223とを使用してTCPセッションの順序制御と分割制御とを実現する。
In the
また、TCPセッション制御部22は、再送制御部221とパケットバッファ223とを使用し、PC(#1)1−0とPC(#2)1−1との間のTCPパケットの再送を制御する。
Also, the TCP
TCPセッション制御部22で受信したFTPやSIP等のALG機能20が必要なTCPパケットは、ALG制御部23へ通知する。ALG制御部23は、TCPセッション制御部22より順序制御されたTCPパケットを受信する。また、ALG制御部23では、受信したTCPパケットのセグメントが分割されている場合、フラグメントされた残りのセグメントを受信するまでバッファリングしてリアセンブルする。
TCP packets that are required by the
ALG制御部23では、TCPアプリケーションそれぞれの処理が行われ、TCPアプリケーションのペイロードにネットワークアドレスやポート番号等の変換が必要なアプリケーションデータを含む場合、TCPアプリケーションの設定にしたがってTCPアプリケーションのペイロードを変換し、そのペイロードをTCPセッション制御部22へ送信する。
The
TCPセッション制御部22は、ALG制御部23よりTCPアプリケーションパケットの送信要求があった場合、TCPパケットのチェックサムやシーケンス番号、ACK(ACKnowledgement)番号、IPヘッダのID(IDentifier)、パケット長、チェックサムを再計算し、レイヤ2・3送受信制御部21へ送信要求する。
When a TCP application packet transmission request is received from the
図3は本発明の第1の実施の形態によるTCPの順序制御を示すシーケンスチャートである。これら図1〜図3を参照して本発明の第1の実施の形態によるTCPの順序制御について説明する。 FIG. 3 is a sequence chart showing TCP sequence control according to the first embodiment of the present invention. The TCP sequence control according to the first embodiment of the present invention will be described with reference to FIGS.
PC(#1)1−0とPC(#2)1−1とのTCP通信は、インタネット網200の輻輳状況やネットワーク構成により、PCが送信した順番ではなく、後から送信したパケットが先に到着する場合がある(図3のS301)。この場合、TCPセッション制御部22は、TCPパケットのシーケンス番号から順序逆転を判定し、前に送信されたパケットを受信するまで(図3のS303)、パケットバッファ223でパケットを保持し(図3のS302)、順序を元に戻して(図3のS304)、そのパケットをALG制御部23へ渡す(図3のS305)。
The TCP communication between the PC (# 1) 1-0 and the PC (# 2) 1-1 is not based on the order in which the PCs are transmitted, but the packets transmitted later are the first depending on the congestion status and network configuration of the
TCPセッション制御部22は、パケットをALG制御部23へ渡した後、保持しているパケットのシーケンスを確認し(図3のS306)、ALG制御部23へ渡してよいシーケンスであれば、そのパケットをALG制御部23へ渡す(図3のS307)。
After passing the packet to the
ALG制御部23で編集されたアプリケーションデータは、TCPセッション制御部22へ送信要求される(図3のS308、S310)。ここで、セグメント長が変化しているのは、NATの一般的な動作であり、ALG制御部23による編集のためである。
The application data edited by the
ALG制御部23より送信要求されたTCPセッション制御部22は、IPパケットヘッダ、TCPパケットヘッダの再計算をしてレイヤ2・3送受信制御部21へ送信要求する(図3のS309、S311)。
The TCP
図4は本発明の第1の実施の形態によるTCPの再送パケットを受信した時の動作を示すシーケンスチャートである。これら図1と図2と図4とを参照して本発明の第1の実施の形態によるTCPの再送パケットを受信した時の動作について説明する。 FIG. 4 is a sequence chart showing an operation when a TCP retransmission packet is received according to the first embodiment of the present invention. The operation when a TCP retransmission packet according to the first embodiment of the present invention is received will be described with reference to FIGS.
TCPの再送パケットを受信した時の動作は、TCPセッション制御部22とALG制御部23とがどこまで処理を行ったかに応じて、再送制御を行う。再送パケットに対するTCPセッション制御部22の状態は、次の4つの状態に分類される。
The operation when the TCP retransmission packet is received performs retransmission control according to how far the TCP
1つ目の状態は、TCPセッション制御部22がTCPのデータセグメントを受信して(図4のS401)、ALG制御部23へ通知した(図4のS402)後のALG処理待ち状態(図4のS403)である。
In the first state, the TCP
2つ目の状態は、ALG制御部23からパケット送信要求を受け(図4のS404)、レイヤ2・3送受信制御部21へデータセグメントを送信要求した(図4のS405)後のACK応答待ち状態(図4のS406)である。
In the second state, a packet transmission request is received from the ALG control unit 23 (S404 in FIG. 4), and a data segment transmission request is sent to the
3つ目の状態は、TCPセッション制御部22がACKを受信して(図4のS407)、ALG制御部23へパケット受信通知した(図4のS408)後のALG ACK処理待ち状態(図4のS409)である。
In the third state, the TCP
4つ目の状態は、ALG制御部23からACKパケット送信要求を受け(図4S410)、レイヤ2・3送受信制御部21へACKパケットを送信要求した(図4のS411)後のACK送信済み状態(図4のS412)である。次に、それぞれの状態における動作について説明する。
The fourth state is an ACK transmission completed state after receiving an ACK packet transmission request from the ALG control unit 23 (S410 in FIG. 4) and requesting transmission of an ACK packet to the
図5は図4におけるALG処理待ち状態(S403)の動作を示すシーケンスチャートである。これら図1と図2と図5とを参照して本発明の第1の実施の形態によるALG処理待ち状態(S403)の動作について説明する。 FIG. 5 is a sequence chart showing the operation in the ALG processing wait state (S403) in FIG. The operation in the ALG process waiting state (S403) according to the first embodiment of the present invention will be described with reference to FIG. 1, FIG. 2, and FIG.
TCPセッション制御部22は、PC(#1)1−0よりTCPパケットのリクエストパケットを受信すると(図5のS501)、ALG制御部23へパケット受信通知した(図5のS502)後、ALG処理待ち状態になる(図5のS503)。
When the TCP
その後に、TCPセッション制御部22は、再送パケットを受信すると、ALG制御部23へ通知済みの情報のため、これを破棄する(図5のS505)。TCPセッション制御部22がパケットを破棄することにより、ALG制御部23での重複した処理をさせない効果がある。
After that, when receiving the retransmission packet, the TCP
図6は図4におけるACK応答待ち状態(S406)の動作を示すシーケンスチャートである。これら図1と図2と図6とを参照して本発明の第1の実施の形態によるACK応答待ち状態(S406)の動作について説明する。 FIG. 6 is a sequence chart showing the operation in the ACK response waiting state (S406) in FIG. The operation in the ACK response waiting state (S406) according to the first embodiment of the present invention will be described with reference to FIGS.
TCPセッション制御部22は、PC(#1)1−0からTCPパケットを受信すると(図6のS601)、そのパケットの受信をALG制御部23へ通知し、ALG制御部23よりPC(#2)1−1宛への送信要求があると、PC(#2)1−1宛へのパケットのコピーをACKを受信するまでパケットバッファ223に保持し(図6のS604)、PC(#2)1−1宛へパケットを送信する。ここで、TCPセッション制御部22は、ACK応答待ち状態になる(図6のS606)。
When the TCP
この状態において、TCPセッション制御部22は、再送パケットを受信した場合(図6のS607)、受信した再送パケットを破棄し、ALG制御部23へ送信することなく、S604の処理で保持していたPC(#2)1−1宛の送信要求パケットを再送する(図6のS609)。パケットバッファ223は、コピーしていたパケットを、PC(#2)1−1よりACKを受信するまで保持する(図6のS610)。
In this state, when the TCP
図7は図4における上位アプリケーション待ち状態(S409)の動作を示すシーケンスチャートである。これら図1と図2と図7とを参照して本発明の第1の実施の形態による上位アプリケーション待ち状態(S409)の動作について説明する。 FIG. 7 is a sequence chart showing the operation of the upper application waiting state (S409) in FIG. With reference to FIG. 1, FIG. 2, and FIG. 7, the operation in the upper application waiting state (S409) according to the first embodiment of the present invention will be described.
TCPセッション制御部22は、PC(#2)1−1よりACKを受信し(図7S705)、そのACKをALG制御部23へ渡すと(図7のS706)、上位アプリケーション待ち状態(図7のS707)になる。ここで、TCPセッション制御部22は、S707の再送パケットを受信した場合(S708)、この再送パケットをALG制御部23へ送信することなく、破棄する(図7のS709)。
When the TCP
図8は図4におけるACK送信済み状態(S412)の動作を示すシーケンスチャートである。これら図1と図2と図8とを参照して本発明の第1の実施の形態によるACK送信済み状態(S412)の動作について説明する。 FIG. 8 is a sequence chart showing the operation in the ACK transmission completed state (S412) in FIG. The operation in the ACK transmission completed state (S412) according to the first embodiment of the present invention will be described with reference to FIGS.
TCPセッション制御部22は、PC(#2)1−1からACKを受信し(図8のS805)、PC(#1)1−0へACKを送信すると(図8のS808)、ACK送信済み状態となる(図8のS809)。
When the TCP
ここで、TCPセッション制御部22は、S801の再送パケットを受信した場合(図8のS810)、受信した再送パケットをALG制御部23へ送信することなく、破棄し(図8のS809)、送信元のPC(#1)1−0へACK(S808)を再送する(図8のS812)。
When the TCP
図9は本発明の第1の実施の形態によるTCPの分割パケット制御を示すシーケンスチャートである。これら図1と図2と図9とを参照して本発明の第1の実施の形態によるTCPの分割パケット制御について説明する。 FIG. 9 is a sequence chart showing TCP fragmented packet control according to the first embodiment of the present invention. TCP fragmented packet control according to the first embodiment of the present invention will be described with reference to FIG. 1, FIG. 2, and FIG.
PC(#1)1−0とPC(#2)1−1との間のTCPパケットは、TCPアプリケーションのメッセージサイズがMSS(Maximum Segment Size)より大きい場合やPCとIP中継装置2との間のネットワーク構成によりTCPのセグメントが分割されてIP中継装置2に到着する。
The TCP packet between the PC (# 1) 1-0 and the PC (# 2) 1-1 is used when the message size of the TCP application is larger than the MSS (Maximum Segment Size) or between the PC and the
分割パケット(1/2)(図9のS901)及び分割パケット(2/2)(図9のS902)は、PC(#1)1−0からPC(#2)1−1宛に送信されたデータセグメントを示し、PC(#1)1−0から送信された時に1つのメッセージが2つに分割されて送信され、IP中継装置2に到着したことを示している。
The fragment packet (1/2) (S901 in FIG. 9) and the fragment packet (2/2) (S902 in FIG. 9) are transmitted from the PC (# 1) 1-0 to the PC (# 2) 1-1. The data segment indicates that one message is divided into two when transmitted from the PC (# 1) 1-0 and arrives at the
分割パケット(1/2)(図9のS901)が到着すると、TCPセッション制御部22は、TCPのセッション管理情報を更新し(図9のS902)、ALG制御部23へ渡す。TCPセッション管理情報は、受信したTCPパケットのセッション情報で、TCPの順序制御や再送制御、分割制御、パケット送信時のIPヘッダ、TCPヘッダの再計算に使用する。
When the divided packet (1/2) (S901 in FIG. 9) arrives, the TCP
ALG制御部23は、TCPセッション制御部22から、TCPパケット(図9のS903)のTCPのデータセグメントを受信するが、分割されているため、TCPアプリケーションのバッファに保持する(図9のS904)。
The
TCPセッション制御部22は、分割パケット(2/2)が到着すると(図9のS905)、セッション情報を更新し(図9のS906)、パケット情報をALG制御部23へ渡す(図9のS907)。
When the divided packet (2/2) arrives (S905 in FIG. 9), the TCP
ALG制御部23は、パケット情報を受信すると(図9のS907)、保持しているデータを使用し、データセグメントをリアセンブルして編集する(図9のS908)。編集したデータセグメント(図9のS909)は、TCPセッション制御部22へ送信要求される。
When receiving the packet information (S907 in FIG. 9), the
TCPセッション制御部22は、IPヘッダのチェックサム、ID、パケット長、TCPヘッダのチェックサム、ACK番号、シーケンス番号を計算し、レイヤ2・3送受信制御部21へ送信要求する(図9のS911)。ここで、セグメントの分割が必要であれば、分割して送信する。
The TCP
このように、本実施の形態では、TCPセッション制御部22からALG制御部23へTCPパケットの順序性を提供することで、ALG制御部23での順序制御が不要になるという効果がある。
As described above, in this embodiment, providing the TCP packet order from the TCP
これによって、本実施の形態では、ALG制御部23において、セグメントを受信した順番に処理すればよいため、セグメントのリアセンブルが容易になるという効果がある。
As a result, in the present embodiment, the
また、本実施の形態では、再送制御を行うことで、ALG制御部23での重複した処理を回避することができ、不要なリソース消費を回避することができる。これによって、本実施の形態では、リソースを2重に使用することを回避し、リソースの不一致が解消されるため、コネクションの切断を防止することができる。よって、本実施の形態では、TCPクライアントとTCPサーバとに安定した接続を供給することができる。
Further, in the present embodiment, by performing retransmission control, it is possible to avoid redundant processing in the
さらに、本実施の形態では、TCPクライアントとTCPサーバとに安定した接続を供給することができるので、TCPの通信がスムーズに行われるため、IP中継装置2が属するシステム全体において、パケット処理の負荷を低減することができる。これによって、本実施の形態では、TCPの通信がスムーズに行うことによって、プライベートIPアドレス及びプライベートポート番号の漏洩を防ぐことができる。
Furthermore, in this embodiment, since a stable connection can be supplied to the TCP client and the TCP server, TCP communication is performed smoothly. Therefore, in the entire system to which the
さらにまた、本実施の形態では、TCPデータセグメントが分割された場合に一つのメッセージとして揃うまで、ALG制御部23で複数の分割されたセグメントをバッファリングすることで、ALG制御部23がネットワークアドレスの書き換え失敗やポート番号書き換え失敗を回避することができる。
Furthermore, in the present embodiment, when the TCP data segment is divided, the
尚、本発明は、図2においてNATを使用するのではなく、ステートフルインスペクションやIDS(Intrusion Detection System)や、プロキシサーバとして構成してもよい。その構成においても、本発明の第1の実施の形態と同様に、IP中継装置2は、TCPセッションを管理し、ALGへ順序制御と、再送制御、分割制御を提供することができる。
The present invention may be configured as a stateful inspection, IDS (Intrusion Detection System), or proxy server instead of using NAT in FIG. Also in the configuration, as in the first embodiment of the present invention, the
1−0 PC(#1)
1−1 PC(#2)
2 IP中継装置
20 ALG機能
21 レイヤ2・3送受信制御部
22 TCPセッション制御部
23 ALG制御部
100 プライベートネットワーク
101 グローバルネットワーク
200 インタネット網
221 再送制御部
222 順序制御部
223 パケットバッファ
1-0 PC (# 1)
1-1 PC (# 2)
2
Claims (13)
前記ALG機能が必要なTCPパケットを受信した場合にTCPコネクションを制御するTCPセッション制御機能とを有し、
前記TCPセッション制御機能から前記ALG機能へ前記TCPパケットの順序性を提供することを特徴とするIP(Internet Protocol)中継装置。 When relaying communication between a terminal belonging to the private network and a terminal belonging to the global network, FTP (File Transfer Protocol) and SIP (Session Initiation Protocol) data of some TCP (Transmission Control Protocol) applications and NAT (Network) are used. ALG (Application Level Gateway) function for rewriting on Address Translation),
A TCP session control function for controlling a TCP connection when a TCP packet that requires the ALG function is received;
An IP (Internet Protocol) relay apparatus, which provides the TCP packet order from the TCP session control function to the ALG function.
前記TCPセッション制御機能は、前記順序制御と前記パケットバッファとを使用して前記TCPセッションの順序制御と分割制御とを行うことを特徴とする請求項2記載のIP中継装置。 A packet buffer for temporarily holding the TCP packet;
3. The IP relay device according to claim 2, wherein the TCP session control function performs order control and division control of the TCP session using the order control and the packet buffer.
前記IP中継装置が、前記ALG機能が必要なTCPパケットを受信した場合にTCPコネクションを制御するTCPセッション制御処理を実行し、前記TCPセッション制御処理から前記ALG機能へ前記TCPパケットの順序性を提供することを特徴とするTCPフロー制御方法。 When relaying communication between a terminal belonging to a private network and a terminal belonging to a global network to an IP (Internet Protocol) relay apparatus, FTP (File Transfer Protocol) and SIP (Session) of some TCP (Transmission Control Protocol) applications An ALG (Application Level Gateway) function for rewriting the data of Initiation Protocol (NAT) on Network Address Translation (NAT) is provided.
When the IP relay apparatus receives a TCP packet that requires the ALG function, it executes a TCP session control process that controls a TCP connection, and provides the TCP packet order from the TCP session control process to the ALG function. A TCP flow control method characterized by:
前記IP中継装置が、前記TCPセッション制御処理において、前記順序制御と前記パケットバッファとを使用して前記TCPセッションの順序制御と分割制御とを行うことを特徴とする請求項2記載のTCPフロー制御方法。 The IP relay device is provided with a packet buffer for temporarily holding the TCP packet,
3. The TCP flow control according to claim 2, wherein the IP relay apparatus performs the order control and the division control of the TCP session using the order control and the packet buffer in the TCP session control process. Method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009005270A JP2010166189A (en) | 2009-01-14 | 2009-01-14 | Ip repeater, communication system, and tcp flow control method used for them |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009005270A JP2010166189A (en) | 2009-01-14 | 2009-01-14 | Ip repeater, communication system, and tcp flow control method used for them |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010166189A true JP2010166189A (en) | 2010-07-29 |
Family
ID=42582035
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009005270A Pending JP2010166189A (en) | 2009-01-14 | 2009-01-14 | Ip repeater, communication system, and tcp flow control method used for them |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010166189A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5674179B1 (en) * | 2011-12-19 | 2015-02-25 | クアルコム,インコーポレイテッド | Apparatus and method for efficient network address translation and application level gateway processing |
JP2016515316A (en) * | 2013-02-11 | 2016-05-26 | キュー テレコム リミテッド | Communication device |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000156709A (en) * | 1998-11-20 | 2000-06-06 | Pfu Ltd | Address converter and recording medium |
JP2001244957A (en) * | 2000-02-28 | 2001-09-07 | Fujitsu Ltd | Ip router device with tcp terminating function and medium |
JP2004254010A (en) * | 2003-02-19 | 2004-09-09 | Nippon Telegr & Teleph Corp <Ntt> | Sip communication controlling apparatus |
JP2004350188A (en) * | 2003-05-26 | 2004-12-09 | Nec Corp | Data transfer apparatus and program |
JP2006148727A (en) * | 2004-11-24 | 2006-06-08 | Nec Corp | Application monitor apparatus |
-
2009
- 2009-01-14 JP JP2009005270A patent/JP2010166189A/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000156709A (en) * | 1998-11-20 | 2000-06-06 | Pfu Ltd | Address converter and recording medium |
JP2001244957A (en) * | 2000-02-28 | 2001-09-07 | Fujitsu Ltd | Ip router device with tcp terminating function and medium |
JP2004254010A (en) * | 2003-02-19 | 2004-09-09 | Nippon Telegr & Teleph Corp <Ntt> | Sip communication controlling apparatus |
JP2004350188A (en) * | 2003-05-26 | 2004-12-09 | Nec Corp | Data transfer apparatus and program |
JP2006148727A (en) * | 2004-11-24 | 2006-06-08 | Nec Corp | Application monitor apparatus |
Non-Patent Citations (2)
Title |
---|
CSNG200500374001; 匂坂 岳志 他: 'SIP-ALGにおけるセッション管理方式の検討' 電子情報通信学会技術研究報告 第103巻,第506号, 20031212, p.5〜8 * |
JPN6012059476; 匂坂 岳志 他: 'SIP-ALGにおけるセッション管理方式の検討' 電子情報通信学会技術研究報告 第103巻,第506号, 20031212, p.5〜8 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5674179B1 (en) * | 2011-12-19 | 2015-02-25 | クアルコム,インコーポレイテッド | Apparatus and method for efficient network address translation and application level gateway processing |
JP2015507408A (en) * | 2011-12-19 | 2015-03-05 | クアルコム,インコーポレイテッド | Apparatus and method for efficient network address translation and application level gateway processing |
JP2016515316A (en) * | 2013-02-11 | 2016-05-26 | キュー テレコム リミテッド | Communication device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8499083B2 (en) | Relay device and communication system | |
JP4274231B2 (en) | Relay server and relay communication system | |
JP4154615B2 (en) | SIP server sharing module device, SIP message relay method, and program | |
US10681188B2 (en) | Reducing transmission pathway lengths within a distributed network | |
EP1267529B1 (en) | Data packets acknowledgment system | |
JP4207078B2 (en) | Relay server | |
JP4764737B2 (en) | Network system, terminal and gateway device | |
JP2006279394A (en) | Session relaying apparatus, and session relaying method and program | |
JP7531697B2 (en) | Data processing method, device, related equipment and storage medium | |
JP3999785B2 (en) | Communication method | |
JP2008147738A (en) | Communication method, communication system, apparatus and terminal | |
Takasugi et al. | Seamless service platform for following a user's movement in a dynamic network environment | |
JP2010166189A (en) | Ip repeater, communication system, and tcp flow control method used for them | |
US20190141009A1 (en) | Session moderator for turn-pattern tcp-packet relay with websocket instantiation | |
JP2009055418A (en) | Communicating system, relay device, terminal, relay processing method, and its program | |
JP2009015392A (en) | Communication device and communication method | |
TW201806358A (en) | Method for relaying packets with aid of network address translation in a network system, and associated apparatus | |
JP2008205676A (en) | Information processing system, information processor, information processing method and information processing program | |
EP2434707A1 (en) | Method and system for optimising routing between two network nodes, at least one of which is mobile | |
JP6062394B2 (en) | Relay device and relay method | |
EP4246937A1 (en) | Mp-dccp proxy to enable multipath transmission of dccp data packets between a sender and a receiver | |
JP5135257B2 (en) | Method and system for establishing a plurality of sessions of different routes by home gateway and session control server | |
JP2018157513A (en) | Communication control device, communication control system, communication control method, and communication control program | |
Fairhurst | Datagram congestion control protocol (DCCP) simultaneous-open technique to facilitate NAT/middlebox traversal | |
Carthern et al. | Introduction to Practical Networking |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20110714 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20110714 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111208 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121019 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121113 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121210 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130618 |