KR20110013817A - Method of tcp congestion and error control for vertical handover - Google Patents

Method of tcp congestion and error control for vertical handover Download PDF

Info

Publication number
KR20110013817A
KR20110013817A KR1020090071456A KR20090071456A KR20110013817A KR 20110013817 A KR20110013817 A KR 20110013817A KR 1020090071456 A KR1020090071456 A KR 1020090071456A KR 20090071456 A KR20090071456 A KR 20090071456A KR 20110013817 A KR20110013817 A KR 20110013817A
Authority
KR
South Korea
Prior art keywords
tcp
packet
ack
handover
wireless network
Prior art date
Application number
KR1020090071456A
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 KR1020090071456A priority Critical patent/KR20110013817A/en
Publication of KR20110013817A publication Critical patent/KR20110013817A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/04Error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0273Traffic management, e.g. flow control or congestion control adapting protocols for flow control or congestion control to wireless environment, e.g. adapting transmission control protocol [TCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0289Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W36/00Hand-off or reselection arrangements
    • H04W36/14Reselecting a network or an air interface
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/06Transport layer protocols, e.g. TCP [Transport Control Protocol] over wireless

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

PURPOSE: A method for controlling TCP(Transmission Control Protocol) congestion and an error is provided to control the congestion between networks based on a handover information and TCP SACK option information. CONSTITUTION: If an EHN(Explicit Handoff Notification) flag is instituted, a mobile terminal inspects whether an ACK order number to be transmitted has a previously stored first packet order number(616). If the ACK order number includes the previously stored first packet order number, the mobile terminal sets EHN field of the ACK packet(618). The mobile terminal transmits the EHN packet with EHN field of the ACK packet to a corresponding node(620). The mobile terminal cancels the establishment of the fixed EHN flag(622).

Description

수직적 핸드오버를 고려한 TCP 혼잡 및 에러 제어 방법{Method of TCP congestion and error control for vertical handover}Method of TCP congestion and error control for vertical handover}

본 발명은 이종 무선망 환경에서 수직적 핸드오버를 고려한 TCP 혼잡 및 에러 제어 방법에 관한 것으로, 더욱 상세하게는 TCP 송신원(대응 노드)이 TCP 패킷을 TCP 수신원(이동 단말)으로 송신하는 중에 TCP 수신원이 메이크 비포 브레이크(MBB; Make Before Break) 수직적 핸드오버를 수행한 경우에, TCP SACK(Selective ACK)과 미디어 독립 핸드오버(MIH; Media Independent Handover)를 기반으로 TCP 수신원과 TCP 송신원간에 명시적 핸드오버 정보(EHN; Explicit Handoff Notification)를 교환하고, 이 명시적 핸드오버 정보와 TCP SACK 옵션 정보를 기초로 하여 수직적 핸드오버의 이전(old) 망과 새로운(new) 망에 대해 TCP 혼잡 및 에러 제어를 수행하는, 수직적 핸드오버를 고려한 TCP 혼잡 및 에러 제어 방법에 관한 것이다.The present invention relates to a TCP congestion and error control method considering vertical handover in a heterogeneous wireless network environment. More particularly, the present invention relates to TCP reception while a TCP sender (corresponding node) transmits a TCP packet to a TCP receiver (mobile terminal). When a circle performs Make Before Break (MBB) vertical handover, it specifies between the TCP source and the TCP source based on TCP Selective ACK (MIC) and Media Independent Handover (MIH). Explicit Handoff Notification (EHN) is exchanged, and based on this explicit handover information and TCP SACK option information, TCP congestion and The present invention relates to a TCP congestion and error control method considering vertical handover that performs error control.

TCP(Transmission Control Protocol)는 유선망 환경을 가정하여 설계되었기 때문에 패킷 손실을 망의 혼잡으로 간주한다. 즉, 누적(cumulative) ACK를 사용하는 TCP에서 TCP 송신원이 3개의 연속된 중복 ACK(duplicated ACK)를 수신하거나 재전송 타이머 타임아웃이 발생하면, TCP 송신원은 더 이상의 망 혼잡을 방지하기 위해 전송률을 낮추고 손실된 패킷을 재전송하는 혼잡 및 에러 제어를 수행한다.Since Transmission Control Protocol (TCP) is designed assuming a wired network environment, packet loss is regarded as network congestion. That is, in TCP using cumulative ACK, if a TCP sender receives three consecutive duplicated ACKs or a retransmission timer timeout occurs, the TCP sender lowers the transmission rate to prevent further network congestion. Perform congestion and error control to retransmit lost packets.

한편, 무선 환경에서 이동 단말(MN; Mobile Node)의 핸드오버나 무선 링크의 높은 비트 에러율(BER; Bit Error Rate)로 인해 망의 혼잡과 무관한 패킷 손실을 야기한다. 이는 유선망 환경의 TCP를 무선 환경에 적용하는데 있어 TCP의 성능을 저하시킨다.On the other hand, due to a handover of a mobile node (MN) in a wireless environment or a high bit error rate (BER) of a wireless link, packet loss is unrelated to network congestion. This degrades TCP performance in applying TCP in a wired network environment to a wireless environment.

위와 같은 문제를 해결하기 위한 TCP 성능 개선 방법은 종단간(End to End) 방법, 연결 분할(Split connection) 방법 및 지역 회복(Local recovery) 방법으로 나누어진다. 또한, 방식별로 살펴보면, TCP 성능 개선 방법은 Snoop TCP, Indirect TCP 및 Freeze TCP와 같은 대표적 프로토콜이 있다. 이러한 TCP 성능 개선 방법을 구체적으로 살펴보면 다음과 같다.TCP performance improvement methods to solve the above problems are divided into end-to-end method, split connection method and local recovery method. In addition, the method of improving TCP performance includes representative protocols such as Snoop TCP, Indirect TCP, and Freeze TCP. In detail, how to improve TCP performance is as follows.

먼저, 종단간(End-to-End) 방법은 TCP의 송신원 및 수신원의 수정만으로 TCP 성능을 향상시키는 기법이다. 예를 들어, 종단간 기법은 TCP 헤더에 예약된 필드를 이용하여 전체 패킷 손실을 명시적 손실 통지(ELN; Explicit Loss Notification)와 같이 무선 환경에 의한 패킷 손실과 혼잡에 의한 패킷 손실로 구분한다. 그리고 종단간 기법은 패킷 손실 구분에 따라 TCP의 혼잡 및 에러 제어를 수행한다.First, the end-to-end method is a technique for improving TCP performance only by modifying a sender and a receiver of TCP. For example, the end-to-end technique uses a reserved field in the TCP header to classify the total packet loss into packet loss due to congestion and packet loss due to congestion such as Explicit Loss Notification (ELN). And the end-to-end technique performs TCP congestion and error control according to packet loss classification.

다음으로, 연결 분할(Split connection) 방법은 이동 단말과 대응 노드(CN; Correspondent Node)의 경로 상에 있는 기지국(BS; Base Station)에 TCP 송신원 및 수신원을 두고, 이동 단말과 대응 노드 간의 TCP 연결을 단말과 기지국의 연결 및 기지국과 대응 노드의 연결로 나눈다. 이는 이동 단말과 대응 노드 간의 TCP 연결 보다 TCP의 피드백 루프가 짧아진다. 따라서 연결 분할 방법은 무선 채널이나 핸드오버로 인한 패킷 손실을 따로 구분하지 않더라도 일반적인 TCP보다 성능을 향상시킬 수 있다. 또한, 연결 분할 방법은 일반적으로 단말과 기지국 간에 각 무선 접속 기술을 고려한 특화된 TCP를 개발하는데 이용되고 있다.Next, a split connection method includes a TCP sender and a receiver at a base station (BS) in a path of a mobile terminal and a corresponding node (CN), and the TCP between the mobile terminal and the corresponding node. The connection is divided into a connection between the terminal and the base station and a connection between the base station and the corresponding node. This shortens the feedback loop of TCP rather than the TCP connection between the mobile terminal and the corresponding node. Therefore, the connection segmentation method can improve performance over general TCP without separately distinguishing packet loss due to radio channel or handover. In addition, the connection segmentation method is generally used to develop specialized TCP considering each radio access technology between the terminal and the base station.

다음으로, 지역 회복(Local recovery) 방법은 링크 계층 프로토콜의 수정을 통해 전진 에러 수정(FEC; Forward Error Correction) 및 자동 재전송 요구(ARQ; Automatic Repeat reQuest) 등을 이용하여 무선 환경의 패킷 손실을 TCP에 숨기는 방법이다. 예를 들어, 지역 회복 방법이 적용된 무선랜 액세스포인트(AP; Access Point)를 살펴보면 다음과 같다. 무선랜 액세스포인트가 TCP 패킷을 버퍼링하면서 무선 환경에 의한 패킷 손실이 발생하는 경우, TCP 수신원에서 전송하는 중복된 ACK를 대응 노드로 전송하지 않고 무선랜 액세스포인트가 즉각 이동 단말에 해당 패킷을 재전송해 준다.Next, the local recovery method uses packet forward protocol (FEC) and automatic repeat reQuest (ARQ) to correct packet loss in a wireless environment by modifying the link layer protocol. It is a way to hide. For example, a WLAN access point to which the local recovery method is applied is as follows. If the WLAN access point buffers the TCP packet and a packet loss occurs due to the wireless environment, the WLAN access point immediately retransmits the packet to the mobile terminal without transmitting a duplicate ACK transmitted from the TCP receiver to the corresponding node. Do it.

여기서, 지역 회복 방법과 연결 분할 방법은 IPsec(Internet Protocol Security)과 같은 보안 프로토콜이 이용되는 경우에 적용될 수 없다. 또한, 지역 회복 방법과 연결 분할 방법은 기지국에 부하가 증가하고, 기지국에서의 수정을 요하기 때문에 적용하기 곤란한 점이 있다.Here, the local recovery method and the connection partitioning method cannot be applied when a security protocol such as IPsec (Internet Protocol Security) is used. In addition, the local recovery method and the connection division method are difficult to apply because the load on the base station increases and requires modification at the base station.

한편, 대표적 종단간 TCP 성능 개선 방식인 Freeze TCP를 구체적으로 살펴보면 다음과 같다.Meanwhile, the Freeze TCP, a representative end-to-end TCP performance improvement method, will be described in detail.

Freeze TCP에서 TCP 수신원인 이동 단말은 신호 세기를 기반으로 임박한 핸드오버를 예측한다. 핸드오버가 예측되면, 이동 단말은 제로 윈도우 통지(ZWA; Zero Window Advertisement) 패킷을 TCP 송신원에 전송한다. 여기서, 제로 윈도우 통지는 수신 측의 버퍼 크기를 나타내는 통지 윈도우(awnd; advertisement window)를 '0'으로 한 패킷을 의미한다. 다시 말하면, TCP 수신원은 전송하려는 TCP 헤더에 윈도우 필드 값을 '0'으로 하는 ACK를 전송한다. 여기서, 이러한 ACK 패킷을 제로 윈도우 통지(ZWA)라 한다. 그리고 TCP 송신원은 제로 윈도우 통지(ZWA)를 받는 즉시 지속(persist) 모드로 전환한다. 이어서, TCP 송신원은 재전송 타이머 및 데이터 전송을 중지한다. 이후, 이동 단말은 핸드오버가 끝나는 즉시 통지 윈도우(awnd)가 '0'보다 큰 값으로 설정된 3개의 중복된 ACK를 전송한다. 이는 데이터 전송을 재개하기 위함이다. 이와 같은 방법으로 TCP 송신원은 핸드오버로 인한 패킷 손실을 회피할 수 있다.In Freeze TCP, a mobile terminal, which is a TCP receiver, predicts an impending handover based on signal strength. If a handover is anticipated, the mobile terminal sends a Zero Window Advertisement (ZWA) packet to the TCP sender. Here, the zero window notification means a packet in which an advertisement window (awnd) indicating a buffer size of a receiver is set to '0'. In other words, the TCP receiver sends an ACK with a window field value of '0' to the TCP header to be transmitted. Here, such an ACK packet is called a zero window notification (ZWA). The TCP sender then switches to persistent mode as soon as it receives a zero window notification (ZWA). The TCP sender then stops the retransmission timer and data transmission. Thereafter, as soon as the handover ends, the mobile terminal transmits three duplicate ACKs in which the notification window awnd is set to a value greater than '0'. This is to resume data transmission. In this way, the TCP sender can avoid packet loss due to handover.

한편, IEEE 802.21 WG는 802.3, 802.11 WLAN, 802.15 WPAN, 802.16 WMAN와 같은 802 기반 무선망, 그리고 셀룰러 망과 같은 non-802 망 간의 수직적 핸드오버 시에 수행되는 미디어 독립 핸드오버(MIH; Media Independent Handover) 프로토콜의 표준화를 진행하고 있다. MIH 프로토콜은 무선 접속 기술에 무관한 핸드오버 최적화 기술이다.Meanwhile, IEEE 802.21 WG is a media independent handover (MIH) performed during vertical handover between 802 based wireless networks such as 802.3, 802.11 WLAN, 802.15 WPAN, and 802.16 WMAN, and non-802 networks such as cellular networks. Standardization of protocols is underway. MIH protocol is a handover optimization technique irrespective of radio access technology.

여기서, MIHF(Media Independent Handover Function)은 미디어 독립 이벤트 서비스(MIES; Media Independent Event Service), 미디어 독립 명령 서비스(MICS; Media Independent Command Service) 및 미디어 독립 정보 서비스(MIIS; Media Independent Information Service)를 제공한다.Here, the Media Independent Handover Function (MIHF) provides a Media Independent Event Service (MIES), a Media Independent Command Service (MICS), and a Media Independent Information Service (MIIS). do.

이 중에서, 미디어 독립 이벤트 서비스(MIES)는 임박한 핸드오버의 경고 또는 핸드오버 수행 완료와 같은 링크 계층 정보를 상위 계층에 전달하는 서비스를 말한다. 미디어 독립 이벤트 서비스(MIES)는 "MIH Link Up", "MIH Link Down" 및 "MIH Link Going Down"과 같은 이벤트가 있다.Among these, the media independent event service (MIES) refers to a service that delivers link layer information such as warning of impending handover or completion of handover to a higher layer. The Media Independent Event Service (MIES) has events such as "MIH Link Up", "MIH Link Down" and "MIH Link Going Down".

미디어 독립 명령 서비스(MICS)는 상위 계층들과 다른 MIHF 사용자들이 무선 인터페이스 동작을 조정하기 위해 L3 이상의 상위 계층이 L2 이하의 계층으로 보내기 위한 서비스를 말한다. 이러한 명령을 살펴보면, 핸드오버를 수행하라는 명령(MIH_MN_HO_Commit) 또는 링크 파라미터를 요청하는 명령(MIH_Link_Get_Parameters)이 있다.Media Independent Command Service (MICS) refers to a service for upper layers and other MIHF users to send a layer above L3 to a layer below L2 for coordinating air interface operation. Looking at such a command, there is a command to perform a handover (MIH_MN_HO_Commit) or a command to request link parameters (MIH_Link_Get_Parameters).

미디어 독립 정보 서비스(MIIS)는 이동 단말의 위치를 기반으로 지리적인 영역 내의 동종 또는 이종망으로 정보를 전송하기 위한 서비스를 말한다. 이동 단말과 지리적인 영역 내의 동종 또는 이종망은 미디어 독립 정보 서비스를 통하여 다양한 정보 요소를 획득한다. 그리고 미디어 독립 정보 서비스(MIIS)는 그 획득된 다양한 정보 요소를 핸드오버의 최적화 등을 위해 사용한다.Media Independent Information Service (MIIS) refers to a service for transmitting information to a homogeneous or heterogeneous network in a geographical area based on the location of a mobile terminal. Homogeneous or heterogeneous networks within the geographical area with the mobile terminal obtain various information elements through media independent information services. The Media Independent Information Service (MIIS) uses the obtained various information elements for optimization of handover.

한편, 종래의 TCP는 브레이크 비포 메이크(BBM; Break Before Make) 핸드오버 방식을 주로 가정하여 연구되었다. 즉, 브레이크 비포 메이크(BBM) 핸드오버 방식은 이동 단말이 핸드오버 대상망에 접속하기 전에 현재 접속망을 끊는 방식을 말한다.On the other hand, the conventional TCP has been studied assuming a break before make (BBM) handover method mainly. That is, the break before make (BBM) handover method refers to a method in which the mobile terminal disconnects the current access network before accessing the handover target network.

또한, 종래의 TCP는 동종망 간의 핸드오버만을 고려하여 연구되었다. 따라서 종래의 TCP는 브레이크 비포 메이크 핸드오버로 인해 발생하는 패킷 손실을 방지하는 접근법(예컨대, Freeze TCP) 또는 감추는 접근법(예컨대, Snoop TCP)을 이용한다. 동종망 간의 핸드오버이기 때문에, 망 특성은 핸드오버 이전이나 이후나 크게 변화가 없다. 따라서 종래의 TCP는 패킷 손실을 방지하거나 감추어 핸드오버 이후에 이전의 상태 정보를 바탕으로 전송을 재개하게 된다. 종래의 TCP는 이러한 패킷 손실 방지나 감추는 방식을 통해 TCP의 수율 향상을 도모할 수 있다.In addition, the conventional TCP has been studied considering only handover between homogeneous networks. Thus, conventional TCP uses an approach (eg, Freeze TCP) or a concealment (eg, Snoop TCP) to prevent packet loss caused by break non-make handover. Since it is a handover between homogeneous networks, the network characteristics do not change significantly before or after handover. Therefore, the conventional TCP prevents or hides packet loss and resumes transmission based on previous state information after the handover. Conventional TCP can improve the yield of TCP by preventing or concealing such packet loss.

한편, 수직적 핸드오버의 경우에 이동 단말은 하나 이상의 인터페이스를 가지는 멀티 모드 단말을 말한다. 이러한 수직적 핸드오버의 경우에는 메이크 비포 브레이크(MBB; Make Before Brake) 형태로의 핸드오버가 가능하여 핸드오버로 인한 패킷 손실은 없다. 하지만, 이종망 간의 수직적 핸드오버는 급격한 종단간 경로 상태(예; 지연, 가용 대역폭)의 변화를 야기한다. 결국, 종래 이종 무선망 환경의 MBB 수직적 핸드오버에 적용되는 TCP 기술은 이러한 급격한 종단간 경로 상태 변화에 따른 TCP 성능 저하 문제를 해결할 수 없는 문제점이 있다.Meanwhile, in the case of vertical handover, a mobile terminal refers to a multi-mode terminal having one or more interfaces. In the case of such vertical handover, handover in the form of Make Before Brake (MBB) is possible, and there is no packet loss due to the handover. However, vertical handovers between heterogeneous networks cause rapid changes in end-to-end path state (eg delay, available bandwidth). As a result, the TCP technology applied to the MBB vertical handover in the heterogeneous wireless network environment has a problem that the TCP performance degradation problem caused by the sudden end-to-end path state change cannot be solved.

여기서, 수직적 핸드오버는 크게 서비스 커버리지가 넓은 지역에서 좁은 지역으로 핸드오버하는 하향(downward) 수직적 핸드오버와 반대의 경우인 상향(upward) 수직적 핸드오버로 나누어진다. 서비스 커버리지가 작아지는 하향 수직적 핸드오버의 경우에 핸드오버 대상망은 이전(old) 망보다 빠른 전송 속도와 짧은 지연 시간을 제공한다. 이와 반대로 상향 수직적 핸드오버의 경우에 핸드오버 대상망은 이전(old) 망보다 서비스 커버리지는 넓어지나 전송 속도가 늦어지고 지연 시간이 커지게 된다.Here, the vertical handover is divided into an upward vertical handover, which is the opposite of the downward vertical handover, which is handovered from a large area to a narrow area. In the case of vertical vertical handover with reduced service coverage, the handover target network provides faster transmission speed and shorter delay time than the old network. In contrast, in the case of upward vertical handover, the handover target network has a wider service coverage than the old network, but the transmission speed is slow and the delay time is large.

도 1은 WCDMA 망에서 WIBRO 망으로 하향 수직적 핸드오버를 수행하는 경우에 패킷 재순서화를 보여주기 위한 실시예 설명도이다.FIG. 1 is a diagram illustrating an embodiment of packet reordering when downlink vertical handover is performed from a WCDMA network to a WIBRO network.

도 1에 도시된 바와 같이, 대응 노드(CN)(110)는 WCDMA 망(10)으로 1번 패킷 내지 6번 패킷까지의 패킷을 전송한 상태에서 이동 단말(MN)(120)은 WIBRO 망(20)으로 핸드오버하고 있다. 이동 단말(120)은 모바일 아이피 주소(Mobile IP) 등록 과정을 수행한다.As shown in FIG. 1, the MN 120 transmits a packet from packets 1 to 6 to the WCDMA network 10. Handover to 20). The mobile terminal 120 performs a mobile IP address registration process.

모바일 아이피 주소 등록 과정 후에, 이동 단말(120)은 홈 에이전트(HA; Home Agent)로부터 WCDMA 망(10)보다 대역폭이 넓고 지연이 짧은 WIBRO 망(20)을 통해 7번 패킷 이후의 8번 패킷 내지 15번 패킷을 수신한다. WIBRO 망(20)의 대역폭이 넓고 지연이 상대적으로 짧기 때문에 이동 단말(120)은 1번 패킷을 수신한 뒤 2번 패킷을 수신받기 전에 7번 패킷 내지 9번 패킷을 수신할 수 있다.After the mobile IP address registration process, the mobile terminal 120 from the Home Agent (HA) through the WIBRO network 20 having a wider bandwidth and a shorter delay than the WCDMA network 10, packet 8 after the packet 7 Receive packet 15. Since the bandwidth of the WIBRO network 20 is wide and the delay is relatively short, the mobile terminal 120 may receive packets 7 to 9 after receiving packet 1 and before receiving packet 2.

여기서, 누적(cumulative) ACK를 사용하는 TCP 수신원인 이동 단말(120)은 7번 내지 8번 패킷을 수신하면 각각에 대해 2번 패킷을 순서 번호로 하는 중복 ACK를 TCP 송신원인 대응 노드(110)에 보낸다. TCP 송신원인 대응 노드(110)는 3개의 중복된 ACK를 수신하면 망의 혼잡이 일어났다고 판단하고 혼잡 제어 및 에러 제어를 수행한다.Here, the mobile terminal 120, which is a TCP receiver using a cumulative ACK, receives a packet from 7 to 8, and the corresponding node 110, which is a TCP sender, generates a duplicate ACK for each packet as a sequence number. Send to The correspondent node 110, which is a TCP transmission source, determines that network congestion has occurred when three duplicate ACKs are received, and performs congestion control and error control.

이와 반대로, TCP 수신원인 이동 단말(120)이 WIBRO 망(20)에서 WCDMA 망(10)으로 핸드오버하는 경우를 살펴보면 다음과 같다. 왕복 시간(RTT; Round Trip Time)을 기반으로 TCP가 관리하는 재전송 타이머 타임아웃 값은 지연이 짧은 WIBRO 망(20)에서의 패킷 송수신 결과로 추정한다. 따라서 WIBRO 망(20)에서 WCDMA 망(10)으로 핸드오버하는 경우 즉, 상향 수직적 핸드오버를 하는 경우에 무선망에서의 급격한 지연 증가는 재전송 타임 아웃을 일으키기가 쉽다. 이처럼 핸드오버 이전망과 핸드오버 대상망 간의 특성(예를 들면, 지연, 대역폭)의 급격한 변화를 야기하는 하향 또는 상향 수직적 핸드오버는 메이크 비포 브레이크(MBB)를 지원하더라도 TCP의 심각한 성능 저하를 야기한다는 문제점이 있다.On the contrary, a case in which the mobile terminal 120, which is a TCP receiver, performs a handover from the WIBRO network 20 to the WCDMA network 10 is as follows. The retransmission timer timeout value managed by TCP based on the round trip time (RTT) is estimated as a result of packet transmission and reception in the WIBRO network 20 having a short delay. Therefore, when a handover is performed from the WIBRO network 20 to the WCDMA network 10, that is, in the case of up-vertical handover, a sudden delay increase in the wireless network is likely to cause a retransmission timeout. As such, downward or upward vertical handover, which causes a drastic change in the characteristics (eg, delay, bandwidth) between the previous handover network and the handover target network, causes severe performance degradation of TCP even if it supports make non-break. There is a problem.

따라서, 핸드오버 이전망과 핸드오버 대상망 간의 특성(예; 지연, 대역폭)의 급격한 변화를 야기하는 이종 무선망간의 하향 수직적 핸드오버 또는 상향 수직적 핸드오버에 대해, TCP의 심각한 성능 저하를 해결할 수 있는 기술이 절실히 요구되고 있다.Therefore, for the down-vertical handover or the up-vertical handover between heterogeneous wireless networks that cause a sudden change in the characteristics (eg, delay, bandwidth) between the previous handover network and the handover target network, the severe performance degradation of TCP can be solved. Technology is desperately needed.

이에, 본 발명은 상기와 같은 문제점을 해결하고 상기와 같은 요구에 부응하기 위하여 제안된 것으로, TCP 송신원(대응 노드)이 TCP 패킷을 TCP 수신원(이동 단말)으로 송신하는 중에 TCP 수신원이 메이크 비포 브레이크(MBB; Make Before Break) 수직적 핸드오버를 수행한 경우에, TCP SACK(Selective ACK)과 미디어 독립 핸드오버(MIH; Media Independent Handover)를 기반으로 TCP 수신원과 TCP 송신원간에 명시적 핸드오버 정보(EHN; Explicit Handoff Notification)를 교환하고, 이 명시적 핸드오버 정보와 TCP SACK 옵션 정보를 기초로 하여 수직적 핸드오버의 이전(old) 망과 새로운(new) 망에 대해 TCP 혼잡 및 에러 제어를 수행하는, 수직적 핸드오버를 고려한 TCP 혼잡 및 에러 제어 방법을 제공하는데 그 목적이 있다.Accordingly, the present invention has been proposed to solve the above problems and to meet the above demands, and the TCP receiver makes a request while the TCP sender (corresponding node) transmits the TCP packet to the TCP receiver (mobile terminal). Explicit handover between a TCP source and a TCP source based on TCP Selective ACK (MIC) and Media Independent Handover (MIH) when performing a Make Before Break (MBB) vertical handover Exchanges information (EHN) and performs TCP congestion and error control on the old and new networks of vertical handover based on this explicit handover information and TCP SACK option information. It is an object of the present invention to provide a TCP congestion and error control method considering vertical handover.

본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.The objects of the present invention are not limited to the above-mentioned objects, and other objects and advantages of the present invention which are not mentioned can be understood by the following description, and will be more clearly understood by the embodiments of the present invention. Also, it will be readily appreciated that the objects and advantages of the present invention may be realized by the means and combinations thereof indicated in the claims.

상기의 목적을 달성하기 위한 본 발명의 제1 방법은, TCP 송신원에서의 수직적 핸드오버를 고려한 TCP 혼잡 및 에러 제어 방법에 있어서, TCP 수신원으로부터 수신받은 ACK 패킷에 명시적 핸드오버 통지 정보가 포함되어 있는지 여부와 중복 ACK인지 여부에 따라, 핸드오버 이전망(이하 '제1 무선망')과 핸드오버 대상망(이하 '제2 무선망')의 TCP 상태 정보를 서로 분리하여 관리하는 상태 정보 관리 단계; 상기 분리된 제1 및 제2 무선망의 TCP 상태 정보를 기반으로 상기 수신받은 ACK 패킷의 SACK 옵션 정보에 기초하여 TCP 혼잡 및 에러를 각 망별로 제어하는 제1 혼잡 및 에러 제어 단계; 및 상기 수신받은 ACK 패킷의 SACK 옵션 정보와 중복 ACK인지 여부에 따라 상기 제1 혼잡 및 에러 제어 단계를 지속적으로 수행하거나, 상기 제2 무선망의 TCP 상태 정보를 기반으로 TCP 혼잡 및 에러를 제어하는 제2 혼잡 및 에러 제어 단계를 포함한다.According to a first method of the present invention for achieving the above object, a TCP congestion and error control method considering vertical handover in a TCP transmission source includes explicit handover notification information in an ACK packet received from a TCP reception source. Status information for separately managing the TCP status information of the handover transfer network (hereinafter referred to as 'first wireless network') and the handover target network (hereinafter referred to as 'second wireless network') according to whether or not it is a duplicate ACK. Management step; A first congestion and error control step of controlling TCP congestion and errors for each network based on the SACK option information of the received ACK packet based on the separated TCP state information of the first and second wireless networks; And continuously performing the first congestion and error control step or controlling TCP congestion and errors based on the TCP state information of the second wireless network according to whether the received ACK packet is the duplicated ACK and the SACK option information of the received ACK packet. A second congestion and error control step.

한편, 본 발명의 제2 방법은, TCP 수신원에서의 수직적 핸드오버를 고려한 TCP 혼잡 및 에러 제어 방법에 있어서, 제1 무선망을 통해 TCP 송신원으로부터 패킷을 수신하고 있다가, 미디어 독립 핸드오버 방식으로 제2 무선망으로 수직적 핸드오버하는 핸드오버 단계; 상기 제1 무선망에 대해 기 설정된 TCP 처리에 따라 ACK 패킷을 생성하되, 상기 제2 무선망을 통해 첫 번째 패킷을 수신하면 명시적 핸드오버 통지 정보를 포함시켜 ACK 패킷을 생성하는 ACK 패킷 생성 단계; 및 상기 생성한 ACK 패킷을 상기 TCP 송신원으로 전송하는 ACK 패킷 전송 단계를 포함한다.On the other hand, according to the second method of the present invention, in the TCP congestion and error control method considering the vertical handover at the TCP reception source, the packet is received from the TCP transmission source via the first wireless network, and then the media independent handover method. A handover step of vertical handover to the second wireless network with; An ACK packet generation step of generating an ACK packet according to a preset TCP process for the first wireless network, and generating an ACK packet by including explicit handover notification information when receiving the first packet through the second wireless network. ; And an ACK packet transmission step of transmitting the generated ACK packet to the TCP transmission source.

상기와 같은 본 발명은 이종 무선망 환경에서 MBB 핸드오버[하향 수직적 핸드오버, 상향 수직적 핸드오버]에 따른 TCP 혼잡 및 에러를 효율적으로 제어할 수 있는 효과가 있다.As described above, the present invention has an effect of efficiently controlling TCP congestion and errors due to MBB handover (downward vertical handover, upward vertical handover) in a heterogeneous wireless network environment.

또한, 본 발명은 MIH와 TCP SACK 옵션에 포함된 정보를 이용하여 MBB 기반의 수직적 핸드오버로 인한 패킷 재순서화 및 성급한 타임아웃에 의한 TCP 성능 저하를 효율적으로 방지할 수 있는 효과가 있다.In addition, the present invention has the effect of effectively preventing the TCP performance degradation due to the packet reordering and hasty timeout due to MBB-based vertical handover by using the information included in the MIH and TCP SACK option.

또한, 본 발명은 종래의 TCP 혼잡 및 에러 제어 기법을 그대로 사용할 수 있기에 구현의 복잡성이 낮으며, MIH 및 본 발명의 TCP를 지원하지 않는 환경에서 종래와 동일한 절차를 따르도록 구현할 수 있어 호환성을 제공할 수 있으며, 망 장비 요소의 변경을 필요로 하지 않기 때문에 본 발명의 기법을 어떠한 이종 무선망 환경에도 쉽게 도입해 사용할 수 있도록 하는 효과가 있다.In addition, since the present invention can use the conventional TCP congestion and error control technique as it is, the complexity of the implementation is low, and it can be implemented to follow the same procedure as the conventional method in the environment that does not support MIH and TCP of the present invention to provide compatibility. And since there is no need to change the network equipment elements, there is an effect that the technique of the present invention can be easily introduced and used in any heterogeneous wireless network environment.

상술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되어 있는 상세한 설명을 통하여 보다 명확해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다.BRIEF DESCRIPTION OF THE DRAWINGS The above and other objects, features and advantages of the present invention will become more apparent from the following detailed description of the present invention when taken in conjunction with the accompanying drawings, It can be easily carried out. In the following description, well-known functions or constructions are not described in detail since they would obscure the invention in unnecessary detail. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 2는 본 발명이 적용되는 메이크 비포 브레이크(Make before break) 핸드오버가 수행되는 이종 무선망 환경에 대한 일실시예 구성도이다.FIG. 2 is a diagram illustrating an embodiment of a heterogeneous wireless network environment in which a make before break handover to which the present invention is applied is performed.

이종 무선망 환경은 다양한 무선망으로 구성될 수 있다. 일예로, 본 발명이 적용되는 이종 무선망 환경이 WIBRO 망과 WCDMA 망으로 이루어져 있다고 가정하기로 한다. 여기서, WIBRO 망과 WCDMA 망은 MIH 및 IP 이동성을 위한 모바일 IP(Mobile IP) FA CoA가 도입되어 있다.The heterogeneous wireless network environment may consist of various wireless networks. For example, it is assumed that a heterogeneous wireless network environment to which the present invention is applied consists of a WIBRO network and a WCDMA network. Here, the WIBRO network and the WCDMA network have introduced Mobile IP FA CoA for MIH and IP mobility.

도 2에 도시된 바와 같이, 메이크 비포 브레이크(Make before break) 핸드오버가 수행되는 이종 무선망은 대응 노드(CN; Correspondent Node)(210)와 이동 단말(MN; Mobile Node)(220) 사이에 위치해 있으며, 홈 에이전트(HA; Home Agent)(230), ACR(Access Control Router)(240), RAS(Radio Access Station)(241), GGSN(Gateway GPRS Support Node)(250), SGSN(Serving GPRS Support Node)(251), RNC(Radio Network Control)(252) 및 노드 B(253)를 포함한다.As shown in FIG. 2, a heterogeneous wireless network in which make before break handover is performed is performed between a Correspondent Node (CN) 210 and a Mobile Node (MN) 220. Home Agent (HA) 230, Access Control Router (ACR) 240, Radio Access Station (RAS) 241, Gateway GPRS Support Node (GGSN) 250, Serving GPRS (SGSN) Support Node (251), Radio Network Control (RNC) 252, and Node B 253.

이하, 본 발명을 설명하는데 있어 WIBRO 망 및 WCDMA 망에서 대응 노드(210)는 TCP 송신원이고, 이동 단말(220)은 TCP 수신원이라 하자. 또한, 본 발명에서는 핸드오버 이전에 이동 단말(220)이 접속해 있는 망을 이전(old) 망, 핸드오버하여 접속한 망을 새로운(new) 망이라 한다. 이동 단말(220) 관점에서 각 망에 접속 인터페이스(NIC; Network Interface Card)를 각각 이전(old) 인터페이스 및 새로운(new) 인터페이스라 한다.In the following description of the present invention, it is assumed that the corresponding node 210 is a TCP transmission source and the mobile terminal 220 is a TCP reception source in the WIBRO network and the WCDMA network. In addition, in the present invention, the network to which the mobile terminal 220 is connected before the handover is called an old network, and a network connected by handover is called a new network. Network interface cards (NICs) are referred to as an old interface and a new interface, respectively, from a mobile terminal 220 perspective.

위와 같은 이종 무선망 환경에서 TCP 송신원인 대응 노드(210)가 TCP 수신원인 이동 단말(220)로 TCP 패킷(데이터)를 전송하는 도중, 이동 단말(220)이 WIBRO 망에서 WCDMA 망으로 핸드오버하는 과정이 도 2에 도시되어 있다.In the heterogeneous wireless network environment as described above, while the corresponding node 210 as the TCP sender transmits the TCP packet (data) to the mobile terminal 220 as the TCP receiver, the mobile terminal 220 performs a handover from the WIBRO network to the WCDMA network. The process is shown in FIG.

TCP 패킷 전송 과정을 살펴보면, 홈 에이전트(230)는 대응 노드(210)로부터 전송받은 패킷을 홈 에이전트(230) 및 핸드오버 이전(old) 외부 에이전트(FA; Foreign Agent)인 ACR(240) 간의 터널인 HA 및 FA간 터널을 통해 이전 외부 에이전트인 ACR(240)로 전송한다. 이어서, 이전 외부 에이전트인 ACR(240)는 HA 및 FA간 터널을 통해 전송받은 패킷을 이동 단말(220)로 전송한다.Referring to the TCP packet transmission process, the home agent 230 tunnels the packet received from the corresponding node 210 between the home agent 230 and the ACR 240 which is an old foreign agent (FA). It transmits to the ACR 240 which is the previous foreign agent through the tunnel between HA and FA. Subsequently, the former foreign agent ACR 240 transmits the packet received through the tunnel between the HA and FA to the mobile terminal 220.

반대로, 이동 단말(220)은 패킷을 핸드오버 이전 외부 에이전트(FA)인 ACR(240)로 전송한다. 이전 외부 에이전트인 ACR(240)은 이동 단말(220)로부터 전송받은 패킷을 홈 에이전트(HA)(230)로 HA 및 FA 간의 터널을 통해 전송하고, 홈 에이전트(HA)(230)는 이 패킷을 대응 노드(210)로 전송한다. HA 및 FA 간의 터널의 양끝단인 홈 에이전트(HA)(230) 및 외부 에이전트(240)는 터널링된 패킷의 바깥 헤더를 제거하여 외부 인터넷 망 또는 이동 단말(220)로 헤더가 제거된 패킷을 전송한다.In contrast, the mobile terminal 220 transmits the packet to the ACR 240 which is a foreign agent (FA) before handover. ACR 240, which is a previous foreign agent, transmits a packet received from the mobile terminal 220 to the home agent (HA) 230 through a tunnel between the HA and the FA, and the home agent (HA) 230 transmits the packet. Transmit to the corresponding node 210. The home agent (HA) 230 and the external agent 240, which are both ends of the tunnel between the HA and the FA, remove the outer header of the tunneled packet and transmit the header-removed packet to the external Internet network or the mobile terminal 220. do.

이종망간 핸드오버 과정을 살펴보면, 이동 단말(220)이 WIBRO망에서 WCDMA 망으로 이동한다. 이어서, 이동 단말(220)은 모바일 IP 주소 등록 요구(Registration Request) 메시지를 홈 에이전트(230)로 전송한다. 홈 에이전트(230)는 인증 수행 후, HA 및 FA 간의 터널을 생성한다. 홈 에이전트(230)는 HA 및 FA 간의 터널 생성에 대한 정보를 등록 응답(Registration Reply) 메시지를 통 해 새로운 외부 에이전트인 GGSN(250)에 통지한다.Referring to the handover process between heterogeneous networks, the mobile terminal 220 moves from the WIBRO network to the WCDMA network. Subsequently, the mobile terminal 220 transmits a mobile IP address registration request message to the home agent 230. The home agent 230 creates a tunnel between the HA and the FA after performing authentication. The home agent 230 notifies GGSN 250, a new foreign agent, through a Registration Reply message, about the tunnel creation between the HA and the FA.

여기서, GGSN(250)은 패킷 정보를 취급하고 인터넷 망과 대응 노드(210)를 연결하는 기능을 수행한다. SGSN(251)은 패킷 정보를 다루며 자신의 영역 안으로 들어오는 이동 단말(220)을 감지하고 패킷 송수신을 제어하는 기능을 수행한다. RNC(252)는 노드 B(253)에 연결되어 있으며, 노드 B(253)를 제어할 뿐만 아니라 통신 자원을 할당하거나 핸드오버와 관련된 기능을 수행한다. 노드 B(253)은 여러 개의 셀(Cell)들과 그에 상응하는 반송파들을 가진다. 또한, 노드 B(253)은 이 셀들 안에 존재하는 다수의 이동 단말(220)들과 연결되어 있으며 이에 사용되는 주파수들을 확보하고 있다.Here, the GGSN 250 handles packet information and performs a function of connecting the Internet network and the corresponding node 210. The SGSN 251 handles packet information and detects a mobile terminal 220 coming into its own area and performs a function of controlling packet transmission and reception. The RNC 252 is connected to the Node B 253 and not only controls the Node B 253 but also allocates communication resources or performs functions related to handover. Node B 253 has a number of cells (Cell) and the corresponding carriers. Node B 253 is also connected to a number of mobile terminals 220 present in these cells and secures frequencies used therein.

도 3a 내지 도 3c는 본 발명에서 사용하는 TCP 선택적 승인(SACK) 옵션 포맷 및 동작에 대한 일실시예 설명도이다.3A to 3C are diagrams illustrating an embodiment of TCP selective acknowledgment (SACK) option format and operation used in the present invention.

도 3a 내지 도 3c에 도시된 바와 같이, 이동 단말(220)은 SACK를 이용하면 자신의 수신큐(310) 상태를 확인하여 손실되지 않은 패킷에 대한 정확한 정보를 ACK에 추가하여 대응 노드(210)에 통지한다. 즉, TCP 선택적 승인(SACK; Selective Acknowledgment) 수신원인 이동 단말(220)은 중복 ACK를 송신할 때, 선택적으로 자신이 성공적으로 수신한 부분에 대한 블록 정보를 ACK의 TCP 옵션 필드를 이용하여 대응 노드(210)로 전송한다. 이후, 대응 노드(210)는 이 ACK를 기반으로 손실이 발생한 패킷만을 재전송한다.As shown in FIGS. 3A to 3C, when the SACK is used, the mobile terminal 220 checks the state of its reception queue 310 and adds accurate information about the packet not lost to the ACK to correspond to the corresponding node 210. Notify That is, when the mobile terminal 220, which is a TCP selective acknowledgment (SACK) receiver, transmits a duplicate ACK, it selectively provides block information on a portion thereof successfully received using a TCP option field of the ACK. Transmit to 210. Thereafter, the correspondent node 210 retransmits only the packet in which loss occurs based on the ACK.

도 3a에 도시된 바와 같이, SACK를 이용하기 위해서 두 개의 옵션이 이용된다. 두 개의 옵션은 16비트 길이를 가지는 SACK 허용 옵션(SACK Permitted Option) 과 32비트의 길이를 가지는 TCP SACK 옵션으로 이루어져 있다.As shown in FIG. 3A, two options are used to use SACK. The two options consist of a 16-bit SACK Permitted Option and a 32-bit TCP SACK option.

SACK 허용 옵션은 SACK의 이용을 대응 노드(210)와 이동 단말(220)이 서로 알리고 합의하기 위한 옵션이다. TCP SACK 옵션은 실제로 이동 단말(220)이 대응 노드(210)로 전송하는 ACK에 자신의 수신큐(310)에 대한 블록 정보를 추가하기 위해서 이용되는 옵션이다. 대응 노드(210)와 이동 단말(220)은 SACK 허용 옵션을 통해 설정될 연결 과정에서 TCP SACK 옵션에 대한 이용을 서로 알리고 합의하게 된다. SACK 허용 옵션의 종류(kind)는 옵션의 종류를 구분하기 위한 것이고, 길이(length)는 옵션 필드의 전체 길이를 나타낸다. 예를 들면, SACK 허용 옵션의 종류는 5이고, 길이는 5이다. 그리고 각 블록 정보는 첫 번째 블록(1st Block)부터 n번째 블록(nth Block)까지 각 블록에 포함되는 왼쪽 패킷 번호(LE: Left Edge)와 오른쪽 패킷 번호(RE: Right Edge)로 이루어진다.The SACK allowance option is an option for the corresponding node 210 and the mobile terminal 220 to inform and agree on the use of the SACK. The TCP SACK option is actually used to add block information about its reception queue 310 to the ACK transmitted by the mobile terminal 220 to the corresponding node 210. The corresponding node 210 and the mobile terminal 220 inform and agree with each other on the use of the TCP SACK option in the connection process to be established through the SACK allowance option. The kind of the SACK allowable option is for distinguishing the type of the option, and the length indicates the total length of the option field. For example, the type of SACK allowance option is 5, and the length is 5. Each block information includes a left packet number (LE) and a right packet number (RE: right edge) included in each block from the first block to the nth block.

도 3b에 도시된 바와 같이, 이동 단말(220)의 수신큐(310)는 패킷 번호에 대응하는 블록으로 이루어져 있다. 수신큐(310)는 이동 단말(220)에서 전송받은 패킷 번호와 대응하는 블록에 각 패킷을 블록별로 저장한다. 예를 들어, 이동 단말(220)이 2번, 4번, 5번, 6번 및 8번 패킷을 수신받고, 1번, 3번 및 7번 패킷을 수신받지 못한 경우에, 수신큐(310)는 도 3b와 같이 수신받은 패킷 번호에 대응하는 블록에 패킷을 저장한다.As shown in FIG. 3B, the reception queue 310 of the mobile terminal 220 includes blocks corresponding to packet numbers. The reception queue 310 stores each packet for each block in a block corresponding to the packet number received from the mobile terminal 220. For example, when the mobile terminal 220 receives packets 2, 4, 5, 6 and 8, and does not receive packets 1, 3 and 7, the reception queue 310 is received. 3 stores the packet in a block corresponding to the received packet number as shown in FIG. 3B.

이동 단말(220)이 선택적 승인을 이용하여 선택적으로 자신이 성공적으로 수신한 부분에 대한 블록 정보를 대응 노드(210)로 전송하는 과정을 도 3c를 참조하여 살펴보기로 한다.A process in which the mobile terminal 220 selectively transmits block information on a portion successfully received by the mobile terminal 220 to the corresponding node 210 using the selective approval will be described with reference to FIG. 3C.

대응 노드(210)와 이동 단말(220) 간의 선택적 승인의 이용에 대한 합의가 된 상태에서, 대응 노드(210)가 1번 내지 8번 패킷을 이동 단말(220)로 차례대로 전송한다. 이동 단말(220)은 1번 패킷부터 순서대로 수신받고 자신의 수신큐(310)에 대응되는 블록에 패킷을 저장한다.With agreement on the use of selective acknowledgment between the correspondent node 210 and the mobile terminal 220, the correspondent node 210 sequentially sends packets 1-8 to the mobile terminal 220. The mobile terminal 220 receives the packets in order from the first packet and stores the packets in a block corresponding to the reception queue 310 of the mobile terminal 220.

이동 단말(220)이 손실로 인하여 1번 패킷을 수신받지 못하고 2번 패킷을 수신받으면, 이동 단말(220)은 첫 번째 중복 ACK(301)를 대응 노드(210)로 전송한다. 첫 번째 중복 ACK(301)는 왼쪽 패킷 번호(LE)와 오른쪽 패킷 번호(RE)가 '2'로 표시된 TCP SACK 옵션을 가진다.When the mobile terminal 220 does not receive the first packet due to the loss and receives the second packet, the mobile terminal 220 transmits the first redundant ACK 301 to the corresponding node 210. The first duplicate ACK 301 has a TCP SACK option in which the left packet number LE and the right packet number RE are marked with '2'.

그리고 이동 단말(220)이 손실로 인하여 1번 및 3번 패킷을 수신받지 못하고 4번 패킷을 수신받으면, 이동 단말(220)은 두 번째 중복 ACK(302)를 대응 노드(210)로 전송한다. 두 번째 중복 ACK(302)는 두 개의 블록을 가지며, 두 개의 블록에 각각 왼쪽 패킷 번호(LE)와 오른쪽 패킷 번호(RE)가 '2'와 '4'로 표시된 TCP SACK 옵션을 가진다.If the mobile terminal 220 does not receive packets 1 and 3 due to loss and receives packet 4, the mobile terminal 220 transmits a second redundant ACK 302 to the corresponding node 210. The second redundant ACK 302 has two blocks, and each of the two blocks has a TCP SACK option in which the left packet number LE and the right packet number RE are represented by '2' and '4'.

이어서, 이동 단말(220)이 손실로 인하여 1번 및 3번 패킷을 수신받지 못하고 4번, 5번 및 6번 패킷을 차례대로 수신받으면, 이동 단말(220)은 세 번째 및 네 번째 중복 ACK(303)를 대응 노드(210)로 전송한다.Subsequently, when the mobile terminal 220 does not receive packets 1 and 3 due to loss and receives packets 4, 5 and 6 in order, the mobile terminal 220 receives the third and fourth redundant ACKs ( 303 is transmitted to the corresponding node 210.

세 번째 중복 ACK(303)는 두 개의 TCP SACK 옵션 블록을 가진다. 여기서, 상위 블록은 왼쪽 패킷 번호(LE)와 오른쪽 패킷 번호(RE)가 각각 '4'와 '5'로 표시된 TCP SACK 옵션을 가진다. 하위 블록은 왼쪽 패킷 번호(LE)와 오른쪽 패킷 번호(RE)가 '2'로 표시된 TCP SACK 옵션을 가진다.The third redundant ACK 303 has two TCP SACK option blocks. Here, the upper block has a TCP SACK option in which the left packet number LE and the right packet number RE are represented by '4' and '5', respectively. The lower block has a TCP SACK option in which the left packet number (LE) and the right packet number (RE) are indicated by '2'.

다음으로, 네 번째 중복 ACK(304)는 두 개의 TCP SACK 옵션 블록을 가진다. 여기서, 상위 블록은 왼쪽 패킷 번호(LE)와 오른쪽 패킷 번호(RE)가 각각 '4'와 '6'으로 표시된 TCP SACK 옵션을 가진다. 하위 블록은 왼쪽 패킷 번호(LE)와 오른쪽 패킷 번호(RE)가 '2'로 표시된 TCP SACK 옵션을 가진다.Next, the fourth redundant ACK 304 has two TCP SACK option blocks. Here, the upper block has a TCP SACK option in which the left packet number LE and the right packet number RE are represented by '4' and '6', respectively. The lower block has a TCP SACK option in which the left packet number (LE) and the right packet number (RE) are indicated by '2'.

이후, 이동 단말(220)이 손실로 인하여 1번, 3번 및 7번 패킷을 수신받지 못하고 4번, 5번 및 6번 및 8번 패킷을 차례대로 수신받으면, 이동 단말(220)은 다섯 번째 중복 ACK(305)를 대응 노드(210)로 전송한다.Subsequently, if the mobile terminal 220 does not receive packets 1, 3, and 7 due to loss and receives packets 4, 5, 6, and 8 in order, the mobile terminal 220 receives the fifth packet. The duplicate ACK 305 is transmitted to the corresponding node 210.

다섯 번째 중복 ACK(305)는 세 개의 TCP SACK 옵션 블록을 가진다. 여기서, 상위 블록은 왼쪽 패킷 번호(LE)와 오른쪽 패킷 번호(RE)가 각각 '8'와 '8'로 표시된 TCP SACK 옵션을 가진다. 중간 블록은 왼쪽 패킷 번호(LE)와 오른쪽 패킷 번호(RE)가 '4'와 '6'으로 표시된 TCP SACK 옵션을 가진다. 하위 블록은 왼쪽 패킷 번호(LE)와 오른쪽 패킷 번호(RE)가 '2'로 표시된 TCP SACK 옵션을 가진다.The fifth redundant ACK 305 has three TCP SACK option blocks. Here, the upper block has a TCP SACK option in which the left packet number LE and the right packet number RE are represented by '8' and '8', respectively. The middle block has a TCP SACK option in which the left packet number (LE) and the right packet number (RE) are marked with '4' and '6'. The lower block has a TCP SACK option in which the left packet number (LE) and the right packet number (RE) are indicated by '2'.

즉, TCP 수신원인 이동 단말(220)이 1번, 3번 및 7번 패킷을 차례대로 수신하지 못한 경우, TCP 선택적 승인(SACK) 수신원인 이동 단말(220)은 성공적으로 수신한 2번, 4번, 5번, 6번 및 8번 패킷에 대한 TCP SACK 옵션 블록을 도 3c와 같이 TCP SACK 옵션을 가진 중복된 ACK(301 내지 305)를 이용하여 대응 노드(210)로 전송한다.That is, when the mobile terminal 220, which is a TCP receiver, fails to receive packets 1, 3, and 7 in order, the mobile terminal 220, which is a TCP selective acknowledgment (SACK) receiver, receives 2, 4 successfully. The TCP SACK option blocks for packets # 5, # 6, and # 8 are transmitted to the corresponding node 210 using the duplicated ACKs 301 to 305 having the TCP SACK option as shown in FIG. 3C.

도 4는 본 발명에서 제시하는 WCDMA 망에서 WIBRO 망으로의 이동 단말 핸드오버 절차에 대한 일실시예 순서도이다.4 is a flowchart illustrating an embodiment of a mobile terminal handover procedure from a WCDMA network to a WIBRO network according to the present invention.

도 4에 도시된 바와 같이, 이동 단말(440)은 WCDMA 망에 연결되어 있다가, WIBRO 망으로 핸드오버하고자 한다. 여기서, 이동 단말(440)은 MIH 유저(MIH user)(441), MIHF(Media Independent Handover Function)(442), WIBRO 인터페이스(443), WCDMA 인터페이스(444) 및 WLAN 인터페이스(445)를 포함한다.As shown in FIG. 4, the mobile terminal 440 is connected to the WCDMA network and attempts to handover to the WIBRO network. Here, the mobile terminal 440 includes a MIH user 441, a Media Independent Handover Function (MIHF) 442, a WIBRO interface 443, a WCDMA interface 444, and a WLAN interface 445.

MIH 유저(441)는 MIHF(442)를 통해 미디어 독립 이벤트 서비스(MIES), 미디어 독립 명령 서비스(MICS) 및 미디어 독립 정보 서비스(MIIS)를 제공받고자 하는 응용을 말한다. 본 발명에서는 TCP와 모바일 IP 클라이언트가 MIH 유저(441)이다.The MIH user 441 refers to an application that wants to receive a media independent event service (MIES), a media independent command service (MICS), and a media independent information service (MIIS) through the MIHF 442. In the present invention, the TCP and the mobile IP client are MIH users 441.

이동 단말(440)이 무선망에 접속하면, MIH 유저(441)는 MIH 성능발견(MIH_Capability_Discover) 메시지를 MIHF(442)로 전달한다(401). 그러면 MIHF(442)는 MIH 성능발견요청(MIH_Capability_Discover_request) 메시지를 MIH 서버(480)로 전송하여 현재 접속망(WIBRO 망)과 주변 무선망(WCDMA 망 또는 WLAN 망 등) 간의 핸드오버가 메이크 비포 브레이크(MBB)를 지원하는지 요청한다(402).When the mobile terminal 440 accesses the wireless network, the MIH user 441 forwards the MIH capability discovery (MIH_Capability_Discover) message to the MIHF 442 (401). Then, the MIHF 442 transmits a MIH_Capability_Discover_request message to the MIH server 480 so that a handover between the current access network (WIBRO network) and the neighboring wireless network (such as WCDMA network or WLAN network) is made before break. (402).

MIH 성능발견요청 메시지를 전송받은 MIH 서버(480)는 현재 접속망과 주변 무선망 간의 핸드오버가 메이크 비포 브레이크(MBB)를 지원하는지를 파악하여 MIH 성능발견응답(MIH_Capability_Discover_response) 메시지를 MIHF(442)로 전송한다(403). MIHF(442)는 전송받은 MIH 성능발견응답 메시지의 결과를 MIH 유저(441)에 통지하기 위해 MIH 성능발견 메시지를 MIH 유저(441)로 전달한다(404).The MIH server 480 receiving the MIH capability discovery request message determines whether the handover between the current access network and the neighboring wireless network supports Make Before Break (MBB) and transmits a MIH_Capability_Discover_response message to the MIHF 442. (403). The MIHF 442 forwards the MIH capability discovery message to the MIH user 441 to notify the MIH user 441 of the result of the received MIH capability discovery response message (404).

여기서, WIBRO 망과 홈 에이전트(470) 간에는 IP in IP 터널이 유지되어 있다(405).Here, an IP in IP tunnel is maintained between the WIBRO network and the home agent 470 (405).

이후, 무선 신호 품질 저하에 따라 링크 고잉 다운(Link Going Down) 이벤트 등의 핸드오버 트리거가 발생하면(406), 이동 단말(440)은 MIH 서버(480)로부터 주 변 무선망 정보를 MIH 정보획득(MIH_Get_Information) 메시지를 통해 획득한다(407, 408). MIH 정보획득(MIH_Get_Information) 메시지는 주변 무선망의 무선 접속 기술을 포함한 주변 무선망의 정보를 포함한다.Subsequently, when a handover trigger such as a link going down event occurs due to the degradation of the radio signal quality (406), the mobile terminal 440 acquires the MIH information from the MIH server 480. Obtained through a (MIH_Get_Information) message (407, 408). The MIH_Get_Information message includes information of a neighboring wireless network including wireless access technology of the neighboring wireless network.

그리고 이동 단말(440)이 주변 무선망으로 핸드오버하는 경우, MIH 유저(441)는 MIH 명령을 통한 핸드오버 후보 질의(MIH_MN_HO_Candidate_Query) 메시지를 MIHF(442)로 전달한다(409). 그러면, MIHF(442)는 전달받은 MIH 명령을 통한 핸드오버후보 질의(MIH_MN_HO_Candidate_Query) 메시지를 MIH 서버(480)로 전송한다(410). 이는 이동 단말(440)이 주변 무선망으로 핸드오버하는 경우, 신호 품질(QoS)의 보장 여부를 확인하기 위함이다.When the mobile terminal 440 hands over to the neighbor wireless network, the MIH user 441 transmits a handover candidate query (MIH_MN_HO_Candidate_Query) message through the MIH command to the MIHF 442 (409). Then, the MIHF 442 transmits the handover candidate query (MIH_MN_HO_Candidate_Query) message through the received MIH command to the MIH server 480 (410). This is to check whether the signal quality (QoS) is guaranteed when the mobile terminal 440 is handed over to a neighboring wireless network.

이어서, MIH 서버(480)는 MIH 명령을 통한 핸드오버후보 질의(MIH_MN_HO_Candidate_Query) 메시지에 대한 결과를 MIH 명령을 통한 핸드오버후보 질의(MIH_MN_HO_Candidate_Query) 메시지를 통해 MIHF(442)로 전송한다(411). MIHF(442)는 핸드오버후보 질의(MIH_MN_HO_Candidate_Query) 메시지에 대한 결과를 MIH 유저(441)로 전달한다(412).Subsequently, the MIH server 480 transmits the result of the MIH_MN_HO_Candidate_Query message through the MIH command to the MIHF 442 through the MIH_MN_HO_Candidate_Query message. The MIHF 442 forwards the result of the handover candidate query (MIH_MN_HO_Candidate_Query) message to the MIH user 441 (412).

이후, 이동 단말(440)은 핸드오버후보 질의(MIH_MN_HO_Candidate_Query) 메시지의 결과와 핸드오버 정책에 따라 핸드오버 대상망을 결정한다. 여기서, 본 발명에 따른 일실시예로, WCDMA 망이 선택되었다고 가정하기로 한다.Thereafter, the mobile terminal 440 determines the handover target network according to the result of the handover candidate query (MIH_MN_HO_Candidate_Query) message and the handover policy. Here, in one embodiment according to the present invention, it is assumed that the WCDMA network is selected.

그리고 MIH 유저(441)는 MIH 명령을 통한 핸드오버 위탁(MIH_MN_HO_Commit) 메시지를 MIHF(442)로 전달한다(413). 그러면, MIHF(442)는 전달받은 MIH 명령을 통한 핸드오버 위탁요청(MIH_MN_HO_Commit.request) 메시지를 MIH 서버(480)로 전 송한다(414). 이는 이동 단말(440)이 WCDMA 망으로의 핸드오버를 MIH 서버(480)로 통지하기 위함이다.The MIH user 441 transmits a handover commit (MIH_MN_HO_Commit) message through the MIH command to the MIHF 442 (413). Then, the MIHF 442 transmits the handover request (MIH_MN_HO_Commit.request) message through the received MIH command to the MIH server 480 (414). This is for the mobile terminal 440 to notify the MIH server 480 of the handover to the WCDMA network.

이어서, MIH 서버(480)는 핸드오버 통지에 대한 결과를 MIH 명령을 통한 핸드오버 위탁응답(MIH_MN_HO_Commit.response) 메시지를 통해 MIHF(442)로 전송한다(415). MIHF(442)는 핸드오버 통지에 대한 결과를 MIH 명령을 통한 핸드오버 위탁(MIH_MN_HO_Commit) 메시지를 통해 MIH 유저(441)로 전달한다(416). 이는 MIH 서버(480)가 MIH 명령을 통한 핸드오버 위탁(MIH_MN_HO_Commit) 메시지에 대한 응답으로 핸드오버 허락을 이동 단말(440)로 알리기 위함이다.Subsequently, the MIH server 480 transmits the result of the handover notification to the MIHF 442 through the MIH_MN_HO_Commit.response message through the MIH command (415). The MIHF 442 forwards the result of the handover notification to the MIH user 441 via a handover commit (MIH_MN_HO_Commit) message via a MIH command (416). This is for the MIH server 480 to inform the mobile terminal 440 of the handover permission in response to the MIH_MN_HO_Commit message through the MIH command.

MIH 서버(480)로부터 MIH 명령을 통한 핸드오버 위탁응답(MIH_MN_HO_Commit.response) 메시지를 통해 핸드오버 대상망으로의 핸드오버가 허락되면 이동 단말(440)은 WCDMA 접속 과정을 수행한다.If handover is allowed from the MIH server 480 to the handover target network through the MIH_MN_HO_Commit.response message, the mobile terminal 440 performs a WCDMA access procedure.

즉, MIH 유저(441)는 연결을 위한 MIH 링크 실행(MIH_Link_Action) 메시지를 MIHF(442)로 전달한다(417). 그러면, MIHF(442)는 전달받은 MIH 링크 실행(MIH_Link_Action) 메시지를 WCDMA 인터페이스(444)로 전달한다(418). 이어서, WCDMA 인터페이스(444)는 MIH 링크 실행(MIH_Link_Action) 메시지에 대한 연결 결과를 MIH 링크 실행(MIH_Link_Action) 메시지를 통해 MIHF(442)로 전달한다(419). MIHF(442)는 MIH 링크 실행에 대한 연결 결과를 MIH 링크 실행(MIH_Link_Action) 메시지를 통해 MIH 유저(441)로 전달한다(420). 이는 이동 단말(440)이 핸드오버 대상망인 WCDMA 망의 L2 및 L3 접속을 완료하기 위함이다.That is, the MIH user 441 forwards the MIH link execution (MIH_Link_Action) message to the MIHF 442 for the connection (417). Then, the MIHF 442 transmits the received MIH link execution (MIH_Link_Action) message to the WCDMA interface 444 (418). Subsequently, the WCDMA interface 444 transfers the connection result of the MIH link execution (MIH_Link_Action) message to the MIHF 442 through the MIH link execution (MIH_Link_Action) message (419). The MIHF 442 transfers the connection result of the MIH link execution to the MIH user 441 through the MIH link execution (MIH_Link_Action) message (420). This is for the mobile terminal 440 to complete the L2 and L3 access of the WCDMA network which is the handover target network.

그리고 이동 단말(440)이 핸드오버 대상망인 WCDMA 망(460)의 L2 및 L3와 접 속된다(421). WCDMA 망(460)의 L2 및 L3와의 접속을 통해, WCDMA 인터페이스(444)는 MIH 연결(MIH_Link_Up) 메시지를 통해 WCDMA 망(460)의 L2 및 L3 접속 완료 사실을 MIHF(442)로 전달한다. 그리고 MIHF(442)는 MIH 연결(MIH_Link_Up) 메시지를 MIH 유저(441)로 전달하여 WCDMA 망(460)의 L2 및 L3 접속 완료 사실을 통지한다.The mobile terminal 440 is connected to L2 and L3 of the WCDMA network 460 which is the handover target network (421). Through the connection with L2 and L3 of the WCDMA network 460, the WCDMA interface 444 communicates the completion of L2 and L3 connection of the WCDMA network 460 to the MIHF 442 via a MIH_Link_Up message. The MIHF 442 sends a MIH_Link_Up message to the MIH user 441 to notify the completion of the L2 and L3 connection of the WCDMA network 460.

MIH 연결(MIH_Link_Up) 메시지를 전달받은 MIH 유저(441)의 공통 관리 정보 프로토콜(CMIP; Common Management Information Protocol) 클라이언트는 즉시 모바일 IP(Mobile IP) 신호 메시지인 등록 요구(Registration Request) 메시지를 홈 에이전트(470)로 전송한다. 그러면, 홈 에이전트(470)는 자신과 WCDMA 망(460) 간의 새로운 IP in IP 터널을 생성한다(425). 그리고 홈 에이전트(470)는 전송받은 등록 요구 메시지에 대한 응답으로, 등록 응답(Registration Reply) 메시지를 MIH 유저(441)의 공통 관리 정보 프로토콜(CMIP) 클라이언트로 전송한다(426). 즉, MIH 유저(441)의 공통 관리 정보 프로토콜(CMIP) 클라이언트는 홈 에이전트(470)와 등록 요구(RRQ) 및 등록 응답(RRP) 메시지를 교환하여 새로운 터널을 생성한다.The Common Management Information Protocol (CMIP) client of the MIH user 441 receiving the MIH_Link_Up message immediately receives a Registration Request message, which is a Mobile IP signaling message, from the home agent (Home Agent). 470). The home agent 470 then creates a new IP in IP tunnel between itself and the WCDMA network 460 (425). The home agent 470 transmits a registration reply message to the common management information protocol (CMIP) client of the MIH user 441 in response to the received registration request message (426). That is, the common management information protocol (CMIP) client of the MIH user 441 exchanges a registration request (RRQ) and registration response (RRP) message with the home agent 470 to create a new tunnel.

이와 동시에 이동 단말(440)은 새로운 인터페이스 즉, WCDMA 인터페이스(444)로 도착하는 패킷을 모니터링하여 TCP 세션에 대한 첫 번째 패킷을 검사한다.At the same time, the mobile terminal 440 examines the first packet for the TCP session by monitoring packets arriving at the new interface, that is, the WCDMA interface 444.

그리고 WCDMA 인터페이스(444)가 대응 노드(490)로부터 전송된 첫 번째 패킷을 감지하면(427), WCDMA 인터페이스(444)는 명시적 핸드오버 통지(EHN; Explicit Handoff Notification) 플래그를 설정하여 MIH 유저(441)의 TCP에 전달한다(428). MIH 유저(441)의 TCP는 해당 패킷에 대한 ACK를 송신할 때, 설정된 TCP 옵션 필드 의 명시적 핸드오버 통지(EHN) 플래그를 송신한다(429).When the WCDMA interface 444 detects the first packet transmitted from the correspondent node 490 (427), the WCDMA interface 444 sets an explicit handoff notification (EHN) flag to set the MIH user ( 441) to the TCP (428). When the TCP of the MIH user 441 transmits an ACK for the corresponding packet, it transmits an explicit handover notification (EHN) flag of the set TCP option field (429).

이후, MIH 유저(441)는 연결 종료를 위한 MIH 링크 실행(MIH_Link_Action) 메시지를 MIHF(442)로 전달한다(430). 그러면, MIHF(442)는 전달받은 MIH 링크 실행(MIH_Link_Action) 메시지를 WIBRO 인터페이스(443)로 전달한다(431). 이어서, WIBRO 인터페이스(443)는 MIH 링크 실행(MIH_Link_Action) 메시지에 대한 연결 종료 결과를 MIH 링크 실행(MIH_Link_Action) 메시지를 통해 MIHF(442)로 전달한다(432). MIHF(442)는 MIH 링크 실행에 대한 연결 종료 결과를 MIH 링크 실행(MIH_Link_Action) 메시지를 통해 MIH 유저(441)로 전달한다(433).Thereafter, the MIH user 441 transmits a MIH link execution (MIH_Link_Action) message to the MIHF 442 to terminate the connection (430). Then, the MIHF 442 transmits the received MIH link execution (MIH_Link_Action) message to the WIBRO interface 443 (431). Subsequently, the WIBRO interface 443 transfers the connection termination result for the MIH link execution (MIH_Link_Action) message to the MIHF 442 through the MIH link execution (MIH_Link_Action) message (432). The MIHF 442 transmits the connection termination result of the MIH link execution to the MIH user 441 through the MIH link execution (MIH_Link_Action) message (433).

그리고 WIBRO 인터페이스(443)는 연결 종료(Link_Down) 메시지를 MIHF(442)로 전달한다(434). MIHF(442)는 전달된 연결 종료(Link_Down) 메시지를 MIH 유저(441)로 전달한다(435). 이는 이동 단말(440)이 핸드오버 이전망(WIBRO 망)에 대한 인터페이스 접속을 종료하기 위함이다.The WIBRO interface 443 forwards a link terminate (Link_Down) message to the MIHF 442 (434). The MIHF 442 forwards the delivered Link_Down message to the MIH user 441 (435). This is for the mobile terminal 440 to terminate the interface connection to the handover transfer network (WIBRO network).

한편, 본 발명은 수직적 핸드오버에 의해 핸드오버 이전망과 새로운 핸드오버 대상망에 대한 종단간 경로 특성이 현저히 달라지는 점을 고려하여, 하향(Downward) 수직적 핸드오버에 의한 부작용이 일어나는 동안 핸드오버 이전망과 새로운 핸드오버 대상망에 대해서 별도의 TCP 혼잡 및 에러 제어를 수행하기 위한 것이다.Meanwhile, the present invention considers that the end-to-end path characteristics of the old handover network and the new handover target network are remarkably different due to the vertical handover. It is to perform separate TCP congestion and error control for the network and the new handover target network.

또한, 본 발명은 상향(Upward) 수직적 핸드오버의 경우, 명시적 핸드오버 통지(EHN)를 수신하는 즉시 성급한 재전송 타임아웃을 방지하고 망의 폭주가 일어나는 것을 방지하기 위해 TCP의 상태 변수를 초기화한다. 본 발명은 하향 수직적 핸 드오버의 경우, 명시적 핸드오버 통지 정보와 TCP SACK 옵션의 정보를 이용하여 패킷 손실이나 지연이 핸드오버 이전망으로부터인지 새로운 핸드오버 대상망에 대한 것인지를 판단하고 이를 각자의 망에 대해서 적용한다.In addition, the present invention initializes TCP's state variable to prevent premature retransmission timeout and prevent network congestion from occurring in the case of an upward vertical handover immediately upon receipt of an explicit handover notification (EHN). . In the case of downlink vertical handover, the present invention uses explicit handover notification information and TCP SACK option information to determine whether packet loss or delay is from the previous handover network or to a new handover target network. This applies to the network.

도 5는 본 발명에서 제시하는 하향 수직적 핸드오버 시 TCP 동작 과정에 대한 일실시예 설명도이다. 도 5를 참조하여 1번 내지 10번 패킷이 순차적으로 전송되는 경우, 이동 단말(440)의 핸드오버 과정 중에서 TCP 동작 과정을 살펴보기로 한다.5 is a diagram illustrating an embodiment of a TCP operation process in the down-vertical handover proposed in the present invention. When packets 1 to 10 are sequentially transmitted with reference to FIG. 5, a TCP operation process among handover processes of the mobile terminal 440 will be described.

도 5에 도시된 바와 같이, 이동 단말(440)에 1번 패킷이 도착한 후, 2번 및 3번 패킷은 핸드오버 이전망 인터페이스(예컨대, WIBRO 인터페이스(443))를 통해 핸드오버하는 이동 단말(440)에 도착할 인-플라잇(in-flight) 패킷이 된다. 4번, 5번, 6번 및 7번 패킷은 새로운 핸드오버 대상망 인터페이스(예컨대, WCDMA 인터페이스(444))로 도착한다.As shown in FIG. 5, after the first packet arrives at the mobile terminal 440, the second and third packets are handed over to the handover network (eg, the WIBRO interface 443). 440 becomes an in-flight packet to arrive. Packets 4, 5, 6, and 7 arrive at the new handover target network interface (eg, WCDMA interface 444).

구체적으로 살펴보면, TCP 수신원인 이동 단말(440)이 새로운 핸드오버 대상망 인터페이스(444)로부터 수신한 첫 번째 패킷인 4번 패킷을 수신하면, 이동 단말(440)은 4번 패킷에 대하여 EHN 패킷(501)을 대응 노드(490)로 전송한다. EHN 패킷(501)은 대응 노드(490)로 전송하는 중복 ACK에 EHN 필드가 마킹된 것이다. 여기서, EHN 패킷(501)의 EHN 필드에는 첫 번째 SACK 블록에 포함되는 왼쪽 패킷 번호(LE)와 오른쪽 패킷 번호(RE)가 '4'로 표시되어 있다. EHN 패킷은 TCP ACK 패킷에 명시적 핸드오프 통지(EHN) 정보가 포함된 패킷으로, 이동 단말(440)이 가장 최근에 수신한 패킷 번호가 표시된다.Specifically, when the mobile terminal 440, which is a TCP receiver, receives packet 4, which is the first packet received from the new handover target network interface 444, the mobile terminal 440 may receive an EHN packet for packet 4. 501 is sent to the correspondent node 490. The EHN packet 501 is marked with an EHN field on a duplicate ACK transmitted to the corresponding node 490. Here, in the EHN field of the EHN packet 501, the left packet number LE and the right packet number RE included in the first SACK block are marked with '4'. The EHN packet is a packet including explicit handoff notification (EHN) information in the TCP ACK packet, and the packet number most recently received by the mobile terminal 440 is indicated.

TCP 송신원인 대응 노드(490)는 이동 단말(440)로부터 EHN 패킷(501)을 수신하면, 중복된 ACK 패킷 번호로부터 이동 단말(440)이 핸드오버 이전망(예컨대, WIBRO 망(450))을 통해 성공적으로 수신한 패킷 번호(ACK_old)와 새로운 핸드오버 대상망 인터페이스(444)로부터 수신한 패킷 번호(ACK_new 및 ACK_ho)의 값을 저장한다. 여기서, 패킷 번호(ACK_ho)의 값은 핸드오버가 이루어진 후 첫 번째로 전송받은 패킷 번호이다. 핸드오버 이전망을 통해 성공적으로 수신한 패킷 번호(ACK_old)는 1번 패킷이고, 새로운 핸드오버 대상망 인터페이스(444)로부터 수신한 SACK 블록 패킷 번호는 왼쪽 패킷 번호(LE)와 오른쪽 패킷 번호(RE)가 '4'로 표시된 4번 패킷이 된다.When the corresponding node 490, which is a TCP sender, receives the EHN packet 501 from the mobile terminal 440, the mobile terminal 440 disconnects the handover transfer network (e.g., the WIBRO network 450) from the duplicate ACK packet number. The packet number ACK_old received successfully and the packet numbers ACK_new and ACK_ho received from the new handover target network interface 444 are stored. Here, the value of the packet number (ACK_ho) is the first packet number received after the handover. The packet number (ACK_old) successfully received through the handover transfer network is packet 1, and the SACK block packet number received from the new handover target network interface 444 is the left packet number (LE) and the right packet number (RE). ) Becomes packet 4, marked with '4'.

이후, TCP 송신원인 대응 노드(490)가 5번 패킷에 대한 중복 ACK가 포함된 EHN 패킷(502)을 수신하면, TCP 송신원인 대응 노드(490)는 EHN 패킷(502)의 중복 ACK 번호가 2번 패킷임을 통해 핸드오버 이전망으로 2번 패킷이 수신되지 않았음을 알 수 있다. 또한, TCP 송신원인 대응 노드(490)는 EHN 패킷(502)에서의 중복 ACK의 SACK 블록을 통해서 새로운 핸드오버 대상망(460)으로 5번 패킷이 수신되었음을 알 수 있다. 여기서, EHN 패킷(502)의 SACK 블록 패킷 번호는 왼쪽 패킷 번호(LE)와 오른쪽 패킷 번호(RE)가 각각 '4'와 '5'로 표시되어 있다.Then, when the correspondent node 490 as the TCP sender receives the EHN packet 502 including the duplicate ACK for packet 5, the correspondent node 490 as the TCP sender has a duplicate ACK number of 2 in the EHN packet 502. The second packet indicates that the second packet has not been received to the handover network. In addition, the correspondent node 490, which is a TCP transmission source, may know that packet 5 has been received by the new handover target network 460 through the SACK block of the duplicate ACK in the EHN packet 502. Here, in the SACK block packet number of the EHN packet 502, the left packet number LE and the right packet number RE are represented by '4' and '5', respectively.

따라서 TCP 송신원인 대응 노드(490)는 핸드오버 이전망(450)에 해당하는 TCP의 상태 변수는 갱신하지 않는다. 반면, TCP 송신원인 대응 노드(490)는 새로운 핸드오버 대상망(460)에 해당하는 TCP 상태 변수를 갱신한다.Therefore, the correspondent node 490, which is a TCP transmission source, does not update the TCP state variable corresponding to the handover network 450. On the other hand, the correspondent node 490 that is the TCP sender updates the TCP state variable corresponding to the new handover target network 460.

TCP 송신원인 대응 노드(490)는 추가로 7번 패킷을 이동 단말(440)로 송신한 다. 그리고 TCP 송신원인 대응 노드(490)는 3번 패킷에 대한 중복 ACK가 포함된 EHN 패킷(503)을 이동 단말(440)로부터 수신받는다. TCP 송신원인 대응 노드(490)는 EHN 패킷(503)의 중복 ACK 번호가 3번 패킷임을 통해 핸드오버 이전망으로 3번 패킷이 수신되지 않았음을 알 수 있다.Corresponding node 490, which is a TCP sender, further sends packet # 7 to mobile terminal 440. The correspondent node 490, which is a TCP transmission source, receives the EHN packet 503 including the duplicate ACK for the third packet from the mobile terminal 440. The correspondent node 490, which is a TCP sender, may know that packet 3 was not received in the network before the handover through the duplicate ACK number 3 of the EHN packet 503.

그리고 TCP 송신원인 대응 노드(490)는 6번 패킷에 대한 중복 ACK가 포함된 EHN 패킷(504)을 수신하면, TCP 송신원인 대응 노드(490)는 EHN 패킷(504)의 중복 ACK 번호가 3번 패킷임을 통해 핸드오버 이전망으로 3번 패킷이 수신되지 않았음을 알 수 있다. 또한, TCP 송신원인 대응 노드(490)는 EHN 패킷(504)에서의 중복 ACK의 SACK 블록을 통해서 새로운 핸드오버 대상망(460)으로 6번 패킷이 수신되었음을 알 수 있다. 여기서, EHN 패킷(504)의 SACK 블록의 패킷 번호는 왼쪽 패킷 번호(LE)와 오른쪽 패킷 번호(RE)가 각각 '4'와 '6'으로 표시되어 있다. 즉, 6번 패킷에 대한 중복 ACK 전송하는 경우, 이동 단말(440)은 3번 패킷에 대한 중복 ACK와 함께 SACK 블록의 패킷 번호를 통해 4번, 5번 및 6번 패킷을 성공적으로 수신하였음을 대응 노드(490)로 알린다.When the correspondent node 490 as the TCP sender receives the EHN packet 504 including the duplicate ACK for the sixth packet, the correspondent node 490 as the TCP sender has the duplicated ACK number 3 as the EHN packet 504. It can be seen from the packet that packet 3 has not been received before the handover network. In addition, the correspondent node 490, which is a TCP transmission source, may know that the sixth packet has been received by the new handover target network 460 through the SACK block of the duplicate ACK in the EHN packet 504. Here, in the packet number of the SACK block of the EHN packet 504, the left packet number LE and the right packet number RE are represented by '4' and '6', respectively. That is, in case of transmitting duplicate ACK for packet 6, mobile terminal 440 successfully received packets 4, 5 and 6 through packet number of SACK block with duplicate ACK for packet 3 Notify corresponding node 490.

그리고 TCP 송신원인 대응 노드(490)는 EHN 패킷(505)을 통해 이동 단말(440)이 핸드오버 이전망을 통해 1번 내지 3번 패킷을 수신하고, 새로운 핸드오버 대상망을 통해 4번 내지 7번 패킷을 성공적으로 수신하였음을 알 수 있다. 또한, TCP 송신원인 대응 노드(490)는 이러한 EHN 패킷으로부터 획득한 수신 정보에 따라 TCP의 상태 정보를 각각 갱신한다.The correspondent node 490, which is a TCP sender, receives the packets 1 to 3 through the EHN packet 505 through the handover transfer network, and 4 to 7 via the new handover target network. It can be seen that packet 1 has been successfully received. Corresponding node 490, which is a TCP transmission source, also updates the status information of TCP in accordance with the received information obtained from such EHN packets.

전술된 바와 같이, TCP 송신원인 대응 노드(490)가 핸드오버 이전망과 핸드 오버 대상망의 상태 정보를 따로 관리하는 것은 핸드오버 이전망으로부터 더이상의 패킷이 도착하지 않는 상태까지 계속 된다. TCP 송신원인 대응 노드(490)는 ACK나 TCP SACK 블록에 포함된 최소의 순서번호 값이 ACK_ho 값을 넘는 경우를 기준으로 판단할 수 있다.As described above, the management of the state information of the handover target network and the handover target network separately by the corresponding node 490, which is a TCP sender, continues until no packets arrive from the handover network. The correspondent node 490, which is the TCP transmission source, may determine based on the case where the minimum sequence number value included in the ACK or TCP SACK block exceeds the ACK_ho value.

도 6은 본 발명에 따른 TCP 수신원에서의 수직적 핸드오버를 고려한 TCP 혼잡 및 에러 제어 방법에 대한 일실시예 흐름도이다.6 is a flowchart illustrating a TCP congestion and error control method considering a vertical handover in a TCP receiver according to the present invention.

이동 단말(440)은 핸드오버 이전망(450)과 연결된 핸드오버 이전망 인터페이스(443)를 통해 패킷을 수신한다(602).The mobile terminal 440 receives the packet through the handover network interface 443 connected with the handover network 450 (602).

이동 단말(440)이 "602" 과정에서 패킷을 수신하고 있다가, 이동 단말(440)은 새로운 링크의 연결이 완료되어 MIHF(442)를 통해 MIH 연결(MIH_Link_Up) 메시지를 전송받는지 여부를 확인한다(604).After the mobile terminal 440 receives the packet in step 602, the mobile terminal 440 determines whether the MIH connection (MIH_Link_Up) message is transmitted through the MIHF 442 after the connection of the new link is completed. (604).

상기 확인 결과(604), MIH 연결(MIH_Link_Up) 메시지를 전송받으면, TCP 수신원인 이동 단말(440)은 새로운 핸드오버 대상망 인터페이스(444)를 통해 TCP 세션에 대한 첫 번째 패킷의 도착 여부를 모니터링한다. 즉, TCP 수신원인 이동 단말(440)은 새로운 핸드오버 대상망 인터페이스(444)를 통해 TCP 세션에 대한 첫 번째 패킷이 도착하는지 여부를 확인한다(606).As a result of the check 604, when the MIH_Link_Up message is received, the mobile terminal 440, which is the TCP receiver, monitors whether the first packet for the TCP session has arrived through the new handover target network interface 444. . That is, the mobile station 440, which is a TCP receiver, checks whether the first packet for the TCP session arrives through the new handover target network interface 444 (606).

상기 확인 결과(606), 새로운 핸드오버 대상망 인터페이스(444)를 통해 TCP 세션에 대한 첫 번째 패킷이 도착하면, TCP 수신원인 이동 단말(440)은 도착한 첫 번째 패킷에 대한 EHN 플래그(flag)를 설정하고, 해당 패킷의 순서 번호를 저장한다(608).As a result of the check 606, when the first packet for the TCP session arrives through the new handover target network interface 444, the mobile station 440, which is the TCP receiver, sends an EHN flag for the first packet that arrived. And the sequence number of the corresponding packet is stored (608).

그리고 TCP 수신원인 이동 단말(440)은 기 설정된 TCP 처리에 따라 수행한다(610). 이와 관련하여, 상기 확인 결과(604) MIH 연결(MIH_Link_Up) 메시지를 전송받지 못하면, TCP 수신원인 이동 단말(440)은 "610" 과정부터 수행한다. 또한, 상기 확인 결과(606) 새로운 핸드오버 대상망 인터페이스(444)를 통해 TCP 세션에 대한 첫 번째 패킷이 도착하지 않으면, TCP 수신원인 이동 단말(440)은 "610" 과정부터 수행한다.In operation 610, the mobile terminal 440 serving as a TCP receiver performs according to a preset TCP process. In this regard, if the check result 604 does not receive the MIH_Link_Up message, the mobile terminal 440, which is a TCP receiver, starts from step 610. In addition, if the first packet for the TCP session does not arrive through the new handover target network interface 444, the mobile terminal 440, which is a TCP receiver, starts from step 610.

그리고 TCP 수신원인 이동 단말(440)은 ACK 패킷을 생성한다(612). 이어서, TCP 수신원인 이동 단말(440)은 EHN 플래그가 설정되어 있는지 여부를 확인한다(614).The mobile terminal 440, which is a TCP receiver, generates an ACK packet (612). Subsequently, the mobile terminal 440, which is a TCP receiver, checks whether the EHN flag is set (614).

상기 확인 결과(614), EHN 플래그가 설정되어 있으면, ACK 패킷을 송신할 때 TCP 수신원인 이동 단말(440)은 현재 송신하고자 하는 ACK의 순서 번호가 앞서 저장된 첫 번째 패킷의 순서 번호를 포함하는지 여부를 검사한다(616).As a result of the check 614, if the EHN flag is set, the mobile terminal 440, which is a TCP receiver when transmitting an ACK packet, determines whether the sequence number of the ACK to be transmitted currently includes the sequence number of the first packet previously stored. Check (616).

상기 확인 결과(616), ACK의 순서 번호가 앞서 저장된 첫 번째 패킷의 순서 번호를 포함하면, TCP 수신원인 이동 단말(440)은 ACK 패킷의 EHN 필드를 세팅한다(618). 그리고 TCP 수신원인 이동 단말(440)은 대응 노드(490)로 ACK 패킷의 EHN 필드가 세팅된 EHN 패킷을 송신한다(620). 이어서, TCP 수신원인 이동 단말(440)은 "608" 과정에서 설정된 EHN 플래그의 설정을 해제한다(622).As a result of the check 616, if the sequence number of the ACK includes the sequence number of the first packet previously stored, the mobile terminal 440, which is a TCP receiver, sets the EHN field of the ACK packet (618). The mobile station 440, which is a TCP receiver, transmits an EHN packet in which the EHN field of the ACK packet is set to the corresponding node 490 (620). Subsequently, the mobile terminal 440, which is a TCP receiver, releases the setting of the EHN flag set in step 608 (622).

한편, 상기 확인 결과(614), EHN 플래그가 설정되어 있지 않으면, TCP 수신원인 이동 단말(440)은 기 설정된 TCP에 따른 ACK를 대응 노드(490)로 송신한다(624). 또한, 상기 확인 결과(616), ACK의 순서 번호가 앞서 저장된 첫 번째 패 킷의 순서 번호를 포함하지 않으면, TCP 수신원인 이동 단말(440)은 기 설정된 TCP에 따른 ACK를 대응 노드(490)로 송신한다(624).On the other hand, if the check result 614, the EHN flag is not set, the mobile terminal 440, which is a TCP reception unit, transmits an ACK according to the preset TCP to the corresponding node 490 (624). In addition, if the check result 616, the sequence number of the ACK does not include the sequence number of the first packet previously stored, the mobile terminal 440, which is a TCP receiver, forwards the ACK according to the preset TCP to the corresponding node 490. Transmit (624).

도 7은 본 발명에 따른 TCP 송신원에서의 수직적 핸드오버를 고려한 TCP 혼잡 및 에러 제어 방법에 대한 일실시예 흐름도이다.7 is a flowchart illustrating a TCP congestion and error control method considering vertical handover in a TCP transmission source according to the present invention.

TCP SACK 송신원인 대응 노드(490)는 도 6에서 설명한 바와 같은 ACK 패킷을 이동 단말(440)로부터 수신한다(702). 그리고 TCP SACK 송신원인 대응 노드(490)는 수신된 ACK 패킷이 EHN 패킷인지 여부를 확인한다(704).The correspondent node 490, which is the TCP SACK transmission source, receives the ACK packet from the mobile terminal 440 as described in FIG. 6 (702). The correspondent node 490, which is a TCP SACK transmission source, checks whether the received ACK packet is an EHN packet (704).

상기 확인 결과(704), 수신된 ACK 패킷이 EHN 패킷이면, 대응 노드(490)는 EHN 패킷이 중복 ACK인지 여부를 확인한다(706).As a result of the check 704, if the received ACK packet is an EHN packet, the corresponding node 490 checks whether the EHN packet is a duplicate ACK (706).

상기 확인 결과(706), EHN 패킷이 중복 ACK이면, 대응 노드(490)는 하향 수직적 핸드오버라고 판단한다. 하향 수직적 핸드오버의 경우, 대응 노드(490)는 TCP SACK 옵션에 포함된 블록 중 가장 높은 ACK 값을 ACK_new, ACK_ho 변수로 저장한다(708). TCP SACK 옵션에 포함된 블록 중 가장 높은 ACK 값이 새로운 핸드오버 대상망 인터페이스(444)로부터 수신한 ACK의 첫 번째 패킷이기 때문이다.As a result of the check 706, if the EHN packet is a duplicate ACK, the corresponding node 490 determines that it is a downward vertical handover. In the case of downward vertical handover, the corresponding node 490 stores the highest ACK value among the blocks included in the TCP SACK option as ACK_new and ACK_ho variables (708). This is because the highest ACK value among the blocks included in the TCP SACK option is the first packet of the ACK received from the new handover target network interface 444.

그리고 대응 노드(490)는 현재 연속적으로 수신한 순서 번호를 ACK_old 변수로 저장한다(710). 그리고 대응 노드(490)는 현재 TCP 상태 정보를 TCP 핸드오버 이전망 상태 정보로 저장한다(712). 예를 들어, 현재 TCP 상태 정보는 TCP 핸드오버 이전망을 위한, 혼잡윈도우(cwnd; congestion window), 슬로우-스타트 임계치(ssthresh; slow-start threshold), 재전송 타임아웃(RTO; Retransmission Timeout), 각 RTT들의 가중 평균치(SRTT; Smoothed RTT) 및 RTT 편차(RTTVAR; RTT variation) 등이 있다. 이는 대응 노드(490)가 현재 TCP의 상태 변수를 핸드오버 이전망의 혼잡 및 에러 제어를 하기 위함이다.In operation 710, the corresponding node 490 stores the sequence number currently received continuously as the ACK_old variable. The corresponding node 490 stores the current TCP state information as TCP handover pre-network state information (712). For example, the current TCP state information may include congestion window (cwnd), slow-start threshold (ssthresh), retransmission timeout (RTO) Weighted average of RTTs (SRTT) and RTT variation (RTTVAR). This is for the correspondent node 490 to control congestion and error control of the current TCP prior to handover.

대응 노드(490)는 핸드오버 완료(HO complete) 플래그를 세팅한다(714). 그리고 대응 노드(490)는 새로운 핸드오버 대상망을 위한 TCP의 상태 정보를 초기화한다(716). 예를 들면, 새로운 핸드오버 대상망을 위한 TCP의 상태 정보는 새로운 핸드오버 대상망을 위한, 혼잡윈도우(cwnd), 슬로우-스타트 임계치(ssthresh), 재전송 타임아웃(RTO), 각 RTT들의 가중 평균치(SRTT) 및 RTT 편차(RTTVAR) 등이 있다.Corresponding node 490 sets the HO complete flag (714). The corresponding node 490 initializes the state information of TCP for the new handover target network (716). For example, the status information of TCP for a new handover target network may include a congestion window (cwnd), a slow-start threshold (ssthresh), a retransmission timeout (RTO), and a weighted average of each RTT for the new handover target network. (SRTT) and RTT deviation (RTTVAR).

한편, 상기 확인 결과(706), EHN 패킷이 중복 ACK가 아니면, 대응 노드(490)는 상향 수직적 핸드오버라고 판단한다. 대응 노드(490)는 기 설정된 TCP의 관련 상태 변수(예컨대, cwnd, ssthresh, RTO, SRTT 및 RTTVAR)를 초기화하고, 이후 기 설정된 TCP와 동일한 절차를 따른다(718).On the other hand, if the check result 706, the EHN packet is not a duplicate ACK, the corresponding node 490 determines that the vertical vertical handover. The correspondent node 490 initializes relevant state variables (eg, cwnd, ssthresh, RTO, SRTT, and RTTVAR) of the preset TCP, and then follows the same procedure as the preset TCP (718).

이후, TCP 송신원인 대응 노드(490)는 지속적으로 ACK 패킷을 수신하게 된다. 상기 확인 결과(704), 수신된 ACK 패킷이 EHN 패킷이 아니면, TCP 송신원인 대응 노드(490)는 핸드오버 완료(HO complete) 플래그가 세팅되어 있는지 여부를 확인한다(720).Thereafter, the correspondent node 490, which is a TCP transmission source, continuously receives an ACK packet. As a result of the check 704, if the received ACK packet is not an EHN packet, the correspondent node 490, which is the TCP sender, checks whether the HO complete flag is set (720).

상기 확인 결과(720), 핸드오버 완료(HO complete) 플래그가 세팅되어 있으면, 대응 노드(490)는 ACK가 중복 ACK인지 여부를 검사한다(722).If the check result 720, the HO complete flag is set, the corresponding node 490 checks whether the ACK is a duplicate ACK (722).

상기 확인 결과(722), ACK가 중복된 ACK이면, 대응 노드(490)는 수신한 TCP SACK ACK블록이 현재 연속적으로 수신한 패킷 번호(ACK_old) 값을 갱신하는지를 확 인한다(724).As a result of the check 722, if the ACK is a duplicate ACK, the corresponding node 490 checks whether the received TCP SACK ACK block updates the packet number (ACK_old) value that has been received continuously (724).

상기 확인 결과(724), 수신한 TCP SACK ACK 블록이 ACK_old 값을 갱신하면, 대응 노드(490)는 TCP 핸드오버 이전망 상태 정보를 갱신하는 만큼에 따라 갱신한다(726). 반면, 상기 확인 결과(724), 수신한 TCP SACK ACK 블록이 ACK_old 값을 갱신하지 않으면 핸드오버 이전망에 대한 중복된 ACK이므로, 대응 노드(490)는 TCP 핸드오버 이전망 상태 정보에 따라 에러 제어를 수행한다(728). 여기서, 대응 노드(490)는 핸드오버 이전망의 혼잡 제어는 수행하지 않는다. 이는 대응 노드(490)가 혼잡이 발생한 것으로 판단하여 재전송을 하더라도, 재전송 TCP 패킷이 새로운 핸드오버 대상망을 통해서 전송되기 때문이다.As a result of the check 724, if the received TCP SACK ACK block updates the ACK_old value, the corresponding node 490 updates the TCP handover pre-network status information as much as it updates (726). On the other hand, if the check result 724, the received TCP SACK ACK block does not update the ACK_old value, it is a duplicate ACK for the network before the handover, the corresponding node 490 controls the error according to the TCP handover network status information Perform 728. Here, the corresponding node 490 does not perform congestion control of the handover network. This is because even when the corresponding node 490 determines that congestion has occurred and retransmits, the retransmitted TCP packet is transmitted through the new handover target network.

그리고 대응 노드(490)의 TCP는 수신한 TCP SACK 블록이 TCP의 새로운 핸드오버 대상망을 통해 수신한 패킷 번호(ACK_new)값을 갱신하는지 여부를 확인한다(730).The TCP of the correspondent node 490 checks whether the received TCP SACK block updates the packet number (ACK_new) value received through the TCP new handover target network (730).

상기 확인 결과(730), 새로운 핸드오버 대상망을 통해 수신한 패킷 번호(ACK_new)값이 갱신되면, 대응 노드(490)는 TCP 새로운 핸드오버 대상망의 상태 정보를 갱신한다(732). 반면, 상기 확인 결과(730), 새로운 핸드오버 대상망을 통해 수신한 패킷 번호(ACK_new)값이 갱신되지 않으면 새로운 핸드오버 대상망의 상태에 대한 중복 ACK이기 때문에, 대응 노드(490)는 새로운 핸드오버 대상망에 대한 혼잡 및 에러 제어를 수행한다(734). 대응 노드(490)의 TCP는 핸드오버 이전망에 대해 에러 제어만을 수행한다. 반면, 대응 노드(490)의 TCP는 새로운 핸드오버 대상망에 대한 정보를 전혀 모르는 상태이기 때문에, 기 설정된 TCP와 동일하게 혼잡 및 에러 제어를 수행한다.When the check result 730, the packet number (ACK_new) value received through the new handover target network is updated, the corresponding node 490 updates the state information of the TCP new handover target network (732). On the other hand, if the check result 730, the packet number (ACK_new) received through the new handover target network is not updated, because the duplicated ACK for the state of the new handover target network, the corresponding node 490 is a new hand Congestion and error control on the over-target network is performed (734). The TCP of the correspondent node 490 only performs error control for the handover network. On the other hand, since the TCP of the correspondent node 490 has no knowledge of the new handover target network, congestion and error control is performed in the same manner as the preset TCP.

한편, 상기 확인 결과(720), 핸드오버 완료(HO complete) 플래그가 세팅되어 있지 않으면, 대응 노드(490)는 상향 수직적 핸드오버이거나 수직적 핸드오버가 아니므로 기 설정된 TCP와 동일한 알고리즘을 따른다(736). On the other hand, if the check result 720, the handover complete (HO complete) flag is not set, the corresponding node 490 follows the same algorithm as the preset TCP because the corresponding node 490 is not an up-vertical handover or a vertical handover (736). ).

한편, 상기 확인 결과(722), 핸드오버 완료(HO complete) 플래그가 세팅되어 있으며 ACK가 중복되지 않은 ACK이면, ACK 값이 ACK_ho를 포함하는지를 확인한다(738).On the other hand, if the check result 722, the hand complete complete (HO complete) flag is set and the ACK is not duplicated, it is checked whether the ACK value includes ACK_ho (738).

상기 확인 결과(738), ACK 값이 ACK_ho를 포함하면 하향 핸드오버로 인한 부작용이 종료된 경우이며 이에 따라 대응 노드(490)의 TCP는 핸드오버 이전망의 상태 정보를 삭제한다(740). 그리고 대응 노드(490)는 새로운 핸드오버 대상망의 상태 정보를 TCP의 상태 정보로 갱신한다(742). 이어서, 대응 노드(490)는 새로운 핸드오버 대상망의 상태 정보를 삭제하고(744), 핸드오버 완료(HO complete) 플래그를 세팅을 해제한다(746).As a result of the check 738, if the ACK value includes ACK_ho, the side effect due to the downlink handover is terminated. Accordingly, the TCP of the corresponding node 490 deletes the state information of the network before the handover (step 740). The correspondent node 490 updates the state information of the new handover target network with the state information of TCP (742). Subsequently, the corresponding node 490 deletes the state information of the new handover target network (744) and releases the HOover flag (746).

한편, 상기 확인 결과(738), ACK 값이 ACK_ho를 포함하지 않으면, 대응 노드(490)는 현재 연속적으로 수신한 패킷 번호(ACK_old) 값을 ACK로 갱신한다(748). 그리고 대응 노드(490)는 새로운 핸드오버 대상망을 통해 수신한 패킷 번호(ACK_new)를 ACK로 갱신한다(750). 이어서, 대응 노드(490)는 핸드오버 이전망의 상태 정보와 새로운 핸드오버 대상망의 상태 정보를 각각 갱신한다(752).On the other hand, if the check result 738, the ACK value does not include the ACK_ho, the corresponding node 490 updates the packet number (ACK_old) value that has been received continuously to ACK (748). The corresponding node 490 updates the packet number ACK_new received through the new handover target network to ACK (750). Subsequently, the correspondent node 490 updates the state information of the previous handover network and the state information of the new handover target network, respectively (752).

한편, 전술한 바와 같은 본 발명의 방법은 컴퓨터 프로그램으로 작성이 가능 하다. 그리고 상기 프로그램을 구성하는 코드 및 코드 세그먼트는 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 작성된 프로그램은 컴퓨터가 읽을 수 있는 기록매체(정보저장매체)에 저장되고, 컴퓨터에 의하여 판독되고 실행됨으로써 본 발명의 방법을 구현한다. 그리고 상기 기록매체는 컴퓨터가 판독할 수 있는 모든 형태의 기록매체를 포함한다.On the other hand, the method of the present invention as described above can be written in a computer program. And the code and code segments constituting the program can be easily inferred by a computer programmer in the art. In addition, the written program is stored in a computer-readable recording medium (information storage medium), and read and executed by a computer to implement the method of the present invention. The recording medium may include any type of computer readable recording medium.

이상에서 설명한 본 발명은, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.The present invention described above is capable of various substitutions, modifications, and changes without departing from the technical spirit of the present invention for those skilled in the art to which the present invention pertains. It is not limited by the drawings.

도 1은 WCDMA 망에서 WIBRO 망으로 하향 수직적 핸드오버를 수행하는 경우에 패킷 재순서화를 보여주기 위한 실시예 설명도.BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a diagram illustrating an embodiment of packet reordering when performing down-vertical handover from a WCDMA network to a WIBRO network.

도 2는 본 발명이 적용되는 메이크 비포 브레이크(Make before break) 핸드오버가 수행되는 이종 무선망 환경에 대한 일실시예 구성도.2 is a diagram illustrating an embodiment of a heterogeneous wireless network environment in which a make before break handover to which the present invention is applied is performed.

도 3a 내지 도 3c는 본 발명에서 사용하는 TCP 선택적 승인(SACK) 옵션 포맷 및 동작에 대한 일실시예 설명도.3A-3C illustrate one embodiment of TCP selective acknowledgment (SACK) option format and operation used in the present invention.

도 4는 본 발명에서 제시하는 WCDMA 망에서 WIBRO 망으로의 이동 단말 핸드오버 절차에 대한 일실시예 순서도.4 is a flowchart illustrating an embodiment of a mobile terminal handover procedure from a WCDMA network to a WIBRO network according to the present invention.

도 5는 본 발명에서 제시하는 하향 수직적 핸드오버 시 TCP 동작 과정에 대한 일실시예 설명도.5 is a diagram illustrating an embodiment of a TCP operation process in the down-vertical handover proposed in the present invention.

도 6은 본 발명에 따른 TCP 수신원에서의 수직적 핸드오버를 고려한 TCP 혼잡 및 에러 제어 방법에 대한 일실시예 흐름도.6 is a flowchart illustrating an exemplary TCP congestion and error control method considering vertical handover at a TCP receiver according to the present invention.

도 7은 본 발명에 따른 TCP 송신원에서의 수직적 핸드오버를 고려한 TCP 혼잡 및 에러 제어 방법에 대한 일실시예 흐름도.7 is a flowchart illustrating an exemplary TCP congestion and error control method considering vertical handover in a TCP transmission source according to the present invention.

Claims (8)

TCP 송신원에서의 수직적 핸드오버를 고려한 TCP 혼잡 및 에러 제어 방법에 있어서,In the TCP congestion and error control method considering the vertical handover in the TCP source, TCP 수신원으로부터 수신받은 ACK 패킷에 명시적 핸드오버 통지 정보가 포함되어 있는지 여부와 중복 ACK인지 여부에 따라, 핸드오버 이전망(이하 '제1 무선망')과 핸드오버 대상망(이하 '제2 무선망')의 TCP 상태 정보를 서로 분리하여 관리하는 상태 정보 관리 단계;Depending on whether the ACK packet received from the TCP receiver includes explicit handover notification information and whether it is a duplicate ACK, the handover transfer network (hereinafter referred to as 'first wireless network') and the handover target network (hereinafter referred to as 2) a state information management step of managing TCP state information of a wireless network ') separately from each other; 상기 분리된 제1 및 제2 무선망의 TCP 상태 정보를 기반으로 상기 수신받은 ACK 패킷의 SACK 옵션 정보에 기초하여 TCP 혼잡 및 에러를 각 망별로 제어하는 제1 혼잡 및 에러 제어 단계; 및A first congestion and error control step of controlling TCP congestion and errors for each network based on the SACK option information of the received ACK packet based on the separated TCP state information of the first and second wireless networks; And 상기 수신받은 ACK 패킷의 SACK 옵션 정보와 중복 ACK인지 여부에 따라 상기 제1 혼잡 및 에러 제어 단계를 지속적으로 수행하거나, 상기 제2 무선망의 TCP 상태 정보를 기반으로 TCP 혼잡 및 에러를 제어하는 제2 혼잡 및 에러 제어 단계Continuously performing the first congestion and error control step or controlling TCP congestion and errors based on TCP state information of the second wireless network according to whether the received ACK packet is the duplicated ACK and the SACK option information of the received ACK packet; 2 Congestion and Error Control Steps 를 포함하는 수직적 핸드오버를 고려한 TCP 혼잡 및 에러 제어 방법.TCP congestion and error control method considering the vertical handover comprising a. 제 1 항에 있어서,The method of claim 1, 상기 상태 정보 관리 단계는,The state information management step, 상기 수신받은 ACK 패킷에 명시적 핸드오버 통지 정보가 포함되는지 여부와 중복 ACK인지 여부를 확인하는 명시적 핸드오버 확인 단계;An explicit handover confirming step of confirming whether explicit handover notification information is included in the received ACK packet and whether it is a duplicate ACK; 상기 수신받은 ACK 패킷이 명시적 핸드오버 통지 정보를 포함하고 중복 ACK이면, 상기 수신받은 ACK 패킷의 SACK 옵션 정보에 기초하여 제1 무선망 및 제2 무선망의 TCP 상태 정보를 각 망별로 분리하여 저장하고 수직적 핸드오버 플래그를 세팅하는 상태 정보 저장 단계; 및If the received ACK packet includes explicit handover notification information and is a duplicate ACK, the TCP status information of the first wireless network and the second wireless network is separated for each network based on the SACK option information of the received ACK packet. Storing state information for storing and setting a vertical handover flag; And 상기 수신받은 ACK 패킷이 명시적 핸드오버 통지 정보를 포함하고 중복 ACK가 아니면, 상기 수신받은 ACK 패킷의 SACK 옵션 정보에 기초하여 제2 무선망의 TCP 상태 정보를 생성하는 단계If the received ACK packet includes explicit handover notification information and is not a duplicate ACK, generating TCP state information of a second wireless network based on SACK option information of the received ACK packet; 를 포함하는 수직적 핸드오버를 고려한 TCP 혼잡 및 에러 제어 방법.TCP congestion and error control method considering the vertical handover comprising a. 제 2 항에 있어서,The method of claim 2, 상기 상태 정보 저장 단계는,The state information storing step, 상기 수신받은 ACK 패킷의 SACK 옵션 정보에 기초하여 상기 제1 무선망을 통해 수신한 패킷 번호(ACK_old)와, 상기 제2 무선망을 통해 첫 번째로 수신한 패킷 번호 및 핸드오버 패킷 번호(ACK_new, ACK_HO)를 세팅하는 것을 특징으로 하는 수직적 핸드오버를 고려한 TCP 혼잡 및 에러 제어 방법.On the basis of the SACK option information of the received ACK packet, the packet number ACK_old received through the first wireless network, the first packet number received through the second wireless network and the handover packet number ACK_new, TCP congestion and error control method considering vertical handover, characterized by setting ACK_HO). 제 3 항에 있어서,The method of claim 3, wherein 상기 제1 혼잡 및 에러 제어 단계는,The first congestion and error control step, 상기 SACK 옵션 정보가 상기 세팅된 ACK_old값을 갱신하는지 여부에 따라 상기 제1 무선망의 TCP 상태 정보를 갱신하는 만큼 상기 세팅된 ACK_old값을 갱신하거나, 상기 제1 무선망의 TCP 상태 정보를 기반으로 에러를 제어하는 제1 무선망 제어 단계; 및Depending on whether the SACK option information updates the set ACK_old value, the set ACK_old value is updated as much as the TCP state information of the first wireless network is updated, or based on the TCP state information of the first wireless network. A first radio network control step of controlling an error; And 상기 SACK 옵션 정보가 상기 세팅된 ACK_new값을 갱신하는지 여부에 따라, 상기 제2 무선망의 TCP 상태 정보를 갱신하거나, 상기 제2 무선망의 TCP 상태 정보를 기반으로 혼잡 및 에러를 제어하는 제2 무선망 제어 단계A second that updates the TCP state information of the second wireless network or controls congestion and error based on the TCP state information of the second wireless network according to whether the SACK option information updates the set ACK_new value; Wireless network control phase 를 포함하는 수직적 핸드오버를 고려한 TCP 혼잡 및 에러 제어 방법.TCP congestion and error control method considering the vertical handover comprising a. 제 3 항에 있어서,The method of claim 3, wherein 상기 제2 혼잡 및 에러 제어 단계는,The second congestion and error control step, 상기 수신받은 ACK 패킷이 중복 ACK가 아니고 상기 SACK 옵션 정보가 상기 세팅된 ACK_HO값을 포함하는지 여부를 판단하는 ACK_HO 판단 단계;An ACK_HO determination step of determining whether the received ACK packet is not a duplicate ACK and the SACK option information includes the set ACK_HO value; 상기 SACK 옵션 정보가 상기 세팅된 ACK_HO값을 포함하면, 상기 제1 무선망의 TCP 상태 정보를 삭제하고 제2 무선망의 TCP 상태 정보를 갱신하고 상기 세팅된 핸드오버 플래그를 해제하는 핸드오버 완료 단계; 및If the SACK option information includes the set ACK_HO value, a handover completion step of deleting TCP state information of the first wireless network, updating TCP state information of a second wireless network, and releasing the set handover flag. ; And 상기 SACK 옵션 정보가 상기 세팅된 ACK_HO값을 포함하지 않으면, 상기 제1 및 제2 무선망의 TCP 상태 정보를 갱신하는 상태 정보 갱신 단계Updating the TCP status information of the first and second wireless networks if the SACK option information does not include the set ACK_HO value; 를 포함하는 수직적 핸드오버를 고려한 TCP 혼잡 및 에러 제어 방법.TCP congestion and error control method considering the vertical handover comprising a. TCP 수신원에서의 수직적 핸드오버를 고려한 TCP 혼잡 및 에러 제어 방법에 있어서,In the TCP congestion and error control method considering the vertical handover at the TCP receiver, 제1 무선망을 통해 TCP 송신원으로부터 패킷을 수신하고 있다가, 미디어 독립 핸드오버 방식으로 제2 무선망으로 수직적 핸드오버하는 핸드오버 단계;A handover step of receiving a packet from a TCP transmission source over a first wireless network and vertically handing over to a second wireless network in a media independent handover scheme; 상기 제1 무선망에 대해 기 설정된 TCP 처리에 따라 ACK 패킷을 생성하되, 상기 제2 무선망을 통해 첫 번째 패킷을 수신하면 명시적 핸드오버 통지 정보를 포함시켜 ACK 패킷을 생성하는 ACK 패킷 생성 단계; 및An ACK packet generation step of generating an ACK packet according to a preset TCP process for the first wireless network, and generating an ACK packet by including explicit handover notification information when receiving the first packet through the second wireless network. ; And 상기 생성한 ACK 패킷을 상기 TCP 송신원으로 전송하는 ACK 패킷 전송 단계ACK packet transmission step of transmitting the generated ACK packet to the TCP transmission source 를 포함하는 수직적 핸드오버를 고려한 TCP 혼잡 및 에러 제어 방법.TCP congestion and error control method considering the vertical handover comprising a. 제 6 항에 있어서,The method of claim 6, 상기 ACK 패킷 생성 단계는,The ACK packet generation step, 상기 제2 무선망을 통해 첫 번째 패킷이 도착하면 명시적 핸드오버 통지 플래그를 세팅하는 통지 플래그 세팅 과정;A notification flag setting process of setting an explicit handover notification flag when a first packet arrives through the second wireless network; 상기 도착한 첫 번째 패킷 번호를 핸드오버 패킷 번호로 저장하는 패킷 번호 저장 과정; 및A packet number storing step of storing the arrived first packet number as a handover packet number; And 상기 저장한 정보를 이용하여 명시적 핸드오버 통지 정보를 포함시켜 ACK 패킷을 생성하는 과정Generating an ACK packet by including explicit handover notification information by using the stored information; 을 포함하는 수직적 핸드오버를 고려한 TCP 혼잡 및 에러 제어 방법.TCP congestion and error control method considering the vertical handover comprising a. 제 7 항에 있어서,The method of claim 7, wherein 상기 ACK 패킷을 생성하는 과정은,The process of generating the ACK packet, 명시적 핸드오버 통지 플래그의 세팅 여부와, 상기 TCP 송신원으로 송신하고자 하는 ACK 패킷이 상기 저장된 첫 번째 패킷 번호에 대한 ACK 패킷을 포함하는지 여부를 확인하는 과정;Checking whether an explicit handover notification flag is set and whether the ACK packet to be transmitted to the TCP sender includes the ACK packet for the stored first packet number; 상기 명시적 핸드오버 통지 플래그가 세팅되고 상기 저장된 첫 번째 패킷 번호에 대한 ACK 패킷이 포함되면, 상기 제2 무선망을 통해 수신된 적어도 하나의 패킷 번호를 SACK 옵션 정보에 포함시켜 ACK 패킷을 생성하는 과정; 및When the explicit handover notification flag is set and an ACK packet for the stored first packet number is included, at least one packet number received through the second wireless network is included in SACK option information to generate an ACK packet. process; And 상기 명시적 핸드오버 통지 플래그가 세팅되지 않고 상기 저장된 첫 번째 패킷 번호에 대한 ACK 패킷이 포함되지 않으면, 기 설정된 TCP 처리에 따라 ACK 패킷을 생성하는 과정If the explicit handover notification flag is not set and the ACK packet for the stored first packet number is not included, generating an ACK packet according to a preset TCP process. 을 포함하는 수직적 핸드오버를 고려한 TCP 혼잡 및 에러 제어 방법.TCP congestion and error control method considering the vertical handover comprising a.
KR1020090071456A 2009-08-03 2009-08-03 Method of tcp congestion and error control for vertical handover KR20110013817A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090071456A KR20110013817A (en) 2009-08-03 2009-08-03 Method of tcp congestion and error control for vertical handover

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090071456A KR20110013817A (en) 2009-08-03 2009-08-03 Method of tcp congestion and error control for vertical handover

Publications (1)

Publication Number Publication Date
KR20110013817A true KR20110013817A (en) 2011-02-10

Family

ID=43773245

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090071456A KR20110013817A (en) 2009-08-03 2009-08-03 Method of tcp congestion and error control for vertical handover

Country Status (1)

Country Link
KR (1) KR20110013817A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012141533A2 (en) * 2011-04-15 2012-10-18 서강대학교 산학협력단 Method and system for controlling data transmission rate during an upward vertical handover in nested network environment

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012141533A2 (en) * 2011-04-15 2012-10-18 서강대학교 산학협력단 Method and system for controlling data transmission rate during an upward vertical handover in nested network environment
WO2012141533A3 (en) * 2011-04-15 2013-03-07 서강대학교 산학협력단 Method and system for controlling data transmission rate during an upward vertical handover in nested network environment
US9319331B2 (en) 2011-04-15 2016-04-19 Industry-University Cooperation Foundation Sogang University Data transmission rate control method and system in upward vertical handover in overlay network environment

Similar Documents

Publication Publication Date Title
EP1495623B1 (en) System, device and method for improving throughput in a communication network, preferably a mobile ipv6-based network
JP5099383B2 (en) Handover processing
CA2663428C (en) Media independent handover protocol state machine
JP2009503991A (en) Means and methods for improving handover characteristics of radio access networks
KR100892212B1 (en) Wireless communication system, wireless base station, and wireless communication control method
US10425868B2 (en) Apparatus, system, and method for preventing TCP connection interruption
US20180098259A1 (en) Method of providing a mobility service
JP6092179B2 (en) Changing the serving access point for the forward and reverse links
Liu et al. Cross-layer design of the inter-RAT handover between UMTS and WiMAX
KR20110013817A (en) Method of tcp congestion and error control for vertical handover
Kim et al. Performance evaluation and improvement of TCP throughput over PFMIPv6 with MIH
KR100755698B1 (en) Apparatus and method for controlling packet transmition in wireless network
Miyim Intelligent network selection for vertical handover optimization in LTE-advanced
KR100625237B1 (en) Method of HandOff for high speed portable internet system
Ezzouhairi et al. Cooperative end-to-end roaming through homogeneous and heterogeneous networks
US20080186888A1 (en) Apparatus and method for home address recognition in mobile communication system
Bin et al. Inter-RAT Handover between UMTS and WiMAX
Liu et al. New efficient cross‐layer and multihoming mechanisms at layer 2 for inter‐radio access technology handover between UMTS and WiMAX
Mondal Improving performance of TCP over mobile wireless networks
KR100833999B1 (en) The mobility management method for seamless handover using user terminal with multi interfaces
Onoe et al. An efficient TCP/IP hand-over control scheme for next-generation mobile communication networks
Belghoul et al. IP-based Soft Handover in All-IP wireless networks

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid