WO2005020523A1 - セッション中継装置及び中継方法 - Google Patents
セッション中継装置及び中継方法 Download PDFInfo
- Publication number
- WO2005020523A1 WO2005020523A1 PCT/JP2004/010604 JP2004010604W WO2005020523A1 WO 2005020523 A1 WO2005020523 A1 WO 2005020523A1 JP 2004010604 W JP2004010604 W JP 2004010604W WO 2005020523 A1 WO2005020523 A1 WO 2005020523A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- session
- data
- packet
- transmission
- output
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/20—Traffic policing
Definitions
- the present invention relates to a session relay device and a session relay method used for the same, and more particularly, to a device that relays data between TCP (Transmission Control Protocol) sessions.
- TCP Transmission Control Protocol
- a communication session is established between a transmitting terminal and a receiving terminal, and communication is performed on the established session.
- the propagation delay time between the transmitting terminal and the receiving terminal is extremely long, or if communication is performed across networks with different characteristics, such as wired and wireless, the transmitting terminal and the receiving terminal The communication throughput with the network decreases.
- a relay device is installed between the transmitting terminal and the receiving terminal, rather than communicating in a single session between the transmitting terminal and the receiving terminal. Communication is performed by relaying data between two sessions, a session from the transmitting terminal to the relay device and a session from the relay device to the receiving terminal.
- a relay device is effective to have a large transmission buffer so as not to reduce the throughput even when the propagation delay time is very long.
- network congestion occurs because packets are output in bursts, especially during TCP slow start. As a result, the throughput may be reduced as a result.
- the first method is to reduce the processing load on the relay device by using the zero copy method for data transfer between the OS (Operation System) kernel and the application program.
- OS Operating System
- the first method when data is transferred between a kernel program that actually performs data transmission / reception processing and an application program that performs data relay processing, physical data is not copied. Virtual data movement is performed by page matching.
- the relay device stores a packet in the relay device that does not simply transfer the packet.
- the relay device monitors an ACK (acknowledgement) packet returned from the receiving terminal to the transmitting terminal, and if it detects packet discard between the relay device and the receiving terminal, stores the packet. By outputting the placed packet to the receiving terminal, retransmission of the packet by the transmitting terminal is prevented, and a drop in the throughput between the transmitting terminal and the receiving terminal due to packet discard is prevented.
- ACK acknowledgement
- a third method there is a method of reducing the processing load of the relay device by performing relay processing only for sessions that need to be relayed without performing relay processing for sessions that do not need to be relayed.
- this method a method of measuring session throughput and performing relay processing as described in the following reference 5 to select only a session that improves the throughput and perform relay processing is performed. is there.
- the relay method does not perform the relay processing when transmitting the HTTP (Hyper Text Transfer Protocol) request, but performs the relay processing only when performing the data transfer. There is a method to do it.
- the first method has a problem that the processing load other than the data copy is high.
- the load of packet output control is added to the processing load of TCP, so the overall processing load increases.
- a session relay device exists independently of a transmitting / receiving terminal, and a transmitting terminal and Since the packet length used by the receiving terminal cannot be assumed in advance, a reduction in processing load by zero copy cannot be expected for the transmitting terminal and the receiving terminal that use a packet length different from the page size of the bandwidth control device.
- the session relay device In the conventional session relay system, in the case of the second system, there is a problem that a decrease in throughput due to factors other than packet discard cannot be improved.
- the session relay device When performing session relay processing, the session relay device immediately returns an ACK packet to the transmitting terminal in response to receiving a packet from the transmitting terminal. Only returns an ACK packet to the transmitting terminal, and the session relay device itself does not return an ACK packet. Therefore, in an environment where the propagation delay is large, the effect of improving the throughput by the second method is small.
- an object of the present invention is to solve the above-mentioned problems, and to perform a relay process between sessions at high speed even when performing output control of a knocket that relays a large number of sessions. And a session relay method used for the same.
- a session relay device is a session relay device that performs a session relay process including a congestion control process and a packet output control process in a plurality of layers, wherein each of the plurality of layers generates the congestion control information. Only, the packet output control processing is concentrated in the scheduler of the IP (Internet Protocol) layer.
- IP Internet Protocol
- Another session relay device performs communication between the receiving terminal and the receiving terminal by relaying data between a session directed to the transmitting terminal and a session directed to the receiving terminal.
- a session relay device to be realized,
- Receiving session processing means for receiving data from a session directed to the transmitting terminal; transmitting session processing means for transmitting data to a session directed to the receiving terminal; and temporarily storing data to be output to the transmitting terminal.
- the transmission session processing means calculates the amount of data permitted to be output in the layer, and the packet scheduler controls the packet output based on the calculated data amount.
- Another session relay device performs communication between the transmitting terminal and the receiving terminal by relaying data between a session directed to the transmitting terminal and a session directed to the receiving terminal.
- a session relay device to be realized,
- a receiving session processing means provided for a plurality of layers and receiving data from a session directed to the transmitting terminal; and a receiving session processing means provided for the plurality of layers and directed to the receiving terminal.
- Transmission session processing means for transmitting data, a transmission buffer for temporarily storing data to be output to the transmission terminal, and a packet scheduler for controlling packet output from the transmission buffer,
- Each of the transmission session processing means calculates the amount of data permitted to be output in the layer, and the packet scheduler controls the packet output based on the amount of data commonly permitted in all of the plurality of layers. are doing.
- a session relay method is a session relay method for a session relay device that performs a session relay process including a congestion control process and a packet output control process in a plurality of layers, wherein each of the plurality of layers Only the creation of congestion control information is performed, and the packet output control processing is integrated in the scheduler of the IP (Internet Protocol) layer.
- IP Internet Protocol
- Another session relay method is to perform communication between the receiving terminal and the receiving terminal by relaying data between a session directed to the transmitting terminal and a session directed to the receiving terminal.
- a session relay method for a session relay device to be implemented comprising: a receiving session process for receiving data from a session directed to the transmitting terminal; and transmitting a data to a session directed to the receiving terminal.
- a transmission session process for transmitting data to the transmission terminal a process for temporarily storing data to be output to the transmission terminal in a transmission buffer, a process for controlling a packet output from the transmission buffer by a packet scheduler, and a process for controlling the packet scheduler.
- the data stored in the transmission buffer in response to the control Output control means for controlling data output by the output control means.In the transmission session processing, the amount of data permitted to be output in the layer is calculated, and based on this, the packet scheduler Controls packet output.
- Another session relay method is to perform communication between the transmitting terminal and the receiving terminal by relaying data between a session directed to a transmitting terminal and a session directed to a receiving terminal.
- a session relay method for a session relay device to be realized comprising: a receiving session process for receiving data of a session force directed to the transmitting terminal in each of a plurality of layers on the session relay device side; A transmission session process for transmitting data to a session directed to the receiving terminal; a process for temporarily storing data to be output to the transmitting terminal in a transmission buffer; and a packet scheduler for controlling the packet output of the transmission buffer. And in each of the transmission session processes, the output is permitted in the corresponding layer.
- the packet scheduler controls the output of the packet based on the amount of data commonly allowed in all of the plurality of layers.
- the session relay device of the present invention does not control packet output in the TCP (Transmission Control Protocol) layer, but only generates control information for packet output in the TCP layer.
- Protocol Transmission Control Protocol
- the session relay device of the present invention with respect to congestion control in an upper layer protocol such as iSCSI (internet Small Computer System Interface), only creation of control information is performed in the upper layer, and actual packet
- the IP layer uses a packet scheduler for output control.
- data output control in a plurality of layers can be integrated, so that the processing load related to packet output can be reduced.
- the session relay device of the present invention does not copy data to an application, it is not necessary to move data by page mapping. That is, the received packet is stored in the receive buffer of the TCP layer, other upper layers, and the application. It is stored directly in the transmission buffer of the IP layer without being stored in the transmission buffer of the TCP layer or other higher layers or applications. for that reason
- data does not move in the session relay device, and there is no need to move data by page mapping.
- the relay process is not performed only for packet retransmission control, and a complete relay process is performed by terminating a session. Can be reduced.
- the session relay device of the present invention by speeding up the relay processing between sessions, it is possible to perform high-speed processing even when the number of relay sessions is large.
- FIG. 1 is a block diagram showing a configuration of a transmission system including a session relay device according to a first embodiment of the present invention.
- FIG. 2 is a block diagram showing a configuration of a session relay device according to the first embodiment of the present invention.
- FIG. 3 is a block diagram showing a configuration of the packet scheduler of FIG. 2.
- FIG. 4 is a flowchart showing the operation of the session relay device according to the first embodiment of the present invention.
- FIG. 5 is a flowchart showing an operation of the session relay device according to the first embodiment of the present invention.
- FIG. 6 is a flowchart showing an operation of the packet scheduler shown in FIG. 3.
- FIG. 7 is a schematic diagram showing the number of bytes waiting to be transmitted.
- FIG. 8 is a block diagram showing a configuration of a packet scheduler according to a second embodiment of the present invention.
- FIG. 9 is a block diagram showing a configuration of a session relay device according to a third embodiment of the present invention.
- FIG. 10 is a block diagram showing a configuration of a session relay device according to a fourth embodiment of the present invention.
- FIG. 11 is a schematic diagram illustrating the number of bytes waiting to be transmitted in a fourth embodiment of the present invention.
- FIG. 12 is a block diagram showing a configuration of a session relay device according to a fifth embodiment of the present invention.
- FIG. 13 is a block diagram showing a data flow between a session relay device (transmitting terminal) and a session relay device (receiving terminal) according to a fifth embodiment of the present invention.
- FIG. 1 is a block diagram showing a configuration of a transmission system including the session relay device 1 according to the first embodiment of the present invention.
- the session relay device 1 according to the present embodiment includes a session identification unit 11, a session relay unit 12-1-12-N, and an output control unit 14, and is connected to the reception terminal 2 and the transmission terminal 3. Have been.
- the data packet from the transmitting terminal 3 is processed by a receiving session processing unit (not shown) of the session relay unit 12-1. (acknowledgement) packet is returned to the transmitting terminal 3.
- the data received by the reception session processing unit of the session relay unit 12-1 is sent to the transmission session processing unit (not shown) of the session relay unit 12-1 and is transmitted to the reception terminal 2 therefrom.
- a packet is sent.
- the ACK packet returned by the receiving terminal 2 is processed by the transmission session processing unit of the session relay unit 12-1.
- the data received by the reception session processing unit of the session relay unit 12-2 is sent to the transmission session processing unit (not shown) of the session relay unit 12-2, from which the data is transmitted to the transmission terminal 3.
- a packet is sent.
- the ACK packet returned by the transmitting terminal 3 is processed by the transmitting session processing unit of the session relay unit 12-2.
- FIG. 2 is a block diagram showing a configuration of the session relay device according to the first embodiment of the present invention.
- the session relay device 1 includes a session identification unit 11 and a session relay unit.
- Unit 12-1-12-N a packet scheduler 13, and an output control unit 14.
- the session identification unit 11 determines a session to which the arrived packet belongs.
- the session relay unit 12-1-12-N relays between the session with the transmitting terminal 3 and the session with the receiving terminal 2.
- the packet scheduler 13 controls a packet output from each of the session relay units 12-1 12-N.
- the output control unit 14 outputs a packet from each session relay unit 12-1-12-N based on an instruction from the packet scheduler 13.
- session relay section 12_1 includes a transmission session processing section 121-1 that performs processing of a session for transmitting data to receiving terminal 2, and a transmission buffer 122-1 that stores received data until the end of transmission. And a reception session processing unit 123-1 for processing a session for receiving data from the transmission terminal 3.
- the configuration of the session relay unit 12_2-12-N is the same as the configuration of the session relay unit 12_1.
- FIG. 3 is a block diagram showing a configuration of the packet scheduler 13 in FIG. 3, the packet scheduler 13 includes a list distribution unit 131, a state update unit 132, a state variable storage unit 133, a reset control unit 134, a transmittable list 135, and a transmission waiting list 136.
- the transmittable list 135 holds the identifiers of the sessions from which packets can be output, and the send wait list 136 holds the identifiers of the sessions in a send wait state.
- the list distribution unit 131 distributes the identifier of the data packet session or the identifier of the session that has received the ACK packet to the transmittable list 135 or the transmission waiting list 136.
- the status update unit 132 extracts the session identifier from the transmittable list 135, notifies the output control unit 14, and updates the status of the session.
- the state variable storage unit 133 holds the state of each session, and the reset control unit 134 moves the session identifier managed in the transmission waiting list 136 to the transmittable list 135.
- TCP Transmission Control Protocol
- two session relay units are used for one set of the transmission terminal 3 and the reception terminal 2, and the corresponding session relay units are used for data communication in each direction.
- two session relay units 12-1-12-N are prepared for each of a plurality of sets of the transmitting terminal 3 and the receiving terminal 2, and each of the session relay units 12-1-12-N is respectively provided.
- a process of relaying data from the session from the transmitting terminal 3 to the corresponding session to the receiving terminal 2 or from the session from each receiving terminal 2 to the corresponding session to the transmitting terminal 3 is performed.
- a data packet in a certain direction and an ACK packet in the opposite direction may be integrated on one packet (ACK piggy back).
- ACK piggy back In order to simplify the description, description of such an operation is omitted.
- FIGS. 4 and 5 are flowcharts showing the operation of the session relay device 1 according to the first embodiment of the present invention
- FIG. 6 is a flowchart showing the operation of the packet scheduler 13 shown in FIG. The operation of the session relay device 1 according to the first embodiment of the present invention will be described with reference to FIGS.
- the session identification unit 11 refers to the header of the packet, and transmits a source IP (Internet Protocol) address and a destination IP address.
- the session to which the packet belongs is determined based on the fourth layer protocol number, source fourth layer port number, destination fourth layer port number, etc. (step S2 in FIG. 4).
- the session identification unit 11 receives the corresponding session relay unit 12-1-12-1-N of the reception session processing unit 123-1-123-N (reception session It is passed to the processing section 123-2-123-N (not shown) (step S4 in FIG. 4).
- the session identification unit 11 sends the corresponding session relay unit 12—11—12—N the transmission session processing unit 121—111—121_N (transmission session It is passed to the processing unit 121-2-121-N (not shown) (step S10 in FIG. 4).
- the input data packets are rearranged in the order of the sequence numbers and transmitted to the transmission buffer 122-1 122-N (the transmission buffer 122-2 122-N is not shown). (Step S5 in Fig. 4).
- the reception session processing unit 123-1-1-123-N determines that the received data packet has a correct sequence number ( (Step S6 in FIG. 4), that is, if the sequence number is continuous with the last sequence number of the data being continuously received, in order to confirm the data reception confirmation and notify the advertisement window size to the transmitting terminal 3, Return the ACK packet through the output control unit 14 (Step S7 in FIG. 4)
- the reception session processing unit 123-1-1123-N returns an ACK packet (duplicate ACK packet) based on the sequence number of the last packet received continuously, and sends the packet to the transmitting terminal 3. Notify non-arrival.
- Reference 7 This is described in detail in Addison-Wesley, 1994, ISBN 0-201-63346-9 (hereinafter referred to as Reference 7).
- the ACK packet is immediately output from the output control unit 14 or stored in the corresponding reverse session transmission buffer 122-1-122-N, and the reverse session data packet is transmitted. At the same time, it is output under the instruction of the packet scheduler 13.
- reception session processing section 123-1—123-N notifies the packet scheduler 13 of the last sequence number of the data received continuously (step S8 in FIG. 4).
- the transmission session processing unit 121-1—121-N changes the congestion size and the Indian size based on the input ACK packet (step S9 in FIG. 4). If the ACK packet is not a duplicate ACK, the reception is not completed. The confirmed data is deleted from the transmission buffer 122-1 122-N (steps S12 and S13 in FIG. 5), and if it is a duplicate ACK, the data is retransmitted as needed (step S12 and Sll in FIG. 5). . Since this processing is also described in detail in the above-mentioned reference 7, it is not explained in detail.
- Transmission session processing section 121-1 121-N notifies packet scheduler 13 of the advertisement window described in the received ACK packet and the updated congestion window (step S15 in Fig. 5). Further, when retransmission times out (step S14 in FIG. 5), the transmission session processing unit 121-1 121-N also notifies the last sequence number of which reception has been confirmed (step S16 in FIG. 5).
- the packet output from the transmission buffers 122-1-122 -N is performed based on an instruction from the packet scheduler 13.
- the output control unit 14 Upon receiving a packet output instruction from the packet scheduler 13, the output control unit 14 extracts one packet from the transmission buffer 122-1-122-N and outputs it to the output line, and determines the packet length of the output packet by the packet scheduler 13. Notify
- the packet output from the transmission buffer 122-1-122-N is a packet having the sequence number stored in the case of performing the retransmission processing, otherwise, the packet having the highest sequence number among the untransmitted packets. It's a small packet.
- the receiving session processing unit 123-1-123-N only stores the received packets in the transmission buffer 122-1-122-N in the order of arrival.
- the transmission session processing unit 121-1—121-N does not receive the ACK packet, and notifies the packet scheduler 13 of the queue length of the transmission buffer 122-1—122-N as an advertisement window and a congestion window. As long as there is a packet in the transmission buffer 122-1—122—N, it keeps requesting the packet scheduler 13 to output the packet.
- the state variable storage unit 133 holds, for each session, three meters of the allocation weight, the number of transmittable bytes, and the number of bytes to wait for transmission.
- the assigned weight is a weight assigned to the session.
- the packet scheduler 13 resets at regular intervals or each time there is no more session in which packets can be transmitted (steps S26 and S27 in FIG. 6), and the number of bytes that can be transmitted within one reset period is assigned. .
- the number of bytes that can be transmitted is the number of bytes that can be transmitted from the current time until the next reset, and the initial value is the assigned weight (step S21 in Fig. 6), and is subtracted by the packet length each time a packet is output. (Steps S22 and S23 in Fig. 6).
- the number of bytes waiting to be transmitted is a value obtained by subtracting the sequence number already transmitted by the packet scheduler 13 from the sequence number permitted to be transmitted by the TCP layer.
- the receiving terminal At the end of the sequence number + 1, the receiving terminal The indicated advertisement window, the congestion window of the session) —the transmitted sequence number.
- the number of bytes waiting to be sent is the queue length in the send buffer 122-1-122-N.
- FIG. 7 is a schematic diagram showing the number of bytes waiting to be transmitted.
- the identifiers of the sessions for which packet output is possible that is, the number of bytes that can be transmitted and the number of bytes waiting to be transmitted are both 1 or greater than the MSS (Maximum Segment Size) are managed by the transmission acceptance list 135 (see FIG. Steps S24, S25), the number of bytes that can be transmitted
- the number of bytes that can be output after a reset that is, the number of bytes that can be transmitted is 1 or more than MSS
- the number of bytes that can be transmitted is 1 or less than the MSS
- the identifier is managed in the transmission waiting list 136 (steps S27 to S29 in FIG. 6).
- the list sorting unit 131 sends the last sequence number continuously received from the transmitting terminal 3, the advertising window received from the receiving terminal 2, the updated congestion from the session relay unit 12-1—12—N.
- the number of bytes to be sent is updated as shown in FIG.
- list distribution section 131 when the retransmission timer times out in output control section 14, list distribution section 131 returns the transmitted sequence number to the sequence number for which reception has been confirmed, and updates the number of bytes waiting for transmission. If the number of bytes to wait for transmission before update is less than S1 or MSS, the list distributing unit 131 determines that the identifier of the session is not yet managed in the transmittable list 135 or the transmittable list 136. The identifier of the session is newly stored in the transmittable list 135 or the transmit wait list 136 based on the number of waiting bytes and the number of transmittable notes.
- the state updating unit 132 extracts one transmittable session identifier from the head of the transmittable list 135, notifies the output control unit 14 of the identifier, and causes the output control unit 14 to output a packet. After that, the state updating unit 132 adds the output packet length to the transmitted sequence number, updates the number of bytes waiting for transmission, and subtracts the number of transmittable bytes from the output packet length.
- the state updating unit 132 stores the identifier of the session in the transmittable list 135 or the transmit queue list 136 again according to the number of transmittable bytes and the number of transmittable bytes.
- the status update unit 132 has one for both the number of bytes waiting for transmission and the number of bytes that can be transmitted, Is stored in the transmittable list 135 if it is equal to or more than the MSS, and stored in the transmittable list 136 if the number of transmittable bytes is 1 or more than MSS but the transmittable byte number is 1 or less than the MSS.
- the packet to be relayed is within the transmission buffer 122-1 at the time of reception and is taken out from the transmission buffer 122-1 122 -N at the time of transmission.
- the overhead of data movement is small because it moves only when
- the packet output control is performed by the packet scheduler 13 using the information of the TCP layer and the like, the band control is performed with a smaller processing load than when the transmission session processing units 121-1-121-N output the packets directly. Can be performed while performing packet output.
- FIG. 8 is a block diagram showing the configuration of the packet scheduler according to the second embodiment of the present invention.
- the packet scheduler 16 according to the second embodiment of the present invention has the same configuration as that of the first embodiment of the present invention shown in FIG. 3 except that an allocation weight changing unit 161 and a control parameter changing unit 162 are added.
- the same components are denoted by the same reference numerals. The operation of the same component is the same as that of the first embodiment of the present invention.
- the value of the TCP control parameter of the session is dynamically changed according to the band set by the control parameter changing unit 162 in the packet scheduler 16 as the assigned weight. . That is, if the number of transmittable bytes of the session becomes larger than a preset value which is larger than the assigned weight, the control parameter changing unit 162 determines that the data output is restricted by the TCP control, and Changes the value of the TCP control parameter of the session so that data can be output in more bandwidth.
- the data output by TCP control is reduced to the bandwidth by the weight assigned by the packet scheduler 16. Change the value of a control parameter.
- the congestion window during non-congestion is raised and the width of the congestion window is increased, or the congestion window lowering rate during congestion is reduced.
- the processing is the reverse of the former case. I do.
- the allocation weight changing unit 161 in the packet scheduler 16 dynamically changes the allocation weight according to the currently transmittable band. That is, if the number of transmittable bytes of the session becomes larger than a preset value which is larger than the assigned weight, the assigned weight changing unit 161 assigns Determines that data output in the bandwidth set by the weight is not possible, and temporarily reduces the assigned weight.
- the allocation weight changing unit 161 sequentially increases the allocation weight to the original value. Also, the allocation weight changing unit 161 calculates the bandwidth that the session can transmit based on the congestion window and round-trip propagation delay time measurement value of the session notified from the session relay unit 12-1-12-N.
- the allocation weight changing unit 161 temporarily changes the allocation weight so that the bandwidth setting value based on the allocation weight becomes the above calculated value. change.
- FIG. 9 is a block diagram showing the configuration of the session relay device according to the third embodiment of the present invention.
- the session relay device according to the third embodiment of the present invention includes a reception rate control section 151-1—151_N (a reception rate control section 151-2—151—) in a session relay section 15-1—15-N.
- the configuration is the same as that of the session relay device according to the first embodiment of the present invention shown in FIG. 2 except that N is not shown), and the same components are denoted by the same reference numerals.
- the operation of the same component is the same as that of the first embodiment of the present invention.
- the reception rate control units 151_1-151_N control the reception rate from the transmission terminal 3.
- the reception session processing unit 123_1-123-N sets the advertizing window size to the transmitting terminal 3 to 0 and Then, the transmitting terminal 3 stops transmitting data in response to the notification.
- the transmission terminal 3 will continue to output a packet for window inspection even if there is free space. ACK cannot be output to restart transmission.
- the reception rate control unit 151-1 causes the transmission buffer 122-1-122-1N free space after the packet output to be performed. Is checked, and if this is 1 or more than the MSS, an ACK packet is generated in order to prompt the transmitting terminal 3 to resume transmission promptly.
- the transmission buffer 122-1 In order to prevent the free capacity of 122-N from running out, the transmitting terminal 3 is instructed to lower the transmission band.
- an ACK packet returned to the transmission side is a duplicate ACK
- a received packet is discarded
- an ECN (Explicit Congestion Notification) bit is set in the ACK packet, and the ACK packet is delayed. It is possible to temporarily rewrite the advertisement window of the ACK packet to a smaller size.
- FIG. 10 is a block diagram showing the configuration of the session relay device according to the fourth embodiment of the present invention.
- the session relay device according to the fourth embodiment of the present invention includes a transmission iSCSI (internet Small Computer System Interface) control wholesaler 171-11-1 171- ⁇ (transmission iSCSI controller 171-2—171-N).
- the receiving iSCSI control unit 172 -1-172 -N (the receiving iSCSI control unit 172 -2 -172 -N is not shown) is provided in the session relay unit 17-1-17 -N.
- the configuration is the same as that of the session relay device according to the third embodiment of the present invention described above, and the same components are denoted by the same reference numerals.
- the operation of the same component can be the same as that of the session relay device according to the third embodiment of the present invention.
- the transmission iSCSI control units 171-1 to 171-N reflect the congestion control information of the iSCSI layer on the transmission rate to the receiving terminal 2.
- the reception iSCSI control unit 172-1 172-1N reflects the congestion control information of the iSCSI layer on the reception rate from the transmission terminal 3.
- the receiving terminal 2 transmits to the transmitting terminal 3 an R2T (Ready-To-Transfer) packet for notifying the amount of data receivable by the receiving terminal 2, so that the transmitting terminal 3 Transfer control is performed with the receiving terminal 2.
- R2T Ready-To-Transfer
- the transmitting iSCSI control unit 171_1—171—N when the transmission iSCSI control unit 171_1—171—N receives the R2T packet from the receiving terminal 2, the transmitting iSCSI control unit 171_1—171—N does not send the R2T packet to the receiving terminal 2, but sends the R2T packet to the session relay device according to the present embodiment. Then, the last sequence number of the data output when receiving the R2T packet is stored.
- Transmission iSCSI control unit 171-1— 171-N calculates the sum of the previously stored sequence number and the transmittable data amount of the currently received R2T packet as data that can be transmitted in the iSCSI layer. The packet scheduler 13 is notified as the amount.
- the reception iSCSI control unit 172-1-172-N detects the free space of the transmission buffer 122-1-1122-N after the packet output. If this is a predetermined value or more, the free space of the transmission buffer is transmitted to the transmitting terminal 3 as an R2T packet.
- the congestion control of the iSCSI layer is relayed by the session relay device, which does not perform the congestion control of the iSCSI layer between the transmitting terminal 3 and the receiving terminal 2, so that the iSCSI At the layer, the same throughput improvement as relaying a TCP session can be achieved.
- FIG. 12 is a block diagram showing the configuration of the session relay device according to the fifth embodiment of the present invention.
- the session relay device according to the fifth embodiment of the present invention includes a session identification unit 11, a session transmission unit 41-1-1 41-N, and a session reception unit 42-1-42- N, a packet scheduler 13, and an output control unit 14.
- the session identification unit 11 determines the session to which the arriving packet belongs, and the session transmission unit 41_1-41-N performs data transmission processing of the session to the receiving terminal, and the session reception unit 42_1-42-N Performs a process of receiving data from the session to the receiving terminal.
- the packet scheduler 13 controls the packet output from each of the session transmission units 41-1 through 41-N.
- the output control unit 14 outputs a packet from each of the session transmission units 41-1 to 41-N based on an instruction from the packet scheduler 13.
- the session transmitting section 411-1-41-N includes a transmitting session processing section 411-1-411-N (the transmitting session processing section 411-2-411-N is not shown) and a transmission data generating section. 412-1-412-N (transmission data generator 412-2-412-N not shown) and transmission buffer 413-11-413-N (transmission buffer 413-1-413-N not shown) And force are composed.
- the transmission data generation unit 413-1-413-N stores transmission data from the application program in the transmission buffer 413-1-413-N.
- the transmission buffer 5-6-1 temporarily stores the data to be transmitted.
- the transmission session processing unit 411-1-11111-1 performs processing of a session for transmitting data to the receiving terminal.
- the session receivers 42-1-42-N include a reception session processor 421-1-421-N (reception session processors 421-2-421-N are not shown) and a reception buffer 422-1. — 422-N (reception buffer 422-2-422-N is not shown), and reception data processing unit 423-1-423-N.
- the reception session processing unit 421-1 421-N performs a process of receiving data from the reception terminal, and the reception buffer 422-1-422-N temporarily stores the received data.
- Received data processing unit 423— 1— 423—N transfers received data from the receive buffer 5-14-1 to the application.
- bidirectional communication is usually performed between a transmitting terminal and a receiving terminal. Therefore, in the present embodiment, one session transmitting unit 41 is provided for each set of transmitting terminal and receiving terminal. —1-1 Use 41-N and session receiver 42-1-42-N. In the present embodiment, the session relay device also serves as a transmitting terminal or a receiving terminal.
- FIG. 13 shows a session relay device (transmission terminal) and a session relay device according to the fifth embodiment of the present invention.
- FIG. 4 is a block diagram showing a data flow between Yong relay devices (receiving terminals).
- the session transmission unit 41-1 of the session relay device (transmission terminal) 4-2 is also output.
- the received data packet is subjected to reception processing by the session receiving unit 42-11 of the session relay device (receiving terminal) 411.
- the generated ACK packet is returned to the session transmission unit 41-1-2 of the session relay device (transmission terminal) 4-2.
- the session transmitting unit 41-1 of the session relay device (receiving terminal) 4-1-1 When data is transmitted from the session relay device (receiving terminal) 4-1 to the session relay device (transmitting terminal) 4-2, the session transmitting unit 41-1 of the session relay device (receiving terminal) 4-1-1 The data packet output from 1 is received by the session receiver 42-1-2 of the session relay device (transmitting terminal) 4-2. As a result, the generated ACK packet is returned to the session transmitting unit 41-1-1 of the session relay device (receiving terminal) 4-1.
- the transmission data output by the application program is written to the transmission buffer 413-1-413-N by the transmission data generator 412-1-114-12-N.
- the transmission session processing section 411-1-411-N performs data transmission processing from the transmission buffer 413-1-413-N to the receiving terminal. This process is the same as in the above-described first embodiment of the present invention, and a description thereof will be omitted.
- the packet scheduler 13 when calculating the number of bytes to be transmitted, the packet scheduler 13 substitutes for the last sequence number of data received from the application program instead of the last sequence number of continuously received data. Is used.
- the receiving session processor 421-1-1 42-1N performs the receiving process of the data transmitted from the receiving terminal, and stores the data successfully received in the receiving buffer 422-1-422-N. .
- This reception processing is the same as the above-described first embodiment of the present invention except that the buffer to be stored is not a transmission buffer but a reception buffer, and therefore the description thereof is omitted.
- the data written in the reception buffer 422-1-422-N is taken out by the reception data processing unit 423-1-1423-N and passed to the application program.
- the congestion control processing in a plurality of layers only the creation of the congestion control information is performed in each layer, and the packet output control processing is aggregated in the scheduler of the IP layer. High-speed session relay processing can be realized.
- the present invention consolidates reception buffers and transmission buffers of a plurality of layers into transmission buffers of an IP layer, thereby eliminating data movement between buffers and realizing high-speed session relay processing. Can be.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
Claims
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/568,440 US7675898B2 (en) | 2003-08-20 | 2004-07-26 | Session relay apparatus for relaying data, and a data relaying method |
JP2005513252A JP4269176B2 (ja) | 2003-08-20 | 2004-07-26 | セッション中継装置及び中継方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003295758 | 2003-08-20 | ||
JP2003-295758 | 2003-08-20 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2005020523A1 true WO2005020523A1 (ja) | 2005-03-03 |
Family
ID=34213567
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2004/010604 WO2005020523A1 (ja) | 2003-08-20 | 2004-07-26 | セッション中継装置及び中継方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7675898B2 (ja) |
JP (1) | JP4269176B2 (ja) |
CN (1) | CN1836411A (ja) |
WO (1) | WO2005020523A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007028113A (ja) * | 2005-07-14 | 2007-02-01 | Noritsu Koki Co Ltd | データ処理ユニット |
JP2007228277A (ja) * | 2006-02-23 | 2007-09-06 | Mitsubishi Electric Corp | 無線基地局装置 |
JP2012151675A (ja) * | 2011-01-19 | 2012-08-09 | Oki Networks Co Ltd | 通信制御装置及びプログラム、並びに、通信システム |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8135842B1 (en) | 1999-08-16 | 2012-03-13 | Nvidia Corporation | Internet jack |
JP4235506B2 (ja) * | 2003-08-14 | 2009-03-11 | 株式会社エヌ・ティ・ティ・ドコモ | 送信装置、中継装置およびプログラム |
US7957379B2 (en) * | 2004-10-19 | 2011-06-07 | Nvidia Corporation | System and method for processing RX packets in high speed network applications using an RX FIFO buffer |
JP4407556B2 (ja) * | 2005-03-29 | 2010-02-03 | 日本電気株式会社 | セッション中継装置、セッション中継方法およびプログラム |
US7760633B2 (en) * | 2005-11-30 | 2010-07-20 | Cisco Technology, Inc. | Transmission control protocol (TCP) congestion control using transmission delay components |
US20090041013A1 (en) * | 2007-08-07 | 2009-02-12 | Mitchell Nathan A | Dynamically Assigning A Policy For A Communication Session |
US9413664B1 (en) | 2008-09-23 | 2016-08-09 | Spring Communications Company L.P. | Resuming media objects delivered via streaming services upon data loss events |
US8423071B1 (en) * | 2008-11-25 | 2013-04-16 | Sprint Communications Company L.P. | Resuming media objects delivered via live streaming services upon data reduction events |
US9106468B1 (en) | 2009-01-30 | 2015-08-11 | Sprint Communications Company L.P. | Transferring media objects from one device to another device |
JP5498889B2 (ja) * | 2010-08-06 | 2014-05-21 | アラクサラネットワークス株式会社 | パケット中継装置および輻輳制御方法 |
CN102104552B (zh) * | 2011-04-02 | 2014-02-12 | 杭州华三通信技术有限公司 | 基于明确拥塞通知机制的报文控制方法及设备 |
US8811426B1 (en) * | 2011-05-06 | 2014-08-19 | Marvell International Ltd. | Method and apparatus for dynamically switching an operating bandwidth of a wireless transceiver |
KR101506770B1 (ko) * | 2012-12-28 | 2015-03-27 | 삼성에스디에스 주식회사 | 데이터 전송 장치 및 방법 |
CN104065464B (zh) * | 2013-03-18 | 2018-05-08 | 中国移动通信集团公司 | 一种调整tcp连接的初始窗口大小的方法和装置 |
US9219671B2 (en) * | 2013-12-06 | 2015-12-22 | Dell Products L.P. | Pro-active MPIO based rate limiting to avoid iSCSI network congestion/incast for clustered storage systems |
WO2017199807A1 (ja) * | 2016-05-19 | 2017-11-23 | 日本電信電話株式会社 | センサ中継装置およびセンサ中継システム |
JP2021164027A (ja) * | 2020-03-31 | 2021-10-11 | ブラザー工業株式会社 | 画像処理装置、サーバ、並びに、画像処理装置の制御方法及びプログラム |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10233802A (ja) * | 1997-02-07 | 1998-09-02 | Lucent Technol Inc | Tcp接続の性能改善方法 |
JP2000049787A (ja) * | 1998-05-26 | 2000-02-18 | Hitachi Ltd | 送信端末装置およびネットワ―クノ―ドおよび中継スイッチ |
JP2000049856A (ja) * | 1998-07-24 | 2000-02-18 | Toshiba Corp | ネットワーク間中継装置 |
JP2001358771A (ja) * | 2001-04-26 | 2001-12-26 | Nec Corp | 通信品質制御装置 |
JP2002344500A (ja) * | 2001-05-16 | 2002-11-29 | Nec Corp | ノード装置 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0888642A (ja) | 1994-09-16 | 1996-04-02 | Mitsubishi Electric Corp | データ転送方式及びこれに適するlan用ノード |
US6078564A (en) | 1996-08-30 | 2000-06-20 | Lucent Technologies, Inc. | System for improving data throughput of a TCP/IP network connection with slow return channel |
JPH1132078A (ja) | 1997-07-11 | 1999-02-02 | Hitachi Ltd | 送信キュー管理方式および本方式を用いるインタネットワーク装置 |
JPH11112576A (ja) | 1997-10-06 | 1999-04-23 | Hitachi Ltd | インターネットワーク装置のコネクション制御方法 |
JP3163479B2 (ja) | 1997-10-09 | 2001-05-08 | 株式会社超高速ネットワーク・コンピュータ技術研究所 | 帯域制御方法 |
JP3448481B2 (ja) | 1998-03-05 | 2003-09-22 | Kddi株式会社 | 非対称回線用tcp通信高速化装置 |
JP3688525B2 (ja) | 1998-09-29 | 2005-08-31 | 株式会社東芝 | パケットフロー制御方法及びルータ装置 |
JP2001203697A (ja) | 2000-01-19 | 2001-07-27 | Matsushita Electric Ind Co Ltd | フロー制御方法およびそれを実行する通信要素 |
JP2001358757A (ja) | 2000-06-13 | 2001-12-26 | Atr Adaptive Communications Res Lab | ノード装置、データ転送システムおよびデータ転送方法 |
JP4199414B2 (ja) | 2000-12-08 | 2008-12-17 | 富士通株式会社 | パケット・スケジューラ |
US7142508B2 (en) * | 2000-12-22 | 2006-11-28 | Radiance Technologies, Inc. | System and method for controlling data transfer rates on a network |
JP3790429B2 (ja) | 2001-01-23 | 2006-06-28 | 富士通株式会社 | パケットスケジューラ |
JP2002271380A (ja) | 2001-03-13 | 2002-09-20 | Hitachi Kokusai Electric Inc | ネットワーク制御装置 |
JP3830352B2 (ja) | 2001-03-22 | 2006-10-04 | ボーダフォン株式会社 | 通信プロトコル変換方法及びその装置 |
JP2002290451A (ja) | 2001-03-28 | 2002-10-04 | Seiko Epson Corp | 通信帯域制御方法および通信帯域制御装置 |
US6990073B1 (en) * | 2001-03-28 | 2006-01-24 | Lsi Logic Corporation | Data packet congestion management technique |
JP2002312261A (ja) | 2001-04-09 | 2002-10-25 | Nippon Telegr & Teleph Corp <Ntt> | ネットワークサービス中継方法及び中継装置 |
-
2004
- 2004-07-26 WO PCT/JP2004/010604 patent/WO2005020523A1/ja active Application Filing
- 2004-07-26 US US10/568,440 patent/US7675898B2/en not_active Expired - Fee Related
- 2004-07-26 CN CNA2004800233862A patent/CN1836411A/zh active Pending
- 2004-07-26 JP JP2005513252A patent/JP4269176B2/ja not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10233802A (ja) * | 1997-02-07 | 1998-09-02 | Lucent Technol Inc | Tcp接続の性能改善方法 |
JP2000049787A (ja) * | 1998-05-26 | 2000-02-18 | Hitachi Ltd | 送信端末装置およびネットワ―クノ―ドおよび中継スイッチ |
JP2000049856A (ja) * | 1998-07-24 | 2000-02-18 | Toshiba Corp | ネットワーク間中継装置 |
JP2001358771A (ja) * | 2001-04-26 | 2001-12-26 | Nec Corp | 通信品質制御装置 |
JP2002344500A (ja) * | 2001-05-16 | 2002-11-29 | Nec Corp | ノード装置 |
Non-Patent Citations (1)
Title |
---|
KOBAYASHI, M. ET AL.: "Koritsuteki na Prefetch o Okonau Pro Active Cash Network Kose", SHINGAKU GIHO, 22 November 2000 (2000-11-22), pages 106 - 107, XP002985687 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007028113A (ja) * | 2005-07-14 | 2007-02-01 | Noritsu Koki Co Ltd | データ処理ユニット |
JP2007228277A (ja) * | 2006-02-23 | 2007-09-06 | Mitsubishi Electric Corp | 無線基地局装置 |
JP4607031B2 (ja) * | 2006-02-23 | 2011-01-05 | 三菱電機株式会社 | 無線基地局装置 |
JP2012151675A (ja) * | 2011-01-19 | 2012-08-09 | Oki Networks Co Ltd | 通信制御装置及びプログラム、並びに、通信システム |
Also Published As
Publication number | Publication date |
---|---|
JP4269176B2 (ja) | 2009-05-27 |
CN1836411A (zh) | 2006-09-20 |
JPWO2005020523A1 (ja) | 2007-10-04 |
US7675898B2 (en) | 2010-03-09 |
US20070058534A1 (en) | 2007-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2005020523A1 (ja) | セッション中継装置及び中継方法 | |
US7720063B2 (en) | Method apparatus and system for accelerated communication | |
US9660912B2 (en) | Control of packet transfer through a multipath session comprising a single congestion window | |
KR101143172B1 (ko) | 웹 서비스를 위한 신뢰성 있는 메시징 프로토콜을 이용한메시지의 효율적인 전송 | |
CN102006283B (zh) | 数据传输的方法和装置 | |
JPH09214555A (ja) | デ−タ伝送装置および方法 | |
US8259728B2 (en) | Method and system for a fast drop recovery for a TCP connection | |
US20060203730A1 (en) | Method and system for reducing end station latency in response to network congestion | |
CN109714267B (zh) | 管理反向队列的传输控制方法及系统 | |
CN102148662B (zh) | 一种数据发送速率的调整方法及装置 | |
WO2013053304A1 (zh) | 一种实现tcp传输的方法及装置 | |
JPWO2008023656A1 (ja) | 通信装置 | |
WO2006065008A1 (en) | Apparatus for arq controlling in wireless portable internet system and method thereof | |
JPWO2008029793A1 (ja) | パケット回復方法、通信システム、情報処理装置およびプログラム | |
WO2005020524A1 (ja) | セッション中継装置及び中継方法 | |
US20070291782A1 (en) | Acknowledgement filtering | |
WO2021041424A1 (en) | Managing transmission control protocol (tcp) traffic | |
US11588736B2 (en) | Communication apparatus, communication method, and program | |
Wang et al. | Use of TCP decoupling in improving TCP performance over wireless networks | |
US7336607B2 (en) | Methods and apparatus for flow control based packet aggregation in a communication network | |
US20020176443A1 (en) | Method and apparatus for bandwidth management of TCP traffic employing post-acknowledgement control | |
CN114363260A (zh) | 一种针对数据中心网络的数据流调度方法 | |
JP2006504290A (ja) | Nackプロトコルの方法および装置 | |
JP2006087010A (ja) | 通信路制御装置およびそれを用いたネットワークシステム | |
EP2177064B1 (en) | Control of data flow |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 200480023386.2 Country of ref document: CN |
|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
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: 2005513252 Country of ref document: JP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2007058534 Country of ref document: US Ref document number: 10568440 Country of ref document: US |
|
122 | Ep: pct application non-entry in european phase | ||
WWP | Wipo information: published in national office |
Ref document number: 10568440 Country of ref document: US |