KR20060056810A - Apparatus and method for using separation tcp buffer performance degradation protection tcp flow - Google Patents
Apparatus and method for using separation tcp buffer performance degradation protection tcp flow Download PDFInfo
- Publication number
- KR20060056810A KR20060056810A KR1020040096009A KR20040096009A KR20060056810A KR 20060056810 A KR20060056810 A KR 20060056810A KR 1020040096009 A KR1020040096009 A KR 1020040096009A KR 20040096009 A KR20040096009 A KR 20040096009A KR 20060056810 A KR20060056810 A KR 20060056810A
- Authority
- KR
- South Korea
- Prior art keywords
- tcp
- packet
- buffer
- packets
- flow
- 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/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/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- 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/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 발명에 따른 TCP 버퍼 분리를 이용한 TCP 플로우 성능 저하 방지 장치 및 방법은 입력되는 패킷의 프로토콜을 검사하여 TCP 패킷과 Non TCP 패킷을 분류한 후 각각 전송하는 클래스 필터부; 및 상기 클래스 필터부로부터 동일한 패킷을 수신하여 각 프로토콜에 상응하도록 각각 버퍼링하는 적어도 하나 이상의 다중 버퍼로 이루어진 버퍼부를 포함하는 것으로, 버퍼 오버플로우 상황에서 TCP 플로우의 급격한 성능 저하를 방지할 수 있는 것이다.
Apparatus and method for preventing TCP flow degradation using TCP buffer separation according to the present invention include a class filter unit for classifying TCP packets and non-TCP packets by checking a protocol of an input packet and transmitting the classified and non-TCP packets; And a buffer unit including at least one or more multiple buffers each receiving the same packet from the class filter unit and buffering the packet according to each protocol, thereby preventing a sudden performance degradation of the TCP flow in a buffer overflow situation.
Description
도 1은 일반적인 TCP 플로우의 패킷의 흐름 제어를 나타낸 도면, 1 is a diagram illustrating flow control of a packet of a general TCP flow;
도 2는 일반적인 UDP 플로우의 패킷의 흐름 제어를 나타낸 도면, 2 is a diagram illustrating flow control of a packet of a general UDP flow;
도 3은 도 1 및 도 2에 따른 버퍼의 패킷을 처리하는 모습을 나타낸 도면,3 is a diagram illustrating a state of processing a packet of a buffer according to FIGS. 1 and 2;
도 4는 본 발명의 일 실시예에 따른 TCP 버퍼 분리를 이용한 TCP 플로우 성능 저하 방지 장치를 나타낸 기능블록도, 4 is a functional block diagram showing a TCP flow performance degradation prevention apparatus using TCP buffer separation according to an embodiment of the present invention;
도 5는 도 4에 따른 TCP 버퍼 분리를 이용한 TCP 플로우 성능 저하 방지 장치 중 버퍼부의 모습을 나타낸 도면, 5 is a view showing a state of the buffer unit of the TCP flow performance degradation prevention apparatus using the TCP buffer separation according to FIG.
도 6은 본 발명의 일 실시예에 따른 TCP 버퍼 분리를 이용한 TCP 플로우 성능 저하 방지 방법을 나타낸 플로우차트이다.
6 is a flowchart illustrating a method for preventing TCP flow degradation by using TCP buffer separation according to an embodiment of the present invention.
<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>
100 : 클래스 필터부 200 : 버퍼부100: class filter unit 200: buffer unit
210 : TCP 버퍼 220 : 비 TCP 버퍼
210: TCP Buffer 220: Non TCP Buffer
본 발명은 TCP(Transmission Control Protocol) 버퍼 분리를 이용한 TCP 플로우 성능 저하 방지 장치 및 방법에 관한 것으로, 더욱 상세하게는 인터넷의 환경에서 흐름 제어(flow control)를 수행하는 TCP의 버퍼를 분리하여, 버퍼 오버플로우(Buffer Overflow) 상황에서 TCP 플로우의 성능을 향상시키는 TCP 버퍼 분리를 이용한 TCP 플로우 성능 저하 방지 장치 및 방법에 관한 것이다.
The present invention relates to an apparatus and method for preventing TCP performance degradation using TCP (Transmission Control Protocol) buffer separation. More particularly, the present invention relates to a buffer that separates a buffer of TCP that performs flow control in an environment of the Internet. The present invention relates to an apparatus and method for preventing TCP performance degradation by using TCP buffer separation to improve the performance of TCP flow in a buffer overflow situation.
종래의 버퍼 관리 방법은 하나의 버퍼에서 IP 상위의 프로토콜을 구분하지 않고 버퍼 관리를 수행한다. 즉, 버퍼에서의 패킷 폐기는 출력 링크의 아웃풋 버퍼(Out Put)의 용량보다 많은 양의 패킷이 출력 링크 방향으로 전송해야 하는 상황에서 아웃풋 버퍼의 오버플로우에 의해서 발생하며, 버퍼 오버플로우 발생 시 테일 드롭(Tail drop)방식을 사용해서 패킷 폐기를 수행한다. 이와 같은, 테일 드롭이란, FIFO(First In First Out)/FIFS(First In First Service) 형태의 큐. 가장 나중에 들어온 패킷을 폐기한다. 이 경우 간단하게 하드웨어를 구현 할 수 있지만 각 플로우마다 전송률이 달라진다. 나쁜 node는 자기혼자 패킷을 보낸다. 그러나 Drop Tail Queue는 나쁜 node나 착한 node나 상관없이 끝에 들어오는 패킷을 폐기하므로 네트웍 자원을 나쁜 노드가 독점하는 것을 막을 수 없다. 이것을 해 결하려고 여러 가지 방법이 제안되었다. 그 중에 Nagle이 제안한 방식은 각 플로우를 라우터가 구분하여 공평하게 보내는 것이다. 패킷의 source address를 보고 각 플로우에 따라 별도의 큐를 갖게 한다. 따라서 나쁜 노드가 패킷을 마구 보내도 자신의 큐에서만 폐기 될 뿐 착한 노드를 방해하지 못한다. 그 외에도 fair한 플로우를 만들기 위해서 FQ, SFR, DRR등이 나왔다.)
Conventional buffer management method performs buffer management without distinguishing the protocol of the upper IP in one buffer. In other words, the packet discard in the buffer is caused by the overflow of the output buffer when a larger amount of packets than the capacity of the output put (Out Put) of the output link has to be transmitted in the direction of the output link. Packet dropping is performed using a tail drop method. The tail drop is a queue in the form of First In First Out (FIFO) / First In First Service (FIFS). Discard the last packet that came in. In this case, the hardware can be simply implemented, but the data rate is different for each flow. Bad nodes send their own packets. However, Drop Tail Queue discards incoming packets at the end, no matter whether they are bad or good, so you can't prevent bad nodes from monopolizing network resources. Several methods have been proposed to solve this. Among them, Nagle's proposed method is to distribute each flow fairly by the router. Look at the source address of the packet and have a separate queue for each flow. Therefore, even if a bad node sends out a packet, it is only discarded in its own queue and does not interfere with the good node. In addition, FQ, SFR, and DRR came out to create a fair flow.)
기본적으로 라우터의 버퍼에서 트래픽이 증가하면 그 버퍼가 패킷으로 채워지기 시작한다. 만약, 트래픽이 계속해서 출력 링크 속도를 초과하는 속도로 라우터를 통과하면 버퍼의 최대 용량까지 가득 찰 수 있다. 이렇게 되면 라우터는 이후의 모든 패킷을 버퍼의 여유가 있을 때까지 폐기할 수밖에 없으며, 패킷 폐기 시 패킷에 대한 분류를 하지 않은 상태에서 무작위적으로 발생한다.
By default, as traffic increases in the router's buffer, the buffer begins to fill up with packets. If traffic continues to pass through the router at a rate that exceeds the output link speed, it can fill up to the maximum capacity of the buffer. In this case, the router has to discard all subsequent packets until there is enough buffer, and randomly occurs when the packets are not classified.
이와 같이, 흐름 제어를 수행하는 대표적인 프로토콜인 TCP와 흐름 제어를 수행하지 않는 대표적인 프로토콜인 UDP의 특성에 대해서 설명한다. As described above, the characteristics of TCP, which is a representative protocol for performing flow control, and UDP, which is a representative protocol for not performing flow control, will be described.
먼저, TCP/IP (Transmission Control Protocol/Internet Protocol)[티씨피 아이피]는 인터넷의 기본적인 통신 프로토콜로서, 인트라넷이나 엑스트라넷과 같은 사설 망에서도 사용된다. 사용자가 인터넷에 접속하기 위해 자신의 컴퓨터를 설정할 때 TCP/IP 프로그램이 설치되며, 이를 통하여 역시 같은 TCP/IP 프로토콜을 쓰고 있는 다른 컴퓨터 사용자와 메시지를 주고받거나, 또는 정보를 얻을 수 있게 된다. First, Transmission Control Protocol / Internet Protocol (TCP / IP) is the basic communication protocol of the Internet, and is also used in private networks such as intranets and extranets. When a user sets up his computer to access the Internet, a TCP / IP program is installed, which allows him or her to exchange messages or obtain information with other computer users who are also using the same TCP / IP protocol.
TCP/IP는 2개의 계층으로 이루어진 프로그램이다. 상위계층인 TCP는 메시지나 파일들을 좀더 작은 패킷으로 나누어 인터넷을 통해 전송하는 일과, 수신된 패킷들을 원래의 메시지로 재조립하는 일을 담당한다. 하위계층, 즉 IP는 각 패킷의 주소 부분을 처리함으로써, 패킷들이 목적지에 정확하게 도달할 수 있게 한다. 네트웍 상의 각 게이트웨이는 메시지를 어느 곳으로 전달해야 할지를 알기 위해, 메시지의 주소를 확인한다. 한 메시지가 여러 개의 패킷으로 나뉘어진 경우 각 패킷들은 서로 다른 경로를 통해 전달될 수 있으며, 그것들은 최종 목적지에서 재조립된다. TCP / IP is a two-layer program. The upper layer, TCP, is responsible for breaking messages or files into smaller packets for transmission over the Internet, and for reassembling the received packets into original messages. The lower layer, or IP, processes the address portion of each packet, allowing packets to reach their destination exactly. Each gateway on the network checks the address of the message to know where to send the message. If a message is divided into packets, each packet can be delivered through a different path, and they are reassembled at their final destination.
TCP/IP는 통신하는데 있어 클라이언트/서버 모델을 사용하는데, 컴퓨터 사용자(클라이언트)의 요구에 대응하여, 네트웍 상의 다른 컴퓨터(서버)가 웹 페이지를 보내는 식의 서비스를 제공한다. TCP/IP는 본래 점대점(点對点) 통신을 하는데, 이는 각 통신이 네트웍 상의 한 점(또는 호스트 컴퓨터)으로부터 시작되어, 다른 점 또는 호스트 컴퓨터로 전달된다는 것을 의미한다. TCP/IP와 TCP/IP를 이용하는 상위계층의 응용프로그램들은 모두 "커넥션리스(Connectionless)"라고 불리는데, 이는 각 클라이언트의 요구가 이전에 했던 어떠한 요구와도 무관한 새로운 요구로 간주된다는 것을 의미한다. (일상적인 전화통화가 통화시간 내내 지속적으로 연결되어 있어야 하는 것과는 다르다). 커넥션리스는 네트웍을 독점하지 않으므로, 모든 사람들이 그 경로를 끊임없이 공동으로 사용할 수 있게 한다 (사실 TCP 계층 그 자체는 어떤 한 메시지가 관계되어 있는 한 커넥션리스가 아니라는데 유의해야 한다. TCP 접속은 어떤 한 메시지에 속하는 모든 패킷들이 수신될 때까지 계속 유지된다). TCP / IP uses a client / server model for communication, in response to the needs of computer users (clients), providing other services on the network (servers) to send web pages. TCP / IP inherently makes point-to-point communication, which means that each communication starts from one point (or host computer) on the network and is forwarded to another point or host computer. Both TCP / IP and higher-level applications that use TCP / IP are called "connectionless", meaning that each client's request is considered a new request, independent of any previous request. (Different from having a regular phone call connected continuously throughout the call). Since connectionless does not monopolize the network, it allows everyone to use the path constantly in common (note that in fact the TCP layer itself is not connectionless as long as a message is involved. Until all packets belonging to a message are received).
많은 인터넷 사용자들이 TCP/IP를 이용하는 상위계층 응용프로토콜에 대해서는 잘 알고 있다. 이러한 상위계층 프로토콜에는 웹서비스에 사용되는 HTTP를 비롯하여, 멀리 떨어져 있는 원격지의 컴퓨터에 로그온 할 수 있게 해주는 Telnet, 그리고 파일전송에 사용되는 FTP 와 메일 전송에 사용되는 SMTP 등이 있다. 이러한 프로토콜들은 종종 TCP/IP와 함께 패키지로 일괄 판매된다. Many Internet users are familiar with higher layer application protocols using TCP / IP. These higher-level protocols include HTTP for Web services, Telnet for logging on to remote computers, and FTP for file transfer and SMTP for mail. These protocols are often packaged together with TCP / IP.
PC 사용자들은 보통 인터넷에 접속하기 위해 SLIP이나 PPP 프로토콜을 사용한다. 이러한 프로토콜들은 다이얼업 전화접속을 통해 접속서비스사업자의 모뎀으로 보내질 수 있도록 IP 패킷들을 캡슐화한다. PC users usually use the SLIP or PPP protocols to access the Internet. These protocols encapsulate IP packets so that they can be sent to the service provider's modem via dial-up dial-up.
TCP/IP와 관련이 있는 프로토콜로 UDP가 있는데, 이것은 특별한 목적을 위해 TCP 대신에 사용되는 것이다. 라우팅 정보를 교환하기 위해 네트웍 호스트 컴퓨터에 의해 사용되는 프로토콜에는 ICMP, IGP, EGP, 그리고 BGP 등이 있다.
A protocol related to TCP / IP is UDP, which is used instead of TCP for special purposes. Protocols used by network host computers to exchange routing information include ICMP, IGP, EGP, and BGP.
그리고, UDP (User Datagram Protocol)[유디피]는 IP를 사용하는 네트웍 내에서 컴퓨터들 간에 메시지들이 교환될 때 제한된 서비스만을 제공하는 통신 프로토콜이다. UDP는 TCP의 대안(代案)이며, IP와 함께 쓰일 때에는 UDP/IP라고 표현하기도 한다. TCP와 마찬가지로 UDP도 한 컴퓨터에서 다른 컴퓨터로 데이터그램이라고 불리는 실제 데이터 단위를 받기 위해 IP를 사용한다. 그러나 UDP는 TCP와는 달리, 메시지를 패킷(데이터그램)으로 나누고, 반대편에서 재조립하는 등의 서비스는 제공하지 않으며, 특히 도착하는 데이터 패킷들의 순서를 제공하지 않는다. 이 말 은 UDP를 사용하는 응용프로그램은, 전체 메시지가 올바른 순서로 도착했는지에 대해 확인할 수 있어야한다는 것을 의미한다. 교환해야할 데이터가 매우 적은(그러므로 재조립해야할 메시지도 매우 적은) 네트웍 응용 프로그램들은 처리시간 단축을 위해 TCP 보다 UDP를 더 좋아할 수 있다. 일례로 TFTP는 TCP 대신에 UDP를 사용한다. In addition, UDP (User Datagram Protocol) [UDP] is a communication protocol that provides only limited services when messages are exchanged between computers in a network using IP. UDP is an alternative to TCP and sometimes referred to as UDP / IP when used with IP. Like TCP, UDP uses IP to receive the actual data units called datagrams from one computer to another. However, unlike TCP, UDP does not provide services such as dividing a message into packets (datagrams), reassembling on the other side, and in particular does not provide an order of arriving data packets. This means that applications using UDP must be able to verify that the entire message has arrived in the correct order. Network applications that have very little data to exchange (and therefore very few messages to reassemble) may prefer UDP over TCP to reduce processing time. TFTP, for example, uses UDP instead of TCP.
UDP는 IP 계층에서 제공되지 않는 두 개의 서비스를 제공하는데, 하나는 다른 사용자 요청을 구분하기 위한 포트 번호와, 도착한 데이터의 손상여부를 확인하기 위한 체크섬 기능이다. UDP provides two services that are not provided in the IP layer. One is a port number for distinguishing other user requests, and a checksum function for checking whether the data arrives corrupted.
OSI 통신 모델에서, UDP는 TCP와 마찬가지로 4계층인 트랜스포트 계층에 속한다.
In the OSI communication model, UDP belongs to the transport layer, which is four layers like TCP.
그러나, 종래의 인터넷에서 송/수신되는 대부분의 데이터 패킷들은 TCP와 UDP를 이용해서 전달하였다.
However, most data packets transmitted / received in the conventional Internet have been transmitted using TCP and UDP.
이와 같은, 종래의 TCP 플로우의 패킷 폐기에 의한 흐름 제어를 살펴보면, TCP 패킷 전송 시 TCP 전송률의 변화를 나타낸 도 1에 도시된 바와 같이 TCP 플로우의 평균 전송률은 다음과 같이 계산된다. Referring to the flow control by packet discard of the conventional TCP flow, as shown in FIG. 1 showing the change in the TCP transmission rate during TCP packet transmission, the average transmission rate of the TCP flow is calculated as follows.
B : 최대 전송률B: maximum transfer rate
E : 최대 전송률을 초과해서 전송하는 전송률(이 부분은 버퍼 관리에 의해 폐기된다). E는 패킷 폐기가 일어나는 크기이며 실제로는 매우 작은 값이다. E: The transmission rate exceeding the maximum transmission rate (this part is discarded by buffer management). E is the size at which packet discard occurs and is actually a very small value.
계산의 결과대로, TCP 플로우는 버퍼 오버플로우 상황에서 패킷 폐기로 인하여 흐름 제어를 하게 된다. 즉, 상기 제 1 도에 도시된 바와 같이 B+E와 B사이에 존재하는 TCP 패킷은 폐기되는 동시에 TCP 플로우는 전송율를 극격하게 낮추게 된다. As a result of the calculation, the TCP flow has flow control due to packet discard in a buffer overflow situation. That is, as shown in FIG. 1, the TCP packet existing between B + E and B is discarded and the TCP flow dramatically lowers the transmission rate.
라우터의 버퍼에서는 패킷들을 분류하지 않고 하나의 버퍼에 저장되며, 그 버퍼에 오버플로우 상황이 발생되면 버퍼에서 무작위적으로 패킷을 폐기하며, 이를 제어하기 위해 TCP 플로우는 전송율을 극격하게 낮추게 된다. 따라서, TCP 플로우는 오버플로우 상황이 발생하게 되면 흐름 제어에 의해 지나치게 전송률이 떨어지는 문제점을 가지고 있었다.
In the router's buffer, packets are not classified and stored in a buffer. When an overflow occurs in the buffer, the packet is discarded randomly from the buffer. To control this, the TCP flow dramatically lowers the transmission rate. Therefore, the TCP flow had a problem that the transmission rate is too low due to flow control when an overflow situation occurs.
그리고, 도 2는 종래의 흐름 제어를 수행하지 않은 프로토콜인 UDP가 패킷 폐기 상황이 발생한 상황에서의 동작이다. 2 illustrates an operation in which a packet discard situation occurs in UDP, which is a protocol that does not perform conventional flow control.
도 2에 도시된 바와 같이 흐름 제어를 하지 않는 플로우들은 패킷 폐기가 발 생하더라도, 폐기된 패킷만 전달을 하지 못하고 나머지 패킷은 정상적으로 전달된다. As shown in FIG. 2, even if packet discard occurs, flows not controlled by the flow control cannot deliver only discarded packets, and the remaining packets are normally delivered.
상기 제 2 도에 도시된 바와 같이 B+E와 B사이에 존재하는 비 TCP 패킷만 폐기되는 한편, 나머지 비 TCP 패킷은 그대로 전송된다. 그러므로, 흐름 제어를 하지 않는 플로우들은 패킷 폐기에 따른 전송률의 영향을 크게 받지 않는다.
As shown in FIG. 2, only non-TCP packets existing between B + E and B are discarded while the remaining non-TCP packets are transmitted as they are. Therefore, flows without flow control are not greatly affected by the transmission rate due to packet discard.
따라서, 도 1과 도 2에 도시된 바와 같이 흐름 제어를 하는 트래픽과 하지 않는 트래픽이 같이 전달되는 경우, 버퍼 오버플로우 상황에서는 흐름 제어를 하는 트래픽이 하지 않는 트래픽 보다 손해를 보게 된다. Therefore, as shown in FIGS. 1 and 2, when the flow control traffic and the traffic without traffic are delivered together, the flow control traffic loses more than the traffic traffic without the traffic control.
만약, 다수의 TCP 플로우와 UDP 플로우가 같이 존재하는 상황에서 라우터의 버퍼 오버플로우가 발생하게 된다면, 다수의 TCP 플로우들이 동시에 패킷 폐기가 발생하게 되며, 각각의 TCP 플로우들은 수신측에서 전송측으로 재전송을 요청하게 되고, 전송측에서는 전송하는 TCP의 전송률을 급격하게 줄이게 된다.
If a buffer overflow of a router occurs in a situation where multiple TCP flows and UDP flows exist together, multiple TCP flows may cause packet discard at the same time, and each TCP flow may be retransmitted from the receiving side to the transmitting side. On the request side, the sending side dramatically reduces the transmission rate of the transmitting TCP.
이에 반해, UDP 플로우들은 흐름 제어를 이용하지 않으므로 UDP 플로우의 전송속도는 패킷 폐기가 되는 만큼을 제외한 패킷들은 모두 전송이 되나, TCP 플로우의 전송률은 낮아지는 문제점을 가지고 있었다.
On the contrary, since UDP flows do not use flow control, all packets except UDP packet transmission rate are transmitted, but TCP transmission rate is lowered.
따라서, 본 발명은 상기와 같은 종래의 문제점을 해결하기 위해 이루어진 것 으로서, 본 발명의 목적은 버퍼 오버플로우 상황에서 TCP 버퍼를 분리해서 관리하므로 흐름 제어를 하는 TCP의 전송률이 급격하게 떨어지는 것을 방지할 수 있는 TCP 버퍼 분리를 이용한 TCP 플로우 성능 저하 방지 장치 및 방법을 제공하는 데 있다.
Accordingly, the present invention has been made to solve the above-mentioned conventional problems, and an object of the present invention is to prevent the TCP rate of flow control from falling sharply because the TCP buffer is separated and managed in a buffer overflow situation. The present invention provides an apparatus and method for preventing TCP performance degradation using TCP buffer separation.
상기한 목적을 달성하기 위한 본 발명에 따른 TCP 버퍼 분리를 이용한 TCP 플로우 성능 저하 방지 장치에 따르면, 입력되는 패킷의 프로토콜을 검사하여 TCP 패킷과 Non TCP 패킷을 분류한 후 각각 전송하는 클래스 필터부; 및 상기 클래스 필터부로부터 동일한 패킷을 수신하여 각 프로토콜에 상응하도록 각각 버퍼링하는 버퍼부를 포함한다.
According to an aspect of the present invention, there is provided a TCP flow degradation prevention apparatus using a TCP buffer separation. The apparatus includes: a class filter unit configured to classify TCP packets and non-TCP packets by checking a protocol of an input packet and then transmit the classified packets; And a buffer unit for receiving the same packet from the class filter unit and buffering the packet according to each protocol.
한편, 본 발명에 따른 TCP 버퍼 분리를 이용한 TCP 플로우 성능 저하 방지 방법의 일 측면에 따르면, 클래스 필터부가 입력되는 패킷의 프로토콜을 검사하여 TCP 패킷과 Non TCP 패킷을 분류하여 각각 전송하는 제 1 단계; 및 버퍼부가 상기 클래스 필터부로부터 동일한 패킷을 수신하여 각 패킷에 상응하는 버퍼링을 수행하는 제 2 단계를 포함한다.
On the other hand, according to one aspect of the TCP flow performance degradation prevention method using the TCP buffer separation according to the present invention, the first step of classifying the TCP packet and Non TCP packet by the class filter unit to check the protocol of the input packet; And a second step in which the buffer unit receives the same packet from the class filter unit and performs buffering corresponding to each packet.
이하, 본 발명의 일 실시예에 의한 TCP 버퍼 분리를 이용한 TCP 플로우 성능 저하 방지 장치 및 방법에 대하여 첨부된 도면을 참조하여 상세히 설명하기로 한다. Hereinafter, an apparatus and method for preventing TCP flow performance degradation using TCP buffer separation according to an embodiment of the present invention will be described in detail with reference to the accompanying drawings.
도 4는 본 발명의 일 실시예에 의한 TCP 버퍼 분리를 이용한 TCP 플로우 성능 저하 방지 장치의 기능블록도로서, 본 발명의 일 실시예에 의한 TCP 버퍼 분리를 이용한 TCP 플로우 성능 저하 방지 장치는 클래스 필터부(100)와 버퍼부(200)를 포함한다. 4 is a functional block diagram of a TCP flow performance degradation prevention apparatus using TCP buffer separation according to an embodiment of the present invention, TCP flow performance degradation prevention apparatus using TCP buffer separation according to an embodiment of the present invention is a class filter The
상기 클래스 필터부(100)는 TCP 패킷과 Non TCP 패킷이 동시에 입력되면, 패킷의 프로토콜을 검사하여 TCP 패킷과 Non TCP 패킷을 분류한 후 버퍼부(200)로 전송하는 역할을 한다. When the
그리고, 상기 버퍼부(200)는 상기 클래스 필터부(100)로부터 동일한 패킷을 수신하여 각 프로토콜에 상응하도록 각각 버퍼링하는 역할을 한다. 이 때, 상기 버퍼부(200)는 TCP 패킷을 버퍼링하는 TCP 버퍼(210)와, TCP 패킷을 제외한 패킷을 버퍼링하는 비 TCP 버퍼(220)를 포함하고 있다. The
또한, 스케줄러는 상기 버퍼부(200)로부터 출력되는 TCP 패킷과 Non TCP 패킷을 수신한 후 각각의 프로토콜을 처리하여 출력하는 역할을 한다.
In addition, the scheduler receives a TCP packet and a Non TCP packet output from the
그러면, 상기와 같은 구성을 가지는 TCP 버퍼 분리를 이용한 TCP 플로우 성능 저하 방지 방법의 동작과정에 대해 도 6을 참조하여 설명하기로 한다. Next, an operation process of the TCP flow performance degradation prevention method using the TCP buffer separation having the above configuration will be described with reference to FIG. 6.
먼저, 상기 클래스 필터부(100)는 입력되는 패킷의 프로토콜을 검사하여 TCP 패킷과 Non TCP 패킷을 분류하여 각각 전송한다(S1). 즉, 도 3에 도시된 바와 같이 TCP 패킷과 Non TCP 패킷이 입력되면, 상기 클래스 필터부(100)는 TCP 패킷과 Non TCP 패킷의 IP를 확인함으로써 분류 가능하다. First, the
이어서, 상기 버퍼부(200)는 상기 클래스 필터부(100)로부터 동일한 패킷을 각각 수신하여 버퍼링한다(S2). 즉, 상기 버퍼부(200)는 도 5에 도시된 바와 같이 상기 클래스 필터부(100)로부터 TCP 패킷을 수신하면 TCP 버퍼(210)를 통해 버퍼링을 수행하는 한편, Non TCP 패킷을 수신하면 비 TCP 버퍼(220)를 통해 버퍼링을 수행한다. Subsequently, the
따라서, 상기 TCP 버퍼(210)를 통해서는 TCP 패킷의 흐름 제어를 수행하며, 상기 비 TCP 버퍼(220)를 통해서는 Non TCP 패킷의 흐름 제어를 수행하지 않고 오버플로우가 발생된 패킷을 폐기한 후 나머지 패킷을 그대로 전송하는 것이다.
Therefore, the TCP buffer flow control is performed through the TCP buffer 210, and the non-TCP buffer flow control is performed through the non-TCP buffer 220 and after discarding the overflowed packet. The rest of the packet is sent as is.
이상에서 본 발명은 기재된 구체 예에 대해서만 상세히 설명하였지만 본 발명의 기술 사상 범위 내에서 다양한 변형 및 수정이 가능함은 당업자에게 있어서 명백한 것이며, 이러한 변형 및 수정이 첨부된 특허청구범위에 속함은 당연한 것이다.
Although the present invention has been described in detail only with respect to the described embodiments, it will be apparent to those skilled in the art that various modifications and changes are possible within the technical spirit of the present invention, and such modifications and modifications belong to the appended claims.
상술한 바와 같이 본 발명에 의한 TCP 버퍼 분리를 이용한 TCP 플로우 성능 저하 방지 장치 및 방법에 의하면, 버퍼 오버플로우 상황에서 TCP 플로우의 급격한 성능 저하를 방지할 수 있는 뛰어난 효과가 있다. As described above, according to the apparatus and method for preventing TCP flow degradation using TCP buffer separation according to the present invention, there is an excellent effect of preventing a sudden degradation of TCP flow in a buffer overflow situation.
Claims (6)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040096009A KR20060056810A (en) | 2004-11-22 | 2004-11-22 | Apparatus and method for using separation tcp buffer performance degradation protection tcp flow |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040096009A KR20060056810A (en) | 2004-11-22 | 2004-11-22 | Apparatus and method for using separation tcp buffer performance degradation protection tcp flow |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20060056810A true KR20060056810A (en) | 2006-05-25 |
Family
ID=37152454
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040096009A KR20060056810A (en) | 2004-11-22 | 2004-11-22 | Apparatus and method for using separation tcp buffer performance degradation protection tcp flow |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20060056810A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102056241A (en) * | 2009-11-11 | 2011-05-11 | 上海摩波彼克半导体有限公司 | Method for acquiring interlayer channel for improving transmission performance of TCP in wireless sensor network |
KR101455381B1 (en) * | 2012-10-31 | 2014-11-03 | 삼성에스디에스 주식회사 | Terminals and method for network monitoring using the same |
CN105704060A (en) * | 2014-11-26 | 2016-06-22 | 网宿科技股份有限公司 | Flow control method based on single connection and multiple requests |
-
2004
- 2004-11-22 KR KR1020040096009A patent/KR20060056810A/en not_active Application Discontinuation
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102056241A (en) * | 2009-11-11 | 2011-05-11 | 上海摩波彼克半导体有限公司 | Method for acquiring interlayer channel for improving transmission performance of TCP in wireless sensor network |
KR101455381B1 (en) * | 2012-10-31 | 2014-11-03 | 삼성에스디에스 주식회사 | Terminals and method for network monitoring using the same |
US9270569B2 (en) | 2012-10-31 | 2016-02-23 | Samsung Sds Co., Ltd. | Transmitting and receiving side terminals and method of monitoring network using the same |
CN105704060A (en) * | 2014-11-26 | 2016-06-22 | 网宿科技股份有限公司 | Flow control method based on single connection and multiple requests |
CN105704060B (en) * | 2014-11-26 | 2018-11-02 | 网宿科技股份有限公司 | A kind of flow control methods based on single connection multi-request |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4829896B2 (en) | Method, system and article for improved network performance by avoiding data corruption | |
US7746781B1 (en) | Method and apparatus for preserving data in a system implementing Diffserv and IPsec protocol | |
JP4583691B2 (en) | Method and apparatus for reducing packet delay using scheduling and header compression | |
Balakrishnan et al. | TCP performance implications of network path asymmetry | |
Kumar et al. | Beyond best effort: Router architectures for the differentiated services of tomorrow's internet | |
US9876612B1 (en) | Data bandwidth overhead reduction in a protocol based communication over a wide area network (WAN) | |
US7219228B2 (en) | Method and apparatus for defending against SYN packet bandwidth attacks on TCP servers | |
US6185185B1 (en) | Methods, systems and computer program products for suppressing multiple destination traffic in a computer network | |
US7742454B2 (en) | Network performance by dynamically setting a reassembly timer based on network interface | |
US6845105B1 (en) | Method and apparatus for maintaining sequence numbering in header compressed packets | |
Hasegawa et al. | Survey on fairness issues in TCP congestion control mechanisms | |
US20100008245A1 (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 | |
EP1576775A2 (en) | Protecting real-time data in wireless networks | |
CA2368513C (en) | Performance enhancing proxy and method for enhancing performance | |
US7359326B1 (en) | Method for splitting data and acknowledgements in a TCP session | |
Lane et al. | Best-effort network layer packet reordering in support of multipath overlay packet dispersion | |
KR20060056810A (en) | Apparatus and method for using separation tcp buffer performance degradation protection tcp flow | |
Balakrishnan et al. | RFC3449: TCP Performance Implications of Network Path Asymmetry | |
CN102571596A (en) | Data transmission method and device | |
Fu et al. | Using parasite flows to camouflage flow traffic | |
Camarillo et al. | Signalling transport protocols | |
Wu et al. | Ack filtering on bandwidth asymmetry networks | |
Shihab | The Mechanism of Congestion between the Server and Clients in a Local Area Network Solutions | |
Mulahuwaish et al. | A Congestion Avoidance Approach in Jumbo Frame-enabled IP Network | |
EP1137223A1 (en) | Datagram network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |