JP4251044B2 - Session relay device and session relay method - Google Patents

Session relay device and session relay method Download PDF

Info

Publication number
JP4251044B2
JP4251044B2 JP2003313509A JP2003313509A JP4251044B2 JP 4251044 B2 JP4251044 B2 JP 4251044B2 JP 2003313509 A JP2003313509 A JP 2003313509A JP 2003313509 A JP2003313509 A JP 2003313509A JP 4251044 B2 JP4251044 B2 JP 4251044B2
Authority
JP
Japan
Prior art keywords
processing
packet
session relay
unit
transmission
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003313509A
Other languages
Japanese (ja)
Other versions
JP2005086292A (en
Inventor
洋平 長谷川
英之 下西
康広 山崎
勉 村瀬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2003313509A priority Critical patent/JP4251044B2/en
Publication of JP2005086292A publication Critical patent/JP2005086292A/en
Application granted granted Critical
Publication of JP4251044B2 publication Critical patent/JP4251044B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

本発明は、セッション、特にTCP (Transmission Control Protocol)セッション間でデータの中継を行うセッション中継装置に関する。   The present invention relates to a session relay apparatus that relays data between sessions, particularly TCP (Transmission Control Protocol) sessions.

一般的に、通信アプリケーションは、送受信端末間で通信セッションを確立し、確立したセッション上で通信を行う。しかしながら、送受信端末間の伝播遅延時間が非常に長い場合、もしくは有線と無線のように特性の異なるネットワークを横断して通信する場合、送受信端末間の通信のスループットが低下する。   Generally, a communication application establishes a communication session between transmission / reception terminals and performs communication on the established session. However, when the propagation delay time between the transmitting and receiving terminals is very long, or when communication is performed across networks having different characteristics such as wired and wireless, the throughput of communication between the transmitting and receiving terminals decreases.

この問題を解決するため、送受信端末間を一つのセッションで通信を行うのではなく、送受信端末間に中継装置を設置し、送信端末から中継装置へのセッションと中継装置から受信端末へのセッションの2つのセッション間でデータの中継を行うことにより通信を行う方式が存在する。このような中継方式の一例としては、Indirect TCP 「文献Ajay Bakre and B.R.Badrinath、“I-TCP; Indirect TCP for Mobile Host”、 Department of Computer Science Rutgers University、 DSC-TR-314、 1994;(http://www.it.iitb.ac.in/it644/papers/i-tcp.pdfより入手可能)(非特許文献1)や、特開平11−252179号公報(特許文献1)、特開2002−281104号公報(特許文献2)等に示されている方式がある。   In order to solve this problem, instead of performing communication between the transmitting and receiving terminals in one session, a relay device is installed between the transmitting and receiving terminals, and a session from the transmitting terminal to the relay device and a session from the relay device to the receiving terminal are There is a method for performing communication by relaying data between two sessions. An example of such a relay method is Indirect TCP “Literature Ajay Bakre and BR Badrinath,“ I-TCP; Indirect TCP for Mobile Host ”, Department of Computer Science Rutgers University, DSC-TR-314, 1994; (http: (available from //www.it.iitb.ac.in/it644/papers/i-tcp.pdf) (Non-patent document 1), JP-A-11-252179 (patent document 1), JP-A-2002 There is a system disclosed in Japanese Patent No. 281104 (Patent Document 2).

セッションの中継を行う場合最も問題となることは、一般的にTCPセッションの処理は処理負荷が高く、高速な中継処理が難しいということである。   The most serious problem when relaying sessions is that TCP session processing generally has a high processing load, and high-speed relay processing is difficult.

TCPなど第4層以上のプロトコルのセッションを中継するためには、論理的にはTCP以上のプロトコルの受信処理を実施した後、直ちに送信処理が実施されることになるが、実際の動作は以下の通りである。   In order to relay a session of a protocol higher than the fourth layer, such as TCP, logically, a transmission process is performed immediately after performing a reception process of a protocol higher than TCP, but the actual operation is as follows. It is as follows.

ネットワークから入力されたデータがオペレーティングシステムが特権的に管理するメモリに一度格納された後、TCP/IPの受信処理をし、一旦ユーザアプリケーションすなわちセッション中継部が管理するメモリへコピーすることによってデータが渡される。その後、このデータを送信するために再びセッション中継部が管理するメモリからオペレーティングシステムが特権的に管理するメモリにデータがコピーされ、TCP/IPの送信処理をした後、オペレーティングシステムが特権的に管理するメモリ空間からデータが取り出されてネットワークに出力される。   After data input from the network is once stored in the memory managed by the operating system privilegedly, the TCP / IP reception process is performed, and the data is temporarily copied to the memory managed by the user application, that is, the session relay unit. Passed. Thereafter, in order to transmit this data, the data is copied again from the memory managed by the session relay unit to the memory managed privileged by the operating system, and after the TCP / IP transmission processing, the operating system manages privilegedly. Data is extracted from the memory space to be output to the network.

つまり、TCP/IP受信処理、セッション中継部の処理、TCP/IP送信処理の間で合計2回のデータコピーが行われ、このコピー処理が大きな負荷となる。   That is, data copy is performed twice in total between the TCP / IP reception process, the session relay unit process, and the TCP / IP transmission process, and this copy process is a heavy load.

図21を参照して上述した動作を詳しく説明する。   The operation described above will be described in detail with reference to FIG.

図21は、従来のセッション中継装置の構成例を示すブロック図であり、このセッション中継装置は、ネットワークからパケットデータを受信し、受信パケット記憶部13−2へ格納するネットワーク入力部13−1と、ネットワークから受信したパケットデータが格納される受信パケット記憶部13−2と、受信パケット記憶部13−2に格納されたパケットデータに対しIPとTCPの受信処理を実施し記憶部13−4へパケットデータをコピーする受信プロトコル処理部13−3と、受信プロトコル処理部13−3がパケットデータをコピーしパケットを格納し、送信プロトコル処理部13−6がパケットデータを取り出し、セッション中継部が参照・操作可能な記憶部13−4と、記憶部13−4に格納されたデータを送信プロトコル処理部に送信することを指示するセッション中継部13−5と、セッション中継部13−5の指示に基づき記憶部13−4に格納されたパケットデータを送信データ記憶部13−7にコピーし、TCPとIPの送信処理を実施し、ネットワーク出力部13−8にパケットデータの出力を指示する送信プロトコル処理部13−6と、送信プロトコル処理部13−6により記憶部13−4からコピーされたパケットデータが格納される送信パケット記憶部13−7と、送信プロトコル出力部13−6の指示に従いネットワークへ送信パケット記憶部13−7に格納されたパケットデータを出力するネットワーク出力部13−8を備えて構成されている。   FIG. 21 is a block diagram showing a configuration example of a conventional session relay apparatus. This session relay apparatus receives packet data from a network and stores it in a received packet storage section 13-2. The packet data received from the network is stored in the received packet storage unit 13-2, and the packet data stored in the received packet storage unit 13-2 is subjected to IP and TCP reception processing to the storage unit 13-4. The reception protocol processing unit 13-3 for copying the packet data and the reception protocol processing unit 13-3 copy the packet data and store the packet, the transmission protocol processing unit 13-6 extracts the packet data, and the session relay unit references The operable storage unit 13-4 and the data stored in the storage unit 13-4 are transmitted A session relay unit 13-5 instructing transmission to the processing unit, and the packet data stored in the storage unit 13-4 based on an instruction from the session relay unit 13-5 are copied to the transmission data storage unit 13-7; TCP and IP transmission processing is performed, and the transmission protocol processing unit 13-6 instructs the network output unit 13-8 to output packet data. The transmission protocol processing unit 13-6 copies the data from the storage unit 13-4. A transmission packet storage unit 13-7 for storing packet data, and a network output unit 13-8 for outputting the packet data stored in the transmission packet storage unit 13-7 to the network in accordance with instructions from the transmission protocol output unit 13-6 It is prepared for.

ネットワークからパケットデータが到着すると、ネットワーク入力部13−1は受信パケット記憶部13−2に受信したパケットデータを記憶し、受信プロトコル処理部13−3にパケットの到着を通知する。受信プロトコル処理部13−3は、受信パケット記憶部13−2に格納されたパケットを参照しチェックサム値の計算などを含むIPとTCPの受信処理を実施する。   When packet data arrives from the network, the network input unit 13-1 stores the received packet data in the received packet storage unit 13-2 and notifies the reception protocol processing unit 13-3 of the arrival of the packet. The reception protocol processing unit 13-3 refers to the packet stored in the reception packet storage unit 13-2 and performs IP and TCP reception processing including calculation of a checksum value.

IPとTCPの受信処理が終了すると、受信プロトコル処理部13−3は、セッション中継部13−5が参照・操作可能なメモリ空間である記憶部13−4にパケットデータをコピーし、コピーが完了すると受信パケット記憶部13−2からパケットデータを消去する。受信パケット記憶部13−2はオペレーティングシステムが特権的に管理するメモリ空間であるため、セッション中継部13−5は、受信パケット記憶部13−2を参照できないため前記パケットデータのコピーが必要となる。   When the IP and TCP reception processing is completed, the reception protocol processing unit 13-3 copies the packet data to the storage unit 13-4, which is a memory space that can be referenced and operated by the session relay unit 13-5, and the copying is completed. Then, the packet data is erased from the received packet storage unit 13-2. Since the received packet storage unit 13-2 is a memory space that is managed by the operating system in a privileged manner, the session relay unit 13-5 cannot refer to the received packet storage unit 13-2 and thus needs to copy the packet data. .

セッション中継処理部13−5は、記憶部13−4に格納されたパケットデータをTCP/IPを利用して送出するよう送信プロトコル処理部13−6に指示する。指示を受けた送信プロトコル処理部13−6は、記憶部13−4からパケットデータを送信パケット記憶部13−7にコピーし、チェックサム計算などを含むTCPとIPの処理を実施し、ネットワーク出力部13−8にパケットデータを送出するよう指示する。ネットワーク出力部13−8は、送信パケット記憶部13−7からパケットデータを読み出し、ネットワークへと出力する。   The session relay processing unit 13-5 instructs the transmission protocol processing unit 13-6 to transmit the packet data stored in the storage unit 13-4 using TCP / IP. Upon receiving the instruction, the transmission protocol processing unit 13-6 copies the packet data from the storage unit 13-4 to the transmission packet storage unit 13-7, performs TCP and IP processing including checksum calculation, and outputs the data to the network. The unit 13-8 is instructed to send packet data. The network output unit 13-8 reads the packet data from the transmission packet storage unit 13-7 and outputs it to the network.

上記のようにIPとTCPの受信処理、セッション中継部13−5の処理、TCPとIPの送信処理の間でそれぞれ、受信パケット記憶部13−2から記憶部13−4、記憶部13−4から送信パケット記憶部13−7へのパケットデータのコピーが行われ、この2回のコピー処理が大きな負荷となる。   As described above, the received packet storage unit 13-2 to the storage unit 13-4, and the storage unit 13-4, between the IP and TCP reception processing, the session relay unit 13-5 processing, and the TCP and IP transmission processing, respectively. The packet data is copied from the packet to the transmission packet storage unit 13-7, and this two copy processing is a heavy load.

TCPセッション中継の処理を高速化する従来の方式としては、以下のような方式が存在する。   The following methods exist as conventional methods for increasing the speed of TCP session relay processing.

第1の方式は、ゼロコピーTCP方式(http://www.freebsd.org/cgi/man.cgi?query=zero_copy&sektion=9&manpath=FreeBSD+5.0−RELEASEから入手可能:非特許文献2)を用いることにより、データコピー回数を減らし、データコピーの処理負荷を下げる方式である。   The first method uses the zero copy TCP method (http://www.freebsd.org/cgi/man.cgi?query=zero_copy & section = 9 & manpath = FreeBSD + 5.0-RELEASE: available from Non-Patent Document 2) Thus, the number of times of data copy is reduced and the processing load of data copy is reduced.

本方式では、ページマッピングによるデータの仮想的な移動を利用し、ネットワークから受け取ったパケットデータを直接ユーザアプリケーションすなわちセッション中継部が管理するメモリ空間へと格納する。また、同様にページマッピングによる仮想的なデータの移動を利用し、セッション中継部が管理するメモリのデータを直接ネットワークへと送出する。ただし、このとき利用する前記メモリ空間は、セッション中継部とオペレーティングシステムが交渉した特殊なメモリ空間であるため、セッション中継部がネットワークから受信したデータをそのまま送出することはできず、送信する際には、セッション中継部が管理するメモリ空間内で一度データをコピーし、オペレーティングシステムと交渉したメモリ空間へと移動させる。   In this method, virtual movement of data by page mapping is used, and packet data received from the network is directly stored in a memory space managed by the user application, that is, the session relay unit. Similarly, virtual data movement by page mapping is used to directly send memory data managed by the session relay unit to the network. However, since the memory space used at this time is a special memory space negotiated between the session relay unit and the operating system, the data received by the session relay unit from the network cannot be sent as it is. Copies data once in the memory space managed by the session relay unit and moves it to the memory space negotiated with the operating system.

図22を参照して上記ゼロコピーTCP方式による動作を説明する。   The operation by the zero copy TCP method will be described with reference to FIG.

図22は、従来のセッション中継装置の他の構成例を示すブロック図であり、このセッション中継装置は、ネットワークからパケットを受信し、受信パケット記憶部14−2へ格納するネットワーク入力部14−1と、ネットワーク入力部から渡されたパケットヘッダを基にIPとTCPの受信処理を実施する受信プロトコル処理部14−2と、セッション中継部と受信プロトコル処理部が交渉したメモリ空間でありネットワークから受信したパケットデータが格納される受信データ記憶部14−3と、受信プロトコル処理部と交渉したメモリ空間である受信データ記憶部14−3に格納されたパケットデータを送信プロトコル処理部と交渉したメモリ空間である送信データ記憶部14−5にコピーし、送信プロトコル処理部にデータの送信を指示するセッション中継部14−4と、セッション中継部と交渉したメモリ空間でありネットワークに送信するパケットが格納される送信データ記憶部14−5と、セッション中継部の指示に基づきTCPとIPの送信処理を実施し、送信データ記憶部にあるパケットデータにパケットヘッダを付加し、ネットワーク出力部にパケットの送信を指示する送信プロトコル処理部14−6と、送信プロトコル処理部14−6の指示を受け送信データ記憶部14−4からパケットを取り出し、ネットワークへと送出するネットワーク出力部14−7とを備えて構成される。   FIG. 22 is a block diagram showing another configuration example of the conventional session relay device. This session relay device receives a packet from the network and stores it in the received packet storage unit 14-2. And a reception protocol processing unit 14-2 that performs IP and TCP reception processing based on the packet header passed from the network input unit, and a memory space negotiated by the session relay unit and the reception protocol processing unit. Received data storage unit 14-3 in which received packet data is stored, and memory space in which packet data stored in received data storage unit 14-3, which is a memory space negotiated with the reception protocol processing unit, is negotiated with the transmission protocol processing unit The data is copied to the transmission data storage unit 14-5 and the data is transmitted to the transmission protocol processing unit Session relay unit 14-4 to instruct, transmission data storage unit 14-5 that is a memory space negotiated with the session relay unit and stores packets to be transmitted to the network, and TCP and IP transmission based on instructions from the session relay unit Process, adds a packet header to the packet data in the transmission data storage unit, and receives instructions from the transmission protocol processing unit 14-6 and the transmission protocol processing unit 14-6 to instruct the network output unit to transmit the packet. A network output unit 14-7 that extracts a packet from the transmission data storage unit 14-4 and transmits the packet to the network is configured.

ネットワークからパケットデータが到着すると、ネットワーク入力部14−1はパケットのヘッダ部分を受信プロトコル処理部14−2に渡す。受信プロトコル処理部14−2は、受信したパケットデータのパケットヘッダ部分を参照しIPとTCPの受信処理を実施し、IPとTCPの受信処理が終了すると、受信プロトコル処理部14−3は、セッション中継部14−4と交渉し決定したメモリ空間である受信データ記憶部14−3にパケットデータを格納するようネットワーク入力部14−1に指示する。   When packet data arrives from the network, the network input unit 14-1 passes the header portion of the packet to the reception protocol processing unit 14-2. The reception protocol processing unit 14-2 refers to the packet header portion of the received packet data, performs IP and TCP reception processing, and when the IP and TCP reception processing ends, the reception protocol processing unit 14-3 The network input unit 14-1 is instructed to store the packet data in the received data storage unit 14-3, which is a memory space determined through negotiation with the relay unit 14-4.

ネットワーク入力部14−1は、受信プロトコル処理部14−2の指示に基づきパケットデータを受信データ記憶部14−3へ格納する。受信プロトコル処理部14−2は、ページマッピングにより受信データ記憶部14−3に格納されたパケットデータの管理権限をセッション中継部14−4に与える。   The network input unit 14-1 stores the packet data in the reception data storage unit 14-3 based on an instruction from the reception protocol processing unit 14-2. The reception protocol processing unit 14-2 gives the session relay unit 14-4 the authority to manage the packet data stored in the reception data storage unit 14-3 by page mapping.

セッション中継部14−4は、送信プロトコル処理部14−6と交渉し決定したメモリ空間である送信データ記憶部14−5にパケットデータをコピーし、送信プロトコル処理部14−6に送信データ記憶部14−5に格納されたパケットデータをTCP/IPを利用して送出するよう指示する。   The session relay unit 14-4 copies the packet data to the transmission data storage unit 14-5, which is a memory space negotiated and determined with the transmission protocol processing unit 14-6, and transmits the packet data to the transmission protocol processing unit 14-6. The packet data stored in 14-5 is instructed to be transmitted using TCP / IP.

送信プロトコル処理部14−5は、TCPとIPの送信処理を実施し、送信データ記憶部14−5に格納されたパケットデータにパケットヘッダを付加したのち、ネットワーク出力部に送信データ記憶部14−5に格納されたパケットを出力するよう指示する。ネットワーク出力部14−7は、送信データ記憶部14−5からパケットを読み出し、ネットワークへと出力する。   The transmission protocol processing unit 14-5 performs TCP and IP transmission processing, adds a packet header to the packet data stored in the transmission data storage unit 14-5, and then transmits the packet data to the network output unit. 5 is instructed to output the packet stored. The network output unit 14-7 reads the packet from the transmission data storage unit 14-5 and outputs it to the network.

このように、データを受信する際には、ネットワーク入力部14−1に到着したパケットデータを、受信プロトコル処理部14−2とセッション中継部14−4が交渉したメモリ空間に直接格納し、セッション中継部14−4は、セッション中継部14−4と送信プロトコル処理部14−6とが交渉したメモリ空間にデータをコピーし、データを送信する祭には、セッション中継部14−4と送信プロトコル処理部14−6が交渉したメモリ空間から、ネットワーク出力部14−7が直接パケットデータを読み出す。これにより、図22に示す方式では、図21の方式では2回必要であったデータコピーを1回に減らすことができる。   As described above, when receiving data, the packet data arriving at the network input unit 14-1 is directly stored in the memory space negotiated by the reception protocol processing unit 14-2 and the session relay unit 14-4, and the session data is received. The relay unit 14-4 copies the data to the memory space negotiated by the session relay unit 14-4 and the transmission protocol processing unit 14-6, and transmits the data to the session relay unit 14-4 and the transmission protocol. The network output unit 14-7 directly reads out the packet data from the memory space negotiated by the processing unit 14-6. As a result, in the method shown in FIG. 22, the data copy required twice in the method shown in FIG. 21 can be reduced to one time.

第2の方式は、セッション中継装置にて、TCPの処理を簡易化し、もしくは省略して利用し、セッション中継を実現する方法である。例えば、特開2003−179626号公報(特許文献3)に開示される方法では、セッション中継装置は片方の端末とのセッションではTCP/IPにより通信し、この片方の端末からの再送パケットを監視し、再送パケットが到着した回数が所定数に達するまでは、もう片方のセッションは再送パケットをそのまま送信する。また、例えば、特開2000−122939号公報(特許文献4)に開示される方式では、セッション中継装置で、TCP/IPのヘッダの変換のみを行い、TCPの処理を受信、送信の両方において省略する。
特開平11−252179号公報 特開2002−281104号公報 特開2003−179626号公報 特開2000−122939号公報 Indirect TCP 「文献Ajay Bakre and B.R.Badrinath、“I-TCP; Indirect TCP for Mobile Host”、 Department of Computer Science Rutgers University、 DSC-TR-314、 1994;(http://www.it.iitb.ac.in/it644/papers/i-tcp.pdfより入手可能) ゼロコピーTCP方式(http://www.freebsd.org/cgi/man.cgi?query=zero_copy&sektion=9&manpath=FreeBSD+5.0−RELEASEから入手可能) 文献TCP/IP Illustrated、 Volume 1: The Protocols、 Addison−Wesley、 1994、 ISBN 0−201−63346−989
The second method is a method for realizing session relay by simplifying or omitting TCP processing in a session relay device. For example, in the method disclosed in Japanese Patent Application Laid-Open No. 2003-179626 (Patent Document 3), the session relay device communicates by TCP / IP in a session with one terminal, and monitors a retransmission packet from this one terminal. Until the number of times the retransmission packet arrives reaches a predetermined number, the other session transmits the retransmission packet as it is. Further, for example, in the method disclosed in Japanese Patent Application Laid-Open No. 2000-122939 (Patent Document 4), the session relay apparatus performs only TCP / IP header conversion and omits TCP processing in both reception and transmission. To do.
Japanese Patent Laid-Open No. 11-252179 JP 2002-281104 A JP 2003-179626 A JP 2000-122939 A Indirect TCP “Literature Ajay Bakre and BRBadrinath,“ I-TCP; Indirect TCP for Mobile Host ”, Department of Computer Science Rutgers University, DSC-TR-314, 1994; (http://www.it.iitb.ac.in (Available from /it644/papers/i-tcp.pdf) Zero copy TCP method (http://www.freebsd.org/cgi/man.cgi?query=zero_copy & section = 9 & manpath = FreeBSD + 5.0-RELEASE) Literature TCP / IP Illustrated, Volume 1: The Protocols, Addison-Wesley, 1994, ISBN 0-201-63346-989

第1の問題点は、前述した第1方式では、セッション中継部が管理するメモリ空間内でのデータコピー処理が数回必要となり、このコピー処理による負荷が大きく高速な中継処理を実現するうえでボトルネックとなる点である。   The first problem is that in the above-described first method, data copy processing in the memory space managed by the session relay unit is required several times. In order to realize high-speed relay processing with a large load due to this copy processing. This is a bottleneck.

また、データコピー回数を減らし、データコピーの処理負荷を下げるゼロコピー方式では、セッション中継部とオペレーティングシステムが交渉した特殊なメモリ空間を利用し、受信のためのメモリ空間と、送信のためのメモリ空間がそれぞれ必要となるため、セッション中継部がネットワークから受信したデータをそのまま送出することはできず、送信する際には、セッション中継部が管理するメモリ空間内で一旦データをコピーし、オペレーティングシステムと交渉したメモリ空間へと移動させる。従って、この方式でも、コピー処理による負荷が大きくなる。   In the zero copy method, which reduces the number of data copies and reduces the processing load of data copy, a special memory space negotiated by the session relay unit and the operating system is used, and a memory space for reception and a memory for transmission are used. Since each space is required, the data received from the network by the session relay unit cannot be transmitted as it is. When transmitting, the data is temporarily copied in the memory space managed by the session relay unit, and the operating system Move to the memory space you negotiated with. Therefore, even with this method, the load due to the copy processing increases.

第2の問題点は、第1の方式では、パケット長に制限がある点である。ページマッピングによる仮想的なデータの移動を利用するためには、CPUの処理するページサイズとパケット長が一致している必要がある。一般的に、セッション中継装置は送受信端末とは独立して存在し、送受信端末が用いるパケット長をあらかじめ想定しておくことはできないため、帯域制御装置のページサイズと異なるパケット長を用いる送受信端末に対しては、ゼロコピーによる処理負荷低減が期待できない。   The second problem is that the packet length is limited in the first method. In order to use virtual data movement by page mapping, the page size processed by the CPU needs to match the packet length. In general, since the session relay device exists independently of the transmission / reception terminal and the packet length used by the transmission / reception terminal cannot be assumed in advance, the session relay device is used as a transmission / reception terminal using a packet length different from the page size of the bandwidth control device. On the other hand, the processing load cannot be reduced by zero copy.

第3の問題点は、第1の方式では、既存のTCP/IPプロトコルの受信処理と送信処理をそのまま実施するため、セッション中継処理において1回で充分な処理を2回実施してしまい、この処理コストが高くなる点である。特に、TCPではパケットのデータ全体に対するチェックサム計算を実施するため、チェックサム計算による処理負荷が大きくなる。   The third problem is that in the first method, since the reception processing and transmission processing of the existing TCP / IP protocol are performed as they are, the session relay processing performs sufficient processing twice in one time. The processing cost is high. In particular, in TCP, the checksum calculation is performed on the entire packet data, so that the processing load due to the checksum calculation increases.

第4の問題点は、第1の方式では、全てのパケットに対してIPレイヤの処理を実施するため、IPレイヤの処理負荷が高い点である。   The fourth problem is that in the first method, the processing of the IP layer is performed on all packets, and therefore the processing load of the IP layer is high.

第5の問題点は、第2の方式では、セッション中継装置で動作が簡略化されたセッションが利用するネットワークでのパケット廃棄率が高い場合には、高いスループットを発揮することができないことである。   The fifth problem is that the second method cannot exhibit high throughput when the packet discard rate is high in a network used by a session whose operation is simplified by the session relay apparatus. .

本発明は以上の問題点を鑑み発案されたものであり、高速にセッション間の中継処理を行うセッション中継装置を実現することを目的とする。   The present invention has been devised in view of the above problems, and an object thereof is to realize a session relay apparatus that performs relay processing between sessions at high speed.

第1の問題点を解決するため、本発明によるセッション中継装置では、セッション中継部へのデータコピーを行わず、そのため送信時にOSが指定したアドレスを利用する必要がない。すなわち、受信パケットは、受信バッファに格納された後、TCPレイヤやその他上位レイヤ、アプリケーションの受信バッファに格納されることなく、また、TCPレイヤやその他上位レイヤ、アプリケーションの送信バッファに格納に格納されることも無く、処理が実施される。そのため、セッション中継部内のデータの移動がない。   In order to solve the first problem, the session relay apparatus according to the present invention does not copy data to the session relay unit, and therefore does not need to use an address designated by the OS at the time of transmission. In other words, the received packet is stored in the reception buffer, and is not stored in the TCP layer, other upper layers, and the application reception buffer, but is stored in the TCP layer, other upper layers, and the application transmission buffer. The process is performed without any problem. Therefore, there is no movement of data in the session relay unit.

第2の問題点を解決するため、本発明によるセッション中継装置では、セッション中継部へのデータコピーは行わず、そのためページマッピングによるデータの移動の必要がない。すなわち、受信パケットは、受信バッファに格納された後、TCPレイヤやその他上位レイヤ、アプリケーションの受信バッファに格納されることなく、また、TCPレイヤやその他上位レイヤ、アプリケーションの送信バッファに格納に格納されることも無く、処理が実施される。そのため、セッション中継装置内のデータの移動は発生せず、ページマッピングによるデータの移動の必要がない。   In order to solve the second problem, the session relay apparatus according to the present invention does not copy the data to the session relay unit, and therefore there is no need to move data by page mapping. In other words, the received packet is stored in the reception buffer, and is not stored in the TCP layer, other upper layers, and the application reception buffer, but is stored in the TCP layer, other upper layers, and the application transmission buffer. The process is performed without any problem. Therefore, no data movement in the session relay device occurs, and there is no need for data movement by page mapping.

第3の問題点を解決するため、本発明によるセッション中継装置では、受信時にパケット全体のチェックサム値を計算し、送信時には、パケットのうち、セッション中継処理において更新された部分を対象としてチェックサム値を計算することにより、パケット全体に対するチェックサムを再計算する必要がない。   In order to solve the third problem, the session relay apparatus according to the present invention calculates the checksum value of the entire packet at the time of reception, and at the time of transmission, the checksum for the part updated in the session relay process as a target. By calculating the value, there is no need to recalculate the checksum for the entire packet.

第4の問題点を解決するため、本発明によるセッション中継装置では、セッション中継処理において、IP処理のうち全てのパケットに対して必要な処理だけを実施し、IPレイヤを利用せずにパケットを送出することで、IPレイヤの全ての送信処理を全てのパケットに対して実施する必要がない。   In order to solve the fourth problem, in the session relay device according to the present invention, in the session relay processing, only necessary processing is performed for all packets in the IP processing, and packets are transmitted without using the IP layer. By sending out, it is not necessary to carry out all transmission processes of the IP layer for all packets.

第5の問題点を解決するだめ、本発明によるセッション中継装置では、セッション中継処理において、完全なTCPの動作を実現することで、ネットワークのパケット廃棄率が高い場合でも、TCPのパケット再送の動作が実現され、スループットの低下が少ない。   In order to solve the fifth problem, the session relay apparatus according to the present invention realizes a complete TCP operation in the session relay process, so that even if the packet discard rate of the network is high, the TCP packet retransmission operation Is realized and there is little decrease in throughput.

本発明の第1の効果は、複数のレイヤの受信バッファ及び送信バッファをIPレイヤの受信バッファに集約することにより、バッファ間でのデータ移動をなくし、セッション中継処理の高速化を実現できることである。   The first effect of the present invention is that data transfer between buffers can be eliminated and session relay processing can be speeded up by aggregating a plurality of layers of reception buffers and transmission buffers into an IP layer reception buffer. .

本発明の第2の効果は、受信処理と送信処理におけるチェックサム値の計算回数を必要最低限に少なくすることによって、チェックサム値の計算処理コストを低減し、セッション中継処理の高速化を実現できることである。   The second effect of the present invention is that the checksum value calculation cost is reduced by reducing the number of checksum value calculations in the reception process and the transmission process to the minimum necessary, and the session relay process is speeded up. It can be done.

本発明の第3の効果は、IP層の送信処理における処理が必要か判定する手段と、これを省略する手段を持つことにより、IP層の送信処理コストを低減し、セッション中継処理の高速化を実現できることである。   The third effect of the present invention is that it has means for determining whether processing in IP layer transmission processing is necessary and means for omitting this, thereby reducing IP layer transmission processing cost and speeding up session relay processing. Can be realized.

本発明の第4の効果は、IP層の送信処理において、全てのパケットに対して必要となる処理と、そうではない処理を分類し、多くの場合では前者のみを処理することによってIP層の送信処理コストを低減し、セッション中継処理の高速化を実現できることである。   The fourth effect of the present invention is that in the IP layer transmission processing, processing required for all packets is classified into processing that is not, and in many cases only the former is processed by classifying the former processing. The transmission processing cost can be reduced, and the session relay processing can be speeded up.

以下、本発明の実施例について図面を参照して詳細に説明する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

図1は、本発明によるセッション中継装置の第1の実施例の構成を示すブロック図である。   FIG. 1 is a block diagram showing a configuration of a first embodiment of a session relay apparatus according to the present invention.

本実施例によるセッション中継装置1−0は、ネットワークからパケットを受信し、TCP/IPの受信処理をし、記憶部1−2に格納するネットワーク入力処理部1−1、パケットが格納される記憶部1−2、記憶部1−2に格納されネットワーク入力処理部1−1での受信処理が完了したパケットに対してTCP/IPの送信処理を実施し、記憶部1−2から取り出しネットワークへパケットを出力するネットワーク出力処理部1−3を備える構成である。   The session relay apparatus 1-0 according to the present embodiment receives a packet from the network, performs a TCP / IP reception process, and stores the packet in the storage unit 1-2. The TCP / IP transmission process is performed on the packet stored in the unit 1-2 and the storage unit 1-2 and the reception process in the network input processing unit 1-1 is completed. The packet is taken out from the storage unit 1-2 to the network. The network output processing unit 1-3 outputs a packet.

この第1の実施例では、図2に示すように送信端末10から受信端末20へとデータを送る場合に、セッション中継装置1−0がデータの中継を実現する場合を想定し、この場合の処理を説明する。   In the first embodiment, when data is transmitted from the transmission terminal 10 to the reception terminal 20 as shown in FIG. 2, it is assumed that the session relay device 1-0 realizes data relay. Processing will be described.

図2は、本実施例でセッション中継装置1−0および送信端末10、受信端末20間のデータの流れを示したブロック図である。   FIG. 2 is a block diagram illustrating a data flow between the session relay device 1-0, the transmission terminal 10, and the reception terminal 20 in the present embodiment.

送信端末10から受信端末20へパケットデータを送る場合、送信端末10はセッション中継装置1−0に向けてデータを格納したパケットを送信する。セッション中継端末1−0は、送信端末10からのパケットを受信し、セッション中継装置1−0がデータ受信処理を行う。これにより、セッション中継装置1−0は送信端末10から受け取ったパケットを受信端末20へと送信する。   When transmitting packet data from the transmission terminal 10 to the reception terminal 20, the transmission terminal 10 transmits a packet storing data to the session relay apparatus 1-0. The session relay terminal 1-0 receives the packet from the transmission terminal 10, and the session relay apparatus 1-0 performs data reception processing. As a result, the session relay apparatus 1-0 transmits the packet received from the transmission terminal 10 to the reception terminal 20.

なお、TCPとIPの処理に関しては、RFC793、RFC791、RFC2460や、文献TCP/IP Illustrated、 Volume 1: The Protocols、 Addison−Wesley、 1994、 ISBN 0−201−63346−989(非特許文献3)に詳しく記載されている。これら文献の規定を実現した例としてLinuxやWindows(R)などのTCP/IPプロトコルスタックなど多くの例がある。このため本実施例ではTCP処理およびIP処理の内容そのものは本質的でないためその説明を省略する。   Regarding the processing of TCP and IP, RFC 793, RFC 791, RFC 2460 and documents TCP / IP Illustrated, Volume 1: The Protocols, Addison-Wesley, 1994, ISBN 0-201-63346-989 (Non-Patent Document 3). It is described in detail. There are many examples such as TCP / IP protocol stacks such as Linux and Windows (R) as examples of realizing the specifications of these documents. For this reason, in the present embodiment, the contents of the TCP process and the IP process are not essential, and the description thereof is omitted.

次いで、図3を参照して第1の実施例によるセッション中継装置1−0による処理について説明する。図3は第1の実施例によるセッション中継装置の処理の概要を示すフローチャートである。   Next, processing performed by the session relay apparatus 1-0 according to the first embodiment will be described with reference to FIG. FIG. 3 is a flowchart showing an outline of processing of the session relay apparatus according to the first embodiment.

このセッション中継装置1−0は、ネットワーク入力処理部1−1に送信端末10からのパケットが到着することによって処理を開始する。   The session relay device 1-0 starts processing when a packet from the transmission terminal 10 arrives at the network input processing unit 1-1.

ステップ3−1では、ネットワーク入力処理部1−1が記憶部1−2へと該パケットを格納する。   In step 3-1, the network input processing unit 1-1 stores the packet in the storage unit 1-2.

ステップ3−2では、ネットワーク入力処理部1−1が、IP受信処理を実施する。   In step 3-2, the network input processing unit 1-1 performs an IP reception process.

ステップ3−3で、IP受信処理が正常終了した場合、次のステップへ移行し、そうでない場合には処理を終了する。   In step 3-3, if the IP reception process is normally completed, the process proceeds to the next step. If not, the process is terminated.

ステップ3−4では、ネットワーク入力処理部1−1が、記憶部1−2に格納された該パケットを参照し、該パケットに対してTCPの規定に従った受信処理を実施する。   In step 3-4, the network input processing unit 1-1 refers to the packet stored in the storage unit 1-2, and performs a reception process according to the TCP rules on the packet.

ステップ3−5で、TCPの受信処理が正常に終了した場合は、ネットワーク出力処理部1−3に該パケットの格納位置を通知し、ステップ3−6に移行する。そうでない場合は処理を終了する。   In step 3-5, if the TCP reception process is normally completed, the network output processing unit 1-3 is notified of the storage location of the packet, and the process proceeds to step 3-6. Otherwise, the process is terminated.

ステップ3−6では、ネットワーク出力処理部1−3が、ネットワーク入力処理部1−1から通知され記憶部1−2に格納された該パケットを参照し、該パケットに対してTCPとIPの送信処理を実施する。ここで、TCPとIPの送信処理においてパケットヘッダを更新する必要がある場合は、記憶部1−2に格納された該パケットヘッダを上書きし更新する。   In step 3-6, the network output processing unit 1-3 refers to the packet notified from the network input processing unit 1-1 and stored in the storage unit 1-2, and transmits TCP and IP to the packet. Perform the process. Here, when it is necessary to update the packet header in the TCP and IP transmission processing, the packet header stored in the storage unit 1-2 is overwritten and updated.

ステップ3−7で、TCPとIPの送信処理の結果、該パケットの送信が可能と判定された場合は、ステップ3−5へ移行する。そうでない場合は、処理を終了する。   If it is determined in step 3-7 that the packet can be transmitted as a result of the transmission process of TCP and IP, the process proceeds to step 3-5. If not, the process ends.

ステップ3−8では、ネットワーク出力処理部1−3が記憶部1−2から該パケットを取り出し、受信端末20へと送信する。   In step 3-8, the network output processing unit 1-3 extracts the packet from the storage unit 1-2 and transmits the packet to the receiving terminal 20.

ステップ3−9で、ネットワーク出力処理部1−3は、受信端末20へと該パケットを送出し、受信端末20が該パケットを正常に受信したことを確認した場合には、該パケットを記憶部1−2から削除する。   In step 3-9, the network output processing unit 1-3 sends the packet to the receiving terminal 20, and if the receiving terminal 20 confirms that the packet has been normally received, the network output processing unit 1-3 stores the packet. Delete from 1-2.

以上が第1の実施例によるセッション中継装置1−0におけるセッション中継処理の内容である。   The above is the content of the session relay processing in the session relay device 1-0 according to the first embodiment.

従来の技術においては、ネットワーク入力部が受信処理を行った後に、ネットワーク出力部にデータを渡すときに該パケットを記憶部のなかでデータをコピーし、該コピーされたパケットに対してネットワーク出力部が送信処理を行うため、パケットのコピーのオーバヘッドが生じてしまっており、これが性能劣化を引き起こしていた。   In the conventional technique, after the network input unit performs reception processing, when passing data to the network output unit, the packet is copied in the storage unit, and the network output unit is copied to the copied packet. Since the transmission processing is performed, packet copy overhead occurs, which causes performance degradation.

一方、上記で述べたように、本実施例では、中継するデータパケットをネットワーク入力処理部1−1の受信時に記憶部1−2へ格納し、送信時これをネットワーク出力処理部1−3が記憶部1−2から取り出すまで一切のコピーを行うことなく、同一のパケットに対して受信および送信処理を行うため、コピー処理によるオーバヘッドを軽減することができる。   On the other hand, as described above, in this embodiment, the data packet to be relayed is stored in the storage unit 1-2 at the time of reception of the network input processing unit 1-1, and this is transmitted by the network output processing unit 1-3 at the time of transmission. Since reception and transmission processing are performed on the same packet without performing any copying until it is taken out from the storage unit 1-2, overhead due to the copy processing can be reduced.

図4は、本発明の第2の実施例によるセッション中継装置の構成を示すブロック図である。第2の本実施例によるセッション中継装置4−0は、ネットワークからパケットを受信し記憶部4−2に格納するネットワーク入力部4−1、到着したパケットが格納される記憶部4−2、記憶部4−2に格納されたパケットに対してIPとTCPとの受信処理を実施し、送信プロトコル処理部4−4にパケットの処理を指示する受信プロトコル処理部4−3、記憶部4−2に格納され受信プロトコル処理部4−3での受信処理が完了したパケットに対してTCPとIPの送信処理を実施する送信プロトコル処理部4−4、送信プロトコル処理部4−3と受信プロトコル処理部4−4の指示に基づいて記憶部4−2からパケットを取り出しネットワークへと出力するネットワーク出力部4−5を備えた構成となっている。   FIG. 4 is a block diagram showing the configuration of the session relay device according to the second embodiment of the present invention. The session relay device 4-0 according to the second embodiment includes a network input unit 4-1 that receives a packet from the network and stores it in the storage unit 4-2, a storage unit 4-2 that stores the arrived packet, and a storage. The reception protocol processing unit 4-3 that performs reception processing of IP and TCP on the packet stored in the unit 4-2, and instructs the transmission protocol processing unit 4-4 to process the packet, and the storage unit 4-2 The transmission protocol processing unit 4-4, the transmission protocol processing unit 4-3, and the reception protocol processing unit that perform TCP and IP transmission processing on the packets that are stored in the packet and for which the reception processing by the reception protocol processing unit 4-3 has been completed The network output unit 4-5 is configured to take out the packet from the storage unit 4-2 based on the instruction 4-4 and output the packet to the network.

第2の実施例では、図5に示すように送信端末10から受信端末20へとデータを送る場合にセッション中継装置4−0がデータの中継を実現する場合を想定し、このときの処理を説明する。   In the second embodiment, it is assumed that the session relay device 4-0 realizes data relay when data is transmitted from the transmission terminal 10 to the reception terminal 20, as shown in FIG. explain.

図5は、本実施例でセッション中継装置および送信端末、受信端末間のデータの流れを示したブロック図である。送信端末10から受信端末20へデータを送る場合、送信端末10はセッション中継装置4−0に向けてデータを格納したパケットを送信する。セッション中継端末4−0は送信端末10からのパケットを受信し、セッション中継装置4−0がデータ受信処理をおこなう。これにより、セッション中継装置4−0は送信端末10から受け取ったパケットを受信端末20へと送信する。   FIG. 5 is a block diagram illustrating a data flow between the session relay device, the transmission terminal, and the reception terminal in the present embodiment. When transmitting data from the transmission terminal 10 to the reception terminal 20, the transmission terminal 10 transmits a packet storing data to the session relay device 4-0. The session relay terminal 4-0 receives the packet from the transmission terminal 10, and the session relay apparatus 4-0 performs data reception processing. Thereby, the session relay device 4-0 transmits the packet received from the transmission terminal 10 to the reception terminal 20.

なお、本実施例でも、TCPとIPの処理の内容そのものについては本質的でないため説明を省略する。   In the present embodiment, the contents of the TCP and IP processes themselves are not essential, and thus the description thereof is omitted.

次いで、図6を参照して第2の実施例によるセッション中継装置4−0による処理について説明する。図6は第2の実施例によるセッション中継装置の処理の概要を示すフローチャートである。   Next, processing by the session relay device 4-0 according to the second embodiment will be described with reference to FIG. FIG. 6 is a flowchart showing an outline of processing of the session relay apparatus according to the second embodiment.

本セッション中継装置4−0は、ネットワーク入力部4−1に送信端末10からのパケットが到着することによって処理を開始する。   The session relay device 4-0 starts processing when a packet from the transmission terminal 10 arrives at the network input unit 4-1.

ステップ6−1では、ネットワーク入力部4−1が記憶部4−2へと該パケットを格納する。ネットワーク入力部4−1は受信プロトコル処理部4−3へ該パケットを格納したことを通知する。   In step 6-1, the network input unit 4-1 stores the packet in the storage unit 4-2. The network input unit 4-1 notifies the reception protocol processing unit 4-3 that the packet has been stored.

ステップ6−2では、受信プロトコル処理部4−4が、IPの受信処理を実施する。   In step 6-2, the reception protocol processing unit 4-4 performs IP reception processing.

ステップ6−3で、IPの受信処理が正常終了した場合、ステップ6−4へ移行する。そうでない場合は記憶部4−2から該パケットを削除し処理を終了する。   In step 6-3, when the IP reception process is normally completed, the process proceeds to step 6-4. Otherwise, the packet is deleted from the storage unit 4-2, and the process ends.

ステップ6−4では、受信プロトコル処理部4−3が、記憶部4−2に格納された該パケットを参照し、該パケットに対してTCPの規定に従った受信処理を実施する。   In step 6-4, the reception protocol processing unit 4-3 refers to the packet stored in the storage unit 4-2, and performs a reception process according to the TCP rules on the packet.

ステップ6−5で、TCPの受信処理が正常に終了した場合は、送信プロトコル処理部4−4に該パケットの格納位置を通知し、ステップ6−6に移行する。そうでない場合は記憶部4−2から該パケットを削除し処理を終了する。   In step 6-5, when the TCP reception process is normally completed, the storage location of the packet is notified to the transmission protocol processing unit 4-4, and the process proceeds to step 6-6. Otherwise, the packet is deleted from the storage unit 4-2, and the process ends.

ステップ6−6では、送信プロトコル処理部4−4が、受信プロトコル処理部4−3から通知され記憶部4−2に格納された該パケットを参照し、該パケットに対してTCPとIPの送信処理を実施する。TCPとIPの送信処理においてパケットヘッダを更新する必要がある場合は、記憶部4−2に格納された該パケットヘッダを上書きし更新する。   In step 6-6, the transmission protocol processing unit 4-4 refers to the packet notified from the reception protocol processing unit 4-3 and stored in the storage unit 4-2, and transmits TCP and IP to the packet. Perform the process. When it is necessary to update the packet header in the TCP and IP transmission processing, the packet header stored in the storage unit 4-2 is overwritten and updated.

ステップ6−7で、TCPとIPの送信処理の結果、該パケットの送信が可能と判定された場合は、ステップ6−8へ移行する。そうでない場合は、処理を終了する。   If it is determined in step 6-7 that the packet can be transmitted as a result of the TCP and IP transmission processing, the process proceeds to step 6-8. If not, the process ends.

ステップ6−8では、送信プロトコル処理部4−4がネットワーク出力部4−5へ該パケットが格納された位置を通知し、該パケットを出力することを指示する。   In step 6-8, the transmission protocol processing unit 4-4 notifies the network output unit 4-5 of the location where the packet is stored, and instructs to output the packet.

ステップ6−9で、ネットワーク出力部4−5は、指示に基づき記憶部4−2から該パケットを取り出し、受信端末20へと送信する。   In step 6-9, the network output unit 4-5 extracts the packet from the storage unit 4-2 based on the instruction, and transmits the packet to the receiving terminal 20.

さらに、ステップ6−10で、ネットワーク出力部4−5は、受信端末20へ送信したパケットが、受信端末20で正常に受信されたことを確認した場合、該パケットの削除を送信プロトコル処理部4−4に依頼する。これを受けて、送信プロトコル処理部4−4は、該パケットを削除する。   In step 6-10, when the network output unit 4-5 confirms that the packet transmitted to the receiving terminal 20 has been normally received by the receiving terminal 20, the network output unit 4-5 deletes the packet. -4. In response to this, the transmission protocol processing unit 4-4 deletes the packet.

以上が第2の実施例によるセッション中継装置4−0におけるセッション中継処理の内容である。   The above is the content of the session relay processing in the session relay device 4-0 according to the second embodiment.

従来の技術においては、受信処理部が受信処理を行った後に、送信処理部に該パケットを記憶部内でコピーし、該コピーされたパケットに対して送信処理部が送信処理を行うため、パケットのコピーのオーバヘッドが生じてしまっており、これが性能劣化を引き起こす。   In the conventional technique, after the reception processing unit performs reception processing, the packet is copied to the transmission processing unit in the storage unit, and the transmission processing unit performs transmission processing on the copied packet. Copy overhead has occurred, which causes performance degradation.

これに対して、上記で述べたように、本実施例では、中継するデータパケットをネットワーク入力部4−1の受信時に記憶部4−2へ格納し、送信時これを記憶部4−2から取り出すまで一切のコピーを行うことなく、同一のパケットに対して受信および送信処理を行うため、コピーによるオーバヘッドを軽減することができる。   On the other hand, as described above, in this embodiment, the data packet to be relayed is stored in the storage unit 4-2 at the time of reception of the network input unit 4-1, and this is transmitted from the storage unit 4-2 at the time of transmission. Since reception and transmission processing are performed for the same packet without performing any copying until extraction, overhead due to copying can be reduced.

本発明の第3の実施例によるセッション中継装置の構成は図1に示した第1の実施例と同様であるため、ここでは第1の実施例の構成を示す図1、図2を用いて説明する。以下では、第1の実施例との相違点のみを説明する。   Since the configuration of the session relay apparatus according to the third embodiment of the present invention is the same as that of the first embodiment shown in FIG. 1, here, FIGS. 1 and 2 showing the configuration of the first embodiment are used. explain. Only the differences from the first embodiment will be described below.

第3の実施例のセッション中継装置においては、ネットワーク入力処理部1−1は到着したTCPとIPのチェックサム値をそれぞれ計算し、パケットに格納されているTCPのチェックサム値、IPのチェックサム値と計算結果が一致しなかった場合はパケットを破棄し、パケットに格納されているチェックサム値と計算結果が一致した場合は、記憶部1−2に格納する。   In the session relay apparatus of the third embodiment, the network input processing unit 1-1 calculates the TCP and IP checksum values that have arrived, and the TCP checksum value and IP checksum stored in the packet. If the value does not match the calculation result, the packet is discarded, and if the checksum value stored in the packet matches the calculation result, it is stored in the storage unit 1-2.

ネットワーク出力処理部1−3では、パケットに更新があった場合のみ、該パケットの更新部分についてのみチェックサム値の差分を計算し、パケット内に格納されているチェックサム値に計算した差分を反映させるよう更新する。もしくは、ネットワーク出力処理部1−3では、チェックサム値の差分を計算する部分の判定を簡単化するため、該パケットのヘッダ部分全体のチェックサム値を計算し、その差分を求める構成とすることも可能である。   The network output processing unit 1-3 calculates the difference of the checksum value only for the updated part of the packet only when the packet is updated, and reflects the calculated difference in the checksum value stored in the packet Update to Alternatively, the network output processing unit 1-3 is configured to calculate the checksum value of the entire header portion of the packet and to obtain the difference in order to simplify the determination of the portion for calculating the difference between the checksum values. Is also possible.

次いで、図7を参照して第3の実施例によるセッション中継装置による処理について説明する。図7は第3の実施例によるセッション中継装置の処理の概要を示すフローチャートである。   Next, processing by the session relay device according to the third embodiment will be described with reference to FIG. FIG. 7 is a flowchart showing an outline of processing of the session relay device according to the third embodiment.

セッション中継装置1−0は、ネットワーク入力処理部1−1に送信端末10からのパケットが到着することによって処理を開始する。   The session relay device 1-0 starts processing when a packet from the transmission terminal 10 arrives at the network input processing unit 1-1.

ステップ7−1では、ネットワーク入力処理部1−1が該パケットに対してTCPとIPのチェックサム値を計算する。   In step 7-1, the network input processing unit 1-1 calculates TCP and IP checksum values for the packet.

ステップ7−2で、チェックサム値の計算結果がパケットに格納されていたチェックサム値と等しいかどうかを判定し、異なった場合はパケットを廃棄し、処理を終了する。チェックサム値の計算結果がパケットに格納されていたチェックサム値と等しければ、ステップ7−3へ移行する。   In step 7-2, it is determined whether or not the checksum value calculation result is equal to the checksum value stored in the packet. If the checksum value is different, the packet is discarded and the process is terminated. If the checksum value calculation result is equal to the checksum value stored in the packet, the process proceeds to step 7-3.

ステップ7−3では、ネットワーク入力処理部1−1が記憶部1−2へと該パケットを格納する。   In step 7-3, the network input processing unit 1-1 stores the packet in the storage unit 1-2.

ステップ7−4では、ネットワーク入力処理部1−1が、IP受信処理を実施する。ただし、IPのチェックサム値の確認は行わない。   In step 7-4, the network input processing unit 1-1 performs an IP reception process. However, the IP checksum value is not confirmed.

ステップ7−5で、IP受信処理が正常終了した場合、ステップ7−6へ移行する。そうでない場合は記憶部から該パケットを削除し処理を終了する。   In step 7-5, when the IP reception process is normally completed, the process proceeds to step 7-6. Otherwise, the packet is deleted from the storage unit and the process is terminated.

ステップ7−6では、ネットワーク入力処理部1−1が、記憶部1−2に格納された該パケットを参照し、該パケットに対してTCPの規定に従った受信処理を実施する。   In step 7-6, the network input processing unit 1-1 refers to the packet stored in the storage unit 1-2, and performs a reception process according to the TCP rules on the packet.

ステップ7−7で、TCPの受信処理が正常に終了した場合は、ネットワーク出力処理部1−3に該パケットの格納位置を通知し、次のステップへ進む。そうでない場合は処理を終了する。   In step 7-7, if the TCP reception process is normally completed, the storage position of the packet is notified to the network output processing unit 1-3, and the process proceeds to the next step. Otherwise, the process is terminated.

ステップ7−8では、ネットワーク出力処理部1−3が、ネットワーク入力処理部1−1から通知され記憶部1−2に格納された該パケットを参照し、該パケットに対してTCPとIPの送信処理を実施する。TCPとIPの送信処理においてパケットヘッダを更新する必要がある場合は、記憶部1−2に格納された該パケットヘッダを上書きし更新する。ただし、チェックサムについては該パケットの更新部分についてのみチェックサム値の差分を計算し、パケット内に格納されているチェックサム値に計算した差分を反映させるよう更新する。   In step 7-8, the network output processing unit 1-3 refers to the packet notified from the network input processing unit 1-1 and stored in the storage unit 1-2, and transmits TCP and IP to the packet. Perform the process. When it is necessary to update the packet header in the TCP and IP transmission processing, the packet header stored in the storage unit 1-2 is overwritten and updated. However, for the checksum, the checksum value difference is calculated only for the updated part of the packet, and the checksum is updated to reflect the calculated difference in the checksum value stored in the packet.

ステップ7−9で、TCPとIPの送信処理の結果、該パケットの送信が可能と判定された場合は、ステップ7−10へ移行する。そうでない場合は、処理を終了する。   If it is determined in step 7-9 that transmission of the packet is possible as a result of the transmission processing of TCP and IP, the process proceeds to step 7-10. If not, the process ends.

ステップ7−10では、ネットワーク出力処理部1−3は記憶部1−2から該パケットを取り出し、受信端末20へと送信する。   In Step 7-10, the network output processing unit 1-3 extracts the packet from the storage unit 1-2 and transmits it to the receiving terminal 20.

ステップ7−11で、ネットワーク出力処理部1−3は、送信したパケットを受信端末20が正常に受信したことを確認した場合、該パケットを記憶部1−2から削除する。   In step 7-11, when the network output processing unit 1-3 confirms that the receiving terminal 20 has normally received the transmitted packet, the network output processing unit 1-3 deletes the packet from the storage unit 1-2.

以上が第3の実施例によるセッション中継装置におけるセッション中継処理の内容である。   The above is the content of the session relay processing in the session relay device according to the third embodiment.

以上のように、本実施例では、ネットワーク入力処理部1−2でパケット全体に対するチェックサムの確認をすることにより、送信プロトコル処理部におけるチェックサム値計算の手間を減らすことができ、チェックサム値計算の処理負荷を小さくすることができる。   As described above, in this embodiment, by checking the checksum for the entire packet in the network input processing unit 1-2, it is possible to reduce the trouble of calculating the checksum value in the transmission protocol processing unit. The calculation processing load can be reduced.

本発明の第4の実施例によるセッション中継装置の構成は図4に示した第2の実施例と同様であるため、ここでは第2の実施例の構成を示すブロック図4、図5を用いて説明する。以下では、第2の実施例との相違点のみを説明する。   Since the configuration of the session relay apparatus according to the fourth embodiment of the present invention is the same as that of the second embodiment shown in FIG. 4, the block diagrams 4 and 5 showing the configuration of the second embodiment are used here. I will explain. Only the differences from the second embodiment will be described below.

ここでは、第2の実施例のTCPとIPの受信処理と送信処理に含まれるチェックサム計算について述べる。   Here, the checksum calculation included in the TCP and IP reception processing and transmission processing of the second embodiment will be described.

ネットワーク入力部4−1は、到着したTCPとIPのチェックサム値をそれぞれ計算し、パケットに格納されているTCPのチェックサム値、IPのチェックサム値と計算結果が一致しなかった場合はパケットを破棄し、パケットに格納されているチェックサム値と計算結果が一致した場合は、記憶部4−2に格納する。   The network input unit 4-1 calculates the TCP and IP checksum values that have arrived, and the TCP checksum value stored in the packet. If the IP checksum value and the calculation result do not match, the network input unit 4-1 When the checksum value stored in the packet matches the calculation result, it is stored in the storage unit 4-2.

受信プロトコル処理部4−3ではTCPプロトコル、IPプロトコルに含まれるチェックサム計算を省略し、送信プロトコル処理部4−4では、パケットに更新があった場合のみ、該パケットの更新部分についてのみチェックサム値の差分を計算し、パケット内に格納されているチェックサム値に計算した差分を反映させるよう更新する。もしくは、送信プロトコル処理部4−4では、チェックサム値の差分を計算する部分の判定を簡単化するため、該パケットのヘッダ部分全体のチェックサム値を計算し、その差分を求めるように構成することも可能である。   The reception protocol processing unit 4-3 omits the checksum calculation included in the TCP protocol and the IP protocol, and the transmission protocol processing unit 4-4 checks only the updated part of the packet only when the packet is updated. The value difference is calculated and updated so that the calculated difference is reflected in the checksum value stored in the packet. Alternatively, the transmission protocol processing unit 4-4 is configured to calculate the checksum value of the entire header portion of the packet and to obtain the difference in order to simplify the determination of the portion for calculating the difference between the checksum values. It is also possible.

次いで、図8を参照して第4の実施例によるセッション中継装置による処理について説明する。図8は第4の実施例によるセッション中継装置の処理の概要を示すフローチャートである。   Next, processing by the session relay device according to the fourth embodiment will be described with reference to FIG. FIG. 8 is a flowchart showing an outline of processing of the session relay device according to the fourth embodiment.

セッション中継装置はネットワーク入力部4−1に送信端末10からのパケットが到着することによって処理を開始する。   The session relay device starts processing when a packet from the transmission terminal 10 arrives at the network input unit 4-1.

ステップ8−1では、ネットワーク入力部4−1が該パケットに対してTCPとIPのチェックサム値を計算する。   In step 8-1, the network input unit 4-1 calculates TCP and IP checksum values for the packet.

ステップ8−2で、チェックサム値の計算結果がパケットに格納されていたチェックサム値と等しいかどうかを判定し、異なった場合はパケットを廃棄し、処理を終了する。チェックサム値の計算結果がパケットに格納されていたチェックサム値と等しければ、ステップ8−3へ移行する。   In step 8-2, it is determined whether or not the checksum value calculation result is equal to the checksum value stored in the packet. If the checksum value is different, the packet is discarded and the process is terminated. If the checksum value calculation result is equal to the checksum value stored in the packet, the process proceeds to step 8-3.

ステップ8−3では、ネットワーク入力部4−1が記憶部4−2へと該パケットを格納する。ネットワーク入力部4−1は受信プロトコル処理部4−3へ該パケットを格納したことを通知する。   In Step 8-3, the network input unit 4-1 stores the packet in the storage unit 4-2. The network input unit 4-1 notifies the reception protocol processing unit 4-3 that the packet has been stored.

ステップ8−4では、受信プロトコル処理部4−4が、IP受信処理を実施する。ただし、IPのチェックサム値の確認は行わない。   In Step 8-4, the reception protocol processing unit 4-4 performs IP reception processing. However, the IP checksum value is not confirmed.

ステップ8−5で、IP受信処理が正常終了した場合、ステップ8−6へ移行する。そうでない場合は記憶部4−2から該パケットを削除し処理を終了する。   In step 8-5, when the IP reception process is normally completed, the process proceeds to step 8-6. Otherwise, the packet is deleted from the storage unit 4-2, and the process ends.

ステップ8−6では、受信プロトコル処理部4−3が、記憶部4−2に格納された該パケットを参照し、該パケットに対してTCPの規定に従った受信処理を実施する。   In Step 8-6, the reception protocol processing unit 4-3 refers to the packet stored in the storage unit 4-2, and performs a reception process according to the TCP rules on the packet.

ステップ8−7で、TCPの受信処理が正常に終了した場合は、送信プロトコル処理部4−4に該パケットの格納位置を通知し、ステップ8−8に移行する。そうでない場合は記憶部4−2から該パケットを削除し処理を終了する。   In step 8-7, when the TCP reception process is normally completed, the transmission protocol processing unit 4-4 is notified of the storage location of the packet, and the process proceeds to step 8-8. Otherwise, the packet is deleted from the storage unit 4-2, and the process ends.

ステップ8−8では、送信プロトコル処理部4−4が、受信プロトコル処理部4−3から通知され記憶部4−2に格納された該パケットを参照し、該パケットに対してTCPとIPの送信処理を実施する。TCPとIPの送信処理においてパケットヘッダを更新する必要がある場合は、記憶部に格納された該パケットヘッダを上書きし更新する。ただし、チェックサムについては該パケットの更新部分についてのみチェックサム値の差分を計算し、パケット内に格納されているチェックサム値に計算した差分を反映させるよう更新する。   In step 8-8, the transmission protocol processing unit 4-4 refers to the packet notified from the reception protocol processing unit 4-3 and stored in the storage unit 4-2, and transmits TCP and IP to the packet. Perform the process. When it is necessary to update the packet header in TCP and IP transmission processing, the packet header stored in the storage unit is overwritten and updated. However, for the checksum, the checksum value difference is calculated only for the updated part of the packet, and the checksum is updated to reflect the calculated difference in the checksum value stored in the packet.

ステップ8−9で、TCPとIPの送信処理の結果、該パケットの送信が可能と判定された場合は、ステップ8−10へ移行する。そうでない場合は、処理を終了する。   If it is determined in step 8-9 that the transmission of the packet is possible as a result of the TCP and IP transmission processing, the process proceeds to step 8-10. If not, the process ends.

ステップ8−10では、送信プロトコル処理部4−4がネットワーク出力部4−5へ該パケットが格納された位置を通知し、該パケットを出力することを指示する。   In step 8-10, the transmission protocol processing unit 4-4 notifies the network output unit 4-5 of the location where the packet is stored, and instructs to output the packet.

ステップ8−11で、ネットワーク出力部4−5は上記指示に基づいて記憶部4−2から該パケットを取り出し、受信端末20へ送信する。   In step 8-11, the network output unit 4-5 extracts the packet from the storage unit 4-2 based on the instruction and transmits it to the receiving terminal 20.

ステップ8−12で、ネットワーク出力部4−5は、送信したパケットを受信端末20が正常に受信したことを確認した場合に、該パケットの削除を送信プロトコル処理部4−4に依頼する。これを受けて、送信プロトコル処理部4−4は、該パケットを削除する。   In step 8-12, when the network output unit 4-5 confirms that the received terminal 20 has received the transmitted packet normally, the network output unit 4-5 requests the transmission protocol processing unit 4-4 to delete the packet. In response to this, the transmission protocol processing unit 4-4 deletes the packet.

以上が第4の実施例によるセッション中継装置におけるセッション中継処理の内容である。   The above is the content of the session relay processing in the session relay device according to the fourth embodiment.

以上のように、本実施例では、ネットワーク入力部4−1でパケット全体に対するチェックサムの確認をすることにより、受信プロトコル処理部4−3におけるチェックサム計算を省略でき、送信プロトコル処理部4−4におけるチェックサム値計算の手間を減らすことができ、チェックサム値計算のための処理負荷を小さくすることができる。   As described above, in this embodiment, the checksum calculation in the reception protocol processing unit 4-3 can be omitted by checking the checksum for the entire packet by the network input unit 4-1, and the transmission protocol processing unit 4- 4 can be reduced, and the processing load for calculating the checksum value can be reduced.

特に、セッション中継装置が汎用計算機を用いて実現されたものであり、ネットワーク入力部4−1がチェックサム計算機能を持つネットワークインタフェースカードである実施例も可能であり、この場合には汎用計算機のCPUが計算するチェックサムの計算が大幅に削減されるため効果が高い。   In particular, an embodiment in which the session relay device is realized by using a general-purpose computer and the network input unit 4-1 is a network interface card having a checksum calculation function is also possible. Since the calculation of the checksum calculated by the CPU is greatly reduced, the effect is high.

本発明の第5の実施例によるセッション中継装置の構成は図1に示した第1の実施例と同様であるため、ここでは第1の実施例の構成を示す図1、図2を用いて説明する。以下では、第3の実施例との相違点のみを説明する。   Since the configuration of the session relay apparatus according to the fifth embodiment of the present invention is the same as that of the first embodiment shown in FIG. 1, here, FIGS. 1 and 2 showing the configuration of the first embodiment are used. explain. Only the differences from the third embodiment will be described below.

第5の実施例によるセッション中継装置においては、ネットワーク出力処理部1−3が、セッション中継装置と受信端末20の間の通信設定と通信の状態に基づき、送信処理のうちIPの送信処理を実施するか省略するか決定する機能を有する。   In the session relay device according to the fifth embodiment, the network output processing unit 1-3 performs the IP transmission processing of the transmission processing based on the communication setting and the communication state between the session relay device and the receiving terminal 20. It has a function to decide whether to omit or omit.

ネットワーク出力処理部1−3は、IPの送信処理が必要と判定した場合は、IPの送信処理を実施し、IPの送信処理を省略可能と判定した場合は、IPの送信処理を省略し、ネットワークにパケットを出力する機能を有する。   The network output processing unit 1-3 performs the IP transmission process when it is determined that the IP transmission process is necessary, and omits the IP transmission process when it is determined that the IP transmission process can be omitted. It has a function of outputting packets to the network.

ネットワーク出力処理部1−3がIPの送信処理が必要と判定する状況は、ネットワーク出力処理部1−3のIP処理でNATやIPマスカレードといったIPアドレスを変換する技術が設定されている場合と、ARP、ICMPなどの結果設定されネットワークにパケットを出力するために利用するパラメタが保持されていない場合である。   The situation in which the network output processing unit 1-3 determines that IP transmission processing is necessary is when a technique for converting an IP address such as NAT or IP masquerade is set in the IP processing of the network output processing unit 1-3. This is a case where parameters such as ARP and ICMP which are set as a result and used to output a packet to the network are not held.

また、ICMPリダイレクトやスパニングツリーにより、ネットワークにパケットを出力するために利用するパラメタが変更された場合も、再度IP層の処理によりパラメタを取得する必要があるため、IPの送信処理が必要な場合に該当する。チェックサム計算は全てのIP送信処理で必要な処理であるが、本発明の第3の実施例によりIPの送信処理では省略しているとし、ここでは対象としない。   Also, when the parameters used to output packets to the network are changed by ICMP redirect or spanning tree, it is necessary to acquire the parameters again by IP layer processing, so IP transmission processing is required It corresponds to. The checksum calculation is a process necessary for all IP transmission processes, but is omitted in the IP transmission process according to the third embodiment of the present invention, and is not a target here.

ここで、IPの送信処理が必要か不必要かを判定する手順を簡単化するためには、ネットワーク出力処理部1−3は、送信端末10とセッション中継装置1−0、セッション中継装置1−0と受信端末20のセッションが確立されるときに利用されるパケットについては、ARPやICMPなどが利用される可能性が高いため、IP層の処理が必要であると仮定してIP層の送信処理を実施し、セッションが開設されていくつかのパケットが受信端末20とやりとりされた後は、IP層の処理を省略するものとする。   Here, in order to simplify the procedure for determining whether IP transmission processing is necessary or not, the network output processing unit 1-3 includes the transmission terminal 10, the session relay device 1-0, and the session relay device 1-. For packets used when a session between 0 and the receiving terminal 20 is established, there is a high possibility that ARP, ICMP, or the like is used. After the process is performed and a session is established and some packets are exchanged with the receiving terminal 20, the IP layer process is omitted.

ただし、ネットワーク出力処理処理部1−3は、NATとIPマスカレードが送信プロトコル処理のIP処理に設定されている場合はIP層の処理が必要と判定し、常にIP層の送信処理を実施する。ICMPリダイレクトや、スパニングツリーにより、下位レイヤの宛先が変更された場合はIP層の送信処理を実施する。   However, the network output processing unit 1-3 determines that IP layer processing is necessary when NAT and IP masquerading are set to IP processing of transmission protocol processing, and always performs IP layer transmission processing. When the destination of the lower layer is changed by ICMP redirect or spanning tree, transmission processing of the IP layer is performed.

次いで、図9を参照して第5の実施例によるセッション中継装置による処理について説明する。図9は第5の実施例によるセッション中継装置の処理の概要を示すフローチャートである。   Next, processing by the session relay device according to the fifth embodiment will be described with reference to FIG. FIG. 9 is a flowchart showing an outline of processing of the session relay apparatus according to the fifth embodiment.

セッション中継装置1−0は、ネットワーク入力処理部1−1に送信端末10からのパケットが到着することによって処理を開始する。   The session relay device 1-0 starts processing when a packet from the transmission terminal 10 arrives at the network input processing unit 1-1.

ステップ9−1では、ネットワーク入力処理部1−1が該パケットに対してTCPとIPのチェックサム値を計算する。   In step 9-1, the network input processing unit 1-1 calculates TCP and IP checksum values for the packet.

ステップ9−2で、チェックサム値の計算結果がパケットに格納されていたチェックサム値と等しいかどうかを判定し、異なった場合はパケットを廃棄し、処理を終了する。チェックサム値の計算結果がパケットに格納されていたチェックサム値と等しければ、ステップ9−3へ移行する。   In step 9-2, it is determined whether or not the checksum value calculation result is equal to the checksum value stored in the packet. If the checksum value is different, the packet is discarded and the process is terminated. If the checksum value calculation result is equal to the checksum value stored in the packet, the process proceeds to step 9-3.

ステップ9−3では、ネットワーク入力処理部1−1が記憶部1−2へ該パケットを格納する。   In step 9-3, the network input processing unit 1-1 stores the packet in the storage unit 1-2.

ステップ9−4では、ネットワーク入力処理部1−1が、IP受信処理を実施する。ただし、IPのチェックサム値の確認は行わない。   In step 9-4, the network input processing unit 1-1 performs an IP reception process. However, the IP checksum value is not confirmed.

ステップ9−5で、IP受信処理が正常終了した場合、ステップ9−6へ移行する。そうでない場合は記憶部から該パケットを削除し処理を終了する。   In step 9-5, when the IP reception process is normally completed, the process proceeds to step 9-6. Otherwise, the packet is deleted from the storage unit and the process is terminated.

ステップ9−6では、ネットワーク入力処理部1−1が、記憶部1−2に格納された該パケットを参照し、該パケットに対してTCPの規定に従った受信処理を実施する。   In step 9-6, the network input processing unit 1-1 refers to the packet stored in the storage unit 1-2, and performs a reception process according to the TCP rules on the packet.

ステップ9−7で、TCPの受信処理が正常に終了した場合は、ネットワーク出力処理部1−3に該パケットの格納位置を通知し、次のステップへ進む。そうでない場合は処理を終了する。   In step 9-7, if the TCP reception process is normally completed, the storage position of the packet is notified to the network output processing unit 1-3, and the process proceeds to the next step. Otherwise, the process is terminated.

ステップ9−8では、ネットワーク出力処理部1−3が、ネットワーク入力処理部1−1から通知され記憶部1−2に格納された該パケットを参照し、該パケットに対してTCPの送信処理を実施する。TCPの送信処理においてパケットヘッダを更新する必要がある場合は、記憶部1−2に格納された該パケットヘッダを上書きし更新する。ただし、チェックサムについては該パケットの更新部分についてのみチェックサム値の差分を計算し、パケット内に格納されているチェックサム値に計算した差分を反映させるよう更新する。   In step 9-8, the network output processing unit 1-3 refers to the packet notified from the network input processing unit 1-1 and stored in the storage unit 1-2, and performs TCP transmission processing on the packet. carry out. When it is necessary to update the packet header in the TCP transmission process, the packet header stored in the storage unit 1-2 is overwritten and updated. However, for the checksum, the checksum value difference is calculated only for the updated part of the packet, and the checksum is updated to reflect the calculated difference in the checksum value stored in the packet.

ステップ9−9で、TCPの送信処理の結果、該パケットの送信が可能と判定された場合は、ステップ9−10へ移行する。そうでない場合は、処理を終了する。   If it is determined in step 9-9 that the packet can be transmitted as a result of the TCP transmission process, the process proceeds to step 9-10. If not, the process ends.

ステップ9−10では、ネットワーク出力処理部1−3が、IPの送信処理が必要か省略可能かを判定する。IPの送信処理が必要であればステップ9−11へ移行する。そうでなければステップ9−12へ移行する。   In Step 9-10, the network output processing unit 1-3 determines whether IP transmission processing is necessary or can be omitted. If IP transmission processing is necessary, the process proceeds to step 9-11. Otherwise, go to Step 9-12.

ステップ9−11では、ネットワーク出力処理部1−3が、記憶部1−2に格納された該パケットを参照し、該パケットに対してIPの送信処理を実施する。   In step 9-11, the network output processing unit 1-3 refers to the packet stored in the storage unit 1-2, and performs IP transmission processing on the packet.

ステップ9−12では、ネットワーク出力処理部1−3が記憶部1−2から該パケットを取り出し、受信端末20へと該パケットを送出する。   In Step 9-12, the network output processing unit 1-3 takes out the packet from the storage unit 1-2 and sends the packet to the receiving terminal 20.

ステップ9−13で、送信したパケットを受信端末20が正常に受信したことを確認した場合、該パケットを記憶部1−2から削除する。   If it is confirmed in step 9-13 that the receiving terminal 20 has received the transmitted packet normally, the packet is deleted from the storage unit 1-2.

以上が第5の実施例によるセッション中継装置におけるセッション中継処理の内容である。   The above is the content of the session relay processing in the session relay device according to the fifth embodiment.

以上のように、本実施例では、ネットワーク出力処理部1−3がIPレイヤの処理が省略可能かを判断する機能と、IPレイヤの処理を省略しネットワークへパケットを出力する機能を有することによって、IPレイヤの処理を軽減することができる。   As described above, in this embodiment, the network output processing unit 1-3 has a function of determining whether or not the IP layer processing can be omitted, and a function of omitting the IP layer processing and outputting a packet to the network. IP layer processing can be reduced.

本発明の第6の実施例によるセッション中継装置の構成は第2の実施例と同様であるため、ここでは第2の実施例の構成を示すブロック図4、図5を用いて説明する。ここでは第2の実施例との相違点のみを説明する。   Since the configuration of the session relay apparatus according to the sixth embodiment of the present invention is the same as that of the second embodiment, description will be made here with reference to block diagrams 4 and 5 showing the configuration of the second embodiment. Here, only differences from the second embodiment will be described.

セッション中継装置4−0においては、送信プロトコル処理部4−4は、セッション中継装置4−0と受信端末20の間の通信設定と通信の状態に基づき、送信処理のうちIPの送信処理を実施するか省略するか決定する機能を有する。   In the session relay device 4-0, the transmission protocol processing unit 4-4 performs IP transmission processing among the transmission processing based on the communication settings and the communication state between the session relay device 4-0 and the receiving terminal 20. It has a function to decide whether to omit or omit.

送信プロトコル処理部4−4は、IPの送信処理が必要と判定した場合は、IPの送信処理を実施する。一方、IPの送信処理を省略可能と判定した場合は、IPの送信処理を省略し、ネットワーク出力部4−5にパケットの出力を指示する機能を有する。   If the transmission protocol processing unit 4-4 determines that IP transmission processing is necessary, the transmission protocol processing unit 4-4 performs IP transmission processing. On the other hand, when it is determined that the IP transmission process can be omitted, the IP transmission process is omitted, and the network output unit 4-5 has a function of instructing the packet output.

IPの送信処理を省略不可能と判定する状況は、送信プロトコル処理部4−4のIP処理でNATやIPマスカレードといったIPアドレスを変換する技術が設定されている場合と、ARP、ICMPなどの結果設定されネットワークにパケットを出力するために利用するパラメタが保持されていない場合である。   The situation where it is determined that the IP transmission process cannot be omitted is based on the case where a technique for converting an IP address such as NAT or IP masquerade is set in the IP process of the transmission protocol processing unit 4-4 and the result of ARP, ICMP, This is a case where a parameter that is set and used to output a packet to the network is not held.

また、ICMPリダイレクトやスパニングツリーにより、下位レイヤの宛先が変更された場合も再度IP層の処理によりパラメタを取得する必要があるため、IPの送信処理を省略不可能な場合に該当する。チェックサム計算は全てのIP送信処理で必要な処理であるが、本発明の第4の実施例によりIPの送信処理では省略しているとし、ここでは対象としない。   Further, even when the destination of the lower layer is changed by ICMP redirect or spanning tree, it is necessary to acquire the parameter by the IP layer processing again, and this corresponds to the case where the IP transmission processing cannot be omitted. The checksum calculation is necessary for all IP transmission processes, but is omitted in the IP transmission process according to the fourth embodiment of the present invention, and is not the target here.

ただし、送信プロトコル処理部4−4は、NATとIPマスカレードが送信プロトコル処理のIP処理に設定されている場合はIP層の処理が必要と判定し、常にIP層の送信処理を実施する。ICMPリダイレクトや、スパニングツリーにより、下位レイヤの宛先が変更された場合はIP層の送信処理を実施する。   However, the transmission protocol processing unit 4-4 determines that the IP layer processing is necessary when NAT and IP masquerading are set to the IP processing of the transmission protocol processing, and always performs the IP layer transmission processing. When the destination of the lower layer is changed by ICMP redirect or spanning tree, transmission processing of the IP layer is performed.

次いで、図10を参照して第6の実施例によるセッション中継装置による処理について説明する。図10は第6の実施例によるセッション中継装置の処理の概要を示すフローチャートである。   Next, processing by the session relay apparatus according to the sixth embodiment will be described with reference to FIG. FIG. 10 is a flowchart showing an outline of processing of the session relay device according to the sixth embodiment.

セッション中継装置4−0は、ネットワーク入力部4−1に送信端末10からのパケットが到着することによって処理を開始する。   The session relay device 4-0 starts processing when a packet from the transmission terminal 10 arrives at the network input unit 4-1.

ステップ10−1では、ネットワーク入力部4−1が該パケットに対してTCPとIPのチェックサム値を計算する。   In step 10-1, the network input unit 4-1 calculates TCP and IP checksum values for the packet.

ステップ10−2で、チェックサム値の計算結果がパケットに格納されていたチェックサム値と等しいかどうかを判定し、異なった場合はパケットを廃棄し、処理を終了する。チェックサム値の計算結果がパケットに格納されていたチェックサム値と等しければ、ステップ10−3へ移行する。   In step 10-2, it is determined whether or not the checksum value calculation result is equal to the checksum value stored in the packet. If the checksum value is different, the packet is discarded and the process is terminated. If the checksum value calculation result is equal to the checksum value stored in the packet, the process proceeds to step 10-3.

ステップ10−3では、ネットワーク入力部4−1が記憶部4−2へと該パケットを格納する。ネットワーク入力部4−1は受信プロトコル処理部4−3へ該パケットを格納したことを通知する。   In step 10-3, the network input unit 4-1 stores the packet in the storage unit 4-2. The network input unit 4-1 notifies the reception protocol processing unit 4-3 that the packet has been stored.

ステップ10−4では、受信プロトコル処理部4−4が、IP受信処理を実施する。ただし、IPのチェックサム値の確認は行わない。   In Step 10-4, the reception protocol processing unit 4-4 performs IP reception processing. However, the IP checksum value is not confirmed.

ステップ10−5では、IP受信処理が正常終了した場合、ステップ10−6へ移行する。そうでない場合は記憶部から該パケットを削除し処理を終了する。   In step 10-5, when the IP reception process is normally completed, the process proceeds to step 10-6. Otherwise, the packet is deleted from the storage unit and the process is terminated.

ステップ10−6では、受信プロトコル処理部4−3が、記憶部4−2に格納された該パケットを参照し、該パケットに対してTCPの規定に従った受信処理を実施する。   In step 10-6, the reception protocol processing unit 4-3 refers to the packet stored in the storage unit 4-2, and performs a reception process according to the TCP rules on the packet.

ステップ10−7では、TCPの受信処理が正常に終了した場合は、送信プロトコル処理部4−4に該パケットの格納位置を通知し、ステップ10−8に移行する。そうでない場合は記憶部4−2から該パケットを削除し処理を終了する。   In step 10-7, when the TCP reception process is normally completed, the storage location of the packet is notified to the transmission protocol processing unit 4-4, and the process proceeds to step 10-8. Otherwise, the packet is deleted from the storage unit 4-2, and the process ends.

ステップ10−8では、送信プロトコル処理部4−4が、受信プロトコル処理部4−3から通知され記憶部4−2に格納された該パケットを参照し、該パケットに対してTCPの送信処理を実施する。TCPの送信処理においてパケットヘッダを更新する必要がある場合は、記憶部4−2に格納された該パケットヘッダを上書きし更新する。ただし、チェックサムについては該パケットの更新部分についてのみTCPとIPのチェックサム値の差分を計算し、パケット内に格納されているチェックサム値に計算した差分を反映させるよう更新する。   In step 10-8, the transmission protocol processing unit 4-4 refers to the packet notified from the reception protocol processing unit 4-3 and stored in the storage unit 4-2, and performs TCP transmission processing on the packet. carry out. When it is necessary to update the packet header in the TCP transmission process, the packet header stored in the storage unit 4-2 is overwritten and updated. However, the checksum is updated so that the difference between the TCP and IP checksum values is calculated only for the updated portion of the packet, and the calculated difference is reflected in the checksum value stored in the packet.

ステップ10−9で、TCPの送信処理の結果、該パケットの送信が可能と判定された場合は、ステップ10−10へ移行する。そうでない場合は、処理を終了する。   If it is determined in step 10-9 that the packet can be transmitted as a result of the TCP transmission process, the process proceeds to step 10-10. If not, the process ends.

ステップ10−10では、送信プロトコル処理部4−4が、IPの送信処理が必要か省略可能かを判定する。IPの送信処理が必要であればステップ10−11へ移行する。そうでなければステップ10−12へ移行する。   In step 10-10, the transmission protocol processing unit 4-4 determines whether IP transmission processing is necessary or can be omitted. If IP transmission processing is necessary, the process proceeds to step 10-11. Otherwise, go to Step 10-12.

ステップ10−11では、送信プロトコル処理部4−4が、記憶部4−2に格納された該パケットを参照し、該パケットに対してIPの送信処理を実施する。   In step 10-11, the transmission protocol processing unit 4-4 refers to the packet stored in the storage unit 4-2, and performs IP transmission processing on the packet.

ステップ10−12では、送信プロトコル処理部4−4がネットワーク出力部4−5へ該パケットが格納された位置を通知し、該パケットを出力することを指示する。   In step 10-12, the transmission protocol processing unit 4-4 notifies the network output unit 4-5 of the position where the packet is stored, and instructs to output the packet.

ステップ10−13では、ネットワーク出力部4−5が指示に基づき記憶部4−2から該パケットを取り出し、受信端末20へ送信する。   In step 10-13, the network output unit 4-5 extracts the packet from the storage unit 4-2 based on the instruction, and transmits the packet to the receiving terminal 20.

ステップ10−14で、ネットワーク出力部4−5は、送信したパケットを、受信端末20が正常に受信したことを確認した場合、該パケットの削除を送信プロトコル処理部4−4に依頼する。これを受けて、送信プロトコル処理部4−4は、該パケットを削除する。   In step 10-14, when the network output unit 4-5 confirms that the receiving terminal 20 has received the transmitted packet normally, the network output unit 4-5 requests the transmission protocol processing unit 4-4 to delete the packet. In response to this, the transmission protocol processing unit 4-4 deletes the packet.

以上が第6の実施例によるセッション中継装置におけるセッション中継処理の内容である。   The above is the content of the session relay processing in the session relay device according to the sixth embodiment.

以上のように、本実施例では、送信プロトコル処理部4−4がIPレイヤの処理が省略可能かを判断する機能と、IPレイヤの処理を省略しネットワーク出力部4−5へとパケットの出力を指示する機能を有することによって、IPレイヤの処理を軽減することができる。   As described above, in this embodiment, the transmission protocol processing unit 4-4 determines whether or not the IP layer processing can be omitted, and the packet output to the network output unit 4-5 without the IP layer processing. By having the function of instructing the IP layer, the IP layer processing can be reduced.

本発明の第7の実施例によるセッション中継装置の構成は第1及び第5の実施例と同様であるため、ここでは第5の実施例の構成を示すブロック図1、図2を用いて説明する。ここでは第5の実施例との相違点のみを説明する。   Since the configuration of the session relay apparatus according to the seventh embodiment of the present invention is the same as that of the first and fifth embodiments, description will be made here with reference to block diagrams 1 and 2 showing the configuration of the fifth embodiment. To do. Here, only differences from the fifth embodiment will be described.

第7の実施例のセッション中継装置1−0においては、ネットワーク出力処理部1−3は、IPレイヤの送信処理のうちで、すべてのパケットに共通する処理を実行する機能を有する。   In the session relay device 1-0 of the seventh embodiment, the network output processing unit 1-3 has a function of executing processing common to all packets in IP layer transmission processing.

IPレイヤ処理のうちで全てのパケットに共通するものは、第3の実施例で説明したチェックサム値の計算と、NAT(ネットワークアドレス変換)やIPマスカレードなどが設定されている場合は、これも該当する。   Among the IP layer processing, what is common to all packets is the checksum value calculation described in the third embodiment, and when NAT (network address translation), IP masquerade, etc. are set, this is also the case. Applicable.

チェックサム値の計算は全てのIP送信処理で必要な処理であるが、本発明の第3の実施例によりIP層の送信処理では省略しているので、ここでは対象としない。   The calculation of the checksum value is a process necessary for all IP transmission processes, but is omitted in the IP layer transmission process according to the third embodiment of the present invention.

ネットワーク出力処理部1−3は、NATとIPマスカレードが設定されている場合はIP層の処理で必ずこれを実行し、NATとIPマスカレードが設定されていない場合はIP層の処理を省略し、記憶部1−2からパケットを取り出しネットワークへ出力する。   The network output processing unit 1-3 always executes the IP layer process when NAT and IP masquerade are set, and omits the IP layer process when NAT and IP masquerade are not set. The packet is extracted from the storage unit 1-2 and output to the network.

次いで、図11を参照して第7の実施例によるセッション中継装置による処理について説明する。図11は第7の実施例によるセッション中継装置の処理の概要を示すフローチャートである。   Next, processing by the session relay device according to the seventh embodiment will be described with reference to FIG. FIG. 11 is a flowchart showing an outline of processing of the session relay device according to the seventh embodiment.

セッション中継装置1−0は、ネットワーク入力処理部1−1に送信端末10からのパケットが到着することによって処理を開始する。   The session relay device 1-0 starts processing when a packet from the transmission terminal 10 arrives at the network input processing unit 1-1.

ステップ11−1では、ネットワーク入力処理部1−1が該パケットに対してTCPとIPのチェックサム値を計算する。   In step 11-1, the network input processing unit 1-1 calculates TCP and IP checksum values for the packet.

ステップ11−2で、チェックサム値の計算結果がパケットに格納されていたチェックサム値と等しいかどうかを判定し、異なった場合はパケットを廃棄し、処理を終了する。チェックサム値の計算結果がパケットに格納されていたチェックサム値と等しければ、ステップ11−3へ移行する。   In step 11-2, it is determined whether or not the checksum value calculation result is equal to the checksum value stored in the packet. If the checksum value is different, the packet is discarded and the process is terminated. If the checksum value calculation result is equal to the checksum value stored in the packet, the process proceeds to step 11-3.

ステップ11−3では、ネットワーク入力処理部1−1が記憶部1−2へ該パケットを格納する。   In step 11-3, the network input processing unit 1-1 stores the packet in the storage unit 1-2.

ステップ11−4では、ネットワーク入力処理部1−1が、IP受信処理を実施する。ただし、IPのチェックサム値の確認は行わない。   In step 11-4, the network input processing unit 1-1 performs an IP reception process. However, the IP checksum value is not confirmed.

ステップ11−5で、IP受信処理が正常終了した場合、ステップ11−6へ移行する。そうでない場合は記憶部から該パケットを削除し処理を終了する。   In step 11-5, when the IP reception process is normally completed, the process proceeds to step 11-6. Otherwise, the packet is deleted from the storage unit and the process is terminated.

ステップ11−6では、ネットワーク入力処理部1−1が、記憶部1−2に格納された該パケットを参照し、該パケットに対してTCPの規定に従った受信処理を実施する。   In step 11-6, the network input processing unit 1-1 refers to the packet stored in the storage unit 1-2, and performs a reception process according to the TCP rules on the packet.

ステップ11−7で、TCPの受信処理が正常に終了した場合は、ネットワーク出力処理部1−3に該パケットの格納位置を通知し、次のステップ11−8に移行する。そうでない場合は処理を終了する。   In step 11-7, when the TCP reception process is normally completed, the storage position of the packet is notified to the network output processing unit 1-3, and the process proceeds to the next step 11-8. Otherwise, the process is terminated.

ステップ11−8では、ネットワーク出力処理部1−3が、ネットワーク入力処理部1−1から通知され記憶部1−2に格納された該パケットを参照し、該パケットに対してTCPの送信処理を実施する。ここで、IPの処理のうちNATが設定されていた場合は、NATの処理をする。TCPの送信処理においてパケットヘッダを更新する必要がある場合は、記憶部1−2に格納された該パケットヘッダを上書きし更新する。ただし、チェックサムについては該パケットの更新部分についてのみチェックサム値の差分を計算し、パケット内に格納されているチェックサム値に計算した差分を反映させるよう更新する。   In step 11-8, the network output processing unit 1-3 refers to the packet notified from the network input processing unit 1-1 and stored in the storage unit 1-2, and performs TCP transmission processing on the packet. carry out. Here, if NAT is set in the IP processing, the NAT processing is performed. When it is necessary to update the packet header in the TCP transmission process, the packet header stored in the storage unit 1-2 is overwritten and updated. However, for the checksum, the checksum value difference is calculated only for the updated part of the packet, and the checksum is updated to reflect the calculated difference in the checksum value stored in the packet.

ステップ11−9で、TCPの送信処理の結果、該パケットの送信が可能と判定された場合は、ステップ11−10へ移行する。そうでない場合は、処理を終了する。   If it is determined in step 11-9 that the packet can be transmitted as a result of the TCP transmission process, the process proceeds to step 11-10. If not, the process ends.

ステップ11−10では、ネットワーク出力処理部1−3が、IPの送信処理が必要か省略可能かを判定する。IPの送信処理が必要であればステップ11−11へ移行する。そうでなければステップ11−12へ移行する。   In step 11-10, the network output processing unit 1-3 determines whether IP transmission processing is necessary or can be omitted. If IP transmission processing is necessary, the process proceeds to step 11-11. Otherwise, go to step 11-12.

ステップ11−11では、ネットワーク出力処理部1−3が、記憶部1−2に格納された該パケットを参照し、該パケットに対してIPの送信処理を実施する。   In step 11-11, the network output processing unit 1-3 refers to the packet stored in the storage unit 1-2, and performs IP transmission processing on the packet.

ステップ11−12では、ネットワーク出力処理部1−3が記憶部1−2から該パケットを取り出し、受信端末20へと該パケットを送出する。   In step 11-12, the network output processing unit 1-3 extracts the packet from the storage unit 1-2 and sends the packet to the receiving terminal 20.

ステップ11−13で、送信したパケットを受信端末20が正常に受信したことを確認した場合、該パケットを記憶部1−2から削除する。   If it is confirmed in step 11-13 that the receiving terminal 20 has normally received the transmitted packet, the packet is deleted from the storage unit 1-2.

以上が第7の実施例によるセッション中継装置におけるセッション中継処理の内容である。   The above is the content of the session relay processing in the session relay device according to the seventh embodiment.

以上のように、本実施例では、IPレイヤの送信処理のうち、全てのパケットに共通する処理だけを実施し、それ以外の処理は省略することによって、IPレイヤの送信処理の全てを実施する確率を低く抑えることができ、IPレイヤの処理を軽減することができる。   As described above, in the present embodiment, only the processing common to all packets among the IP layer transmission processing is performed, and all other processing is performed by omitting the other processing. Probability can be kept low, and IP layer processing can be reduced.

本発明の第8の実施例によるセッション中継装置の構成は第2実施例及び第6の実施例と同様であるため、第2の実施例の構成を示すブロック図4、図5を用いて説明する。ここでは第6の実施例との相違点のみを説明する。   Since the configuration of the session relay apparatus according to the eighth embodiment of the present invention is the same as that of the second and sixth embodiments, description will be made with reference to block diagrams 4 and 5 showing the configuration of the second embodiment. To do. Here, only differences from the sixth embodiment will be described.

第8の実施例のセッション中継装置4−0においては、送信プロトコル処理部4−4は、IPレイヤの送信処理のうちで、すべてのパケットに共通する処理を実施する機能を有する。   In the session relay device 4-0 of the eighth embodiment, the transmission protocol processing unit 4-4 has a function of executing processing common to all packets in the IP layer transmission processing.

IPレイヤ処理のうちで全てのパケットに共通するものは、第3の実施例で説明したチェックサム値の計算と、NAT(ネットワークアドレス変換)やIPマスカレードなどが設定されている場合は、これも該当する。   Among the IP layer processing, what is common to all packets is the checksum value calculation described in the third embodiment, and when NAT (network address translation), IP masquerade, etc. are set, this is also the case. Applicable.

チェックサム値の計算は全てのIP送信処理で必要な処理であるが、本発明の第3の実施例によりIP層の送信処理では省略しているので、ここでは対象としない。   The calculation of the checksum value is a process necessary for all IP transmission processes, but is omitted in the IP layer transmission process according to the third embodiment of the present invention.

送信プロトコル処理部4−4は、NATとIPマスカレードが設定されている場合はIP層の処理でかならずこれを実施し、 NATとIPマスカレードが設定されていない場合は、これを省略し、ネットワーク出力部4−5にパケットを出力するよう指示する。   If NAT and IP masquerade are set, the transmission protocol processing unit 4-4 always performs this in the IP layer processing. Instructs the unit 4-5 to output the packet.

次いで、図12を参照して第8の実施例によるセッション中継装置による処理について説明する。図12は第8の実施例によるセッション中継装置の処理の概要を示すフローチャートである。   Next, processing by the session relay device according to the eighth embodiment will be described with reference to FIG. FIG. 12 is a flowchart showing an outline of processing of the session relay device according to the eighth embodiment.

セッション中継装置4−0は、ネットワーク入力部4−1に送信端末10からのパケットが到着することによって処理を開始する。   The session relay device 4-0 starts processing when a packet from the transmission terminal 10 arrives at the network input unit 4-1.

ステップ12−1では、ネットワーク入力部4−1が該パケットに対してTCPとIPのチェックサム値を計算する。   In step 12-1, the network input unit 4-1 calculates TCP and IP checksum values for the packet.

ステップ12−2で、チェックサム値の計算結果がパケットに格納されていたチェックサム値と等しいかどうかを判定し、異なった場合はパケットを廃棄し、処理を終了する。チェックサム値の計算結果がパケットに格納されていたチェックサム値と等しければ、ステップ12−3へ移行する。   In step 12-2, it is determined whether or not the checksum value calculation result is equal to the checksum value stored in the packet. If the checksum value is different, the packet is discarded and the process is terminated. If the checksum value calculation result is equal to the checksum value stored in the packet, the process proceeds to step 12-3.

ステップ12−3では、ネットワーク入力部4−1が記憶部4−2へと該パケットを格納する。ネットワーク入力部4−1は受信プロトコル処理部4−3へ該パケットを格納したことを通知し、ステップ12−4に移行する。   In step 12-3, the network input unit 4-1 stores the packet in the storage unit 4-2. The network input unit 4-1 notifies the reception protocol processing unit 4-3 that the packet has been stored, and proceeds to step 12-4.

ステップ12−4では、受信プロトコル処理部4−4が、IP受信処理を実施する。ただし、IPのチェックサム値の確認は行わない。   In Step 12-4, the reception protocol processing unit 4-4 performs IP reception processing. However, the IP checksum value is not confirmed.

ステップ12−5では、IP受信処理が正常終了した場合、ステップ12−6へ移行する。そうでない場合は記憶部4−2から該パケットを削除し処理を終了する。   In Step 12-5, when the IP reception process is normally completed, the process proceeds to Step 12-6. Otherwise, the packet is deleted from the storage unit 4-2, and the process ends.

ステップ12−6では、受信プロトコル処理部4−3が、記憶部4−2に格納された該パケットを参照し、該パケットに対してTCPの規定に従った受信処理を実施する。   In step 12-6, the reception protocol processing unit 4-3 refers to the packet stored in the storage unit 4-2, and performs a reception process according to the TCP rules on the packet.

ステップ12−7では、TCPの受信処理が正常に終了した場合は、送信プロトコル処理部4−4に該パケットの格納位置を通知し、ステップ12−8に移行する。そうでない場合は記憶部4−2から該パケットを削除し処理を終了する。   In step 12-7, when the TCP reception process is normally completed, the storage location of the packet is notified to the transmission protocol processing unit 4-4, and the process proceeds to step 12-8. Otherwise, the packet is deleted from the storage unit 4-2, and the process ends.

ステップ12−8では、送信プロトコル処理部4−4が、受信プロトコル処理部4−3から通知され記憶部4−2に格納された該パケットを参照し、該パケットに対してTCPの送信処理を実施する。ここで、IPの処理のうちNATが設定されていた場合は、NATの処理をする。TCPの送信処理においてパケットヘッダを更新する必要がある場合は、記憶部4−2に格納された該パケットヘッダを上書きし更新する。ただし、チェックサムについては該パケットの更新部分についてのみTCPとIPのチェックサム値の差分を計算し、パケット内に格納されているチェックサム値に計算した差分を反映させるよう更新する。   In step 12-8, the transmission protocol processing unit 4-4 refers to the packet notified from the reception protocol processing unit 4-3 and stored in the storage unit 4-2, and performs TCP transmission processing on the packet. carry out. Here, if NAT is set in the IP processing, the NAT processing is performed. When it is necessary to update the packet header in the TCP transmission process, the packet header stored in the storage unit 4-2 is overwritten and updated. However, the checksum is updated so that the difference between the TCP and IP checksum values is calculated only for the updated portion of the packet, and the calculated difference is reflected in the checksum value stored in the packet.

ステップ12−9で、TCPの送信処理の結果、該パケットの送信が可能と判定された場合は、ステップ12−10へ移行する。そうでない場合は、処理を終了する。   If it is determined in step 12-9 that the packet can be transmitted as a result of the TCP transmission process, the process proceeds to step 12-10. If not, the process ends.

ステップ12−10では、送信プロトコル処理部4−4が、IPの送信処理が必要か省略可能かを判定する。IPの送信処理が必要であればステップ12−11へ移行する。そうでなければステップ12−12へ移行する。   In step 12-10, the transmission protocol processing unit 4-4 determines whether IP transmission processing is necessary or can be omitted. If IP transmission processing is necessary, the process proceeds to step 12-11. Otherwise, go to Step 12-12.

ステップ12−11では、送信プロトコル処理部4−4が、記憶部4−2に格納された該パケットを参照し、該パケットに対してIPの送信処理を実施する。   In Step 12-11, the transmission protocol processing unit 4-4 refers to the packet stored in the storage unit 4-2, and performs IP transmission processing on the packet.

ステップ12−12では、送信プロトコル処理部4−4がネットワーク出力部4−5へ該パケットが格納された位置を通知し、該パケットを出力することを指示する。   In step 12-12, the transmission protocol processing unit 4-4 notifies the network output unit 4-5 of the position where the packet is stored, and instructs to output the packet.

ステップ12−13では、ネットワーク出力部4−5が指示に基づき記憶部4−2から該パケットを取り出し、受信端末20へ送信する。   In step 12-13, the network output unit 4-5 extracts the packet from the storage unit 4-2 based on the instruction, and transmits the packet to the receiving terminal 20.

ステップ12−14で、ネットワーク出力部4−5は、送信したパケットが、受信端末20で正常に受信されたことを確認した場合、該パケットの削除を送信プロトコル処理部4−4に依頼する。これを受けて、送信プロトコル処理部4−4は、該パケットを削除する。   In step 12-14, when the network output unit 4-5 confirms that the transmitted packet is normally received by the receiving terminal 20, the network output unit 4-5 requests the transmission protocol processing unit 4-4 to delete the packet. In response to this, the transmission protocol processing unit 4-4 deletes the packet.

以上が第8の実施例によるセッション中継装置におけるセッション中継処理の内容である。   The above is the content of the session relay processing in the session relay device according to the eighth embodiment.

以上のように、本実施例では、IPレイヤの送信処理のうち、全てのパケットに共通する処理だけを実施し、それ以外の処理は省略することによって、IPレイヤの送信処理の全てを実施する確率を低く抑えることができ、IPレイヤの処理を軽減することができる。   As described above, in the present embodiment, only the processing common to all packets among the IP layer transmission processing is performed, and all other processing is performed by omitting the other processing. Probability can be kept low, and IP layer processing can be reduced.

図13は本発明の第9の実施例によるセッション中継装置の構成を示すブロック図である。この実施例において、セッション中継装置15−0は、ネットワークからパケットを受信し、TCP/IPの受信処理をし、メモリ管理部を利用して取得した記憶部15−2のアドレスにパケットを格納するネットワーク入力処理部15−1、メモリ管理部15−4によって管理されパケットが格納される記憶部15−2、記憶部15−2に格納されネットワーク入力処理部15−1での受信処理が完了したパケットに対してTCP/IPの送信処理を実施し、記憶部15−2から取り出しネットワークへパケットを出力するネットワーク出力処理部15−3、記憶部15−2のアクセス権限とアドレスを管理するメモリ管理部15−4を備えて構成される。   FIG. 13 is a block diagram showing the configuration of the session relay device according to the ninth embodiment of the present invention. In this embodiment, the session relay device 15-0 receives a packet from the network, performs a TCP / IP reception process, and stores the packet at the address of the storage unit 15-2 acquired using the memory management unit. The network input processing unit 15-1 and the storage unit 15-2 managed by the memory management unit 15-4 and stored in the storage unit 15-2, and the reception process in the network input processing unit 15-1 are completed. Memory management for managing the access authority and address of the network output processing unit 15-3, which performs TCP / IP transmission processing on the packet, outputs the packet from the storage unit 15-2, and outputs the packet to the network The unit 15-4 is provided.

本発明によるセッション中継装置では、送信端末10と、セッション中継装置15−0と、受信端末20との接続は第1の実施例と同様であるため、第1の実施例を示す図1を用いて説明する。ここでは第1の実施例との相違点のみを説明する。   In the session relay apparatus according to the present invention, since the connection between the transmission terminal 10, the session relay apparatus 15-0, and the reception terminal 20 is the same as that in the first embodiment, FIG. 1 showing the first embodiment is used. I will explain. Here, only differences from the first embodiment will be described.

本実施例のセッション中継装置15−0は、汎用計算機上で動作し、ネットワーク入力処理部15−1とネットワーク出力処理部15−3はオペレーティングシステムと同等のメモリ管理権限と処理権限を持つメモリ管理部15−4を利用して記憶部15−2にアクセスする。記憶部15−2はオペレーティングシステムとメモリ管理部15−4から特権的にアクセスされるメモリ空間とする。   The session relay device 15-0 of this embodiment operates on a general-purpose computer, and the network input processing unit 15-1 and the network output processing unit 15-3 have memory management authority and processing authority equivalent to those of the operating system. The storage unit 15-2 is accessed using the unit 15-4. The storage unit 15-2 is a memory space that is privilegedly accessed from the operating system and the memory management unit 15-4.

次いで、図14を参照して第9の実施例によるセッション中継装置15−0による処理について説明する。図14は第9の実施例によるセッション中継装置の処理の概要を示すフローチャートである。   Next, processing by the session relay device 15-0 according to the ninth embodiment will be described with reference to FIG. FIG. 14 is a flowchart showing an outline of processing of the session relay device according to the ninth embodiment.

このセッション中継装置15−0は、ネットワーク入力処理部15−1に送信端末10からのパケットが到着することによって処理を開始する。   The session relay device 15-0 starts processing when a packet from the transmission terminal 10 arrives at the network input processing unit 15-1.

ステップ14−1では、ネットワーク入力処理部15−1が該パケットに対してTCPとIPのチェックサム値を計算する。   In step 14-1, the network input processing unit 15-1 calculates a TCP and IP checksum value for the packet.

ステップ14−2で、チェックサム値の計算結果がパケットに格納されていたチェックサム値と等しいかどうかを判定し、異なった場合はパケットを廃棄し、処理を終了する。チェックサム値の計算結果がパケットに格納されていたチェックサム値と等しければ、ステップ14−3へ移行する。   In step 14-2, it is determined whether or not the checksum value calculation result is equal to the checksum value stored in the packet. If the checksum value is different, the packet is discarded and the process is terminated. If the checksum value calculation result is equal to the checksum value stored in the packet, the process proceeds to step 14-3.

ステップ14−3では、ネットワーク入力処理部15−1が記憶部14−2の利用可能なアドレスをメモリ管理部15−4に問い合わせる。これにより、メモリ管理部15−4は記憶部15−2のなかで利用可能な空間のアドレスをネットワーク入力処理部15−1に通知する。   In step 14-3, the network input processing unit 15-1 inquires of the memory management unit 15-4 about available addresses in the storage unit 14-2. As a result, the memory management unit 15-4 notifies the network input processing unit 15-1 of the address of the space available in the storage unit 15-2.

ステップ14−4では、ネットワーク入力処理部14−1はメモリ管理部15−4から通知された該アドレスへ該パケットを格納し、ステップ14−5へ移行する。   In Step 14-4, the network input processing unit 14-1 stores the packet at the address notified from the memory management unit 15-4, and proceeds to Step 14-5.

ステップ14−5では、ネットワーク入力処理部15−1が、IP受信処理を実施する。ただし、IPのチェックサム値の確認は行わない。   In Step 14-5, the network input processing unit 15-1 performs an IP reception process. However, the IP checksum value is not confirmed.

ステップ14−6で、IP受信処理が正常終了した場合、ステップ14−7へ移行する。そうでない場合はメモリ管理部15−4に該パケットが格納された空間を開放するよう指示し、メモリ管理部15−4は記憶部15−2の該パケットが格納された空間を削除し処理を終了する。   In step 14-6, when the IP reception process is normally completed, the process proceeds to step 14-7. If not, the memory management unit 15-4 is instructed to release the space where the packet is stored, and the memory management unit 15-4 deletes the space where the packet is stored in the storage unit 15-2 and performs processing. finish.

ステップ14−7では、ネットワーク入力処理部15−1が、記憶部15−2に格納された該パケットを参照し、該パケットに対してTCPの規定に従った受信処理を実施する。   In step 14-7, the network input processing unit 15-1 refers to the packet stored in the storage unit 15-2, and performs a reception process according to the TCP rules on the packet.

ステップ14−8では、TCPの受信処理が正常に終了した場合は、ネットワーク出力処理部15−3に該パケットの格納位置を通知し、次のステップへ進む。そうでない場合は処理を終了する。   In step 14-8, when the TCP reception processing is normally completed, the storage position of the packet is notified to the network output processing unit 15-3, and the process proceeds to the next step. Otherwise, the process is terminated.

ステップ14−9では、ネットワーク出力処理部15−3が、ネットワーク入力処理部15−1から通知され記憶部15−2に格納された該パケットを参照し、該パケットに対してTCPの送信処理を実施する。IPの処理のうちNATが設定されていた場合は、NATの処理をする。TCPの送信処理においてパケットヘッダを更新する必要がある場合は、記憶部15−2に格納された該パケットヘッダを上書きし更新する。ただし、チェックサムについては該パケットの更新部分についてのみチェックサム値の差分を計算し、パケット内に格納されているチェックサム値に計算した差分を反映させるよう更新する。   In step 14-9, the network output processing unit 15-3 refers to the packet notified from the network input processing unit 15-1 and stored in the storage unit 15-2, and performs TCP transmission processing on the packet. carry out. If NAT is set in IP processing, NAT processing is performed. When it is necessary to update the packet header in the TCP transmission process, the packet header stored in the storage unit 15-2 is overwritten and updated. However, for the checksum, the checksum value difference is calculated only for the updated part of the packet, and the checksum is updated to reflect the calculated difference in the checksum value stored in the packet.

ステップ14−10では、TCPの送信処理の結果、該パケットの送信が可能と判定された場合は、ステップ14−11へ移行する。そうでない場合は、処理を終了する。   In step 14-10, when it is determined that the packet can be transmitted as a result of the TCP transmission process, the process proceeds to step 14-11. If not, the process ends.

ステップ14−11では、ネットワーク出力処理部15−3が、IPの送信処理が必要か省略可能かを判定する。IPの送信処理が必要であればステップ14−12へ移行する。そうでなければステップ14−13へ移行する。   In Step 14-11, the network output processing unit 15-3 determines whether IP transmission processing is necessary or can be omitted. If IP transmission processing is necessary, the process proceeds to step 14-12. Otherwise, go to Step 14-13.

ステップ14−12では、ネットワーク出力処理部15−3が、記憶部15−2に格納された該パケットを参照し、該パケットに対してIPの送信処理を実施する。   In Step 14-12, the network output processing unit 15-3 refers to the packet stored in the storage unit 15-2, and performs IP transmission processing on the packet.

ステップ14−13では、ネットワーク出力処理部15−3が記憶部15−2から該パケットを取り出し、受信端末20へと該パケットを送出する。   In step 14-13, the network output processing unit 15-3 extracts the packet from the storage unit 15-2 and sends the packet to the receiving terminal 20.

ステップ14−14では、受信端末20で該パケットが正常に受信されたことを確認した場合、該パケットを記憶部15−2から削除するようメモリ管理部15−4に依頼する。これを受けて、メモリ管理部15−4は該パケットが格納された記憶部15−2の空間を開放し、処理を終了する。   In step 14-14, when the receiving terminal 20 confirms that the packet is normally received, the memory management unit 15-4 is requested to delete the packet from the storage unit 15-2. In response to this, the memory management unit 15-4 releases the space of the storage unit 15-2 in which the packet is stored, and ends the process.

以上が第9の実施例によるセッション中継装置におけるセッション中継処理の内容である。   The above is the content of the session relay processing in the session relay device according to the ninth embodiment.

以上のように、本実施例では、ネットワーク入力処理部15−1とネットワーク出力処理部15−3が同じメモリ管理部15−4を利用することにより、パケットが入力された際に確保した記憶部15−2のメモリ空間を引き続き利用し、受信のプロトコル処理、送信のプロトコル処理、ネットワークへのパケットの出力まで実施する。これにより、処理の手順が複雑化した場合でも、それぞれの処理部などから安全に同じ記憶部を利用することが可能となる。   As described above, in this embodiment, the network input processing unit 15-1 and the network output processing unit 15-3 use the same memory management unit 15-4, so that the storage unit secured when a packet is input. The memory space of 15-2 is continuously used, and the processing up to reception protocol processing, transmission protocol processing, and packet output to the network is performed. As a result, even when the processing procedure is complicated, it is possible to safely use the same storage unit from each processing unit.

図15は本発明の第10の実施例によるセッション中継装置の構成を示すブロック図である。この実施例において、セッション中継装置17−0は、ネットワークからパケットを受信し、メモリ管理部を利用して取得した記憶部17−2の空間にパケットを格納するネットワーク入力部17−1、到着したパケットが格納される記憶部17−2、記憶部17−2に格納されたパケットに対してセッション中継を実現するレイヤまでの受信処理を実施し、送信プロトコル処理部にパケットの処理を指示する受信プロトコル処理部17−3、記憶部17−2に格納され受信プロトコル処理部17−3での受信処理が完了したパケットに対してセッション中継を実現するレイヤまでの送信処理を実施する送信プロトコル処理部17−4と、送信プロトコル処理部17−3と受信プロトコル処理部17−4の指示に基づいて記憶部17−2からパケットを取り出しネットワークへと出力するネットワーク出力部17−5、記憶部17−2のアクセス権限とアドレスを管理するメモリ管理部17−6を備えて構成される。   FIG. 15 is a block diagram showing a configuration of a session relay device according to the tenth embodiment of the present invention. In this embodiment, the session relay device 17-0 has received a packet from the network, and has arrived at the network input unit 17-1, which stores the packet in the space of the storage unit 17-2 obtained using the memory management unit. The storage unit 17-2 in which the packet is stored and the packet stored in the storage unit 17-2 are subjected to reception processing up to the layer that realizes session relay, and the transmission protocol processing unit is instructed to process the packet. Protocol processing unit 17-3, transmission protocol processing unit that performs transmission processing up to a layer that realizes session relay for a packet that is stored in the storage unit 17-2 and that has been received by the reception protocol processing unit 17-3 17-4, from the storage unit 17-2 based on the instructions of the transmission protocol processing unit 17-3 and the reception protocol processing unit 17-4 Network output unit 17-5 outputs to the network takes out the packet, and a memory management unit 17-6 for managing access rights and address of the storage unit 17-2.

本実施例のセッション中継装置17−0では、送信端末10と、セッション中継装置17−0と、受信端末20との接続は第2の実施例と同様であるため、第2の実施例を示す図2を用いて説明する。ここでは第2の実施例との相違点のみを説明する。   In the session relay device 17-0 of the present embodiment, since the connection between the transmission terminal 10, the session relay device 17-0, and the reception terminal 20 is the same as that of the second embodiment, the second embodiment will be described. This will be described with reference to FIG. Here, only differences from the second embodiment will be described.

本実施例のセッション中継装置17−0は、汎用計算機上で動作し、ネットワーク入力部17−1とネットワーク出力部17−5がネットワークインタフェースカードであり、受信プロトコル処理部17−3と送信プロトコル処理部17−4がオペレーティングシステムと同等のメモリ管理権限と処理権限を持つメモリ管理部17−6を利用して記憶部17−2を管理する。記憶部17−2はオペレーティングシステムとメモリ管理部から特権的にアクセスされるメモリ空間とする。   The session relay device 17-0 of this embodiment operates on a general-purpose computer, the network input unit 17-1 and the network output unit 17-5 are network interface cards, and the reception protocol processing unit 17-3 and transmission protocol processing. The unit 17-4 manages the storage unit 17-2 by using the memory management unit 17-6 having the same memory management authority and processing authority as those of the operating system. The storage unit 17-2 is a memory space that is privilegedly accessed from the operating system and the memory management unit.

次いで、図16を参照して第10の実施例によるセッション中継装置15−0による処理について説明する。図16は第10の実施例によるセッション中継装置の処理の概要を示すフローチャートである。   Next, processing performed by the session relay device 15-0 according to the tenth embodiment will be described with reference to FIG. FIG. 16 is a flowchart showing an outline of processing of the session relay device according to the tenth embodiment.

このセッション中継装置17−0は、ネットワーク入力部17−1に送信端末10からのパケットが到着することによって処理を開始する。   The session relay device 17-0 starts processing when a packet from the transmission terminal 10 arrives at the network input unit 17-1.

ステップ16−1では、ネットワーク入力部17−1が該パケットに対してTCPとIPのチェックサム値を計算する。   In step 16-1, the network input unit 17-1 calculates TCP and IP checksum values for the packet.

ステップ16−2で、チェックサム値の計算結果がパケットに格納されていたチェックサム値と等しいかどうかを判定し、異なった場合はパケットを廃棄し、処理を終了する。チェックサム値の計算結果がパケットに格納されていたチェックサム値と等しければ、ステップ16−3へ移行する。   In Step 16-2, it is determined whether or not the checksum value calculation result is equal to the checksum value stored in the packet. If the checksum value is different, the packet is discarded and the process is terminated. If the checksum value calculation result is equal to the checksum value stored in the packet, the process proceeds to step 16-3.

ステップ16−3では、ネットワーク入力部17−1が記憶部17−2の利用可能なアドレスをメモリ管理部17−6に問い合わせる。メモリ管理部17−6は記憶部17−2のなかで利用可能な空間のアドレスをネットワーク入力部17−1に通知する。   In step 16-3, the network input unit 17-1 inquires of the memory management unit 17-6 about available addresses of the storage unit 17-2. The memory management unit 17-6 notifies the network input unit 17-1 of the address of the space that can be used in the storage unit 17-2.

ステップ16−4では、ネットワーク入力部17−1がメモリ管理部17−6から通知された記憶部17−2の該アドレスへと該パケットを格納し、受信プロトコル処理部17−3へ該パケットを格納したことを通知する。そして、ステップ16−5へ移行する。   In step 16-4, the network input unit 17-1 stores the packet at the address of the storage unit 17-2 notified from the memory management unit 17-6, and transmits the packet to the reception protocol processing unit 17-3. Notify that it has been stored. Then, the process proceeds to step 16-5.

ステップ16−5では、受信プロトコル処理部17−3が、IP受信処理を実施する。ただし、IPのチェックサム値の確認は行わない。   In Step 16-5, the reception protocol processing unit 17-3 performs an IP reception process. However, the IP checksum value is not confirmed.

ステップ16−6で、IP受信処理が正常終了した場合、ステップ16−7へ移行する。そうでない場合は記憶部17−2から該パケットを削除し処理を終了する。   In step 16-6, when the IP reception process is normally completed, the process proceeds to step 16-7. Otherwise, the packet is deleted from the storage unit 17-2 and the process ends.

ステップ16−7では、受信プロトコル処理部17−3が、記憶部17−2に格納された該パケットを参照し、該パケットに対してTCPの規定に従った受信処理を実施する。   In Step 16-7, the reception protocol processing unit 17-3 refers to the packet stored in the storage unit 17-2, and performs a reception process according to the TCP rules on the packet.

ステップ16−8では、TCPの受信処理が正常に終了した場合は、送信プロトコル処理部17−4に該パケットの格納位置を通知し、次のステップへ移行する。そうでない場合は記憶部17−2から該パケットを削除し処理を終了する。   In step 16-8, when the TCP reception process is completed normally, the transmission protocol processing unit 17-4 is notified of the storage location of the packet, and the process proceeds to the next step. Otherwise, the packet is deleted from the storage unit 17-2 and the process ends.

ステップ16−9では、送信プロトコル処理部17−4が、受信プロトコル処理部17−3から通知され記憶部17−2に格納された該パケットを参照し、該パケットに対してTCPの送信処理を実施する。IPの処理のうちNATが設定されていた場合は、NATの処理をする。TCPの送信処理においてパケットヘッダを更新する必要がある場合は、記憶部17−2に格納された該パケットヘッダを上書きし更新する。ただし、チェックサムについては該パケットの更新部分についてのみTCPとIPのチェックサム値の差分を計算し、パケット内に格納されているチェックサム値に計算した差分を反映させるよう更新する。   In step 16-9, the transmission protocol processing unit 17-4 refers to the packet notified from the reception protocol processing unit 17-3 and stored in the storage unit 17-2, and performs TCP transmission processing on the packet. carry out. If NAT is set in IP processing, NAT processing is performed. When it is necessary to update the packet header in the TCP transmission process, the packet header stored in the storage unit 17-2 is overwritten and updated. However, the checksum is updated so that the difference between the TCP and IP checksum values is calculated only for the updated portion of the packet, and the calculated difference is reflected in the checksum value stored in the packet.

ステップ16−10では、TCPの送信処理の結果、該パケットの送信が可能と判定された場合は、ステップ16−11へ移行する。そうでない場合は、処理を終了する。   If it is determined in step 16-10 that the packet can be transmitted as a result of the TCP transmission process, the process proceeds to step 16-11. If not, the process ends.

ステップ16−11では、送信プロトコル処理部17−4が、IPの送信処理が必要か省略可能かを判定する。IPの送信処理が必要であればステップ16−12へ移行する。そうでなければステップ16−13へ移行する。   In Step 16-11, the transmission protocol processing unit 17-4 determines whether IP transmission processing is necessary or can be omitted. If IP transmission processing is necessary, the process proceeds to step 16-12. Otherwise, go to Step 16-13.

ステップ16−12では、送信プロトコル処理部17−4が、記憶部17−2に格納された該パケットを参照し、該パケットに対してIPの送信処理を実施する。   In Step 16-12, the transmission protocol processing unit 17-4 refers to the packet stored in the storage unit 17-2 and performs IP transmission processing on the packet.

ステップ16−13では、送信プロトコル処理部17−4がネットワーク出力部17−5へ該パケットが格納された位置を通知し、該パケットを出力することを指示する。   In step 16-13, the transmission protocol processing unit 17-4 notifies the network output unit 17-5 of the location where the packet is stored, and instructs to output the packet.

ステップ16−14では、ネットワーク出力部17−5は記憶部17−2から該パケットを取り出し、受信端末20へと送信する。   In Step 16-14, the network output unit 17-5 extracts the packet from the storage unit 17-2 and transmits it to the receiving terminal 20.

ステップ16−15では、ネットワーク出力部17−5は、該パケットが受信端末20で正常に受信されたことを確認した場合、該パケットの削除を送信プロトコル処理部17−4に依頼する。これを受けて、送信プロトコル処理部17−4は、該パケットを記憶部17−2から削除するようメモリ管理部17−6に依頼する。メモリ管理部17−6は該パケットが格納された記憶部の空間を開放し、処理を終了する。   In step 16-15, when the network output unit 17-5 confirms that the packet is normally received by the receiving terminal 20, the network output unit 17-5 requests the transmission protocol processing unit 17-4 to delete the packet. In response to this, the transmission protocol processing unit 17-4 requests the memory management unit 17-6 to delete the packet from the storage unit 17-2. The memory management unit 17-6 releases the space of the storage unit in which the packet is stored, and ends the process.

以上が第10の実施例によるセッション中継装置におけるセッション中継処理の内容である。   The above is the content of the session relay processing in the session relay device according to the tenth embodiment.

以上のように、本実施例では、ネットワーク入力部17−1と、受信プロトコル処理部17−3と、送信プロトコル処理部17−4が同じメモリ管理部17−6を利用することにより、パケットが入力された際に確保した記憶部17−2のメモリ空間を引き続き利用し、受信のプロトコル処理、送信のプロトコル処理、ネットワークへのパケットの出力まで実施する。これにより、処理の手順が複雑化した場合でも、それぞれの処理部などから安全に同じ記憶部を利用することが可能となる。   As described above, in this embodiment, the network input unit 17-1, the reception protocol processing unit 17-3, and the transmission protocol processing unit 17-4 use the same memory management unit 17-6, so that packets are transmitted. The memory space of the storage unit 17-2 secured at the time of input is continuously used, and the processes up to reception protocol processing, transmission protocol processing, and packet output to the network are performed. As a result, even when the processing procedure is complicated, it is possible to safely use the same storage unit from each processing unit.

図17は本発明の第11の実施例によるセッション中継装置の構成を示すブロック図である。本実施例において、セッション中継装置19−0は、ネットワークからパケットを受信し、パケットが属するセッションを判定しセッション中継を実施するか決定し、TCP/IPの受信処理をし、記憶部19−2もしくはアプリケーションデータ記憶部19−5にパケットを格納するネットワーク入力処理部19−1、パケットが格納される記憶部19−2、記憶部19−2に格納されネットワーク入力処理部19−1での受信処理が完了したパケットに対してTCP/IPの送信処理を実施し、記憶部19−2から取り出しネットワークへパケットを出力するネットワーク出力処理部19−3、アプリケーション処理部から参照・操作可能なデータが格納されるアプリケーションデータ記憶部19−5、任意の処理を実施するアプリケーション処理部19−4を備えて構成される。   FIG. 17 is a block diagram showing the configuration of the session relay device according to the eleventh embodiment of the present invention. In this embodiment, the session relay device 19-0 receives a packet from the network, determines a session to which the packet belongs, determines whether to perform session relay, performs a TCP / IP reception process, and a storage unit 19-2. Alternatively, the network input processing unit 19-1 for storing the packet in the application data storage unit 19-5, the storage unit 19-2 for storing the packet, and the reception by the network input processing unit 19-1 stored in the storage unit 19-2 A TCP / IP transmission process is performed on the packet that has been processed, and the network output processing unit 19-3 that extracts the packet from the storage unit 19-2 and outputs the packet to the network. Application data storage unit 19-5 to be stored, application for executing arbitrary processing Configured with a tio emission processing unit 19-4.

本実施例のセッション中継装置19−0では、ネットワーク入力処理部19−1において、ネットワークから入力されたパケットが属するセッションをIPアドレスとポート番号などあらかじめ設定された任意の組み合わせから判定し、TCP/IPの受信処理が完了したのち、セッション中継の処理を実行するか、アプリケーション処理部19−4による処理を実行するかを決定する。   In the session relay apparatus 19-0 of the present embodiment, the network input processing unit 19-1 determines a session to which a packet input from the network belongs from an arbitrary combination set in advance, such as an IP address and a port number. After the IP reception process is completed, it is determined whether to execute the session relay process or the process by the application processing unit 19-4.

セッション中継の処理を実施すると決定された場合は、ネットワーク入力処理部19−1は、記憶部19−2に格納されたデータに対してネットワーク出力処理部19−3での送信処理を実施するようネットワーク出力処理部19−3に指示を出す。ネットワーク入力処理部19−1がアプリケーション処理部19−4による処理を実行すると決定した場合は、記憶部19−2に格納されたパケットデータをアプリケーションデータ記憶部19−5にコピーし、アプリケーション処理部19−4にデータの到着を通知する。アプリケーション処理部19−4では任意の処理を実行する。   When it is determined that the session relay process is to be performed, the network input processing unit 19-1 performs the transmission process in the network output processing unit 19-3 on the data stored in the storage unit 19-2. An instruction is issued to the network output processing unit 19-3. When the network input processing unit 19-1 determines to execute the processing by the application processing unit 19-4, the packet data stored in the storage unit 19-2 is copied to the application data storage unit 19-5, and the application processing unit 19-4 is notified of the arrival of data. The application processing unit 19-4 executes arbitrary processing.

本実施例のセッション中継装置19−0では、送信端末10と、セッション中継装置19−0と、受信端末20との接続は第1の実施例と同様であるため、第1の実施例を示す図2を用いて説明する。ここでは第1の実施例との相違点のみを説明する。   In the session relay device 19-0 of the present embodiment, the connection between the transmission terminal 10, the session relay device 19-0, and the reception terminal 20 is the same as that of the first embodiment, so the first embodiment is shown. This will be described with reference to FIG. Here, only differences from the first embodiment will be described.

次いで、図18を参照して第11の実施例によるセッション中継装置19−0による処理について説明する。図18は第11の実施例によるセッション中継装置の処理の概要を示すフローチャートである。   Next, processing by the session relay device 19-0 according to the eleventh embodiment will be described with reference to FIG. FIG. 18 is a flowchart showing an outline of processing of the session relay device according to the eleventh embodiment.

このセッション中継装置19−0は、ネットワーク入力処理部19−1に送信端末10からのパケットが到着することによって処理を開始する。   The session relay device 19-0 starts processing when a packet from the transmission terminal 10 arrives at the network input processing unit 19-1.

ステップ18−1では、ネットワーク入力処理部19−1が該パケットに対してTCPとIPのチェックサム値を計算する。   In step 18-1, the network input processing unit 19-1 calculates TCP and IP checksum values for the packet.

ステップ18−2では、チェックサム値の計算結果がパケットに格納されていたチェックサム値と等しいかどうかを判定し、異なった場合はパケットを廃棄し、処理を終了する。チェックサム値の計算結果がパケットに格納されていたチェックサム値と等しければ、ステップ18−3へ移行する。   In step 18-2, it is determined whether or not the checksum value calculation result is equal to the checksum value stored in the packet. If the checksum value is different, the packet is discarded and the process is terminated. If the calculation result of the checksum value is equal to the checksum value stored in the packet, the process proceeds to step 18-3.

ステップ18−3では、ネットワーク入力処理部19−1が記憶部19−2へと該パケットを格納し、ステップ18−4へ移行する。   In step 18-3, the network input processing unit 19-1 stores the packet in the storage unit 19-2, and the process proceeds to step 18-4.

ステップ18−4では、ネットワーク入力処理部19−1が、IP受信処理を実施する。ただし、IPのチェックサム値の確認は行わない。   In Step 18-4, the network input processing unit 19-1 performs an IP reception process. However, the IP checksum value is not confirmed.

ステップ18−5では、IP受信処理が正常終了した場合、ステップ18−6へ移行する。そうでない場合は記憶部19−2から該パケットを削除し処理を終了する。   In step 18-5, when the IP reception process is normally completed, the process proceeds to step 18-6. Otherwise, the packet is deleted from the storage unit 19-2 and the process ends.

ステップ18−6では、ネットワーク入力処理部19−1が、記憶部19−2に格納された該パケットを参照し、該パケットに対してTCPの規定に従った受信処理を実施する。   In step 18-6, the network input processing unit 19-1 refers to the packet stored in the storage unit 19-2, and performs a reception process according to the TCP rules on the packet.

ステップ18−7では、TCPの受信処理が正常に終了した場合は、ステップ18−8へ移行する。そうでない場合は処理を終了する。   In step 18-7, when the TCP reception process is normally completed, the process proceeds to step 18-8. Otherwise, the process is terminated.

ステップ18−8では、ネットワーク入力処理部19−1が、記憶部19−2に格納された該パケットに対してセッション中継を実施するかどうかをあらかじめ設定されたIPアドレス、ポート番号など組み合わせにより判定する。セッション中継を実施すると決定した場合は、ネットワーク出力処理部19−3に該パケットの格納位置を通知し、ステップ18−9へ移行する。   In step 18-8, the network input processing unit 19-1 determines whether or not to perform session relay on the packet stored in the storage unit 19-2 by a combination of a preset IP address, port number, and the like. To do. When it is determined that the session relay is to be performed, the storage position of the packet is notified to the network output processing unit 19-3, and the process proceeds to Step 18-9.

そうでない場合は、ステップ18−15にて、記憶部19−3に格納された該パケットをアプリケーションデータ記憶部19−5へコピーし、記憶部19−2から該パケットを削除する。   Otherwise, in step 18-15, the packet stored in the storage unit 19-3 is copied to the application data storage unit 19-5, and the packet is deleted from the storage unit 19-2.

ステップ18−16で、アプリケーション処理部19−4にアプリケーションデータ記憶部19−5における該パケットの格納位置を通知し、ステップ18−17へ移行する。   In step 18-16, the application processing unit 19-4 is notified of the storage position of the packet in the application data storage unit 19-5, and the process proceeds to step 18-17.

ステップ18−17では、アプリケーション処理部19−4がアプリケーションデータ記憶部19−5を参照し任意の処理を実現する。ここでは、アプリケーション処理部19−4の処理内容については特に規定しない。その後、処理を終了する。   In step 18-17, the application processing unit 19-4 refers to the application data storage unit 19-5 to realize arbitrary processing. Here, the processing content of the application processing unit 19-4 is not particularly defined. Thereafter, the process ends.

ステップ18−9では、ネットワーク出力処理部19−3が、ネットワーク入力処理部19−1から通知され記憶部19−2に格納された該パケットを参照し、該パケットに対してTCPの送信処理を実施する。IPの処理のうちNATが設定されていた場合は、NATの処理をする。TCPの送信処理においてパケットヘッダを更新する必要がある場合は、記憶部19−2に格納された該パケットヘッダを上書きし更新する。ただし、チェックサムについては該パケットの更新部分についてのみチェックサム値の差分を計算し、パケット内に格納されているチェックサム値に計算した差分を反映させるよう更新する。   In step 18-9, the network output processing unit 19-3 refers to the packet notified from the network input processing unit 19-1 and stored in the storage unit 19-2, and performs TCP transmission processing on the packet. carry out. If NAT is set in IP processing, NAT processing is performed. When the packet header needs to be updated in the TCP transmission process, the packet header stored in the storage unit 19-2 is overwritten and updated. However, for the checksum, the checksum value difference is calculated only for the updated part of the packet, and the checksum is updated to reflect the calculated difference in the checksum value stored in the packet.

ステップ18−10では、TCPの送信処理の結果、該パケットの送信が可能と判定された場合は、ステップ18−11へ移行する。そうでない場合は、処理を終了する。   In step 18-10, when it is determined that the packet can be transmitted as a result of the TCP transmission process, the process proceeds to step 18-11. If not, the process ends.

ステップ18−11では、ネットワーク出力処理部19−3が、IPの送信処理が必要か省略可能かどうかを判定する。IPの送信処理が必要であればステップ18−12へ移行する。そうでなければステップ18−13へ移行する。   In step 18-11, the network output processing unit 19-3 determines whether IP transmission processing is necessary or can be omitted. If IP transmission processing is necessary, the process proceeds to step 18-12. Otherwise, go to Step 18-13.

ステップ18−12では、ネットワーク出力処理部19−3が、記憶部19−2に格納された該パケットを参照し、該パケットに対してIPの送信処理を実施する。   In step 18-12, the network output processing unit 19-3 refers to the packet stored in the storage unit 19-2, and performs IP transmission processing on the packet.

ステップ18−13では、ネットワーク出力処理部19−3が記憶部19−2から該パケットを取り出し、受信端末20へと該パケットを送信する。   In Step 18-13, the network output processing unit 19-3 extracts the packet from the storage unit 19-2 and transmits the packet to the receiving terminal 20.

ステップ18−14では、受信端末20が該パケットを正常に受信したことを確認した場合には、該パケットを記憶部19−2から削除する。   In step 18-14, when it is confirmed that the receiving terminal 20 has received the packet normally, the packet is deleted from the storage unit 19-2.

以上が第11の実施例によるセッション中継装置におけるセッション中継処理の内容である。   The above is the content of the session relay processing in the session relay device according to the eleventh embodiment.

以上のように、本実施例では、入力されたパケットに対してセッション中継を実施するか、任煮のアプリケーションによる処理を実施するかを決定する機能をもつことにより、高い利便性が得られるようになる。   As described above, in this embodiment, it is possible to obtain high convenience by having a function of determining whether to perform session relay for an input packet or to perform processing by a custom application. become.

図19は本発明の第12の実施例によるセッション中継装置の構成を示すブロック図である。本実施例において、セッション中継装置21−0は、ネットワークからパケットを受信し、記憶部21−2に該パケットを格納するネットワーク入力部21−1、到着したパケットが格納される記憶部21−2、記憶部21−2に格納されたパケットを参照し該パケットが属するセッションを判定し、セッション中継処理を実施するかアプリケーション処理部21−7による処理を実施するか決定するセッション判定部21−8、記憶部21−2に格納されたパケットに対してセッション中継を実現するレイヤまでの受信処理を実施し、送信プロトコル処理部21−4にパケットの処理を指示する、もしくはアプリケーションデータ記憶部21−6にデータをコピーし、アプリケーション処理部21−7にデータの到着を通知する受信プロトコル処理部21−3、記憶部21−2に格納され受信プロトコル処理部21−3での受信処理が完了したパケットに対してセッション中継を実現するレイヤまでの送信処理を実施する送信プロトコル処理部21−4と、送信プロトコル処理部21−3と受信プロトコル処理部21−4の指示に基づいて記憶部21−2からパケットを取り出しネットワークへと出力するネットワーク出力部21−5、アプリケーション処理部から参照・操作可能なデータが格納されるアプリケーションデータ記憶部21−6、任意の処理を実施するアプリケーション処理部21−7を備えて構成される。   FIG. 19 is a block diagram showing a configuration of a session relay device according to the twelfth embodiment of the present invention. In the present embodiment, the session relay device 21-0 receives a packet from the network and stores the packet in the storage unit 21-2. The storage unit 21-2 stores the arrived packet. The session determination unit 21-8 refers to the packet stored in the storage unit 21-2, determines the session to which the packet belongs, and determines whether to perform session relay processing or processing by the application processing unit 21-7. The reception processing up to the layer realizing session relay is performed on the packet stored in the storage unit 21-2, and the packet processing is instructed to the transmission protocol processing unit 21-4, or the application data storage unit 21- 6 is a reception protocol for copying data to 6 and notifying the application processor 21-7 of the arrival of the data. Transmission processing unit 21-3, a transmission protocol processing unit that performs transmission processing up to a layer that realizes session relay for a packet that is stored in the storage unit 21-2 and has been received by the reception protocol processing unit 21-3 21-4, a network output unit 21-5 that takes out a packet from the storage unit 21-2 based on instructions of the transmission protocol processing unit 21-3 and the reception protocol processing unit 21-4, and outputs the packet to the network. An application data storage unit 21-6 that stores data that can be referred to and operated, and an application processing unit 21-7 that performs arbitrary processing are configured.

本実施例のセッション中継装置21−0は、セッション判定部21−8において、ネットワークから入力されたパケットが属するセッションをIPアドレスとポート番号などあらかじめ設定された任意の組み合わせから判定し、受信プロトコル処理部21−3でのTCP/IPの受信処理が完了したのち、セッション中継の処理を実施するか、アプリケーション処理部21−7による処理を実施するかを決定する。   In the session relay device 21-0 of this embodiment, the session determination unit 21-8 determines a session to which a packet input from the network belongs from an arbitrary combination set in advance such as an IP address and a port number, and receives protocol processing After the TCP / IP reception processing in the unit 21-3 is completed, it is determined whether to perform session relay processing or processing by the application processing unit 21-7.

セッション中継の処理を実施すると決定された場合は、受信プロトコル処理部21−3は、記憶部21−2に格納されたデータに対して送信プロトコル処理部21−4での送信処理を実施するよう指示を出す。セッション判定部21−8がアプリケーションによる処理を実施すると決定した場合は、記憶部21−2に格納されたパケットデータをアプリケーションデータ記憶部21−6にコピーし、アプリケーション処理部21−7にデータの到着を通知する。アプリケーション処理部21−7では任意の処理を実現する。   If it is determined that the session relay process is to be performed, the reception protocol processing unit 21-3 performs the transmission process in the transmission protocol processing unit 21-4 on the data stored in the storage unit 21-2. Give instructions. When the session determination unit 21-8 determines to execute the processing by the application, the packet data stored in the storage unit 21-2 is copied to the application data storage unit 21-6, and the data is stored in the application processing unit 21-7. Notify of arrival. The application processing unit 21-7 implements arbitrary processing.

次いで、図20を参照して第12の実施例によるセッション中継装置21−0による処理について説明する。図20は第12の実施例によるセッション中継装置の処理の概要を示すフローチャートである。   Next, processing by the session relay device 21-0 according to the twelfth embodiment will be described with reference to FIG. FIG. 20 is a flowchart showing an outline of processing of the session relay device according to the twelfth embodiment.

このセッション中継装置21−0は、ネットワーク入力部21−1に送信端末10からのパケットが到着することによって処理を開始する。   The session relay device 21-0 starts processing when a packet from the transmission terminal 10 arrives at the network input unit 21-1.

ステップ20−1では、ネットワーク入力部21−1が該パケットに対してTCPとIPのチェックサム値を計算する。   In step 20-1, the network input unit 21-1 calculates TCP and IP checksum values for the packet.

ステップ20−2では、チェックサム値の計算結果がパケットに格納されていたチェックサム値と等しいかどうかを判定し、異なった場合はパケットを廃棄し、処理を終了する。チェックサム値の計算結果がパケットに格納されていたチェックサム値と等しければ、ステップ20−3へ移行する。   In Step 20-2, it is determined whether or not the checksum value calculation result is equal to the checksum value stored in the packet. If the checksum value is different, the packet is discarded and the process is terminated. If the checksum value calculation result is equal to the checksum value stored in the packet, the process proceeds to step 20-3.

ステップ20−3では、ネットワーク入力部21−1が記憶部21−2へと該パケットを格納し、受信プロトコル処理部21−3へ該パケットを格納したことを通知する。   In step 20-3, the network input unit 21-1 stores the packet in the storage unit 21-2 and notifies the reception protocol processing unit 21-3 that the packet has been stored.

ステップ20−4では、受信プロトコル処理部21−4が、IP受信処理を実施する。ただし、IPのチェックサム値の確認は行わない。   In Step 20-4, the reception protocol processing unit 21-4 performs IP reception processing. However, the IP checksum value is not confirmed.

ステップ20−5では、IP受信処理が正常終了した場合、ステップ20−6へ移行する。そうでない場合は記憶部21−2から該パケットを削除し処理を終了する。   In Step 20-5, when the IP reception process is normally completed, the process proceeds to Step 20-6. Otherwise, the packet is deleted from the storage unit 21-2 and the process ends.

ステップ20−6では、セッション判定部21−8が、記憶部21−2に格納された該パケットに対してセッション中継を実施するかどうかをあらかじめ設定されたIPアドレス、ポート番号など組み合わせにより判定する。セッション中継を実施すると決定した場合は、受信プロトコル処理部21−3に記憶部21−2における該パケットの格納位置を通知し、該パケットの送信処理を実施するよう指示する。そうでない場合は、記憶部21−2に格納された該パケットをアプリケーションデータ記憶部21−6へコピーするよう指示する。   In step 20-6, the session determination unit 21-8 determines whether or not to perform session relay for the packet stored in the storage unit 21-2 by a combination of a preset IP address, port number, and the like. . When it is determined that the session relay is to be performed, the reception protocol processing unit 21-3 is notified of the storage position of the packet in the storage unit 21-2 and instructed to perform the transmission process of the packet. Otherwise, an instruction is given to copy the packet stored in the storage unit 21-2 to the application data storage unit 21-6.

ステップ20−7では、受信プロトコル処理部21−3が、記憶部21−2に格納された該パケットを参照し、該パケットに対してTCPの規定に従った受信処理を実施する。   In step 20-7, the reception protocol processing unit 21-3 refers to the packet stored in the storage unit 21-2, and performs a reception process according to the TCP rules on the packet.

ステップ20−8では、TCPの受信処理が正常に終了した場合は、ステップ20−9に移行する。そうでない場合は記憶部から該パケットを削除し処理を終了する。   In step 20-8, when the TCP reception process is normally completed, the process proceeds to step 20-9. Otherwise, the packet is deleted from the storage unit and the process is terminated.

ステップ20−9では、ステップ20−6でセッション判定部21−8が判定した結果に基づき、セッション判定部21−8が、記憶部21−2に格納された該パケットに対してセッション中継を実施することを予め設定されたIPアドレス、ポート番号など組み合わせにより判定していた場合は、送信プロトコル処理部21−4に該パケットの格納位置を通知しステップ20−10へ移行する。そうでない場合は、ステップ20−17へ移行する。   In step 20-9, based on the result determined by the session determination unit 21-8 in step 20-6, the session determination unit 21-8 performs session relay on the packet stored in the storage unit 21-2. If it is determined based on a combination of a preset IP address, port number, etc., the storage location of the packet is notified to the transmission protocol processing unit 21-4, and the process proceeds to Step 20-10. Otherwise, go to Step 20-17.

ステップ20−17では、受信プロトコル処理部21−3が記憶部21−2に格納された該パケットをアプリケーションデータ記憶部21−6へコピーし、記憶部21−2から該パケットを削除する。   In Step 20-17, the reception protocol processing unit 21-3 copies the packet stored in the storage unit 21-2 to the application data storage unit 21-6, and deletes the packet from the storage unit 21-2.

また、ステップ20−18では、アプリケーション処理部21−7にアプリケーションデータ記憶部21−6における該パケットの格納位置を通知する。   In step 20-18, the application processing unit 21-7 is notified of the storage location of the packet in the application data storage unit 21-6.

ステップ20−19では、アプリケーション処理部21−7がアプリケーションデータ記憶部21−6を参照し任意の処理を実行する。ここでは、アプリケーション処理部19−4の処理内容については特に規定しない。その後、処理を終了する。   In step 20-19, the application processing unit 21-7 refers to the application data storage unit 21-6 and executes an arbitrary process. Here, the processing content of the application processing unit 19-4 is not particularly defined. Thereafter, the process ends.

ステップ20−10では、送信プロトコル処理部21−4が、受信プロトコル処理部21−3から通知され記憶部21−2に格納された該パケットを参照し、該パケットに対してTCPの送信処理を実施する。IPの処理のうちNATが設定されていた場合は、NATの処理をする。TCPの送信処理においてパケットヘッダを更新する必要がある場合は、記憶部21−2に格納された該パケットヘッダを上書きし更新する。ただし、チェックサムについては該パケットの更新部分についてのみTCPとIPのチェックサム値の差分を計算し、パケット内に格納されているチェックサム値に計算した差分を反映させるよう更新する。   In step 20-10, the transmission protocol processing unit 21-4 refers to the packet notified from the reception protocol processing unit 21-3 and stored in the storage unit 21-2, and performs TCP transmission processing on the packet. carry out. If NAT is set in IP processing, NAT processing is performed. When it is necessary to update the packet header in the TCP transmission process, the packet header stored in the storage unit 21-2 is overwritten and updated. However, the checksum is updated so that the difference between the TCP and IP checksum values is calculated only for the updated portion of the packet, and the calculated difference is reflected in the checksum value stored in the packet.

ステップ20−11で、TCPの送信処理の結果、該パケットの送信が可能と判定された場合は、ステップ20−12へ移行する。そうでない場合は、処理を終了する。   If it is determined in step 20-11 that the packet can be transmitted as a result of the TCP transmission process, the process proceeds to step 20-12. If not, the process ends.

ステップ20−12では、送信プロトコル処理部21−4が、IPの送信処理が必要か省略可能かを判定する。IPの送信処理が必要であればステップ20−13へ移行する。そうでなければステップ20−14へ移行する。   In Step 20-12, the transmission protocol processing unit 21-4 determines whether IP transmission processing is necessary or can be omitted. If IP transmission processing is necessary, the process proceeds to step 20-13. Otherwise, go to step 20-14.

ステップ20−13では、送信プロトコル処理部21−4が、記憶部21−2に格納された該パケットを参照し、該パケットに対してIPの送信処理を実施する。   In step 20-13, the transmission protocol processing unit 21-4 refers to the packet stored in the storage unit 21-2 and performs IP transmission processing on the packet.

ステップ20−14では、送信プロトコル処理部21−4がネットワーク出力部21−5へ該パケットが格納された位置を通知し、該パケットを出力することを指示する。   In step 20-14, the transmission protocol processing unit 21-4 notifies the network output unit 21-5 of the location where the packet is stored, and instructs to output the packet.

ステップ20−15では、ネットワーク出力部21−5は記憶部21−2から該パケットを取り出し、受信端末20へと送信する。   In step 20-15, the network output unit 21-5 extracts the packet from the storage unit 21-2 and transmits it to the receiving terminal 20.

ステップ20−16では、ネットワーク出力部21−5は、送信したパケットが受信端末20で正常に受信されたことを確認した場合、該パケットの削除を送信プロトコル処理部21−4に依頼する。これを受けて、送信プロトコル処理部21−4は、該パケットを削除する。   In step 20-16, when the network output unit 21-5 confirms that the transmitted packet is normally received by the receiving terminal 20, the network output unit 21-5 requests the transmission protocol processing unit 21-4 to delete the packet. In response to this, the transmission protocol processing unit 21-4 deletes the packet.

以上が第12の実施例によるセッション中継装置におけるセッション中継処理の内容である。   The above is the content of the session relay processing in the session relay device according to the twelfth embodiment.

以上のように、本実施例では、入力されたパケットに対してセッション中継を実施するか、任煮のアプリケーションによる処理を実施するかをセッション判定部21−8が判定し、送信プロトコル処理部21−4がセッション判定部21−8の指示に基づきアプリケーション処理部21−7に処理を引き継ぐ機能を備えることにより、高い利便性が得られるようになる。   As described above, in this embodiment, the session determination unit 21-8 determines whether to perform session relay on an input packet or to perform processing by a custom application, and the transmission protocol processing unit 21 -4 has a function of taking over the processing to the application processing unit 21-7 based on an instruction from the session determination unit 21-8, so that high convenience can be obtained.

本実施例によるセッション中継装置は、上記各構成要素をハードウェア的に実現することは勿論として、例えば、プログラム制御可能なコンピュータ処理装置(CPU)上で、中継処理を行うセッション中継ログラム(アプリケーション)をロードして実行することにより、上記各構成要素の機能をソフトウェア的に実現し、以下に述べる処理を実行するシステムとして提供することができる。このセッション中継ログラムは、磁気ディスク、半導体メモリその他の記録媒体に格納され、その記録媒体からコンピュータ処理装置にロードされ、コンピュータ処理装置の動作を制御することにより、遅延時間計算を含むタイミング解析に必要な各機能を実現する。   The session relay apparatus according to the present embodiment realizes each of the above components in hardware, and, for example, a session relay program (application) that performs relay processing on a computer processing apparatus (CPU) that can be controlled by a program. Can be provided as a system that implements the functions of the above-described components in software and executes the processing described below. This session relay program is stored in a magnetic disk, semiconductor memory, or other recording medium, loaded from the recording medium to a computer processing device, and necessary for timing analysis including delay time calculation by controlling the operation of the computer processing device. Each function is realized.

以上好ましい実施例をあげて本発明を説明したが、本発明は必ずしも上記実施例に限定されるものではなく、その技術的思想の範囲内において様々に変形して実施することができる。   Although the present invention has been described with reference to the preferred embodiments, the present invention is not necessarily limited to the above embodiments, and various modifications can be made within the scope of the technical idea.

第1の実施例におけるセッション中継装置の構成を示すブロック図である。It is a block diagram which shows the structure of the session relay apparatus in a 1st Example. 第1の実施例におけるセッション中継装置及び送信端末、受信端末の間のデータの流れを示したブロック図である。It is the block diagram which showed the flow of the data between the session relay apparatus in a 1st Example, a transmission terminal, and a receiving terminal. 第2の実施例におけるセッション中継装置の処理の概要を示すフローチャートである。It is a flowchart which shows the outline | summary of a process of the session relay apparatus in a 2nd Example. 第2の実施例におけるセッション中継装置の構成を示すブロック図である。It is a block diagram which shows the structure of the session relay apparatus in a 2nd Example. 第2の実施例におけるセッション中継装置及び送信端末、受信端末の間のデータの流れを示したブロック図である。It is the block diagram which showed the flow of the data between the session relay apparatus in a 2nd Example, a transmission terminal, and a receiving terminal. 第2の実施例におけるセッション中継装置の処理の概要を示すフローチャートである。It is a flowchart which shows the outline | summary of a process of the session relay apparatus in a 2nd Example. 第3の実施例におけるセッション中継装置の処理の概要を示すフローチャートである。It is a flowchart which shows the outline | summary of the process of the session relay apparatus in a 3rd Example. 第4の実施例におけるセッション中継装置の処理の概要を示すフローチャートである。It is a flowchart which shows the outline | summary of the process of the session relay apparatus in a 4th Example. 第5の実施例におけるセッション中継装置の処理の概要を示すフローチャートである。It is a flowchart which shows the outline | summary of the process of the session relay apparatus in a 5th Example. 第6の実施例におけるセッション中継装置の処理の概要を示すフローチャートである。It is a flowchart which shows the outline | summary of the process of the session relay apparatus in a 6th Example. 第7の実施例におけるセッション中継装置の処理の概要を示すフローチャートである。It is a flowchart which shows the outline | summary of the process of the session relay apparatus in a 7th Example. 第8の実施例におけるセッション中継装置の処理の概要を示すフローチャートである。It is a flowchart which shows the outline | summary of the process of the session relay apparatus in an 8th Example. 第9の実施例におけるセッション中継装置の構成を示すブロック図である。It is a block diagram which shows the structure of the session relay apparatus in a 9th Example. 第9の実施例におけるセッション中継装置の処理の概要を示すフローチャートである。It is a flowchart which shows the outline | summary of the process of the session relay apparatus in a 9th Example. 第10の実施例におけるセッション中継装置の構成を示すブロック図である。It is a block diagram which shows the structure of the session relay apparatus in a 10th Example. 第10の実施例におけるセッション中継装置の処理の概要を示すフローチャートである。It is a flowchart which shows the outline | summary of the process of the session relay apparatus in a 10th Example. 第11の実施例におけるセッション中継装置の構成を示すブロック図である。It is a block diagram which shows the structure of the session relay apparatus in an 11th Example. 第11の実施例におけるセッション中継装置の処理の概要を示すフローチャートである。It is a flowchart which shows the outline | summary of the process of the session relay apparatus in an 11th Example. 第12の実施例におけるセッション中継装置の構成を示すブロック図である。It is a block diagram which shows the structure of the session relay apparatus in a 12th Example. 第12の実施例におけるセッション中継装置の処理の概要を示すフローチャートである。It is a flowchart which shows the outline | summary of the process of the session relay apparatus in a 12th Example. 従来におけるセッション中継装置の構成例を示すブロック図である。It is a block diagram which shows the structural example of the conventional session relay apparatus. 従来におけるセッション中継装置の他の構成例を示すブロック図である。It is a block diagram which shows the other structural example of the conventional session relay apparatus.

符号の説明Explanation of symbols

1−0、4−0、15−0、17−0、19−0、21−0:セッション中継装置
1−1、15−1、19−1:ネットワーク入力処理部
1−2、4−2、15−2、17−2、19−2、21−2:記憶部
1−3、15−3、19−3:ネットワーク出力処理部
4−1、17−1、21−1:ネットワーク入力部
4−3、17−3、21−3:受信プロトコル処理部
4−4、17−4、21−4:送信プロトコル処理部
4−5、17−5、21−5:ネットワーク出力部
15−4:メモリ管理部
19−4、21−7:アプリケーション処理部
19−5、21−6:アプリケーションデータ記憶部
21−8:セッション判定部
1-0, 4-0, 15-0, 17-0, 19-0, 21-0: Session relay device 1-1, 15-1, 19-1: Network input processing unit 1-2, 4-2 15-2, 17-2, 19-2, 21-2: storage unit 1-3, 15-3, 19-3: network output processing unit 4-1, 17-1, 21-1: network input unit 4-3, 17-3, 21-3: reception protocol processing unit 4-4, 17-4, 21-4: transmission protocol processing unit 4-5, 17-5, 21-5: network output unit 15-4 : Memory management unit 19-4, 21-7: Application processing unit 19-5, 21-6: Application data storage unit 21-8: Session determination unit

Claims (42)

送信端末に向けたセッションと受信端末に向けたセッションの間でTCPの処理を伴うデータの中継を行うことにより、送受信端末間の通信を実現するセッション中継装置において、
パケットを記憶する記憶部と、ネットワーク入力処理部と、ネットワーク出力処理部とから構成され、
前記ネットワーク入力処理部は、ネットワークからパケットを受け取り、前記記憶部にパケットデータを格納し、
前記ネットワーク出力処理部は、格納された順に、該格納されたデータの更新部分についてチェックサムの差分を計算し、該格納されたデータ内に格納されているチェックサム値に計算した差分を反映させ、該格納されたデータを読み出して出力し、
前記ネットワーク入力処理部と前記ネットワーク出力処理部が、同一のメモリ管理権限を有することを特徴とするセッション中継装置。
In a session relay device that realizes communication between transmitting and receiving terminals by relaying data accompanied by TCP processing between a session for a transmitting terminal and a session for a receiving terminal,
It is composed of a storage unit for storing packets, a network input processing unit, and a network output processing unit,
The network input processing unit receives a packet from a network, stores packet data in the storage unit,
The network output processing unit calculates a checksum difference for the update portion of the stored data in the order of storage, and reflects the calculated difference in the checksum value stored in the stored data. Read and output the stored data ,
The session relay apparatus, wherein the network input processing unit and the network output processing unit have the same memory management authority .
送信端末に向けたセッションと受信端末に向けたセッションの間でTCPの処理を伴うデータの中継を行うことにより、送受信端末間の通信を実現するセッション中継装置において、
パケットを記憶する記憶部と、ネットワーク入力部と、受信プロトコル処理部と、送信プロトコル処理部と、ネットワーク出力部とから構成され、
前記ネットワーク入力部がネットワークからパケットを受け取り、前記記憶部にパケットデータを格納し、
前記受信プロトコル処理部が格納された順に、該格納されたデータに対して受信処理を実施し、
前記送信プロトコル処理部が該格納されたデータの更新部分についてチェックサムの差分を計算し、該格納されたデータ内に格納されているチェックサム値に計算した差分を反映させ、
前記ネットワーク出力部が該データを読み出して出力し、
前記受信プロトコル処理部と前記送信プロトコル処理部が、同一のメモリ管理権限を有することを特徴とするセッション中継装置。
In a session relay device that realizes communication between transmitting and receiving terminals by relaying data accompanied by TCP processing between a session for a transmitting terminal and a session for a receiving terminal,
A storage unit for storing packets, a network input unit, a reception protocol processing unit, a transmission protocol processing unit, and a network output unit,
The network input unit receives a packet from the network, stores the packet data in the storage unit,
In the order in which the reception protocol processing unit is stored, a reception process is performed on the stored data,
The transmission protocol processing unit calculates a checksum difference for the updated portion of the stored data, and reflects the calculated difference in the checksum value stored in the stored data;
The network output unit reads and outputs the data ,
The session relay device, wherein the reception protocol processing unit and the transmission protocol processing unit have the same memory management authority .
オペレーティングシステムが搭載された汎用計算機上で動作し、オペレーティングシステムと同等のメモリ管理権限と処理権限の少なくとも一つを持ちセッション中継処理を実現することを特徴とする請求項1又は請求項2に記載のセッション中継装置。 3. The session relay process is realized by operating on a general-purpose computer equipped with an operating system and having at least one of a memory management authority and a processing authority equivalent to the operating system. Session relay device. 処理するプロトコルにIPが含まれる場合において、
IPレイヤの送信処理が必要か不必要かを判断する手段を備えることを特徴とする請求項1又は請求項2に記載のセッション中継装置。
When IP is included in the protocol to be processed,
The session relay apparatus according to claim 1, further comprising means for determining whether or not an IP layer transmission process is necessary.
IPレイヤの処理のうちで、全てのパケットに共通する処理だけを選択的に実施する手段を備えたことを特徴とする請求項に記載のセッション中継装置。 5. The session relay apparatus according to claim 4 , further comprising means for selectively performing only a process common to all packets among the processes of the IP layer. IPの送信処理が必要か不必要かを、NATやIPマスカレードなどIPアドレスの変換を伴う処理が設定されている場合に必要と判断し、これが設定されていない際に不必要と判断することを特徴とする請求項に記載のセッション中継装置。 Whether IP transmission processing is necessary or unnecessary is determined to be necessary when processing with IP address translation such as NAT or IP masquerade is set, and is determined to be unnecessary when this is not set The session relay device according to claim 4 , wherein IPの送信処理が必要か不必要かを、ICMPリダイレクトが到着した場合に必要と判断し、該リダイレクトに対するIP送信部の処理を実施した後は再び不必要と判断することを特徴とする請求項に記載のセッション中継装置。 Whether the IP transmission processing is necessary or unnecessary is determined when an ICMP redirect arrives, and is determined to be unnecessary again after the processing of the IP transmission unit for the redirect is performed. 4. The session relay device according to 4 . IPの送信処理が必要か不必要かを、通信相手のIPアドレスに対応する物理アドレスが既知でない場合は必要と判断し、通信相手のIPアドレスに対応する物理アドレスが既知である場合は不必要と判断することを特徴とする請求項に記載のセッション中継装置。 Whether IP transmission processing is necessary or unnecessary is determined as necessary if the physical address corresponding to the IP address of the communication partner is not known, and is unnecessary if the physical address corresponding to the IP address of the communication partner is known The session relay device according to claim 4 , wherein the session relay device is determined. IPレイヤの処理のうちで、IPヘッダのチェックサム計算だけを選択的に実施することを特徴とする請求項に記載のセッション中継装置。 6. The session relay apparatus according to claim 5 , wherein, in the IP layer processing, only the IP header checksum calculation is selectively performed. IPレイヤの処理のうちで、NATなどIPアドレスの変換を伴う処理だけを選択的に実施することを特徴とする請求項に記載のセッション中継装置。 6. The session relay apparatus according to claim 5 , wherein only the process involving IP address conversion, such as NAT, is selectively performed among the processes of the IP layer. ペイロード部分のチェックサム値を計算するプロトコル処理を対象とし、前記ネットワーク入力処理部は、セッション中継で対象とするレイヤ以下の受信時のチェックサム計算を実施し、ネットワーク出力処理部が、パケットが更新された場合にヘッダ部分の情報でチェックサム値を計算することを特徴とする請求項1に記載のセッション中継装置。 Targeting protocol processing that calculates the checksum value of the payload part, the network input processing unit performs checksum calculation at the time of reception below the target layer in session relay, and the network output processing unit updates the packet 2. The session relay apparatus according to claim 1, wherein when the received information is received, a checksum value is calculated from information in a header portion. ペイロード部分のチェックサム値を計算するプロトコル処理を対象とし、前記ネットワーク入力処理部は、セッション中継で対象とするレイヤ以下の受信時のチェックサム計算を実施し、前記送信プロトコル処理部が、パケットが更新された場合にヘッダ部分の情報でチェックサム値を計算することを特徴とする請求項2に記載のセッション中継装置。 Targeting protocol processing to calculate the checksum value of the payload part, the network input processing unit performs checksum calculation at the time of reception below the target layer in session relay, and the transmission protocol processing unit 3. The session relay device according to claim 2, wherein, when updated, the checksum value is calculated from the information of the header portion. 前記ネットワーク入力処理部において、ネットワークから入力されたパケットの属するセッションを判定し、該判定結果に応じてセッション中継を実施することを特徴とする請求項1に記載のセッション中継装置。 The session relay apparatus according to claim 1, wherein the network input processing unit determines a session to which a packet input from the network belongs, and performs session relay according to the determination result. セッション判定部を備え、
前記セッション判定部において、ネットワークから入力されたパケットの属するセッションを判定し、該判定結果に応じてセッション中継を実施することを特徴とする請求項2に記載のセッション中継装置。
It has a session determination unit,
The session relay apparatus according to claim 2, wherein the session determination unit determines a session to which a packet input from a network belongs, and performs session relay according to the determination result.
オペレーティングシステムが搭載された汎用計算機上で動作し、オペレーティングシステムと同等のメモリ管理権限と処理権限の少なくとも一つを持ちセッション中継処理を実現することを特徴とする請求項13又は請求項14に記載のセッション中継装置。 Operating in general purpose computing machine on which the operating system is installed, according to claim 13 or claim 14, characterized in that to realize at least one has a session relay processing of the processing rights as the operating system and the same memory management authority Session relay device. 処理するプロトコルにIPが含まれる場合において、IPレイヤの送信処理が必要か不必要かを判断する手段を備えることを特徴とする請求項13又は請求項14に記載のセッション中継装置。 In the case that contains the IP processing protocol, session relay apparatus according to claim 13 or claim 14, characterized in that it comprises means for determining whether necessary or unnecessary transmission process of the IP layer. IPレイヤの処理のうちで、全てのパケットに共通する処理だけを選択的に実施する手段を備えたことを特徴とする請求項16に記載のセッション中継装置。 17. The session relay apparatus according to claim 16 , further comprising means for selectively performing only a process common to all packets among the processes of the IP layer. IPの送信処理が必要か不必要かを、NATやIPマスカレードなどIPアドレスの変換を伴う処理が設定されている場合に必要と判断し、これが設定されていない際に不必要と判断することを特徴とする請求項16に記載のセッション中継装置。 Whether IP transmission processing is necessary or unnecessary is determined to be necessary when processing with IP address translation such as NAT or IP masquerade is set, and is determined to be unnecessary when this is not set The session relay device according to claim 16 , wherein IPの送信処理が必要か不必要かを、セッション中継装置にICMPリダイレクトが到着した場合に必要と判断し、該リダイレクトに対するIP送信部の処理を実施した後は再び不必要と判断することを特徴とする請求項16に記載のセッション中継装置。 Whether or not IP transmission processing is necessary or not is determined when an ICMP redirect arrives at the session relay device, and after the processing of the IP transmission unit for the redirect is determined to be unnecessary again The session relay device according to claim 16 . IPの送信処理が必要か不必要かを、通信相手のIPアドレスに対応する物理アドレスが既知でない場合は必要と判断し、通信相手のIPアドレスに対応する物理アドレスが既知である場合は不必要と判断することを特徴とする請求項16に記載のセッション中継装置。 Whether IP transmission processing is necessary or unnecessary is determined as necessary if the physical address corresponding to the IP address of the communication partner is not known, and is unnecessary if the physical address corresponding to the IP address of the communication partner is known The session relay device according to claim 16 , wherein the session relay device is determined. IPレイヤの処理のうちで、IPヘッダのチェックサム計算(定義必要)だけを選択的に実施することを特徴とする請求項17に記載のセッション中継装置。 18. The session relay apparatus according to claim 17 , wherein, in the IP layer processing, only IP header checksum calculation (definition required) is selectively performed. IPレイヤの処理のうちで、NATなどIPアドレスの変換を伴う処理だけを選択的に実施することを特徴とする請求項17に記載のセッション中継装置。 18. The session relay apparatus according to claim 17 , wherein, among IP layer processes, only a process involving translation of an IP address such as NAT is selectively performed. ペイロード部分のチェックサム値を計算するプロトコル処理を対象とし、
前記ネットワーク入力処理部は、セッション中継で対象とするレイヤ以下の少なくとも2つのレイヤについて受信時のチェックサム計算を実施することを特徴とする請求項13又は請求項14に記載のセッション中継装置。
For protocol processing that calculates the checksum value of the payload part,
The session relay apparatus according to claim 13 or 14 , wherein the network input processing unit performs checksum calculation at the time of reception for at least two layers below a target layer for session relay.
送信端末に向けたセッションと受信端末に向けたセッションの間でTCPの処理を伴うデータの中継を行うことにより、送受信端末間の通信を実現するセッション中継方法であって、  A session relay method for realizing communication between transmitting and receiving terminals by relaying data accompanied by TCP processing between a session for a transmitting terminal and a session for a receiving terminal,
ネットワークからパケットを受け取り、前記記憶部にパケットデータを格納するネットワーク入力処理と、  A network input process for receiving a packet from the network and storing the packet data in the storage unit;
格納された順に、該格納されたデータの更新部分についてチェックサムの差分を計算し、該格納されたデータ内に格納されているチェックサム値に計算した差分を反映させ、該格納されたデータを読み出して出力するネットワーク出力処理を有し、  The checksum difference is calculated for the updated portion of the stored data in the order of storage, the calculated difference is reflected in the checksum value stored in the stored data, and the stored data is It has network output processing to read and output,
前記ネットワーク入力処理とネットワーク出力処理を、同じメモリ管理部を利用して実行することを特徴とするセッション中継方法。A session relay method, wherein the network input process and the network output process are executed using the same memory management unit.
送信端末に向けたセッションと受信端末に向けたセッションの間でTCPの処理を伴うデータの中継を行うことにより、送受信端末間の通信を実現するセッション中継方法であって、  A session relay method for realizing communication between transmitting and receiving terminals by relaying data accompanied by TCP processing between a session for a transmitting terminal and a session for a receiving terminal,
ネットワークからパケットを受け取り、記憶部にパケットデータを格納するネットワーク入力処理と、  Network input processing for receiving packets from the network and storing the packet data in the storage unit;
格納された順に、該格納されたデータに対して受信処理を実施する受信プロトコル処理と、  A reception protocol process for performing a reception process on the stored data in the order of storage;
該格納されたデータの更新部分についてチェックサムの差分を計算し、該格納されたデータ内に格納されているチェックサム値に計算した差分を反映させる処理を実施する送信プロトコル処理と、  A transmission protocol process for calculating a checksum difference for the updated portion of the stored data and performing a process of reflecting the calculated difference in the checksum value stored in the stored data;
該格納されたデータを読み出して出力するネットワーク出力処理を有し、A network output process for reading out and outputting the stored data;
前記ネットワーク入力処理と前記受信プロトコル処理と前記送信プロトコル処理を、同じメモリ管理部を利用して実行することを特徴とするセッション中継方法。A session relay method, wherein the network input process, the reception protocol process, and the transmission protocol process are executed using the same memory management unit.
処理するプロトコルにIPが含まれる場合において、When IP is included in the protocol to be processed,
IPレイヤの送信処理が必要か不必要かを判断する処理を有することを特徴とする請求項24又は請求項25に記載のセッション中継方法。  26. The session relay method according to claim 24 or 25, further comprising a process of determining whether or not an IP layer transmission process is necessary.
IPレイヤの処理のうちで、全てのパケットに共通する処理だけを選択的に実施する処理を有することを特徴とする請求項26に記載のセッション中継方法。27. The session relay method according to claim 26, further comprising a process of selectively performing only a process common to all packets among the processes of the IP layer. IPの送信処理が必要か不必要かを、NATやIPマスカレードなどIPアドレスの変換を伴う処理が設定されている場合に必要と判断し、これが設定されていない際に不必要と判断することを特徴とする請求項26に記載のセッション中継方法。Whether IP transmission processing is necessary or unnecessary is determined to be necessary when processing with IP address translation such as NAT or IP masquerading is set, and is determined to be unnecessary when this is not set 27. The session relay method according to claim 26, wherein: IPの送信処理が必要か不必要かを、ICMPリダイレクトが到着した場合に必要と判断し、該リダイレクトに対するIP送信部の処理を実施した後は再び不必要と判断することを特徴とする請求項26に記載のセッション中継方法。Whether the IP transmission processing is necessary or unnecessary is determined when an ICMP redirect arrives, and is determined to be unnecessary again after the processing of the IP transmission unit for the redirect is performed. 26. The session relay method according to 26. IPの送信処理が必要か不必要かを、通信相手のIPアドレスに対応する物理アドレスが既知でない場合は必要と判断し、通信相手のIPアドレスに対応する物理アドレスが既知である場合は不必要と判断することを特徴とする請求項26に記載のセッション中継方法。Whether IP transmission processing is necessary or unnecessary is determined as necessary if the physical address corresponding to the IP address of the communication partner is not known, and is unnecessary if the physical address corresponding to the IP address of the communication partner is known 27. The session relay method according to claim 26, characterized in that: IPレイヤの処理のうちで、IPヘッダのチェックサム計算だけを選択的に実施することを特徴とする請求項27に記載のセッション中継方法。28. The session relay method according to claim 27, wherein, in IP layer processing, only IP header checksum calculation is selectively performed. IPレイヤの処理のうちで、NATなどIPアドレスの変換を伴う処理だけを選択的に実施することを特徴とする請求項27に記載のセッション中継方法。28. The session relay method according to claim 27, wherein only a process involving IP address conversion such as NAT is selectively performed among processes of the IP layer. ペイロード部分のチェックサム値を計算するプロトコル処理を対象とし、前記ネットワーク入力処理において、セッション中継で対象とするレイヤ以下の受信時のチェックサム計算を実施し、ネットワーク出力処理において、パケットが更新された場合にヘッダ部分の情報でチェックサム値を計算することを特徴とする請求項24に記載のセッション中継方法。Targeted for protocol processing to calculate the checksum value of the payload part, in the network input processing, checksum calculation was performed at the time of reception below the target layer in session relay, and the packet was updated in network output processing 25. The session relay method according to claim 24, wherein a checksum value is calculated using information in a header part. 前記ネットワーク入力処理において、ネットワークから入力されたパケットの属するセッションを判定し、該判定結果に応じてセッション中継を実施することを特徴とする請求項24に記載のセッション中継方法。25. The session relay method according to claim 24, wherein in the network input process, a session to which a packet input from a network belongs is determined, and session relay is performed according to the determination result. 処理するプロトコルにIPが含まれる場合において、IPレイヤの送信処理が必要か不必要かを判断することを特徴とする請求項30又は請求項31に記載のセッション中継方法。32. The session relay method according to claim 30 or 31, wherein, when an IP is included in a protocol to be processed, it is determined whether or not an IP layer transmission process is necessary. IPレイヤの処理のうちで、全てのパケットに共通する処理だけを選択的に実施することを特徴とする請求項35に記載のセッション中継方法。36. The session relay method according to claim 35, wherein, of IP layer processing, only processing common to all packets is selectively performed. IPの送信処理が必要か不必要かを、NATやIPマスカレードなどIPアドレスの変換を伴う処理が設定されている場合に必要と判断し、これが設定されていない際に不必要と判断することを特徴とする請求項35に記載のセッション中継方法。Whether IP transmission processing is necessary or unnecessary is determined to be necessary when processing with IP address translation such as NAT or IP masquerading is set, and is determined to be unnecessary when this is not set 36. The session relay method according to claim 35, wherein: IPの送信処理が必要か不必要かを、ICMPリダイレクトが到着した場合に必要と判断し、該リダイレクトに対するIP送信部の処理を実施した後は再び不必要と判断することを特徴とする請求項35に記載のセッション中継方法。Whether the IP transmission processing is necessary or unnecessary is determined when an ICMP redirect arrives, and is determined to be unnecessary again after the processing of the IP transmission unit for the redirect is performed. 35. The session relay method according to 35. IPの送信処理が必要か不必要かを、通信相手のIPアドレスに対応する物理アドレスが既知でない場合は必要と判断し、通信相手のIPアドレスに対応する物理アドレスが既知である場合は不必要と判断することを特徴とする請求項35に記載のセッション中継方法。Whether IP transmission processing is necessary or unnecessary is determined as necessary if the physical address corresponding to the IP address of the communication partner is not known, and is unnecessary if the physical address corresponding to the IP address of the communication partner is known 36. The session relay method according to claim 35, wherein the session relay method is determined. IPレイヤの処理のうちで、IPヘッダのチェックサム計算だけを選択的に実施することを特徴とする請求項36に記載のセッション中継方法。37. The session relay method according to claim 36, wherein only IP header checksum calculation is selectively performed in the IP layer processing. IPレイヤの処理のうちで、NATなどIPアドレスの変換を伴う処理だけを選択的に実施することを特徴とする請求項36に記載のセッション中継方法。37. The session relay method according to claim 36, wherein, of IP layer processing, only processing such as NAT that involves IP address translation is selectively performed. ペイロード部分のチェックサム値を計算するプロトコル処理を対象とし、
前記ネットワーク入力処理において、セッション中継で対象とするレイヤ以下の少なくとも2つのレイヤについて受信時のチェックサム計算を実施することを特徴とする請求項30又は請求項31に記載のセッション中継方法。
For protocol processing that calculates the checksum value of the payload part,
32. The session relay method according to claim 30 or 31, wherein, in the network input process, checksum calculation at the time of reception is performed for at least two layers below the target layer for session relay.
JP2003313509A 2003-09-05 2003-09-05 Session relay device and session relay method Expired - Fee Related JP4251044B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003313509A JP4251044B2 (en) 2003-09-05 2003-09-05 Session relay device and session relay method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003313509A JP4251044B2 (en) 2003-09-05 2003-09-05 Session relay device and session relay method

Publications (2)

Publication Number Publication Date
JP2005086292A JP2005086292A (en) 2005-03-31
JP4251044B2 true JP4251044B2 (en) 2009-04-08

Family

ID=34414414

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003313509A Expired - Fee Related JP4251044B2 (en) 2003-09-05 2003-09-05 Session relay device and session relay method

Country Status (1)

Country Link
JP (1) JP4251044B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8085669B2 (en) 2005-11-07 2011-12-27 Nec Corporation Session relay device and session relay method
JP4809679B2 (en) * 2006-01-11 2011-11-09 ルネサスエレクトロニクス株式会社 Stream data communication method and stream data communication apparatus

Also Published As

Publication number Publication date
JP2005086292A (en) 2005-03-31

Similar Documents

Publication Publication Date Title
US7930349B2 (en) Method and apparatus for reducing host overhead in a socket server implementation
US6014699A (en) Internet protocol assists for high performance LAN connections
US6009467A (en) System for checking status of supported functions of communication platforms at preselected intervals in order to allow hosts to obtain updated list of all supported functions
JP5066702B2 (en) Intelligent network storage interface system and device
US6775693B1 (en) Network DMA method
TWI332150B (en) Processing data for a tcp connection using an offload unit
US7295512B2 (en) Performance enhanced TCP communication system
JP4723586B2 (en) Packet queuing, scheduling, and ordering
US7492771B2 (en) Method for performing a packet header lookup
US8571848B2 (en) System and method of network emlation for test of on-line server processing heavy traffic
US8094670B1 (en) Method and apparatus for performing network processing functions
US6084859A (en) Internet protocol assists using multi-path channel protocol
JP2003333076A (en) Offloading method of network stack
US20050286516A1 (en) Session multiplex protocol
CN101227296B (en) Method, system for transmitting PCIE data and plate card thereof
CN103975563B (en) Lossless connection failover for single devices
US5987515A (en) Internet protocol assists using multi-path channel protocol
CN103299278A (en) Virtual machine and application movement over a wide area network
EP1759317B1 (en) Method and system for supporting read operations for iscsi and iscsi chimney
JP4415023B2 (en) Multicast traffic forwarding apparatus and control method in system supporting PPP multilink
JP2006304300A (en) Method for transmitting multimedia data associated with multimedia application, data transmitting method, system for transmitting multimedia data into distributed network, and communication protocol for enabling multimedia communication between computers
US20010016878A1 (en) Communicating system and communicating method for controlling throughput
US20080263171A1 (en) Peripheral device that DMAS the same data to different locations in a computer
US6185218B1 (en) Communication method and apparatus for use in a computing network environment having high performance LAN connections
JP4658546B2 (en) Multiple offloads of network state objects that support failover events

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050422

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070703

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070928

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080116

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080317

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080812

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20080911

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080911

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081014

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20081202

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20081224

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090106

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120130

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130130

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130130

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees