KR101396785B1 - Method for performing tcp functions in network equipmment - Google Patents
Method for performing tcp functions in network equipmment Download PDFInfo
- Publication number
- KR101396785B1 KR101396785B1 KR1020120148130A KR20120148130A KR101396785B1 KR 101396785 B1 KR101396785 B1 KR 101396785B1 KR 1020120148130 A KR1020120148130 A KR 1020120148130A KR 20120148130 A KR20120148130 A KR 20120148130A KR 101396785 B1 KR101396785 B1 KR 101396785B1
- Authority
- KR
- South Korea
- Prior art keywords
- packet
- transmitting
- tcp
- agent
- network
- Prior art date
Links
Images
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
- H04L47/27—Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
-
- 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/19—Flow control; Congestion control at layers above the network layer
- H04L47/193—Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
-
- 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/28—Flow control; Congestion control in relation to timing considerations
- H04L47/283—Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
Description
본 발명은 네트워크 장치에서 TCP 기능을 수행하는 방법에 관한 것이다.The present invention relates to a method for performing a TCP function in a network device.
인터넷을 이용하기 위해서는 정보를 교환하고자 하는 양쪽 단말기간에 동일한 통신 프로토콜을 사용하여야 하는데, 현재 전송제어프로토콜(Transmission Control Protocol)과 인터넷프로토콜(Internet Protocol)로 이루어진 티씨피/아이피가 가장 일반적으로 사용되고 있다. 이 티씨피/아이피는 현재 소프트웨어로 구현되어 운용시스템에 구비된다.In order to use the Internet, the same communication protocol should be used between both terminals for exchanging information. Currently, T-CIP / IP comprising Transmission Control Protocol and Internet Protocol is most commonly used. This TPC / IP is now implemented in software and included in the operating system.
TCP/IP 프로토콜은 응용계층(Application Layer)과 전송계층(Transmission Layer)과 인터넷계층(Internet Layer) 및 물리계층(Physical Layer)으로 이루어진다. 현재 폭넓게 사용되고 있는 전송계층프로토콜에는 전송제어프로토콜(TCP)과 같이 네트워크의 상태를 고려하여 전송률을 조절하는 프로토콜과, 사용자 데이터그램프로토콜(User Datagram Protocol)과 같이 네트워크 상태를 고려하지 않고 무조건 데이터를 전송하는 프로토콜이 있다.The TCP / IP protocol consists of an application layer, a transmission layer, an Internet layer, and a physical layer. Currently widely used transport layer protocols include protocols that control the transmission rate by considering the state of the network such as transmission control protocol (TCP) and unconditional data transmission such as User Datagram Protocol Protocol.
TCP는 네트워크 상태를 고려하여 전송률을 조절하는 메커니즘을 이용하는 프로토콜로서, 종단 단말들(클라이언트나 서버) 사이에 TCP 세션이 성립되어 데이터를 전송할 때 TCP 윈도우 크기를 이용하여 한 번에 전송할 데이터 양을 결정한다. 데이터 정보원인 종단 단말은 데이터를 전송한 후, 패킷의 왕복시간(Round Trip Time: 이하 RTT라 함)을 이용하여 계산된 재전송 타임아웃(Retransmission Time Out: 이하 RTO라 함) 동안에, 응답(ACK) 메시지가 도착되지 않으면 네트워크에 폭주가 발생한 것으로 생각하고 윈도우 크기를 줄인다. 결과적으로, 네트워크의 폭주로 인한 패킷의 손실은 RTO를 발생시키고, 이로 인해 윈도우의 크기와 한 번에 전송할 데이터 양이 감소한다.TCP is a protocol that uses a mechanism to control the transmission rate in consideration of network conditions. When a TCP session is established between end terminals (client or server), the amount of data to be transmitted is determined using the TCP window size do. After transmitting the data, the terminating terminal of the data information transmits a response (ACK) during a retransmission time out (RTO) calculated using a round trip time (RTT) If the message does not arrive, think that the network is congested and reduce the window size. As a result, packet loss due to network congestion causes RTO, which reduces the size of the window and the amount of data to be transmitted at one time.
한편, 근래 유투브나 구글 등 CP(Contents Provider)는 네트워크 사용에 아무런 부담없이 서비스를 제공하면서 수익을 올리고 있는 반면, ISP(Internet Service Provider)인 통신 사업자 수익을 감소하면서 상대적으로 늘어난 트래픽처리를 위해 대규모 망 증설이 요구되고 있는 실정이다. 이에 ITU-T(International Telecommunication Union)에서는 스마트 네트워크(Smart Network) 즉, 네트워크가 지능화되어야만 Value added 서비스를 제공할 수 있고, 이를 통해 수익구조 개선을 하고자 하는 움직임을 보이고 있다.On the other hand, recently, contents provider (CP) such as YouTube and Google have been making profits by providing services without any burden on the network, while they have been making large-scale It is necessary to expand the network. Accordingly, the International Telecommunication Union (ITU-T) can provide a value added service only if the smart network (ie, the network) is intelligent.
도 1은 종래 네트워크 토폴로지를 나타낸 도면이다. 1 is a diagram illustrating a conventional network topology.
종래 네트워크 토폴로지는 ETEM(End-to-End network mechanism)에 따라 데이터를 전송한다. 도 1에는 종단 단말(2, 4) 사이에 데이터 전송이 이루어지는 경우가 도시되어 있다. 종단 단말(2)가 송신 종단 단말(2)이고, 종단 단말(4)가 수신 종단 단말(4)인 경우, 데이터는 송신 종단 단말(2)에서 수신 종단 단말(4)로 n개의 라우터들(11, 12, 15, 21, 22, 25) 및 인터넷망(20)을 통해 전송된다. 이 경우 라우터에서 데이터는 OSI(Open System Interface) 모델에 따라 물리계층(11), 데이터링크 계층(12) 및 네트워크 계층(13)을 거친다. 네트워크 계층(13)은 네트워크를 통해 데이터를 라우팅하는 일을 담당한다. 데이터링크 계층(12)은 네트워크의 물리적 요소들과 인터페이스하는데 필요한 인터페이스 및 디바이스 드라이버를 관리한다. 물리 계층(11)은 네트워크의 물리적인 부분들로 구성된다. 물리 계층의 예로는 직렬 및 병렬 케이블, 이더넷 및 토큰 링 케이블링, 안테나 및 커넥터가 있다. 이와 같이, 각 라우터(11, 12, 15, 21, 22, 25)는 데이터의 목적지 주소에 따라 데이터를 경로 설정한다. The conventional network topology transmits data according to an end-to-end network mechanism (ETEM). FIG. 1 shows a case where data is transferred between
TCP 알고리즘은 엔드-투-엔드 접속에서 엔드 단말 즉, TCP 송신 단말과 TCP 수신 단말에서 구현되는데, 여기에서 TCP 송신 단말은 데이터를 차례대로 전송하고, 전송율을 제어하고 패킷의 손실이 발생하면 데이터를 재전송해야 한다. TCP 수신 단말은 수신된 패킷에 대해 패킷 수신을 확인하는 아크(acknowledgement) 메시지를 TCP 송신 단말로 전송한다. 이는 전체 패킷 전송 시간을 증가시키고, 네트워크 상의 자원을 낭비하게 되는 문제점이 발생한다.The TCP algorithm is implemented in an end-to-end connection in an end terminal, ie, a TCP sending terminal and a TCP receiving terminal, where the TCP sending terminal sequentially transmits data, controls the data rate, I have to retransmit. The TCP receiving terminal transmits an acknowledgment message to the TCP transmitting terminal to confirm the packet reception with respect to the received packet. This increases the total packet transmission time and wastes resources on the network.
본 발명은 전술한 문제를 해결하기 위해 안출된 것으로서, 본 발명의 목적은, 네트워크 장치에서 TCP 기능을 수행하는 방법을 제공하는데 있다.SUMMARY OF THE INVENTION It is an object of the present invention to provide a method for performing a TCP function in a network device.
전술한 문제를 해결하기 위한 본 발명의 일 실시 예에 따른 네트워크 장치에서 TCP 기능을 수행하는 방법은 네트워크 장치에서 TCP 기능을 수행하는 방법에 있어서, 송신 장치 및 수신 장치와의 사이에 접속 설정을 수행하는 단계와, 상기 송신 장치로부터 패킷을 수신하면 패킷을 버퍼에 저장하고, 트래픽이 패킷 처리 능력을 초과하는 지를 판단하는 단계와, 트래픽이 패킷 처리 능력을 초과하면 패킷 수신율(incoming packet rate)을 감소하는 단계와, 상기 패킷 수신율의 감소에 따라 송신할 패킷이 없으면 수신 패킷이 혼잡 윈도우를 완전히 채울때까지 대기하는 단계와, 상기 수신 패킷을 상기 수신 장치로 전송하는 단계를 포함한다. A method for performing a TCP function in a network device according to an embodiment of the present invention for solving the above problems is a method for performing a TCP function in a network device, The method comprising the steps of: storing a packet in a buffer upon receipt of a packet from the transmitting apparatus, determining whether the traffic exceeds a packet processing capability, and decreasing an incoming packet rate if the traffic exceeds a packet processing capability And waiting until the received packet completely fills the congestion window if there is no packet to be transmitted according to the decrease of the packet reception rate, and transmitting the received packet to the receiving apparatus.
상기 패킷 수신율을 감소하는 단계는 상기 송신 장치에 대한 상기 패킷 수신을 확인하는 아크 메시지의 전송을 지연함으로써 수행될 수 있다.The step of decreasing the packet reception rate may be performed by delaying transmission of an arc message for confirming the reception of the packet to the transmission apparatus.
상기 패킷 수신율을 감소하는 단계는 상기 송신 장치로 패킷 송신율을 감소하도록 알림 메시지(notify)를 전송함으로써 수행될 수 있다. The step of decreasing the packet reception rate may be performed by transmitting a notify message to the transmission apparatus so as to decrease the packet transmission rate.
상기 네트워크 장치에서의 TCP 기능 수행 방법은 상기 송신 장치로부터 패킷의 수신시 상기 송신 장치로 아크 신호를 전송하는 단계를 더 포함할 수 있다.The method for performing a TCP function in the network device may further include transmitting an arc signal to the transmitting apparatus upon receipt of a packet from the transmitting apparatus.
상기 네트워크 장치에서의 TCP 기능 수행 방법은 상기 버퍼에 저장된 패킷을 상기 수신 장치로 전송하는 단계와, 상기 수신장치로부터 아크 신호를 대기하는 단계를 더 포함할 수 있다.The method for performing a TCP function in the network device may further include transmitting a packet stored in the buffer to the receiving device, and waiting for an arc signal from the receiving device.
상기 네트워크 장치에서의 TCP 기능 수행 방법은 상기 혼잡 윈도우의 사이즈를 재설정하는 단계를 더 포함할 수 있다.The method for performing a TCP function in the network device may further include resetting the size of the congestion window.
본 발명에 따르면, 네트워크 장비에 TCP 기능을 탑재함으로써, 재전송이나 흐름제어시 네트워크 자원 낭비를 막을 수 있다.According to the present invention, by installing the TCP function in the network equipment, network resources can be prevented from being wasted during retransmission or flow control.
도 1은 종래 네트워크 토폴로지를 나타낸 도면이다.
도 2는 본 발명에 따른 의사 TCP 에이전트를 포함하는 네트워크 토폴로지를 나타낸 도면이다.
도 3은 본 발명에 따른 의사 TCP 에이전트의 네트워크 상에서의 위치를 나타낸 도면이다.
도 4는 본 발명에 따른 의사 TCP 에이전트간의 접속 설정 절차를 나타낸 도면이다.
도 5는 의사 TCP 에이전트에 접속된 이전 에이전트와 다음 에이전트 사이에서 의사 TCP 에이전트의 데이터 전송 절차를 도시한 도면이다.
도 6은 본 발명의 바람직한 실시예에 따른 TCP 흐름 제어를 나타낸다.
도 7 및 도 8은 본 발명에 따른 SBSM 방식과 ETEM(End-To-End MEchanism) 방식 사이의 성능을 비교한 그래프들이다. 1 is a diagram illustrating a conventional network topology.
2 is a diagram illustrating a network topology including a pseudo TCP agent according to the present invention.
3 is a diagram illustrating a location of a pseudo TCP agent according to the present invention on a network.
4 is a diagram illustrating a connection establishment procedure between pseudo TCP agents according to the present invention.
5 is a diagram showing a data transfer procedure of a pseudo TCP agent between a previous agent connected to the pseudo TCP agent and the next agent.
6 illustrates TCP flow control according to a preferred embodiment of the present invention.
FIGS. 7 and 8 are graphs comparing performance between the SBSM scheme and the ETEM (End-To-End MEchanism) scheme according to the present invention.
이하에서는 첨부한 도면을 참조하여 본 발명의 실시형태들에 대해서 상세히 설명한다. 다만, 실시형태를 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대한 상세한 설명은 생략한다. 또한, 도면에서의 각 구성요소들의 크기는 설명을 위하여 과장될 수 있으며, 실제로 적용되는 크기를 의미하는 것은 아니다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description, well-known functions or constructions are not described in detail to avoid unnecessarily obscuring the subject matter of the present invention. In addition, the size of each component in the drawings may be exaggerated for the sake of explanation and does not mean a size actually applied.
도 2는 본 발명에 따른 의사 TCP 에이전트를 포함하는 네트워크 토폴로지를 나타낸 도면이다. 2 is a diagram illustrating a network topology including a pseudo TCP agent according to the present invention.
도 2를 참조하면, 본 발명에 따른 의사 TCP 에이전트를 포함하는 네트워크 토폴로지는 SBSM(Segment-by-Segment network mechanism)에 따라 데이터를 전송한다. 구체적으로, 종단 단말들(2, 4) 사이에 데이터 송수신이 이루어진다. 데이터가 종단 송신단말(2)로부터 수신 종단 수신단말(4)로 전송되는 것을 가정한다. 데이터는 n개의 라우터를 거친다. Referring to FIG. 2, a network topology including a pseudo TCP agent according to the present invention transmits data according to a Segment-by-Segment Network Mechanism (SBSM). More specifically, data transmission / reception is performed between the
본 발명에 따른 의사 TCP 에이전트(Pseudo TCP Agent)(100)는 데이터 경로를 적어도 2개의 개별 세그먼트들, 도 2에서는 제1 세그먼트와 제2 세그먼트로 나눈다. 만약 패킷이 제2 세그먼트에서 유실되면, 손실된 패닛은 종단 송신단말(2)이 아닌 의사 TCP 에이전트(100)로부터 재전송된다. The
의사 TCP 에이전트(100)는 네트워크 장비 예컨대, 에지 라우터에 구현되는 것이 바람직하다. 의사 TCP 에이전트(100)가 패킷손실이 발생할 때 송신단말에 의해 수행되었던 패킷 재송신을 수행하고 패킷의 수신시 수신단말에 의해 수행되었던 아크 메시지의 전송을 수행한다. 즉, 손실 패킷은 송신단말로부터 재전송되는 대신 의사 TCP 에이전트(100)에 의해 재전송된다. The pseudo TCP
의사 TCP 에이전트(100)는 네트워크 상에서 종단 단말들(2, 4) 사이의 어떤 지점에 존재할 수 있다. Pseudo TCP
도 3은 본 발명에 따른 의사 TCP 에이전트의 네트워크 상에서의 위치를 나타낸 도면이다. 3 is a diagram illustrating a location of a pseudo TCP agent according to the present invention on a network.
도 3을 참조하면, 의사 TCP 에이전트(100)는 에지 라우터에 구현되는 것이 바람직하다. 의사 TCP 에이전트(100)는 LAN(70) 상의 에지 라우터에 구현될 수 있고, Transit ISP(Internet Service Provider)(80) 또는 peer ISP(82) 상의 에지 라우터에 구현될 수 있다. 또는 에지 라우터(100)는 ISP 에지 도메인 상의 에지 라우터에 구현될 수 있다. 종단 단말 즉, TCP 송신기 또는 TCP 수신기의 동작에는 어떠한 변형도 요구되지 않는다. Referring to FIG. 3, the pseudo TCP
본 발명에 따른 의사 TCP 에이전트(100)는 TCP 패킷들을 가로채서 처리한 다음 의사 TCP 에이전트로 전달한다. 이하, 의사 TCP 에이전트(100)에서의 접속 설정, 데이터 전송 및 접속 종료 절차에 대해 설명한다. The pseudo TCP
의사 TCP 에이전트(100)가 네트워크 경로 상에서 구현되면, 접속 설정 과정은 각각의 독립적인 세그먼트에서 개별적으로 처리된다. 각 세그먼트는 자신의 종단 위치 사이에서 독립적인 통신을 설정한다. 접속 설정 단계들의 순서는 도 4에 도시되어 있다. If the
도 4는 본 발명에 따른 의사 TCP 에이전트간의 접속 설정 절차를 나타낸 도면이다. 4 is a diagram illustrating a connection establishment procedure between pseudo TCP agents according to the present invention.
도 4를 참조하면, 먼저, 이전 노드(99)로부터 전송된 동기화 메시지(Synchronized message)(Syn)가 의사 TCP 에이전트(100)에 의해 가로채진다(단계 202). 그러면 의사 TCP 에이전트(100)는 즉시 아크 메시지(acknowledged message)(Ack)를 이전 에이전트(99)로 전송한다(단계 204). 이와 동시에 또는 이와 거의 동시에, 의사 TCP 에이전트(100)는 동기화 메시지(Syn)를 다음 에이전트(101)로 전송한다(단계 212). 그러면 다음 에이전트(101)는 아크 메시지(acknowledged message)(Ack)를 의사 TCP 에이전트(100)로 전송한다(단계 214). Referring to FIG. 4, first, a Synchronized message (Syn) transmitted from a
이러한 과정을 통해 의사 TCP 에이전트(100)와 이전 에이전트(99)와의 접속이 이루어지고(단계 206), 의사 TCP 에이전트(100)와 다음 에이전트(101)와의 접속이 이루어진다(단계 216).Through this process, the
각 세그먼트에서의 데이터 전송 프로세스는 접속 설정이 완전히 완료된 후 개시된다. 다시 말해, 패킷을 전송하거나 수신하는데 어떤 문제가 있다면, 통신은 문제에 즉각적으로 반응할 필요가 있다. 예컨대, 수신기가 메시지를 수신하지 않은 경우, 의사 TCP 에이전트(100)는 패킷이 정확하게 수신되지 않았고, 재전송이 필요함을 알리기 위해 나크 메시지(non-acknowledged message)(Nack)를 송신기로 전송한다. 복수개의 재전송 이후, 만약 접속이 여전히 설정되지 않는다면, 접속을 종료하는 알림 메시지를 데이터 경로 상의 모든 의사 TCP로 전송할 필요가 있다. The data transfer process in each segment is started after the connection setup is completely completed. In other words, if there is a problem sending or receiving a packet, the communication needs to react immediately to the problem. For example, if the receiver has not received the message, the
의사 TCP 에이전트(100)는 이전 에이전트(99) 또는 이전 노드로부터 수신된 모든 패킷에 대해 아크 메시지를 전송함으로써 이전 에이전트에 대해 목적 호스트로서 동작한다. 또한, 의사 TCP 에이전트(100)는 TCP 흐름 제어, 에러 검출 및 혼잡 제어 알고리즘을 수행함으로써 다음 세그먼트에 대해서는 소스 호스트와 유사하게 동작한다. The
도 5는 의사 TCP 에이전트에 접속된 이전 에이전트와 다음 에이전트 사이에서 의사 TCP 에이전트의 데이터 전송 절차를 도시한 도면이다. 5 is a diagram showing a data transfer procedure of a pseudo TCP agent between a previous agent connected to the pseudo TCP agent and the next agent.
도 5를 참조하면, 의사 TCP 에이전트(100)는 먼저, TCP 패킷을 수신하고 수신 TCP 패킷을 IP(Internet Protocol) 헤더의 프로토콜 필드에 기반하여 분류하고, 수신 TCP 패킷을 버퍼(120)에 저장한다(단계 240). 그런 후, 의사 TCP 에이전트(100)는 패킷이 순서대로 올바로 수신되었음을 알리는 Ack 메시지를 이전 노드(99)로 전송한다(단계 242). Referring to FIG. 5, the
이어서, 의사 TCP 에이전트(100)는 수신된 Ack 메시지에 기초하여 마지막 송신 확인(acknowledgement) 메시지 번호를 갱신하고, 혼잡 윈도우 사이즈(congestion window size)를 다시 설정한다. 최종적으로, 의사 TCP 에이전트(100)는 버퍼(120)에 저장된 패킷을 다음 노드(101)로 전송한다(단계 248). 이러한 의사 TCP 에이전트의 데이터 전송 절차에서 단계 242 및 244는 동시에 수행될 수 있다. The
종래에는 패킷은 네트워크 장비 예컨대, 라우터에서는 물리 계층(111), 데이터링크 계층(112) 및 네트워크 계층(113)을 거쳐 라우팅된다. 반면, 본 발명에서 패킷은 물리 계층(111), 데이터링크 계층(112), 네트워크 계층(113) 및 의사 TCP 계층(114)을 거쳐 라우팅된다. 의사 TCP 계층(114)은 본 발명에 따라 의사 TCP 에이전트(100)에 구현된다. Conventionally, a packet is routed through a
구체적으로 의사 TCP 에이전트(100)는 버퍼(120)의 이용가능성 및 현재의 혼잡 상태와 같은 현재의 자원에 기반하여 새로운 TCP 접속을 위한 자원을 할당한다. 패킷 수신율보다 패킷 송신율이 크면, 의사 PCT 에이전트에서 전송할 패킷이 존재하지 않을 수 있다. 의사 PCT 에이전트는 데이터 송신을 계속하기 위해 수신 패킷이 혼잡 윈도우 사이즈를 완전히 채울때까지 대기해야 한다. 의사 TCP 에이전트(100) 이전 세그먼트에서의 혼잡으로 인해 송신할 패킷이 없음을 인지하는 즉시, 혼잡 윈도우 사이즈를 감소시킨다. 데이터 송신중 심각한 문제가 발생하면 접속을 종료하기 위해 네트워크 경로 상에 있는 모든 TCP aware 장치들에게 알림 메시지를 전송할 필요가 있다. 알림 메시지는 소스 또는 목적지 노드들 또는 에러가 검출된 임의의 의사 TCP 에이전트로부터 전송될 수 있다. 의사 TCP 에이전트는 새로운 접속을 위한 고정 자원을 할당하고 의사 TCP 에이전트는 할당된 자원에 기초하여 혼잡 상태를 제어해야 한다. 패킷 수신율이 패킷 송신율보다 크면, 버퍼는 지수함수적으로 임계까지 증가한다. Specifically, the
따라서, 수신 패킷율이 할당된 자원에 따른 패킷 처리 능력을 초과하지 않도록 의사 TCP 에이전트는 이전 노드에 패킷 수신을 확인하는 아크 메시지의 전송을 지연하거나 이전 의사 TCP 에이전트로 송신율을 감소하도록 알림 메시지를 전송해야 한다. Therefore, the pseudo TCP agent delays the transmission of the ARC message confirming the reception of the packet to the previous node or reduces the transmission rate to the previous pseudo TCP agent so that the reception packet rate does not exceed the packet processing capability according to the allocated resource Should be transmitted.
마지막으로, TCP 접속은 소스 유저, 목적지 유저 또는 이들 유저들이 종료 메시지를 전송함으로써 종료될 수 있다. 종료 메시지는 할당된 자원을 해제하기 위해 데이터 경로 상에 있는 모든 의사 TCP aware 장치들에 의해 검출될 필요가 있다. Finally, the TCP connection may be terminated by the source user, the destination user, or by sending a termination message to these users. The termination message needs to be detected by all pseudo TCP aware devices on the data path to release the allocated resources.
도 6은 본 발명의 바람직한 실시예에 따른 TCP 흐름 제어를 나타낸다. 6 illustrates TCP flow control according to a preferred embodiment of the present invention.
도 6에서, N개의 패킷이 2개의 종단 단말들 사이에서 전송되는 것으로 가정한다. 또한, TCP 흐름에서 지연(latency)은 "라운드"라는 용어로 지칭된다. 라운드는 패킷 윈도우의 전송으로 시작하고 이들 패킷에 대해 하나의 아크 메시지를 수신하면 종료한다. 라운드에서 패킷은 다른 라운드에서의 손실과는 독립적으로 손실된다. 그러나, 하나의 라운드에서의 손실은 서로 상관이 있고, 그 라운드에서의 첫번째 패킷 이후의 모든 패킷 또는 그 라운드에서의 이전 패킷은 손실되지 않는다. In FIG. 6, it is assumed that N packets are transmitted between two end terminals. Also, the latency in the TCP flow is referred to as the term "round ". The round starts with the transmission of the packet window and ends when it receives one arc message for these packets. In rounds, packets are lost independently of losses in other rounds. However, losses in one round correlate with each other, and not all packets after the first packet in the round or previous packets in that round are lost.
도 6을 참조하면, 하나의 라운드에서 N개의 패킷이 2개의 종단 단말들 사이에서 전송되어야 하는 경우, 의사 TCP 에이전트(100)는 현재의 수신 패킷(i번째 패킷)이 N번째 패킷인 지를 판단한다(단계 302). 전술한 바와 같이, 하나의 라운드에서 N개의 패킷이 전송된다. 0번째 패킷부터 송신되고 현재의 패킷이 N번째 패킷이면 N개의 패킷이 이미 송신되었으므로, 해당 라운드는 종료되어야 한다. Referring to FIG. 6, when N packets are to be transmitted between two end terminals in one round, the
현재의 수신 패킷이 해당 라운드에서 포함되면, 의사 TCP 에이전트(100)는 트래픽이 패킷 처리 능력을 초과하면 패킷 수신율(incoming packet rate)을 감소한다(단계 304). 구체적으로, 의사 TCP 에이전트(100)는 패킷 수신율이 패킷 송신율(outgoing packet rate)보다 높으면 이전 에인전트(99)로 패킷의 수신을 확인하는 아크 메시지의 송신을 지연하거나 패킷 송신율을 감소하도록 알림 메시지(notify)를 전송한다. 이어서, 의사 TCP 에이전트(100)는 자신의 버퍼(120)에 저장되며 다음 에이전트(101)로 전송되어야 할 패킷이 없는 지를 판단한다(단계 306). 패킷 수신율을 감소하였으므로, 패킷 송신율이 패킷 수신율보다 커지게 되면 의사 TCP 에이전트(100)는 전송할 패킷이 없게 된다. 의사 TCP 에이전트(100)는 다음 에이전트(101)로 전송할 패킷이 없으면 수신 패킷이 혼잡 윈도우(congestion window)를 완전히 채울 때까지 대기한다. If the current received packet is included in the round, the
공지된 바와 같이, TCP는 망의 혼잡이 발생하였을 때 이를 제어하기 위해 혼잡 윈도우(congestion window)를 사용한다. 망의 혼잡 때문에 패킷의 손실이 발생하였을 경우 혼잡 윈도우의 크기를 작게 조절하여, 송신측에서 패킷을 천천히 보내고 그렇지 않을 경우에는 혼잡 윈도우의 크기를 크게 하여 패킷을 빠르게 전송함으로 혼잡상황을 제어한다. As is well known, TCP uses a congestion window to control when network congestion occurs. When packet loss occurs due to network congestion, the size of congestion window is adjusted to be small and the congestion state is controlled by sending packet slowly at the transmitting side and increasing the size of congestion window if not.
수신 패킷이 혼잡 윈도우를 완전히 채우면 의사 TCP 에이전트(100)는 단계 312에서 현재의 모드가 정상 모드(normal mode)인지를 판단한다. 정상 모드는 패킷이 손실 없이 정상적으로 송신된 경우에 대응한다. 또한, 복제 모드는 패킷 손실이 발생하여 송신단말이나 다음 에이전트(101)로 패킷을 재전송하는 경우에 대응한다. When the received packet completely fills the congestion window, the
의사 TCP 에이전트(100)는 정상모드이면 단계 314로 진행하여 혼잡 윈도우 사이즈를 갱신하고 새로운 패킷을 다음 에이전트(101)로 전송한다. 의사 TCP 에이전트(100)는 다음 에이전트(101)로부터 아크 메시지를 수신하면 패킷 손실이 없는 것으로 판단하여 패킷 넘버를 증가시키고 즉, i를 증가시키고(단계 318), 다음 라운드로 진행한다(단계 350). If the
또한, 의사 TCP 에이전트(100)는 패킷이 손실되었으면 전송된 패킷의 수가 3 이상인지를 판단한다. 전송된 패킷의 수가 3 이상이면 단계 324로 진행하여 복제 모드로 전환한다. 만약 전송된 패킷의 수가 3 이하이면, 해당 라운드를 종료하고, 다시 라운드를 진행시킨다. Also, the
한편, 수신 패킷이 혼잡 윈도우를 완전히 채우면 의사 TCP 에이전트(100)는 현재의 모드가 정상 모드(normal mode)인지를 판단하는데(단계 312), 이 때, 정상모드가 아니면 복제 모드(duplicated mode)인지를 판단한다(단계 332). 현재 모드가 복제 모드이면 의사 TCP 에이전트(100)는 단계 336에서 패킷 손실이 발생하였는 지를 판단한다. 패킷 손실이 발생하지 않았으면, 패킷 넘버를 갱신하고 손실 패킷을 재전송하고 정상 모드로 전환한다(단계 344). 만약 패킷 손실이 발생하였으면 단계 338에서 전송된 패킷의 수가 3이상인지를 판단한다(단계 338). 전송된 패킷의 수가 3 이상이면 단계 344로 진행하여 패킷 넘버를 갱신하고 손실 패킷을 재전송하고 정상 모드로 전환한다. 만약 전송된 패킷의 수가 3보다 작으면 의사 TCP 에이전트(100)는 단계 340에서 타임아웃 모드로 전환한 후 단계 342로 진행한다. If the received packet completely fills the congestion window, the
또한, 단계 332에서의 판단 결과, 현재 모드가 타임아웃 모드이면 의사 TCP 에이전트(100)는 단계 342로 진행하여 타임아웃까지 대기한 후 정상 모드로 전환하고, 다음 라운드로 진행한다. If it is determined in
도 7 및 도 8은 본 발명에 따른 SBSM 방식과 ETEM(End-To-End MEchanism) 방식 사이의 성능을 비교한 그래프들이다. FIGS. 7 and 8 are graphs comparing performance between the SBSM scheme and the ETEM (End-To-End MEchanism) scheme according to the present invention.
도 7에 도시된 바와 같이, 재전송 횟수를 시뮬레이션 한 결과는 아래 표와 같이 SBSM이 훨씬 줄어든 것을 알 수 있다. 또한, 도 8에 도시된 바와 같이, 재전송에 관련된 네트워크 자원의 경우도 SBSM이 좋아짐을 알 수 있다As shown in FIG. 7, the result of simulating the number of retransmissions shows that the SBSM is much reduced as shown in the following table. Also, as shown in FIG. 8, it can be seen that the SBSM is also improved in the case of the network resource related to the retransmission
전술한 바와 같은 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였다. 그러나 본 발명의 범주에서 벗어나지 않는 한도 내에서는 여러 가지 변형이 가능하다. 본 발명의 기술적 사상은 본 발명의 전술한 실시 예에 국한되어 정해져서는 안 되며, 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.In the foregoing detailed description of the present invention, specific examples have been described. However, various modifications are possible within the scope of the present invention. The technical spirit of the present invention should not be limited to the above-described embodiments of the present invention, but should be determined by the claims and equivalents thereof.
99: 이전 에이전트 100: 의사 TCP 에이전트
101: 다음 에이전트 120: 버퍼99: old agent 100: pseudo TCP agent
101: Next agent 120: Buffer
Claims (6)
송신 장치 및 수신 장치와의 사이에 접속 설정을 수행하는 단계와,
상기 송신 장치로부터 패킷을 수신하면 패킷을 버퍼에 저장하고, 트래픽이 패킷 처리 능력을 초과하는 지를 판단하는 단계와,
트래픽이 패킷 처리 능력을 초과하면 패킷 수신율(incoming packet rate)을 감소하는 단계와,
상기 패킷 수신율의 감소에 따라 송신할 패킷이 없으면 수신 패킷이 혼잡 윈도우를 완전히 채울때까지 대기하는 단계와,
상기 수신 패킷을 상기 수신 장치로 전송하는 단계를 포함하되,
상기 송신 장치와 상기 수신 장치 사이를 2개 이상의 개별 세그먼트로 나눌 때 서로 인접한 두 개별 세그먼트들 사이에 배치되는 적어도 하나 이상의 네트워크 장치가, 상기 버퍼에 저장되는 패킷에 대하여 상기 송신 장치로 아크(ACK) 메시지를 전송하고 상기 수신 장치로 전송되는 상기 패킷이 손실되면 상기 버퍼에 저장된 패킷을 상기 수신 장치로 재전송하는 네트워크 장치에서의 TCP 기능 수행 방법.A method for performing a TCP function in a network device,
Performing connection setting between the transmitting apparatus and the receiving apparatus;
Receiving a packet from the transmitting device, storing the packet in a buffer and determining whether the traffic exceeds a packet processing capability;
Reducing an incoming packet rate if the traffic exceeds a packet processing capability,
Waiting until the received packet completely fills the congestion window if there is no packet to be transmitted according to the decrease of the packet reception rate;
And transmitting the received packet to the receiving device,
Wherein at least one network device disposed between two separate segments adjacent to each other when dividing the transmission device and the receiving device into two or more separate segments transmits an arc (ACK) to the transmitting device with respect to a packet stored in the buffer, Transmitting a message to the receiving device, and retransmitting the packet stored in the buffer to the receiving device when the packet transmitted to the receiving device is lost.
상기 패킷 수신율을 감소하는 단계는
상기 송신 장치에 대한 상기 패킷 수신을 확인하는 아크 메시지의 전송을 지연함으로써 수행되는 네트워크 장치에서의 TCP 기능 수행 방법.The method according to claim 1,
The step of decreasing the packet reception rate
And delays transmission of an arc message for confirming the reception of the packet to the transmitting apparatus.
상기 패킷 수신율을 감소하는 단계는
상기 송신 장치로 패킷 송신율을 감소하도록 알림 메시지(notify)를 전송함으로써 수행되는 네트워크 장치에서의 TCP 기능 수행 방법.The method according to claim 1,
The step of decreasing the packet reception rate
And transmitting a notification message (notify) to reduce the packet transmission rate to the transmitting apparatus.
상기 송신 장치로부터 패킷의 수신시 상기 송신 장치로 아크 신호를 전송하는 단계를 더 포함하는 네트워크 장치에서의 TCP 기능 수행 방법.The method according to claim 1,
And transmitting an arc signal to the transmitting device upon receiving a packet from the transmitting device.
상기 버퍼에 저장된 패킷을 상기 수신 장치로 전송하는 단계와,
상기 수신장치로부터 아크 신호를 대기하는 단계를 더 포함하는 네트워크 장치에서의 TCP 기능 수행 방법.The method according to claim 1,
Transmitting a packet stored in the buffer to the receiving apparatus;
And waiting for an arc signal from the receiving device.
상기 혼잡 윈도우의 사이즈를 재설정하는 단계를 더 포함하는 네트워크 장치에서의 TCP 기능 수행 방법.The method according to claim 1,
And resetting the size of the congestion window.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120148130A KR101396785B1 (en) | 2012-12-18 | 2012-12-18 | Method for performing tcp functions in network equipmment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120148130A KR101396785B1 (en) | 2012-12-18 | 2012-12-18 | Method for performing tcp functions in network equipmment |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101396785B1 true KR101396785B1 (en) | 2014-05-20 |
Family
ID=50894602
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120148130A KR101396785B1 (en) | 2012-12-18 | 2012-12-18 | Method for performing tcp functions in network equipmment |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101396785B1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050084135A (en) * | 2002-12-03 | 2005-08-26 | 콜라투스 코포레이션 | Apparatus, method, and computer program product for tunneling tcp based client-server applications |
KR20100034553A (en) * | 2008-09-24 | 2010-04-01 | 성균관대학교산학협력단 | Appratus for tcp congestion control, a method thereof and recorded medium recorded with a program executing the same |
-
2012
- 2012-12-18 KR KR1020120148130A patent/KR101396785B1/en not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050084135A (en) * | 2002-12-03 | 2005-08-26 | 콜라투스 코포레이션 | Apparatus, method, and computer program product for tunneling tcp based client-server applications |
KR20100034553A (en) * | 2008-09-24 | 2010-04-01 | 성균관대학교산학협력단 | Appratus for tcp congestion control, a method thereof and recorded medium recorded with a program executing the same |
Non-Patent Citations (4)
Title |
---|
Paper, A TCP Agent Scheme Based on Active Buffer Control to Support Lossless Handover in BroadbandWireless Networks, School of Electrical Engineering, Seoul National University * |
Paper, A TCP Agent Scheme Based on Active Buffer Control to Support Lossless Handover in BroadbandWireless Networks, School of Electrical Engineering, Seoul National University* |
Paper, An Effective Mechanism for Congestion Control in High Speed, IJCSNS International Journal of Computer Science and Network Security, VOL.9 No.4, April 2009 * |
Paper, An Effective Mechanism for Congestion Control in High Speed, IJCSNS International Journal of Computer Science and Network Security, VOL.9 No.4, April 2009* |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11641387B2 (en) | Timely delivery of real-time media problem when TCP must be used | |
US7698453B2 (en) | Early generation of acknowledgements for flow control | |
KR100785293B1 (en) | System and Method for TCP Congestion Control Using Multiple TCP ACKs | |
JP5544430B2 (en) | Communication apparatus and communication system | |
US7616638B2 (en) | Wavefront detection and disambiguation of acknowledgments | |
US8233392B2 (en) | Transaction boundary detection for reduction in timeout penalties | |
EP2537301B1 (en) | Control of packet transfer through a multipath session comprising a single congestion window | |
US8072898B2 (en) | Method for managing a transmission of data streams on a transport channel of a tunnel, corresponding tunnel end-point and computer-readable storage medium | |
US9577791B2 (en) | Notification by network element of packet drops | |
US20050063303A1 (en) | TCP selective acknowledgements for communicating delivered and missed data packets | |
US20030123394A1 (en) | Flow control between performance enhancing proxies over variable bandwidth split links | |
US20050063307A1 (en) | Flow control system architecture | |
JP5020076B2 (en) | High performance TCP suitable for low frequency ACK system | |
WO2014092779A1 (en) | Notification by network element of packet drops | |
JP2013126244A (en) | Packet communication device and method | |
JP2013191931A (en) | Information processing device, congestion control method, and congestion control program | |
Ramani et al. | Explicit congestion notification (ECN) in TCP over wireless network | |
JP2020533923A (en) | Packet transmission methods, network components, and computer-readable storage media | |
Caro et al. | Retransmission policies with transport layer multihoming | |
Wang et al. | Use of TCP decoupling in improving TCP performance over wireless networks | |
Caro et al. | Transport layer multihoming for fault tolerance in FCS networks | |
US20140369189A1 (en) | Method of controlling packet transmission in network system and network system transmitting packet using pseudo-tcp agent | |
KR101396785B1 (en) | Method for performing tcp functions in network equipmment | |
JP4531302B2 (en) | Packet relay apparatus and method thereof | |
KR100913897B1 (en) | Method for controlling congestion of TCP for reducing the number of retransmission timeout |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20170323 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20180406 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |