KR100512983B1 - Network connecting device for controlling TCP transmission between wired network and wireless network - Google Patents

Network connecting device for controlling TCP transmission between wired network and wireless network Download PDF

Info

Publication number
KR100512983B1
KR100512983B1 KR10-2003-0004389A KR20030004389A KR100512983B1 KR 100512983 B1 KR100512983 B1 KR 100512983B1 KR 20030004389 A KR20030004389 A KR 20030004389A KR 100512983 B1 KR100512983 B1 KR 100512983B1
Authority
KR
South Korea
Prior art keywords
packet
host
mobile host
network
state
Prior art date
Application number
KR10-2003-0004389A
Other languages
Korean (ko)
Other versions
KR20040067343A (en
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 KR10-2003-0004389A priority Critical patent/KR100512983B1/en
Publication of KR20040067343A publication Critical patent/KR20040067343A/en
Application granted granted Critical
Publication of KR100512983B1 publication Critical patent/KR100512983B1/en

Links

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/46Interconnection of networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • 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

Landscapes

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

Abstract

유선망과 무선망 사이의 패킷 전달 성능을 향상시킬 수 있는 망연동장치가 개시된다. 망연동장치는, 이동호스트에서 발생하는 패킷 손실에 대한 재전송을 위해 고정호스트 및 이동호스트에서 전송된 패킷에 대해서 구비된 버퍼에 복사하면서 이동호스트 및 고정호스트에 포워딩하며, 이동호스트와의 무선링크 상태를 정상, 배드, 핸드오프 상태로 구분하고, 각 상태에 따라 수신자 윈도우(receiver window: rwnd) 사이즈를 유동적으로 조정하여 고정호스트에 전송한다. 이에 따라 이동호스트에서 발생하는 데이터 패킷의 손실을 최소화 할 수 있어 TCP세션 연결 상태를 최적화 할 수 있을 뿐만 아니라 전체네트워크의 성능 향상을 도모할 수 있다. Disclosed is a network interlocking apparatus capable of improving packet transfer performance between a wired network and a wireless network. The network interlocking device forwards to the mobile host and the fixed host while copying to the buffer provided for the fixed host and the packet transmitted from the mobile host for retransmission of packet loss occurring in the mobile host, and the radio link state with the mobile host. Are divided into normal, bad, and handoff states, and the receiver window (rwnd) is flexibly adjusted according to each state and transmitted to the fixed host. Accordingly, it is possible to minimize the loss of data packets generated by the mobile host, thereby optimizing the TCP session connection status and improving the performance of the entire network.

Description

유선망과 무선망 사이의 TCP 전송을 제어하는 망연동장치{Network connecting device for controlling TCP transmission between wired network and wireless network} Network connecting device for controlling TCCP transmission between wired network and wireless network}

본 발명은 망연동장치에 관한 것으로서, 특히 유선망과 무선망 사이의 TCP(Transport Control Protocol) 전송을 제어하는 망연동장치에 관한 것이다. The present invention relates to a network interlock device, and more particularly, to a network interlock device for controlling TCP (Transport Control Protocol) transmission between a wired network and a wireless network.

TCP는 송신자의 데이터를 수신자에게 신뢰성 있게 전송하는 방법이다. 이러한 TCP는 네트워크 혼잡(Network Congestion) 상황이 발생했을 때, 윈도우 기반 전송방법(window-based transport protocol)만으로는 정상적인 데이터 전송을 수행할 수 없어, 혼잡 상황에 대처할 수 있는 알고리즘이 적용되고 있다. 즉, TCP에서는 망 혼잡에 의한 패킷 손실이 발생되는 경우, 컨제션 윈도우(congestion window)값을 조정하는 슬로우 스타트(Slow start) 및 컨제션 회피(congestion avoidance) 방법 등이 적용되며, 빠른 재전송(fast retransmit) 및 복구(fast recovery) 방법이 적용되고 있다. TCP is a method of reliably transmitting data of a sender to a receiver. When TCP congestion occurs, TCP cannot perform normal data transmission using only a window-based transport protocol, and an algorithm that can cope with congestion is applied. In other words, in case of packet loss due to network congestion, TCP includes a slow start and a congestion avoidance method that adjusts a congestion window value. Retransmit and fast recovery methods are being applied.

그러나 최근 인터넷이 유선 및 무선을 통해 복합적으로 사용되면서, 패킷 손실을 보상할 수 있는 위 방법들은 오히려 전체 네트워크의 성능을 저하시키는 문제점이 야기되었다. 즉, 무선환경에서의 TCP 데이터 손실은 유선환경에서와 같이 혼잡(congestion)에 의해 발생되는 것이 아니라 무선구간의 높은 에러율과 잦은 핸드오프 등과 같은 무선 링크의 특성으로 인하여 발생되기 때문에 유선환경에서 제안된 데이터 전송방법들은 불필요한 컨제션 윈도우 사이즈의 감소, 재전송타임아웃 구간의 증가 등이 발생하여 오히려 TCP 성능 저하 및 불필요한 대역폭의 낭비를 가져오게 되는 것이다. However, as the Internet is being used in combination with wired and wireless, the above methods for compensating for packet loss have caused a problem of degrading the performance of the entire network. In other words, TCP data loss in the wireless environment is not caused by congestion as in the wired environment, but due to the characteristics of the wireless link such as high error rate and frequent handoff. In the data transmission methods, an unnecessary reduction of the window size and an increase in the retransmission timeout period occur, resulting in a decrease in TCP performance and a waste of unnecessary bandwidth.

위와 같은 문제점을 해결하기 위하여 최근 무선네트워크 환경의 TCP 성능을 향상시키기 위한 다양한 데이터 전송방법이 제안되었다. 대표적인 TCP 성능 향상 방법들에는, I(Indirect)-TCP, M(Mobile)-TCP, Snoop TCP, Freeze TCP 등이 있다. 이들 중 snoop TCP는 무선구간에서 기존 TCP보다 뛰어난 성능을 나타내고 있으며, 표준화 단체에서 권고되고 있어 그 성능이 입증된 데이터 전송방법이라 할 수 있다. In order to solve the above problems, various data transmission methods have recently been proposed to improve TCP performance in a wireless network environment. Representative methods for improving TCP performance include I (Indirect) -TCP, M (Mobile) -TCP, Snoop TCP, and Freeze TCP. Among them, snoop TCP shows better performance than the existing TCP in the radio section, and it is recommended by the standardization organization, which is a proven data transmission method.

도 1은 유무선망을 포함하는 일반적인 네트워크 구성도이다. 네트워크는, 고정호스트(Fixed Host: FH(110))와 베이스 스테이션(Base Station: BS(150))을 연결하는 유선망(100)과, BS(150)와 모바일 호스트(Mobile Host: MH(210))를 연결하는 무선망(200)으로 구성된다. FH(110)와 BS(150)는 인터넷(130)을 통해 연결되고 있다. 1 is a general network configuration including a wired and wireless network. The network includes a fixed network (Fixed Host: FH 110) and a base station (Base Station: BS 150) to connect a wired network 100, BS 150 and a mobile host (Mobile Host: MH 210) It consists of a wireless network 200 to connect. The FH 110 and the BS 150 are connected via the Internet 130.

snoop TCP에서 BS(150)는 링크 계층 재전송과 로컬 복구(recovery)를 수행하는 snoop 대리자(agent)가 탑재된다. snoop 대리자는, FH(110)와 MH(210) 사이에 전송되는 모든 패킷을 모니터링 하면서, MH(210)에서 일어나는 패킷 손실에 대한 재전송을 위해 FH(110)에서 전송된 패킷에 대해서는 캐시에 복사하면서 MH(210)에 포워딩하고, MH(210)로부터 ACK(Acknowledge) 패킷이 전달될 때, 캐싱된 패킷을 삭제한다. 또한, snoop 대리자는 MH(210)에서 받은 중복된 ACK에 대해서는 MH(210)에서 원하는 패킷이 캐시에 존재하면, 캐시에 있는 데이터를 MH(210)에 전송하며, 중복된 ACK 패킷을 FH(110)에 전송하지 않고 버린다. 그리고, MH(210)에서 요청한 데이터가 캐시에 없으면, 중복 ACK 패킷을 송신자, 즉 FH(210)에게 전송하여 다시 중계한다. 도 2는 BS(150)에 탑재된 snoop 대리자의 FH(110) 및 MH(210)와의 패킷 교환에 따른 동작을 나타낸다. In snoop TCP, BS 150 is equipped with a snoop agent that performs link layer retransmission and local recovery. The snoop delegate monitors all packets sent between the FH 110 and the MH 210, copying the packets sent from the FH 110 to the cache for retransmission of packet loss occurring at the MH 210. Forward to MH 210, and delete the cached packet when an ACK (Acknowledge) packet is delivered from MH 210. In addition, the snoop agent transmits the data in the cache to the MH 210, if the packet desired in the MH 210 exists in the cache for the duplicate ACK received from the MH 210, and transmits the duplicate ACK packet to the FH (110). Discard without sending). If the data requested by the MH 210 does not exist in the cache, the duplicate ACK packet is transmitted to the sender, that is, the FH 210 and relayed again. 2 illustrates an operation according to packet exchange with the FH 110 and the MH 210 of the snoop delegate mounted on the BS 150.

위와 같이 snoop TCP는 무선 구간에서 링크 특성에 의해 발생하는 패킷 손실에 대해 중간에서 복원시켜 줄 수 있는 snoop 대리자를 BS(150)에 탑재시킴으로서, 무선구간의 TCP 성능을 개선하고 있으며, 이를 통해 전체 네트워크의 효율을 향상시키고 있다. As described above, the snoop TCP is equipped with a snoop delegate that can restore the packet loss caused by the link characteristics in the wireless section in the BS 150, thereby improving the TCP performance of the wireless section, thereby improving the overall network performance. To improve the efficiency.

그러나 상기와 같은 snoop TCP는 무선링크에서 발생한 패킷 손실을 BS에서 복원하는 동안 송신자가 휴지시간을 갖게 되는 문제점과, 특히, 무선링크에서 핸드오프가 빈번하게 발생하는 경우, 송신자의 재전송타임아웃(Retransmission Timeout: RTO)이 발생되어 TCP 성능을 향상시키는 데 있어서는 여전히 만족스럽지 못하다는 문제점이 있었다. However, such snoop TCP has a problem that a sender has a down time while recovering a packet loss occurring in a radio link in a BS, and in particular, when a handoff occurs frequently in a radio link, a retransmission timeout of the sender There is a problem that Timeout: RTO) is still not satisfactory in improving TCP performance.

또한, snoop TCP는 이동호스트에서 발생되는 패킷 손실의 원인과는 관계없이 수신자가 요청한 데이터 전송량을 송신자에게 요청하므로, 무선환경이 악화된 상태에서는 TCP 세션(session)의 성능을 떨어뜨리는 문제점이 있었다. 즉, TCP 흐름제어(flow control)에서 송신자는 snoop 대리자로부터 수신자 요구 전송용량이 설정된 수신자 윈도우(receiver advertised window: rwnd)를 수신한 후, 송신자측에서 1주기의 RTT(Round Trip Time) 내에 전송할 수 있는 데이터량인 컨제션 윈도우(congestion window: cwnd)와 비교하여 사이즈가 적은 데이터량을 전송한다. 그러나 무선 링크의 상태가 악화된 경우, 예를 들어, 채널들 사이의 간섭(interference) 또는 전파의 강도가 시간에 따라 변화하는 페이딩(fading) 등이 발생한 경우, 데이터 패킷의 변조가 발생하여 수신자가 재전송을 요구하는 중복 ACK 패킷을 발생시키거나 snoop 대리자의 로컬 타이머에서 타임아웃이 발생한다. 이때, snoop 대리자는 송신자에게 재전송을 반복적으로 요구하게 되며, 송신자는 윈도우 사이즈의 단순 비교에 따른 데이터량을 전송하므로, 이동호스트에서는 더 많은 패킷 손실이 발생하는 악순환이 반복된다. 그리고 그러한 악순환에 의해 snoop 대리자는 과부하가 발생될 소지가 많아지며, 과부하는 네트워크 전체의 성능을 떨어뜨리게 되는 문제점을 갖게 되는 것이다.In addition, since snoop TCP requests the sender the amount of data transmission requested by the receiver regardless of the cause of packet loss occurring in the mobile host, there is a problem that the performance of the TCP session (session) is degraded in a deteriorated wireless environment. That is, in TCP flow control, a sender receives a receiver advertised window (rwnd) with a receiver request transmission capacity set from a snoop delegate, and then transmits it within one cycle of round trip time (RTT) at the sender side. Compared to the congestion window (cwnd), which is the amount of data, the smaller amount of data is transmitted. However, when the condition of the radio link is deteriorated, for example, when there is interference between channels or fading in which the strength of the radio wave changes over time, modulation of the data packet occurs and Either generate duplicate ACK packets requiring retransmissions or timeouts in the local timer of the snoop delegate. At this time, the snoop delegate repeatedly requests the sender to retransmit, and since the sender transmits the data amount according to the simple comparison of the window size, the vicious cycle that causes more packet loss is repeated in the mobile host. In addition, due to such a vicious cycle, snoop delegates are more likely to be overloaded, and overloading has a problem of lowering the performance of the entire network.

본 발명의 목적은 상기와 같은 문제점을 해결하기 위하여 무선링크의 패킷 손실에 의해 발생하는 TCP 세션의 성능 저하를 방지하면서 전체네트워크의 성능을 향상시킬 수 있는 망연동장치를 제공하는 데 있다. An object of the present invention is to provide a network interworking device that can improve the performance of the entire network while preventing the performance degradation of the TCP session caused by packet loss of the radio link to solve the above problems.

상기의 목적을 달성하기 위한 본 발명의 망연동장치는, 고정호스트와 데이터 패킷을 교환하기 위하여 유선망과 연결되는 유선망 인터페이스; 이동호스트와 데이터 패킷을 교환하기 위한 무선망인터페이스; 및 상기 이동호스트에서 발생하는 패킷 손실에 대한 재전송을 위해 상기 고정호스트 및 상기 이동호스트에서 전송된 패킷에 대해서 버퍼에 복사하면서 상기 이동호스트 및 상기 고정호스트에 포워딩하며, 상기 이동호스트와의 무선링크 상태에 따라 상기 이동호스트로부터 상기 고정호스트에 요구하는 데이터 전송량이 설정된 수신자 윈도우 사이즈를 유동적으로 조정하는 제어부;를 포함한다. Network interworking apparatus of the present invention for achieving the above object, the wired network interface is connected to the wired network to exchange data packets with a fixed host; A wireless network interface for exchanging data packets with a mobile host; And forwarding the fixed host and the packet transmitted from the mobile host to the mobile host and the fixed host while retransmitting the packet loss occurring in the mobile host, and forwarding the packet to the mobile host and the fixed host. And a controller configured to flexibly adjust a receiver window size in which a data transmission amount requested from the mobile host to the fixed host is set.

상기 제어부는, 상기 무선링크의 상태를 상기 이동호스트가 상기 고정호스트와 정상적으로 통신을 할 수 있는 정상상태, 재전송타임아웃 및 중복패킷수신 발생에 따른 배드상태, 및 핸드오프 발생에 따른 핸드오프상태로 구분하여 상기 수신자 윈도우 사이즈를 설정한다. The control unit may be configured to change the state of the radio link to a normal state in which the mobile host can normally communicate with the fixed host, a bad state due to retransmission timeout and a duplicate packet reception, and a handoff state due to handoff. The receiver window size is set separately.

또한, 상기 제어부는, 상기 무선링크상태가 상기 정상상태인 경우에는, 상기 버퍼의 가용용량으로 상기 수신자 윈도우 사이즈를 설정한다. 그리고 상기 배드상태인 경우에는, 상기 이동호스트로부터 수신된 ACK 패킷의 ACK 윈도우 사이즈로부터 상기 버퍼에 있는 첫번째 데이터 패킷의 시퀀스 윈도우 사이즈를 차감한 플라잇(flight) 윈도우 사이즈로 상기 수신자 윈도우 사이즈를 설정한다. 이때, 상기 제어부는 재전송타임아웃이 연속 2회 발생되면, 상기 고정호스트에서 더 이상 패킷을 전송하지 않도록 설정된 제로(zero) 사이즈로 상기 수신자 윈도우 사이즈를 설정한다. 제로 사이즈는 송신자를 패시브모드로 동작하도록 규정되어 있다. 그리고 제로 사이즈의 수신자 윈도우를 상기 고정호스트에 주기적으로 전송한다. 이는 상기 고정호스트의 동작을 패시브모드로 계속 유지하기 위해서이다. 한편, 제어부는 중복 패킷 또는 재전송타임아웃의 원인이 해소되어 상기 이동호스트로부터 정상적인 패킷이 도달하면, 상기 고정호스트에게 정상적인 ACK패킷을 전달한다. The control unit sets the receiver window size to the available capacity of the buffer when the radio link state is the normal state. In the bad state, the receiver window size is set to a flight window size obtained by subtracting the sequence window size of the first data packet in the buffer from the ACK window size of the ACK packet received from the mobile host. . At this time, if the retransmission timeout occurs twice in a row, the controller sets the receiver window size to a zero size that is set so that no more packets are transmitted from the fixed host. Zero size is specified to operate the sender in passive mode. A zero size receiver window is periodically transmitted to the fixed host. This is to maintain the operation of the fixed host in the passive mode. On the other hand, if the cause of duplicate packets or retransmission timeout is eliminated and a normal packet arrives from the mobile host, the controller delivers a normal ACK packet to the fixed host.

또한, 상기 제어부는, 상기 핸드오프상태인 경우에는 상기 고정호스트에서 더 이상 패킷을 전송하지 않도록 설정된 제로(0) 사이즈로 상기 수신자 윈도우 사이즈를 설정한다. The control unit sets the receiver window size to a zero size that is set so that the fixed host no longer transmits the packet when the handoff state is established.

상기 제어부는, 상기 핸드오프 발생이 검출되면, 상기 버퍼에 버퍼링된 데이터 패킷 및 상기 이동호스트와의 TCP 상태정보를 상기 이동호스트가 이동된 셀을 관리하는 새로운 망연동장치에 전송한다. When the handoff occurrence is detected, the controller transmits a data packet buffered in the buffer and TCP state information of the mobile host to a new network interlocking device that manages a cell to which the mobile host is moved.

한편, 상기 제어부는, 자신의 관리 셀 내에 새롭게 유입된 이동호스트로부터 핸드오프완료메시지가 수신되면, 상기 이동호스트와 연결된 고정호스트에게 정상적인 수신자 윈도우 사이즈가 설정된 ACK 패킷을 전송한다. On the other hand, if a handoff completion message is received from a mobile host newly introduced into its own management cell, the controller transmits an ACK packet having a normal receiver window size to a fixed host connected to the mobile host.

또한, 상기 제어부는, 타 망연동장치로부터 상기 관리 셀 내에 새롭게 유입된 이동호스트와 관련된 데이터 패킷 및 TCP 상태정보가 전달되면, 전달된 상기 데이터 패킷을 새롭게 유입된 상기 이동호스트에게 포워딩한다. The controller forwards the transferred data packet to the newly introduced mobile host when the data packet and the TCP state information related to the mobile host newly introduced into the management cell are transferred from another network interlocking device.

이상과 같은 망연동장치는 무선 링크의 상태 변화에 따라 송신자에게 전송을 중단하도록 요청하거나 또는 적절한 처리량을 요청함으로서, 이동호스트에서 발생하는 데이터 패킷의 손실을 최소화 할 수 있도록 하며, 과부하 발생을 미연에 방지하여 네트워크 전체의 성능을 향상시킬 수 있게 된다. As described above, the network interlocking device can minimize the loss of data packets generated by the mobile host by requesting the sender to stop transmission or request an appropriate throughput according to the change in the state of the radio link. This can improve the performance of the entire network.

이하 첨부한 도면을 참조하여 본 발명을 상세하게 설명한다. 본 발명의 설명에는 때때로 고정호스트 및 이동호스트를 송신자와 수신자로, BS를 snoop 대리자 또는 대리자로 기재하여 설명하고 있으나, 이는 표현상의 차이일 뿐 동일한 의미로 사용하고 있음을 미리 명시한다. Hereinafter, the present invention will be described in detail with reference to the accompanying drawings. In the description of the present invention, the fixed host and the mobile host are sometimes described as a sender and a receiver, and the BS is described as a snoop delegate or a delegate, but this is only used in the same sense.

도 3은 본 발명에 따른 망연동장치의 블록도이다. 망연동장치는 유선망인터페이스(152)와, 무선망인터페이스(154), 및 제어부(156)를 포함한다. 3 is a block diagram of a network linkage device according to the present invention. The network interlocking device includes a wired network interface 152, a wireless network interface 154, and a controller 156.

유선망인터페이스(152)는, 제어부(156)의 제어 하에 인터넷(130)과 연결되어 고정호스트(FH: 110)와 데이터를 교환할 수 있도록 한다. The wired network interface 152 is connected to the Internet 130 under the control of the controller 156 to exchange data with the fixed host (FH) 110.

무선망인터페이스(154)는, 제어부(156)의 제어 하에 이동호스트(MH: 210)와 데이터를 교환할 수 있도록 한다. The wireless network interface 154 may exchange data with the mobile host (MH) 210 under the control of the controller 156.

제어부(156)는, Faster snoop TCP 모듈(156-1)을 구비하며, 장치 전반을 제어한다. 그리고 제어부(156)는, Faster snoop TCP 모듈(156-1)을 통해 유선망인터페이스(152) 및 무선망인터페이스(154)를 통해 각각 전달된 패킷에 대해 각각 이동호스트(210) 및 고정호스트(110)에게 포워딩한다. 이때, Faster snoop TCP 모듈(156-1)은 이동호스트(210)에서 발생하는 패킷 손실에 대한 재전송을 위해 고정호스트(110) 및 이동호스트(210)로부터 전달된 패킷에 대해 버퍼에 복사하면서 포워딩하도록 하며, 이동호스트(210)와의 무선링크 상태에 따라 이동호스트(210)로부터 고정호스트(110)에 요구되는 데이터 전송량이 설정된 수신자 윈도우(Receiver window: rwnd) 사이즈를 유동적으로 조정하여 고정호스트(110)에게 전달한다. The control unit 156 includes a Faster snoop TCP module 156-1 and controls the overall apparatus. The control unit 156 is a mobile host 210 and a fixed host 110 for packets transmitted through the wired network interface 152 and the wireless network interface 154 through the Faster snoop TCP module 156-1, respectively. Forward to At this time, the Faster snoop TCP module 156-1 is configured to forward the packet transmitted from the fixed host 110 and the mobile host 210 to the buffer for retransmission of the packet loss occurring in the mobile host 210 while forwarding it. The fixed host 110 may be configured by flexibly adjusting a size of a receiver window (rwnd) in which data transmission amount required from the mobile host 210 to the fixed host 110 is set according to a wireless link state with the mobile host 210. To pass.

위와 같은 망연동장치는 도 1에 보인 네트워크 구성도에서 BS(150)의 위치에 존재하며, 무선링크의 상태에 따라 이동호스트(210)로부터 전송된 ACK 패킷의 rwnd 사이즈를 동적으로 변경하여 송신자에게 전달한다. The network interlocking device as described above exists at the location of BS 150 in the network configuration shown in FIG. 1 and dynamically changes the rwnd size of the ACK packet transmitted from the mobile host 210 according to the state of the radio link to the sender. To pass.

여기서, Faster snoop TCP 모듈(156-1)에서 rwnd를 결정할 수 있는 요인들로는, 버퍼 가용 용량의 존재, 이동호스트(210)의 핸드오프 발생 상황, 패킷 손실 또는 손상에 의한 재전송타임아웃의 발생 상황, 및 중복 패킷의 발생 상황이 있다. 그리고 Faster snoop TCP 모듈(156-1)은 위 각 상황에 따른 무선링크의 각 상황에 대해서 정상(normal), 배드(bad), 그리고 핸드오프(handoff)의 3가지 상태로 구분하여 rwnd 사이즈를 설정한다. Here, the factors that can determine the rwnd in the Faster snoop TCP module 156-1 include the presence of buffer available capacity, the handoff occurrence situation of the mobile host 210, the occurrence of retransmission timeout due to packet loss or corruption, And the occurrence of duplicate packets. The faster snoop TCP module 156-1 sets the rwnd size by dividing into three states of normal, bad, and handoff for each situation of the radio link according to the above situations. do.

이하에 위 3가지 무선링크 상태에 따른 rwnd 사이즈 설정에 대해 설명한다. Hereinafter, the rwnd size setting according to the three radio link states will be described.

1. 정상(normal) 상태1. Normal state

정상 상태는 이동호스트(210)가 고정호스트(110)와 정상적으로 통신을 수행할 수 있는 상태를 의미하며, 각 노드(MH, FH, BS)에서 충분히 많은 양의 데이터를 처리할 수 있는 링크 상태이다. 즉, TCP 세션을 유지하고 있는 상황에서 데이터의 분실이나 손실이 없는 상태이며, 이용될 수 있는 Faster snoop TCP 모듈(156-1) 내 버퍼의 가용 용량이 충분한 경우이다. 이와 같은 정상 상태일 때, Faster snoop TCP 모듈(156-1)은 버퍼에 데이터가 기록되지 않아 이용 가능한 양, 즉 버퍼의 가용 용량을 rwnd 사이즈로 결정하여 TCP 송신자(MH)에게 전송한다. The normal state means a state in which the mobile host 210 can normally communicate with the fixed host 110 and is a link state capable of processing a large amount of data in each node (MH, FH, BS). . In other words, there is no loss or loss of data in the situation of maintaining a TCP session, and the available capacity of the buffer in the Faster snoop TCP module 156-1 that can be used is sufficient. In this normal state, the Faster snoop TCP module 156-1 determines the amount of available data, that is, the available capacity of the buffer as the size of rwnd, because no data is written to the buffer, and transmits it to the TCP sender MH.

도 4는 무선구간의 정상 상태에서 종래 snoop TCP와 본 발명에 따른 망연동장치의 데이터 패킷 처리 과정을 비교하여 나타낸 도면이다. 이하, 본 발명에 따른 데이터 패킷 처리를 'Faster snoop TCP'라 명명한다. 상단의 기존 snoop TCP는 TCP 송신자(sender)의 가능 전송량인 cwnd가 8 MSS(Maximum Segment Size)에서 TCP 수신자(receiver)의 ACK에 따른 rwnd 6 MSS에 의해 6 MSS로 감소되었음을 보이고 있다. 반면, Faster snoop TCP는 송신자의 cwnd 8 MSS에 대한 수신자의 rwnd 6 MSS에 대해 snoop 대리자(agent)에서 버퍼의 최대 가용 용량인 12 MSS로 전환하여 송신자에게 전송함으로서, 송신자의 cwnd는 12MSS로 증가한다. 4 is a view illustrating a comparison of a data packet processing procedure of a conventional snoop TCP and a network interlocking apparatus according to the present invention in a normal state of a wireless section. Hereinafter, data packet processing according to the present invention will be referred to as 'Faster snoop TCP'. The existing snoop TCP at the top shows that cwnd, the possible sender of the TCP sender, has been reduced from 6 MSS (Maximum Segment Size) to 6 MSS by rwnd 6 MSS according to the TCP receiver's ACK. Faster snoop TCP, on the other hand, sends the sender's cwnd to 12 MSS by switching from the snoop agent to 12 MSS, the maximum available capacity of the buffer, for the receiver's rwnd 6 MSS for the sender's cwnd 8 MSS. .

위의 Faster snoop TCP에서처럼 무선구간이 정상 상태일 때, snoop 대리자에서 버퍼의 가용 용량으로 rwnd를 설정하여 송신자(sender)에게 전송하면, 송신자는 무선 링크 대역폭에 따른 데이터량을 전송하게 되며, 수신자는 무선 링크 상태에 따라 충분히 많은 데이터량을 수신할 수 있게 된다. 즉, Faster snoop TCP는 무선 구간의 정상 상태에서는 cwnd를 증가시켜, 대역폭을 충분히 이용할 수 있도록 하고 있어 TCP 세션의 성능을 향상시킬 수 있는 것이다. When the radio section is normal as in Faster snoop TCP above, if the snoop delegate sets rwnd to the available capacity of the buffer and sends it to the sender, the sender sends the data amount according to the radio link bandwidth. It is possible to receive a large amount of data depending on the radio link state. In other words, Faster snoop TCP improves the performance of TCP sessions by increasing cwnd in the normal state of the radio section to make full use of bandwidth.

2. 배드(bad) 상태 2. Bad state

배드 상태는 무선링크의 채널간 간섭(interference) 또는 전파 강도의 변화(fading) 등에 의한 데이터 패킷의 변조나 손실이 발생한 상태 또는 snoop 대리자의 가용버퍼가 부족한 상태를 의미한다. 배드 상태에서는 수신자에서 패킷 변조에 따른 중복 패킷이 발생하거나 snoop 대리자의 로컬 타이머에서 타임아웃이 발생한다. 즉, 배드 상태에서는 무선링크의 데이터 패킷 전송시 에러가 발생하고, 이로 인한 송신자의 재전송이 발생하게 되며, snoop 대리자의 과부하가 발생할 수 있다. 따라서 배드 상태에는 송신자의 데이터 전송량을 일시적으로 감소시키는 것이 보다 효율적이다. 그리고 배드 상태가 지속되는 경우에는, 패킷 전송시 더 많은 손실과 과부하가 발생하므로, 이때에는 송신자를 프리즈(freeze) 시킴으로서, 전체적인 TCP 성능을 향상시킬 수 있다. 송신자의 freeze는 snoop 대리자에서 rwnd 사이즈를 제로(zero)로 설정하여 송신자에게 전송하는 것에 의해 수행되며, 이후, 송신자에서는 퍼시스트(persist) 타이머가 동작한다. Persist 타이머는 rwnd 사이즈 증가여부를 확인하기 위하여 일정 간격으로 송신자가 구동하는 타이머이다.The bad state refers to a state where modulation or loss of a data packet occurs due to inter-channel interference or radio wave strength of a radio link, or a state in which an available buffer of the snoop delegate is insufficient. In bad state, duplicate packets occur due to packet modulation at the receiver or timeout occurs at the local timer of the snoop delegate. That is, in the bad state, an error occurs during the transmission of the data packet of the radio link, which causes a retransmission of the sender, and an overload of the snoop delegate may occur. Therefore, in the bad state, it is more efficient to temporarily reduce the sender's data transmission amount. If the bad state persists, more loss and overload occurs during packet transmission. In this case, by freezing the sender, the overall TCP performance can be improved. The sender's freeze is performed by setting the rwnd size to zero in the snoop delegate and sending it to the sender. After that, the sender operates a persistent timer. Persist timer is a timer that the sender runs at regular intervals to check if rwnd size is increased.

이하에, Faster snoop TCP에서 배드 상태의 rwnd 사이즈 설정을 재전송타임아웃(Retransmission Time Out) 발생 및 중복 패킷 발생 상황으로 구분하여 설명한다. In the following description, the rwnd size setting of the bad state in Faster snoop TCP is divided into a retransmission timeout and a duplicate packet occurrence.

1) 재전송타임아웃(RTO)이 발생하는 경우, 1) If a retransmission timeout (RTO) occurs,

ⅰ) RTO가 1회 발생한 경우, Viii) once a RTO occurs;

Faster snoop TCP 모듈(156-1)은 RTO 발생이 검출되면, rwnd 사이즈를 flight 사이즈로 설정하여 송신자에게 전송되도록 한다. 즉, 기존의 snoop TCP에서는 RTO가 발생하면, 캐시버퍼에 복사된 패킷을 재전송하고, ACK 패킷이 도착할 때까지 대기 상태가 되며, 송신자 역시 ACK 패킷이 도착하지 않았으므로 대기 상태가 된다. 이처럼 고정호스트(110) 및 BS(150)가 ACK 대기상태일 때는, 어떠한 동작도 수행하지 않으므로, 대기상태가 지속되는 만큼 TCP 성능은 떨어진다고 할 수 있다. 따라서 RTO가 발생한 때에는 대기 상태를 가급적 줄이면서, 무선링크의 배드 상태에 따른 영향을 덜 받도록 송신자에게 데이터 전송량을 감소시키도록 요구하기 위하여 rwnd 사이즈를 flight 사이즈로 설정한다. 부연하면, flight 사이즈는, 수신자로부터 전달되어 버퍼에 복사된 ACK 패킷의 rwnd사이즈에서 송신자로부터 전달되어 캐시버퍼에 복사된 첫번째 데이터 패킷의 시퀀스(sequence) 윈도우 사이즈를 차감한 사이즈를 말한다. When the RTO occurrence is detected, the faster snoop TCP module 156-1 sets the rwnd size to the flight size to be transmitted to the sender. That is, in the existing snoop TCP, when the RTO occurs, the packet copied to the cache buffer is retransmitted, and the standby state is waited until the ACK packet arrives, and the sender also enters the standby state because the ACK packet has not arrived. As such, when the fixed host 110 and the BS 150 are in the ACK standby state, since no operation is performed, the TCP performance may be degraded as the standby state continues. Therefore, when the RTO occurs, the rwnd size is set to the flight size to reduce the amount of data transmitted to the sender so that the standby state is reduced as much as possible while being less affected by the bad state of the radio link. In other words, the flight size refers to the size of the rwnd of the ACK packet transmitted from the receiver and copied into the buffer minus the sequence window size of the first data packet transmitted from the sender and copied into the cache buffer.

위와 같이 flight 사이즈로 rwnd가 변경되어 송신자에게 전송되면, 송신자는 현재 설정된 cwnd와 수신한 rwnd를 비교하고, 작은 값, 즉, flight 사이즈 값으로 새로운 cwnd를 설정하여 전송하게 되며, 결국 전송량은 이전 전송량보다 감소하게 된다. 도 5는 송신자(FH)가 전송하는 flight 윈도우 사이즈의 예를 나타낸 도면이다. 송신자는 cwnd가 7 MSS일 때, snoop 대리자로부터 rwnd가 4 MSS가 설정되어 전달되면, 송신자가 전송할 수 있었던 33~39까지의 시퀀스 번호를 갖는 7개의 세그먼트들 가운데 33~36까지의 시퀀스 번호를 갖는 4개의 세그먼트만을 snoop 대리자(BS)에게 전송한다. When the rwnd is changed to the flight size and transmitted to the sender as described above, the sender compares the currently set cwnd with the received rwnd, sets a new cwnd with a small value, that is, the flight size, and transmits the data. Will decrease more. 5 is a diagram illustrating an example of a flight window size transmitted by the sender FH. When cwnd is 7 MSS, the sender has a sequence number of 33 to 36 out of 7 segments having a sequence number of 33 to 39 that the sender could send when rwnd is set to 4 MSS from the snoop delegate. Only 4 segments are sent to the snoop delegate (BS).

결국, 송신자가 데이터 전송량을 줄여 전달하는 것에 의해 snoop 대리자로부터 수신자에게 전달되는 데이터는 변조 및 손실로부터 가급적 영향을 받지 않게 되며, 그로 인해 중복 패킷의 발생 또는 로컬 타이머의 타임아웃 등에 의한 과부하를 방지할 수 있게 된다. As a result, the data transmitted from the snoop delegate to the receiver by the sender by reducing the amount of data transmission is not affected as much as possible from tampering and loss, thereby preventing overload due to occurrence of duplicate packets or timeout of the local timer. It becomes possible.

ⅱ) RTO가 2회 연속 발생한 경우, Ii) two consecutive RTOs;

Faster snoop TCP 모듈(156-1)은 RTO가 연속 2회 검출되면, rwnd 사이즈를 제로(0)로 설정하여 송신자에게 전송한다. 즉, 제어부는 RTO가 연속 2회 검출되면, 송신자가 freeze되도록 요청한다. 이는, 기존의 snoop TCP에서 snoop 대리자의 RTO가 2회 연속 발생하면, 송신자에서도 RTO가 발생하여 cwnd값이 초기값으로 설정되는 것에 의해 TCP 성능이 급격하게 떨어지는 것을 개선하기 위한 것이다. When the RTO is detected twice consecutively, the Faster snoop TCP module 156-1 sets the rwnd size to zero and transmits it to the sender. That is, if the RTO is detected twice consecutively, the controller requests the sender to freeze. This is to improve the rapid drop in TCP performance by setting the cwnd value to the initial value when the RTO of the snoop delegate occurs twice in the existing snoop TCP.

도 6은 Faster snoop TCP에서 송신자와 snoop 대리자 각각의 RTO 계산식 및 두 계산식의 결과에 따른 송신자 freeze 동작 관계를 나타낸 도면이다. 도 6에서 송신자의 전체 RTO는 240㎳+β1, 대리자(agent)에서 전체 RTO는 220㎳+β2로 계산되고 있으며, 도면 하단에서 송신자의 전송지연 및 전파(propagation)지연 시간 등의 전체지연시간이 대리자에서의 전체지연시간보다 커서, 송신자의 전체 RTO 시간과 대리자의 전체 RTO 시간이 같아지면, 송신자를 freeze 시키도록 하고 있다. FIG. 6 is a diagram illustrating a relationship between an RTO calculation of a sender and a snoop delegate and a sender freeze operation according to the results of two calculations in Faster snoop TCP. In FIG. 6, the total RTO of the sender is calculated as 240 μs + β1 and the total RTO of the agent is 220 μ ++ β2, and at the bottom of the figure, the total delay time such as the transmission delay and propagation delay time of the transmitter is shown. If the sender's total delay time is greater than the delegate's total delay time, and the sender's total RTO time is the same, the sender is made to freeze.

위와 같이 snoop 대리자로부터 rwnd가 '0'인 복사 ACK 패킷을 수신하면, 송신자는 Persist 타이머를 동작시키고, 자신의 RTT(Round Trip Time) 타이머는 정지되며, TCP 상태는 패시브(passive) 모드로 동작한다. When the copy ACK packet with rwnd '0' is received from the snoop delegate as above, the sender starts the Persist timer, stops its Round Trip Time (RTT) timer, and the TCP state operates in passive mode. .

한편, snoop 대리자는 RTO가 2회 이상 발생하면, 송신자가 계속 freeze 상태를 유지하도록 rwnd가 '0'사이즈를 갖는 ACK 패킷을 주기적으로 송신자에게 전송한다. On the other hand, when the RTO occurs twice or more, the snoop delegate periodically sends an ACK packet having a size of '0' to the sender so that the sender remains freezed.

ⅲ) RTO 발생 이후, 정상적인 ACK 패킷이 도착한 경우, Iii) If a normal ACK packet arrives after the RTO occurs,

Faster snoop TCP 모듈(156-1)은, 수신자(MH)로부터 정상적인 ACK가 도착하면, 송신자(FH)에게 정상적인 rwnd값, 즉, 버퍼의 가용용량으로 윈도우 사이즈를 설정하고, 수신한 ACK를 송신자에게 전송한다. 또한, 수신한 ACK로 현재 보유하고 있는 복사 ACK를 변경한다. When a normal ACK arrives from the receiver MH, the Faster snoop TCP module 156-1 sets the sender FH to a normal rwnd value, that is, a window size using the available capacity of the buffer, and sends the received ACK to the sender. send. Also, the copy ACK currently held by the received ACK is changed.

위와 같이 BS(150)로부터 정상적인 ACK 패킷이 도착하면, 송신자는 정지되었던 RTT 타이머와 TCP 상태를 패시브모드에서 액티브 모드로 다시 전환하며, 이전 전송하였던 패킷의 후속 패킷을 BS(150)에게 전송한다. When the normal ACK packet arrives from the BS 150 as described above, the sender switches the stopped RTT timer and the TCP state from the passive mode to the active mode again, and transmits a subsequent packet of the previously transmitted packet to the BS 150.

도 7은 무선구간의 RTO 발생에 따른 배드 상태의 snoop TCP와 Faster snoop TCP의 패킷 전달 과정을 비교하여 나타낸 도면이다. 좌측의 snoop TCP에서는 송신자로부터 cwnd가 8 MSS인 패킷이 대리자에게 전달되면, 대리자는 패킷을 복사한 후, 수신자에게 포워딩한다. 그리고 RTT 1구간 내에 ACK패킷이 수신되지 않으면, 대리자에서는 RTO가 발생되며, 다시 캐쉬버퍼에 복사된 패킷을 수신자에게 전송한다. 그리고 두번째 RTO가 발생하면, 복사된 그 패킷을 다시 수신자에게 전송한다. 대리자는 이와 같은 과정을 수신자로부터 정상적인 ACK패킷이 수신될 때가지 반복한다. 한편, 송신자는 대리자의 RTO가 2회 연속 발생하는 시간, 즉 RTT 1구간을 타이머에 의해 체크하고, 그 때까지 ACK 패킷이 수신되지 않으면, cwnd를 2 MSS로 초기화하고 계속 대기상태를 유지한다. 이후, 대리자로부터 ACK패킷이 수신되면, 송신자는 cwnd가 2 MSS인 패킷을 대리자에게 전송한다. 만일, Backoff 타임 동안 ACK 패킷이 도착하지 않으면, 결국 TCP 세션은 끊어진다. FIG. 7 is a diagram illustrating a packet delivery process between snoop TCP and Faster snoop TCP in a bad state according to RTO generation in a wireless section. In snoop TCP on the left, when a packet with cwnd of 8 MSS is sent from the sender to the delegate, the delegate copies the packet and forwards it to the receiver. If an ACK packet is not received within one interval of the RTT, the delegate generates an RTO and transmits the packet copied to the cache buffer to the receiver. When the second RTO occurs, the copied packet is sent back to the receiver. The delegate repeats this process until a normal ACK packet is received from the receiver. On the other hand, the sender checks the time when the delegate's RTO occurs twice in succession, that is, the interval 1 RTT by the timer, and if no ACK packet is received by that time, initializes cwnd to 2 MSS and keeps waiting. Then, when an ACK packet is received from the delegate, the sender sends a packet with cwnd of 2 MSS to the delegate. If no ACK packet arrives during the backoff time, the TCP session is eventually disconnected.

한편, 본 발명에 따른 우측의 Faster snoop TCP에서는, 송신자로부터 cwnd가 8 MSS인 패킷이 대리자에게 전달되면, 대리자는 전달된 패킷을 캐시버퍼에 복사하고, 수신자에게 포워딩하고, 또한, 캐시버퍼에 복사패킷들이 저장된다. 그리고 대리자는 RTT 1구간 내에 수신자로부터 ACK 패킷이 수신되지 않으면, 캐시버퍼에 복사된 데이터 패킷을 수신자에게 재전송하는 한편, rwnd를 6 MSS로 설정한 ACK 패킷을 송신자에게 전송한다. 그러면, 송신자는 cwnd가 6 MSS인 패킷을 대리자에게 전송하게 되며, 대리자는 6 MSS의 패킷을 수신자에게 포워딩한다. 그리고 대리자는, 2회 연속 RTO가 발생하면, 6 MSS의 ACK 패킷을 수신자에게 전달하는 한편, rwnd가 0 MSS인 ACK 패킷을 송신자에게 전송한다. 송신자는 0 MSS의 ACK 패킷에 의해 TCP 상태를 패시브모드로 전환한다. 이후, 송신자는 대리자가 정상적인 ACK를 전달하면, 대리자의 버퍼 가용 용량인 6 MSS의 cwnd로 데이터 패킷을 전송한다. On the other hand, in Faster snoop TCP on the right side according to the present invention, when a packet whose cwnd is 8 MSS is transmitted from the sender to the delegate, the delegate copies the forwarded packet to the cache buffer, forwards it to the receiver, and also copies to the cache buffer. Packets are stored. If the delegate does not receive the ACK packet from the receiver within one interval of the RTT, the delegate retransmits the data packet copied to the cache buffer to the receiver, and transmits the ACK packet with rwnd set to 6 MSS to the sender. The sender then sends a packet whose cwnd is 6 MSS to the delegate, which forwards the packet of 6 MSS to the receiver. When the two consecutive RTOs occur, the delegate transmits an ACK packet of 6 MSS to the receiver, and sends an ACK packet of rwnd 0 MSS to the sender. The sender switches the TCP state to passive mode by an ACK packet of 0 MSS. Then, the sender sends a data packet to cwnd of 6 MSS, which is the buffer available capacity of the delegate, if the delegate delivers a normal ACK.

위와 같은 비교 내용을 볼 때, 기존의 snoop TCP에서는 배드상태가 복구되었을 때, 2 MSS의 cwnd를 갖는 데이터 패킷을 전송하는 반면, Faster snoop TCP는 배드상태 복구 후, 송신자가 정상적인 ACK의 패킷 수신에 대해 6 MSS의 cwnd를 갖는 데이터 패킷을 전송하고 있음을 알 수 있다. Compared to the above, in the conventional snoop TCP, when bad state is restored, data packet with cwnd of 2 MSS is transmitted, whereas faster snoop TCP recovers the normal state of the ACK packet after bad state recovery. It can be seen that a data packet having a cwnd of 6 MSSs is transmitted.

3. 핸드오프 상태3. Handoff state

핸드오프 상태는 이동호스트(210)의 이동에 의해 BS(150)에 의해 서비스되는 셀이 변경되어 핸드오프가 발생한 경우를 의미한다. 핸드오프 상태는 제어 메시지인 beacon 메시지의 신호 강도를 측정하여 메시지 교환시 BS(150)에서 감지한다. 이동호스트(210)는 beacon 메시지 강도가 약할 경우에 핸드오프로 판단하고, BS(150)에게 연결 중단 요청(Dis-association request)메시지를 전송한다. Dis-association request 메시지를 수신한 BS(150)는 연결중단 응답(Dis-association reply)메시지를 이동호스트(210)에게 전송하여 현재 관리하고 있는 셀에서 이탈하고 있음을 알린다. The handoff state refers to a case where a handoff occurs because a cell serviced by the BS 150 is changed by the movement of the mobile host 210. The handoff state is measured by the BS 150 at the time of message exchange by measuring the signal strength of the control message beacon message. When the beacon message strength is weak, the mobile host 210 determines to be handoff and transmits a dis-association request message to the BS 150. Upon receiving the dis-association request message, the BS 150 transmits a dis-association reply message to the mobile host 210 to inform that the mobile station 210 has left the cell.

위와 같이 핸드오프 상태가 되면, Faster snoop TCP모듈(156-1)은 이동호스트(210)가 전송한 ACK 패킷의 rwnd 사이즈를 0 MSS로 설정하여 송신자(FH)에게 전송함으로서, 송신자의 TCP 상태를 freeze시키고, 패시브모드로 동작하게 한다. 이때, 제어부(156)는 이동호스트가 이동된 셀을 관리하는 새로운 BS(150)에게 캐시버퍼에 저장된 데이터 패킷 및 TCP 상태를 전송한다. In the handoff state as described above, the Faster snoop TCP module 156-1 sets the rwnd size of the ACK packet transmitted by the mobile host 210 to 0 MSS and transmits the sender to the sender FH. Freeze and run in passive mode. At this time, the controller 156 transmits a data packet and a TCP state stored in the cache buffer to the new BS 150 managing the cell to which the mobile host has moved.

한편, Faster snoop TCP 모듈(156-1)은 이동호스트가 새롭게 관리 셀 내에 유입되고, 핸드오프가 완료되어 이동호스트(210)로부터 핸드오프 완료 메시지가 수신되면, freeze 된 고정호스트(110)에게 정상적인 윈도우 사이즈를 설정하여 전송함으로서, 송신자가 액티브모드로 동작하게 한다. 또한, Faster snoop TCP 모듈(156-1)은 이동호스트가 이전 위치했던 셀을 관리하던 BS(150)로부터 데이터 패킷 및 TCP 상태가 전달되면, 유입된 이동호스트(210)에게 포워딩한다. 그리고 새롭게 유입된 이동호스트(210)로부터 정상적인 ACK 패킷이 전달되면, 송신자에게 ACK 패킷을 포워딩한다. 이에 따라 송신자와 수신자는 정상적으로 통신을 수행하는 것이 가능하게 된다. On the other hand, Faster snoop TCP module 156-1 is normal to the freeze fixed host 110 when the mobile host is newly introduced into the management cell, the handoff is completed and the handoff complete message is received from the mobile host 210. By setting the window size and sending it, the sender operates in the active mode. In addition, the Faster snoop TCP module 156-1 forwards the data packet and the TCP state from the BS 150 managing the cell where the mobile host was previously located, and forwards them to the introduced mobile host 210. When the normal ACK packet is transmitted from the newly introduced mobile host 210, the ACK packet is forwarded to the sender. This allows the sender and the receiver to communicate normally.

도 8은 무선구간에서 발생된 핸드오프 상태의 snoop TCP와 Faster snoop TCP의 패킷 전달 과정을 비교하여 나타낸 도면이다. 좌측의 snoop TCP에서는, 송신자로부터 데이터 패킷이 대리자에게 전달된 상태에서 핸드오프가 발생하면, 핸드오프가 완료 이전에 송신자에서 RTO가 발생하게 된다. 그에 따라 송신자는 cwnd를 2 MSS로 초기화하고 연결 상태를 해제한다. 이후, 송신자는 대리자로부터 ACK패킷이 수신되면, cwnd가 2 MSS인 데이터 패킷을 대리자에게 전송한다. FIG. 8 is a diagram illustrating a packet forwarding process between snoop TCP and Faster snoop TCP in a handoff state generated in a wireless section. In snoop TCP on the left, if a handoff occurs while a data packet is transmitted from a sender to a delegate, an RTO occurs at the sender before the handoff is completed. Accordingly, the sender initializes cwnd to 2 MSS and releases the connection. Then, when the sender receives the ACK packet from the delegate, the sender sends a data packet whose cwnd is 2 MSS to the delegate.

한편, 우측의 Faster snoop TCP에서는, 송신자로부터 cwnd가 8 MSS인 패킷이 대리자에게 전달되면, 대리자는 전달된 패킷을 캐시버퍼에 복사하고, 수신자에게 포워딩한다. 이때, 대리자는 핸드오프가 감지되면, rwnd 사이즈가 0 MSS인 ACK 패킷을 전송하여 송신자가 패시브모드로 동작하도록 한다. 한편, 대리자는 이동호스트로부터 핸드오프 완료 메시지를 수신하면, ACK 패킷 내에 정상적인 윈도우 사이즈, 즉, 버퍼 가용 용량으로 rwnd를 설정하여 수신자에게 전송한다. 이에 따라 송신자는 rwnd에 따른 데이터 패킷을 대리자에게 전송하게 된다. 즉, 핸드오프 발생 후, 정상적인 통신이 재개되면, 송신자는 cwnd가 다시 8 MSS가 된다. On the other hand, in Faster snoop TCP on the right, when a packet whose cwnd is 8 MSS is transmitted from the sender to the delegate, the delegate copies the forwarded packet to the cache buffer and forwards it to the receiver. At this time, when the handoff is detected, the delegate transmits an ACK packet having a rwnd size of 0 MSS so that the sender operates in the passive mode. On the other hand, when the delegate receives the handoff completion message from the mobile host, the delegate sets rwnd to the normal window size, that is, the buffer available capacity, in the ACK packet and transmits it to the receiver. Accordingly, the sender transmits the data packet according to rwnd to the delegate. In other words, if normal communication is resumed after the handoff occurs, the sender cwnd again becomes 8 MSS.

위와 같은 비교 내용에서 볼 때, 기존의 snoop TCP에서는 핸드오프 레이턴시(latency)로 인하여 이동호스트와 고정호스트 사이의 TCP 세션을 유지하기 힘든 데 반해, Faster snoop TCP에서는 송신자에서 데이터 패킷이 전송되지 않도록 함으로서, TCP 성능이 향상된다. Compared to the above, it is difficult to maintain a TCP session between a mobile host and a fixed host due to handoff latency in the conventional snoop TCP, whereas in Faster snoop TCP, data packets are not transmitted from the sender. TCP performance is improved.

도 9는 snoop TCP와 본 발명에 따른 Faster snoop TCP의 성능을 비교하여 나타낸 시뮬레이션 결과 도면이다. 도 9에서 본 발명의 Faster snoop TCP는 시간의 경과에 따라 기존의 snoop TCP에 비해 쓰루풋(throughput)이 개선되고 있음을 볼 수 있다. 9 is a simulation result diagram comparing the performance of snoop TCP and Faster snoop TCP according to the present invention. In FIG. 9, it can be seen that the Faster snoop TCP of the present invention has improved throughput over time as compared to the existing snoop TCP.

상기와 같은 본 발명의 망연동장치는 무선구간의 링크상태를 TCP 세션의 데이터 교환에 반영하는 것으로, 종단의 각 호스트에 대해 오버로드나 변경에 대한 부담을 주지 않으면서도 보다 효율적인 TCP 세션을 유지할 수 있게 되며, 전체 네트워크의 성능 향상을 도모할 수 있게 한다. As described above, the network interlocking apparatus of the present invention reflects the link state of the radio section in the data exchange of the TCP session, and can maintain a more efficient TCP session without burdening an overload or a change for each host of an end point. This allows the performance of the entire network to be improved.

이상에서는 본 발명의 바람직한 실시예에 대하여 설명하고 있으나, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이고, 그와 같은 변경은 청구범위 기재의 범위 내에 있게 된다.In the above description of the preferred embodiment of the present invention, the present invention is not limited to the above-described specific embodiment, it is common in the art to which the invention belongs without departing from the spirit of the invention claimed in the claims. Various modifications can be made by those skilled in the art, and such changes are within the scope of the claims.

도 1은 일반적인 유선망과 무선망을 포함하는 네트워크 구성도,1 is a network configuration including a typical wired and wireless network,

도 2는 종래 snoop TCP의 동작을 설명하기 위한 도면, 2 is a view for explaining the operation of the conventional snoop TCP,

도 3은 본 발명에 따른 망연동장치(Faster snoop TCP)의 블록도,3 is a block diagram of a network interlock device (Faster snoop TCP) according to the present invention,

도 4는 무선구간의 정상상태에서 snoop TCP와 Faster snoop TCP의 패킷 전달과정을 비교하여 나타낸 도면,4 is a diagram illustrating a comparison of packet delivery between snoop TCP and Faster snoop TCP in a steady state of a wireless section;

도 5는 Faster snoop TCP에서 송신자가 전송하는 flight 윈도우 사이즈의 예를 나타낸 도면, 5 is a diagram illustrating an example of a flight window size transmitted by a sender in Faster snoop TCP;

도 6은 Faster snoop TCP에서 송신자와 snoop 대리자의 각각의 RTO 계산식 및 두 계산식의 결과에 따른 송신자 freeze 동작 관계를 나타낸 도면,FIG. 6 is a diagram illustrating a relationship between an RTO calculation of a sender and a snoop delegate and a sender freeze operation according to the results of two calculations in Faster snoop TCP. FIG.

도 7은 무선구간의 RTO 발생에 따른 배드 상태에서 snoop TCP와 Faster snoop TCP의 패킷 전달 과정을 비교하여 나타낸 도면,FIG. 7 is a diagram illustrating a packet forwarding process between snoop TCP and Faster snoop TCP in a bad state due to RTO generation in a wireless section;

도 8은 무선구간의 핸드오프 상태에서 snoop TCP와 Faster snoop TCP의 패킷 전달 과정을 비교하여 나타낸 도면, 그리고8 is a diagram illustrating a packet forwarding process between snoop TCP and Faster snoop TCP in a handoff state of a wireless section; and

도 9는 snoop TCP와 Faster snoop TCP의 성능을 비교하여 나타낸 시뮬레이션 결과 도면이다.9 is a simulation result diagram comparing the performance of snoop TCP and Faster snoop TCP.

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

100: 유선망 110: 고정호스트(Fixed Host: FH)100: wired network 110: fixed host (FH)

130: 인터넷 150: 베이스 스테이션(Base Station: BS)130: Internet 150: Base Station (BS)

152: 유선망인터페이스 154: 무선망인터페이스152: wired network interface 154: wireless network interface

156: 제어부 156-1: Faster snoop TCP 모듈156: control unit 156-1: Faster snoop TCP module

200: 무선망 210: 이동호스트(Mobile Host: MH)200: wireless network 210: mobile host (Mobile Host: MH)

Claims (12)

고정호스트와 데이터 패킷을 교환하기 위하여 유선망과 연결되는 유선망인터페이스;A wired network interface connected to the wired network to exchange data packets with the fixed host; 이동호스트와 데이터 패킷을 교환하기 위한 무선망인터페이스; 및 A wireless network interface for exchanging data packets with a mobile host; And 상기 이동호스트에서 발생하는 패킷 손실에 대한 재전송을 위해 상기 고정호스트 및 상기 이동호스트에서 전송된 패킷에 대해서 버퍼에 복사하면서 상기 이동호스트 및 상기 고정호스트에 포워딩하며, 상기 이동호스트와의 무선링크 상태에 따라 상기 이동호스트로부터 상기 고정호스트에 요구되는 데이터 전송량이 설정된 수신자 윈도우 사이즈를 유동적으로 조정하는 제어부;를 포함하며,In order to retransmit the packet loss generated by the mobile host, the fixed host and the packet transmitted from the mobile host are forwarded to the mobile host and the fixed host while being copied to a buffer, and the radio link state with the mobile host is And a controller configured to flexibly adjust a receiver window size in which a data transmission amount required for the fixed host is set from the mobile host. 상기 제어부는 상기 무선링크의 상태를 상기 이동호스트가 상기 고정호스트와 정상적으로 통신을 할 수 있는 정상상태, 재전송타임아웃 및 중복패킷수신 발생에 따른 배드상태, 및 핸드오프 발생에 따른 핸드오프상태로 구분하여 상기 수신자 윈도우 사이즈를 설정하는 것을 특징으로 하는 망연동장치.The control unit divides the state of the radio link into a normal state in which the mobile host can normally communicate with the fixed host, a bad state due to retransmission timeout and duplicate packet reception, and a handoff state due to handoff occurrence. And set the receiver window size. 삭제delete 제 1항에 있어서, The method of claim 1, 상기 제어부는, 상기 무선링크상태가 상기 정상상태이면, 상기 버퍼의 가용용량으로 상기 수신자 윈도우 사이즈를 설정하는 것을 특징으로 하는 망연동장치.And the controller sets the receiver window size to the available capacity of the buffer when the radio link state is the normal state. 제 1항에 있어서, The method of claim 1, 상기 제어부는, 상기 무선링크상태가 상기 배드 상태이면, 상기 이동호스트로부터 수신된 ACK 패킷의 ACK 윈도우 사이즈로부터 상기 버퍼에 있는 첫번째 데이터 패킷의 시퀀스 윈도우 사이즈를 차감한 플라잇(flight) 윈도우 사이즈로 상기 수신자 윈도우 사이즈를 설정하는 것을 특징으로 하는 망연동장치.If the radio link state is the bad state, the controller determines the flight window size by subtracting the sequence window size of the first data packet in the buffer from the ACK window size of the ACK packet received from the mobile host. A network interlock device, comprising setting a receiver window size. 제 4항에 있어서, The method of claim 4, wherein 상기 제어부는, 상기 재전송타임아웃이 연속 2회 발생되면, 상기 고정호스트에서 더 이상 패킷을 전송하지 않도록 설정된 제로(zero) 사이즈로 상기 수신자 윈도우 사이즈를 설정하는 것을 특징으로 하는 망연동장치.The control unit, if the retransmission timeout occurs twice in a row, the network interlocking apparatus, characterized in that for setting the receiver window size to zero (zero) set to no longer transmit a packet from the fixed host. 제 5항에 있어서, The method of claim 5, 상기 제어부는, 상기 재전송타임아웃이 2회 이상 발생되면, 상기 제로 사이즈의 수신자 윈도우를 상기 고정호스트에 주기적으로 전송하는 것을 특징으로 하는 망연동장치.And, if the retransmission timeout occurs two or more times, transmitting the zero-size receiver window to the fixed host periodically. 제 4항에 있어서, The method of claim 4, wherein 상기 제어부는, 상기 중복 패킷이 발생되면, 상기 플라잇(flight) 윈도우 사이즈로 상기 수신자 윈도우 사이즈를 설정하는 것을 특징으로 하는 망연동장치.And the controller sets the receiver window size to the flight window size when the duplicated packet is generated. 제 7항에 있어서, The method of claim 7, wherein 상기 제어부는, 상기 중복 패킷이 연속적으로 발생하면, 상기 고정호스트에서 더 이상 패킷을 전송하지 않도록 상기 수신자 윈도우 사이즈를 제로 사이즈로 설정하는 것을 특징으로 하는 망연동장치.And the controller sets the receiver window size to zero size so that the packet is no longer transmitted by the fixed host when the duplicate packets occur continuously. 제 1항에 있어서, The method of claim 1, 상기 제어부는, 상기 무선링크상태가 상기 핸드오프상태이면, 상기 고정호스트에서 더 이상 패킷을 전송하지 않도록 상기 수신자 윈도우 사이즈를 제로 사이즈로 설정하는 것을 특징으로 하는 망연동장치.And the control unit sets the receiver window size to zero size so that the fixed host no longer transmits a packet when the radio link state is the handoff state. 제 9항에 있어서, The method of claim 9, 상기 제어부는, 상기 핸드오프 발생이 검출되면, 상기 버퍼에 버퍼링된 데이터 패킷 및 상기 이동호스트와의 TCP 상태정보를 상기 이동호스트가 이동된 셀을 관리하는 새로운 망연동장치에 전송하는 것을 특징으로 하는 망연동장치.When the handoff is detected, the controller transmits a data packet buffered in the buffer and TCP state information of the mobile host to a new network interlocking device that manages a cell to which the mobile host is moved. Network interlock. 제 10항에 있어서, The method of claim 10, 상기 제어부는, 관리 셀 내에 새롭게 유입된 이동호스트로부터 핸드오프완료메시지가 수신되면, 상기 이동호스트와 연결된 고정호스트에게 전송하는 ACK 패킷 내에 정상적인 수신자 윈도우 사이즈를 설정하는 것을 특징으로 하는 망연동장치.And, when the handoff completion message is received from a mobile host newly introduced into the management cell, the controller sets a normal receiver window size in an ACK packet transmitted to a fixed host connected to the mobile host. 제 11항에 있어서, The method of claim 11, 상기 제어부는, 타 망연동장치로부터 상기 관리 셀 내에 상기 새롭게 유입된 이동호스트와 관련된 데이터 패킷 및 TCP 상태정보가 전달되면, 전달된 상기 데이터 패킷을 상기 새롭게 유입된 이동호스트에게 포워딩하는 것을 특징으로 하는 망연동장치.The controller may forward the transmitted data packet to the newly introduced mobile host when the data packet and the TCP state information related to the newly introduced mobile host are transferred from another network interlocking device to the management cell. Network interlock.
KR10-2003-0004389A 2003-01-22 2003-01-22 Network connecting device for controlling TCP transmission between wired network and wireless network KR100512983B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2003-0004389A KR100512983B1 (en) 2003-01-22 2003-01-22 Network connecting device for controlling TCP transmission between wired network and wireless network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2003-0004389A KR100512983B1 (en) 2003-01-22 2003-01-22 Network connecting device for controlling TCP transmission between wired network and wireless network

Publications (2)

Publication Number Publication Date
KR20040067343A KR20040067343A (en) 2004-07-30
KR100512983B1 true KR100512983B1 (en) 2005-09-07

Family

ID=37356888

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-0004389A KR100512983B1 (en) 2003-01-22 2003-01-22 Network connecting device for controlling TCP transmission between wired network and wireless network

Country Status (1)

Country Link
KR (1) KR100512983B1 (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100619949B1 (en) * 2004-10-29 2006-09-13 엘지전자 주식회사 Method for controlling tcp flow in fast mobile network
WO2006049421A1 (en) * 2004-11-02 2006-05-11 Samsung Electronics Co., Ltd. Network interworking system and method for providing seamless voice service and short message service between wireless communication networks, and packet switch apparatus therefor
WO2006052083A1 (en) * 2004-11-09 2006-05-18 Samsung Electronics Co., Ltd. Network interworking system and method for providing seamless voice service and short message service between wireless communication networks
KR100626536B1 (en) * 2005-05-12 2006-09-20 주식회사 팬택앤큐리텔 Method for data sending/receiving of between tcp communication devices
KR100842281B1 (en) * 2006-12-08 2008-06-30 한국전자통신연구원 Apparatus for managing performance of transport control protocol using path recovery notification in wireless network and method using the same
KR100949280B1 (en) * 2008-04-16 2010-03-25 포항공과대학교 산학협력단 Method for controlling interface buffer during hand-over in network interface
KR101480059B1 (en) * 2009-04-07 2015-01-13 에스케이 텔레콤주식회사 Method for Transmiting Data Packet, System, Service Box Apparatus And Access Box Apparatus Therefor
KR101198010B1 (en) 2011-04-15 2012-11-07 서강대학교산학협력단 Method and system of controlling data transfer rate for upward vertical handover in overlayed network environment
KR101470575B1 (en) * 2013-04-29 2014-12-10 숭실대학교산학협력단 Network connecting device and method for controlling packet transmission and reception
KR101511225B1 (en) * 2013-04-29 2015-04-13 숭실대학교산학협력단 Network connecting device and method for controlling packet transmisstion and reception

Also Published As

Publication number Publication date
KR20040067343A (en) 2004-07-30

Similar Documents

Publication Publication Date Title
Brown et al. M-TCP: TCP for mobile cellular networks
KR100787294B1 (en) Tcp progress apparatus in mobile communication base station
Balakrishnan et al. Explicit loss notification and wireless web performance
KR100600607B1 (en) A apparatus for ARQ controlling in wireless portable internet system and method therof
KR100785293B1 (en) System and Method for TCP Congestion Control Using Multiple TCP ACKs
US6208620B1 (en) TCP-aware agent sublayer (TAS) for robust TCP over wireless
CN102355462B (en) Method and device for realizing TCP (Transmission Control Protocol) transmission
US6876639B1 (en) Transmission control protocol handoff notification system and method
Haas et al. The design and performance of Mobile TCP for wireless networks
CA2387289C (en) Packet communication method and proposal node
KR20050069902A (en) Method for retransmitting packet in mobile communication system and computer-readable medium recorded program thereof
KR100512983B1 (en) Network connecting device for controlling TCP transmission between wired network and wireless network
US20030128672A1 (en) Transmission and flow control
EP1762052A1 (en) Network feedback method and device
Wong et al. Improving end-to-end performance of TCP using link-layer retransmissions over mobile internetworks
EP1278348A1 (en) Long-lived TCP connection using ICMP messages in wireless mobile communications
Natani et al. TCP For wireless networks
Chan et al. Impacts of handoff on TCP performance in mobile wireless computing
Zhu et al. On making TCP robust against spurious retransmissions
JP2000022744A (en) Packet communication system, packet communication device and packet communication method
JP2003274445A (en) Wireless packet communication apparatus and wireless packet communication method
RU2313192C2 (en) Method for inserting control information about transmission window at radio link control level
Patel et al. TCP over Wireless Networks: Issues, Challenges and Survey of Solutions
KR20030034556A (en) Indirect acknowledgement method in snoop protocol in accordance with the status of a wireless link and packet transmission apparatus in an integrated network using the same method
Thoppian et al. TCP for Wireless Networks

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: 20080708

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee