[go: up one dir, main page]

JP2009055418A - Communicating system, relay device, terminal, relay processing method, and its program - Google Patents

Communicating system, relay device, terminal, relay processing method, and its program Download PDF

Info

Publication number
JP2009055418A
JP2009055418A JP2007221163A JP2007221163A JP2009055418A JP 2009055418 A JP2009055418 A JP 2009055418A JP 2007221163 A JP2007221163 A JP 2007221163A JP 2007221163 A JP2007221163 A JP 2007221163A JP 2009055418 A JP2009055418 A JP 2009055418A
Authority
JP
Japan
Prior art keywords
data
relay
terminal
data transfer
communication
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.)
Withdrawn
Application number
JP2007221163A
Other languages
Japanese (ja)
Inventor
Ichiro Yamaguchi
一郎 山口
Yuichi Ishikawa
雄一 石川
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2007221163A priority Critical patent/JP2009055418A/en
Publication of JP2009055418A publication Critical patent/JP2009055418A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

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

Abstract

<P>PROBLEM TO BE SOLVED: To suppress occurrence of sequence abnormality and communication abnormality at a partner terminal while utilizing a communication system by a TCP splicing system in order to suppress relay device load. <P>SOLUTION: A communication system performs a communication request from a terminal and a response via communication management device and performs data communication between terminals via a relay device. The terminal includes a TCP processing part for opening TCP connection between it and the relay device; and an SSL session opening processing part for performing message exchange for opening an SSL session. The relay device includes relay means (packet receiving part, packet allocation part, TCP processing part, SSL session opening processing part, connection coupling information management part, packet allocation information management part, connection management table, header rewriting part and packet transmission part) which acquires destination information for relay and performs data transfer to the destination terminal by rewriting a header of data without performing TCP processing of data between it and the terminal upon transfer of the data. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、通信システム、中継装置、端末、及び中継処理方法並びにそのプログラムに関し、特にファイアウォール配下に接続する端末間での通信中継方法に関する。   The present invention relates to a communication system, a relay device, a terminal, a relay processing method, and a program thereof, and more particularly to a communication relay method between terminals connected under a firewall.

近年、セキュリティの観点から、特に、企業では、部門、拠点毎にファイアウォールが設置されているケースが多い。ファイアウォールは、外部からの攻撃を防ぐことを目的で設置されているため、部門間、拠点間をまたがる通信は、ファイアウォールで遮断される。ファイアウォール越しに通信を実現するには、ファイアウォールの設定を変更して、通信を実現する方法がある。   In recent years, from the viewpoint of security, in particular, companies often have firewalls installed for each department and site. Since the firewall is installed for the purpose of preventing attacks from the outside, communication between departments and bases is blocked by the firewall. To realize communication through a firewall, there is a method for realizing communication by changing the firewall setting.

この場合、管理者が、ユーザ毎、通信アプリケーション毎に通信を許可/不許可を設定しなければならず、管理コストが高いことと、また管理者の設定ミス等でセキュリティが保たれないという問題が発生する。そこで、グローバルネットワーク環境に中継サーバを配置して、端末と中継サーバ間で通信を行い、中継するという方式である。この場合、端末と中継サーバ間では、ファイアウォールが通信を許可している通信ポートを利用しなければならない。   In this case, the administrator must set permission / non-permission of communication for each user and each communication application, and the management cost is high, and the security cannot be maintained due to a setting error of the administrator, etc. Will occur. Therefore, a relay server is arranged in the global network environment, and communication is performed between the terminal and the relay server for relaying. In this case, between the terminal and the relay server, a communication port permitted by the firewall must be used.

これに関し、非特許文献1によると、ファイアウォールの運用方法として、TCP(Transmission Control Protocol)(非特許文献2参照)の443番ポートを利用したSSL(Secure Socket Layer)通信が許可されている場合が多い。そこで、端末と中継サーバ間でSSL通信を利用して、中継サーバで中継先へデータを転送することで、ファイアウォール越しの通信を実現している(非特許文献1参照)。   In this regard, according to Non-Patent Document 1, SSL (Secure Socket Layer) communication using the port 443 of TCP (Transmission Control Protocol) (see Non-Patent Document 2) may be permitted as a firewall operation method. Many. Therefore, communication through a firewall is realized by using SSL communication between the terminal and the relay server and transferring data to the relay destination by the relay server (see Non-Patent Document 1).

端末と中継サーバ間では、TCPの通信が行われているが、信頼性のある通信実現のため、再送制御を行っているため、中継サーバは、中継するセッション数が多くなるにつれて処理負荷が高くなる。TCP通信の中継方式としては、前述のように中継サーバにおいて処理負荷の高いTCPの処理をすることなく、中継先コネクションへ、パケットのヘッダを書き換えて中継するTCPスプライシング方式がある(非特許文献3参照)。   TCP communication is performed between the terminal and the relay server. However, since retransmission control is performed to achieve reliable communication, the relay server has a higher processing load as the number of sessions to be relayed increases. Become. As a TCP communication relay method, there is a TCP splicing method in which a packet is rewritten and relayed to a relay destination connection without performing TCP processing with a high processing load in the relay server as described above (Non-patent Document 3). reference).

この方式によると、TCPコネクション開設のための動作は、送信側と受信側でTCP通信を行う場合と同じで、端末と中継サーバ間で行い、データ転送からは、前述のヘッダ情報を書き換えて転送を行っている。また、順序保証を目的として、記載されているシーケンス番号は、端末と中継サーバ間のコネクション開設動作で決められた初期のシーケンス番号の差分値を利用して書き換えられる(図18のf1〜f12参照)。
則房雅也、「特集:使い方が見えた! これからが本番、SSL−VPN(前編) なぜSSL−VPNなのか。素朴な疑問を解消しよう」、[online]、2007年6月17日、@IT(登録商標)、[2007年7月27日検索」、インターネット<http://www.atmarkit.co.jp/fnetwork/tokusyuu/25sslvpn/01.html> RFC793, TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAM PROTOCOL SPECIFICATION, September 1981 D. A. Maltz, et al., “TCP Splice application layer proxy performance,” Jornal of High Speed Networks, Volume 8, Issue 3, 1999, p.225-240
According to this method, the operation for establishing a TCP connection is the same as when TCP communication is performed on the transmission side and the reception side, and is performed between the terminal and the relay server. From the data transfer, the above header information is rewritten and transferred. It is carried out. For the purpose of guaranteeing the order, the described sequence numbers are rewritten using the difference value of the initial sequence numbers determined by the connection opening operation between the terminal and the relay server (see f1 to f12 in FIG. 18). ).
Masaya Noribo, “Special feature: I saw how to use it! Production, SSL-VPN (Part 1) Why SSL-VPN? Let's solve simple questions”, [online], June 17, 2007, @IT (Registered trademark), [Search on July 27, 2007], Internet <http://www.atmarkit.co.jp/fnetwork/tokusyuu/25sslvpn/01.html> RFC793, TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAM PROTOCOL SPECIFICATION, September 1981 DA Maltz, et al., “TCP Splice application layer proxy performance,” Jornal of High Speed Networks, Volume 8, Issue 3, 1999, p.225-240

しかしながら、上述した関連技術では、次のような問題があった。   However, the related technology described above has the following problems.

第1の問題は、中継装置を利用したファイアウォール越え通信を行う場合、中継装置においてTCP処理を行って中継する場合、TCPは、再送制御、フロー制御を行っているため処理負荷が増大することである。   The first problem is that when performing communication across a firewall using a relay device, when performing relay processing by performing TCP processing in the relay device, the processing load increases because TCP performs retransmission control and flow control. is there.

第2の問題は、中継装置を利用したファイアウォール越え通信において中継方法として、TCPスプライシングを利用する場合、端末と中継装置の間で、TCPコネクション開設後、SSLセッションを開設するためのTCPパケットが交換されるため、端末間で通信するTCPコネクションのシーケンス番号の差分値がコネクション開設での初期シーケンスの差分値と異なる。従って、従来のTCPスプライシング方式をそのまま適用するとシーケンス異常が発生するという問題がある。また、データ転送が開始しても、ネットワーク内でのパケットロス等による再送で、SSLセッション開設のために転送したパケットも中継装置にて受信及び転送され、相手側端末で通信異常が発生するという問題もある。   The second problem is that when TCP splicing is used as a relay method in firewall crossing communication using a relay device, a TCP packet for establishing an SSL session is exchanged between the terminal and the relay device after the TCP connection is established. Therefore, the difference value of the sequence number of the TCP connection for communication between terminals is different from the difference value of the initial sequence at the time of connection establishment. Therefore, there is a problem that sequence abnormality occurs if the conventional TCP splicing method is applied as it is. In addition, even if data transfer starts, the packet transferred for establishing the SSL session is also received and transferred by the relay device due to retransmission due to packet loss in the network, and a communication error occurs at the partner terminal. There is also a problem.

本発明の目的は、中継装置負荷を抑えるためにTCP処理をすることなく、中継先コネクションへパケットのヘッダを書き換えて中継するTCPスプライシング方式による通信システムを利用しつつ、シーケンス異常及び相手側端末での通信異常の発生を抑制することである。   An object of the present invention is to use a communication system based on a TCP splicing method in which a packet header is rewritten and relayed to a relay destination connection without performing TCP processing in order to suppress the load on the relay device, and at a sequence abnormality and a partner terminal. Is to suppress the occurrence of communication abnormality.

上記目的を達成するため、本発明に係る通信システムは、通信管理装置を介して端末からの通信要求および応答を行って、中継装置を介して端末間のデータ通信を行う通信システムであって、前記端末は、前記中継装置との間でデータ通信のTCPコネクションを開設するTCP処理部と、データ通信のSSLセッション開設のためのメッセージ交換を行うSSLセッション開設処理部とを有し、前記中継装置は、前記端末間でデータを中継するための宛先情報を取得し、データ転送時に前記端末との間でデータのTCP処理を行わずに、データのヘッダを書き換えて宛先端末へのデータ転送を行う中継手段を有することを特徴とする。   In order to achieve the above object, a communication system according to the present invention is a communication system that performs a communication request and response from a terminal via a communication management device, and performs data communication between the terminals via a relay device, The terminal includes a TCP processing unit that establishes a TCP connection for data communication with the relay device, and an SSL session establishment processing unit that exchanges messages for establishing an SSL session for data communication, and the relay device Obtains destination information for relaying data between the terminals, and rewrites the data header to transfer data to the destination terminal without performing TCP processing of data with the terminal during data transfer. It has a relay means.

本発明に係る中継装置は、データ通信のTCPコネクションを開設するTCP処理部と、データ通信のSSLセッション開設のためのメッセージ交換を行うSSLセッション開設処理部とを有する端末間のデータ通信を中継する中継装置であって、前記端末間でデータを中継するための宛先情報を取得し、データ転送時に前記端末との間でデータのTCP処理を行わずに、データのヘッダを書き換えて宛先端末へのデータ転送を行う中継手段を有することを特徴とする。   The relay device according to the present invention relays data communication between terminals having a TCP processing unit for establishing a TCP connection for data communication and an SSL session establishment processing unit for exchanging messages for establishing an SSL session for data communication. It is a relay device, acquires destination information for relaying data between the terminals, rewrites the data header without performing data TCP processing with the terminal at the time of data transfer, and sends it to the destination terminal It has a relay means for performing data transfer.

本発明に係る端末は、端末間でデータを中継するための宛先情報を取得し、データ転送時に前記端末との間でデータのTCP処理を行わずに、データのヘッダを書き換えて宛先端末へのデータ転送を行う中継手段を有する中継装置を介してデータ通信を行う端末であって、前記中継装置との間で、データ通信のTCPコネクションを開設するTCP処理部と、データ通信のSSLセッション開設のためのメッセージ交換を行うSSLセッション開設処理部とを有することを特徴とする。   The terminal according to the present invention acquires destination information for relaying data between terminals, rewrites the header of the data without performing TCP processing of data with the terminal at the time of data transfer, A terminal that performs data communication via a relay device having a relay means for performing data transfer, a TCP processing unit that opens a TCP connection for data communication with the relay device, and an SSL session for data communication And an SSL session establishment processing unit for exchanging messages for this purpose.

本発明に係る中継処理方法は、データ通信のTCPコネクションを開設するTCP処理部と、データ通信のSSLセッション開設のためのメッセージ交換を行うSSLセッション開設処理部とを有する端末間のデータ通信を中継する中継装置の中継処理方法であって、前記端末間でデータを中継するための宛先情報を取得し、データ転送時に前記端末との間でデータのTCP処理を行わずに、データのヘッダを書き換えて宛先端末へのデータ転送を行う中継ステップを有することを特徴とする。   The relay processing method according to the present invention relays data communication between terminals having a TCP processing unit for establishing a TCP connection for data communication and an SSL session establishment processing unit for exchanging messages for establishing an SSL session for data communication. A relay processing method of a relay device that acquires destination information for relaying data between the terminals and rewrites the data header without performing TCP processing of data with the terminals during data transfer And a relay step for transferring data to the destination terminal.

本発明に係るプログラムは、データ通信のTCPコネクションを開設するTCP処理部と、データ通信のSSLセッション開設のためのメッセージ交換を行うSSLセッション開設処理部とを有する端末間のデータ通信を中継する中継装置の中継処理プログラムであって、コンピュータに、前記端末間でデータを中継するための宛先情報を取得し、データ転送時に前記端末との間でデータのTCP処理を行わずに、データのヘッダを書き換えて宛先端末へのデータ転送を行う中継処理を実行させることを特徴とする。   The program according to the present invention relays data communication between terminals having a TCP processing unit for establishing a TCP connection for data communication and an SSL session establishment processing unit for exchanging messages for establishing an SSL session for data communication. A relay processing program for an apparatus, which obtains destination information for relaying data between the terminals in a computer, and performs data TCP processing without performing data TCP processing with the terminals during data transfer. It is characterized in that a relay process for rewriting and transferring data to a destination terminal is executed.

本発明によれば、中継装置負荷を抑えるためにTCP処理をすることなく、中継先コネクションへパケットのヘッダを書き換えて中継するTCPスプライシング方式による通信システムを利用しつつ、シーケンス異常及び相手側端末での通信異常の発生を抑制することができる。   According to the present invention, while using a communication system based on a TCP splicing method that rewrites and relays a packet header to a relay destination connection without performing TCP processing in order to suppress the load on the relay device, the sequence abnormality and the counterpart terminal The occurrence of communication abnormality can be suppressed.

以下、本発明に係る通信システム、中継装置、端末、及び中継処理方法並びにそのプログラムの各種実施例について、図面を参照して説明する。   Hereinafter, various embodiments of a communication system, a relay device, a terminal, a relay processing method, and a program thereof according to the present invention will be described with reference to the drawings.

まず、本発明の第1の実施例について図面を用いて説明する。   First, a first embodiment of the present invention will be described with reference to the drawings.

図1は、本実施例に係る通信システムの全体構成図である。同図に示す通信システムは、中継装置1、端末10、端末11、ファイアウォール装置100、ファイアウォール装置101、及び通信管理装置1000を有する。中継装置1と通信管理装置1000は、ファイアウォール装置100配下の端末10と、ファイアウォール装置101配下の端末11とにそれぞれ通信可能に接続される。   FIG. 1 is an overall configuration diagram of a communication system according to the present embodiment. The communication system shown in the figure includes a relay device 1, a terminal 10, a terminal 11, a firewall device 100, a firewall device 101, and a communication management device 1000. The relay device 1 and the communication management device 1000 are communicably connected to the terminal 10 under the firewall device 100 and the terminal 11 under the firewall device 101, respectively.

図2は、中継装置1のブロック図である。同図に示すように、中継装置1は、例えば中継サーバで構成され、パケット受信部1−1、パケット振分部1−2、TCP処理部1−3、SSLセッション開設処理部1−4、コネクション結合情報管理部1−5、パケット振分情報管理部1−6、コネクション管理テーブル1−7、ヘッダ書換部1−8、及びパケット送信部1−9を有する。これら各部1−1〜1−9が、本発明の中継手段を構成している。   FIG. 2 is a block diagram of the relay device 1. As shown in the figure, the relay device 1 is composed of, for example, a relay server, and includes a packet reception unit 1-1, a packet distribution unit 1-2, a TCP processing unit 1-3, an SSL session establishment processing unit 1-4, A connection connection information management unit 1-5, a packet distribution information management unit 1-6, a connection management table 1-7, a header rewriting unit 1-8, and a packet transmission unit 1-9. Each of these parts 1-1 to 1-9 constitutes the relay means of the present invention.

パケット受信部1−1は、送信されてきたパケット(データ)を受信する。パケット振分部1−2は、受信したパケットをTCP処理部1−3かヘッダ書換部1−8のいずれかに転送し、TCP処理部1−3から転送されてきたパケットをパケット送信部1−9に転送し、また、本パケット振分部1−2から転送されるパケットのTCPヘッダ情報をコネクション管理テーブル1−7に記載する。TCP処理部1−3は、受信したパケットのTCP処理を行う。SSLセッション開設処理部1−4は、端末とのSSLセッションを開設する。コネクション結合情報管理部1−5は、端末から開設されるコネクションのうちいずれのコネクションを結合するかという情報を管理する。パケット振分情報管理部1−6は、受信したパケットをTCP処理部1−3かヘッダ書換部1−8のうちいずれかへ転送する条件を管理する。コネクション管理テーブル1−7は、本中継装置1と開設しているコネクションのTCPヘッダ情報を管理する。ヘッダ書換部1−8は、コネクションを中継するためにTCPヘッダを書き換える。パケット送信部1−9は、パケットを送信する。   The packet receiving unit 1-1 receives the transmitted packet (data). The packet distribution unit 1-2 transfers the received packet to either the TCP processing unit 1-3 or the header rewriting unit 1-8, and transmits the packet transferred from the TCP processing unit 1-3 to the packet transmission unit 1 And the TCP header information of the packet transferred from the packet distribution unit 1-2 is described in the connection management table 1-7. The TCP processing unit 1-3 performs TCP processing on the received packet. The SSL session establishment processing unit 1-4 establishes an SSL session with the terminal. The connection connection information management unit 1-5 manages information indicating which connection is to be combined among the connections established from the terminal. The packet distribution information management unit 1-6 manages conditions for transferring the received packet to either the TCP processing unit 1-3 or the header rewriting unit 1-8. The connection management table 1-7 manages TCP header information of the connection established with the relay apparatus 1. The header rewriting unit 1-8 rewrites the TCP header to relay the connection. The packet transmission unit 1-9 transmits a packet.

図3は、端末10のブロック図である。同図に示すように、端末10は、パケット受信部10−1、TCP処理部10−2、通信要求応答部10−3、SSLセッション開設部10−4、宛先情報通知部10−5、アプリケーション部10−6、及びパケットを送信するパケット送信部10−7を有する。   FIG. 3 is a block diagram of the terminal 10. As shown in the figure, the terminal 10 includes a packet reception unit 10-1, a TCP processing unit 10-2, a communication request response unit 10-3, an SSL session establishment unit 10-4, a destination information notification unit 10-5, an application Unit 10-6 and a packet transmission unit 10-7 for transmitting packets.

パケット受信部10−1は、送信されてきたパケットを受信する。TCP処理部10−2は、受信したパケットのTCP処理を行う。通信要求応答部10−3は、通信管理装置1000とコネクションを開設して、ファイアウォール装置配下に接続している端末間で、通信要求/応答メッセージを交換する。SSLセッション開設部10−4は、中継装置1とSSLセッションを開設する。宛先情報通知部10−5は、中継装置1に対して、通信の宛先情報を通知する。アプリケーション部10−6は、宛先端末とデータ通信を行う。パケット送信部10−7は、パケットを送信する。端末11も同様の構成である。   The packet receiving unit 10-1 receives the transmitted packet. The TCP processing unit 10-2 performs TCP processing on the received packet. The communication request response unit 10-3 establishes a connection with the communication management apparatus 1000 and exchanges communication request / response messages between terminals connected to the firewall apparatus. The SSL session establishment unit 10-4 establishes an SSL session with the relay device 1. The destination information notifying unit 10-5 notifies the relay device 1 of communication destination information. The application unit 10-6 performs data communication with the destination terminal. The packet transmitter 10-7 transmits a packet. The terminal 11 has the same configuration.

図4は、通信管理装置1000のブロック図である。同図に示すように、通信管理装置1000は、例えば通信管理サーバで構成され、メッセージ受信部1000−1、登録メッセージ処理部1000−2、通信要求/応答メッセージ処理部1000−3、端末/中継装置情報管理テーブル1000−4、及びメッセージ送信部1000−5を有する。   FIG. 4 is a block diagram of the communication management apparatus 1000. As shown in the figure, the communication management apparatus 1000 is composed of, for example, a communication management server, and includes a message reception unit 1000-1, a registration message processing unit 1000-2, a communication request / response message processing unit 1000-3, and a terminal / relay. It has a device information management table 1000-4 and a message transmission unit 1000-5.

メッセージ受信部1000−1は、送信されてきたメッセージを受信する。登録メッセージ処理部1000−2は、端末から識別情報登録のために送信されてくる登録メッセージを見て、端末/中継装置情報管理テーブル1000−4へ識別情報を登録する。通信要求/応答メッセージ処理部1000−3は、端末から通信要求/応答メッセージを受信して、中継装置の識別情報を記載し、転送する。端末/中継装置情報管理テーブル1000−4は、端末、中継装置のIP(Internet Protocol)アドレス、ポート番号等の識別子を記載する(後述の図8参照)。メッセージ送信部1000−5は、通信要求/応答メッセージ処理部1000−2から転送されてくるメッセージを送信する。   The message receiving unit 1000-1 receives the transmitted message. The registration message processing unit 1000-2 registers the identification information in the terminal / relay device information management table 1000-4 by looking at the registration message transmitted for registration of the identification information from the terminal. The communication request / response message processing unit 1000-3 receives the communication request / response message from the terminal, describes the identification information of the relay device, and transfers it. The terminal / relay device information management table 1000-4 describes identifiers such as terminals, relay device IP (Internet Protocol) addresses, and port numbers (see FIG. 8 described later). The message transmission unit 1000-5 transmits the message transferred from the communication request / response message processing unit 1000-2.

次に、本実施例の動作について説明する。   Next, the operation of this embodiment will be described.

ここでは、端末10、端末11と通信管理装置1000で行われる登録、通信要求/応答メッセージの交換動作、それに続いて、端末10と端末11が中継装置1と介して、データ通信を行う一連の動作を、図面を用いて説明する。   Here, a series of registration and communication request / response message exchange operations performed by the terminal 10 and the terminal 11 and the communication management apparatus 1000, followed by the data communication between the terminal 10 and the terminal 11 via the relay apparatus 1. The operation will be described with reference to the drawings.

1)通信管理装置への登録〜通信要求
端末10、端末11は、それぞれファイアウォール装置100、101配下に接続しているため、直接メッセージのやり取りができない。そこで、通信管理装置1000を介して、中継装置1を介して通信を行う要求およびそれに対する応答を実施する。
1) Registration to Communication Management Device to Communication Request Since the terminal 10 and the terminal 11 are connected under the firewall devices 100 and 101, respectively, messages cannot be directly exchanged. Therefore, a request for communication via the relay device 1 and a response to the request are executed via the communication management device 1000.

最初に、図3、図4、図6を用いて通信管理装置1000への登録動作から通信要求までの動作を説明する。   First, the operation from the registration operation to the communication management apparatus 1000 to the communication request will be described with reference to FIG. 3, FIG. 4, and FIG.

図6に示すように、端末10は、通信要求/応答部10−3により、まず、通信管理装置1000に対して、IPアドレス、ポート番号等、識別できる登録メッセージを送信する(図6−a1参照)。端末11も同様のメッセージを送信する(図6−a2参照)。登録メッセージを受信した通信管理装置1000は、登録メッセージ処理部1000−2により、端末/中継装置情報管理テーブル1000−4へ登録する(図6−a3参照)。この端末/中継装置情報管理テーブル1000−4は、図8に示すようにID毎にIPアドレスと、ポート番号を登録する。   As illustrated in FIG. 6, the terminal 10 first transmits a registration message that can be identified, such as an IP address and a port number, to the communication management apparatus 1000 using the communication request / response unit 10-3 (FIG. 6 -a1). reference). The terminal 11 also transmits a similar message (see FIG. 6-a2). The communication management apparatus 1000 that has received the registration message registers it in the terminal / relay apparatus information management table 1000-4 by the registration message processing unit 1000-2 (see FIG. 6A3). This terminal / relay device information management table 1000-4 registers an IP address and a port number for each ID as shown in FIG.

端末10は、通信要求/応答部10−3により、端末11に対して通信を要求するために、端末11のIPアドレス等識別情報とデータ通信を行うために中継装置1に対してコネクションを開設するときに使用するポート番号を通信要求メッセージに記載して通信管理装置1000に対して送信する(図6−a4参照)。   The terminal 10 establishes a connection with the relay device 1 to perform data communication with identification information such as the IP address of the terminal 11 in order to request communication with the terminal 11 by the communication request / response unit 10-3. The port number to be used is described in the communication request message and transmitted to the communication management apparatus 1000 (see FIG. 6-a4).

端末10からの通信要求メッセージを受信した通信管理装置1000は、通信要求/管理メッセージ処理部1000−3により、データ通信で接続する中継装置1の識別情報を加えて(図6−a5参照)、通信要求メッセージを端末11へ送信する(図6−a6参照)。通信要求メッセージを受信した端末11は、データ通信を行うために中継装置1に対してコネクションを開設するときに利用するポート番号を通信応答メッセージに記載して通信管理装置1000へ送信する(図6−a7参照)。端末11からの通信応答メッセージを受信した通信管理装置1000は、通信要求/応答メッセージ処理部1000−3により、中継装置1の識別情報を加えて(図6−a8参照)、端末10へ応答メッセージを送信する(図6−a9参照)。この後、端末10、端末11は、中継装置1に対して接続を行い、データ通信を実施する。   The communication management apparatus 1000 that has received the communication request message from the terminal 10 adds the identification information of the relay apparatus 1 connected by data communication by the communication request / management message processing unit 1000-3 (see FIG. 6A5). A communication request message is transmitted to the terminal 11 (see FIG. 6-a6). Upon receiving the communication request message, the terminal 11 describes the port number used when establishing a connection with the relay device 1 for data communication, and transmits it to the communication management device 1000 (FIG. 6). See -a7). The communication management apparatus 1000 that has received the communication response message from the terminal 11 adds the identification information of the relay apparatus 1 by the communication request / response message processing unit 1000-3 (see FIG. 6-a8), and sends a response message to the terminal 10. Is transmitted (see FIG. 6-a9). Thereafter, the terminal 10 and the terminal 11 connect to the relay device 1 and perform data communication.

2)中継装置への接続〜データ通信
端末10、端末11は、通信を行うために、通信管理装置1000から通知された中継装置1へ接続を行う。ここでは、中継装置1による中継処理(ヘッダ書換処理)でTCPのシーケンス番号を利用するため、メッセージ交換で進むシーケンスを追って説明する。
2) Connection to Relay Device to Data Communication The terminal 10 and the terminal 11 connect to the relay device 1 notified from the communication management device 1000 in order to perform communication. Here, since the TCP sequence number is used in the relay processing (header rewriting processing) by the relay device 1, a sequence that proceeds by message exchange will be described later.

まず、端末10、端末11は、中継装置1に対して、SSLセッション開設を行う。本動作において、端末10と端末11は同じ動作をするため、端末10と中継装置1の間で行われる動作のみ説明する。   First, the terminal 10 and the terminal 11 establish an SSL session to the relay device 1. In this operation, since the terminal 10 and the terminal 11 perform the same operation, only the operation performed between the terminal 10 and the relay device 1 will be described.

2−1)TCPコネクション開設動作
図7に示すように、端末10は、SSLセッション開設処理部10−4により、中継装置1とSSLセッション開設のため、TCP処理部10−2へ指示する。指示を受けたTCP処理部10−2は、中継装置1に対してTCPコネクション開設を行うため、まず、パケット送信部10−7を介して、TCPヘッダのコードビット内のSYN(Synchronize flag)を1とした、SYNパケットを送信する(図7−b1参照)。このとき、端末10は、TCP処理部10−2により、初期シーケンス番号を決めて送信するが、その番号を100番としている(図7−b1参照)。図7における各メッセージにSeq#(sequence number:シーケンス番号)、ACK#(acknowledgement number:確認応答番号)が表記されているが、Seq#は、それぞれ送信したパケットに記載されているバイトシーケンスにデータ部分のサイズを加算した値号、ACK#は、次に受信を期待するバイトシーケンスを表している。
2-1) TCP Connection Opening Operation As illustrated in FIG. 7, the terminal 10 instructs the TCP processing unit 10-2 to open an SSL session with the relay device 1 by using the SSL session opening processing unit 10-4. Upon receiving the instruction, the TCP processing unit 10-2 establishes a TCP connection to the relay device 1, and first, through the packet transmission unit 10-7, sets a SYN (Synchronize flag) in the code bit of the TCP header. A SYN packet set to 1 is transmitted (see FIG. 7-b1). At this time, the terminal 10 determines and transmits an initial sequence number by the TCP processing unit 10-2, and the number is set to 100 (see FIG. 7-b1). Seq # (sequence number: sequence number) and ACK # (acknowledgement number: acknowledgment number) are described in each message in FIG. 7, but Seq # is data in a byte sequence described in each transmitted packet. ACK #, a value sign obtained by adding the sizes of the parts, represents a byte sequence expected to be received next.

次いで、中継装置1は、パケット受信部1−1を介して端末10からのSYNパケットを受信すると、パケット振分部1−2を経由してTCP処理部1−3に転送するが、このとき、端末から送信されてくるパケットのヘッダ(TCPヘッダ及びIPヘッダ)内に記載されているIPアドレス、ポート番号、TCPシーケンス番号を図5に示したように端末毎にコネクション管理テーブル1−7に記載する(図5の例では、1行目は端末10、2行目は端末11の情報である)。   Next, when the relay device 1 receives the SYN packet from the terminal 10 via the packet receiving unit 1-1, the relay device 1 transfers the SYN packet to the TCP processing unit 1-3 via the packet sorting unit 1-2. The IP address, port number, and TCP sequence number described in the header (TCP header and IP header) of the packet transmitted from the terminal are stored in the connection management table 1-7 for each terminal as shown in FIG. (In the example of FIG. 5, the first line is information of the terminal 10 and the second line is information of the terminal 11).

これ以降、パケット振分部1−2は、端末10からのパケットのヘッダ情報をコネクション管理テーブル1−7へ記載する。ただし、ネットワーク内でのパケットロス等による再送パケットのシーケンス番号は記載しない。   Thereafter, the packet distribution unit 1-2 describes the header information of the packet from the terminal 10 in the connection management table 1-7. However, the sequence number of the retransmitted packet due to packet loss in the network is not described.

中継装置1は、パケット受信部1−1を介してTCP処理部1−3でSYNパケットを受信すると、TCPヘッダのコードビット内のSYN及びACK(acknowledgement flag)を1とした、SYN ACKパケットを生成し、パケット送信部1−7を介して端末10へ送信する(図7−b2参照)。このとき、シーケンス番号は、Seq#200番とし、ACK#は次に受信を期待するシーケンス番号の先頭のバイトシーケンスである101番とする(図7−b2参照)。   When the TCP processing unit 1-3 receives the SYN packet via the packet receiving unit 1-1, the relay device 1 receives the SYN ACK packet in which SYN and ACK (acknowledgement flag) in the code bits of the TCP header are set to 1. It is generated and transmitted to the terminal 10 via the packet transmitter 1-7 (see FIG. 7-b2). At this time, the sequence number is Seq # 200, and ACK # is 101, which is the first byte sequence of the sequence number expected to be received next (see FIG. 7-b2).

次いで、端末10は、パケット受信部10−1を介してSYN ACKパケットを受信すると、TCP処理部10−2により、TCPヘッダのコードビット内のACKを1とした、ACKパケットを生成して、Seq#101番、ACK#201番として、パケット送信部10−7を介して中継装置1に対して送信する(図7−b3参照)。   Next, when the terminal 10 receives the SYN ACK packet via the packet receiver 10-1, the TCP processor 10-2 generates an ACK packet with ACK in the code bit of the TCP header as 1, Seq # 101 and ACK # 201 are transmitted to the relay apparatus 1 via the packet transmission unit 10-7 (see FIG. 7-b3).

次いで、中継装置1は、パケット受信部1−1を介してTCP処理部1−3によりACKパケットを受信する。この時点で、TCPコネクション開設動作が終了となる。   Next, the relay device 1 receives the ACK packet by the TCP processing unit 1-3 via the packet receiving unit 1-1. At this point, the TCP connection opening operation ends.

2−2)SSLセッション開設動作
次に、ファイアウォール装置100を越えて通信を行うためのSSLセッション開設を行う。ここでは、端末10のSSLセッション開設処理部10−4と中継装置1のSSLセッション開設処理部1−4でSSLセッション開設のためのメッセージ交換を行う(図7−b4、b5参照)。このとき、端末10のSeq#は7000番、ACK#は5001番まで進む。
2-2) SSL session establishment operation Next, an SSL session is established for communication across the firewall device 100. Here, the SSL session establishment processing unit 10-4 of the terminal 10 and the SSL session establishment processing unit 1-4 of the relay device 1 exchange messages for establishing an SSL session (see FIGS. 7-b4 and b5). At this time, Seq # of terminal 10 proceeds to 7000 and ACK # proceeds to 5001.

SSLセッション開設終了後、端末10では、SSLセッション開設処理部10−4が宛先情報通知部10−5へ終了通知する(図3参照)。また、中継装置1では、SSLセッション開設処理部1−4からコネクション結合情報管理部1−5へSSLセッション開設終了を通知する。   After the establishment of the SSL session, in the terminal 10, the SSL session establishment processing unit 10-4 notifies the destination information notification unit 10-5 of the completion (see FIG. 3). In the relay device 1, the SSL session establishment processing unit 1-4 notifies the connection connection information management unit 1-5 of the completion of the SSL session establishment.

2−3)中継するコネクションを識別すためのメッセージ交換動作
SSLセッション開設終了時点において、中継装置1は、どのコネクションのデータを中継すればよいか判断できないため、端末10は、中継するコネクション情報と、宛先IPアドレスと、通信要求/応答メッセージで取得したポート番号とを記載したコネクションペア作成要求メッセージを中継装置1のコネクション結合情報管理部1−5へ通知する(図7−b6参照)。
2-3) Message exchange operation for identifying connection to be relayed At the end of SSL session establishment, the relay device 1 cannot determine which connection data should be relayed. Then, a connection pair creation request message describing the destination IP address and the port number acquired by the communication request / response message is notified to the connection connection information management unit 1-5 of the relay device 1 (see FIG. 7-b6).

このとき、コネクションペア作成要求メッセージ長を1000byteとすると、シーケンス番号は、Seq#8000番まで進み、ACK#5001番となる。また、このとき、コネクション結合情報管理部1−5は、コネクション管理テーブル1−7(図5参照)を参照して、中継するコネクションを識別するために、コネクションペアIDに、中継するコネクションと同じ識別情報を記載する(図5の例では、端末10(1行目)、端末11(2行目)の各コネクションペアIDが同じ識別番号「X」に記載される)。このペアが作成できた時点でデータ通信を開始できる。   At this time, if the connection pair creation request message length is 1000 bytes, the sequence number advances to Seq # 8000 and becomes ACK # 5001. At this time, the connection connection information management unit 1-5 refers to the connection management table 1-7 (see FIG. 5) to identify the connection to be relayed, and uses the same connection pair ID as the connection to be relayed. Identification information is described (in the example of FIG. 5, each connection pair ID of the terminal 10 (first line) and the terminal 11 (second line) is described in the same identification number “X”). Data communication can be started when this pair is created.

2−4)データ転送開始初期シーケンスの決定及びパケット振分動作
データ通信が始まると、中継装置1では、端末10からの送信されてくるデータパケットを端末11へ中継する。中継方法は、TCPヘッダを書き換えて、端末10と中継装置1で開設されたTCPコネクション上のパケットを、端末11と中継装置1との間で開設されたコネクション上へ転送する。
2-4) Determination of initial sequence of data transfer and packet distribution operation When data communication is started, the relay device 1 relays the data packet transmitted from the terminal 10 to the terminal 11. In the relay method, the TCP header is rewritten, and the packet on the TCP connection established between the terminal 10 and the relay device 1 is transferred onto the connection established between the terminal 11 and the relay device 1.

本ヘッダ書き換えでは、中継先コネクションのシーケンス番号に進捗にしたがって書き換えなければならない。具体的には、中継先コネクションの端末のシーケンス番号がSeq#100番、ACK#200番の場合、中継するパケットは、Seq#は、ACK#が200番なので、200番、ACK#は、Seq#が100番なので、101番にしなければならない。   In this header rewriting, the sequence number of the relay destination connection must be rewritten according to the progress. Specifically, when the sequence number of the terminal of the relay destination connection is Seq # 100 and ACK # 200, the packet to be relayed is Seq # because the ACK # is 200, so the 200th and ACK # are Seq Since # is 100, it must be 101.

従って、データ中継開始のシーケンス番号を把握して変換しなければならない。正確に該シーケンス番号が把握できないと、シーケンスのずれが発生し、通信異常が発生する。また、データ中継開始までに、端末10は、中継装置1とSSLセッション開設、コネクションペアを作成するためにメッセージ交換を行っているため、データと関係ないTCPパケットが再送されてくる可能性があり、該メッセージを宛先に転送すると通信異常が発生するという問題もある。   Therefore, it is necessary to grasp and convert the sequence number for starting data relay. If the sequence number cannot be accurately grasped, a sequence shift occurs and a communication error occurs. In addition, since the terminal 10 is exchanging messages with the relay device 1 to establish an SSL session and create a connection pair before the start of data relay, there is a possibility that a TCP packet not related to data may be retransmitted. There is also a problem that communication error occurs when the message is transferred to the destination.

従来のTCPスプライシング方式では、端末および、サーバがコネクションを開設する際に、双方が決める初期シーケンス番号を基にヘッダ書き換え処理で中継を行っている。   In the conventional TCP splicing method, when a terminal and a server establish a connection, relay is performed by header rewriting processing based on an initial sequence number determined by both.

これに対し、本実施例では、TCPスプライシング方式を利用しつつ、以下のような初期シーケンスの決定及びパケット振分動作を行う。   On the other hand, in this embodiment, the following initial sequence determination and packet distribution operation are performed using the TCP splicing method.

まず、中継装置1では、データ転送開始前に、端末10と交換するメッセージのサイズから、データ転送開始時のシーケンス番号を算出する。また、算出した該シーケンス番号を元に、該シーケンス番号よりも小さいシーケンス番号のパケットは、宛先端末へ転送するパケットではないと判断して、中継装置1のTCP処理部1−5へ、該シーケンス番号以上のシーケンス番号のパケットは、宛先端末へ転送すべきパケットと判断してパケット振分部1−8へ転送する。   First, the relay device 1 calculates a sequence number at the start of data transfer from the size of a message exchanged with the terminal 10 before starting the data transfer. Further, based on the calculated sequence number, it is determined that a packet with a sequence number smaller than the sequence number is not a packet to be transferred to the destination terminal, and the sequence is sent to the TCP processing unit 1-5 of the relay apparatus 1 A packet with a sequence number equal to or greater than the number is determined as a packet to be transferred to the destination terminal, and transferred to the packet sorting unit 1-8.

以下、上記の処理の流れを図7に沿って具体的に説明する。   Hereinafter, the flow of the above processing will be specifically described with reference to FIG.

図7において、中継装置1は、コネクション結合情報管理部1−5により、データ通信開始直前のコネクションペア作成応答メッセージを作成する(図7−b7参照)と、メッセージサイズを取得してパケット振分情報管理部1−6へ通知する(図7−b8参照)。ここでは、メッセージサイズが1000byteとしている。パケット振分情報管理部1−6は、メッセージサイズ1000byteを取得すると、コネクション管理テーブル1−7を参照して、データ開始直前の端末10のSeq#、ACK#、すなわち、データ転送初期シーケンス番号を計算する(図7−b9参照)。Ssq#は、端末10から送信されたコネクションペア作成要求メッセージがコネクション結合情報管理部1−5で受信したときに進んだシーケンス番号に1を加えて、8001番となり、ACK#は、コネクションペア作成応答メッセージのサイズ分増加するので、6001番となる(図5、図7−b9参照)。   In FIG. 7, the relay apparatus 1 creates a connection pair creation response message immediately before the start of data communication (see FIG. 7-b7) by the connection connection information management unit 1-5, acquires the message size, and distributes the packet. The information management unit 1-6 is notified (see FIG. 7-b8). Here, the message size is 1000 bytes. When the packet distribution information management unit 1-6 acquires the message size 1000 bytes, the packet distribution information management unit 1-6 refers to the connection management table 1-7, and determines the Seq #, ACK # of the terminal 10 immediately before the data start, that is, the data transfer initial sequence number. Calculate (see FIG. 7-b9). Ssq # is added to the sequence number that is advanced when the connection pair creation request message transmitted from the terminal 10 is received by the connection connection information management unit 1-5 to become 8001, and ACK # is the connection pair creation Since the response message increases in size, it becomes 6001 (see FIGS. 5 and 7-b9).

これにより、データ転送初期シーケンス番号が確定すると、パケット振分情報管理部1−6は、パケット振分部1−2に対して、端末10から送信されてくるパケットのSeq#が8001番以上の場合、ヘッダ書換部1−8へ、8001番より小さい場合はTCP処理部1−3へ、ACK#も同様に、6001番以上の場合、ヘッダ書換部1−8へ、6001番より小さい場合、TCP処理部1−3へ転送するようにパケット振分ルールを指示する(図7−b10参照)。   Thus, when the data transfer initial sequence number is determined, the packet distribution information management unit 1-6 sends a packet Seq # of 8001 or more to the packet distribution unit 1-2 from the terminal 10 In this case, to the header rewriting unit 1-8, when the number is smaller than 8001, to the TCP processing unit 1-3. Similarly, when the ACK # is 6001 or more, the header rewriting unit 1-8 is smaller than the number 6001. A packet distribution rule is instructed to be transferred to the TCP processing unit 1-3 (see FIG. 7-b10).

その後、パケット振分情報管理部1−6は、コネクション結合情報管理部1−5に対して、コネクションペア作成応答メッセージを送信するように要求する(図7−b11参照)。コネクションペア作成応答メッセージの送信を要求されたコネクション結合情報管理部1−5は、該メッセージを端末10へ転送する(図7−b12参照)。   Thereafter, the packet distribution information management unit 1-6 requests the connection connection information management unit 1-5 to transmit a connection pair creation response message (see FIG. 7-b11). The connection connection information management unit 1-5 requested to transmit the connection pair creation response message transfers the message to the terminal 10 (see FIG. 7-b12).

コネクション要求応答メッセージをTCP処理部1−3へ送信する前に該メッセージサイズからデータ転送初期シーケンス番号を確定させた理由は、該メッセージがTCP処理部1−3からTCPセグメント化されて、いつ送信終了できるのかタイミングを把握することができず、端末10からデータ送信が開始され、中継装置1のTCP処理部1−3で処理されることを防ぐためである。   The reason for determining the data transfer initial sequence number from the message size before transmitting the connection request response message to the TCP processing unit 1-3 is that when the message is TCP segmented from the TCP processing unit 1-3 and transmitted. This is because it is not possible to grasp the timing of whether or not the transmission can be completed, and data transmission is started from the terminal 10 and is prevented from being processed by the TCP processing unit 1-3 of the relay device 1.

中継装置1には、コネクションペア作成応答パケット送信後、端末10からデータが転送されてくる(図7−b13参照)。この場合、図7のb13に示したようにデータのSeq#8001番、ACK#6001番とする。中継装置1は、該パケットをパケット振分部1−2で受信すると、前述のパケット振分ルールに基づいて、ヘッダ書換部1−8へ転送し、ヘッダ書換部1−8により、パケットの宛先、シーケンス番号を書き換える。   After transmitting the connection pair creation response packet, data is transferred from the terminal 10 to the relay device 1 (see FIG. 7-b13). In this case, as shown in b13 of FIG. 7, the data is Seq # 8001 and ACK # 6001. When the packet distribution unit 1-2 receives the packet, the relay device 1 transfers the packet to the header rewriting unit 1-8 based on the packet distribution rule described above, and the header rewriting unit 1-8 uses the packet destination. Rewrite the sequence number.

この場合、端末11のコネクション管理情報は、図5に示すコネクション管理テーブル1−7の2行目の情報に対応する。このため、パケットの宛先は、IPアドレス5.6.7.8、ポート番号2000番に書き換えられる。また、シーケンス番号は、互いのSeq番号、ACK番号の差分値をもとに書き換えられる。   In this case, the connection management information of the terminal 11 corresponds to information on the second row of the connection management table 1-7 shown in FIG. Therefore, the packet destination is rewritten to the IP address 5.6.7.8 and the port number 2000. The sequence number is rewritten based on the difference value between the Seq number and the ACK number.

即ち、図7のb13に示すパケットは、8001番から、端末10のデータ転送初期シーケンスのSeq番号と端末11のデータ転送初期シーケンス番号のACK番号の差分値6000(=8001−2001)を引いて、2001番とする(図7−b14参照)。以降、端末10からのデータパケットのシーケンス番号は、シーケンス番号から4000引いた値へ書き換える。書き換えられたパケットは、中継先コネクションの端末11へ転送される(図7−b15参照)。端末11から端末10の場合も、同様に差分値1000(=6001−5001)を加えた値へ書き換える。   That is, the packet indicated by b13 in FIG. 7 subtracts the difference value 6000 (= 8001-2001) between the Seq number of the data transfer initial sequence of the terminal 10 and the ACK number of the data transfer initial sequence number of the terminal 11 from the 8001 number. , 2001 (see FIG. 7-b14). Thereafter, the sequence number of the data packet from the terminal 10 is rewritten to a value obtained by subtracting 4000 from the sequence number. The rewritten packet is transferred to the terminal 11 of the relay destination connection (see FIG. 7-b15). Similarly, in the case of the terminal 11 to the terminal 10, the value is similarly rewritten to the value obtained by adding the difference value 1000 (= 6001 to 5001).

また、データ転送において、端末10、端末11は、中継装置1とSSLセッションを開設しているため、セッション開設時に決めた暗号化方式で、データ部分は暗号化される。従って、端末10、端末11は、異なる暗号化方式でデータを暗号化されることが考えられる。データが異なる暗号化方式で暗号化された場合、端末は、暗号化を解くことができず、実質通信できない状態となる。そこで、データを送信する場合は、アプリケーション部10−6は、SSLセッション開設処理部10−4から、SSLヘッダ情報を取得し、本情報からSSLヘッダを作成し、データは、暗号化しないか、それとも、端末10、端末11が対応可能な暗号化方式で暗号化を行う。   In the data transfer, since the terminal 10 and the terminal 11 have established an SSL session with the relay device 1, the data portion is encrypted by the encryption method determined at the time of session establishment. Therefore, it is conceivable that the terminal 10 and the terminal 11 are encrypted with different encryption methods. When the data is encrypted with a different encryption method, the terminal cannot decrypt the data and cannot communicate. Therefore, when transmitting data, the application unit 10-6 acquires the SSL header information from the SSL session establishment processing unit 10-4, creates an SSL header from this information, and the data is not encrypted. Alternatively, encryption is performed by an encryption method that can be supported by the terminals 10 and 11.

従って、本実施例によれば、TCPコネクション開設後、端末と中継装置の間でTCPパケットの交換が行われ、その後、通信相手先へTCPパケットの転送を行う際、シーケンス異常が発生しないように通信相手先へデータ転送する際の初期シーケンス番号を取得している。   Therefore, according to the present embodiment, after the TCP connection is established, the TCP packet is exchanged between the terminal and the relay device, and thereafter, when the TCP packet is transferred to the communication partner, a sequence error does not occur. The initial sequence number for transferring data to the communication partner is acquired.

即ち、本実施例では、TCPスプライシング方式を用いてデータ転送を開始するシーケンス番号を取得し、中継装置で受信するパケットに記載されるシーケンス番号と前述の境界となるシーケンス番号を比較し、中継装置内部のTCP処理部へ転送するか、ヘッダ書換部へ転送し、宛先端末へ転送するか決定している。このように、通信相手先へデータ転送開始するシーケンスを取得して、中継装置で受信されるパケットの処理を、該シーケンス番号として、通信相手に転送すべきか中継装置内において処理を行うか決定しているため、従来実現できなかった中継装置を用いたファイアウォール越え通信において、中継装置負荷を抑えるためのTCPスプライシング方式を用いた中継を実現できる。   That is, in the present embodiment, a sequence number for starting data transfer is acquired using the TCP splicing method, the sequence number described in the packet received by the relay device is compared with the sequence number serving as the boundary, and the relay device It is determined whether to transfer to the internal TCP processing unit, to the header rewriting unit, or to the destination terminal. In this way, a sequence for starting data transfer to the communication partner is obtained, and the processing of the packet received by the relay device is determined as the sequence number to be transferred to the communication partner or in the relay device. Therefore, it is possible to realize relay using a TCP splicing method for suppressing the load on the relay device in communication across the firewall using the relay device that could not be realized conventionally.

なお、本実施例は、次のように構成してもよい。   In addition, you may comprise a present Example as follows.

a)中継手段は、中継する宛先情報を取得すると、端末に対してデータ送信開始を促すためのメッセージを送信してもよい。   a) When the relay unit acquires the destination information to be relayed, the relay unit may transmit a message for prompting the terminal to start data transmission.

b)中継手段は、データ通信開始を促すためのメッセージを端末に対して送信するときに、データ転送開始のシーケンス番号を取得してもよい。   b) The relay means may acquire a sequence number for starting data transfer when transmitting a message for prompting the start of data communication to the terminal.

c)中継手段は、データ転送開始を促すメッセージを作成したときに、メッセージ長からシーケンス番号を取得してもよい。   c) The relay means may obtain the sequence number from the message length when creating a message that prompts the start of data transfer.

d)中継手段は、取得したシーケンス番号を基点に、シーケンス番号以降のデータに対してはヘッダを書き換えて宛先端末へのデータ転送を行い、シーケンス番号よりも以前のシーケンス番号のデータに対してはTCP処理を行って宛先端末へのデータ転送を行ってもよい。   d) Based on the acquired sequence number, the relay means rewrites the header for the data after the sequence number and transfers the data to the destination terminal, and for the data of the sequence number before the sequence number TCP processing may be performed to transfer data to the destination terminal.

e)端末は、中継装置とSSLセッション開設時に決定した暗号化方式で、データを暗号化しないように構成してもよい。   e) The terminal may be configured not to encrypt data with the encryption method determined when the SSL session is established with the relay device.

次に、本発明の第2の実施例について図面を参照して説明する。   Next, a second embodiment of the present invention will be described with reference to the drawings.

図9は、本実施例に係る通信システムの全体構成図である。同図に示す通信システムは、中継装置2、端末10、端末11、ファイアウォール100、ファイアウォール101、及び通信管理装置1000を有する。本実施例と第1の実施例との差異は、中継装置1が中継装置2に置き換えられている点である。   FIG. 9 is an overall configuration diagram of a communication system according to the present embodiment. The communication system shown in the figure includes a relay device 2, a terminal 10, a terminal 11, a firewall 100, a firewall 101, and a communication management device 1000. The difference between the present embodiment and the first embodiment is that the relay device 1 is replaced with the relay device 2.

図10は、中継装置2の内部ブロックを示している。同図に示すように、中継装置2は、第1の実施例の中継装置1と同様に、パケット受信部2−1、パケット振分部2−2、TCP処理部2−3、SSLセッション開設処理部2−4、コネクション結合情報管理部2−5、パケット振分情報管理部2−7、コネクション管理テーブル2−8、ヘッダ書換部2−9、及びパケット送信部2−10を有する。これに加え、中継装置2は、パケット中継部2−6と、処理切り替えシーケンス計算部2−11とを有する。これら各部2−1〜2−11が、本発明の中継手段を構成している。   FIG. 10 shows an internal block of the relay device 2. As shown in the figure, the relay device 2 is similar to the relay device 1 of the first embodiment in that the packet reception unit 2-1, the packet distribution unit 2-2, the TCP processing unit 2-3, and the SSL session establishment. It includes a processing unit 2-4, a connection connection information management unit 2-5, a packet distribution information management unit 2-7, a connection management table 2-8, a header rewriting unit 2-9, and a packet transmission unit 2-10. In addition, the relay device 2 includes a packet relay unit 2-6 and a process switching sequence calculation unit 2-11. Each of these parts 2-1 to 2-11 constitutes the relay means of the present invention.

パケット中継部2−6は、TCP処理部2−3から送信されてきたパケットを中継する。処理切り替えシーケンス計算部2−11は、パケット振分管理部2−7からの指示とコネクション管理テーブル2−8に記載されているシーケンス番号の進捗から処理切り替えシーケンスを計算する。   The packet relay unit 2-6 relays the packet transmitted from the TCP processing unit 2-3. The process switching sequence calculation unit 2-11 calculates a process switching sequence from the instruction from the packet distribution management unit 2-7 and the progress of the sequence number described in the connection management table 2-8.

次に、本実施例の動作について説明する。   Next, the operation of this embodiment will be described.

本実施例でも、第1の実施例と同様に端末10と端末11が中継装置2を介してデータ通信を行う一連の動作を、図面を用いて説明する。   Also in the present embodiment, a series of operations in which the terminal 10 and the terminal 11 perform data communication via the relay device 2 as in the first embodiment will be described with reference to the drawings.

本実施例の動作は、第1の実施例と共通する点が多いため、その差分について図10、図11、図12を用いて説明する。端末10と中継装置2、端末11と中継装置2の間で行われる動作は同じため、端末10と中継装置2で行われる動作のみ説明する。   Since the operation of the present embodiment has many points in common with the first embodiment, the difference will be described with reference to FIGS. 10, 11, and 12. FIG. Since operations performed between the terminal 10 and the relay device 2 and between the terminal 11 and the relay device 2 are the same, only operations performed between the terminal 10 and the relay device 2 will be described.

1)データ転送開始前の動作
第1の実施例では、セッション開設後、データ転送開始時から、TCPヘッダ書き換えてデータを中継していたが、本実施例では、セッション開設後、中継装置2のデータ中継部2−6を介して中継を行い、TCPヘッダ書き換えによる中継を行う。本実施例と第1の実施例の動作が異なるのは、端末10のコネクションペア作成要求メッセージ送信からである。
1) Operation before starting data transfer In the first embodiment, data is relayed by rewriting the TCP header from the start of data transfer after the session is opened, but in this embodiment, after the session is opened, the relay device 2 Relay is performed via the data relay unit 2-6, and relay is performed by rewriting the TCP header. The difference between this embodiment and the first embodiment is that the terminal 10 transmits a connection pair creation request message.

図12において、中継装置2は、該メッセージを、パケット受信部2−1を介して、コネクション結合情報管理部2−5が受信すると(図12−c1参照)、コネクション結合情報管理部2−5により、コネクションペアIDを記載し、コネクションペア作成応答メッセージを作成する(図12−c2参照)。次いで、コネクション結合情報管理部2−5は、作成したメッセージサイズを取得し(図12−c3参照)、コネクション管理テーブル2−8を参照してデータ転送初期シーケンス番号を算出し、該テーブル2−8へ記載する(図12−c4参照)。その後、コネクション結合情報管理部2−5は、コネクションペア作成応答メッセージを、パケット送信部2−10を介して、端末10に対して送信する(図12−c5参照)。これにより、端末10は、データ転送を開始する(図12−c6参照)。   In FIG. 12, when the relay apparatus 2 receives the message via the packet receiver 2-1 and the connection connection information management section 2-5 (see FIG. 12-c1), the connection connection information management section 2-5 Thus, the connection pair ID is described and a connection pair creation response message is created (see FIG. 12-c2). Next, the connection connection information management unit 2-5 acquires the created message size (see FIG. 12-c3), calculates a data transfer initial sequence number with reference to the connection management table 2-8, 8 (see FIG. 12-c4). Thereafter, the connection connection information management unit 2-5 transmits a connection pair creation response message to the terminal 10 via the packet transmission unit 2-10 (see FIG. 12-c5). As a result, the terminal 10 starts data transfer (see FIG. 12-c6).

2)データ転送開始
図12において、中継装置2は、端末10からのデータパケットをパケット受信部2−1、パケット振分部2−2を経由してTCP処理部2−3で受信し、端末10に対してACKを送信し、データ部分は、データ中継部2−6へ転送する(図12−c6参照)。データ中継部2−6は、中継先コネクションへデータを送信するために、TCP処理部2−3へ転送し、パケット振分部2−2を経由し、パケット送信部2−10から端末11へ送信される。本中継方法による通信で、Seq#47000番、ACK#29001番前まで進む(図12−c6参照)。
2) Start of data transfer In FIG. 12, the relay device 2 receives the data packet from the terminal 10 by the TCP processing unit 2-3 via the packet receiving unit 2-1 and the packet distribution unit 2-2, and the terminal 10 is transmitted to the data relay unit 2-6 (see FIG. 12-c6). In order to transmit data to the relay destination connection, the data relay unit 2-6 transfers the data to the TCP processing unit 2-3, passes through the packet distribution unit 2-2, and then transmits from the packet transmission unit 2-10 to the terminal 11. Sent. In the communication by this relay method, the process proceeds to Seq # 47000 and ACK # 29001 (see FIG. 12-c6).

3)中継方法の切り替え(中継処理部を介した中継から、ヘッダ書き換えによる中継)指示
図12において、パケット振分情報管理部2−7は、中継装置2のリソース消費量を監視し、一定以上消費量を観測(検出)する(図12−c7参照)と、リソース消費量を抑えるために、リソース消費量の高いTCP処理を行うデータ中継部2−6を介した通信から、ヘッダ書き換えによる中継に処理を切り替えるようパケット振分部2−2へ処理切り替え指示を出す(図12−c8参照)。ここで述べたリソースとは、CPU(Central Processing Unit)、メモリ等をあらわしている。また、リソース消費量だけでなく、一定数以上の通信コネクションの中継、または、一定以上の中継トラヒックを中継する場合にも、処理を切り替えることが考えられる。
3) Instruction for switching relay method (from relay through relay processing unit to relay by header rewriting) In FIG. 12, the packet distribution information management unit 2-7 monitors the resource consumption of the relay device 2 and exceeds a certain level. When the consumption is observed (detected) (see FIG. 12-c7), in order to suppress the resource consumption, the relay by header rewriting is performed from the communication via the data relay unit 2-6 that performs TCP processing with a high resource consumption. A process switching instruction is issued to the packet sorting unit 2-2 so as to switch the process to (see FIG. 12-c8). The resources described here represent a CPU (Central Processing Unit), a memory, and the like. Further, not only resource consumption but also switching of a certain number of communication connections or switching of a certain number of relay traffic may be considered.

4)中継方法切り替え時のシーケンス番号取得について
第1の実施例では、データ転送開始シーケンス番号を取得するのみであったが、本実施例では、中継処理部2−6を介したデータ中継からヘッダ書き換えによる中継を行うため、データ中継部2−6を介して宛先端末に転送されるデータ量から、ヘッダ書き換えによる中継開始シーケンス番号を取得する。
4) Acquisition of sequence number at switching of relay method In the first embodiment, only the data transfer start sequence number is acquired, but in this embodiment, the header is changed from data relay via the relay processing unit 2-6. In order to perform relay by rewriting, the relay start sequence number by header rewriting is acquired from the amount of data transferred to the destination terminal via the data relay unit 2-6.

図12において、前述の処理切り替え指示を受けたパケット振分部2−2は、処理切り替えシーケンス計算部2−11へ端末10と端末11の通信において、データ中継部2−6を経由した通信で、端末10、端末11のSeq番号、ACK番号がどれだけ進むか計算して、処理切り替え初期シーケンスを算出する指示を出す。処理切り替えシーケンス計算部2−11は、図11のコネクション管理テーブル2−8の1行目に示すように処理切り替えシーケンス番号を算出して決定する(図12−c9、c10参照)。以下、その算出方法を示す。   In FIG. 12, the packet distribution unit 2-2 that has received the above-described processing switching instruction communicates with the processing switching sequence calculation unit 2-11 via the data relay unit 2-6 in communication between the terminal 10 and the terminal 11. The terminal 10 and the terminal 11 calculate how much the Seq number and the ACK number are advanced, and issue an instruction to calculate the process switching initial sequence. The process switching sequence calculation unit 2-11 calculates and determines a process switching sequence number as shown in the first row of the connection management table 2-8 in FIG. 11 (see FIGS. 12-c9 and c10). The calculation method is shown below.

端末10の処理切り替えシーケンス番号のSeq番号は、コネクション管理テーブル2−8の端末10のコネクションのSeq番号48000番に1を加えた48001番となる。端末10からデータ中継部2−6を経由して中継端末11へ送信されるデータで進むシーケンスは、端末10の処理切り替え初期シーケンス番号のSeq番号48001番からデータ転送初期シーケンス番号のSeq番号8001を引いた40000番となる。   The Seq number of the process switching sequence number of the terminal 10 is 48001, which is obtained by adding 1 to the Seq number 48000 of the connection of the terminal 10 in the connection management table 2-8. The sequence to be advanced by the data transmitted from the terminal 10 to the relay terminal 11 via the data relay unit 2-6 is changed from the Seq number 48001 of the process switching initial sequence number of the terminal 10 to the Seq number 8001 of the data transfer initial sequence number. It will be 40000.

従って、端末11の処理切り替えシーケンス番号のACK番号は、端末11のデータ転送初期シーケンス番号のACK番号に40000を加えた42001番となる。端末11の処理切り替えシーケンス番号のSeq番号、端末10の処理切り替えシーケンス番号のACK番号も同様に算出する。   Therefore, the ACK number of the process switching sequence number of the terminal 11 is the number 41001 obtained by adding 40000 to the ACK number of the data transfer initial sequence number of the terminal 11. The Seq number of the process switching sequence number of the terminal 11 and the ACK number of the process switching sequence number of the terminal 10 are similarly calculated.

以降、中継装置2は、端末10からのパケットを受信する(図12−c11参照)と、パケット振分部2−2からヘッダ書換部2−9へ転送し(図12−c12参照)、ヘッダを書き換えて(図12−c13参照)、端末11へ転送する(図12−c14参照)。この書き換え方法については、処理切り替えシーケンス番号を参照して、第1の実施例と同様に行う。   Thereafter, when receiving a packet from the terminal 10 (see FIG. 12-c11), the relay device 2 transfers the packet from the packet sorting unit 2-2 to the header rewriting unit 2-9 (see FIG. 12-c12), and the header. Is rewritten (see FIG. 12-c13) and transferred to the terminal 11 (see FIG. 12-c14). This rewriting method is performed in the same manner as in the first embodiment with reference to the process switching sequence number.

本実施例によれば、前述した第1の実施例と同様の効果に加え、さらに中継装置の処理負荷に応じて、TCP処理を行う中継からヘッダ書き換えによる中継へ切り替えることで、リソースの有効活用が可能となる。   According to the present embodiment, in addition to the same effects as those of the first embodiment described above, the resource is effectively utilized by switching from the relay that performs TCP processing to the relay by header rewriting according to the processing load of the relay device. Is possible.

なお、本実施例は、次のように構成してもよい。   In addition, you may comprise a present Example as follows.

a)中継手段は、中継する宛先情報を取得し、データ転送時にデータのTCP処理を行って宛先端末へデータ転送を開始し、データ転送の途中からデータのTCP処理を行わずにデータのヘッダを書き換えて宛先端末へのデータ転送を行ってもよい。   a) The relay means acquires destination information to be relayed, performs data TCP processing at the time of data transfer, starts data transfer to the destination terminal, and performs data TCP processing without performing data TCP processing in the middle of data transfer. The data may be rewritten and transferred to the destination terminal.

b)中継手段は、一定以上のリソース消費を観測した場合に、宛先端末に対して、データのTCP処理を行ってデータ転送を行う処理から、データのヘッダを書き換えてデータ転送を行う処理に切り替えてもよい。   b) When the resource consumption over a certain level is observed, the relay means switches from the process of performing the data TCP process to the destination terminal to perform the data transfer to the process of performing the data transfer by rewriting the data header. May be.

c)中継手段は、一定以上のコネクションを中継する場合に、宛先端末に対して、データのTCP処理を行ってデータ転送を行う処理から、データのヘッダを書き換えてデータ転送を行う処理に切り替てもよい。   c) When relaying more than a certain number of connections, the relay means switches from processing for performing data TCP processing to the destination terminal to perform data transfer to processing for performing data transfer by rewriting the data header. Also good.

d)中継手段は、一定以上のトラヒック量を中継する場合に、宛先端末に対して、データのTCP処理を行ってデータ転送を行う処理から、データのヘッダを書き換えてデータ転送を行う処理に切り替えてもよい。   d) When relaying a traffic amount of a certain level or more, the relay unit switches from a process of performing data TCP processing to the destination terminal to perform data transfer to a process of performing data transfer by rewriting the data header. May be.

e)中継手段は、データ転送の処理を切り替える際に、データのTCP処理を行ってデータ転送を行う際に進むシーケンス番号を取得し、該シーケンス番号から、データのヘッダを書き換えてデータ転送を開始する際のシーケンス番号を取得してもよい。   e) When the data transfer process is switched, the relay unit acquires the sequence number that is advanced when performing the data TCP process and performs the data transfer, and rewrites the data header from the sequence number and starts the data transfer. You may acquire the sequence number at the time of doing.

f)中継手段は、取得したシーケンス番号を基点に、前記シーケンス番号以降のデータに対してはヘッダを書き換えて宛先端末へのデータ転送を行い、シーケンス番号よりも以前のシーケンス番号のデータに対してはTCP処理を行って宛先端末へのデータ転送を行ってもよい。   f) Based on the acquired sequence number, the relay means rewrites the header for the data after the sequence number and transfers the data to the destination terminal, and for the data of the sequence number earlier than the sequence number May perform TCP processing to transfer data to the destination terminal.

g)端末は、中継装置とSSLセッション開設時に決定した暗号化方式で、データを暗号化しないように構成してもよい。   g) The terminal may be configured not to encrypt data with the encryption method determined when the SSL session is established with the relay device.

次に、本発明の第3の実施例について図面を参照して説明する。   Next, a third embodiment of the present invention will be described with reference to the drawings.

図14は、本実施例に係る通信システムの全体構成図である。同図に示す通信システムは、中継装置3、端末12、端末13、ファイアウォール装置100、ファイアウォール装置101、及び通信管理装置1000を有する。本実施例と第1の実施例との差異は、中継装置1が中継装置3に端末10が端末12に、端末11が端末13に置き換えられている点である。   FIG. 14 is an overall configuration diagram of a communication system according to the present embodiment. The communication system shown in the figure includes a relay device 3, a terminal 12, a terminal 13, a firewall device 100, a firewall device 101, and a communication management device 1000. The difference between the present embodiment and the first embodiment is that the relay apparatus 1 is replaced with the relay apparatus 3, the terminal 10 is replaced with the terminal 12, and the terminal 11 is replaced with the terminal 13.

図14は、中継装置3の内部ブロックを示している。同図に示すように、中継装置3は、第1の実施例の中継装置1と同様に、パケット受信部3−1、パケット振分部3−2、TCP処理部3−4、SSLセッション開設処理部3−5、コネクション結合情報管理部3−6、パケット振分情報管理部3−7、コネクション管理テーブル3−8、ヘッダ書換部3−9、及びパケット送信部3−10を有する。これに加え、中継装置2は、同図に示すように、データ開始時のシーケンスを決定するコネクション結合初期シーケンス決定部3−3を有する。これら各部3−1〜3−10が、本発明の中継手段を構成している。   FIG. 14 shows an internal block of the relay device 3. As shown in the figure, the relay device 3 is similar to the relay device 1 of the first embodiment in that the packet reception unit 3-1, the packet distribution unit 3-2, the TCP processing unit 3-4, and the SSL session establishment. It includes a processing unit 3-5, connection connection information management unit 3-6, packet distribution information management unit 3-7, connection management table 3-8, header rewriting unit 3-9, and packet transmission unit 3-10. In addition, the relay device 2 includes a connection connection initial sequence determination unit 3-3 that determines a sequence at the start of data, as shown in FIG. Each of these parts 3-1 to 3-10 constitutes the relay means of the present invention.

図15は、端末12の内部ブロックを示している。端末13も同様である。端末12は、第1の実施例の端末10と同様に、パケット受信部12−1、TCP処理部12−2、通信要求応答部12−3、SSLセッション開設部12−4、宛先情報通知部12−5、アプリケーション部12−7、及びパケット送信部12−8を有する。これに加え、端末12は、データ転送開始を示す識別子を決定し、中継装置3へ通知するデータ転送開始識別子決定部12−6を有する。   FIG. 15 shows an internal block of the terminal 12. The same applies to the terminal 13. As with the terminal 10 of the first embodiment, the terminal 12 includes a packet receiving unit 12-1, a TCP processing unit 12-2, a communication request response unit 12-3, an SSL session establishment unit 12-4, and a destination information notification unit. 12-5, application section 12-7, and packet transmission section 12-8. In addition, the terminal 12 includes a data transfer start identifier determination unit 12-6 that determines an identifier indicating the start of data transfer and notifies the relay apparatus 3 of the identifier.

次に、本実施例の動作について説明する。   Next, the operation of this embodiment will be described.

本実施例でも、第1の実施例と同様に端末10と端末11が中継装置2を介してデータ通信を行う一連の動作を、図面を用いて説明する。   Also in the present embodiment, a series of operations in which the terminal 10 and the terminal 11 perform data communication via the relay device 2 as in the first embodiment will be described with reference to the drawings.

本実施例の動作は、第1の実施例と共通する点が多いため、その差分について図14、図15、図16、図17を用いて説明する。端末12と中継装置3、端末13と中継装置3の間で行われる動作は同じため、端末10と中継装置2で行われる動作のみ説明する。本実施例と第1の実施例の動作が異なるのは、端末10がコネクションペア作成要求メッセージ送信からである。   Since the operation of this embodiment has many points in common with the first embodiment, the difference will be described with reference to FIGS. 14, 15, 16, and 17. FIG. Since the operations performed between the terminal 12 and the relay device 3 and between the terminal 13 and the relay device 3 are the same, only the operation performed between the terminal 10 and the relay device 2 will be described. The operation of this embodiment differs from that of the first embodiment because the terminal 10 transmits a connection pair creation request message.

図17において、端末12は、宛先情報通知部12−6によりデータ転送開始識別子を決定し、コネクションペア作成要求メッセージ内に記載して、パケット送信部12−8を介して、中継装置3のコネクション結合情報管理部3−6へ送信する(図17−d1参照)。   In FIG. 17, the terminal 12 determines the data transfer start identifier by the destination information notifying unit 12-6, describes it in the connection pair creation request message, and connects to the relay device 3 via the packet transmitting unit 12-8. It transmits to the joint information management part 3-6 (refer FIG. 17-d1).

次いで、中継装置3は、パケット受信部3−1を介して、コネクションペア作成要求メッセージを受信すると、コネクション結合情報管理部3−6により、該メッセージ内のデータ転送開始メッセージのデータ転送開始識別子を取得し(図17−d2参照)、その識別子をパケット振分情報管理部3−7へ通知する(図17−d3参照)。   Next, when the relay device 3 receives the connection pair creation request message via the packet reception unit 3-1, the connection connection information management unit 3-6 sets the data transfer start identifier of the data transfer start message in the message. It is acquired (see FIG. 17-d2), and the identifier is notified to the packet distribution information management unit 3-7 (see FIG. 17-d3).

次いで、データ転送開始識別子を取得したパケット振分情報管理部3−7は、パケット振分部3−2に対して、該データ転送開始識別子が記載されたパケットのシーケンス番号以降のパケットはヘッダ書換部3−9へ転送するようにパケット振分ルールを指示する(図17−d4参照)。   Next, the packet distribution information management unit 3-7 that has acquired the data transfer start identifier instructs the packet distribution unit 3-2 to rewrite the packet after the sequence number of the packet in which the data transfer start identifier is described. The packet distribution rule is instructed to be transferred to the unit 3-9 (see FIG. 17-d4).

次いで、パケット振分情報管理部3−7は、コネクション結合情報管理部3−6に対して、コネクションペア作成応答メッセージを端末12へ送信するように要求する(図17−d5参照)。これにより、コネクション結合情報管理部3−6は、パケット送信部3−10を介して、端末12に対して、コネクションペア作成応答メッセージを送信する(図17−d6参照)。   Next, the packet distribution information management unit 3-7 requests the connection connection information management unit 3-6 to transmit a connection pair creation response message to the terminal 12 (see FIG. 17-d5). Thereby, the connection coupling information management unit 3-6 transmits a connection pair creation response message to the terminal 12 via the packet transmission unit 3-10 (see FIG. 17-d6).

コネクションペア作成応答メッセージを受信した宛先情報通知部12−5は、アプリケーション部12−7に対して、データ転送開始を指示する。   The destination information notifying unit 12-5 that has received the connection pair creation response message instructs the application unit 12-7 to start data transfer.

1)テータ転送開始及びデータ転送開始シーケンス番号の取得動作
本実施例では、端末がデータ転送開始時に、データ転送開始を示す識別情報を付与することで、該識別情報が付与されたパケットを受信することで、データ中継を行うためのセッション開設メッセージ交換を終了したと判断でき、第1の実施例のようにメッセージサイズからデータ転送開始シーケンス番号を算出する処理を行わなくても、該パケットを受信した時点でのシーケンス番号からデータ転送開始シーケンス番号を取得することが可能である。
1) Data transfer start and data transfer start sequence number acquisition operation In this embodiment, when a terminal starts data transfer, it adds identification information indicating the start of data transfer, and receives a packet to which the identification information is added. Thus, it can be determined that the session establishment message exchange for data relay has been completed, and the packet is received without performing the process of calculating the data transfer start sequence number from the message size as in the first embodiment. It is possible to obtain the data transfer start sequence number from the sequence number at that time.

以下、その処理を図17に沿って具体的に説明する。   Hereinafter, the process will be specifically described with reference to FIG.

図17において、端末12は、アプリケーション部12−7により、データ転送開始識別子12−6からデータ転送開始識別子を取得して、データの先頭に記載する。アプリケーション部12−7は、そのデータをTCP処理部12−2へ転送し、パケット送信部12−8から中継装置3へ送信する(図17−d7参照)。中継装置3は、パケット振分部3−2により、データ転送開始識別子が記載されたパケットを検出すると、コネクション結合初期シーケンス決定部3−3により、コネクション管理テーブル3−8を参照して、コネクション結合初期シーケンスを決定する(図17−d8参照)。   In FIG. 17, the terminal 12 acquires the data transfer start identifier from the data transfer start identifier 12-6 by the application unit 12-7 and writes it at the head of the data. The application unit 12-7 transfers the data to the TCP processing unit 12-2 and transmits the data from the packet transmission unit 12-8 to the relay device 3 (see FIG. 17-d7). When the packet distribution unit 3-2 detects the packet in which the data transfer start identifier is described, the relay device 3 refers to the connection management table 3-8 by the connection coupling initial sequence determination unit 3-3, The combined initial sequence is determined (see FIG. 17-d8).

ここでは、中継装置3から端末12へ送信されるコネクションペア作成応答メッセージが、データ転送直前の最後のメッセージとなり、図16に示した中継装置3のTCPシーケンス番号(図16の1行目)は、データ転送開始直前の中継装置3のTCPシーケンス番号を表している。そして、中継装置3のACK番号が端末12のデータ転送開始のSeq番号となり、中継装置のSeq番号に加えたものが、端末12のデータ転送開始直前のACK番号となる。従って、コネクション結合初期シーケンス番号は、Seq番号8001番、ACK番号6001番となる。これ以降の動作(図17−d9、d10、d11参照)は、第1の実施例と同じである。   Here, the connection pair creation response message transmitted from the relay device 3 to the terminal 12 is the last message immediately before the data transfer, and the TCP sequence number (first line in FIG. 16) of the relay device 3 shown in FIG. Represents the TCP sequence number of the relay device 3 immediately before the start of data transfer. Then, the ACK number of the relay device 3 becomes the Seq number of the data transfer start of the terminal 12, and the one added to the Seq number of the relay device becomes the ACK number immediately before the data transfer of the terminal 12 starts. Accordingly, the connection sequence initial sequence numbers are Seq number 8001 and ACK number 6001. The subsequent operations (see FIGS. 17-d9, d10, and d11) are the same as those in the first embodiment.

本実施例によれば、前述した第1の実施例と同様の効果に加え、さらにデータ転送開始の識別子を利用して、ヘッダ切り替えのシーケンス番号を取得することで、容易性が向上する。   According to the present embodiment, in addition to the same effects as those of the first embodiment described above, the header switching sequence number is obtained using the data transfer start identifier, thereby improving the ease.

なお、本実施例は、次のように構成してもよい。   In addition, you may comprise a present Example as follows.

a)端末は、データ転送開始の際、データにデータ転送開始を示す識別子を記載する手段を有してもよい。中継手段は、識別子が記載されたデータを受信した際、データ転送開始と判断し、データのヘッダを書き換えて宛先端末へデータ転送を行ってもよい。   a) The terminal may have means for describing an identifier indicating the start of data transfer in the data when starting the data transfer. The relay means may determine that the data transfer starts when receiving the data in which the identifier is described, rewrite the data header, and transfer the data to the destination terminal.

b)中継手段は、データ転送開始を示す識別子が記載されたデータを受信した際、データのヘッダを書き換えて宛先端末へデータ転送を行うためのシーケンス番号を取得してもよい。   b) When receiving the data in which the identifier indicating the start of data transfer is received, the relay means may rewrite the header of the data and obtain a sequence number for performing the data transfer to the destination terminal.

c)中継手段は、データ転送開始を示す識別子が記載されたデータを受信した際、中継装置側のデータのシーケンス番号から、データのヘッダを書き換えて宛先端末へデータ転送を行うためのシーケンス番号を取得してもよい。   c) When the relay means receives the data describing the identifier indicating the start of data transfer, the relay means rewrites the header of the data from the sequence number of the data on the relay device side and transmits a sequence number for performing the data transfer to the destination terminal. You may get it.

d)端末は、中継装置とSSLセッション開設時に決定した暗号化方式で、データを暗号化しないように構成してもよい。   d) The terminal may be configured not to encrypt data with the encryption method determined when the SSL session is established with the relay device.

なお、上記各実施例の通信システムを構成する中継装置、端末、及び通信管理装置は、上述した各部の機能を実現可能なものであれば、ハードウェア及びソフトウェア構成は特に限定されるものではない。例えば、各部の機能毎に独立して回路(又はプログラム部品)を構成するものでも、1つの回路内に一体的に構成するものでも、いずれのものであってもよい。各部の機能を主にコンピュータ(CPU:Central Processing Unit)によるソフトウェア処理で実現する場合、そのソフトウェアを構成するプログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に含まれる。   Note that the hardware and software configurations of the relay device, the terminal, and the communication management device configuring the communication system of each of the above embodiments are not particularly limited as long as the functions of the above-described units can be realized. . For example, the circuit (or program component) may be configured independently for each function of each unit, or may be configured integrally in one circuit. When the functions of the respective units are realized mainly by software processing by a computer (CPU: Central Processing Unit), a program constituting the software and a computer-readable recording medium recording the program are also included in the scope of the present invention.

本発明は、通信システム、中継装置及びそれらに用いる中継処理方法並びにそのプログラムの用途に適用できる。特に本発明は、ファイアウォール装置配下に接続する端末間での通信中継方法の用途に適用できる。   The present invention can be applied to the use of a communication system, a relay device, a relay processing method used for them, and a program thereof. In particular, the present invention can be applied to the use of a communication relay method between terminals connected under a firewall apparatus.

本発明の第1の実施例に係る通信システムの全体構成を示す概略ブロック図である。1 is a schematic block diagram illustrating an overall configuration of a communication system according to a first embodiment of the present invention. 図1に示す中継装置の内部構成を示す概略ブロック図である。It is a schematic block diagram which shows the internal structure of the relay apparatus shown in FIG. 図1に示す端末の内部構成を示す概略ブロック図である。It is a schematic block diagram which shows the internal structure of the terminal shown in FIG. 図1に示す通信管理装置の内部構成を示す概略ブロック図である。It is a schematic block diagram which shows the internal structure of the communication management apparatus shown in FIG. 図2に示すコネクション管理テーブルの詳細を示す図である。It is a figure which shows the detail of the connection management table shown in FIG. 第1の実施例に係る通信システムにおいて、通信管理装置への登録から通信要求までの動作を説明するシーケンス図である。It is a sequence diagram explaining operation | movement from registration to a communication management apparatus to a communication request | requirement in the communication system which concerns on a 1st Example. 第1の実施例に係る通信システムにおいて、中継装置への接続からデータ通信までの動作を説明するシーケンス図である。It is a sequence diagram explaining operation | movement from the connection to a relay apparatus to data communication in the communication system which concerns on a 1st Example. 図4に示す端末/中継装置情報管理テーブルの詳細を示す図である。FIG. 5 is a diagram showing details of a terminal / relay device information management table shown in FIG. 4. 本発明の第2の実施例に係る通信システムの全体構成を示す図である。It is a figure which shows the whole structure of the communication system which concerns on 2nd Example of this invention. 図9に示す中継装置の内部構成を示す概略ブロック図である。It is a schematic block diagram which shows the internal structure of the relay apparatus shown in FIG. 図10に示すコネクション管理テーブルの詳細を示す図である。It is a figure which shows the detail of the connection management table shown in FIG. 第2の実施例に係る通信システムの動作を説明するシーケンス図である。It is a sequence diagram explaining operation | movement of the communication system which concerns on a 2nd Example. 本発明の第3の実施例に係る通信システムの全体構成を示す図である。It is a figure which shows the whole structure of the communication system which concerns on 3rd Example of this invention. 図13に示す中継装置の内部構成を示す概略ブロック図である。It is a schematic block diagram which shows the internal structure of the relay apparatus shown in FIG. 図13に示す端末の内部構成を示す概略ブロック図である。It is a schematic block diagram which shows the internal structure of the terminal shown in FIG. 図14に示すコネクション管理テーブルの詳細を示す図である。It is a figure which shows the detail of the connection management table shown in FIG. 第3の実施例に係る通信システムの動作を説明するシーケンス図である。It is a sequence diagram explaining operation | movement of the communication system which concerns on a 3rd Example. 関連技術に係る中継装置を利用したファイアウォール越え通信における中継方式として、TCPスプライシング方式を用いた場合の動作を説明するシーケンス図である。It is a sequence diagram explaining operation | movement at the time of using a TCP splicing system as a relay system in the firewall crossing communication using the relay apparatus which concerns on related technology.

符号の説明Explanation of symbols

1、2、3 中継装置
10、11、12、13 端末
100、101 ファイアウォール装置
1000 通信管理装置
1, 2, 3 Relay device 10, 11, 12, 13 Terminal 100, 101 Firewall device 1000 Communication management device

Claims (26)

通信管理装置を介して端末からの通信要求および応答を行って、中継装置を介して端末間のデータ通信を行う通信システムであって、
前記端末は、前記中継装置との間でデータ通信のTCPコネクションを開設するTCP処理部と、データ通信のSSLセッション開設のためのメッセージ交換を行うSSLセッション開設処理部とを有し、
前記中継装置は、前記端末間でデータを中継するための宛先情報を取得し、データ転送時に前記端末との間でデータのTCP処理を行わずに、データのヘッダを書き換えて宛先端末へのデータ転送を行う中継手段を有することを特徴とする通信システム。
A communication system that performs a communication request and response from a terminal via a communication management device and performs data communication between the terminals via a relay device,
The terminal includes a TCP processing unit that establishes a TCP connection for data communication with the relay device, and an SSL session establishment processing unit that performs message exchange for establishing an SSL session for data communication,
The relay device acquires destination information for relaying data between the terminals, rewrites the data header without performing data TCP processing with the terminal during data transfer, and transmits data to the destination terminal. A communication system comprising relay means for performing transfer.
前記中継手段は、中継する宛先情報を取得すると、前記端末に対してデータ送信開始を促すためのメッセージを送信することを特徴とする請求項1に記載の通信システム。   The communication system according to claim 1, wherein the relay unit transmits a message for prompting the terminal to start data transmission when the relay destination information is acquired. 前記中継手段は、前記データ通信開始を促すためのメッセージを前記端末に対して送信するときに、データ転送開始のシーケンス番号を取得することを特徴とする請求項1又は2に記載の通信システム。   3. The communication system according to claim 1, wherein the relay unit acquires a sequence number for starting data transfer when transmitting a message for prompting the start of data communication to the terminal. 4. 前記中継手段は、前記データ転送開始を促すメッセージを作成したときに、前記メッセージ長から前記シーケンス番号を取得することを特徴とする請求項1から3のいずれか1項に記載の通信システム。   4. The communication system according to claim 1, wherein the relay unit acquires the sequence number from the message length when creating a message that prompts the start of data transfer. 5. 前記中継手段は、取得した前記シーケンス番号を基点に、前記シーケンス番号以降のデータに対してはヘッダを書き換えて宛先端末へのデータ転送を行い、前記シーケンス番号よりも以前のシーケンス番号のデータに対してはTCP処理を行って宛先端末へのデータ転送を行うことを特徴とする請求項3又は4に記載の通信システム。   The relay means, based on the acquired sequence number, rewrites the header for the data after the sequence number and transfers the data to the destination terminal, and for the data of the sequence number before the sequence number 5. The communication system according to claim 3 or 4, wherein a TCP process is performed to transfer data to a destination terminal. 前記中継手段は、中継する宛先情報を取得し、データ転送時にデータのTCP処理を行って宛先端末へデータ転送を開始し、データ転送の途中からデータのTCP処理を行わずにデータのヘッダを書き換えて宛先端末へのデータ転送を行うことを特徴とする請求項1に記載の通信システム。   The relay means acquires destination information to be relayed, performs data TCP processing at the time of data transfer, starts data transfer to the destination terminal, and rewrites the data header without performing data TCP processing in the middle of the data transfer 2. The communication system according to claim 1, wherein data is transferred to a destination terminal. 前記中継手段は、一定以上のリソース消費を観測した場合に、宛先端末に対して、データのTCP処理を行ってデータ転送を行う処理から、データのヘッダを書き換えてデータ転送を行う処理に切り替えることを特徴とする請求項6に記載の通信システム。   When observing resource consumption of a certain level or more, the relay unit switches from a process of performing data TCP processing to the destination terminal to perform data transfer to a process of performing data transfer by rewriting the data header. The communication system according to claim 6. 前記中継手段は、一定以上のコネクションを中継する場合に、宛先端末に対して、データのTCP処理を行ってデータ転送を行う処理から、データのヘッダを書き換えてデータ転送を行う処理に切り替えることを特徴とする請求項6に記載の通信システム。   When the relay means relays more than a certain number of connections, the relay means switches from a process of performing data TCP processing to the destination terminal to perform data transfer to a process of performing data transfer by rewriting the data header. The communication system according to claim 6. 前記中継手段は、一定以上のトラヒック量を中継する場合に、宛先端末に対して、データのTCP処理を行ってデータ転送を行う処理から、データのヘッダを書き換えてデータ転送を行う処理に切り替えることを特徴とする請求項6に記載の通信システム。   When relaying a traffic amount of a certain level or more, the relay unit switches from a process of performing data TCP processing to the destination terminal to perform data transfer to a process of performing data transfer by rewriting the data header. The communication system according to claim 6. 前記中継手段は、前記データ転送の処理を切り替える際に、データのTCP処理を行ってデータ転送を行う際に進むシーケンス番号を取得し、該シーケンス番号から、データのヘッダを書き換えてデータ転送を開始する際のシーケンス番号を取得することを特徴とする請求項6に記載の通信システム。   When the data transfer process is switched, the relay unit obtains a sequence number that is advanced when data transfer is performed by performing data TCP processing, and starts data transfer by rewriting the data header from the sequence number. The communication system according to claim 6, wherein a sequence number for acquiring the sequence number is acquired. 前記中継手段は、取得した前記シーケンス番号を基点に、前記シーケンス番号以降のデータに対してはヘッダを書き換えて宛先端末へのデータ転送を行い、前記シーケンス番号よりも以前のシーケンス番号のデータに対してはTCP処理を行って宛先端末へのデータ転送を行うことを特徴とする請求項6又は10に記載の通信システム。   The relay means, based on the acquired sequence number, rewrites the header for the data after the sequence number and transfers the data to the destination terminal, and for the data of the sequence number before the sequence number The communication system according to claim 6 or 10, wherein TCP communication is performed to transfer data to a destination terminal. 前記端末は、データ転送開始の際、データにデータ転送開始を示す識別子を記載する手段を有し、
前記中継手段は、前記識別子が記載されたデータを受信した際、データ転送開始と判断し、データのヘッダを書き換えて宛先端末へデータ転送を行うことを特徴とする請求項1に記載の通信システム。
The terminal has means for describing an identifier indicating the start of data transfer in data at the start of data transfer,
2. The communication system according to claim 1, wherein when the relay unit receives data in which the identifier is described, the relay unit determines that data transfer is started, rewrites a header of the data, and performs data transfer to a destination terminal. .
前記中継手段は、前記データ転送開始を示す識別子が記載されたデータを受信した際、データのヘッダを書き換えて宛先端末へデータ転送を行うためのシーケンス番号を取得することを特徴とする請求項12に記載の通信システム。   13. The relay unit obtains a sequence number for performing data transfer to a destination terminal by rewriting a data header when receiving data in which an identifier indicating the start of data transfer is received. The communication system according to 1. 前記中継手段は、前記データ転送開始を示す識別子が記載されたデータを受信した際、前記中継装置側のデータのシーケンス番号から、データのヘッダを書き換えて宛先端末へデータ転送を行うためのシーケンス番号を取得することを特徴とする請求項12又は13に記載の通信システム。   When the relay unit receives data in which an identifier indicating the start of data transfer is received, the sequence number for rewriting the data header and transferring the data to the destination terminal from the data sequence number on the relay device side The communication system according to claim 12, wherein the communication system is acquired. 前記端末は、前記中継装置とSSLセッション開設時に決定した暗号化方式で、データを暗号化しないことを特徴とする請求項1、6、12のいずれか1項に記載の通信システム。   13. The communication system according to claim 1, wherein the terminal does not encrypt data by an encryption method determined when an SSL session is established with the relay device. 13. データ通信のTCPコネクションを開設するTCP処理部と、データ通信のSSLセッション開設のためのメッセージ交換を行うSSLセッション開設処理部とを有する端末間のデータ通信を中継する中継装置であって、
前記端末間でデータを中継するための宛先情報を取得し、データ転送時に前記端末との間でデータのTCP処理を行わずに、データのヘッダを書き換えて宛先端末へのデータ転送を行う中継手段を有することを特徴とする中継装置。
A relay device that relays data communication between terminals having a TCP processing unit for establishing a TCP connection for data communication and an SSL session establishment processing unit for exchanging messages for establishing an SSL session for data communication,
Relay means for acquiring destination information for relaying data between the terminals and performing data transfer to the destination terminal by rewriting the data header without performing data TCP processing with the terminal during data transfer A relay apparatus comprising:
前記中継手段は、中継する宛先情報を取得し、データ転送時にデータのTCP処理を行って宛先端末へデータ転送を開始し、データ転送の途中からデータのTCP処理を行わずにデータのヘッダを書き換えて宛先端末へのデータ転送を行うことを特徴とする請求項16に記載の中継装置。   The relay means acquires destination information to be relayed, performs data TCP processing at the time of data transfer, starts data transfer to the destination terminal, and rewrites the data header without performing data TCP processing in the middle of the data transfer The relay apparatus according to claim 16, wherein the data transfer to the destination terminal is performed. 前記端末は、データ転送開始の際、データにデータ転送開始を示す識別子を記載する手段を有し、
前記中継手段は、前記識別子が記載されたデータを受信した際、データ転送開始と判断し、データのヘッダを書き換えて宛先端末へデータ転送を行うことを特徴とする請求項16に記載の中継装置。
The terminal has means for describing an identifier indicating the start of data transfer in data at the start of data transfer,
17. The relay apparatus according to claim 16, wherein the relay unit determines that data transfer starts when data having the identifier described therein is received, rewrites the header of the data, and transfers the data to a destination terminal. .
端末間でデータを中継するための宛先情報を取得し、データ転送時に前記端末との間でデータのTCP処理を行わずに、データのヘッダを書き換えて宛先端末へのデータ転送を行う中継手段を有する中継装置を介してデータ通信を行う端末であって、
前記中継装置との間で、データ通信のTCPコネクションを開設するTCP処理部と、
データ通信のSSLセッション開設のためのメッセージ交換を行うSSLセッション開設処理部とを有することを特徴とする端末。
Relay means for acquiring destination information for relaying data between terminals and performing data transfer to the destination terminal by rewriting the data header without performing data TCP processing with the terminal during data transfer A terminal that performs data communication via a relay device having
A TCP processing unit for establishing a TCP connection for data communication with the relay device;
A terminal having an SSL session establishment processing unit for exchanging messages for establishing an SSL session for data communication.
データ転送開始の際、データにデータ転送開始を示す識別子を記載する手段をさらに有することを特徴とする請求項19に記載の端末。   The terminal according to claim 19, further comprising means for describing an identifier indicating the start of data transfer in the data at the start of data transfer. データ通信のTCPコネクションを開設するTCP処理部と、データ通信のSSLセッション開設のためのメッセージ交換を行うSSLセッション開設処理部とを有する端末間のデータ通信を中継する中継装置の中継処理方法であって、
前記端末間でデータを中継するための宛先情報を取得し、データ転送時に前記端末との間でデータのTCP処理を行わずに、データのヘッダを書き換えて宛先端末へのデータ転送を行う中継ステップを有することを特徴とする中継処理方法。
A relay processing method for a relay device that relays data communication between terminals having a TCP processing unit for establishing a TCP connection for data communication and an SSL session establishment processing unit for exchanging messages for establishing an SSL session for data communication. And
A relay step of acquiring destination information for relaying data between the terminals and performing data transfer to the destination terminal by rewriting the data header without performing data TCP processing with the terminal during data transfer A relay processing method comprising:
前記中継ステップは、中継する宛先情報を取得し、データ転送時にデータのTCP処理を行って宛先端末へデータ転送を開始し、データ転送の途中からデータのTCP処理を行わずにデータのヘッダを書き換えて宛先端末へのデータ転送を行うことを特徴とする請求項21に記載の中継処理方法。   The relay step acquires destination information to be relayed, performs data TCP processing at the time of data transfer, starts data transfer to the destination terminal, and rewrites the data header without performing data TCP processing in the middle of the data transfer The relay processing method according to claim 21, wherein data transfer to a destination terminal is performed. 前記端末は、データ転送開始の際、データにデータ転送開始を示す識別子を記載する手段を有し、
前記中継ステップは、前記識別子が記載されたデータを受信した際、データ転送開始と判断し、データのヘッダを書き換えて宛先端末へデータ転送を行うことを特徴とする請求項21に記載の中継処理方法。
The terminal has means for describing an identifier indicating the start of data transfer in data at the start of data transfer,
The relay process according to claim 21, wherein the relay step determines that data transfer is started when data having the identifier described therein is received, rewrites the header of the data, and performs data transfer to the destination terminal. Method.
データ通信のTCPコネクションを開設するTCP処理部と、データ通信のSSLセッション開設のためのメッセージ交換を行うSSLセッション開設処理部とを有する端末間のデータ通信を中継する中継装置の中継処理プログラムであって、
コンピュータに、前記端末間でデータを中継するための宛先情報を取得し、データ転送時に前記端末との間でデータのTCP処理を行わずに、データのヘッダを書き換えて宛先端末へのデータ転送を行う中継処理を実行させることを特徴とするプログラム。
A relay processing program for a relay device that relays data communication between terminals having a TCP processing unit for establishing a TCP connection for data communication and an SSL session establishment processing unit for exchanging messages for establishing an SSL session for data communication. And
Destination information for relaying data between the terminals is acquired by the computer, and data transfer to the destination terminal is performed by rewriting the data header without performing data TCP processing with the terminal during data transfer. A program that executes a relay process to be performed.
前記中継処理は、中継する宛先情報を取得し、データ転送時にデータのTCP処理を行って宛先端末へデータ転送を開始し、データ転送の途中からデータのTCP処理を行わずにデータのヘッダを書き換えて宛先端末へのデータ転送を行うことを特徴とする請求項24に記載のプログラム。   The relay processing acquires destination information to be relayed, performs data TCP processing at the time of data transfer, starts data transfer to the destination terminal, and rewrites the data header without performing data TCP processing in the middle of the data transfer 25. The program according to claim 24, wherein data is transferred to a destination terminal. 前記端末は、データ転送開始の際、データにデータ転送開始を示す識別子を記載する手段を有し、
前記中継処理は、前記識別子が記載されたデータを受信した際、データ転送開始と判断し、データのヘッダを書き換えて宛先端末へデータ転送を行うことを特徴とする請求項24に記載のプログラム。
The terminal has means for describing an identifier indicating the start of data transfer in data at the start of data transfer,
25. The program according to claim 24, wherein the relay processing determines that data transfer is started when data having the identifier described therein is received, rewrites the header of the data, and performs data transfer to the destination terminal.
JP2007221163A 2007-08-28 2007-08-28 Communicating system, relay device, terminal, relay processing method, and its program Withdrawn JP2009055418A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007221163A JP2009055418A (en) 2007-08-28 2007-08-28 Communicating system, relay device, terminal, relay processing method, and its program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007221163A JP2009055418A (en) 2007-08-28 2007-08-28 Communicating system, relay device, terminal, relay processing method, and its program

Publications (1)

Publication Number Publication Date
JP2009055418A true JP2009055418A (en) 2009-03-12

Family

ID=40506064

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007221163A Withdrawn JP2009055418A (en) 2007-08-28 2007-08-28 Communicating system, relay device, terminal, relay processing method, and its program

Country Status (1)

Country Link
JP (1) JP2009055418A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011041061A (en) * 2009-08-12 2011-02-24 Konica Minolta Business Technologies Inc Communication processor, communication method and communication processing program
JP2011205244A (en) * 2010-03-24 2011-10-13 Fujitsu Ltd Information processing device, route control device, data relay method, and program
JP4802295B1 (en) * 2010-08-31 2011-10-26 株式会社スプリングソフト Network system and virtual private connection forming method
KR101258845B1 (en) 2011-10-10 2013-05-06 고려대학교 산학협력단 Information save method and system using TCP communication
JP2020537454A (en) * 2017-11-24 2020-12-17 華為技術有限公司Huawei Technologies Co.,Ltd. Data distribution method and distribution server

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011041061A (en) * 2009-08-12 2011-02-24 Konica Minolta Business Technologies Inc Communication processor, communication method and communication processing program
JP2011205244A (en) * 2010-03-24 2011-10-13 Fujitsu Ltd Information processing device, route control device, data relay method, and program
JP4802295B1 (en) * 2010-08-31 2011-10-26 株式会社スプリングソフト Network system and virtual private connection forming method
KR101258845B1 (en) 2011-10-10 2013-05-06 고려대학교 산학협력단 Information save method and system using TCP communication
JP2020537454A (en) * 2017-11-24 2020-12-17 華為技術有限公司Huawei Technologies Co.,Ltd. Data distribution method and distribution server
US11134001B2 (en) 2017-11-24 2021-09-28 Huawei Technologies Co., Ltd. Data distribution method and distribution server
JP6994110B2 (en) 2017-11-24 2022-01-14 華為技術有限公司 Data distribution method and distribution server

Similar Documents

Publication Publication Date Title
Maltz et al. TCP Splice for application layer proxy performance
US7653075B2 (en) Processing communication flows in asymmetrically routed networks
US9319439B2 (en) Secured wireless session initiate framework
US10897509B2 (en) Dynamic detection of inactive virtual private network clients
US8250643B2 (en) Communication device, communication system, communication method, and program
US20080175383A1 (en) Method and communication unit for communicating between communication apparatus
MX2008012786A (en) Session persistence on a wireless network.
JP6444988B2 (en) Communication system using HTTP
CN108429682A (en) Method and system for optimizing network transmission link
EP3994862B1 (en) Packet acknowledgement techniques for improved network traffic management
JP2017118545A5 (en)
CA2668611A1 (en) Selective session interception method
JP2009055418A (en) Communicating system, relay device, terminal, relay processing method, and its program
KR20050026881A (en) Method and computer program product for multiple offload of network state objects with support for failover events
JP2006185194A (en) Server apparatus, communication control method, and program
US20070288645A1 (en) Method and System for Persistent and Reliable Data Transmission
Seggelmann SCTP: strategies to secure end-to-end communication
JP2011160286A (en) Call control server, relay server, vpn device, vpn communication system, vpn networking method, program, and storage medium
KR101730403B1 (en) Method of managing network route and network entity enabling the method
Zave et al. A verified session protocol for dynamic service chaining
JP2005011267A (en) Real-time data communication system, real-time data communication apparatus, and real-time data communication method
JP6413543B2 (en) Load balancing device, server, load balancing system, load balancing program
JP2004064490A (en) Data communication system
Völker The discovery of the packet size limit for an IP network path with the transport protocol QUIC
Raiciu et al. Multipath TCP design decisions

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20101102