WO2010073671A1 - Tcp送信制御装置及びtcp送信制御方法 - Google Patents
Tcp送信制御装置及びtcp送信制御方法 Download PDFInfo
- Publication number
- WO2010073671A1 WO2010073671A1 PCT/JP2009/007197 JP2009007197W WO2010073671A1 WO 2010073671 A1 WO2010073671 A1 WO 2010073671A1 JP 2009007197 W JP2009007197 W JP 2009007197W WO 2010073671 A1 WO2010073671 A1 WO 2010073671A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- tcp
- transmission
- tso
- session
- data
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
Definitions
- the present invention relates to a TCP (Transport Control Protocol) transmission control apparatus and a TCP transmission control method, and more particularly, to an efficient transmission control method when data transmission is performed via a TCP / IP (Transport Control Protocol / Internet Protocol) network. Regarding improvements.
- TCP Transmission Control Protocol
- IP Transport Control Protocol / Internet Protocol
- protocol processing is executed by software processing under the control of the OS, so that the CPU processing load of the entire terminal is improved and protocol processing is performed to execute other priority processing. In some cases, it is difficult to guarantee real-time communication of application data in a connected state. In order to avoid such a phenomenon, as shown in FIG. 1, in recent years, terminals that implement protocol processing in TCP / IP communication using hardware (also called NPU: Network Processing Unit) have appeared.
- NPU Network Processing Unit
- FIG. 1 is a diagram showing a configuration of a communication terminal using conventional TCP / IP.
- a communication terminal using TCP / IP includes, for example, a low-end / middle-end machine 10 such as a PC (Personal Computer) and a PDA (Personal Digital Assistant), and a high-end device 20 such as a commercial system server. Composed.
- a low-end / middle-end machine 10 such as a PC (Personal Computer) and a PDA (Personal Digital Assistant)
- a high-end device 20 such as a commercial system server. Composed.
- a kernel under the OS control sequentially executes each protocol process.
- the kernel processes all the functions of the TCP layer and processes all the functions of the IP layer in the transmission process according to the application instruction.
- the network device driver and the network device execute transmission according to protocol processing in TCP / IP communication.
- the reception process is the reverse of the transmission process.
- a kernel under the OS control sequentially executes each protocol process.
- all the function processing of the TCP layer and all the function processing of the IP layer are implemented by hardware (HW) in the network processor (NPU).
- TCP / IP communication using TCP / IP is currently implemented in software and introduced in various systems.
- introduction of an NPU that processes TCP / IP with hardware is also realized. Since processing performed by the OS is performed by hardware, throughput can be improved and CPU load can be reduced.
- Patent Document 1 describes a device that processes TCP / IP in hardware.
- the device described in Patent Document 1 provides a protocol stack by hardware that can execute protocol processing for communication of application data in a connected state in a state independent of OS control.
- Patent Document 2 describes a data processing method for TCP connection using an offload unit.
- the method described in Patent Document 2 is not a conventional TCP segment unit transmission of application data, but a software function that concatenates a plurality of segments and makes a transmission request to the hardware in a batch, and a connected segment that is received in a batch Is divided into TCP transmission segments and continuously sent to the network. As a result, it is attempted to improve the efficiency of TCP / IP communication protocol processing.
- the maximum number of TCP segments that can be connected at one time is determined with reference to the congestion window size and the size at that time as the upper limit.
- the congestion window size is an internal variable held by the TCP layer and represents the size of a segment that can be transmitted. This size is constantly changing as network conditions change.
- TSO TCP SegmentationTOffload
- TSO is a function that performs part or all of the TCP segmentation processing by hardware (NIC). Since the processing performed by the OS is partially performed by hardware, an improvement in throughput and a reduction in CPU load can be expected.
- An object of the present invention is to provide a TCP transmission control device and a TCP transmission control method that realize efficiency of TCP transmission processing in an application that uses an intermittent transmission method.
- the TCP transmission control device of the present invention is a TCP transmission control device that performs TCP / IP data transmission by hardware processing and software processing, and a TCP session opened for data transmission uses a TCP segment concatenation transmission processing.
- TSO control means for determining whether or not to perform, a session identifier used in the TCP session, connection transmission processing usage information notified from the TSO control means, the maximum number of TCP segments connected, and TCP
- a connection management unit that individually sets ON / OFF of the TSO operation for each session and enables / stops the TSO function is adopted.
- the TCP transmission control method of the present invention is a TCP transmission control method for performing TCP / IP data transmission by hardware processing and software processing, and a TCP session opened for data transmission uses TCP segment concatenation transmission processing. Managing a session identifier used in the TCP session, connection transmission processing usage information notified from the TSO control means, and the maximum number of TCP segments connected, And a management step for individually setting the TSO operation to ON / OFF and enabling / stopping the TSO function.
- the present invention by managing the session identifier used in the TCP session, the usage information of the TCP segment concatenation transmission process, and the maximum number of TCP segments concatenated for each TCP session, software processing and hardware processing are performed. It can be used efficiently to improve the efficiency of data transmission in TCP / IP communication. Specifically, the following effects are exhibited.
- the figure which shows the structure of the communication terminal using the conventional TCP / IP The figure which shows the structure of the communication terminal in which the TCP transmission control apparatus which concerns on Embodiment 1 of this invention is used.
- the figure which shows the control sequence of the congestion detection of a network of the TCP transmission control apparatus which concerns on the said Embodiment 2, a TSO function stop, the TCP congestion recovery phase, and a TSO function recovery The figure explaining TCP transmission control of the TCP transmission control apparatus which concerns on the said Embodiment 2.
- the block diagram which shows the structure of the communication terminal in which the TCP transmission control apparatus which concerns on Embodiment 3 of this invention is used.
- the figure which shows the control sequence of congestion window size suppression of the TCP transmission control apparatus which concerns on the said Embodiment 3, the maximum connection number maintenance of a TSO function, and communication continuation
- FIG. The figure explaining the congestion window control of the TCP transmission control apparatus which concerns on the said Embodiment 3.
- FIG. 2 is a diagram showing a configuration of a communication terminal in which the TCP transmission control apparatus according to Embodiment 1 of the present invention is used.
- the TCP transmission control apparatus according to the present embodiment can be applied to a transmission terminal of a home network.
- the communication terminal 100 is a transmission device that configures TCP / IP communication by separating processing into hardware and software.
- the communication terminal 100 includes a UI (User Interface) control unit 101 that controls input / output of information to / from a user, a TSO control unit 102 that determines whether or not a TCP segment connection / transmission function can be used, and a connection from the TSO control unit 102.
- UI User Interface
- a connection management unit 103 that manages control information related to the transmission function for each application (session), a transmission buffer management unit 104 that performs transmission buffer control of TCP / IP, a reception buffer management unit 105 that performs reception buffer control, and a TCP / IP ACK processing unit 106 that performs confirmation response processing for data transmission of IP communication, TCP window management unit 107 that manages a TCP segment that can be transmitted next along with the confirmation response, and data segment transmission that transfers the TCP segment to be transmitted to the IP layer Unit 108 and IP layer control unit 1 that performs IP layer processing of packets 9, a device control unit 110 for controlling the network device, configured to include a network device 111 for performing communication with an external network.
- the UI control unit 101 is a function for instructing whether or not TSO can be used from a user, a function for transmitting media data such as audio and video, and a function for delivering a transmission start request to the TSO control unit 102 when receiving a transmission request.
- the TSO control unit 102 determines whether or not the TCP session opened for data transmission uses the TCP segment concatenation transmission process.
- the TSO control unit 102 when receiving a transmission start request from the UI control unit 101, the TSO control unit 102 manages TSO setting information (TSO ON / OFF and the maximum number of connections), and sends the information to the connection management unit 103. Has a function to deliver.
- the TSO setting information may be determined from the state such as the current number of sessions in the communication terminal 100 instead of setting according to an instruction from the user.
- the TSO setting information (ON / OFF) is determined when, for example, when another communication application is executed in the terminal, the communication is set to OFF in order to take into account the CPU load and communication competition between applications. It is determined depending on the system configuration of the terminal 100 and the communication state at that time.
- the connection management unit 103 manages all of the information for each TCP session, the session identifier used in the TCP session, the connection transmission processing usage information notified from the TSO control unit 102, and the maximum number of TCP segments connected. .
- connection management unit 103 individually sets ON / OFF of the TSO operation for each session identifier, and enables / stops the TSO function.
- the connection management unit 103 manages the TSO setting information received from the TSO control unit 102 as TCP transmission control information 200 for each application (session), and turns on the TSO operation in accordance with the fluctuation of the congestion window size of the TCP window management unit 107.
- the transmission buffer management unit 104 is a buffer that temporarily accumulates actual transmission data delivered from the UI control unit 101.
- the transmission data stored in the transmission buffer management unit 104 is sequentially acquired by the data segment transmission unit 108.
- the reception buffer management unit 105 is a buffer that temporarily accumulates data transmitted from the reception side terminal via the IP layer control unit 109.
- the data stored in the reception buffer management unit 105 is sequentially acquired by the UI control unit 101.
- the ACK processing unit 106 and the TCP window management unit 107 are generally provided with algorithms such as slow start, congestion avoidance, early retransmission, and early recovery as TCP control functions to cope with changes in network conditions and packet loss. Has the function to perform.
- the TCP window management unit 107 manages the congestion window size, and when the ACK processing unit 106 determines a packet loss, the TCP window management unit 107 reduces the managed congestion window size. The algorithm for the reduction is controlled according to the TCP mechanism.
- the data segment transmission unit 108 has a function of transferring the TCP segment transmission method to the IP layer in accordance with the basic operation of the TCP communication with reference to the TCP communication management information 310 (see FIG. 5 described later).
- the IP layer control unit 109 is an IP protocol stack, controls transmission data passed from the data segment transmission unit 108 according to the IP mechanism, and distributes it to the receiving side terminal via the device control unit 110 and the network device 111. .
- the device control unit 110 controls the network device.
- the network device 111 has a function of transmitting data received from the device control unit 110 to the actual network and a function of passing data received from the network to the device control unit 110.
- the network device 111 has a function of transmitting data to the network after dividing the received data into one TCP segment size when TSO is valid at the time of transmission.
- FIG. 3 is a diagram illustrating a configuration example of the TCP transmission control information 200 managed by the connection management unit 103.
- the TCP transmission control information 200 is a database that the connection management unit 103 changes based on the TCP communication status.
- the TCP transmission control information 200 is created based on the TSO setting information managed by the connection management unit 103 and stored as a database.
- the TCP transmission control information 200 stores a session descriptor 202, a TSO operation 203, and a maximum number of connections 204 for each management number 201.
- the TCP transmission control information 200 manages the number of sessions opened by the communication terminal 100 with the management number 201 and links with the UI control unit 101 (application) with the session descriptor 202.
- the TSO operation 203 manages the TSO usage status in the session by ON / OFF.
- the maximum connection number 204 manages the maximum number of TCP segments to be connected at one time, and is set via the TSO control unit 102 according to an instruction from the user. When there is no instruction from the user, it is determined based on the congestion window size of the TCP window management unit 107 that varies according to the network status during communication. These pieces of setting information are controlled by the transmission side of the TCP / IP application.
- the TCP transmission control information 200 may be changed via the TSO control unit 102 according to an instruction from the user.
- FIG. 4 is a diagram illustrating a configuration of the TCP processing unit 300.
- the TCP processing unit 300 controls communication in general TCP.
- the TCP processing unit 300 includes the ACK processing unit 106, the TCP window management unit 107, the data segment transmission unit 108 and the connection management unit 103 in FIG. 2, and TCP communication management information 310, which is a common database.
- the TCP processing unit 300 refers to / updates the TCP communication management information 310, which is a common database, and controls TCP communication.
- FIG. 5 is a diagram illustrating an example of the TCP communication management information 310.
- the TCP communication management information 310 manages parameters for controlling general TCP communication.
- the TCP window (congestion window size) value and TSO operation settings (conventionally for all sessions). All other settings are ON or OFF, and other terminal-specific setting values (for example, the number of retransmissions when a packet loss occurs) are managed.
- the parameter managed by the TCP communication management information 310 has various values depending on the terminal. In the present embodiment, three items of a session descriptor, a TCP window, and a TSO operation are targeted.
- FIG. 6 is a diagram illustrating a control sequence for starting an application, updating TCP transmission control information 200, and starting transmission of media data and the like.
- the communication terminal 100 first initializes the entire system when the power is turned on. This initialization includes initialization of various resident applications to initialization of the network device 111 (see S101).
- connection management unit 103 initializes each parameter of the TCP transmission control information 200 at the timing when the power is turned on, and prepares so that the TSO setting information notified at the timing of starting the communication application and starting the transmission can be received. (See S102).
- the UI control unit 101 After starting the communication application, the UI control unit 101 issues a transmission start message to the TSO control unit 102 when receiving a communication instruction from the user (see S103).
- the TSO control unit 102 manages the TSO setting information (TSO ON / OFF and the maximum number of connections as necessary) (see S104), and notifies the connection management unit 103 of the information (S105). reference).
- connection management unit 103 Upon receiving this notification, the connection management unit 103 assigns a new management number 201 (see FIG. 3) as the TCP transmission control information 200 (see FIG. 3), and sets the socket ID of the notified session as the session descriptor 202.
- the contents of the received TSO setting information are stored in the database of the TCP transmission control information 200 and managed (see S106).
- connection management unit 103 When the change in the TCP transmission control information 200 occurs, the connection management unit 103 simultaneously updates all the corresponding parameter items in the TCP communication management information 310 (see FIG. 5) of the TCP processing unit 300 (see FIG. 4). Since updating is performed for each session descriptor, ON or OFF can be individually set in the TSO operation.
- the value of the TCP window in the TCP communication management information 310 is updated.
- suppressing the value of the TCP window leads to suppressing the maximum number of connections at the time of TCP transmission, and the transfer rate can be controlled.
- the data segment transmission unit 108 refers to the TCP communication management information at each transmission timing in the course of TCP transmission processing, and performs TCP segment concatenation transmission (see S107).
- the setting may be changed at any time through the TSO control unit 102 (S108). Therefore, it is possible to determine whether or not the TCP segment linked transmission function can be used for each application (session).
- the communication terminal 100 includes a TSO control unit 102 that determines whether a TCP session opened for data transmission uses a TCP segment connection transmission process, A connection management unit 103 that manages all of the information for each TCP session, including a session identifier 202 used in a TCP session, connection transmission processing usage information notified from the TSO control unit 102, and the maximum number of TCP segments to be connected. Prepare.
- the communication terminal 100 can determine the availability of the TCP segment connection transmission function for each application (session), and can perform efficient TCP communication according to the device characteristics.
- connection transmission method of a plurality of segments of TCP has been determined as to whether or not the TCP segment connection transmission can be used as a whole system when the terminal is started.
- efficient TCP communication according to the device characteristics can be performed.
- a receiving terminal with low capability is a communication partner, it becomes possible to individually stop the multi-segment concatenation transmission method, reducing the cause of data loss at the receiving terminal, and packet loss An increase in overhead due to TCP retransmission control can be suppressed.
- control can be performed on a session (application) basis, and efficient TCP communication according to device characteristics can be performed.
- the multi-segment concatenation transmission function can be enabled. It is possible to suppress an increase in the CPU load of packet loss processing due to a change in the number of packets and perform efficient TCP communication.
- FIG. 7 is a block diagram showing a configuration of a communication terminal in which the TCP transmission control apparatus according to Embodiment 2 of the present invention is used.
- the same components as those in FIG. 2 are denoted by the same reference numerals.
- the congestion state monitoring unit 401 monitors changes in the network status (for example, lost packets due to network congestion). Further, the congestion state monitoring unit 401 monitors the congestion window size managed by the TCP window management unit 107, and when the size reduction near half is generated from the size of the communication steady state, the network is in a congestion state. The connection management unit 103 is notified of a request for stopping the TSO function (restarting when returning from the reduced size to the steady state size). The functions of other blocks are the same as in FIG.
- connection management unit 103 sets the value of the TCP window that suppresses the value of the congestion window size based on the maximum number of connections to be managed.
- the communication terminal 100 detects network congestion due to lost packets from a state in which the TSO function is enabled, stops the TSO function, returns to the steady state through the TCP congestion recovery phase, and then activates the TSO function.
- the operation to enable is demonstrated using the sequence of FIG.
- FIG. 8 is a diagram showing a control sequence of network congestion detection, TSO function stop, TCP congestion recovery phase, and TSO function recovery.
- the congestion window size managed by the TCP window management unit 107 rises to a constant value through a slow start phase of TCP and enters a steady state.
- the congestion state monitoring unit 401 constantly monitors fluctuations in the congestion window size from the start to the end of the application. Thereafter, when the network status changes and the ACK processing unit 106 determines that the packet is lost, the TCP window management unit 107 reduces the congestion window size.
- the congestion state monitoring unit 401 detects a reduction in the congestion window size (see S201), and issues a request for invalidating (OFF) the TSO function to the connection management unit 103 (see S202).
- connection management unit 103 changes the TSO operation 203 in the corresponding management number 201 of the stored TCP transmission control information 200 to OFF and stops the TSO function (see S203).
- the data segment transmission unit 108 confirms the presence or absence of the TSO function for each transmission opportunity of the TCP segment based on the TCP communication management information 310 (see FIG. 5). For this reason, the data segment transmission unit 108 stops the collective transmission of TCP segments at the time when the data segment becomes invalid, and changes to the normal transmission method in one segment unit to continue data communication (see S204).
- the congestion window size is gradually increased through the TCP slow start phase and the congestion recovery phase.
- the congestion state monitoring unit 401 always monitors the congestion window size regardless of whether or not packet loss occurs (see S205). Therefore, the congestion state monitoring unit 401 determines the congestion recovery phase (see S206), and activates (ON) the TSO function when the congestion window size returns to the steady state value through the congestion recovery phase. Is issued to the connection management unit 103 (see S207).
- connection management unit 103 changes the TSO operation 203 in the corresponding management number 201 of the stored TCP transmission control information 200 to ON and validates the TSO function (see S208).
- the data segment transmission unit 108 confirms the presence or absence of the TSO function for each transmission opportunity of the TCP segment based on the TCP communication management information. For this reason, the data segment transmission unit 108 restores the TCP segment batch transmission when it becomes valid, changes the transmission method from the normal one-segment unit to batch transmission, and continues data communication (see S209). ).
- the above control sequence makes it possible to restore the multi-segment linked transmission function even after packet loss.
- the communication terminal 100 sets the session identifier 202 used in the TCP session, the usage information of the TCP segment connection transmission processing, and the maximum number of TCP segments to be connected for each TCP session. And a connection management unit 103 for management. Further, the communication terminal 100 monitors the lack of transmission data packets in the TCP session, invalidates the usage information of the TCP segment concatenation transmission processing of the TCP session in which the loss has occurred, ends the TCP slow start phase, and the congestion avoidance phase. After the transition, the congestion state monitoring unit 401 that notifies the connection management unit 103 of a request for validating the usage information and continues the connection transmission process is provided.
- FIG. 9A is a diagram for explaining TCP transmission control.
- FIG. 9A shows a conventional example for comparison and FIG. 9B shows this embodiment.
- the transmission is gently and linearly transmitted, and the communication is stable.
- the interval until congestion occurs in this stable communication state is the TSO effective interval.
- the size that can be transmitted is reduced, and the TSO invalid section is immediately entered. Since the TSO invalid section is entered, the CPU load increases linearly.
- the CPU load increases and the increase rate is about 6 times at the maximum.
- the data segment concatenated transmission function is disabled until the session is terminated, causing a decrease in communication performance. Even when TSO is always valid, the performance deteriorates.
- the data segment concatenated transmission flag when congestion is detected, the data segment concatenated transmission flag is invalidated, the slow start phase is terminated and the transition is made to the congestion avoidance phase, and then the data segment concatenated transmission flag is set. Enable and resume transmission. That is, when congestion is detected, only the data segment concatenation transmission flag is invalidated, and the TSO valid section continues even if congestion occurs. For this reason, the CPU load does not change even after congestion is detected.
- the multi-segment linked transmission function is disabled until the session is terminated, whereas in this embodiment, packet loss occurs. It is possible to restore the multi-segment linked transmission function later. As a result, the software does not process protocol processing under the control of the OS in TCP segment units, and the CPU processing load can be reduced and transmission performance can be maintained. According to this embodiment, it is possible to expect the most efficient recovery processing and maintenance of the transfer rate.
- the application using the intermittent transmission method is, for example, streaming using HTTP (Hyper Text Transfer Protocol).
- the communication terminal 100 normally repeats the operation of transmitting a set of data every fixed interval of about several hundred ms and stopping the transmission until the next interval after transmitting the data size.
- the TCP protocol control information is recalculated between the start of data transfer in a certain section and the start of data transfer in the next section, so different values are used. It will be.
- the transmission-side TCP stack gradually increases the congestion window size unless packet loss occurs.
- the transmission side TCP stack performs a process of gradually reducing the congestion window size (CWV: CongestiongestWindow Validation).
- CWV CongestiongestWindow Validation
- This CWV process operates when the retransmission timeout period is exceeded and there is no data transmission request (data writing from the application). For this reason, there may be a problem that the assumed throughput cannot be obtained because the congestion window size may be too small at the transmission start timing of each section.
- FIG. 10 is a block diagram showing a configuration of a communication terminal in which the TCP transmission control apparatus according to Embodiment 3 of the present invention is used.
- the same components as those in FIG. 2 are denoted by the same reference numerals.
- the transmission buffer monitoring unit 601 monitors the transmission interval of transmission data by the application, and when the monitored writing interval becomes equal to the current retransmission timeout time, the transmission buffer monitoring unit 601 A request is issued to increase the value of RTO.
- the sessions to be monitored correspond to all the sessions managed by the connection management unit 103.
- the transmission buffer monitoring unit 601 notifies the session descriptor 202 when the session is opened (application activation).
- the RTO threshold control unit 602 changes the time specified in the retransmission timeout time (RTO) after the communication terminal 100 transmits the packet.
- RTO retransmission timeout time
- a minimum value is provided for this retransmission timeout time, and a value of 200 ms or more is used as an initial value.
- the RTO threshold control unit 602 increases the time and adjusts so that the retransmission timeout time is always longer than the write interval.
- the functions of other blocks are the same as in FIG.
- the communication terminal 100 suppresses a decrease in the congestion window size, maintains the maximum number of connections of the TSO function, and continues the communication. This will be described using the sequence.
- FIG. 11 is a diagram showing a control sequence for suppressing the congestion window size, maintaining the maximum number of connected TSO functions, and continuing communication.
- connection management unit 103 transfers the session of the opened application to the TCP transmission control information 200 (FIG. 3).
- a new management number 201 is assigned as a reference).
- the connection management unit 103 manages the socket ID of the notified session using the session descriptor 202, and stores the content of the received TSO setting information in the database of the TCP transmission control information 200 (see S301).
- connection management unit 103 notifies the transmission buffer monitoring unit 601 of the session descriptor 202 (see FIG. 3) corresponding to the newly registered management number 201 (see FIG. 3) (see S302).
- the transmission buffer monitoring unit 601 starts monitoring the writing interval of the notified data (see S303).
- the data segment transmission unit 108 starts data transmission by the application (see S204).
- the transmission buffer monitoring unit 601 determines whether the RTO threshold (RTO> Y is true) by monitoring the transmission write interval Y (see S305). When the monitored writing interval becomes equal to (or longer than) the current retransmission timeout time (No in S305), the transmission buffer monitoring unit 601 determines the current writing interval for the RTO threshold control unit 602. A request is made to increase the value of RTO with the notification. The RTO threshold value control unit 602 that has received the RTO value increase request adjusts the RTO value to be larger than the write interval (see S306).
- the transmission buffer monitoring unit 601 always monitors the current retransmission timeout time and writing interval, and when the retransmission timeout time becomes larger than the transmission writing interval Y (Yes in S305), executes the operation of step S307.
- the retransmission timeout period is adjusted by the RTO threshold control unit 602, the retransmission timeout period is exceeded, and there is no data transmission request (data writing from the application). For this reason, the data segment transmission unit 108 can continue communication without operating the CWV function of TCP (see S308). Thereby, it is possible to suppress a state in which the congestion window size is too small at the transmission start timing of each section.
- the communication terminal 100 sets the session identifier 202 used in the TCP session, the usage information of the TCP segment connection transmission processing, and the maximum number of TCP segments to be connected for each TCP session. And a connection management unit 103 for management. Further, the communication terminal 100 includes a transmission buffer monitoring unit 601 that monitors a transmission interval of transmission data in a TCP session, and when the transmission interval of transmission data exceeds a TCP retransmission timeout period, the retransmission timeout period is less than the writing interval. And an RTO threshold value controller 602 for changing the timeout time.
- FIG. 12A B is a diagram for explaining the congestion window control
- FIG. 12A shows a conventional example for comparison explanation
- FIG. 12B shows this embodiment.
- Both the conventional example of FIG. 12A and the present embodiment of FIG. 12B are transmitted gently and linearly after the slow start phase ends.
- the congestion window moves up and down by the function of CWV.
- the transmission stop period is about several seconds to 10 and several seconds. In the transmission stop period, the congestion window is lowered, which is inefficient.
- the transmission buffer monitoring unit 601 monitors the transmission write interval Y and controls the RTO threshold (RTO> Y is true).
- the RTO threshold control unit 602 changes the timeout time so that the retransmission timeout time is less than the transmission write interval Y.
- the connection transmission method for a plurality of TCP segments determines whether or not the TCP segment connection transmission can be used as a whole system at the time of starting the terminal, whereas in the present embodiment, an application (session) is determined. It becomes possible to determine whether or not the TCP segment linked transmission function can be used for each time. Thereby, efficient TCP communication according to an apparatus characteristic can be performed. For example, when a receiving terminal having a low capability is a communication partner, it is possible to individually stop the multi-segment linked transmission method. The cause of data loss at the receiving terminal is reduced, and an increase in overhead due to TCP retransmission control due to packet loss can be suppressed.
- each functional block of the communication terminal 100 may be realized as an LSI that is an integrated circuit. These may be individually made into one chip, or may be made into one chip so as to include a part or all of them.
- the name used here is LSI, but it may also be called IC, system LSI, super LSI, or ultra LSI depending on the degree of integration.
- the method of circuit integration is not limited to LSI, and may be realized by a dedicated circuit or a general-purpose processor.
- An FPGA Field Programmable Gate Array
- a reconfigurable processor that can reconfigure the connection and setting of circuit cells inside the LSI may be used.
- the name “communication terminal” is used for convenience of explanation.
- the name of the device is a transmission device, a TCP transmission control device, a communication system, and the name of the method is a transmission control method. Of course, it may be.
- any part of the TCP transmission control device for example, the type, number and connection method of network devices (NICs) may be used.
- NICs network devices
- the TCP transmission control method described above can be realized by a program for causing this TCP transmission control method to function.
- This program is stored in a computer-readable recording medium.
- the TCP transmission control apparatus and TCP transmission control method according to the present invention have the effect of realizing the efficiency of TCP transmission processing when performing high-speed communication, streaming service, etc. using TCP in a packet network such as a home network or the Internet. It is effective for household electrical appliances having a TCP / IP communication function.
- the present invention can also be applied to applications such as an in-vehicle communication device that is connected to an in-vehicle LAN and performs TCP / IP communication, and a mobile phone equipped with a home network communication interface.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
Description
図2は、本発明の実施の形態1に係るTCP送信制御装置が用いられる通信端末の構成を示す図である。本実施の形態のTCP送信制御装置は、ホームネットワークの送信端末に適用することができる。
TSO設定情報(ON/OFF)の決定は、例えば端末内部で他の通信アプリケーションが実行されている場合などは、CPU負荷やアプリケーション同士の通信の競合を考慮するためにOFFに設定するなど、通信端末100のシステム構成やその時の通信状態に依存して決定される。
次に、パケットのロストによるネットワークの輻輳を検出した場合の通信端末100の処理の流れを、実施の形態2により説明する。
次に、間欠的な送信方法を利用するアプリケーションがデータ通信を行う場合の通信端末100の処理の流れを、実施の形態3により説明する。
101 UI制御部
102 TSO制御部
103 連結管理部
104 送信バッファ管理部
105 受信バッファ管理部
106 ACK処理部
107 TCP窓管理部
108 データセグメント送信部
109 IP層制御部
110 デバイス制御部
111 ネットワークデバイス
401 輻輳状態監視部
601 送信バッファ監視部
602 RTO閾値制御部
Claims (10)
- ハードウェア処理及びソフトウェア処理によりTCP/IP(Transport Control Protocol/Internet Protocol)データ送信を行うTCP送信制御装置であって、
データ送信のためにオープンされたTCPセッションがTCPセグメントの連結送信処理を利用するか否かを判定するTSO(TCP Segmentation Offload)制御手段と、
前記TCPセッションで用いられるセッション識別子と、前記TSO制御手段から通知された連結送信処理の利用情報と、前記TCPセグメントの最大連結数を管理し、TCPセッション単位でTSO動作を個別にON/OFF設定し、TSO機能を有効化/停止する連結管理手段と、
を備えるTCP送信制御装置。 - 前記TCPセッションにおける送信データパケットの欠落を監視し、欠落が発生したTCPセッションのTCPセグメントの連結送信処理の利用情報を無効にし、TCPスロースタートフェーズを終了して輻輳回避フェーズに遷移後、前記利用情報を有効化する要求を前記連結管理手段に通知して連結送信処理を継続させる輻輳状態監視手段と、
を更に備える請求項1記載のTCP送信制御装置。 - 前記TCPセッションにおける送信データの書き込み間隔を監視する送信バッファ監視手段と、
前記送信データの書き込み間隔がTCPの再送タイムアウト時間を上回るとき、前記再送タイムアウト時間を前記書き込み間隔以上になるようにタイムアウト時間を変更するRTO閾値制御手段と、
を更に備える請求項1記載のTCP送信制御装置。 - 前記連結管理手段は、管理する前記最大連結数に基づいて、輻輳ウインドウサイズの値を抑制するTCP窓の値を設定する請求項1記載のTCP送信制御装置。
- 前記連結管理手段は、輻輳ウインドウサイズの変動にあわせてTSO動作のON/OFFを決定する請求項1記載のTCP送信制御装置。
- ハードウェア処理及びソフトウェア処理によりTCP/IPデータ送信を行うTCP送信制御方法であって、
データ送信のためにオープンされたTCPセッションがTCPセグメントの連結送信処理を利用するか否かを判定するステップと、
前記TCPセッションで用いられるセッション識別子と、前記TSO制御手段から通知された連結送信処理の利用情報と、前記TCPセグメントの最大連結数を管理し、TCPセッション単位でTSO動作を個別にON/OFF設定し、TSO機能を有効化/停止する管理ステップと、
を有するTCP送信制御方法。 - 前記TCPセッションにおける送信データパケットの欠落を監視するステップと、
欠落が発生したTCPセッションのTCPセグメントの連結送信処理の利用情報を無効にし、TCPスロースタートフェーズを終了して輻輳回避フェーズに遷移後、前記利用情報を有効化する要求を通知して連結送信処理を継続させるステップと、
を更に有する請求項6記載のTCP送信制御方法。 - 前記TCPセッションにおける送信データの書き込み間隔を監視するステップと、
前記送信データの書き込み間隔がTCPの再送タイムアウト時間を上回るとき、前記再送タイムアウト時間を前記書き込み間隔以上になるようにタイムアウト時間を変更するステップと、
を更に有する請求項6記載のTCP送信制御方法。 - 前記管理ステップでは、管理する前記最大連結数に基づいて、輻輳ウインドウサイズの値を抑制するTCP窓の値を設定する請求項6記載のTCP送信制御方法。
- 前記管理ステップでは、輻輳ウインドウサイズの変動にあわせてTSO動作のON/OFFを決定する請求項6記載のTCP送信制御方法。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US13/139,904 US9042244B2 (en) | 2008-12-25 | 2009-12-24 | TCP transmission control device and method of control of TCP transmission |
| JP2010543889A JP5517951B2 (ja) | 2008-12-25 | 2009-12-24 | Tcp送信制御装置及びtcp送信制御方法 |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008-331459 | 2008-12-25 | ||
| JP2008331459 | 2008-12-25 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2010073671A1 true WO2010073671A1 (ja) | 2010-07-01 |
Family
ID=42287312
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2009/007197 Ceased WO2010073671A1 (ja) | 2008-12-25 | 2009-12-24 | Tcp送信制御装置及びtcp送信制御方法 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US9042244B2 (ja) |
| JP (1) | JP5517951B2 (ja) |
| WO (1) | WO2010073671A1 (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2014502446A (ja) * | 2010-11-02 | 2014-01-30 | クゥアルコム・インコーポレイテッド | ネットワーク中で通信するためのシステムおよび方法 |
| US10833703B2 (en) | 2017-12-13 | 2020-11-10 | Canon Kabushiki Kaisha | DMA transfer apparatus, method of controlling the same, communication apparatus, method of controlling the same, and non-transitory computer-readable storage medium |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN104823502B (zh) * | 2012-11-27 | 2019-11-26 | 爱立信(中国)通信有限公司 | 用于具有动态tdd重配置的tcp传输的基站、用户设备和方法 |
| US10681145B1 (en) * | 2014-12-22 | 2020-06-09 | Chelsio Communications, Inc. | Replication in a protocol offload network interface controller |
| US10128984B2 (en) * | 2015-12-21 | 2018-11-13 | Intel Corporation | Packet tracking techniques for communication networks |
| US11159834B2 (en) * | 2016-12-21 | 2021-10-26 | British Telecommunications Public Limited Company | Managing congestion response during content delivery |
| EP3563575B1 (en) | 2016-12-29 | 2024-04-10 | British Telecommunications public limited company | Transmission parameter control for segment delivery |
| JP6963411B2 (ja) * | 2017-05-19 | 2021-11-10 | キヤノン株式会社 | 通信装置、通信方法、およびプログラム |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002084289A (ja) * | 2000-09-07 | 2002-03-22 | Kddi Corp | Tcp通信方法 |
| JP2006100919A (ja) * | 2004-09-28 | 2006-04-13 | Nippon Telegr & Teleph Corp <Ntt> | Tcpコネクション中継方法およびtcpコネクション中継装置 |
| JP2006294027A (ja) * | 2005-04-07 | 2006-10-26 | Internatl Business Mach Corp <Ibm> | 単一lanアダプタに機能をオフロードするためのイネーブル方法、データ処理システム及びコンピュータ・プログラム |
| JP2007142582A (ja) * | 2005-11-15 | 2007-06-07 | Canon Inc | データ通信装置、データ通信方法、プログラム及び記憶媒体 |
| JP2008061223A (ja) * | 2006-08-04 | 2008-03-13 | Canon Inc | 通信装置及び通信方法 |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6788704B1 (en) * | 1999-08-05 | 2004-09-07 | Intel Corporation | Network adapter with TCP windowing support |
| KR20010076328A (ko) | 2000-01-19 | 2001-08-11 | 이정태 | 티씨피/아이피를 하드웨어적으로 처리하는 장치 및 그동작방법 |
| US6934256B1 (en) * | 2001-01-25 | 2005-08-23 | Cisco Technology, Inc. | Method of detecting non-responsive network flows |
| JP4015395B2 (ja) | 2001-09-19 | 2007-11-28 | ソフトバンクモバイル株式会社 | 移動通信システム |
| US20030105977A1 (en) * | 2001-12-05 | 2003-06-05 | International Business Machines Corporation | Offload processing for secure data transfer |
| JP3859521B2 (ja) | 2002-01-29 | 2006-12-20 | ソフトバンクモバイル株式会社 | 移動通信システム |
| JP4100182B2 (ja) | 2003-01-30 | 2008-06-11 | 松下電器産業株式会社 | 通信端末装置及びその制御方法 |
| US7430220B2 (en) * | 2005-07-29 | 2008-09-30 | International Business Machines Corporation | System load based dynamic segmentation for network interface cards |
| US20070297334A1 (en) * | 2006-06-21 | 2007-12-27 | Fong Pong | Method and system for network protocol offloading |
| US7684319B2 (en) * | 2006-06-29 | 2010-03-23 | Intel Corporation | Transmission control protocol congestion window |
| DE602007013652D1 (de) | 2006-08-04 | 2011-05-19 | Canon Kk | Kommunikationsvorrichtung und Kommunikationssteuerungsverfahren |
-
2009
- 2009-12-24 US US13/139,904 patent/US9042244B2/en not_active Expired - Fee Related
- 2009-12-24 JP JP2010543889A patent/JP5517951B2/ja not_active Expired - Fee Related
- 2009-12-24 WO PCT/JP2009/007197 patent/WO2010073671A1/ja not_active Ceased
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002084289A (ja) * | 2000-09-07 | 2002-03-22 | Kddi Corp | Tcp通信方法 |
| JP2006100919A (ja) * | 2004-09-28 | 2006-04-13 | Nippon Telegr & Teleph Corp <Ntt> | Tcpコネクション中継方法およびtcpコネクション中継装置 |
| JP2006294027A (ja) * | 2005-04-07 | 2006-10-26 | Internatl Business Mach Corp <Ibm> | 単一lanアダプタに機能をオフロードするためのイネーブル方法、データ処理システム及びコンピュータ・プログラム |
| JP2007142582A (ja) * | 2005-11-15 | 2007-06-07 | Canon Inc | データ通信装置、データ通信方法、プログラム及び記憶媒体 |
| JP2008061223A (ja) * | 2006-08-04 | 2008-03-13 | Canon Inc | 通信装置及び通信方法 |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2014502446A (ja) * | 2010-11-02 | 2014-01-30 | クゥアルコム・インコーポレイテッド | ネットワーク中で通信するためのシステムおよび方法 |
| US9094326B2 (en) | 2010-11-02 | 2015-07-28 | Qualcomm Incorporated | Systems and methods for communicating in a network |
| US10833703B2 (en) | 2017-12-13 | 2020-11-10 | Canon Kabushiki Kaisha | DMA transfer apparatus, method of controlling the same, communication apparatus, method of controlling the same, and non-transitory computer-readable storage medium |
| US11336297B2 (en) | 2017-12-13 | 2022-05-17 | Canon Kabushiki Kaisha | DMA transfer apparatus, method of controlling the same, communication apparatus, method of controlling the same, and non-transitory computer-readable storage medium |
Also Published As
| Publication number | Publication date |
|---|---|
| JP5517951B2 (ja) | 2014-06-11 |
| US20120063309A1 (en) | 2012-03-15 |
| US9042244B2 (en) | 2015-05-26 |
| JPWO2010073671A1 (ja) | 2012-06-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5517951B2 (ja) | Tcp送信制御装置及びtcp送信制御方法 | |
| US8081569B2 (en) | Dynamic adjustment of connection setup request parameters | |
| JP5974159B2 (ja) | 通信ネットワーク内でtcpプロトコルにより引き起こされたバックオフを緩和する装置及び方法 | |
| US20070201380A1 (en) | Method and system for power-efficient adaptive link aggregation | |
| KR101417555B1 (ko) | 네트워크 접속을 유휴화하기 위한 방법 및 장치 | |
| CN102148662B (zh) | 一种数据发送速率的调整方法及装置 | |
| EP3376782A1 (en) | Data transmission method, device and terminal | |
| US20140355623A1 (en) | Transmission Control Protocol (TCP) Connection Control Parameter In-Band Signaling | |
| CN102014058B (zh) | 一种上行流量的调度方法及装置 | |
| CN103731370B (zh) | 有效降低域内重构过程中网络丢包率的交换机缓存方法 | |
| CN110337137A (zh) | 数据包过滤方法、装置及系统 | |
| KR20200097736A (ko) | 무선 통신 방법 및 디바이스 | |
| CN115022227B (zh) | 数据中心网中基于循环或重路由的数据传输方法和系统 | |
| WO2020211341A1 (zh) | 拥塞控制方法、装置、计算机设备及存储介质 | |
| US20070226347A1 (en) | Method and apparatus for dynamically changing the TCP behavior of a network connection | |
| CN102546531B (zh) | 数据流量的控制方法及用户终端 | |
| CN108737119B (zh) | 一种数据传输方法、装置及系统 | |
| US20220286532A1 (en) | Method and apparatus for obtaining shared maximum segment size mss | |
| CN102195941B (zh) | 一种改进的传输控制协议代理实现方法及装置 | |
| JP2010183470A (ja) | ネットワーク接続装置並びにネットワーク接続制御方法及びプログラム | |
| CN110300069B (zh) | 数据传输方法、优化装置及系统 | |
| US20210168219A1 (en) | Relay device, data relay method and program | |
| JP2011172135A (ja) | パケット送信装置及びパケット送信方法 | |
| JP6568571B2 (ja) | データ転送装置、データ転送方法および通信装置 | |
| KR101685658B1 (ko) | Yellow-Light TCP : 모바일 데이터 전송에서의 에너지 절감형 프로토콜 방법 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 09834477 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2010543889 Country of ref document: JP |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 13139904 Country of ref document: US |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 09834477 Country of ref document: EP Kind code of ref document: A1 |