KR20040062822A - 무선 환경에서 전송 제어 프로토콜의 성능 향상을 위한버퍼 관리 장치 및 방법 - Google Patents

무선 환경에서 전송 제어 프로토콜의 성능 향상을 위한버퍼 관리 장치 및 방법 Download PDF

Info

Publication number
KR20040062822A
KR20040062822A KR1020030000353A KR20030000353A KR20040062822A KR 20040062822 A KR20040062822 A KR 20040062822A KR 1020030000353 A KR1020030000353 A KR 1020030000353A KR 20030000353 A KR20030000353 A KR 20030000353A KR 20040062822 A KR20040062822 A KR 20040062822A
Authority
KR
South Korea
Prior art keywords
packet
buffer
tcp
serial number
input
Prior art date
Application number
KR1020030000353A
Other languages
English (en)
Other versions
KR100480279B1 (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 KR10-2003-0000353A priority Critical patent/KR100480279B1/ko
Publication of KR20040062822A publication Critical patent/KR20040062822A/ko
Application granted granted Critical
Publication of KR100480279B1 publication Critical patent/KR100480279B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/04Network layer protocols, e.g. mobile IP [Internet Protocol]
    • 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/10Flow control between communication endpoints
    • H04W28/14Flow control between communication endpoints using intermediate storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/20Manipulation of established connections
    • H04W76/27Transitions between radio resource control [RRC] states

Landscapes

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

Abstract

본 발명은 이동통신 시스템에서 무선 링크 제어 프로토콜 계층의 버퍼를 관리하는 방법에 관한 것으로서, 상기 버퍼에 저장된 패킷 중 일련번호가 가장 큰 패킷의 번호를 제1 비교값으로 저장하는 과정과, 상기 버퍼로 입력되는 TCP 패킷의 일련번호를 검사하여, 상기 제1 비교값보다 작을 경우, 상기 입력되는 패킷을 버퍼에 저장하지 않는 과정을 포함하는 것을 특징으로 한다. 상기 버퍼 관리 방법에 의하면 TCP 타임아웃으로 인해 발생되는 중복된 데이터의 전송을 무선 구간에서 방지할 수 있게 되어 무선 자원을 절약할 수 있게 된다.

Description

무선 환경에서 전송 제어 프로토콜의 성능 향상을 위한 버퍼 관리 장치 및 방법{APPARATUS FOR MANAGING BUFFER IN RLC LAYER AND METHOD THEROF}
본 발명은 데이터 전송을 위주로 한 이동 통신 시스템의 기지국 제어기와 단말에서, 인터넷 프로토콜인 TCP(Transmission Control Protocol)의 전송 성능 향상을 위한 버퍼의 관리 방법 및 장치에 관한 것이다.
1990년 이후 웹으로 인해 인터넷 사용이 크게 증가하면서 인터넷 트래픽도 크게 늘어 났다. 그런데, 인터넷 트래픽의 대부분을 차지하는 Web, telnet, ftp 등의 응용 프로그램 트래픽은 모두 TCP(Transport Control Protocol)를 이용하고 있으며 이로 인해 인터넷 트래픽의 80% 이상을 TCP 트래픽이 차지하고 있다.
TCP는 IP(Internet Protocol)위에서 동작하면서 신뢰성 있는 순차적 데이터 전송(reliable in-order data delivery)을 보장해주는 프로토콜이다. TCP는 패킷을 보낼 때 슬라이딩 윈도우(sliding window) 기법을 사용한다. 따라서, 한 패킷을 전송한 뒤 그 패킷에 해당하는 ACK가 도착하지 않더라도 윈도우(window)의 크기에 따라 후속 패킷을 연속해서 전송할 수 있다. 이때, 윈도우의 크기는 송신측(sender)에서 정하는 밀집 윈도우(congestion window)와 수신측(receiver)에서 ACK를 통해 전송되는 통지 윈도우(advertise window)를 가지고 정해 진다. 상기 통지 윈도우(advertise window)는 수신측의 버퍼 공간에 의해 좌우되며, 실제 네트워크에 적절한 양 만큼만 데이터를 밀어 넣게 만드는 밀집 제어(congestion control)는 송신측의 밀집 윈도우(congestion window)를 통해 이루어 진다.
또한, TCP는 패킷을 전송한 후 이전 패킷에 의해 계산된 RTT(Round-Trip Time)를 기반으로 설정 되어진 RTO(Retransmission Time Out) 시간을타임아웃(timeout) 시간으로 설정한다. 타임아웃 시간 안에 수신측으로부터 어떠한 ACK도 도착하지 않으면 TCP는 패킷이 중간 링크에서 사라진 것으로 판단하고 패킷을 다시 재전송한다. 타임아웃에 의해 패킷이 재전송될 경우 TCP의 밀집 윈도우(congestion window)의 크기는 1이 되고 ACK가 올 때마다 slow start를 시작하여 밀집 윈도우(congestion window)를 점차 키워 나간다. 만약, 패킷을 재전송 했는데도 일정 시간 안에 ACK가 도달하지 않는다면 다시 타임아웃이 발생하고 패킷을 또 다시 재전송한다. 이때, RTO는 연속해서 재전송 할 때마다 지수적으로(exponential) 증가 하게 된다(exponential backoff). 상기 과정을 타임아웃에 의한 패킷 재전송이라 한다(timeout retransmission).
패킷 재전송과 밀집 윈도우의 크기 변화는 TCP의 밀집 제어(congestion control)에 의해서도 발생한다. 밀집 제어는 송신측에서 패킷을 보내는 속도를 적절히 조절해 중간 노드들의 과부하로 인해 발생할 수 있는 패킷 데이터의 밀집(congestion)에 대처하는 방법이다. TCP는 ACK를 통해 중간의 특정 패킷들이 사라졌다고 생각되면 이를 링크 에러로 인해 사라진 것이라 생각하지 않고 중간 노드들의 과부하로 인한 패킷 버림으로 판단, 해당 패킷들을 재전송하면서 밀집 윈도우를 줄여 제어한다. 또한, 후속 ACK를 받을 때마다 차츰 밀집 윈도우의 크기를 증가시켜 패킷 전송 속도를 조금씩 증가시킨다.
TCP는 버전에 따라 이러한 밀집 제어에 대한 동작 방법이 조금씩 다르다. 초기 버전인 TCP Tahoe는 한 패킷에 대해 중복 ACK가 세번 이상 오면 중간에 패킷이 손실된 것으로 생각하고 다시 패킷을 재 전송한다. 이를 고속 재전송(FastRetransmit)이라고 한다. 그리고, TCP Tahoe의 경우 고속 재전송으로 패킷을 재전송하고 나면 저속 시작(slow start)의 문턱값(threshhold)를 바로 전 밀집 윈도우의 반 값으로 조정하고, 밀집 윈도우를 1로 놓고 저속 시작을 다시 시작한다. 이에 반해 TCP Reno는 TCP Tahoe와 달리 밀집 윈도우만 절반을 줄인다. 이를 고속 회복(fast recovery)을 통해 TCP Reno는 저속 시작이 계속 반복되어 윈도우의 크기가 자주 1에서 시작되는 것을 막는다.
한편, 무선채널에서의 경우 TCP 송신측은 패킷이 사라졌다고 판단되면 이를 링크 에러로 인한 데이터 손실로 보지 않고 중간 노드에서 밀집(congestion)이 발생한 것으로 생각하고, 밀집 윈도우의 크기를 줄임으로서 패킷 전송 속도를 떨어뜨린다. 이것은 유선망에서는 링크 에러율이 매우 낮기 때문에 가능한 가정이다. 그러나, 무선 망에서는 유선 망에 비해 매우 높은 BER(Bit Error Rate)을 가지고 있어서 무선 구간의 링크 에러로 인한 패킷 손실 확률이 유선 망에 비해 매우 높다. 그러므로, 무선 구간이 있는 경로를 TCP 패킷이 지나가고 있을 때, 무선 구간의 링크 에러로 인해 패킷이 사라진다면 TCP 송신측에서는 이를 중간 노드에서 밀집(congestion)이 발생한 것으로 오인하게 되고 패킷 전송 속도를 떨어뜨리는 오동작을 하게 된다. 이러한 오동작은 TCP 전송 성능을 떨어뜨리게 되는데 무선 구간에서는 링크 에러가 빈번히 발생하므로 TCP의 전송 성능은 크게 저하 된다.
TCP를 바꾸지 않고 무선 구간의 링크 에러로 인한 TCP 성능 저하를 막기 위한 기법으로는 링크-레이어 프로토콜(Link-Layer Procotol)의 에러 정정 기법이 있다. 상기 링크-레이어 프로토콜은 상위 계층에서 무선 링크 에러를 자주 감지하지못하도록 링크 레이어에서 데이터를 재전송하거나 패킷에 대한 정보를 함께 보내서 최대한 복원한다. 링크-레이어 프로토콜에서의 에러 정정은 기존의 계층 레이어 프로토콜(Layered network protocol) 구조에 적합하고 상위 계층과 독립적으로 동작하며, 접속별 상태(per-connection state)를 관리하지 않아도 되는 장점을 가진다. 즉, 가장 쉽고 효과적으로 무선 TCP의 성능을 향상시킬 수 있다. 링크-레이어 프로토콜의 에러 정정 기법으로는 FEC(Forward Error Correction)와 ARQ(Automatic Repeat reQuest) 방법 등이 있는데 현재 WCDMA에서는 TCP 성능 향상을 위해 LLMR ARQ(Link Layer Multiple Rejects ARQ) 기법을 사용한다.
한편, 무선 환경에서 TCP 트래픽 전송은 링크 에러로 인한 데이터 손실 뿐만 아니라 대역폭 변화와 같은 무선 자원의 변화, 지연 시간 변화, 무선 구간 에러율 변화 등 여러 다른 요인으로 인해서도 크게 영향 받는다. 현재 UMTS 시스템의 링크 레이어 에러 정정 기법인 RLC 재전송은 무선 채널의 에러를 보상할 수 있는 효과적인 방법이지만 대역폭 감소와 같이 전송 품질을 악화시키는 다른 요인들은 잘 해결하지 못한다. 특히 UMTS 시스템에서 무선 구간의 전송 대역폭은 유선 망에 비해 크게 부족하여 시스템의 전송 성능을 제한하는 요소이기에 효율적으로 운영될 필요가 있다. UMTS 시스템은 전송 효율의 향상을 위해 하나의 호가 제공 받는 전송 대역폭을 무선 채널 상태, 셀의 무선 부하 상황, 호 간 전송 우선 순위 등에 따라 계속 조정할 수 있는데, 전송 대역폭의 감소는 TCP 전송 효율을 악화시킬 수 있다. 특히 사용자의 증가 등으로 인한 무선 과부하 상태에서 과부하 해소를 위한 대역폭 감소는 TCP로 하여금 타임아웃 동작을 발생시킬 수 있다. 일단 타임아웃이 발생하면TCP는 타임아웃이 발생한 데이터부터 다시 재전송하게 되어 이미 전송되었거나, 버퍼에 저장된 데이터와 중복되는 데이터가 다시 저장, 전송되어 전송효율은 더욱 악화된다는 문제점이 있다.
따라서, 본 발명의 목적은 데이터 전송을 위주로 한 이동 통신 시스템의 기지국 제어기와 단말에서, 인터넷 프로토콜인 TCP(Transmission Control Protocol)의 전송 성능 향상을 위한 버퍼의 관리 방법 및 장치를 제공함에 있다.
상기한 목적을 달성하기 위한 본 발명은, 이동통신 시스템에서 무선 링크 제어 프로토콜 계층의 버퍼를 관리하는 방법에 있어서, 상기 버퍼에 저장된 패킷 중 일련번호가 가장 큰 패킷의 번호를 제1 비교값으로 저장하는 과정과, 상기 버퍼로 입력되는 TCP 패킷의 일련번호를 검사하여, 상기 제1 비교값보다 작을 경우, 상기 입력되는 패킷을 버퍼에 저장하지 않는 과정을 포함하는 것을 특징으로 한다.
상기 버퍼로 입력되는 TCP 패킷 중 일련번호가 상기 제1 비교값보다 클 경우, 상기 입력되는 TCP 패킷의 일련번호를 새로운 제1 비교값으로 대체하여 저장하는 과정을 더 포함하는 것을 특징으로 한다.
상기 버퍼로 입력되는 패킷의 TCP 패킷 여부는 패킷 데이터 집중 프로토콜(PDCP)로부터 알 수 있는 것을 특징으로 한다.
상기 버퍼로 입력되는 패킷의 일련번호는 패킷 데이터 집중 프로토콜(PDCP)에서 생성되는 것을 특징으로 한다.
또한, 상기한 목적을 달성하기 위한 본 발명은, 이동통신 시스템에서 무선 링크 제어 프로토콜 계층의 버퍼를 관리하는 장치에 있어서, 상기 버퍼에 저장된 패킷 중 일련번호가 가장 큰 패킷의 번호를 제1 비교값으로 저장하는 레지스터와, 상기 버퍼로 입력되는 TCP 패킷의 일련번호를 검사하여, 상기 레지스터에 저장된 제1 비교값과 비교하는 비교부와, 상기 비교결과 입력된 패킷의 일련번호가 상기 제1 비교값 보다 작을 경우, 상기 입력되는 패킷이 버퍼에 저장되지 않도록 제어하는 제어부를 포함하는 것을 특징으로 한다.
도 1은 이동통신 시스템의 무선 인터페이스 프로토콜의 구조를 나타낸 도면.
도 2는 이동통신 망에서의 TCP 프로토콜 연결시 주요 프로토콜의 연결 구성을 나타낸 도면.
도 3은 이동통신 망에서의 RLC AM 모드의 블록도.
도 4는 본 발명에 따른 버퍼 관리자의 블록도.
도 5는 본 발명에 따른 버퍼 관리자의 처리 절차를 나타낸 흐름도.
도 6a는 종래 기술에 따른 무선 채널에서 RLC 재전송 기법 이용시 TCP 성능을 그래프로 나타낸 도면.
도 6b는 종래 기술에 따른 무선 채널에서 RLC 재전송 기법 이용 중 전송률이 변화할 때의 TCP 성능을 그래프로 나타낸 도면.
도 6c는 본 발명에 따른 버퍼 관리 기법을 적용한 TCP 성능을 그래프로 나타낸 도면.
이하 본 발명의 바람직한 실시예의 상세한 설명이 첨부된 도면들을 참조하여 설명될 것이다. 하기에서 각 도면의 구성요소들에 참조부호를 부가함에 있어 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략할 것이다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의 내려진 용어들로서 이는 사용자 또는 칩설계자의 의도 또는 관례등에 따라 달라질 수 있으며, 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명은 이동통신 시스템의 무선 인터페이스 프로토콜 중에서 PDCP(Packet Data Convergence Procotol)와 RLC 계층의 재전송 버퍼(Retransmission buffer)를대상으로 한다.
특히, 상기 PDCP에서 상기 RLC 계층으로 TCP 패킷의 재전송 시, 타임아웃에 의한 불필요한 재전송을 막기 위하여, 상기 RLC 계층으로 전송되는 TCP 패킷의 일련번호를 이용한다. 즉, 상기 입력되는 TCP 패킷들의 가장 큰 일련번호 값을 저장하여 동일한 패킷의 불필요한 재전송을 방지한다.
이하, 본 발명의 명확한 설명을 위해 도 1 내지 도 3을 참조하여 상기 이동통신 시스템의 무선 인터페이스 프로토콜의 구성 및 RLC 계층의 구조를 설명한다.
상기 도 1을 참조하면, 상기 무선 인터페이스 프로토콜은 각 계층에 따라 물리 계층(110)을 포함하는 레이어 1(116)과, MAC 계층(108), RLC 계층(106), PDCP(Packet Data Convergence Protocol; 102) 및 BMC(Broadcast Multicast Control Protocol; 104)를 포함하는 레이어 2(114)와 RRC 계층(100)을 포함하는 레이어 3(112)으로 구분될 수 있다.
물리 계층(110)은 어떻한 특성을 가지고 데이터가 전송되는가에 따라 특징짓는 전달 채널(Transport channel)을 통하여 MAC 계층(108)에 서비스를 제공한다. 상기 MAC 계층(108)은 논리 채널(Logical channel)을 통하여 RLC 계층(106)에 서비스를 제공한다. 상기 논리 채널은 어떤 형태의 데이터가 전송되는가에 따라 여러 채널로 구분된다. 상기 RLC 계층(106)은 RLC가 어떻게 데이터 패킷들을 다루는지, 예컨대, 자동 응답 요구(ARQ) 기능이 사용되었는지를 말해주는 SAP(Service Access Point)를 통해서 상위 계층에 서비스를 제공한다. 제어 측면에서 상기 RLC 계층(106)의 서비스는 신호 전송을 위해 RRC 계층(100)에서 사용된다. 사용자 측면에서 RLC 서비스들은 서비스에 국한되는 프로토콜 계층인 PDCP(102)나 BMC(104)에 의해 사용되거나 또는 다른 상위 계층 사용자 측면(예컨대, 음성 코덱)들에 의해 사용된다.
RLC 서비스 들은 제어 측면에서 '시그널링 무선 베어러(signalling radio bearer)'라 하고 PDCP나 BMC 프로토콜을 사용하지 않은 사용자 측면의 서비스들을 '무선 베어러(Radio Bearer)'라 한다. RLC 프로토콜은 3가지 모드, 즉 Tr(transparent), UM(unacknowledged) 및 AM(acknowledged) 모드에서 동작할 수 있다. PDCP(102)는 패킷 서비스(Packet Service) 영역 서비스에만 존재하며, 주된 기능은 헤더 압축이다. 상기 PDCP(102)에 의해 제공되는 서비스를 '무선 베어러(Radio Bearer)'라 한다. BMC(104)는 셀 방송 센터(Cell Broadcast Center)로부터 발생되는 메시지를 무선 인터페이스를 통해 운반하는 데 이용된다. 3GPP Release-99 규격에서 유일한 특정 방송 서비스는 GSM으로부터 파생된 SMS 셀 방송 서비스이다. 또한, BMC(104) 프로토콜에 의해 제공되는 서비스는 '무선 베어러(Radio Bearer)'라 한다.
RRC 계층(100)에서는 SAP를 통해 상위 계층(Non Access Stratum)으로 서비스를 제공한다. 그러한 SAP들은 단말기 측의 상위 프로토콜과 UTRAN(Universal Terrestrial Radio Access)측의 Iu RANAP((Radio Access Network Application Part) 프로토콜에 의해 사용된다. 모든 상위 계층의 시그널링(이동국 관리, 호 제어 세션 관리 등)은 무선 인터페이스를 통한 전송을 위해서 RRC 메시지로 캡슐화한다.
RRC 계층(100)은 물리 채널, 전달 채널 및 논리 채널의 파라미터를 포함하는 하위 프로토콜의 특성을 설정하기 위해서 RRC와 모든 하위 계층 프로토콜 사이의 제어 인터페이스를 사용한다. 예를 들면, 같은 제어 인터페이스들이 하위 계층들에게 특정 형태의 측정을 해서 결과를 보고하라는 명령이 RRC 계층(100)에 의해 사용된다.
즉, 상기 PDCP(102)는 RNC(Radio Network Controller)와 단말 간 전송되는 패킷의 IP 헤더(header)와 TCP 헤더(header)를 압축하는 기능을 수행하고, 상기 RLC 계층(106)은 링크 에러로 인하여, 패킷이 무선 구간을 통해 제대로 전송되지 않았을 때 에러난 패킷을 재전송하는 기능을 수행한다.
한편, 인터넷 서버와 단말이 UMTS를 거쳐 연결되었을 때 상기 주요 프로토콜들의 연결 구성을 도 2를 참조하여 설명하면, 각 정보 제공자(Fixed Host), 기지국(Base Station) 및 단말기(Mobile Host)는 다수의 계층 구조로 구성된다.
상기 정보 제공자의 데이터는 TCP 응용계층(200)으로부터 TCP 계층(202)을 거쳐 물리 계층(204)으로 변환되고, 기지국(Base Station)의 물리 계층(210)과 유선 라인을 통해 송/수신된다. 상기 기지국은 PDCP 계층(106), RLC 계층(208) 및 물리 계층(210)으로 구성되며, 이동국의 물리 계층(220)과 무선 링크를 통해 데이터를 송/수신한다. 또한, 상기 이동국은 TCP 응용 계층(212), TCP 계층(214), PDCP 계층(216), RLC(218) 계층 및 물리 계층(220)으로 구성되며, 상기 기지국의 PDCP 계층(206) 및 RLC 계층(208)과는 논리적인 연결관계를 이루고 있다.
도 3은 이동통신 망에서의 RLC AM 모드의 블록도이다.
상기 도 3을 참조하면, 패킷 데이터 유닛이 어떻게 구성되는지를 보여준다. 먼저, 송신측(Transmitting Side)을 살펴보면, AM-SAP(Acknowledged Mode-Service Access Point)를 통해 상위 계층에서 수신된 데이터 패킷(RLC SDU)은 고정된 길이의 패킷 단위로 분할(Segmentation) 또는 연접(Concate)된다(300). 패킷의 길이는 무선 베어러 설정에서 결정된 값이며, 무선 베어러 재설정 프로시저를 통해서만 바꿀 수 있다. 연접(concatenation)또는 패딩(padding)의 목적에 대하여, 그 길이와 확장된 길이에서 정보를 나르는 비트는 SDU로부터 데이터가 포함되는 곳의 마지막 패킷의 시작 시점에 삽입된다. 만약 몇 개의 SDU가 하나의 패킷 유닛으로 고정된다면, 상기 SDU들은 연접되어서 적절한 길이의 지시자가 패킷 유닛의 시작점에 삽입된다. 이때, 상기 패킷 유닛은 송신 버퍼(transmission buffer; 304)에 놓인다.
RLC AMD PDU는 재전송 버퍼(Retransmission buffer; 302)로부터 하나의 패킷 유닛을 취하고, 헤더를 첨가(306)함으로써 만들어진다. 만약 패킷 유닛에서 데이터가 전체 RLC AMD PDU를 채우지 못한다면, 패딩(Padding) 필드 또는 피기백(piggybacked) 상태 메시지가 덧붙여진다. 상기 피기백 상태 메시지는 수신측으로부터 또는 송신측으로부터 RLC SDU 폐기를 나타내기 위해서 발생될 수 있다. 상기 헤더는 RLC PDU 시퀀스 수, 폴 비트(poll bit) 및 옵션 사항의 길이 지시자들을 포함한다.
다음으로, PDU 일련 번호(Sequence number)와 폴 비트를 구성하는 첫 두개의 옥텟을 제외하고 AM RLC PDU가 암호화(308)되어 DCCH/DTCH(Dedicated Control CHannel/Dedicated Traffic Channel)등의 논리 채널을 통해 MAC 계층으로 전송된다.
한편, 수신측(Receiving Side)을 살펴보면, MAC 하부 계층으로부터 상기 논리 채널들 중의 하나를 통해서 RLC AMD PDU를 수신한다. 에러가 CRC를 사용하여 체크되며, 전체 RLC PDU에서 계산된다. 실제 CRC 체크는 물리 계층에서 수행되고, RLC 개체는 데이터를 사용한 이러한 CRC 체크의 결과를 수신한다. 상기 데이터가 복호화(318)된 후에, 전체 헤더와 가능한 피기백 상태 정보가 상기 RLC PDU로부터 추출된다. 상기 수신된 PDU가 제어 메시지였거나, 상태 정보가 AMD PDU에 대한 피키백이었다면 제어 정보는 송신측으로 통과된다. 이것은 수신 상태 정보에 대한 재전송 버퍼(302)를 체크하며, RLC 헤더로부터 PDU 수가 복호화를 위해서 요구된다. 또한, 복호된 패킷 유닛을 수신 버퍼로 저장할 때, SDU가 재조립된다(312). 그런 다음, 시퀀스 운송과 이중 검출을 위한 체크가 RLC SDU가 상위 계층으로 전송되기 전에 수행된다.
한편, 본 발명과 관련된 상기 RLC 계층 송신측에서의 상기 재전송 버퍼(302)의 기능을 보다 구체적으로 설명하면, 무선 환경 변화 등으로 인해 TCP 타임아웃이 발생하게 되면 송신자는 타임아웃이 발생한 TCP 패킷부터 다시 재전송하게 된다. 그러나, 기지국이 데이터를 버리지 않는 한 재전송되는 패킷들은 이미 단말로 전송되었거나 상기 기지국 버퍼에 저장되어 전송되기를 기다리고 있게 된다. 그러므로, 종래의 재전송 버퍼에서와 같이 재전송된 패킷을 다시 단말로 보내는 것은 값비싼 무선 자원을 이용해 중복된 데이터를 전송하는 낭비를 가져 온다.
따라서, 본 발명은 TCP 트래픽의 효율적인 전송을 위해 도 4에서 도시되는바와 같이 버퍼 관리자(410)를 추가하여, 상기 RLC의 재전송 버퍼(414)를 보다 효과적으로 관리한다. 즉, 상기 PDCP 계층으로부터 압축된 TCP 패킷이 재전송 버퍼(414)를 통해 RLC 계층(412)으로 전송될 때, 상기 전송되는 TCP 패킷의 일련번호를 검사하여 기 전송된 TCP 패킷에 대해서는 전송되지 않도록 상기 버퍼 관리자(410)가 패킷의 전송을 제어한다.
보다 구체적으로 설명하면, 상기 버퍼 관리자(410)는 상기 재전송 버퍼내에 저장되는 TCP 패킷의 일련번호 중 가장 큰 번호를 저장하고 있어야 하며, 상기 PDCP(400)로부터 재전송 버퍼(410)로 새로이 입력되는 TCP 패킷에 대해서는 일련번호를 검사하여, 상기 저장된 일련번호보다 작을 경우에는 이미 상기 TCP 패킷이 단말로 전송되었거나, 버퍼에 저장되어 있는 것이므로, 추가적인 전송을 억제한다.
상기 TCP 패킷들의 일련번호는 PDCP 계층(400)에서 이미 압축되어 전송되므로, RLC 계층(412)에서는 상기 TCP 패킷의 일련번호를 알 수가 없다. 따라서, 본 발명이 구현되려면, 상기 PDCP 계층에서 TCP 패킷이 포함된 헤더 부분의 압축 과정을 수행하기 전, 상기 일련번호를 시그널링 신호를 통해 버퍼관리자(410)로 전송시키는 것이 바람직하다. 따라서, 상기 PDCP 계층(400)으로부터 재전송 버퍼(414)로 TCP 패킷이 입력될 때, 상기 전송받은 상기 TCP 패킷의 일련번호를 기 저장된 TCP 패킷 일련번호의 최대값과 비교하여 처리할 수 있다.
이하, 상기 버퍼 관리자(410)에 의해 처리되는 과정을 도 5를 참조하여 상세히 설명한다.
먼저 버퍼 관리자는 재전송 버퍼에 저장되어 있는 패킷의 가장 큰 TCP 일련번호를 소정의 S 값으로 저장(502)한다. 그런다음, 새로운 패킷과 시그널이 입력(504)되면, 상기 패킷이 TCP 패킷인지 검사(506)한다. 만약, 상기 입력된 패킷이 TCP 패킷이 아닐 경우에는 본 발명에서와 같이 일련번호에 의한 재전송 버퍼 제어가 필요 없으며, 일반적인 밀집(congestion)에 의한 타임아웃으로 판단할 수 있으므로 상기 패킷을 버퍼에 저장하여 재전송 할 수 있도록 하는 것이 바람직하다.
한편, 상기 입력된 패킷이 TCP 패킷으로 판단되면, 상기 PDCP 계층으로 부터 전송받은 상기 패킷의 일련번호를 기 저장된 상기 S 값과 비교(508)한다. 만약, 상기 패킷의 일련번호가 상기 S 값보다 작을 경우에는, 상술한 바와 같이 상기 새로이 입력되는 패킷이 이미 재전송 버퍼에 저장되어 전송 대기 상태이거나, 이미 단말로 전송된 패킷으로 볼 수 있으므로, 상기 패킷을 버리게 된다. 즉, 종래와 같이 상기 패킷이 무조건 재전송 버퍼(414)로 입력된다면, 불필요한 재전송으로 인해, 이미 전송되었거나, 버퍼에 저장된 데이터와 중복되는 데이터가 다시 저장 전송되므로, 전송 효율이 더욱 악화될 수가 있게 된다.
만약, 상기 입력된 TCP 패킷의 일련번호가 기 저장된 상기 S 값보다 클 경우에는, 처음 입력되는 TCP 패킷이므로 상기 새로 입력되는 패킷의 일련번호를 새로운 S 값으로 저장(510)하고, 상기 패킷을 패킷 버퍼로 저장(512)하게 된다.
< 본 발명의 실험예>
이하, 도 6a 내지 6c를 통하여, 종래 기술과 본 발명에 따른 실험한 결과를 비교하여 설명한다.
상기 도 6a는 종래 기술에 따른 무선 채널에서 RLC 재전송 기법 이용시 TCP 성능을 그래프로 나타낸 도면이며, 특히 UMTS 시스템에서 10%의 전송 에러가 발생하는 384 Kbps 무선 채널로 전송시 TCP의 성능을 보여준다. 상기 도 6a의 오른쪽 아래 그래프를 참조하면, RLC 재전송으로 인해 윈도우 크기가 감소하는 성능의 저하 없이 TCP 트래픽을 전송할 수 있음을 알 수 있다.
그러나, 실제의 경우에 있어서는, 무선 환경이 실시간으로 변하기 때문에, 전송 대역폭, 지연 시간 등이 변함으로 인해 상기와 같은 이상적인 그래프는 얻을 수가 없다.
따라서, 상기와 같은 10%의 전송 에러 무선 채널에서 재전송 기법을 사용하여 전송할 때, 전송률이 1초 단위로 384 Kbps 및 64 Kpbs로 변화할 때의 TCP 성능을 도 6b에서 그래프로 도시하였다.
상기 도 6b의 오른쪽 아래 그래프를 참조하면, TCP 프로토콜의 윈도우 크기가 시간에 따라 급격히 변화함을 볼 수 있다. 상기 그래프에서 그래프가 평형을 유지하다가 급격히 떨어지는 부분이 타임아웃이 일어난 부분이며, 상기 타임아웃들 사이에 유지되는 수평 부분의 길이가 윈도우의 크기를 의미한다.
이러한 것은, 전송률이 384 Kbps 에서 64 Kbps로 변할 때, TCP 타임아웃이 자주 발생하여 윈도우 크기가 현저히 줄었다는 것을 의미하며, 그만큼 성능이 하락하였다.
따라서, 본 발명에 따른 버퍼 관리 방법을 사용하여 불필요한 TCP 패킷의 재전송을 제어하게 되면, 보다 나은 효과를 얻을 수 있다.
도 6c는 본 발명에 따른 버퍼 관리 방법을 적용한 TCP 성능을 그래프로 나타낸 도면이다.
도 6c의 오른쪽 아래 그래프를 참조하면, 상기 도 6b에서의 윈도우 크기 변화와 비교할 때, 윈도우 크기 변화 횟수가 횔씬 적어 타임아웃의 횟수가 줄어 들었음을 알 수 있다. 상기 버퍼 관리 방법을 적용한 경우 평균 84.5 Kbps의 TCP 처리량(throughput)을 보여 주었다. 버퍼 관리 방법을 적용하지 않은 상기 도 6b의 경우 TCP 처리량이 69.3 Kbps 정도로 측정되었으므로 본 발명에 따른 버퍼 관리 방법을 적용하면 약 20% 정도의 성능 향상을 가져온다는 것을 알 수 있다.
무선 채널의 전송 성능을 향상시키는 것은 대단히 중요한 문제이며, 큰 경제적 효과를 얻을 수 있다. TCP 트래픽이 전송 트래픽의 대부분을 차지할 3G 이동 통신망에서 버퍼 관리 방법을 이용하면, 과부하시 TCP 전송 성능을 상기와 같이 20% 이상 향상시킬 수 있다.
본 발명에 의하면, TCP 타임아웃으로 인해 발생되는 중복된 데이터 전송을 무선 구간에서 방지할 수 있게 되어 무선 자원을 절약할 수 있게 된다. 또한, 재전송되는 TCP 패킷이 단말에 도착하지 않음으로써, 단말은 중복된 ACK 신호를 보내지 않게 된다. 그 결과, 송신측에서는 중복된 ACK로 인한 고속 재전송(Fast Retransmit)이 발생하지 않게 되는 효과가 있다.

Claims (8)

  1. 소정의 TCP 패킷을 패킷 데이터 집중 프로토콜로부터 무선 링크 제어 프로토콜로 전송하는 이동통신 시스템에서, 상기 무선 링크 제어 프로토콜 계층의 버퍼를 관리하는 방법에 있어서,
    상기 버퍼에 저장된 TCP 패킷들 중 일련번호가 가장 큰 패킷의 번호를 제1 비교값으로 저장하는 과정과,
    상기 버퍼로 입력되는 TCP 패킷의 일련번호를 검사하여, 상기 제1 비교값보다 작을 경우, 상기 입력되는 패킷을 버퍼에 저장하지 않는 과정을 포함하는 것을 특징으로 하는 무선 환경에서 전송 제어 프로토콜의 성능 향상을 위한 버퍼 관리 방법.
  2. 제1항에 있어서,
    상기 버퍼로 입력되는 TCP 패킷 중 일련번호가 상기 제1 비교값보다 클 경우, 상기 입력되는 TCP 패킷의 일련번호를 새로운 제1 비교값으로 대체하여 저장하는 과정을 더 포함하는 것을 특징으로 하는 무선 환경에서 전송 제어 프로토콜의 성능 향상을 위한 버퍼 관리 방법.
  3. 제1항에 있어서,
    상기 버퍼로 입력되는 패킷의 TCP 패킷 여부는 패킷 데이터 집중 프로토콜(PDCP)로부터 알 수 있는 것을 특징으로 하는 무선 환경에서 전송 제어 프로토콜의 성능 향상을 위한 버퍼 관리 방법.
  4. 제1항에 있어서,
    상기 버퍼로 입력되는 패킷의 일련번호는 패킷 데이터 집중 프로토콜(PDCP)에서 생성되는 것을 특징으로 하는 무선 환경에서 전송 제어 프로토콜의 성능 향상을 위한 버퍼 관리 방법.
  5. 이동통신 시스템에서 무선 링크 제어 프로토콜 계층의 버퍼를 관리하는 장치에 있어서,
    상기 버퍼에 저장된 패킷 중 일련번호가 가장 큰 패킷의 번호를 제1 비교값으로 저장하는 레지스터와,
    상기 버퍼로 입력되는 TCP 패킷의 일련번호를 검사하여, 상기 레지스터에 저장된 제1 비교값과 비교하는 비교부와,
    상기 비교결과 입력된 패킷의 일련번호가 상기 제1 비교값 보다 작을 경우, 상기 입력되는 패킷이 버퍼에 저장되지 않도록 제어하는 제어부를 포함하는 것을특징으로 하는 무선 환경에서 전송 제어 프로토콜의 성능 향상을 위한 버퍼 관리 장치.
  6. 제5항에 있어서,
    상기 버퍼로 입력되는 TCP 패킷 중 일련번호가 상기 제1 비교값보다 클 경우, 상기 입력되는 TCP 패킷의 일련번호를 새로운 제1 비교값으로 대체하여 상기 레지스터에 저장하는 것을 특징으로 하는 무선 환경에서 전송 제어 프로토콜의 성능 향상을 위한 버퍼 관리 장치.
  7. 제5항에 있어서,
    상기 버퍼로 입력되는 패킷의 TCP 패킷 여부는 패킷 데이터 집중 프로토콜(PDCP)로부터 알 수 있는 것을 특징으로 하는 무선 환경에서 전송 제어 프로토콜의 성능 향상을 위한 버퍼 관리 장치.
  8. 제5항에 있어서,
    상기 버퍼로 입력되는 패킷의 일련번호는 패킷 데이터 집중 프로토콜(PDCP)에서 생성되는 것을 특징으로 하는 무선 환경에서 전송 제어 프로토콜의 성능 향상을 위한 버퍼 관리 장치.
KR10-2003-0000353A 2003-01-03 2003-01-03 무선 환경에서 전송 제어 프로토콜의 성능 향상을 위한버퍼 관리 장치 및 방법 KR100480279B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2003-0000353A KR100480279B1 (ko) 2003-01-03 2003-01-03 무선 환경에서 전송 제어 프로토콜의 성능 향상을 위한버퍼 관리 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2003-0000353A KR100480279B1 (ko) 2003-01-03 2003-01-03 무선 환경에서 전송 제어 프로토콜의 성능 향상을 위한버퍼 관리 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20040062822A true KR20040062822A (ko) 2004-07-09
KR100480279B1 KR100480279B1 (ko) 2005-04-07

Family

ID=37353971

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-0000353A KR100480279B1 (ko) 2003-01-03 2003-01-03 무선 환경에서 전송 제어 프로토콜의 성능 향상을 위한버퍼 관리 장치 및 방법

Country Status (1)

Country Link
KR (1) KR100480279B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100772394B1 (ko) * 2006-02-09 2007-11-01 삼성전자주식회사 IPSec에서의 재전송 방지 윈도우 갱신 방법 및 장치
CN116566914A (zh) * 2023-07-07 2023-08-08 灵长智能科技(杭州)有限公司 旁路tcp加速方法、装置、设备及介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100772394B1 (ko) * 2006-02-09 2007-11-01 삼성전자주식회사 IPSec에서의 재전송 방지 윈도우 갱신 방법 및 장치
CN116566914A (zh) * 2023-07-07 2023-08-08 灵长智能科技(杭州)有限公司 旁路tcp加速方法、装置、设备及介质
CN116566914B (zh) * 2023-07-07 2023-09-19 灵长智能科技(杭州)有限公司 旁路tcp加速方法、装置、设备及介质

Also Published As

Publication number Publication date
KR100480279B1 (ko) 2005-04-07

Similar Documents

Publication Publication Date Title
US9860915B2 (en) Apparatus and method for moving a receive window in a radio access network
AU2003225363B2 (en) RLC for realtime multimedia mobile communication system
JP3735067B2 (ja) データ伝送をより効率的にする方法及びデータ伝送プロトコル
RU2461147C2 (ru) Способ обработки радиопротокола в системе подвижной связи и передатчик подвижной связи
US7656902B2 (en) Method for transmitting packet data in communication system
KR20090031239A (ko) 성공적으로 수신했으나 헤더 압축 복원에 실패한 패킷의 처리 방법
JP2005006320A (ja) 無線通信ネットワーク、無線通信局、およびデータ・パケットを送信する方法
Wong et al. Improving end-to-end performance of TCP using link-layer retransmissions over mobile internetworks
KR100480279B1 (ko) 무선 환경에서 전송 제어 프로토콜의 성능 향상을 위한버퍼 관리 장치 및 방법
Tan Active queue management for LTE uplink in eNodeB
Lo et al. On the performance of TCP Vegas over UMTS/WCDMA channels with large round-trip time variations
Chimeh et al. RLC Effects on Throughput in a Mobile System

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130227

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20140227

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20150226

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20160226

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20170224

Year of fee payment: 13

LAPS Lapse due to unpaid annual fee