[go: up one dir, main page]

WO2007010593A1 - Tcp session emulator - Google Patents

Tcp session emulator Download PDF

Info

Publication number
WO2007010593A1
WO2007010593A1 PCT/JP2005/013164 JP2005013164W WO2007010593A1 WO 2007010593 A1 WO2007010593 A1 WO 2007010593A1 JP 2005013164 W JP2005013164 W JP 2005013164W WO 2007010593 A1 WO2007010593 A1 WO 2007010593A1
Authority
WO
WIPO (PCT)
Prior art keywords
session
tcp
protocol
packet
header
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.)
Ceased
Application number
PCT/JP2005/013164
Other languages
French (fr)
Japanese (ja)
Inventor
Hiroaki Yamamoto
Wataru Nakamura
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to PCT/JP2005/013164 priority Critical patent/WO2007010593A1/en
Priority to JP2007525461A priority patent/JPWO2007010593A1/en
Publication of WO2007010593A1 publication Critical patent/WO2007010593A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management

Definitions

  • the present invention relates to a device for verifying the performance of TCP communication in a communication network system using TCP (Transmission Control Protocol) as a communication protocol, and more particularly, to a device (communication device) connected to an IP (Internet Protocol) network. Or a TCP session emulation device for emulating events that occur in the application software.
  • TCP Transmission Control Protocol
  • IP Internet Protocol
  • Patent Document 1 discloses a technique for analyzing the state of a communication sequence by emulating the behavior and internal procedures of a TCP protocol and investigating the cause of a decrease in throughput. Is disclosed. With these technologies, actual communication is monitored and the state transition that causes the problem operation is investigated by analyzing the state transition of the TCP protocol.
  • the configuration shown in FIG. 10 shows an example of the configuration of a conventional test apparatus.
  • the header extraction / protocol identification unit 20 extracts the header of the received packet, identifies the protocol, and is selected.
  • the packet is written to the receive packet buffer 22 by the received packet read Z write (RZW) control unit 21 and the header content is included in the data of the transmit packet buffer 24 specified by the transmit packet read Z write (RZW) control unit 23.
  • RZW received packet read Z write
  • the TCP protocol state transition is not generated in a pseudo manner.
  • the problem of the present invention is that it is possible to arbitrarily generate an abnormal sequence state or a high load state on the TCP protocol, which is difficult to intentionally occur in an actual network, depending on the setting. It is to provide technology to do.
  • the TCP session emulation apparatus of the present invention uses at least one of an IP (Internet Protocol) address and a port number obtained from the header of a received packet as a search key.
  • a session search table for searching for an identifier that identifies a session of the TCP (Transmission Control Protocol) protocol; and a session status code that is subtracted based on the identifier obtained as a search result of the session search table.
  • a session state management memory for obtaining the session state management memory, and a sequencer for determining a pseudo session operation of the TCP protocol used by one of a plurality of application protocols according to the obtained session status code.
  • the sequencer is provided for each application protocol including HTTP (Hyper Text Transfer Protocol), FTP (File Transfer Protocol), and SMTP (Simple Mail Transfer Protocol). It is.
  • the session status code includes a port number through which the TCP protocol session is communicating, a TCP status code indicating a transition state of the TCP protocol, and an upper status code indicating a transition state of the application protocol. It is configured.
  • the TCP session emulation apparatus further includes a state setting register that holds a preset setting value for intentionally generating an abnormal processing operation of the TCP protocol session; The operation of the sequencer is determined according to both values of the session status code.
  • the TCP session emulation device uses the TCP protocol sequence number as the header information from the header of the received packet, together with the IP address and the port number.
  • Extracting means for obtaining a confirmation response number and code bit; generating header information of a transmission packet based on the header information obtained by the extracting means and a header content instruction from the sequencer; And an additional means for transmitting.
  • the TCP session emulation device stores the reception time of the received packet as time stamp information in the session state management memory for each corresponding session; a register for setting a delay time of the response packet A response delay is realized by transmitting the response packet after the set delay time.
  • the present invention it is possible to intentionally generate an abnormal sequence, a large amount of traffic, a response delay, and the like by enabling the session operation of the TCP protocol to be executed in a pseudo manner. This is useful for verification of equipment) and application software. This will greatly contribute to improving the quality of IP network-related systems.
  • FIG. 1 is a block diagram showing a configuration of a communication network system to which a TCP session emulation apparatus according to an embodiment of the present invention is applied.
  • FIG. 2 is a block diagram showing a configuration of a TCP session emulation apparatus according to an embodiment of the present invention.
  • FIG. 3 is a diagram for explaining an operation procedure of the TCP session emulation apparatus according to the embodiment of the present invention.
  • FIG. 4 is a diagram showing a configuration example of a transmission packet buffer.
  • FIG. 5 is a diagram showing a configuration example of a session search table.
  • the Yon-Emulation device TSE is applied to the communication network system SYS shown in Fig. 1 (A) and (B).
  • the communication network system SY S includes at least one network (IP (Internet Protocol) network) NW.
  • This network NW constitutes a computer network such as UNIX (registered trademark) and a wide-area packet switching network.
  • Sano SV and client CL are usually connected to network NW as communication devices each having an IP address.
  • Sano SV and client CL send and receive data (TCP communication) through a communication line (sometimes referred to as a communication path or connection) via network NW.
  • TCP as a communication protocol is a protocol in the fourth layer (transport layer) above the IP (network layer) in the third layer of the OSI (Open Systems Interconnection) reference model.
  • the characteristic of TCP is reliable data transmission (transfer), that is, control of normal transmission of data while maintaining the reliability of the communication channel from the start to the end of communication, and error detection and It is to perform recovery. For this reason, TCP provides a connection 'orientated virtual channel to provide full-duplex' bi-directional stream services to higher-layer users.
  • the TCP session emulation device TSE can be implemented in the pseudo client CL or the pseudo server SV.
  • the pseudo client CL is a pseudo-generation of a state in which a large number of client CLs are accessing the Sano SV
  • the pseudo Sano SV is a pseudo-simulation with many actual client CLs. Communication.
  • the header extraction 'protocol identification unit 1 extracts the header and identifies the protocol from the packet received by the network NW force (S10, Sl in Fig. 3). Header extraction 'Protocol identification unit 1 extracts the IP address and port number of the target TCP bucket (strictly speaking, TCPZIP packet), and inputs it as a search key in the session search table 2 for searching for TCP sessions. (S1 2 and S13 in Fig. 3).
  • the session search table 2 is composed of a content addressable memory (CAM) including a search engine.
  • the search result of the session search table 2 is used to specify the entry number of the session state management memory 3 as a session identifier (address) indicating each TCP session number (S14 in FIG. 3). .
  • a connection is established!
  • a code (session status code) indicating the state (state) of each TCP session, and an address (packet storage location) in the received packet buffer 4 ( (Reception buffer address) and time stamp indicating packet reception time, etc., are registered for each entry number (session number) (S15, S16 in Fig. 3).
  • the session status code output from the session state management memory 3 is used as a transition condition to the next state of the response bucket generation sequencer 6 (S17 in FIG. 3).
  • the response packet generation sequencer 6 is a hardware sequencer that realizes the state transition of the TCP session.
  • the session status code and the value of the state setting register 7 that is set by the main control unit (CPU) are set.
  • the three-way handshake operation on the TCP session is realized for normal operation or abnormal operation (S18 in Fig. 3).
  • the response packet generation sequencer 6 writes a session status code indicating the state after transition to the session state management memory 3 (S19 in FIG. 3).
  • the content of the transmission header and the content of the transmission data corresponding to the response operation are controlled by the packet header generation unit 8 and the transmission packet read Z write (RZW) control. Passed to part 12.
  • the packet header generation unit 8 generates a transmission packet header based on the instruction content (transmission header content) from the response packet generation sequencer 6 and outputs it to the response packet generation unit 9. Transmit packet R
  • the ZW control unit 12 outputs the transmission packet read address to the transmission packet buffer 5 based on the instruction content from the response packet generation sequencer 6 (contents of transmission data).
  • the response packet generator 9 adds the transmission packet header from the packet header generator 8 to the transmission packet data from the transmission packet buffer 5, generates a response packet, and returns it to the other party through the network NW connection. (S21 in Figure 3).
  • Whether or not the delay time set in the delay setting register 13 has elapsed is determined based on a comparison between the time stamp information read from the session state management memory 3 and the timer value of the time stamp generation unit 10.
  • the transmission packet RZW control unit 12 determines that the transmission packet data is read from the transmission packet buffer 5 and transmitted from the response packet generation unit 9 after the set delay time has elapsed (S20 and S21 in FIG. 3).
  • session search table 2 If there is no matching entry in session search table 2, the IP address and port number of the received packet are registered in session search table 2, and the corresponding session status code is set to the initial value in session state management memory 3. (S14, S22, S23 in FIG. 3).
  • the header identification 'protocol identification unit 1 further extracts a TCP header sequence number (sequence number) and an acknowledgment number as the header information of the packet to be transmitted, and sends it to the packet header generation unit 8 It is done. These sequence number and confirmation response number are used in response packet generation in the response packet generation unit 9.
  • the received packet read Z write (R ZW) control unit 11 reads out the packet data stored in the received packet buffer 4 from the CPU, and the transmission packet buffer 5 Packet data can be set by the CPU, and higher-level protocol processing can be processed by the CPU.
  • the response packet generation sequencer 6 requires protocol processing by the CPU, the response packet generation sequencer 6 sends an interrupt notification to the CPU. Note that when sending a packet (not a response packet but a packet for generating traffic) to the network NW first from the TCP session emulation device TSE, the CPU power is also sent to the transmission packet RZW control unit 12. The packet is transmitted by notifying the control.
  • the contents of the transmission packet buffer 5 are as shown in Fig. 4 for each protocol of the application (for example, HTTP (Hyper Text Packet data corresponding to Transfer Protocol (FTP), File Transfer Protocol 1 (FTP), Simple Mail Transfer Protocol (SMTP), etc. is written in advance by the CPU. Therefore, the response packet generation sequencer 6 that has received the session status code from the session state management memory 3 passes the transmission data content indication indicating the address where the corresponding protocol is stored to the transmission packet RZW control unit 12, Address power stored in the transmission packet buffer 5 for the relevant protocol Transmission packet data is read.
  • HTTP Hyper Text Packet data corresponding to Transfer Protocol
  • FTP File Transfer Protocol 1
  • SMTP Simple Mail Transfer Protocol
  • FIG. 5 shows a configuration example of the session search table 2.
  • the session search table 2 stores a source address and a destination address (both are IP addresses), a protocol code, a source port number, and a destination port number.
  • Each entry in this table 2 corresponds to an individual session (session number) of TCP, and the header information extracted from the received packet, that is, source address, destination address, protocol code, source port number,
  • the TCP session is identified by searching this table 2 based on at least one of the destination port number and the destination port number.
  • FIG. 6 shows a configuration example of the session state management memory 3.
  • Each entry in the session state management memory 3 corresponds to each entry in the session search table 2.
  • the session state management memory 3 stores a session status code indicating the session state, a reception buffer address indicating the storage position of the received packet, and a time stamp indicating the time when the packet is received.
  • the session status code consists of the port number with which the TCP session is communicating, the TCP status code indicating the TCP transition status, and the upper status code indicating the transition status of the upper protocol (application protocol)! Speak.
  • the force performed by either hardware or software.
  • the state transition of the next state is detected by an interrupt notified from the response packet generation sequencer 6. Occurs.
  • FIG. 7 shows an operation procedure example of the response packet generation sequencer 6.
  • This operation procedure (S71 to S78) enables the TCP protocol state transition to be realized.
  • it is set to ABLISHED, upper protocol communication is performed.
  • For the state transition of the upper protocol pass the upper status code indicating the current status to the upper protocol processing sequencer (protocol sequencer) (Fig. 8) in the response packet generation sequencer 6 configured by hardware or software. Is done.
  • the TCP protocol state transition is changed to a state different from the normal state according to the setting contents of the state setting register 7. It should be noted that the TCP protocol state transitions shown in this operation procedure can be generated in hardware, so that a large amount of traffic generation states can be generated.
  • FIG. 8 shows a configuration example of the response packet generation sequencer 6.
  • the response packet generation sequencer 6 is ESTABL ISHED in the TCP protocol state transition shown in FIG. 6 Hierarchical configuration is adopted so that the internal high-level protocol processing sequencer operates.
  • the sequence operation is completed when the TCP protocol state transition force CLOSE state is entered by sending and receiving FINs.
  • an abnormal condition if an ACK response packet to a TCP protocol SYN packet reception is not returned normally, the abnormal condition occurrence is set in the status setting register 7 to generate a response packet.
  • the TCP sequencer inside the sequencer 6 is in the SYN-RCVD state, and normally sends a send instruction to the send packet RZW control unit 12 and the packet header generation unit 8 to return an ACK packet to the sender of the SYN packet. Without this operation, the ACK packet is not transmitted and the operation stays in SYN-RCVD.
  • an abnormality of the confirmation response number in the packet header is generated, an abnormal state occurrence is set in the status setting register 7, and the response packet generation sequencer 6 is used to indicate the content of the transmission packet header.
  • An abnormality generation instruction signal is transmitted, and the packet header generation unit 8 generates a packet header storing an acknowledgment number that is different from the normal one, and a packet having this abnormality header is transmitted to the communication destination. Will be.
  • FIG. 9 shows the state transition of the TCP protocol specified in RFC793. Accordingly, the operation of the response packet generation sequencer 6 is determined.
  • TCP protocol a connection identified by the source port number and destination port number in the TCP header and the IP address in the IP header is established. This connection is established in three TCP segments: a 3-way handshake, namely SYN (synchronization), ACK (acknowledgement), and SYN + ACK (acknowledgement).
  • SYN synchronization
  • ACK acknowledgenowledgement
  • SYN + ACK acknowledgenowledgement
  • the TCP header includes fields such as a source port number, a destination port number, a sequence number, an acknowledgment number, a code bit (control bit), a window size, a checksum, and an emergency pointer.
  • the 6-bit code bit field of the TCP header has 6 flag bits: URG, ACK, PSH, RST, SYN, and FIN.
  • the meaning of each code bit is as follows.
  • PSH The receiver (receiver) must pass the data to the application as soon as possible.
  • DT segment Regardless of whether the URG bit or RST bit is on or off, there is user data and only the ACK bit is valid.
  • FIN segment FIN bit is on (ACK bit is often on!).
  • RST bit is on (ACK bit is often on!).
  • Events (events) for the TCP protocol include transmission events (transmitted TCP segments) and reception events (received TCP segments). Typical examples and their meanings are as follows.
  • DTZ ACKrecv Received DT segment or ACK segment.
  • SYN—SENT A state in which connection is being established by sending a SYN segment.
  • SYN — RCVD A state in which a SYN segment is received and connection establishment is in progress.
  • ESTABLISHED A state where data can be transferred in both directions.
  • TIME Connection information retention status when connection release is completed.
  • CLOSE Wi-Fi
  • the session search table 2 is searched and the session state is determined.
  • the initial state and the operating state of the response packet generation sequencer 6 are determined by the storage information in the management memory 3 and the setting value in the state setting register 7.
  • the time when the packet is received is stored in the session state management memory 3 as a time stamp and used to determine the packet transmission timing.
  • the processing in the above-described embodiment is provided as a computer-executable program, and can be provided via a recording medium such as a CD-ROM or a flexible disk, and further via a communication line.
  • each process in the above-described embodiment may be performed by selecting and combining any or all of the processes.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

A TCP session emulator comprising a session search table searched for an identifier for specifying a session of the TCP protocol by using at least the IP (Internet Protocol) acquired from the header of the received packet or the port number as the search key, a session status management memory for acquiring the session status code provided according to the identifier acquired by the search, and a sequencer for determining a pseudo-session operation of the TCP protocol used by one of application protocols according to the session status code acquired from the session status management memory.

Description

明 細 書  Specification

TCPセッションエミユレーシヨン装置  TCP session emulation equipment

技術分野  Technical field

[0001] 本発明は通信プロトコルとして TCP (Transmission Control Protocol)を用いる通信 ネットワークシステムにお 、て TCP通信の性能を検証する装置に関し、特に IP (Inter net Protocol)ネットワークに接続される機器 (通信装置)あるいはアプリケーションソフ トウエアにぉ ヽて発生するイベント (事象)をエミュレート (模擬)するための TCPセッシ ヨンエミユレーシヨン装置に関する。  The present invention relates to a device for verifying the performance of TCP communication in a communication network system using TCP (Transmission Control Protocol) as a communication protocol, and more particularly, to a device (communication device) connected to an IP (Internet Protocol) network. Or a TCP session emulation device for emulating events that occur in the application software.

背景技術  Background art

[0002] 特開平 11— 27308号公報(特許文献 1)などには、 TCPプロトコルの振る舞い及び 内部手順をエミュレートすることにより、通信シーケンス状態を解析し、スループット低 下時の原因を調査する技術が開示されている。これらの技術では、実際の通信をモ ユタし、 TCPプロトコルの状態遷移を解析することにより、問題動作の原因となる状態 を調査している。  [0002] Japanese Patent Application Laid-Open No. 11-27308 (Patent Document 1) discloses a technique for analyzing the state of a communication sequence by emulating the behavior and internal procedures of a TCP protocol and investigating the cause of a decrease in throughput. Is disclosed. With these technologies, actual communication is monitored and the state transition that causes the problem operation is investigated by analyzing the state transition of the TCP protocol.

[0003] しかし、従来のエミユレーシヨン技術では、通信システムまたは通信装置同士の実 通信をモニタし、 TCPプロトコルの状態遷移の正常性を確認することは可能であるが 、意図的に (擬似的に)異常シーケンス状態や高負荷状態などを発生し、その時の通 信システムの処理動作の正当性を確認することはできない。また、通信システム同士 のハンドシェーク動作の応答遅延を意図的に発生することにより、応答待ち処理のタ ィムアウト時における動作の正当性を確認することもできない。  [0003] However, in the conventional emulation technology, it is possible to monitor the actual communication between communication systems or communication devices and check the normality of the state transition of the TCP protocol. An abnormal sequence state or high load state occurs, and the correctness of the processing operation of the communication system at that time cannot be confirmed. In addition, by intentionally generating a response delay in the handshake operation between communication systems, it is not possible to confirm the correctness of the operation when the response waiting process times out.

[0004] また、従来の試験装置の一構成例を図 10に示す力 この構成においては、ヘッダ 抽出.プロトコル識別部 20において受信パケットのヘッダを抽出してプロトコルの識 別を行い、選択されたパケットを受信パケット読出 Z書込 (RZW)制御部 21により受 信パケットバッファ 22に書き込むこと、及び送信パケット読出 Z書込 (RZW)制御部 23により指定される送信パケットバッファ 24のデータにヘッダ内容設定レジスタ 25及 びパケットヘッダ生成部 26の協働にて生成されたヘッダを付加し、送出パケット生成 部 27により送信パケットを生成して、ネットワークに送出することは可能である。しかし 、この従来の試験装置においては、やはり TCPプロトコルの状態遷移を擬似的に発 生していない。 In addition, the configuration shown in FIG. 10 shows an example of the configuration of a conventional test apparatus. In this configuration, the header extraction / protocol identification unit 20 extracts the header of the received packet, identifies the protocol, and is selected. The packet is written to the receive packet buffer 22 by the received packet read Z write (RZW) control unit 21 and the header content is included in the data of the transmit packet buffer 24 specified by the transmit packet read Z write (RZW) control unit 23. It is possible to add a header generated by the cooperation of the setting register 25 and the packet header generation unit 26, generate a transmission packet by the transmission packet generation unit 27, and transmit it to the network. However In this conventional test device, the TCP protocol state transition is not generated in a pseudo manner.

[特許文献 1]特開平 11 27308号公報  [Patent Document 1] JP 11 27308 A

[特許文献 2]特開 2000- 267963号公報  [Patent Document 2] JP 2000-267963 A

[特許文献 3]特開 2000— 106557号公報  [Patent Document 3] JP 2000-106557 A

[特許文献 4]特開 2004— 140596号公報  [Patent Document 4] JP-A-2004-140596

発明の開示  Disclosure of the invention

発明が解決しょうとする課題  Problems to be solved by the invention

[0005] 本発明の課題は、実際のネットワークでは意図的に発生することが難しい TCPプロ トコル上の異常シーケンス状態の発生や高負荷状態の発生を設定に応じて任意に 発生することを可能にする技術を提供することにある。 [0005] The problem of the present invention is that it is possible to arbitrarily generate an abnormal sequence state or a high load state on the TCP protocol, which is difficult to intentionally occur in an actual network, depending on the setting. It is to provide technology to do.

課題を解決するための手段  Means for solving the problem

[0006] 上記課題を解決するために、本発明の TCPセッションエミユレーシヨン装置は、受 信パケットのヘッダから得られる IP (Internet Protocol)アドレス及びポート番号の少な くとも 1つを検索キーとして TCP (Transmission Control Protocol)プロトコルのセッショ ンを特定する識別子を検索するためのセッション検索テーブルと;前記セッション検 索テーブルの検索結果として求められる前記識別子に基づ 、て引かれ、セッションス テータスコードを得るためのセッション状態管理メモリと;前記セッション状態管理メモ リカ 得られた前記セッションステータスコードに応じて、複数のアプリケーションプロ トコルのいずれかが使用する前記 TCPプロトコルの擬似セッション動作を決定するシ 一ケンサとを備える。 [0006] In order to solve the above-described problem, the TCP session emulation apparatus of the present invention uses at least one of an IP (Internet Protocol) address and a port number obtained from the header of a received packet as a search key. A session search table for searching for an identifier that identifies a session of the TCP (Transmission Control Protocol) protocol; and a session status code that is subtracted based on the identifier obtained as a search result of the session search table. A session state management memory for obtaining the session state management memory, and a sequencer for determining a pseudo session operation of the TCP protocol used by one of a plurality of application protocols according to the obtained session status code. With.

[0007] この構成を採る TCPセッションエミユレーシヨン装置において、前記シーケンサは、 HTTP (Hyper Text Transfer Protocol)、 FTP (File Transfer Protocol)、及び SMTP (Simple Mail Transfer Protocol)を含むアプリケーションプロトコル毎に設けられてい る。  [0007] In a TCP session emulation device employing this configuration, the sequencer is provided for each application protocol including HTTP (Hyper Text Transfer Protocol), FTP (File Transfer Protocol), and SMTP (Simple Mail Transfer Protocol). It is.

[0008] また、前記セッションステータスコードは、前記 TCPプロトコルのセッションが通信し ているポート番号、前記 TCPプロトコルの遷移状態を示す TCP状態コード、及び前 記アプリケーションプロトコルの遷移状態を示す上位状態コードから構成されている。 [0009] TCPセッションエミユレーシヨン装置は、意図的に前記 TCPプロトコルのセッション の異常処理動作を発生させるために予め設定される設定値を保持する状態設定レ ジスタを更に備え;前記設定値及び前記セッションステータスコードの双方の値に応 じて、前記シーケンサの動作を決定する。 [0008] Further, the session status code includes a port number through which the TCP protocol session is communicating, a TCP status code indicating a transition state of the TCP protocol, and an upper status code indicating a transition state of the application protocol. It is configured. [0009] The TCP session emulation apparatus further includes a state setting register that holds a preset setting value for intentionally generating an abnormal processing operation of the TCP protocol session; The operation of the sequencer is determined according to both values of the session status code.

[0010] また、 TCPセッションエミユレーシヨン装置は、前記受信パケットのヘッダからヘッダ 情報として、前記 IPアドレス及び前記ポート番号とともに、 TCPプロトコルの順序番号 [0010] Further, the TCP session emulation device uses the TCP protocol sequence number as the header information from the header of the received packet, together with the IP address and the port number.

、確認応答番号及びコードビットを得る抽出手段と;前記抽出手段で得た前記ヘッダ 情報及び前記シーケンサからのヘッダ内容指示に基づ 、て、送信パケットのヘッダ 情報を生成し、応答パケットのヘッダとして付加して送信する手段とを更に備える。 Extracting means for obtaining a confirmation response number and code bit; generating header information of a transmission packet based on the header information obtained by the extracting means and a header content instruction from the sequencer; And an additional means for transmitting.

[0011] さらに、 TCPセッションエミユレーシヨン装置は、前記受信パケットの受信時刻をタイ ムスタンプ情報として対応のセッション毎に前記セッション状態管理メモリに格納する 手段と;応答パケットの遅延時間を設定するレジスタとを更に備え;前記応答パケット を前記設定された遅延時間後に送出して応答遅延を実現する。  [0011] Further, the TCP session emulation device stores the reception time of the received packet as time stamp information in the session state management memory for each corresponding session; a register for setting a delay time of the response packet A response delay is realized by transmitting the response packet after the set delay time.

発明の効果  The invention's effect

[0012] 本発明によれば、 TCPプロトコルのセッション動作を擬似的に実行可能にすること により、意図的に異常シーケンス、大量のトラフィック、応答遅延などを発生させること が可能となり、ネットワーク機器 (通信装置)やアプリケーションソフトウェアの検証に有 益である。これにより、 IPネットワーク関連システムの品質向上に大いに寄与する。  [0012] According to the present invention, it is possible to intentionally generate an abnormal sequence, a large amount of traffic, a response delay, and the like by enabling the session operation of the TCP protocol to be executed in a pseudo manner. This is useful for verification of equipment) and application software. This will greatly contribute to improving the quality of IP network-related systems.

[0013] 本発明の他の課題、特徴及び利点は、図面及び請求の範囲とともに取り上げられ る際に、以下に記載される一実施の形態を読むことにより明らかになるであろう。 図面の簡単な説明 [0013] Other objects, features and advantages of the present invention will become apparent upon reading the following described embodiments, when taken in conjunction with the drawings and claims. Brief Description of Drawings

[0014] [図 1]図 1は本発明の一実施の形態の TCPセッションエミユレーシヨン装置が適用さ れる通信ネットワークシステムの構成を示すブロック図。  FIG. 1 is a block diagram showing a configuration of a communication network system to which a TCP session emulation apparatus according to an embodiment of the present invention is applied.

[図 2]図 2は本発明の一実施の形態の TCPセッションエミユレーシヨン装置の構成を 示すブロック図。  FIG. 2 is a block diagram showing a configuration of a TCP session emulation apparatus according to an embodiment of the present invention.

[図 3]本発明の一実施の形態の TCPセッションエミユレーシヨン装置の動作手順を説 明するための図。  FIG. 3 is a diagram for explaining an operation procedure of the TCP session emulation apparatus according to the embodiment of the present invention.

[図 4]送信パケットバッファの構成例を示す図。 [図 5]セッション検索テーブルの構成例を示す図。 FIG. 4 is a diagram showing a configuration example of a transmission packet buffer. FIG. 5 is a diagram showing a configuration example of a session search table.

圆 6]セッション状態管理メモリの構成例を示す図。  6] A diagram showing a configuration example of the session state management memory.

圆 7]応答パケット生成シーケンサの動作手順を説明するための図。  7) A diagram for explaining the operation procedure of the response packet generation sequencer.

圆 8]応答パケット生成シーケンサの構成例を示す図。  8] A diagram showing a configuration example of a response packet generation sequencer.

[図 9]TCPプロトコルの状態遷移図。  [Figure 9] State transition diagram of TCP protocol.

圆 10]従来の試験装置の構成例を示すブロック図。  [10] Block diagram showing a configuration example of a conventional test apparatus.

符号の説明  Explanation of symbols

TSE TCPセッションエミユレーシヨン装置  TSE TCP session emulation equipment

1 ヘッダ抽出,プロトコル識別部  1 Header extraction, protocol identification part

2 セッション検索テーブル  2 Session search table

3 セッション状態管理メモリ  3 Session state management memory

4 受信パケットバッファ  4 Receive packet buffer

5 送信パケットバッファ  5 Transmit packet buffer

6 応答パケット生成シーケンサ  6 Response packet generation sequencer

7 状態設定レジスタ  7 Status setting register

8 パケットヘッダ生成部  8 Packet header generator

9 応答パケット生成部  9 Response packet generator

10 タイムスタンプ生成咅  10 Time stamp generation

11 受信パケット読出 Z書込 (RZw)制御部  11 Receive packet read Z write (RZw) control unit

12 送信パケット読出 Z書込 (RZW)制御部  12 Transmit packet read Z write (RZW) controller

13 遅延設定レジスタ  13 Delay setting register

発明を実施するための最良の形態  BEST MODE FOR CARRYING OUT THE INVENTION

[0016] 以下、添付図面を参照して、本発明について更に詳細に説明する。図面には本発 明の好ましい実施形態が示されている。しかし、本発明は、多くの異なる形態で実施 されることが可能であり、本明細書に記載される実施形態に限定されると解釈されて はならない。むしろ、これらの実施形態は、本明細書の開示が徹底的かつ完全となり 、当業者に本発明の範囲を十分に伝えるように提供される。  Hereinafter, the present invention will be described in more detail with reference to the accompanying drawings. The drawings show a preferred embodiment of the present invention. However, the invention can be implemented in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art.

[0017] 図 2に示す本発明の一実施の开態の TCP (Transmission Control Protocol)セッシ ヨンエミユレーシヨン装置 TSEは、図 1 (A) , (B)に構成例を示す通信ネットワークシス テム SYSに適用する。 [0017] A TCP (Transmission Control Protocol) session in one embodiment of the present invention shown in FIG. The Yon-Emulation device TSE is applied to the communication network system SYS shown in Fig. 1 (A) and (B).

[0018] 図 1、図 2及び動作手順を示す図 3を併せ参照すると、通信ネットワークシステム SY Sは少なくとも 1つのネットワーク(IP (Internet Protocol)ネットワーク) NWを含む。こ のネットワーク NWは UNIX (登録商標)などのコンピュータネットワークや広域のパケ ット交換網を構成する。ネットワーク NWには、通常、 IPアドレスをそれぞれ持つ通信 装置として、サーノ SV及びクライアント CLが接続される。サーノ SVとクライアント CL とは、ネットワーク NWを経由する通信回線 (通信路またはコネクションと記載すること もある)を通してデータの送受信 (TCP通信)を行う。  Referring to FIGS. 1 and 2 and FIG. 3 showing the operation procedure, the communication network system SY S includes at least one network (IP (Internet Protocol) network) NW. This network NW constitutes a computer network such as UNIX (registered trademark) and a wide-area packet switching network. Sano SV and client CL are usually connected to network NW as communication devices each having an IP address. Sano SV and client CL send and receive data (TCP communication) through a communication line (sometimes referred to as a communication path or connection) via network NW.

[0019] 通信プロトコルとしての TCPは、 OSI (Open Systems Interconnection)参照モデル の第三層の IP (ネットワーク層)の上の第四層(トランスポート層)のプロトコルである。 TCPの特徴は信頼性のあるデータ伝送 (転送)を行うこと、つまり通信の開始から終 了まで通信路の信頼性を保持してデータの正常な送信の制御と、さらにエラー時の エラー検出及び回復とを行うことにある。このため、 TCPではコネクション 'オリエンテ ッドなバーチャル通信路を設定して、上位層のユーザに全二重'双方向のストリーム サービスを提供する。  [0019] TCP as a communication protocol is a protocol in the fourth layer (transport layer) above the IP (network layer) in the third layer of the OSI (Open Systems Interconnection) reference model. The characteristic of TCP is reliable data transmission (transfer), that is, control of normal transmission of data while maintaining the reliability of the communication channel from the start to the end of communication, and error detection and It is to perform recovery. For this reason, TCP provides a connection 'orientated virtual channel to provide full-duplex' bi-directional stream services to higher-layer users.

[0020] 通信ネットワークシステム SYSにおいて、ストリームサービスでコネクション 'オリエン テッドなデータ転送を行い、信頼性を維持するには、 TCP通信の性能を模擬試験す ることが必要不可欠となる。  [0020] In the communication network system SYS, in order to perform connection 'orientated data transfer with stream service and maintain reliability, it is indispensable to perform a simulation test of TCP communication performance.

[0021] TCPセッションエミユレーシヨン装置 TSEは、擬似クライアント CLあるいは擬似サー バ SVに実装可能である。ここで、擬似クライアント CLは、非常に多くのクライアント C Lがサーノ SVへのアクセスを行っている状態を擬似的に発生させるものであり、擬似 サーノ SVは、多くの実際のクライアント CLとの擬似的な通信を行うものである。 TCP セッションエミユレーシヨン装置 TSEを擬似クライアント CLあるいは擬似サーバ SVと して、通信ネットワークシステム SYSに導入することにより、通常では難しいサーバ S Vの限界処理性能に近 、クライアント数を用いた実機検証や、ネットワーク NW上で のパケットロスなどにより発生するシーケンス異常を擬似的に発生することが可能であ る。 [0022] TCPセッションエミユレーシヨン装置 TSEにおいて、ヘッダ抽出'プロトコル識別部 1 は、ネットワーク NW力 受信したパケットよりヘッダ部の抽出及びプロトコルの識別を 行う(図 3中、 S10, Sl l)。ヘッダ抽出'プロトコル識別部 1は、対象となる TCPバケツ ト(厳密には、 TCPZIPパケット)の IPアドレス及びポート番号を抽出し、 TCPセッショ ンを検索するためのセッション検索テーブル 2に検索キーとして入力する(図 3中、 S1 2, S13)。セッション検索テーブル 2は検索エンジンを含む連想メモリ(CAM : Conte nt Addressable Memory;で構成される。 [0021] The TCP session emulation device TSE can be implemented in the pseudo client CL or the pseudo server SV. Here, the pseudo client CL is a pseudo-generation of a state in which a large number of client CLs are accessing the Sano SV, and the pseudo Sano SV is a pseudo-simulation with many actual client CLs. Communication. By introducing the TCP session emulation device TSE as a pseudo client CL or pseudo server SV into the communication network system SYS, it is close to the limit processing performance of the server SV, which is usually difficult. In addition, it is possible to simulate a sequence error that occurs due to packet loss on the network NW. [0022] In the TCP session emulation device TSE, the header extraction 'protocol identification unit 1 extracts the header and identifies the protocol from the packet received by the network NW force (S10, Sl in Fig. 3). Header extraction 'Protocol identification unit 1 extracts the IP address and port number of the target TCP bucket (strictly speaking, TCPZIP packet), and inputs it as a search key in the session search table 2 for searching for TCP sessions. (S1 2 and S13 in Fig. 3). The session search table 2 is composed of a content addressable memory (CAM) including a search engine.

[0023] セッション検索テーブル 2の検索結果は、それぞれの TCPセッション番号を示すセ ッシヨン識別子 (アドレス)として、セッション状態管理メモリ 3のエントリ番号を特定する ために使用される(図 3中、 S14)。セッション状態管理メモリ 3には、コネクションが確 立されて!、るそれぞれの TCPセッションの状態(ステート: state)を示すコード(セッシ ヨンステータスコード)、受信パケットバッファ 4のパケット格納位置を示すアドレス(受 信バッファアドレス)、パケット受信の時刻を示すタイムスタンプなどの情報力 エントリ 番号(セッション番号)毎に登録されている(図 3中、 S15, S16)。  [0023] The search result of the session search table 2 is used to specify the entry number of the session state management memory 3 as a session identifier (address) indicating each TCP session number (S14 in FIG. 3). . In the session state management memory 3, a connection is established! A code (session status code) indicating the state (state) of each TCP session, and an address (packet storage location) in the received packet buffer 4 ( (Reception buffer address) and time stamp indicating packet reception time, etc., are registered for each entry number (session number) (S15, S16 in Fig. 3).

[0024] セッション状態管理メモリ 3から出力されるセッションステータスコードは、応答バケツ ト生成シーケンサ 6の次ステートへの遷移条件として使用される(図 3中、 S17)。ここ では、応答パケット生成シーケンサ 6は、 TCPセッションの状態遷移を実現するハー ドウエアシーケンサであり、セッションステータスコードと、主制御部(CPU : Central Pr ocessor Unit)力 設定される状態設定レジスタ 7の値とを条件として遷移することによ り、通常動作あるいは異常動作について、 TCPセッション上のハンドシェーク(3way handshake)動作を実現する(図 3中、 S18)。応答パケット生成シーケンサ 6は、遷 移後の状態を示すセッションステータスコードをセッション状態管理メモリ 3に書き込 む(図 3中、 S19)。  The session status code output from the session state management memory 3 is used as a transition condition to the next state of the response bucket generation sequencer 6 (S17 in FIG. 3). Here, the response packet generation sequencer 6 is a hardware sequencer that realizes the state transition of the TCP session. The session status code and the value of the state setting register 7 that is set by the main control unit (CPU) are set. As a result of the transition, the three-way handshake operation on the TCP session is realized for normal operation or abnormal operation (S18 in Fig. 3). The response packet generation sequencer 6 writes a session status code indicating the state after transition to the session state management memory 3 (S19 in FIG. 3).

[0025] 応答パケット生成シーケンサ 6において受信パケットに対する応答動作が決定後に 、応答動作に対応する送信ヘッダの内容及び送信データの内容がパケットヘッダ生 成部 8及び送信パケット読出 Z書込 (RZW)制御部 12に渡される。パケットヘッダ生 成部 8は、応答パケット生成シーケンサ 6からの指示内容 (送信ヘッダの内容)に基づ いて、送信パケットヘッダを生成し、応答パケット生成部 9に出力する。送信パケット R ZW制御部 12は、応答パケット生成シーケンサ 6からの指示内容 (送信データの内 容)に基づいて、送信パケット読出アドレスを送信パケットバッファ 5に出力する。応答 パケット生成部 9は、送信パケットバッファ 5からの送信パケットデータにパケットヘッダ 生成部 8からの送信パケットヘッダを付カ卩して、応答パケットを生成し、ネットワーク N Wのコネクションを通して相手先へ返送する(図 3中、 S 21 )。 [0025] After the response operation for the received packet is determined in the response packet generation sequencer 6, the content of the transmission header and the content of the transmission data corresponding to the response operation are controlled by the packet header generation unit 8 and the transmission packet read Z write (RZW) control. Passed to part 12. The packet header generation unit 8 generates a transmission packet header based on the instruction content (transmission header content) from the response packet generation sequencer 6 and outputs it to the response packet generation unit 9. Transmit packet R The ZW control unit 12 outputs the transmission packet read address to the transmission packet buffer 5 based on the instruction content from the response packet generation sequencer 6 (contents of transmission data). The response packet generator 9 adds the transmission packet header from the packet header generator 8 to the transmission packet data from the transmission packet buffer 5, generates a response packet, and returns it to the other party through the network NW connection. (S21 in Figure 3).

[0026] 遅延設定レジスタ 13に設定された遅延時間が経過したか否かについては、セッショ ン状態管理メモリ 3から読み出されるタイムスタンプ情報と、タイムスタンプ生成部 10 のタイマ値との比較に基づいて、送信パケット RZW制御部 12において判定され、設 定遅延時間の経過後に、送信パケットバッファ 5から送信パケットデータが読み出さ れ、応答パケット生成部 9から送信される(図 3中、 S20, S21)。  Whether or not the delay time set in the delay setting register 13 has elapsed is determined based on a comparison between the time stamp information read from the session state management memory 3 and the timer value of the time stamp generation unit 10. The transmission packet RZW control unit 12 determines that the transmission packet data is read from the transmission packet buffer 5 and transmitted from the response packet generation unit 9 after the set delay time has elapsed (S20 and S21 in FIG. 3).

[0027] なお、セッション検索テーブル 2に一致するエントリがない場合、受信パケットの IP アドレス及びポート番号がセッション検索テーブル 2に登録され、セッション状態管理 メモリ 3において対応のセッションステータスコードが初期値に設定される(図 3中、 S 14, S22, S23)。  [0027] If there is no matching entry in session search table 2, the IP address and port number of the received packet are registered in session search table 2, and the corresponding session status code is set to the initial value in session state management memory 3. (S14, S22, S23 in FIG. 3).

[0028] また、ヘッダ抽出 'プロトコル識別部 1においては、送信するパケットのヘッダ情報と して、 TCPヘッダの順序番号 (シーケンス番号)及び確認応答番号が更に抽出され、 パケットヘッダ生成部 8に送られる。これらの順序番号及び確認応答番号は、応答パ ケット生成部 9における応答パケットの生成に使用される。  [0028] In addition, the header identification 'protocol identification unit 1 further extracts a TCP header sequence number (sequence number) and an acknowledgment number as the header information of the packet to be transmitted, and sends it to the packet header generation unit 8 It is done. These sequence number and confirmation response number are used in response packet generation in the response packet generation unit 9.

[0029] TCPセッションエミユレーシヨン装置 TSEにおいては、受信パケット読出 Z書込 (R ZW)制御部 11により受信パケットバッファ 4に格納されたパケットデータを CPUから 読み出すこと、及び送信パケットバッファ 5に対するパケットデータを CPUが設定する ことが可能であり、上位プロトコル処理を CPUにより処理することが可能である。応答 パケット生成シーケンサ 6において CPUによるプロトコル処理が必要とされた場合に は、応答パケット生成シーケンサ 6から CPUに対して割り込み通知が行われる。なお 、 TCPセッションエミユレーシヨン装置 TSEから先に、つまりネットワーク NWにバケツ ト (応答パケットではなくトラフィック生成のためのパケット)を送信する場合には、 CP U力も送信パケット RZW制御部 12に送出制御を通知することにより、パケットの送信 が実施される。 [0030] 一層詳述すると、上述した TCPセッションエミユレーシヨン装置 TSEにおいては、送 信パケットバッファ 5の内容については、図 4に示すように、アプリケーションの各プロ トコル(例えば、 HTTP (Hyper Text Transfer Protocol)、 FTP (File Transfer Protoco 1)、 SMTP (Simple Mail Transfer Protocol)など)に対応するパケットデータが、予め CPUにより書き込まれている。したがって、セッション状態管理メモリ 3からセッション ステータスコードを受けた応答パケット生成シーケンサ 6は、該当するプロトコルが格 納されて ヽるアドレスを示す送信データ内容指示を送信パケット RZW制御部 12に 渡すことにより、送信パケットバッファ 5における該当プロトコルの格納されているアド レス力 送信パケットデータが読み出される。 [0029] In the TCP session emulation device TSE, the received packet read Z write (R ZW) control unit 11 reads out the packet data stored in the received packet buffer 4 from the CPU, and the transmission packet buffer 5 Packet data can be set by the CPU, and higher-level protocol processing can be processed by the CPU. When the response packet generation sequencer 6 requires protocol processing by the CPU, the response packet generation sequencer 6 sends an interrupt notification to the CPU. Note that when sending a packet (not a response packet but a packet for generating traffic) to the network NW first from the TCP session emulation device TSE, the CPU power is also sent to the transmission packet RZW control unit 12. The packet is transmitted by notifying the control. [0030] In more detail, in the above-described TCP session emulation device TSE, the contents of the transmission packet buffer 5 are as shown in Fig. 4 for each protocol of the application (for example, HTTP (Hyper Text Packet data corresponding to Transfer Protocol (FTP), File Transfer Protocol 1 (FTP), Simple Mail Transfer Protocol (SMTP), etc. is written in advance by the CPU. Therefore, the response packet generation sequencer 6 that has received the session status code from the session state management memory 3 passes the transmission data content indication indicating the address where the corresponding protocol is stored to the transmission packet RZW control unit 12, Address power stored in the transmission packet buffer 5 for the relevant protocol Transmission packet data is read.

[0031] 図 5はセッション検索テーブル 2の構成例を示す。この構成例に示すように、セッシ ヨン検索テーブル 2には、発信元アドレス及び宛先アドレス(いずれも IPアドレス)、プ ロトコルコード、発信元ポート番号及び宛先ポート番号が格納されている。このテープ ル 2の各エントリは TCPの個々のセッション(セッション番号)に対応しており、受信パ ケットから抽出された上記ヘッダ情報、つまり発信元アドレス、宛先アドレス、プロトコ ルコード、発信元ポート番号、及び宛先ポート番号の少なくとも 1つに基づいて、この テーブル 2を検索することにより、 TCPセッションが識別される。  FIG. 5 shows a configuration example of the session search table 2. As shown in this configuration example, the session search table 2 stores a source address and a destination address (both are IP addresses), a protocol code, a source port number, and a destination port number. Each entry in this table 2 corresponds to an individual session (session number) of TCP, and the header information extracted from the received packet, that is, source address, destination address, protocol code, source port number, The TCP session is identified by searching this table 2 based on at least one of the destination port number and the destination port number.

[0032] 図 6はセッション状態管理メモリ 3の構成例を示す。セッション状態管理メモリ 3の各 エントリはセッション検索テーブル 2の各エントリと対応している。セッション状態管理メ モリ 3には、セッション状態を示すセッションステータスコード、受信パケットの格納位 置を示す受信バッファアドレス、及びパケットを受信した時刻を示すタイムスタンプが 格納されている。ここで、セッションステータスコードは、 TCPセッションが通信してい るポート番号、 TCPの遷移状態を示す TCP状態コード、及び上位プロトコル(アプリ ケーシヨンプロトコル)の遷移状態を示す上位状態コードから構成されて!ヽる。上位プ ロトコルの状態遷移については、ハードウェア及びソフトウェアのいずれかにより実施 される力 ソフトウェアにより状態遷移を実施する場合には、応答パケット生成シーケ ンサ 6から通知される割り込みにより、次状態の状態遷移が発生する。  FIG. 6 shows a configuration example of the session state management memory 3. Each entry in the session state management memory 3 corresponds to each entry in the session search table 2. The session state management memory 3 stores a session status code indicating the session state, a reception buffer address indicating the storage position of the received packet, and a time stamp indicating the time when the packet is received. Here, the session status code consists of the port number with which the TCP session is communicating, the TCP status code indicating the TCP transition status, and the upper status code indicating the transition status of the upper protocol (application protocol)! Speak. For the state transition of the higher-level protocol, the force performed by either hardware or software. When the state transition is performed by software, the state transition of the next state is detected by an interrupt notified from the response packet generation sequencer 6. Occurs.

[0033] 図 7は応答パケット生成シーケンサ 6の動作手順例を示す。この動作手順 (S71〜S 78)により、 TCPプロトコルの状態遷移が実現される力 TCPプロトコル状態が EST ABLISHEDになっている場合に、上位プロトコルの通信が実施される。上位プロトコ ルの状態遷移については、ハードウェアあるいはソフトウェアにて構成される応答パ ケット生成シーケンサ 6内部の上位プロトコル処理シーケンサ(プロトコルシーケンサ) (図 8)に現在の状態を示す上位状態コードを渡すことにより行われる。 FIG. 7 shows an operation procedure example of the response packet generation sequencer 6. This operation procedure (S71 to S78) enables the TCP protocol state transition to be realized. When it is set to ABLISHED, upper protocol communication is performed. For the state transition of the upper protocol, pass the upper status code indicating the current status to the upper protocol processing sequencer (protocol sequencer) (Fig. 8) in the response packet generation sequencer 6 configured by hardware or software. Is done.

[0034] また、異常シーケンスを発生させる場合には、状態設定レジスタ 7の設定内容に応 じて、 TCPプロトコルの状態遷移を通常とは異なる状態へと遷移させる。なお、この動 作手順で示される TCPプロトコルの状態遷移はハードウェアにて実施することより、 大量のトラフィック発生状態を生成することが可能となる。 When an abnormal sequence is generated, the TCP protocol state transition is changed to a state different from the normal state according to the setting contents of the state setting register 7. It should be noted that the TCP protocol state transitions shown in this operation procedure can be generated in hardware, so that a large amount of traffic generation states can be generated.

[0035] 図 8は応答パケット生成シーケンサ 6の構成例を示す。この構成例のように、応答パ ケット生成シーケンサ 6は、図 9に示す TCPプロトコルの状態遷移において ESTABL ISHEDとなり上位プロトコルの通信が可能となった際に、ポート番号に応じて、応答 パケット生成シーケンサ 6内部の上位のプロトコル処理シーケンサが動作するような 階層的な構成を採る。上位プロトコル処理シーケンサについては、 FINの送受信によ り TCPプロトコルの状態遷移力 CLOSE状態に遷移する際に、シーケンス動作を完 了する。  FIG. 8 shows a configuration example of the response packet generation sequencer 6. As in this configuration example, the response packet generation sequencer 6 is ESTABL ISHED in the TCP protocol state transition shown in FIG. 6 Hierarchical configuration is adopted so that the internal high-level protocol processing sequencer operates. For the upper protocol processing sequencer, the sequence operation is completed when the TCP protocol state transition force CLOSE state is entered by sending and receiving FINs.

[0036] 異常状態発生の具体例として、 TCPプロトコルの SYNパケット受信に対する ACK の応答パケットが正常に返らないという場合を示すと、状態設定レジスタ 7に異常状 態発生の設定を行い、応答パケット生成シーケンサ 6内部の TCPシーケンサが SYN — RCVDの状態で、通常であれば ACKパケットを SYNパケットの送信元に返すよう な送信指示を送信パケット RZW制御部 12及びパケットヘッダ生成部 8に送るところ を、この動作を実施せずに ACKパケットを送信しないまま、 SYN— RCVDに留まる という動作をする。  [0036] As a specific example of the occurrence of an abnormal condition, if an ACK response packet to a TCP protocol SYN packet reception is not returned normally, the abnormal condition occurrence is set in the status setting register 7 to generate a response packet. When the TCP sequencer inside the sequencer 6 is in the SYN-RCVD state, and normally sends a send instruction to the send packet RZW control unit 12 and the packet header generation unit 8 to return an ACK packet to the sender of the SYN packet. Without this operation, the ACK packet is not transmitted and the operation stays in SYN-RCVD.

[0037] また、パケットヘッダ内部の確認応答番号の異常を発生させる場合には、状態設定 レジスタ 7に異常状態発生の設定を行い、応答パケット生成シーケンサ 6を経由して、 送信パケットヘッダ内容指示にて異常生成指示の信号が伝えられ、パケットヘッダ生 成部 8において、通常とは異なる確認応答番号が格納されたパケットヘッダが生成さ れ、通信先には、この異常ヘッダを有するパケットが送信されることになる。  [0037] Also, when an abnormality of the confirmation response number in the packet header is generated, an abnormal state occurrence is set in the status setting register 7, and the response packet generation sequencer 6 is used to indicate the content of the transmission packet header. An abnormality generation instruction signal is transmitted, and the packet header generation unit 8 generates a packet header storing an acknowledgment number that is different from the normal one, and a packet having this abnormality header is transmitted to the communication destination. Will be.

[0038] 図 9は RFC793で規定されている TCPプロトコルの状態遷移を示し、この状態遷移 に則って、応答パケット生成シーケンサ 6の動作が決定される。 TCPプロトコルでは、 TCPヘッダ中の発信元ポート番号及び宛先ポート番号と、 IPヘッダ中の IPアドレスと により識別されるコネクションを確立する。このコネクション確立は、 3ウェイハンドシェ ーク、つまり SYN (同期)、 ACK (確認)、及び SYN+ACK (確認応答)という 3つの TCPセグメントで行われる。データ転送においては、 TCPヘッダ中の順序番号及び 確認応答番号を用いる。データ転送が終わると、 FIN (終了)及び ACK (確認)という 2つの TCPセグメントの交換を通信装置または通信システム間で行うことにより、コネ クシヨンを解放する。 [0038] Figure 9 shows the state transition of the TCP protocol specified in RFC793. Accordingly, the operation of the response packet generation sequencer 6 is determined. In the TCP protocol, a connection identified by the source port number and destination port number in the TCP header and the IP address in the IP header is established. This connection is established in three TCP segments: a 3-way handshake, namely SYN (synchronization), ACK (acknowledgement), and SYN + ACK (acknowledgement). For data transfer, the sequence number and confirmation response number in the TCP header are used. When the data transfer is completed, the connection is released by exchanging two TCP segments, FIN (end) and ACK (acknowledge), between the communication devices or communication systems.

[0039] TCPヘッダには、発信元ポート番号、宛先ポート番号、順序番号、確認応答番号、 コードビット(制御ビット)、ウィンドウサイズ、チェックサム、及び緊急(ァージェント)ポ インタなどのフィールドがある。  [0039] The TCP header includes fields such as a source port number, a destination port number, a sequence number, an acknowledgment number, a code bit (control bit), a window size, a checksum, and an emergency pointer.

[0040] TCPヘッダの 6ビットのコードビットフィールドには、 URG、 ACK、 PSH、 RST、 SY N、及び FINの 6個のフラグビットがある。各コードビットの意味は次のとおりである。 [0040] The 6-bit code bit field of the TCP header has 6 flag bits: URG, ACK, PSH, RST, SYN, and FIN. The meaning of each code bit is as follows.

(1) URG:緊急ポインタが有効である。 (1) URG: The urgent pointer is valid.

(2) ACK:確認応答番号が有効である。  (2) ACK: Acknowledgment number is valid.

(3) PSH :受信側 (受け手)はデータを可能な限り早急にアプリケーションに渡さなけ ればならない。  (3) PSH: The receiver (receiver) must pass the data to the application as soon as possible.

(4) RST:コネクションをリセットする。  (4) RST: Reset the connection.

(5) SYN:コネクションを初期化するために順序番号を同期させる。  (5) SYN: Synchronizes sequence numbers to initialize the connection.

(6) FIN:送信側(送り手)はデータの送信を終了した。  (6) FIN: The sending side (sender) has finished sending data.

[0041] これらのコードビットは 1つだけをオン状態にする力、複数を同時にオン状態にする ことができる。コードビットがオン状態の TCPセグメントを次のように呼ぶ。  [0041] Only one of these code bits can be turned on, and a plurality of code bits can be turned on simultaneously. A TCP segment whose code bit is on is called as follows.

(1) SYNセグメント: SYNビットのみがオン(ACKビットはオフ)。  (1) SYN segment: Only the SYN bit is on (ACK bit is off).

(2) SYN+ACKセグメント: SYNビット及び ACKビットのみがオン。  (2) SYN + ACK segment: Only SYN bit and ACK bit are on.

(3) ACKセグメント:データフィールドにユーザデータは無ぐ ACKビットのみがオン  (3) ACK segment: No user data in the data field Only the ACK bit is on

(4) DTセグメント: URGビット及び RSTビットのオン ·オフに関係なく、ユーザデータ が有り、 ACKビットのみが才ン。 (5) FINセグメント: FINビットがオン (ACKビットがオンのことが多!、)。 (4) DT segment: Regardless of whether the URG bit or RST bit is on or off, there is user data and only the ACK bit is valid. (5) FIN segment: FIN bit is on (ACK bit is often on!).

(6) RSTセグメント: RSTビットがオン (ACKビットがオンのことが多!、)。  (6) RST segment: RST bit is on (ACK bit is often on!).

[0042] TCPプロトコルに対するイベント(事象)には、送信イベント(送信した TCPセグメン ト)及び受信イベント (受信した TCPセグメント)などがあり、代表例及びその意味は次 に示すとおりである。  [0042] Events (events) for the TCP protocol include transmission events (transmitted TCP segments) and reception events (received TCP segments). Typical examples and their meanings are as follows.

(1) SYNsent:送信した SYNセグメント。  (1) SYNsent: SYN segment sent.

(2) S YN+ACKsent:送信した SYN+ACKセグメント。  (2) S YN + ACKsent: SYN + ACK segment sent.

(3) ACKsent:送信した ACKセグメント。  (3) ACKsent: The transmitted ACK segment.

(4) DT/ ACKsent:送信した DTセグメントまたは ACKセグメント。  (4) DT / ACKsent: Transmitted DT segment or ACK segment.

(5) FINsent:送信した FINセグメント。  (5) FINsent: FIN segment sent.

(6) SYNrecv:受信した SYNセグメント。  (6) SYNrecv: Received SYN segment.

(7) SYN+ACKrecv:受信した SYN+ACKセグメント。  (7) SYN + ACKrecv: Received SYN + ACK segment.

(8) ACKrecv:受信した ACKセグメント。  (8) ACKrecv: Received ACK segment.

(9) DTZ ACKrecv:受信した DTセグメントまたは ACKセグメント。  (9) DTZ ACKrecv: Received DT segment or ACK segment.

(10) FINrecv:受信した FINセグメント。  (10) FINrecv: Received FIN segment.

[0043] TCPプロトコルにおける状態(ステート)は、図 9に示すように、 CLOSED, LISTE N、 SYN— SENTゝ SYN一 RCVDゝ ESTABLISHED, FIN一 WAIT一 1、 FIN— WAIT一 2、 CLOSING, CLOSE一 WAIT、 LAST一 ACK、及び TIME一 WAIT という値を採り得る。これらの値の意味は次に示すとおりである。  [0043] The states in the TCP protocol are as follows, as shown in Figure 9. It can take the values WAIT, LAST ACK, and TIME WAIT. The meaning of these values is as follows.

(1) CLOSED:コネクション無しの状態。  (1) CLOSED: No connection.

(2) LISTEN:待ち状態。  (2) LISTEN: Waiting state.

(3) SYN— SENT: SYNセグメントを送信してコネクション確立処理中の状態。 (3) SYN—SENT: A state in which connection is being established by sending a SYN segment.

(4) SYN— RCVD: SYNセグメントを受信してコネクション確立処理中の状態。(4) SYN — RCVD: A state in which a SYN segment is received and connection establishment is in progress.

(5) ESTABLISHED:双方向にデータ転送可能な状態。 (5) ESTABLISHED: A state where data can be transferred in both directions.

(6) FIN— WAIT— 1:データ送信終了要求の状態。  (6) FIN—WAIT— 1: Data transmission end request status.

(7) FIN— WAIT— 2:データ送信終了完了の状態。  (7) FIN—WAIT— 2: Data transmission complete.

(8) CLOSING:データ送受信同時終了の状態。  (8) CLOSING: Data transmission / reception simultaneous termination status.

(9) TIME— WAIT:コネクション解放完了時のコネクション情報保持状態。 (10) CLOSE— WAIT:コネクション解放の待機状態。 (9) TIME—WAIT: Connection information retention status when connection release is completed. (10) CLOSE—WAIT: Waiting for connection release.

( 11 ) LAST— ACK:最終 ACKの受信待ち状態。  (11) LAST—ACK: Waiting to receive the last ACK.

[0044] 上述したように、 TCPセッションエミユレーシヨン装置 TSEにおいては、ネットワーク NWの通信回線力もの受信パケットが TCPパケットであることを認識した場合、セッシ ヨン検索テーブル 2が検索され、セッション状態管理メモリ 3の記憶情報と状態設定レ ジスタ 7の設定値とにより、応答パケット生成シーケンサ 6の初期状態及び動作状態 が決定される。また、パケットを受信した時刻はタイムスタンプとして、セッション状態 管理メモリ 3に格納され、パケット送出タイミングの決定に使用される。  [0044] As described above, when the TCP session emulation device TSE recognizes that the received packet having the communication line power of the network NW is a TCP packet, the session search table 2 is searched and the session state is determined. The initial state and the operating state of the response packet generation sequencer 6 are determined by the storage information in the management memory 3 and the setting value in the state setting register 7. The time when the packet is received is stored in the session state management memory 3 as a time stamp and used to determine the packet transmission timing.

[0045] [変形例]  [0045] [Modification]

上述した一実施の形態における処理はコンピュータで実行可能なプログラムとして 提供され、 CD— ROMやフレキシブルディスクなどの記録媒体、さらには通信回線を 経て提供可能である。  The processing in the above-described embodiment is provided as a computer-executable program, and can be provided via a recording medium such as a CD-ROM or a flexible disk, and further via a communication line.

[0046] また、上述した一実施の形態における各処理はその任意の複数または全てを選択 し組合せて実施することもできる。  [0046] In addition, each process in the above-described embodiment may be performed by selecting and combining any or all of the processes.

Claims

請求の範囲 The scope of the claims [1] 受信パケットのヘッダから得られる IP (Internet Protocol)アドレス及びポート番号の 少なくとも 1つを検索キーとして TCP (Transmission Control Protocol)プロトコルのセ ッシヨンを特定する識別子を検索するためのセッション検索テーブルと;  [1] A session search table for searching for an identifier that identifies a session of the TCP (Transmission Control Protocol) protocol using at least one of the IP (Internet Protocol) address and port number obtained from the header of the received packet as a search key. ; 前記セッション検索テーブルの検索結果として求められる前記識別子に基づいて 引かれ、セッションステータスコードを得るためのセッション状態管理メモリと; 前記セッション状態管理メモリから得られた前記セッションステータスコードに応じて 、複数のアプリケーションプロトコルのいずれかが使用する前記 TCPプロトコルの擬 似セッション動作を決定するシーケンサと;  A session state management memory for obtaining a session status code drawn based on the identifier obtained as a search result of the session search table; and a plurality of sessions according to the session status code obtained from the session state management memory A sequencer that determines the simulated session behavior of the TCP protocol used by any of the application protocols; を備える TCPセッションエミユレーシヨン装置。  TCP session emulation device with [2] 前記シーケンサは、 HTTP (Hyper Text Transfer Protocol)、 FTP (File Transfer P rotocol)、及び SMTP (Simple Mail Transfer Protocol)を含むアプリケーションプロト コル毎に設けられている [2] The sequencer is provided for each application protocol including HTTP (Hyper Text Transfer Protocol), FTP (File Transfer Protocol), and SMTP (Simple Mail Transfer Protocol). 請求項 1記載の TCPセッションエミユレーシヨン装置。  The TCP session emulation device according to claim 1. [3] 前記セッションステータスコードは、前記 TCPプロトコルのセッションが通信している ポート番号、前記 TCPプロトコルの遷移状態を示す TCP状態コード、及び前記アブ リケーシヨンプロトコルの遷移状態を示す上位状態コードから構成されている 請求項 1記載の TCPセッションエミユレーシヨン装置。 [3] The session status code is composed of a port number through which the TCP protocol session is communicating, a TCP status code indicating the transition state of the TCP protocol, and a higher level code indicating the transition state of the abrasion protocol. The TCP session emulation device according to claim 1. [4] 意図的に前記 TCPプロトコルのセッションの異常処理動作を発生させるために予め 設定される設定値を保持する状態設定レジスタを更に備え; [4] A status setting register that holds a preset value for intentionally generating an abnormal processing operation of the TCP protocol session; 前記設定値及び前記セッションステータスコードの双方の値に応じて、前記シーケ ンサの動作を決定する  The operation of the sequencer is determined according to both the setting value and the value of the session status code. 請求項 1記載の TCPセッションエミユレーシヨン装置。  The TCP session emulation device according to claim 1. [5] 前記受信パケットのヘッダ力 ヘッダ情報として、前記 IPアドレス及び前記ポート番 号とともに、 TCPプロトコルの順序番号、確認応答番号及びコードビットを得る抽出手 段と; [5] Extraction means for obtaining a TCP protocol sequence number, an acknowledgment number and a code bit as the header information of the received packet together with the IP address and the port number; 前記抽出手段で得た前記ヘッダ情報及び前記シーケンサからのヘッダ内容指示 に基づいて、送信パケットのヘッダ情報を生成し、応答パケットのヘッダとして付加し て送信する手段と; Based on the header information obtained by the extracting means and the header content instruction from the sequencer, the header information of the transmission packet is generated and added as the header of the response packet. And means for transmitting; を更に備える請求項 1記載の TCPセッションエミユレーシヨン装置。  The TCP session emulation device according to claim 1, further comprising: 前記受信パケットの受信時刻をタイムスタンプ情報として対応のセッション毎に前記 セッション状態管理メモリに格納する手段と;  Means for storing the reception time of the received packet as time stamp information in the session state management memory for each corresponding session; 応答パケットの遅延時間を設定するレジスタとを更に備え;  A register for setting a delay time of the response packet; 前記応答パケットを前記設定された遅延時間後に送出して応答遅延を実現する 請求項 1記載の TCPセッションエミユレーシヨン装置。  The TCP session emulation device according to claim 1, wherein the response packet is transmitted after the set delay time to realize a response delay.
PCT/JP2005/013164 2005-07-15 2005-07-15 Tcp session emulator Ceased WO2007010593A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2005/013164 WO2007010593A1 (en) 2005-07-15 2005-07-15 Tcp session emulator
JP2007525461A JPWO2007010593A1 (en) 2005-07-15 2005-07-15 TCP session emulation device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2005/013164 WO2007010593A1 (en) 2005-07-15 2005-07-15 Tcp session emulator

Publications (1)

Publication Number Publication Date
WO2007010593A1 true WO2007010593A1 (en) 2007-01-25

Family

ID=37668482

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/013164 Ceased WO2007010593A1 (en) 2005-07-15 2005-07-15 Tcp session emulator

Country Status (2)

Country Link
JP (1) JPWO2007010593A1 (en)
WO (1) WO2007010593A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010020654A (en) * 2008-07-14 2010-01-28 Mitsubishi Electric Corp Communication reproducing device
JP2010157875A (en) * 2008-12-26 2010-07-15 Fujitsu Ltd Communication terminal, network interface card, and method therefor
JP2011048713A (en) * 2009-08-28 2011-03-10 Casio Computer Co Ltd Sales data processor, network system, and program
JP2011097423A (en) * 2009-10-30 2011-05-12 Nippon Telegr & Teleph Corp <Ntt> Error generating apparatus and method

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05260055A (en) * 1992-03-16 1993-10-08 Nippondenso Co Ltd Pseudo abnormal signal generator
JP2000508848A (en) * 1996-03-22 2000-07-11 エリクソン インコーポレイテッド Testing UNIX Open Systems Interconnection Layer
JP2002007232A (en) * 2000-06-21 2002-01-11 Cybird Co Ltd Performance testing method and server testing device for www server
JP2003316666A (en) * 2002-04-19 2003-11-07 Sony Computer Entertainment Inc Method and system for verifying the number of sessions of stack, program for verifying the number of sessions of stack to make computer perform, and computer readable recording medium recorded with program for verifying the number of sessions of stack to make computer perform
JP2004104450A (en) * 2002-09-09 2004-04-02 Ipsquare Inc Information processor and information processing method
JP2004180185A (en) * 2002-11-29 2004-06-24 Hitachi Ltd Network evaluation method for computer system and communication data generator
JP2005513914A (en) * 2001-12-10 2005-05-12 アパレント・ネットワークス・インコーポレイテッド Method and apparatus for placing test packet on data communication network

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05260055A (en) * 1992-03-16 1993-10-08 Nippondenso Co Ltd Pseudo abnormal signal generator
JP2000508848A (en) * 1996-03-22 2000-07-11 エリクソン インコーポレイテッド Testing UNIX Open Systems Interconnection Layer
JP2002007232A (en) * 2000-06-21 2002-01-11 Cybird Co Ltd Performance testing method and server testing device for www server
JP2005513914A (en) * 2001-12-10 2005-05-12 アパレント・ネットワークス・インコーポレイテッド Method and apparatus for placing test packet on data communication network
JP2003316666A (en) * 2002-04-19 2003-11-07 Sony Computer Entertainment Inc Method and system for verifying the number of sessions of stack, program for verifying the number of sessions of stack to make computer perform, and computer readable recording medium recorded with program for verifying the number of sessions of stack to make computer perform
JP2004104450A (en) * 2002-09-09 2004-04-02 Ipsquare Inc Information processor and information processing method
JP2004180185A (en) * 2002-11-29 2004-06-24 Hitachi Ltd Network evaluation method for computer system and communication data generator

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010020654A (en) * 2008-07-14 2010-01-28 Mitsubishi Electric Corp Communication reproducing device
JP2010157875A (en) * 2008-12-26 2010-07-15 Fujitsu Ltd Communication terminal, network interface card, and method therefor
JP2011048713A (en) * 2009-08-28 2011-03-10 Casio Computer Co Ltd Sales data processor, network system, and program
JP2011097423A (en) * 2009-10-30 2011-05-12 Nippon Telegr & Teleph Corp <Ntt> Error generating apparatus and method

Also Published As

Publication number Publication date
JPWO2007010593A1 (en) 2009-01-29

Similar Documents

Publication Publication Date Title
US11765079B2 (en) Computational accelerator for storage operations
US8649395B2 (en) Protocol stack using shared memory
Billington et al. A coloured petri net approach to protocol verification
US7523198B2 (en) Integrated testing approach for publish/subscribe network systems
US6981180B1 (en) Method and apparatus for testing request-response service using live connection traffic
US7856020B2 (en) TCP receiver acceleration
US8085673B2 (en) Method and apparatus for generating bi-directional network traffic and collecting statistics on same
US9218266B2 (en) Systems and methods for replication of test results in a network environment
US20070291759A1 (en) Apparatus and method of splitting a data stream over multiple transport control protocol/internet protocol (tcp/ip) connections
US7313635B1 (en) Method and apparatus for simulating a load on an application server in a network
CN103944773A (en) Communication device, communication method, recording medium, and program
JP5157586B2 (en) Emulator device
CN108011850A (en) The recombination method and device of data packet, computer equipment and computer-readable recording medium
JP2007538444A (en) Firewall system
WO2007010593A1 (en) Tcp session emulator
CN103078720B (en) Message processing method and device
JP3569149B2 (en) Communication control device
JPH11328134A (en) Data transmission / reception method between computers
Griffin Testing protocol implementation robustness
Billington et al. Parameterised coloured Petri net channel models
CN116668093B (en) A security testing method and system for real-time TCP data processing
Ridge et al. TCP, UDP, and Sockets: Volume 3: The Service-level Specification
JP2011249922A (en) Network device, tcp packet receiver and method
Mesotten MPAIOQUIC: On the design and implementation of MultiPath in QUIC
Surton et al. Man-in-the-middle tcp recovery

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2007525461

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Country of ref document: DE

122 Ep: pct application non-entry in european phase

Ref document number: 05766385

Country of ref document: EP

Kind code of ref document: A1