[go: up one dir, main page]

KR100818776B1 - JAN Acceleration Method by Improving JAN Accelerator and TC Performance - Google Patents

JAN Acceleration Method by Improving JAN Accelerator and TC Performance Download PDF

Info

Publication number
KR100818776B1
KR100818776B1 KR1020060119570A KR20060119570A KR100818776B1 KR 100818776 B1 KR100818776 B1 KR 100818776B1 KR 1020060119570 A KR1020060119570 A KR 1020060119570A KR 20060119570 A KR20060119570 A KR 20060119570A KR 100818776 B1 KR100818776 B1 KR 100818776B1
Authority
KR
South Korea
Prior art keywords
host
wan
tcp
connection
accelerator
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
KR1020060119570A
Other languages
Korean (ko)
Inventor
조성면
Original Assignee
삼성네트웍스 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성네트웍스 주식회사 filed Critical 삼성네트웍스 주식회사
Priority to KR1020060119570A priority Critical patent/KR100818776B1/en
Application granted granted Critical
Publication of KR100818776B1 publication Critical patent/KR100818776B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2854Wide area networks, e.g. public data networks
    • H04L12/2856Access arrangements, e.g. Internet access
    • H04L12/2869Operational details of access network equipments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/27Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9005Buffering arrangements using dynamic buffer space allocation

Landscapes

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

Abstract

TCP 데이터 송신 버퍼의 크기 자동 조절 기능을 가지는 광역 통신망 가속기 및 가속 방법이 개시된다. 일 실시예에 따르면, 제1 호스트와 제2 호스트를 WAN(Wide Area Network) 구간을 통해 연결시키는 WAN 가속기에 있어서, 송신 IP 패킷을 압축하고 수신 IP 패킷의 압축을 해제하는 압축 및 해제부; 상기 제1 호스트에 연결되어 상기 제1 호스트로부터 상기 송신 IP 패킷을 전송받거나 상기 제1 호스트로 상기 수신 IP 패킷을 전송하는 LAN 연결부; 상기 WAN 구간에 연결되어 상기 제2 호스트로 압축된 상기 송신 IP 패킷을 전송하거나 상기 제2 호스트로부터 상기 수신 IP 패킷을 전송받는 WAN 연결부; 상기 제1 호스트(또는 제2 호스트)로부터의 TCP 연결을 가로채 만들어지는 대리 TCP 연결을 포함한 TCP 연결에 의해 생성되는 TCP 데이터 송신 버퍼 및 TCP 데이터 수신 버퍼; TCP 정체 윈도우(congestion window)의 크기에 상응하여 상기 TCP 데이터 송신 버퍼의 크기를 조절해주는 버퍼 크기 조절부를 포함하는 TCP/IP 스택을 구비한 WAN 가속기가 제공될 수 있다. WAN 가속기의 TCP 데이터 송수신 버퍼의 크기를 동적으로 조절하여 두 호스트 사이의 데이터 전송 속도가 향상된다. 이는 WAN 가속기 자체의 TCP 성능 향상을 통하여 상기 WAN 가속기를 거치는 모든 TCP 연결의 성능 향상을 가져오는 구조를 통해서 얻어지는 결과이다.A wide area network accelerator and method for accelerating the size of a TCP data transmission buffer are disclosed. According to an embodiment, a WAN accelerator for connecting a first host and a second host through a wide area network (WAN) section, the WAN accelerator comprising: a compression and decompressor configured to compress a transmission IP packet and decompress a reception IP packet; A LAN connection unit connected to the first host to receive the transmission IP packet from the first host or to transmit the reception IP packet to the first host; A WAN connection unit connected to the WAN section to transmit the compressed IP packet to the second host or to receive the received IP packet from the second host; A TCP data transmission buffer and a TCP data reception buffer generated by a TCP connection including a surrogate TCP connection made by intercepting a TCP connection from the first host (or second host); A WAN accelerator having a TCP / IP stack including a buffer size controller for adjusting the size of the TCP data transmission buffer in accordance with the size of a TCP congestion window may be provided. The data transfer speed between the two hosts is improved by dynamically adjusting the size of the WAN accelerator TCP data send and receive buffers. This is a result obtained through a structure that improves the performance of all TCP connections through the WAN accelerator by improving the TCP performance of the WAN accelerator itself.

Description

WAN 가속기 및 TCP 성능 향상을 통한 WAN 가속 방법{Apparatus and method of WAN acceleration through improving TCP performance}JAN acceleration method by improving JAN accelerator and TC performance {Apparatus and method of WAN acceleration through improving TCP performance}

도 1은 WAN 가속기를 사용하는 WAN 가속 시스템의 구성도. 1 is a block diagram of a WAN acceleration system using a WAN accelerator.

도 2는 WAN 가속기의 구성 블록도.2 is a configuration block diagram of a WAN accelerator.

도 3은 본 발명의 일 실시예에 따른 WAN 가속기의 블록 구성도.3 is a block diagram of a WAN accelerator according to an embodiment of the present invention.

도 4는 본 발명의 일 실시예에 따른 WAN 가속기를 통해 최적화된 TCP 전송이 이루어지는 상황을 도시한 네트워크 구성도. 4 is a network diagram illustrating a situation in which an optimized TCP transmission is performed through a WAN accelerator according to an embodiment of the present invention.

<도면의 주요부분에 대한 부호의 설명><Description of the symbols for the main parts of the drawings>

10, 20 : 호스트 그룹10, 20: host group

30 : WAN 구간30: WAN section

100, 150 : WAN 가속기100, 150: WAN accelerator

101 : 압축 및 해제부101: compression and decompression

102 : WAN 연결부102: WAN connection

103 : LAN 연결부103: LAN connection

104 : TCP 데이터 송신 버퍼104: TCP data send buffer

105 : TCP 데이터 수신 버퍼105: TCP data receive buffer

106 : TCP 버퍼 크기 조절부106: TCP buffer size controller

본 발명은 광역 통신망에 관한 것으로, 보다 상세하게는 TCP 데이터 송수신 버퍼의 크기 자동 조절 기능을 가지는 광역 통신망 가속기 및 가속 방법에 관한 것이다.The present invention relates to a wide area network, and more particularly, to a wide area network accelerator and an acceleration method having a function of automatically adjusting the size of a TCP data transmission and reception buffer.

근거리 통신망(Local Area Network, 이하 'LAN'이라 칭함)은 범위가 그리 넓지 않은 일정 지역 내에서 다수의 컴퓨터나 OA 기기 등을 속도가 빠른 통신선로로 연결하여 기기 간에 통신이 가능하도록 하는 통신망이다. LAN은 에 사용되는 통신 매체를 사용하여 고속 통신이 가능하고, 통신망 내의 어떤 기기와도 통신할 수 있고, 통신 이 매우 낮으며, 경로 선택이 필요 없고, 방송 형태의 이용이 가능하며, 접속하는 기기들의 값이 싸고 확장이 간편하며, 에 있는 다른 LAN과 접속하기도 쉬워 적은 비용으로 원거리 컴퓨터들과 통신을 할 수 있다는 점이다.A local area network (hereinafter, referred to as a 'LAN') is a communication network that enables communication between devices by connecting a large number of computers or OA devices through a high speed communication line in a region that is not very wide. LAN is a high speed communication system using the communication medium used for communication, and can communicate with any device in the communication network, communication is very low, no route selection is required, and a broadcast type is available. They are cheap, easy to expand, and easy to connect to other LANs in the network, allowing them to communicate with remote computers at low cost.

이에 대응되는 개념으로 광역 통신망(Wide Area Network, 이하 'WAN'이라 칭함)이 있다. WAN은 지역적으로 넓은 영역에 걸쳐 구축하는 다양하고 포괄적인 컴퓨터 통신망이다. 도시와 같은 넓은 지역, 국가나 대륙 같은 광범위한 지역에 걸쳐 구성된다. 금융기관이나 대기업 또는 공공기관 등에서 구축한 통신망은 모두 광역 통신망이라 할 수 있다.A concept corresponding to this is a wide area network (hereinafter, referred to as a WAN). WAN is a diverse and comprehensive computer network that spans a wide geographic area. It spans a wide area such as a city, or a wide area such as a country or continent. All communication networks established by financial institutions, large corporations or public institutions can be called wide area networks.

WAN은 LAN과 LAN을 연결하는 형태를 취하고 있다. LAN과 WAN을 연결함에 있어서, WAN 가속기를 사용한다.WAN is a form of connecting LAN to LAN. In connecting LAN and WAN, WAN accelerator is used.

도 1은 WAN 가속기를 사용하는 WAN 가속 시스템의 구성도이다. 1 is a configuration diagram of a WAN acceleration system using a WAN accelerator.

WAN 가속 시스템(1)은 제1 호스트 그룹(10)과, 제2 호스트 그룹(20)과, WAN 구간(30)과 그리고 제1 WAN 가속기(41) 및 제2 WAN 가속기(42)를 포함한다. 제1 호스트 그룹(10)에 포함되는 호스트들(HL, IL, JL, KL) 중 어느 하나와, 제2 호스트 그룹(20)에 포함되는 호스트들(HR, IR, JR, KR) 중 어느 하나는 TCP 연결을 맺는다. 광범위한 지역에 걸쳐 있는 두 호스트 간의 TCP 연결을 위해서는 WAN 구간(30)을 이용하게 된다. The WAN acceleration system 1 includes a first host group 10, a second host group 20, a WAN section 30, and a first WAN accelerator 41 and a second WAN accelerator 42. . Any one of the hosts H L , I L , J L , K L included in the first host group 10, and the hosts H R , I R , J included in the second host group 20. R , K R ) establishes a TCP connection. WAN interval 30 is used for a TCP connection between two hosts over a wide area.

WAN 구간(30)은 LAN 구간에 비해 상대적으로 낮은 대역폭, 긴 왕복 소요 시간(Round Trip Time) 등으로 데이터 전송에 있어서 병목지점이 된다. 따라서, 이러한 문제점을 개선하고자 WAN 가속기(41,42)를 이용한다.The WAN section 30 is a bottleneck in data transmission due to a relatively low bandwidth and a long round trip time compared to the LAN section. Therefore, WAN accelerators 41 and 42 are used to remedy this problem.

WAN 구간(30)을 이용하기 위해 두 호스트 그룹(10, 20)과 WAN 구간(30)의 접속 지점에 제1 및 제2 WAN 가속기(41, 42)를 배치한다. 각 호스트 그룹(10, 20)에 속한 호스트(예를 들어, HL과 HR)가 서로 통신을 할 때 제1 및 제2 WAN 가속기(41, 42)를 거치게 된다. 여기서 상기 제1 및 제2 WAN 가속기(41, 42)는 두 호스트 그룹(10, 20) 간의 TCP 연결을 상기 WAN 가속기(41, 42) 간의 TCP 연결로 변환한다.In order to use the WAN section 30, the first and second WAN accelerators 41 and 42 are disposed at access points of the two host groups 10 and 20 and the WAN section 30. When the hosts (eg, H L and H R ) in each host group 10 and 20 communicate with each other, they pass through the first and second WAN accelerators 41 and 42. Here, the first and second WAN accelerators 41 and 42 convert a TCP connection between two host groups 10 and 20 into a TCP connection between the WAN accelerators 41 and 42.

도 2는 WAN 가속기(40)의 구성 블록도이다. WAN 가속기(40)는 WAN 구간(30) 으로 구성된 분산 환경에서 LAN과 같은 응답 시간을 보장하고 WAN에서 요구되는 회선 대역폭을 줄여 비용 절감을 하도록 한다. WAN 가속기(40)는 데이터 압축 기술을 기반으로 구현되어, 두 호스트 사이에 주고 받는 IP 패킷을 중간에서 압축하여 전달함으로써 전송 효율을 높여 전송에 소요되는 전체 시간을 줄인다. 2 is a block diagram of the WAN accelerator 40. The WAN accelerator 40 guarantees a response time such as a LAN in a distributed environment composed of a WAN section 30 and reduces cost by reducing line bandwidth required in the WAN. WAN accelerator 40 is implemented based on the data compression technology, by compressing and forwarding the IP packets sent and received between the two hosts in the middle to increase the transmission efficiency to reduce the overall time required for transmission.

WAN 가속기(40)는 IP 패킷 압축 및 해제부(45), WAN 연결부(46), LAN 연결부(47), TCP 데이터 송신 버퍼(48), TCP 데이터 수신 버퍼(49)를 포함한다. IP 압축 및 해제부(45)는 WAN 구간(30)을 통해 전송되는 IP 패킷을 압축(compression)하고, 전송받은 IP 패킷의 압축을 해제한다. WAN 구간(30)의 네트워크 대역폭을 확장해 사용하기 위해 IP 패킷 압축 및 해제부(45)를 이용한 압축 전송을 이용한다. WAN 연결부(46)는 타 호스트 그룹에 연결된 타 WAN 가속기와의 통신이 가능하도록 WAN 구간(30)에 연결되고, 압축된 IP 패킷을 타 WAN 가속기에 전송하거나 타 WAN 가속기로부터 전송받는다. LAN 연결부(47)는 WAN 구간(30)을 통해 타 호스트와 TCP 연결을 원하는 호스트에 연결된다. 해당 호스트로부터 타 호스트로 보내고자 하는 데이터를 전송받거나 타 호스트로부터 전송받은 데이터를 해당 호스트에 전송한다. TCP 데이터 송신 버퍼(48) 및 데이터 수신 버퍼(49)는 응용 프로그램과 TCP/IP 스택 사이의 데이터 저장 공간으로, TCP를 통해 송수신할 데이터를 임시 저장한다. 응용 프로그램이 네트워크를 통해 데이터를 전송할 때에 TCP 데이터 송신 버퍼(48)에 데이터를 저장하면 TCP/IP 스택이 이를 네트워크를 통해 전송한다. TCP/IP 스택이 네트워크를 통해 전달된 데이터를 일단 TCP 데이터 수신 버퍼(49)에 저장하고, 이 데이터를 응용 프로그램이 읽어들이게 된다. The WAN accelerator 40 includes an IP packet compression and decompression unit 45, a WAN connection unit 46, a LAN connection unit 47, a TCP data transmission buffer 48, and a TCP data reception buffer 49. The IP compression and decompression unit 45 compresses the IP packet transmitted through the WAN section 30 and decompresses the received IP packet. In order to expand and use the network bandwidth of the WAN section 30, compression transmission using the IP packet compression and decompression unit 45 is used. The WAN connection unit 46 is connected to the WAN section 30 to enable communication with other WAN accelerators connected to other host groups, and transmits compressed IP packets to or from other WAN accelerators. The LAN connection unit 47 is connected to the host through which the WAN connection 30 wants to establish a TCP connection with another host. Receives data to be sent from the host to another host or transmits data received from another host to the host. The TCP data transmission buffer 48 and the data reception buffer 49 are data storage spaces between the application program and the TCP / IP stack, and temporarily store data to be transmitted and received via TCP. When an application sends data over the network, it stores the data in the TCP data transmission buffer 48 and the TCP / IP stack transmits it over the network. The TCP / IP stack stores the data passed through the network once in the TCP data receive buffer 49, which is then read by the application.

통상의 TCP/IP 스택의 경우 데이터 송수신 버퍼(48, 49)의 크기가 고정되어 있다. TCP/IP 스택은 새로운 TCP 연결이 생길 때마다 이 TCP 연결과 관련된 고정된 크기의 데이터 송수신 버퍼(48, 49)를 새롭게 할당하며 상기 TCP 연결이 종료되면 데이터 송수신 버퍼(48, 49)를 소멸시킨다. 이 경우 데이터 전송 속도는 데이터 송수신 버퍼의 크기에 제한되는 문제점이 있다. WAN 구간(30)의 대역폭이 커지거나 대기 시간이 길어질수록(high speed, high latency) 이런 현상이 두드러진다. 네트워크 상에서 전송중인 데이터 량이 많아질수록 데이터 송수신 버퍼의 크기에 의해 전체 전송 속도가 좌우되는 문제점이 있다.In a typical TCP / IP stack, the size of the data transmission / reception buffers 48 and 49 is fixed. The TCP / IP stack allocates a new fixed size data transmit / receive buffer (48, 49) associated with this TCP connection each time a new TCP connection is made and destroys the data transmit / receive buffer (48, 49) when the TCP connection is terminated. . In this case, the data transmission speed is limited to the size of the data transmission and reception buffer. This phenomenon becomes more pronounced as the bandwidth of the WAN section 30 increases or the latency increases (high speed, high latency). As the amount of data being transmitted on the network increases, the overall transmission speed depends on the size of the data transmission / reception buffer.

또한, 종래 WAN 가속기의 경우 통상적으로 IP(L3) 단에서 IP 패킷 압축/해제를 통한 WAN 가속 기능을 이용하므로, WAN 가속기 자체의 TCP(L4) 성능과 WAN 가속 기능은 서로 상관 관계가 없었다.In addition, the conventional WAN accelerator typically uses the WAN acceleration function through the IP packet compression / decompression at the IP (L3) stage, so that the TCP (L4) performance of the WAN accelerator itself and the WAN acceleration function have not been correlated with each other.

따라서, 본 발명은 데이터 송수신 버퍼의 크기를 동적으로 조절하여 두 호스트 사이의 데이터 전송 속도가 향상되는 WAN 가속기 및 WAN 가속 방법을 제공한다.Accordingly, the present invention provides a WAN accelerator and a WAN acceleration method in which data transmission speed between two hosts is improved by dynamically adjusting the size of a data transmission / reception buffer.

또한, 본 발명은 효율적인 메모리 사용과 더불어 최적화된 데이터 전송을 유지할 수 있는 WAN 가속기 및 WAN 가속 방법을 제공한다.In addition, the present invention provides a WAN accelerator and a WAN acceleration method that can maintain optimized data transfer with efficient memory usage.

또한, 본 발명은 WAN 가속기의 TCP 성능 향상을 통해 임의의 호스트 간의 TCP 전송에도 성능 향상이 이루어질 수 있는 방법을 제공한다.In addition, the present invention provides a method for improving the performance of TCP transmission between any host through the TCP performance of the WAN accelerator.

본 발명의 이외의 목적들은 하기의 설명을 통해 쉽게 이해될 수 있을 것이 다.Other objects of the present invention will be easily understood through the following description.

본 발명의 일 측면에 따르면, 제1 호스트와 제2 호스트를 WAN(Wide Area Network) 구간을 통해 연결시키는 WAN 가속기에 있어서, 송신 IP 패킷를 압축하고 수신 IP 패킷의 압축을 해제하는 압축 및 해제부; 상기 제1 호스트에 연결되어 상기 제1 호스트로부터 상기 송신 IP 패킷을 전송받거나 상기 제1 호스트로 상기 수신 IP 패킷을 전송하는 LAN 연결부; 상기 WAN 구간에 연결되어 상기 제2 호스트로 압축된 상기 송신 IP 패킷을 전송하거나 상기 제2 호스트로부터 상기 수신 IP 패킷을 전송받는 WAN 연결부; 상기 제1 호스트(또는 제2 호스트)로부터의 TCP 연결을 가로채 만들어지는 대리 TCP 연결을 포함한 TCP 연결에 의해 생성되는 TCP 데이터 송신 버퍼 및 TCP 데이터 수신 버퍼; TCP 정체 윈도우(congestion window)의 크기에 상응하여 상기 TCP 데이터 송신 버퍼의 크기를 조절해주는 버퍼 크기 조절부를 포함하는 TCP/IP 스택을 구비한 WAN 가속기가 제공될 수 있다. According to an aspect of the present invention, a WAN accelerator for connecting a first host and a second host through a wide area network (WAN) section, the WAN accelerator comprising: a compression and decompressor for compressing a transmission IP packet and decompressing a reception IP packet; A LAN connection unit connected to the first host to receive the transmission IP packet from the first host or to transmit the reception IP packet to the first host; A WAN connection unit connected to the WAN section to transmit the compressed IP packet to the second host or to receive the received IP packet from the second host; A TCP data transmission buffer and a TCP data reception buffer generated by a TCP connection including a surrogate TCP connection made by intercepting a TCP connection from the first host (or second host); A WAN accelerator having a TCP / IP stack including a buffer size controller for adjusting the size of the TCP data transmission buffer in accordance with the size of a TCP congestion window may be provided.

여기서, 상기 TCP 정체 윈도우는 상기 제2 호스트로부터의 응답 패킷을 받지 못한 상태에서 상기 WAN 연결부가 상기 제2 호스트로 전송가능한 상기 송신 데이터의 최대량일 수 있다. 그리고 상기 TCP 정체 윈도우는 상기 제2 호스트로부터 새로운 응답 패킷을 받는 경우 크기가 늘어나고, 상기 WAN 구간 상에서 패킷 소실이 감지되는 경우 크기가 줄어든다.Here, the TCP congestion window may be the maximum amount of the transmission data that the WAN connection can transmit to the second host in a state in which the response packet from the second host is not received. The TCP congestion window increases in size when a new response packet is received from the second host, and decreases in size when packet loss is detected on the WAN interval.

본 발명의 다른 측면에 따르면, WAN 구간을 통해 TCP 연결을 통해 데이터를 송수신하고자 하는 제1 호스트 및 제2 호스트; 상기 제1 호스트와 상기 WAN 구간 간의 TCP/IP 네트워크 라우팅 경로 상에 연결되는 제1 WAN 가속기; 및 상기 제2 호스트와 상기 WAN 구간 간의 TCP/IP 네트워크 라우팅 경로 상에 연결되는 제2 WAN 가속기를 포함하는 WAN 가속 시스템이 제공될 수 있다. According to another aspect of the invention, the first host and the second host to transmit and receive data over a TCP connection over a WAN interval; A first WAN accelerator connected on a TCP / IP network routing path between the first host and the WAN interval; And a second WAN accelerator connected on a TCP / IP network routing path between the second host and the WAN interval.

여기서, 상기 제1 WAN 가속기 및 상기 제2 WAN 가속기는 상기 제1 호스트 및 상기 제2 호스트 간의 TCP 연결을 가로채 상기 제1 WAN 가속기 및 상기 제2 WAN 가속기 간의 TCP 연결로 변환할 수 있다. The first WAN accelerator and the second WAN accelerator may intercept a TCP connection between the first host and the second host and convert the TCP connection between the first WAN accelerator and the second WAN accelerator.

그리고 상기 제1 WAN 가속기 및 상기 제2 WAN 가속기 중 적어도 하나는 데이터 송신 버퍼의 크기의 조절이 가능한 TCP/IP 스택을 구비할 수 있다. 여기서, 상기 데이터 송신 버퍼의 크기는 TCP 정체 윈도우의 크기에 비례하여 동적으로 조절될 수 있다.At least one of the first WAN accelerator and the second WAN accelerator may include a TCP / IP stack capable of adjusting the size of a data transmission buffer. Herein, the size of the data transmission buffer may be dynamically adjusted in proportion to the size of the TCP congestion window.

본 발명의 또 다른 측면에 따르면, (a) 제1 호스트를 제1 네트워크 경로를 통해 제1 WAN 가속기에 연결하는 단계; (b) 상기 제1 WAN 가속기를 WAN 구간을 통해 제2 WAN 가속기에 연결하는 단계; 및 (c) 상기 제2 WAN 가속기를 제2 네트워크 경로를 통해 제2 호스트에 연결하는 단계를 포함하되, 상기 제1 WAN 가속기 및 상기 제2 WAN 가속기는 상기 제1 호스트 및 상기 제2 호스트 간의 TCP 연결을 가로채 상기 제1 WAN 가속기 및 상기 제2 WAN 가속기 간의 TCP 연결로 변환하는 것을 특징으로 하는 WAN 가속 방법이 제공될 수 있다.According to another aspect of the invention, (a) connecting the first host to the first WAN accelerator through the first network path; (b) connecting the first WAN accelerator to a second WAN accelerator through a WAN interval; And (c) coupling the second WAN accelerator to a second host via a second network path, wherein the first WAN accelerator and the second WAN accelerator are TCP between the first host and the second host. A WAN acceleration method may be provided which intercepts a connection and converts it into a TCP connection between the first WAN accelerator and the second WAN accelerator.

여기서, 상기 제1 네트워크 경로 및 상기 제2 네트워크 경로는 TCP/IP 네트워크 라우팅 경로일 수 있다.Here, the first network path and the second network path may be a TCP / IP network routing path.

또한, 상기 단계 (a)는 상기 제1 호스트로부터 시작되는 상기 제2 호스트로의 TCP 연결을 상기 제1 WAN 가속기가 가로챌 수 있다. 그리고 상기 단계 (b)는, 상기 제1 WAN 가속기가 상기 제2 호스트로 제1 대리 연결을 맺는 단계; 및 상기 제2 WAN 가속기가 상기 제1 대리 연결을 가로채는 단계를 포함할 수 있다. 또한, 상기 단계 (c)는 상기 제2 WAN 가속기가 상기 제2 호스트로 제2 대리 연결을 맺을 수 있다. Also, the step (a) may allow the first WAN accelerator to intercept a TCP connection from the first host to the second host. And (b) the first WAN accelerator making a first surrogate connection to the second host; And the second WAN accelerator intercepting the first surrogate connection. In addition, step (c) may allow the second WAN accelerator to establish a second surrogate connection to the second host.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.As the invention allows for various changes and numerous embodiments, particular embodiments will be illustrated in the drawings and described in detail in the written description. However, this is not intended to limit the present invention to specific embodiments, it should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention. In the following description of the present invention, if it is determined that the detailed description of the related known technology may obscure the gist of the present invention, the detailed description thereof will be omitted.

제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중 의 어느 항목을 포함한다. Terms such as first and second may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component. The term and / or includes a combination of a plurality of related items or any of a plurality of related items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. When a component is referred to as being "connected" or "connected" to another component, it may be directly connected to or connected to that other component, but it may be understood that other components may be present in between. Should be. On the other hand, when a component is said to be "directly connected" or "directly connected" to another component, it should be understood that there is no other component in between.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, the terms "comprise" or "have" are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, and one or more other features. It is to be understood that the present invention does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, components, or a combination thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in the commonly used dictionaries should be construed as having meanings consistent with the meanings in the context of the related art, and shall not be construed in ideal or excessively formal meanings unless expressly defined in this application. Do not.

이하, 본 발명의 실시예를 첨부한 도면들을 참조하여 상세히 설명하기로 한다. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

WAN 가속기는 도 1에 도시된 것과 같이 두 호스트 그룹(10, 20)과, WAN 구간(30)의 접속 지점에 배치된다. 제1 호스트 그룹(10)과 제2 호스트 그룹(20) 내에서 현재 WAN 구간(30)을 통해 TCP 연결이 형성된 각 호스트를 본 발명의 이해와 설명의 편의를 위해 제1 호스트 및 제2 호스트라 칭한다. The WAN accelerator is disposed at the access point of the two host groups 10 and 20 and the WAN section 30 as shown in FIG. In the first host group 10 and the second host group 20, each host in which a TCP connection is formed through the current WAN section 30 is referred to as a first host and a second host for the convenience of understanding and explanation of the present invention. It is called.

WAN 가속기는 제1 호스트 그룹(10)과 WAN 구간(30) 사이, 제2 호스트 그룹(20)과 WAN 구간(30) 사이에 각각 하나씩 배치된다. 즉, WAN 가속 시스템(1)은 2개의 WAN 가속기를 포함한다. One WAN accelerator is disposed between the first host group 10 and the WAN section 30 and one between the second host group 20 and the WAN section 30. In other words, the WAN acceleration system 1 includes two WAN accelerators.

도 3은 본 발명의 일 실시예에 따른 WAN 가속기의 블록 구성도이다. 여기서, 본 발명의 이해와 설명의 편의를 위해 제1 호스트 그룹(10)과 WAN 구간(30) 사이에 연결된 WAN 가속기를 중심으로 설명한다. 3 is a block diagram of a WAN accelerator according to an embodiment of the present invention. Here, for the convenience of understanding and explanation of the present invention, a description will be given of a WAN accelerator connected between the first host group 10 and the WAN section 30.

본 발명의 일 실시예에 따른 WAN 가속기(100)는 IP 패킷 압축 및 해제부(101), WAN 연결부(102), LAN 연결부(103), TCP 데이터 송신 버퍼(104), TCP 데이터 수신 버퍼(105), 버퍼 크기 조절부(106)를 포함한다. WAN accelerator 100 according to an embodiment of the present invention is IP packet compression and decompression unit 101, WAN connection unit 102, LAN connection unit 103, TCP data transmission buffer 104, TCP data reception buffer 105 ), A buffer size adjusting unit 106.

WAN 가속기(100)는 제1 호스트와 제2 호스트 사이의 WAN 구간(30)을 통한 TCP 연결을 가로챈다. IP 패킷 압축 및 해제부(101)는 WAN 구간(30)을 통해 전송하고자 하는 송신 IP 패킷을 압축하고, 전송받은 수신 IP 패킷의 압축을 해제한다. 송신 IP 패킷은 제1 호스트가 제2 호스트에게 TCP 연결을 통해 송신하고자 하는 데 이터이며, 수신 IP 패킷은 제2 호스트가 제1 호스트에게 TCP 연결을 통해 송신하고자 하는 데이터이다. The WAN accelerator 100 intercepts the TCP connection over the WAN section 30 between the first host and the second host. The IP packet compression and decompression unit 101 compresses a transmission IP packet to be transmitted through the WAN section 30, and decompresses the received reception IP packet. The send IP packet is data that the first host wants to send to the second host through the TCP connection, and the receive IP packet is data that the second host wants to send to the first host through the TCP connection.

LAN 연결부(103)는 제1 호스트에 연결되어 있다. 제1 호스트로부터 송신 IP 패킷을 전송받고, 제1 호스트로 수신 IP 패킷을 전송한다. 여기서, 송신 IP 패킷과 수신 IP 패킷은 데이터 압축 기술에 의해 압축되지 않은 원본 패킷이다. The LAN connector 103 is connected to the first host. The transmission IP packet is received from the first host, and the reception IP packet is transmitted to the first host. Here, the transmitting IP packet and the receiving IP packet are original packets which are not compressed by the data compression technique.

WAN 연결부(102)는 WAN 구간(30)에 연결되어 있다. WAN 구간(30)을 통해 제2 호스트에 연결된 타 WAN 가속기와 TCP 연결을 형성한다. WAN 연결부(102)는 제2 호스트로 IP 패킷 압축 및 해제부(101)에서 압축한 송신 IP 패킷을 전송한다. 그리고 제2 호스트로부터 압축된 수신 IP 패킷을 전송받아 IP 패킷 압축 및 해제부(101)로 전달한다.The WAN connection unit 102 is connected to the WAN section 30. A TCP connection is formed with another WAN accelerator connected to the second host through the WAN section 30. The WAN connection unit 102 transmits the transmission IP packet compressed by the IP packet compression and decompression unit 101 to the second host. The received IP packet is received from the second host and transmitted to the IP packet compression and decompression unit 101.

TCP 데이터 송신 버퍼(104)는 WAN 구간(30)을 통해 제2 호스트로 전송할 데이터, 즉 제1 호스트로부터의 TCP 연결을 가로채 만들어지는 대리 TCP 연결을 포함한 WAN 가속기의 TCP 연결에서 사용하는 송신 버퍼이다. TCP 데이터 수신 버퍼(105)는 제2 호스트로부터의 TCP 연결을 가로채 만들어지는 대리 TCP 연결을 포함한 WAN 가속기의 TCP 연결에서 사용하는 수신 버퍼이다.The TCP data transmission buffer 104 is a transmission buffer used by the TCP connection of the WAN accelerator including data to be transmitted to the second host through the WAN interval 30, that is, a surrogate TCP connection made by intercepting a TCP connection from the first host. to be. The TCP data receive buffer 105 is a receive buffer for use in a TCP connection of a WAN accelerator including a surrogate TCP connection made by intercepting a TCP connection from a second host.

TCP 데이터 송신 버퍼(104) 또는 TCP 데이터 수신 버퍼(105)는 응용 프로그램과 TCP/IP 스택(여기서, TCP/IP 스택은 운영체제에서 TCP/IP 네트워킹을 담당하는 부분이다) 사이의 데이터 저장 공간으로, TCP를 통해 송수신할 데이터를 임시 저장한다. TCP data send buffer 104 or TCP data receive buffer 105 is a data storage space between an application and a TCP / IP stack, where the TCP / IP stack is responsible for TCP / IP networking in the operating system. Temporarily stores data to be sent and received via TCP.

버퍼 크기 조절부(106)는 TCP 데이터 송신 버퍼(104)의 크기를 조절하는 TCP/IP 스택을 구비한다. TCP 정체 윈도우(congestion window)의 크기에 상응하여 상기 TCP 데이터 송신 버퍼(104)의 크기를 조절한다. 제1 호스트와 제2 호스트가 TCP 연결을 맺은 경우 제1 호스트는 보낸 패킷에 대해서 제2 호스트로부터 응답(ACK) 패킷을 전송받는다. TCP 정체 윈도우는 제2 호스트로부터 응답 패킷을 받지 않은 상태에서 제1 호스트가 제2 호스트로 전송할 수 있는 패킷의 최대 수, 즉 송신 데이터의 최대량을 의미한다. The buffer size adjusting unit 106 includes a TCP / IP stack for adjusting the size of the TCP data transmission buffer 104. The size of the TCP data transmission buffer 104 is adjusted according to the size of the TCP congestion window. When the first host and the second host establish a TCP connection, the first host receives an ACK packet from the second host with respect to the packet sent. The TCP congestion window refers to the maximum number of packets that the first host can transmit to the second host without receiving a response packet from the second host, that is, the maximum amount of transmission data.

TCP 연결에서 제1 호스트(송신 호스트)는 제2 호스트(수신 호스트)로부터 응답 패킷을 받지 못한 상황에서는 TCP 정체 윈도우만큼의 패킷을 보낸 경우 반드시 제2 호스트로부터의 응답 패킷을 기다려야 한다. 제2 호스트로부터 새로운 응답 패킷을 수신할 때마다 TCP 정체 윈도우의 크기는 늘어나게 된다. 만약 네트워크(WAN 구간(30)) 상에서 패킷 소실(제1 호스트가 제2 호스트로 전송한 패킷에 대한 응답 패킷을 받지 못한 경우)이 감지되면, TCP 정체 윈도우의 크기는 줄어들게 되며, 이후 새로운 응답 패킷을 받게 되면 TCP 정체 윈도우의 크기는 늘어나게 된다. In a TCP connection, when the first host (sending host) does not receive a response packet from the second host (receiving host), if a packet is sent as many as the TCP congestion window, it must wait for a response packet from the second host. Each time a new response packet is received from the second host, the TCP congestion window increases in size. If packet loss is detected on the network (WAN interval 30) (when the first host does not receive a response packet for a packet transmitted to the second host), the TCP congestion window is reduced in size, and then a new response packet is detected. The size of the TCP congestion window increases when it is received.

TCP 연결을 통한 데이터 전송 중에 WAN 가속기(100)가 수신 상태에 있는 경우에는 수동적으로 데이터를 받아들이게 되므로, 패킷 소실을 감지할 수 없다. 따라서, TCP 정체 윈도우의 크기를 결정할 수 없으므로, TCP 데이터 수신 버퍼(105)의 크기는 사용자의 설정 또는 임의로 적정하게 결정된다. When the WAN accelerator 100 is in a receiving state during data transmission through a TCP connection, the data is passively received and thus packet loss cannot be detected. Therefore, since the size of the TCP congestion window cannot be determined, the size of the TCP data reception buffer 105 is appropriately determined by the user's setting or arbitrarily.

하지만, 데이터 송신 버퍼(104)는 TCP 정체 윈도우의 크기에 따라 동적으로 크기 조절이 가능하다. 즉, TCP 연결을 통한 데이터 전송 중에 TCP 정체 윈도우의 크기에 비례하여 데이터 송신 버퍼(104)의 크기를 조절함으로써 TCP 전송이 최적 상태를 유지하도록 하는 것이 가능하다.However, the data transmission buffer 104 can be dynamically sized according to the size of the TCP congestion window. That is, it is possible to keep the TCP transmission in an optimal state by adjusting the size of the data transmission buffer 104 in proportion to the size of the TCP congestion window during data transmission over the TCP connection.

본 발명의 일 실시 예에 따른 WAN 가속기(100)는 IP(L3)단에서 동작하는 통상의 WAN 가속기와는 달리 다수의 호스트에서 시작되는 여러 TCP(L4) 연결을 가로채 각 TCP 연결에 대응하는 대리 TCP 연결을 맺는 방식이므로 보통 많은 수의 동시 TCP 연결을 맺게 된다. 따라서 많은 수의 TCP 데이터 버퍼를 동적으로 생성하게 되므로 효율적인 메모리 사용이 매우 중요하다. 본 발명에 의한 WAN 가속기(100)는 TCP 연결의 실시간 정체 상황을 반영하여 버퍼 크기를 조절함으로써 메모리를 효율적으로 사용할 수 있으며, 전송 속도의 향상도 가져올 수 있다.WAN accelerator 100 according to an embodiment of the present invention intercepts each TCP connection by intercepting several TCP (L4) connections originating from a plurality of hosts, unlike a typical WAN accelerator operating at an IP (L3) stage. Since it makes a surrogate TCP connection, it usually makes a large number of concurrent TCP connections. Therefore, efficient memory usage is very important because a large number of TCP data buffers are generated dynamically. WAN accelerator 100 according to the present invention can effectively use the memory by adjusting the buffer size to reflect the real-time congestion of the TCP connection, it can also improve the transmission speed.

본 발명에 따르면, WAN 가속기의 TCP 성능 향상을 통해 임의의 호스트 간의 TCP 전송에도 성능 향상을 가져오고자 한다. WAN 가속기는 TCP 연결을 맺는 두 호스트(제1 호스트 및 제2 호스트)의 라우팅 경로(제1 호스트 및 제2 호스트 간에 IP 패킷이 전달되는 경로) 중간에서 TCP 연결을 가로채 WAN 가속기 간의 TCP 연결로 변환한다.According to the present invention, through the TCP performance improvement of the WAN accelerator to improve the performance of TCP transmission between any host. The WAN accelerator intercepts the TCP connection in the middle of the routing path (the path through which IP packets are passed between the first host and the second host) of the two hosts that make a TCP connection (the first host and the second host). Convert.

TCP 연결을 맺는 두 그룹의 호스트(제1 호스트와 제2 호스트)와 WAN 구간(30)의 접속 지점에 WAN 가속기를 배치한다. 이 상태에서 두 그룹에 각기 속한 호스트(예를 들어 HL과 HR)가 서로 통신을 할 때는 2개의 WAN 가속기를 거치게 된다. 두 그룹 간의 TCP 연결을 WAN 가속기 간의 TCP 연결로 변환한다. 상술한 TCP 데이터 송수신 버퍼의 크기 자동 조절 기능을 구비한 WAN 가속기를 거쳐 TCP 연결을 맺는 구조를 가짐으로써 임의의 호스트 간에도 TCP 데이터 송수신 버퍼의 크기 자동 조절 기능을 이용하는 것과 같은 효과를 볼 수 있다. 또한, WAN 가속기에 고성능 TCP 네트워킹 옵션(RFC 1323, RFC 2018)을 사용한다면 이의 효과도 추가적으로 볼 수 있다. 즉, WAN 가속기 자체의 TCP 성능 향상이 결과적으로 WAN 가속기를 통한 모든 TCP 연결의 성능 향상을 가져오는 구조가 된다.The WAN accelerator is disposed at the connection point of the two groups of hosts (first host and second host) that establish a TCP connection and the WAN section 30. In this state, when two hosts (eg H L and H R ) in each group communicate with each other, they go through two WAN accelerators. Convert TCP connections between two groups into TCP connections between WAN accelerators. By having a structure of establishing a TCP connection through a WAN accelerator having a function of automatically adjusting the size of the TCP data transmission / reception buffer described above, an effect of using the automatic size adjustment of the TCP data transmission / reception buffer between any host can be obtained. In addition, the high-performance TCP networking options (RFC 1323, RFC 2018) for WAN accelerators can further benefit. In other words, the TCP performance improvement of the WAN accelerator itself results in a structure that improves the performance of all TCP connections through the WAN accelerator.

도 4는 본 발명의 일 실시예에 따른 WAN 가속기를 통해 최적화된 TCP 전송이 이루어지는 상황을 도시한 네트워크 구성도이다. 4 is a diagram illustrating a network configuration in which an optimized TCP transmission is performed through a WAN accelerator according to an embodiment of the present invention.

WAN 가속 시스템은 제1 호스트(11), 제2 호스트(21), 제1 WAN 가속기(100), 제2 WAN 가속기(150), WAN 구간(30)을 포함한다. The WAN acceleration system includes a first host 11, a second host 21, a first WAN accelerator 100, a second WAN accelerator 150, and a WAN section 30.

제1 호스트(11)는 제1 호스트 그룹(10) 중 현재 TCP 연결이 이루어지고 있는 호스트이다. 제2 호스트(21)는 제2 호스트 그룹(20) 중 현재 TCP 연결이 이루어지고 있는 호스트이다.The first host 11 is a host to which a TCP connection is currently made in the first host group 10. The second host 21 is a host to which a TCP connection is currently made in the second host group 20.

제1 WAN 가속기(100)와 제2 WAN 가속기(150)는 TCP 연결을 이루고 있는 제1 호스트(11)와 제2 호스트(21)의 TCP/IP 네트워크 라우팅 경로 상에 위치한다. 이러한 위치 상의 특성을 이용하여 제1 및 제2 WAN 가속기(100, 150)는 제1 호스트(11)와 제2 호스트(21) 간의 TCP 연결을 가로채는 것이 가능하다. 제1 및 제2 WAN 가속기(100, 150)가 TCP 연결을 가로채는 방법은 투명 프록시(transparent proxy)에서 사용하는 방법인 포트 리다이렉션(port redirection) 또는 그에 준하는 효과를 가져오는 방법을 이용한다. 투명 프록시에서 사용하는 방법은 공지 기술인 바, 제1 및 제2 WAN 가속기(100, 150)에서 TCP 연결을 가로채는 방법에 대한 설명은 본 발명의 요지를 명확하게 하기 위해 생략한다. 다만, 본 발명에서 있어서 차이가 있는 특징적인 부분에 대해서만 설명하기로 한다.The first WAN accelerator 100 and the second WAN accelerator 150 are located on a TCP / IP network routing path between the first host 11 and the second host 21 that make a TCP connection. Using this positional characteristic, the first and second WAN accelerators 100 and 150 can intercept the TCP connection between the first host 11 and the second host 21. The first and second WAN accelerators 100 and 150 intercept the TCP connection using port redirection, which is a method used by a transparent proxy, or a method of bringing an equivalent effect. Since the method used in the transparent proxy is a known technology, a description of a method of intercepting a TCP connection in the first and second WAN accelerators 100 and 150 will be omitted to clarify the gist of the present invention. However, only the characteristic parts with differences in the present invention will be described.

본 발명에 따른 WAN 가속기(100, 150)는 TCP 연결을 이루는 두 호스트(11, 21)의 TCP/IP 네트워크 라우팅 경로 상에 위치하며 따라서 이러한 위치적 특성 때문에 상기 호스트들(100, 200)간의 TCP 연결을 가로챌 수 있다. TCP 연결을 가로채는 방법은 통상의 투명 프록시 등에서 통상적으로 이루어지는 방법과 같다.The WAN accelerators 100 and 150 according to the present invention are located on the TCP / IP network routing paths of the two hosts 11 and 21 which make a TCP connection, and therefore, the TCP between the hosts 100 and 200 is due to this location characteristic. Intercept the connection. The method of intercepting a TCP connection is the same as that which is usually performed in a general transparent proxy.

하지만, 한가지 다른 점은 통상의 투명 프록시의 경우 가로챈 TCP 연결에 대응하여 새로이 만들어지는 대리 TCP 연결에 있어서 송신자 주소가 프록시의 주소로 되지만 본 발명에 따른 WAN 가속기(100, 150)의 경우 원래 송신자의 주소가 그대로 유지된다는 점이다.However, one difference is that in the case of the normal transparent proxy, the sender address becomes the proxy address in the newly created surrogate TCP connection corresponding to the intercepted TCP connection. Is kept intact.

제1 호스트(110)로부터 제2 호스트(21)로 데이터가 송신되는 경우를 가정한다. 이 경우 제1 호스트(11) HL에서 제2 호스트(21) HR로 전달되는 데이터는 연결 C2(220) 상에서 송신자 주소가 WL이 아니라 원래 송신자인 HL이 된다. 마찬가지로 연결 C3(230) 상에서도 송신자 주소는 HL이 유지된다. 반대 방향에 대해서도 같은 규칙(즉, 반대 방향으로는 송신자 주소가 HR로 유지)이 성립한다.Assume that data is transmitted from the first host 110 to the second host 21. In this case, the first host 11, data transferred from the H L to a second host (21) H R is not the sender address W L over connection C2 (220) is the original sender of H L. Similarly on sender C3 230 the sender address remains H L. The same rule holds for the opposite direction (i.e. the sender address remains H R in the opposite direction).

즉, 포트 리다이렉션이나 이에 준하는 방법을 통해 제1 호스트(11)에서 제2 호스트(21)로의 연결을 가로챈 후 제1 호스트(11) 대신 제2 호스트(21)로 대리 연결을 맺을 때, 제1 WAN 가속기(100)는 자신의 주소를 가지고 대리 연결을 맺지 않고, 가로챈 연결의 원래 호스트인 제1 호스트(11)의 주소를 가지고 대리 연결을 맺는다. 또한, 동일한 방법에 의해 제2 WAN 가속기(150)는 제2 호스트(21)의 주소를 가지고 대리 연결을 맺는다. That is, when intercepting the connection from the first host 11 to the second host 21 through port redirection or the like, and then making a surrogate connection instead of the first host 11, 1 The WAN accelerator 100 does not make a surrogate connection with its own address, but establishes a surrogate connection with the address of the first host 11 which is the original host of the intercepted connection. In addition, by the same method, the second WAN accelerator 150 establishes a surrogate connection with the address of the second host 21.

통상의 투명 프록시 같은 경우엔 클라이언트와 서버 사이에서 항상 클라이언트에서 서버로 TCP 연결이 이루어진다. 즉. TCP 연결의 방향성이 한쪽으로 고정된다.In the case of a normal transparent proxy, there is always a TCP connection from the client to the server between the client and server. In other words. The directionality of the TCP connection is fixed to one side.

하지만, 본 발명에 의한 WAN 가속기(100, 150)는 모든 TCP 연결에 대해서 대리 연결을 맺으므로, 연결이 이루어지는 방향성에 제한이 없다. 예를 들어, FTP 연결의 경우 기본적으로 커맨드 전송을 위한 TCP 연결과 데이터 전송을 위한 TCP 연결의 방향성이 서로 다르게 된다. 따라서, 서버(제1 호스트 또는 제2 호스트 중 어느 하나)는 클라이언트(제1 호스트 또는 제2 호스트 중 다른 하나)의 주소를 알아야 하며, 이를 위해 원래 클라이언트의 주소를 유지해야 하기 때문이다. 다시 말하면, 서버에서 클라이언트 방향으로 TCP 연결을 맺어야 할 경우(예를 들어, 상술한 FTP의 경우)도 있으므로, 클라이언트의 주소를 서버가 알 수 있도록 해야 한다는 것이다. WAN 가속기(100, 150)를 통해 대리 연결이 맺어질 때, 원래 클라이언트의 주소가 아니라 WAN 가속기(100, 150)의 주소를 통해 연결이 이루어진다면, 서버는 클라이언트의 주소를 제대로 알 방법이 없기 때문이다.However, since the WAN accelerators 100 and 150 according to the present invention form a surrogate connection for all TCP connections, there is no limitation in the direction in which the connection is made. For example, in case of FTP connection, the TCP connection for command transmission and the TCP connection for data transmission are basically different. Therefore, the server (either the first host or the second host) must know the address of the client (the other of the first host or the second host), for this purpose it must maintain the address of the original client. In other words, the server may need to establish a TCP connection to the client (for example, in the case of FTP described above), so that the server knows the client's address. When a surrogate connection is made through the WAN accelerators 100 and 150, if the connection is made through the WAN accelerators 100 and 150 instead of the original client's address, the server has no way of knowing the client's address. to be.

통상의 투명 프록시의 경우 클라이언트와 서버 간의 연결을 중간에서 가로채 프록시가 서버로 대리 연결을 맺는 형식이지만, 이와는 달리 본 발명에 의한 WAN 가속 시스템은 두 호스트(클라이언트와 서버) 사이의 TCP 연결을 두 개의 WAN 가속기(100, 150)가 순차적으로 가로채 TCP 연결 중간에 WAN 가속기(100, 150) 간의 TCP 연결이 만들어지는 특징이 있다.In the case of a general transparent proxy, the connection between the client and the server is intercepted in the middle, and the proxy establishes a proxy connection to the server. However, the WAN acceleration system according to the present invention establishes two TCP connections between two hosts (client and server). The WAN accelerators 100 and 150 are sequentially intercepted so that a TCP connection between the WAN accelerators 100 and 150 is made in the middle of the TCP connection.

도 4를 참조하여 설명하면, 본 발명의 이해와 설명의 편의를 위해 제1 호스트(11)를 웹 브라우저로, 제2 호스트(21)를 웹 서버로 가정한다. Referring to FIG. 4, it is assumed that the first host 11 is a web browser and the second host 21 is a web server for the convenience of understanding and explanation of the present invention.

웹 브라우저(11)가 웹 서버(21)에 접속하여 데이터를 주고 받는 경우, WAN 가속기가 없다면 웹 브라우저(11)가 웹 서버(21)와 연결을 맺으면 두 호스트 간에 직접 연결(200)이 이루어진다. When the web browser 11 accesses and sends data to the web server 21, if there is no WAN accelerator, when the web browser 11 establishes a connection with the web server 21, a direct connection 200 is formed between the two hosts.

하지만, 본 발명에 따른 WAN 가속기(100, 150)가 웹 브라우저(11)와 웹 서버(21) 사이의 라우팅 경로 상에 위치하면 이 연결(200)은 세 개(210, 220, 230)의 연결로 나뉘어진다. 즉, 제1 가속기(100) WL이 초기 연결을 가로채 웹 브라우저(11)와 제1 가속기(100) WL 간의 연결(210)을 만들고, 웹 서버(21)로 대리 연결을 시도한다. 이 대리 연결을 제2 가속기(150) WR이 다시 가로채 결국 WAN 가속기(100, 150) 사이의 연결(220)이 만들어지고, 제2 가속기(150) WR은 웹 서버(21)와의 대리 연결(230)을 맺는다. 세 개의 연결(210, 220, 230) 중 웹 브라우저(11)과 제1 WAN 가속기(100) WL의 연결(210)과, 웹 서버(21)와 제2 WAN 가속기(150) WR의 연결(230)은 LAN 상에서 이루어지는 연결이므로 통상적으로 높은 속도가 보장된다. 실제적으로는 WAN 구간(30)에서 이루어지는 연결(220)이 웹 브라우저(11)과 웹 서버(21)사이의 전송 속도를 좌우하는 병목지점이 된다. 이 연결(220)은 상술한 TCP 데이터 송수신 버퍼의 크기 자동 조절 기능을 구비한 두 WAN 가속기(100, 150) 사이에서 이루어진다. 따라서, 최적화된 데이터 전송이 이루어지게 되고 병목지점의 전송 속 도가 향상되므로 결국 웹 브라우저(11)와 웹 서버(21) 사이의 전송 속도가 향상된다.However, if the WAN accelerator 100, 150 according to the present invention is located on the routing path between the web browser 11 and the web server 21, this connection 200 is connected to three (210, 220, 230) Divided into That is, the first accelerator 100 W L intercepts the initial connection, creates a connection 210 between the web browser 11 and the first accelerator 100 W L , and attempts a surrogate connection to the web server 21. This surrogate connection is intercepted by the second accelerator 150 W R again, resulting in a connection 220 between the WAN accelerators 100 and 150, and the second accelerator 150 W R acting as a proxy with the web server 21. Make a connection 230. The connection between the web browser 11 and the first WAN accelerator 100 W L 210 and the web server 21 and the second WAN accelerator 150 W R among three connections 210, 220, and 230. Since 230 is a connection on a LAN, high speed is typically guaranteed. In practice, the connection 220 made in the WAN section 30 becomes a bottleneck that determines the transmission speed between the web browser 11 and the web server 21. This connection 220 is made between two WAN accelerators 100 and 150 equipped with the function of automatically adjusting the size of the TCP data transmission / reception buffer described above. Therefore, the optimized data transmission is made and the transmission speed of the bottleneck is improved, so that the transmission speed between the web browser 11 and the web server 21 is improved.

상술한 바와 같이, 본 발명에 따른 WAN 가속기 및 WAN 가속 방법은 모든 호스트가 TCP 데이터 송수신 버퍼의 크기 자동 조절 기능을 구비하고 있지 않더라도 마치 이러한 기능을 구비한 것과 같은 전송 속도의 향상을 볼 수 있다. 이는 WAN 가속기 자체의 TCP 성능 향상을 통하여 상기 WAN 가속기를 거치는 모든 TCP 연결의 성능 향상을 가져오는 구조를 통해서 얻어지는 결과이다. 이러한 구조에 통상의 WAN 가속기에서의 IP 패킷 압축 기능을 함께 사용함으로써 시너지 효과에 의해 더 높은 성능 향상을 가져온다. As described above, in the WAN accelerator and the WAN acceleration method according to the present invention, even if all the hosts are not equipped with a function of automatically adjusting the size of the TCP data transmission / reception buffer, it is possible to see an improvement in transmission speed as if such a function is provided. This is a result obtained through a structure that improves the performance of all TCP connections through the WAN accelerator by improving the TCP performance of the WAN accelerator itself. By using the IP packet compression function in the conventional WAN accelerator in this structure, the synergy effect results in higher performance improvement.

또한, TCP 데이터 송수신 버퍼의 크기를 동적으로 조절하여 두 호스트 사이의 데이터 전송 속도가 향상되고, 효율적인 메모리 사용과 더불어 최적화된 데이터 전송을 유지할 수 있다. In addition, by dynamically adjusting the size of the TCP data transmission and reception buffers, the data transmission speed between the two hosts can be improved, and efficient data usage and optimized data transmission can be maintained.

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although the above has been described with reference to a preferred embodiment of the present invention, those skilled in the art to which the present invention pertains without departing from the spirit and scope of the present invention as set forth in the claims below It will be appreciated that modifications and variations can be made.

Claims (12)

제1 호스트와 제2 호스트를 WAN(Wide Area Network) 구간을 통해 연결시키는 WAN 가속기에 있어서, In a WAN accelerator that connects a first host and a second host through a wide area network (WAN) interval, 송신 IP 패킷을 압축하고 수신 IP 패킷의 압축을 해제하는 압축 및 해제부;A compression and decompression unit for compressing a transmission IP packet and decompressing a reception IP packet; 상기 제1 호스트에 연결되어 상기 제1 호스트로부터 상기 송신 IP 패킷을 전송받거나 상기 제1 호스트로 상기 수신 IP 패킷을 전송하는 LAN 연결부;A LAN connection unit connected to the first host to receive the transmission IP packet from the first host or to transmit the reception IP packet to the first host; 상기 WAN 구간에 연결되어 상기 제2 호스트로 압축된 상기 송신 IP 패킷을 전송하거나 상기 제2 호스트로부터 상기 수신 IP 패킷을 전송받는 WAN 연결부;A WAN connection unit connected to the WAN section to transmit the compressed IP packet to the second host or to receive the received IP packet from the second host; 상기 제1 호스트 또는 상기 제2 호스트로부터의 TCP 연결을 가로채 만들어지는 대리 TCP 연결을 포함한 TCP 연결에 의해 생성되는 TCP 데이터 송신 버퍼 및 TCP 데이터 수신 버퍼; A TCP data transmission buffer and a TCP data reception buffer generated by a TCP connection including a surrogate TCP connection made by intercepting a TCP connection from the first host or the second host; TCP 정체 윈도우(congestion window)의 크기에 상응하여 상기 TCP 데이터 송수신 버퍼의 크기를 조절해주는 버퍼 크기 조절부를 포함하는 TCP/IP 스택을 구비한 WAN 가속기. And a TCP / IP stack including a buffer size controller for adjusting the size of the TCP data transmission / reception buffer according to the size of a TCP congestion window. 제1항에 있어서, The method of claim 1, 상기 TCP 정체 윈도우는 상기 제2 호스트로부터의 응답 패킷을 받지 못한 상태에서 상기 WAN 연결부가 상기 제2 호스트로 전송가능한 상기 송신 IP 패킷의 양 인 것을 특징으로 하는 WAN 가속기.And wherein said TCP congestion window is the amount of said outgoing IP packets that said WAN connection can transmit to said second host without receiving a response packet from said second host. 제2항에 있어서,The method of claim 2, 상기 TCP 정체 윈도우는 상기 제2 호스트로부터 새로운 응답 패킷을 받는 경우 크기가 늘어나고, 상기 WAN 구간 상에서 패킷 소실이 감지되는 경우 크기가 줄어드는 것을 특징으로 하는 WAN 가속기. The TCP congestion window increases in size when a new response packet is received from the second host, and decreases in size when packet loss is detected on the WAN interval. WAN 구간을 통해 TCP 연결을 통해 데이터를 송수신하고자 하는 제1 호스트 및 제2 호스트;A first host and a second host to transmit / receive data through a TCP connection through a WAN interval; 상기 제1 호스트와 상기 WAN 구간 간의 TCP/IP 네트워크 라우팅 경로 상에 연결되는 제1 WAN 가속기; 및A first WAN accelerator connected on a TCP / IP network routing path between the first host and the WAN interval; And 상기 제2 호스트와 상기 WAN 구간 간의 TCP/IP 네트워크 라우팅 경로 상에 연결되는 제2 WAN 가속기를 포함하며,A second WAN accelerator connected on a TCP / IP network routing path between the second host and the WAN interval; 상기 제1 WAN 가속기 및 상기 제2 WAN 가속기는 상기 제1 호스트 및 상기 제2 호스트 간의 TCP 연결을 가로채 상기 제1 WAN 가속기 및 상기 제2 WAN 가속기 간의 TCP 연결로 변환하는 것을 특징으로 하는 WAN 가속 시스템.And the first WAN accelerator and the second WAN accelerator intercept a TCP connection between the first host and the second host and convert the WAN connection to a TCP connection between the first WAN accelerator and the second WAN accelerator. system. 삭제delete 제4항에 있어서, The method of claim 4, wherein 상기 제1 WAN 가속기 및 상기 제2 WAN 가속기 중 적어도 하나는 TCP 데이터 송신 버퍼의 크기의 조절이 가능한 TCP/IP 스택을 구비하는 것을 특징으로 하는 WAN 가속 시스템. At least one of the first WAN accelerator and the second WAN accelerator has a TCP / IP stack capable of adjusting the size of a TCP data transmission buffer. 제6항에 있어서, The method of claim 6, 상기 데이터 송신 버퍼의 크기는 TCP 정체 윈도우의 크기에 비례하여 동적으로 조절되는 것을 특징으로 하는 WAN 가속 시스템.The size of the data transmission buffer is a WAN acceleration system, characterized in that dynamically adjusted in proportion to the size of the TCP congestion window. (a) 제1 호스트를 제1 네트워크 경로를 통해 제1 WAN 가속기에 연결하는 단계;(a) connecting the first host to the first WAN accelerator via the first network path; (b) 상기 제1 WAN 가속기가 제2 호스트로 제1 대리 연결을 맺는 단계; (b) the first WAN accelerator making a first surrogate connection to a second host; (c) 제2 WAN 가속기가 상기 제1 대리 연결을 가로채는 단계; 및 (c) a second WAN accelerator intercepts the first surrogate connection; And (d) 상기 제2 WAN 가속기를 제2 네트워크 경로를 통해 상기 제2 호스트에 연결하는 단계를 포함하되, (d) connecting the second WAN accelerator to the second host through a second network path, 상기 제1 WAN 가속기 및 상기 제2 WAN 가속기는 상기 제1 호스트 및 상기 제2 호스트 간의 TCP 연결을 가로채 상기 제1 WAN 가속기 및 상기 제2 WAN 가속기 간의 TCP 연결로 변환하고, 상기 제1 대리 연결은 TCP 연결인 것을 특징으로 하는 WAN 가속 방법. The first WAN accelerator and the second WAN accelerator intercept a TCP connection between the first host and the second host and convert it into a TCP connection between the first WAN accelerator and the second WAN accelerator, and the first surrogate connection. WAN acceleration method, characterized in that the TCP connection. 제8항에 있어서, The method of claim 8, 상기 단계 (d)는 상기 제2 WAN 가속기가 상기 제2 호스트로 제2 대리 연결을 맺고, 상기 제2 대리 연결은 TCP 연결인 것을 특징으로 하는 WAN 가속 방법.The step (d) is a WAN acceleration method, characterized in that the second WAN accelerator makes a second surrogate connection to the second host, the second surrogate connection is a TCP connection. 삭제delete 삭제delete 삭제delete
KR1020060119570A 2006-11-30 2006-11-30 JAN Acceleration Method by Improving JAN Accelerator and TC Performance Active KR100818776B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060119570A KR100818776B1 (en) 2006-11-30 2006-11-30 JAN Acceleration Method by Improving JAN Accelerator and TC Performance

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060119570A KR100818776B1 (en) 2006-11-30 2006-11-30 JAN Acceleration Method by Improving JAN Accelerator and TC Performance

Publications (1)

Publication Number Publication Date
KR100818776B1 true KR100818776B1 (en) 2008-04-01

Family

ID=39533560

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060119570A Active KR100818776B1 (en) 2006-11-30 2006-11-30 JAN Acceleration Method by Improving JAN Accelerator and TC Performance

Country Status (1)

Country Link
KR (1) KR100818776B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020048398A (en) * 2000-10-06 2002-06-22 레드라인 네트웍스, 인코포레이티드 Network data transfer acceleration system and method
US20040146053A1 (en) 2003-01-29 2004-07-29 Itworx Egypt Architecture for efficient utilization and optimum performance of a network
US20050025150A1 (en) 2003-08-01 2005-02-03 Itworx Egypt Accelerating network performance by striping and parallelization of TCP connections
KR20060116876A (en) * 2005-05-11 2006-11-15 부산대학교 산학협력단 TC / IP Accelerator

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020048398A (en) * 2000-10-06 2002-06-22 레드라인 네트웍스, 인코포레이티드 Network data transfer acceleration system and method
US20040146053A1 (en) 2003-01-29 2004-07-29 Itworx Egypt Architecture for efficient utilization and optimum performance of a network
US20050025150A1 (en) 2003-08-01 2005-02-03 Itworx Egypt Accelerating network performance by striping and parallelization of TCP connections
KR20060116876A (en) * 2005-05-11 2006-11-15 부산대학교 산학협력단 TC / IP Accelerator

Similar Documents

Publication Publication Date Title
US7640364B2 (en) Port aggregation for network connections that are offloaded to network interface devices
US7286476B2 (en) Accelerating network performance by striping and parallelization of TCP connections
US7126955B2 (en) Architecture for efficient utilization and optimum performance of a network
US8938553B2 (en) Cooperative proxy auto-discovery and connection interception through network address translation
TWI284469B (en) A network system having a plurality of switches capable of improving transmission efficiency and method thereof
KR100255501B1 (en) How to Improve Session and Transport Layer Proxies with Transport Control Protocol Glue
US7948921B1 (en) Automatic network optimization
US6091733A (en) Communication device using communication protocol including transport layer and communication method using communication protocol including transport layer
US7318100B2 (en) Cooperative proxy auto-discovery and connection interception
EP2436147B1 (en) A system and method for converting unicast client requests into multicast client requests
US8139482B1 (en) Method to implement an L4-L7 switch using split connections and an offloading NIC
US8090859B2 (en) Decoupling TCP/IP processing in system area networks with call filtering
WO2016102004A1 (en) Network extended tcp splicing
KR20090010951A (en) Virtual Inline Configuration for Network Devices
EP1393497B1 (en) Dual mode service platform within network communication system
JP2008295043A (en) Intelligent load balancing and failover of network traffic
EA018130B1 (en) Selective session interception method
JP4658546B2 (en) Multiple offloads of network state objects that support failover events
US20030229713A1 (en) Server network controller including server-directed packet forwarding and method therefor
WO2019209181A1 (en) System and method for accelerating data delivery
KR100818776B1 (en) JAN Acceleration Method by Improving JAN Accelerator and TC Performance
US7933257B2 (en) Using QoS tunnels for TCP latency optimization
JP2004128671A (en) Network relay device and network relay method
Baldini et al. Increasing performances of TCP data transfers through multiple parallel connections
WO2001088761A2 (en) A system and method for an internet cache

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20061130

PA0201 Request for examination
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20070928

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20080301

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20080326

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20080327

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20101223

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20111222

Start annual number: 5

End annual number: 5

FPAY Annual fee payment

Payment date: 20130108

Year of fee payment: 6

PR1001 Payment of annual fee

Payment date: 20130108

Start annual number: 6

End annual number: 6

FPAY Annual fee payment

Payment date: 20140103

Year of fee payment: 7

PR1001 Payment of annual fee

Payment date: 20140103

Start annual number: 7

End annual number: 7

FPAY Annual fee payment

Payment date: 20141231

Year of fee payment: 8

PR1001 Payment of annual fee

Payment date: 20141231

Start annual number: 8

End annual number: 8

FPAY Annual fee payment

Payment date: 20151228

Year of fee payment: 9

PR1001 Payment of annual fee

Payment date: 20151228

Start annual number: 9

End annual number: 9

FPAY Annual fee payment

Payment date: 20170102

Year of fee payment: 10

PR1001 Payment of annual fee

Payment date: 20170102

Start annual number: 10

End annual number: 10

FPAY Annual fee payment

Payment date: 20171213

Year of fee payment: 11

PR1001 Payment of annual fee

Payment date: 20171213

Start annual number: 11

End annual number: 11

FPAY Annual fee payment

Payment date: 20190102

Year of fee payment: 12

PR1001 Payment of annual fee

Payment date: 20190102

Start annual number: 12

End annual number: 12

FPAY Annual fee payment

Payment date: 20200121

Year of fee payment: 13

PR1001 Payment of annual fee

Payment date: 20200121

Start annual number: 13

End annual number: 13

PR1001 Payment of annual fee

Payment date: 20210223

Start annual number: 14

End annual number: 14

PR1001 Payment of annual fee

Payment date: 20220302

Start annual number: 15

End annual number: 15