[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR100762650B1 - 비대칭 대역폭 링크를 갖는 가입자 망에서 전송제어프로토콜의 양방향 동시전송을 위한 전송 제어 방법 및장치 - Google Patents

비대칭 대역폭 링크를 갖는 가입자 망에서 전송제어프로토콜의 양방향 동시전송을 위한 전송 제어 방법 및장치 Download PDF

Info

Publication number
KR100762650B1
KR100762650B1 KR1020060022676A KR20060022676A KR100762650B1 KR 100762650 B1 KR100762650 B1 KR 100762650B1 KR 1020060022676 A KR1020060022676 A KR 1020060022676A KR 20060022676 A KR20060022676 A KR 20060022676A KR 100762650 B1 KR100762650 B1 KR 100762650B1
Authority
KR
South Korea
Prior art keywords
packet
tcp
bandwidth
ack
transmission
Prior art date
Application number
KR1020060022676A
Other languages
English (en)
Other versions
KR20060099463A (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 삼성전자주식회사
Publication of KR20060099463A publication Critical patent/KR20060099463A/ko
Application granted granted Critical
Publication of KR100762650B1 publication Critical patent/KR100762650B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65BMACHINES, APPARATUS OR DEVICES FOR, OR METHODS OF, PACKAGING ARTICLES OR MATERIALS; UNPACKING
    • B65B61/00Auxiliary devices, not otherwise provided for, for operating on sheets, blanks, webs, binding material, containers or packages
    • B65B61/04Auxiliary devices, not otherwise provided for, for operating on sheets, blanks, webs, binding material, containers or packages for severing webs, or for separating joined packages
    • B65B61/06Auxiliary devices, not otherwise provided for, for operating on sheets, blanks, webs, binding material, containers or packages for severing webs, or for separating joined packages by cutting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/14Two-way operation using the same type of signal, i.e. duplex
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61JCONTAINERS SPECIALLY ADAPTED FOR MEDICAL OR PHARMACEUTICAL PURPOSES; DEVICES OR METHODS SPECIALLY ADAPTED FOR BRINGING PHARMACEUTICAL PRODUCTS INTO PARTICULAR PHYSICAL OR ADMINISTERING FORMS; DEVICES FOR ADMINISTERING FOOD OR MEDICINES ORALLY; BABY COMFORTERS; DEVICES FOR RECEIVING SPITTLE
    • A61J1/00Containers specially adapted for medical or pharmaceutical purposes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0023Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the signalling
    • H04L1/0028Formatting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1671Details of the supervisory signal the supervisory signal being transmitted together with control information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1825Adaptation of specific ARQ protocol parameters according to transmission conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0023Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the signalling
    • H04L1/0025Transmission of mode-switching indication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/187Details of sliding window management

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Animal Behavior & Ethology (AREA)
  • Pharmacology & Pharmacy (AREA)
  • Public Health (AREA)
  • Veterinary Medicine (AREA)
  • Mechanical Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은 비대칭 대역폭 링크를 갖는 가입자 망의 종단 노드 혹은 게이트웨이 노드에서 전송 제어 프로토콜(TCP)의 양방향 동시 전송 성능을 향상시키기 위한 전송 제어 방법 및 장치에 관한 것이다. 본 발명의 전송 제어 장치는, 양방향 동시 전송시, 역방향 링크로 전송하기 위한 전송 제어 프로토콜(TCP) 애크 패킷을 획득하는 TCP 분류부와, 상기 애크 패킷이 획득된 시점에 상기 역방향 링크에 대응하는 순방향 링크의 대역폭을 측정하고, 상기 측정된 대역폭에 따라 상기 순방향 링크의 이후의 대역폭을 예측하고, 상기 예측된 대역폭이, 상기 순방향 링크에 할당된 최대 애역폭에 비해 상기 순방향 링크를 통한 애크 패킷의 전송을 허용할 수 있을 정도의 여유 대역폭을 유지하도록 하는 순방향 링크의 최적 윈도우 크기를 계산하는 대역폭 추정/예측부와, 상기 계산된 최적 윈도우 크기를 상기 애크 패킷에 포함되는 수신 윈도우 크기로서 삽입하여 상기 애크 패킷을 데스티네이션 노드로 전달하는 전송 속도 제어부를 포함한다.
TCP, ASYMMETRIC BANDWIDTH, BANDWIDTH ESTIMATION/PREDICTION, TCP ACK, ADVERTISED WINDOW SIZE

Description

비대칭 대역폭 링크를 갖는 가입자 망에서 전송제어 프로토콜의 양방향 동시전송을 위한 전송 제어 방법 및 장치{TRANSMISSION CONTROL METHOD FOR TCP BI-DIRECTIONAL TRANSMISSION IN ASYMMETRIC BANDWIDTH PRE-ALLOCATED SUBSCRIBER NETWORK AND APPARATUS THEREFOR}
도 1은 본 발명이 적용되는 WDCMA 망의 구성도를 개략적으로 나타낸 도면.
도 2는 PDP 컨텍스트 활성화 절차를 도시한 메시지 흐름도.
도 3은 IP를 기반으로 하는 TCP에서 사용되는 헤더의 구조를 나타낸 도면.
도 4는 본 발명의 바람직한 실시예에 따른 게이트웨이 노드의 구성을 나타낸 도면.
도 5a 및 도 5b는 본 발명의 바람직한 실시예에 따라 동작하는 게이트웨이 노드의 동작을 나타낸 흐름도.
도 6과 도 7은 각각 종래 기술과 본 발명에서 상향/하향 링크 전송 속도의 변화를 나타낸 도면.
본 발명은 가입자 망(Asymmetric Subscriber Network)에 관한 것으로서, 특히 비대칭 대역폭 링크를 갖는 가입자 망의 종단 노드 혹은 게이트웨이 노드에서 전송 제어 프로토콜(Transport Control Protocol: 이하 TCP라 칭함)의 양방향(bidirectional) 동시 전송 성능을 향상시키기 위한 전송 제어 방법 및 장치에 관한 것이다.
광대역 코드분할 다중접속(Wideband Code Division Multiple Access: 이하 WCDMA라 칭함), 비대칭 디지털 가입자 선로(Asymmetric Digital Subscriber Line: 이하 ADSL이라 칭함), 무선 광대역 인터넷(Wireless Broadband Internet: 이하 Wibro라 칭함)은 상향링크와 하향링크에 대해 대역폭을 미리 할당하는 가입자 망이다. 가입자 망은 인터넷상에서 패킷의 전송을 위해 보편적으로 TCP를 사용하는데, TCP는 기본적으로 대역폭이 미리 할당된 상황을 고려하지 않고 설계되었기 때문에 후술되는 여러 가지 문제점들을 일으킬 수 있다.
보통의 가입자 망은 각 가입자 별로 사용 가능한 대역폭을 가입시 혹은 접속시 결정한다. 예를 들어 WCDMA의 경우, 패킷 서비스를 위한 서비스 품질(Quality of Service: 이하 QoS라 칭함) 등급(Class)과 상향(Uplink)/하향(Downlink) 최대 비트율(Maximum Bit rate) 등이 가입시에 결정되고, 가입자가 호를 시도할 때마다 상기 QoS 등급과 상기 최대 비트율에 따라 할당된 대역폭만큼의 자원(Resource)만을 사용할 수 있도록 제한한다.
인터넷을 통한 패킷 서비스는 망으로부터 가입자 단말로 향하는 하향링크의 패킷 트래픽 양이 상향링크의 패킷 트래픽 양보다 월등히 많은 경우가 대부분이다. 따라서 많은 종류의 가입자 망은 정해진 대역폭을 보다 효율적으로 사용하기 위해, 하향링크에 대해 상향링크보다 많은 대역폭을 할당하고 있으며, 이러한 가입자 망을 비대칭(Asymmetric) 가입자 망이라 칭한다. 예를 들어 WCDMA에서는 상향 64Kbps, 하향 384Kbps로 가입자가 업로드와 다운로드를 동시에 수행할 수 있다.
그런데, TCP를 이용한 데이터 전송에 있어서 비대칭 대역폭 링크에서는, 특별히 양방향 전송시 심각한 성능저하가 초래될 수 있다. 구체적으로, 하향 전송데이터에 대한 애크(Acknowledge: Ack)가 상향 전송 데이터에 의해 지연되는 애크 클로킹(Ack-clocking) 현상이 발생하게 되면, 이로 인해 하향링크 전송 속도(downlink data rate)가 상향링크 전송속도 정도로 떨어지게 된다.
예를 들어 네트워크의 게이트웨이 노드는 미리 정해지는 윈도우 이내에서 애크 없이 하향 패킷들을 가입자 노드에게 연속으로 전송한 후 상기 하향 패킷들에 대한 애크를 기다린다. 그런데 가입자 노드는 상향 패킷들을 우선적으로 전송하기 위해 상기 하향 패킷들에 대한 애크의 전송을 지연시킨다. 이와 같이 가입자 노드의 전송 버퍼에는 상향데이터 전송을 위한 패킷들이 차 있기 때문에, 하향 패킷들에 대한 애크가 전송되지 못하면 이로 인해 하향 링크의 전송 속도가 상향 링크의 전송 속도 정도로 떨어지게 된다.
따라서 이러한 비대칭 대역폭 링크 상에서 양방향 TCP 전송을 지원함에 있어서, 일측 링크의 전송 속도가 타측 링크의 전송 속도에 의해 감소되는 것을 방지하기 위한 기술을 필요로 하게 되었다.
따라서 상기한 바와 같이 동작되는 종래 기술의 문제점을 해결하기 위하여 창안된 본 발명은, 비동기 대역폭 링크에서 TCP 상향/하향 동시 전송의 성능저하 현상을 개선하는 방법 및 장치를 제공한다.
본 발명은, 게이트웨이 노드 혹은 종단 노드에서 TCP 동시 전송의 성능저하 현상을 개선하는 방법 및 장치를 제공한다.
본 발명의 바람직한 실시예는, 비대칭 대역폭 링크들을 갖는 가입자 망에서 전송제어 프로토콜(TCP)의 양방향 동시전송을 위한 전송 제어 방법에 있어서,
양방향 동시 전송시, 역방향 링크로 전송하기 위한 TCP 애크 패킷을 획득하는 과정과,
상기 애크 패킷이 획득된 시점에 상기 역방향 링크에 대응하는 순방향 링크의 대역폭을 측정하는 과정과,
상기 측정된 대역폭에 따라 상기 순방향 링크의 이후의 대역폭을 예측하고, 상기 예측된 대역폭이, 상기 순방향 링크에 할당된 최대 대역폭에 비해 상기 순방향 링크를 통한 애크 패킷의 전송을 허용할 수 있을 정도의 여유 대역폭을 유지하도록 하는 순방향 링크의 최적 윈도우 크기를 계산하는 과정과,
상기 계산된 최적 윈도우 크기를 상기 애크 패킷에 포함되는 수신 윈도우 크기로서 삽입하여 상기 애크 패킷을 데스티네이션 노드로 전달하는 과정을 포함하는 것을 특징으로 한다.
본 발명의 다른 실시예는, 비대칭 대역폭 링크를 갖는 가입자 망에서 전송제 어 프로토콜(TCP)의 양방향 동시전송을 위한 전송 제어 장치에 있어서,
양방향 동시 전송시, 역방향 링크로 전송하기 위한 TCP 애크 패킷을 획득하는 TCP 분류부와,
상기 애크 패킷이 획득된 시점에 상기 역방향 링크에 대응하는 순방향 링크의 대역폭을 측정하고, 상기 측정된 대역폭에 따라 상기 순방향 링크의 이후의 대역폭을 예측하고, 상기 예측된 대역폭이, 상기 순방향 링크에 할당된 최대 대역폭에 비해 상기 순방향 링크를 통한 애크 패킷의 전송을 허용할 수 있을 정도의 여유 대역폭을 유지하도록 하는 순방향 링크의 최적 윈도우 크기를 계산하는 대역폭 추정/예측부와,
상기 계산된 최적 윈도우 크기를 상기 애크 패킷에 포함되는 수신 윈도우 크기로서 삽입하여 상기 애크 패킷을 데스티네이션 노드로 전달하는 전송 속도 제어부를 포함하는 것을 특징으로 한다.
이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대한 동작 원리를 상세히 설명한다. 하기에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대 로 내려져야 할 것이다.
후술되는 본 발명의 주요한 요지는 상향 및 하향의 각 전송방향에서 미리 정해지는 임계값을 초과하지 않는 전송 속도로 패킷 전송이 이루어지도록 하고, 남은 대역폭을 통해 반대방향으로 애크 전송이 이루어지도록 하는 것이다. 이러한 본 발명은 동시 전송시에도 각 방향의 애크 전송에 영향을 받지 않고 고정된 전송 속도를 보장한다.
하기에서는 본 발명의 구체적인 실시예를 설명하기 위한 대역폭 할당 가입자 망(Bandwidth pre-allocated subscriber network)의 예로서, WCDMA를 사용한다. 이를 위하여 하기에서 WCDMA 망의 각 노드와 참조점들에 대해서 설명한다.
도 1은 본 발명이 적용되는 WDCMA 망의 구성도를 개략적으로 나타낸 것이다.
상기 도 1을 참조하면, 이동 단말(Mobile station: MS)(10)은 UTRAN(UMTS(Universal Mobile Telecommunications System) Terrestrial Radio Access Network)(20)와 접속되어 음성 및 데이터 호(call)를 처리하며, 회선 서비스(CS: Circuit Service)와 패킷 서비스(PS: Packet Service)를 모두 지원한다. 도시하지 않을 것이지만 상기 UTRAN(20)은 기지국(Base Station or Node B)과, 무선 네트워크 제어기(Radio Network Controller: RNC)로 구성된다. 상기 기지국은 상기 이동 단말(10)과 Uu 인터페이스(interface)를 통해서 연결되며, 상기 무선 네트워크 제어기는 코어 네트워크(30)와 Iu 인터페이스를 통해서 연결된다. 상기 코어 네트워크(Core Network)(30)는 SGSN(Serving GPRS(General Packet Radio Service) Support Node)(32)과 GGSN(Gateway GPRS Support Node)(34)를 통칭하는 것이다.
상기 UTRAN(20)은 상기 이동 단말(10)에서 에어(air)상으로 전송된 무선 데이터 혹은 제어 메시지(control message)들을 GPRS 터널링 프로토콜(GTP: GPRS Tunneling Protocol, 이하 "GTP"라 칭하기로 한다)에 따라 프로토콜 변환을 수행한다. GPRS는 UMTS 네트워크에서 수행하는 패킷 데이터 서비스이다.
상기 SGSN(32)는 이동 단말(10)의 가입자 정보와 위치 정보를 관리하는 서비스 노드로서, 상기 UTRAN(20)과 Iu 인터페이스를 통해 연결되며 GGSN(34)과는 Gn 인터페이스를 통해 연결되어 데이터 및 제어 메시지 등을 송수신한다. 그리고 상기 SGSN(32)는 홈위치 등록기(HLR: Home Location Register)(36)와 Gr 인터페이스를 통해 연결되어 가입자 정보 및 위치 정보를 등록한다.
상기 홈위치 등록기(36)는 패킷 도메인(packet domain)의 가입자 정보 및 라우팅(routing) 정보 등을 저장하며, 상기 GGSN(34)과는 Gc 인터페이스를 통해 연결된다. 상기 홈위치 등록기(36)는 이동 단말(10)의 로밍(roaming)등을 고려하여 다른 네트워크(도시하지 않음)에 위치할 수도 있다.
상기 GGSN(34)은 UMTS 네트워크에 있어서 GTP의 종단에 해당하는 액세스 포인트이며, Gi 인터페이스를 통해 인터넷(internet)(40) 혹은 패킷 도메인 네트워크(PDN: Packet Domain Network)나 다른 PLMN(Public Land Mobile Network) 등의 외부 네트워크들과 연동할 수 있는 게이트웨이 노드로서 동작한다. 상기 GGSN(34)은 패킷 데이터 서비스 가입자들의 PDP(Packet Data Protocol) 주소들과 라우팅 정보, 즉 SGSN 주소들을 저장한다. 라우팅 정보는 인터넷(40)으로부터의 데이터 트래픽을 단말의 현재 스위칭 포인트, 즉 SGSN으로 터널링하는데 사용된다.
패킷 데이터 서비스를 액세스하기 위하여, 이동 단말은 먼저 자신이 위치하는 지역을 커버하는 SGSN과 논리적 링크를 설정한다. 이때 SGSN은 상기 이동 단말에 대해 PDP 컨텍스트(context)를 생성(create)하고, 이동 단말에 대한 인증(Authorization) 및 승인(Authentication) 절차를 수행한다. 상기 PDP 컨텍스트는 이동 단말의 상태와 위치를 비롯하여 패킷 데이터 서비스를 위해 필요한 모든 종류의 정보를 포함한다.
트래픽 데이터를 송수신하기 위하여 이동 단말은 PDP 활성화(PDP Activation) 절차를 요구함으로써, 사용하고자 하는 패킷 데이터 주소, 즉 IP 주소를 활성화하도록 되어 있다. 이러한 동작은 이동 단말과 해당하는 GGSN 사이에서 이루어지며, 이때 외부 시스템, 즉 인터넷과의 연동(interworking)이 개시된다. 구체적으로 PDP 컨텍스트는 이동 단말과 GGSN 및 SGSN 내에서 생성된다.
대기 또는 준비 상태의 이동 단말은 하나 또는 그 이상의 PDP 컨텍스트들을 가질 수 있다. PDP 컨텍스트는, X.25나 IP와 같은 PDP 유형, X.121 주소와 같은 PDP 주소, 서비스 품질(Quality of Service: QoS), NSAPI(Network Service Access Point Identifier), 부가적으로 액세스 포인트 이름(Access Point Name: APN)과 같은 서로 다른 데이터 전송 파라미터들을 정의한다.
다음으로 도 2를 참조하여 패킷 데이터 서비스를 액세스하기 위해 PDP 컨텍스트를 활성화하는 동작을 설명하기로 한다. 상기 도 2는 PDP 컨텍스트 활성화 절차를 도시한 메시지 흐름도이다. 상기 PDP 컨텍스트 활성화 절차는 GPRS 접촉(Attach) 절차가 이루어진 이후에 수행된다.
UMTS 패킷 도메인에서는 데이터 트래픽을 전송하기 위해서 GTP 터널을 생성한다. PDP 활성화 절차를 통해 생성되는 GTP 터널은 각각 서로 다른 하나의 PDP 컨텍스트와 대응한다. GTP 터널이 생성되는 경우는, 크게 이동 단말이 UMTS 코어 네트워크에 요청하는 이동 단말 초기 활성화(MS-Initiated Activate)와 외부 시스템으로부터 UMTS 코어 네트워크에 요청하는 네트워크 요청 활성화(Network Requested Activate)의 두 가지 경우로 구분된다. 여기에서는 이동 단말이 요청하는 경우의 동작을 도시하였다.
상기 도 2를 참조하면, 이동 단말은 패킷 데이터 서비스를 위한 호를 설정하기 위해 SGSN으로 PDP 컨텍스트 활성화 요청(Activate PDP Context Request) 메시지(message)를 전송한다.(60) 상기 PDP 컨텍스트 활성화 요청 메시지에 포함되는 파라미터들로는 NSAPI와, TI(Transaction Identifier)와, PDP 유형과, PDP 주소와, APN과, QOS 속성 등이 있다.
상기 NSAPI는 이동 단말에서 생성되는 정보로서, 5번에서 15번까지 총 11개의 값이 사용될 수 있다. 상기 NSAPI 값은 PDP 주소 및 PDP 컨텍스트 식별자와 일대일 대응되어 GTP 터널들을 구분하기 위하여 GTP 터널들 각각에 고유한 값으로 지정된다. PDP 주소는 UMTS 도메인에서 사용되는 이동 단말의 IP 주소를 나타내며, 상기 PDP 컨텍스트 정보를 구분하는 정보이다. PDP 컨텍스트는 GTP 터널의 각종 정보들을 저장하고 있으며 PDP 컨텍스트 ID로 관리된다.
상기 TI는 이동 단말과 UTRAN, SGSN 등에서 사용되며, 각 GTP 터널을 구분하기 위해 GTP 터널별로 고유한 값을 가진다. 상기 NSAPI는 상기 TI와는 달리 이동 단말과 SGSN 및 GGSN에서 사용된다.
상기 PDP 타입은 상기 PDP 컨텍스트 활성화 요구 메시지를 통해 생성하고자 하는 GTP 터널의 종류, 즉 타입을 나타낸다. 상기 GTP 터널의 종류로는 IP, PPP(Point to Point Protocol), 모바일 IP(Mobile IP) 등이 있다. 상기 APN은 상기 GTP 터널을 생성 요청하는 이동 단말이 현재 접속하고자 하는 서비스 네트워크의 접속 포인트를 나타낸다.
상기 QOS는 현재 생성되는 GTP 터널을 통해 전송되는 패킷 데이터의 요구된 품질 등급을 나타낸다. QoS 등급이 높은 GTP 터널을 사용하는 패킷 데이터는 QoS 등급이 낮은 GTP 터널을 사용하는 패킷 데이터보다 우선 처리된다.
상기 PDP 컨텍스트 활성화 요청 메시지를 수신한 SGSN은 UTRAN을 통해 이동 단말로 무선 접속 베어러 셋업(Radio Access Bearer Setup) 메시지를 전송하여 무선 접속 베어러를 설정한다.(62) 이와 같이 SGSN과 UTRAN간, 및 UTRAN과 이동 단말 사이에 무선 접속 베어러가 설정됨에 따라 무선을 통한 패킷 데이터 전송에 필요한 자원(resource)이 할당된다.
UTRAN에 추적(trace) 기능이 활성화되어 있을 경우 SGSN은 추적 요구(Invoke Trace) 메시지를, HLR이나 운용 및 유지보수 센터(OMC: Operation and Maintenance Center)로부터 얻은 추적(trace) 정보와 함께 UTRAN에 전송한다.(64) 상기 추적 기능은 데이터의 흐름을 추적하기 위한 용도로서 사용된다.
UTRAN을 통해 무선 접속 베어러가 설정된 상태에서 SGSN은 GGSN으로 PDP 컨텍스트 생성 요구(Create PDP Context Request) 메시지를 전송한다.(66) 상기 GGSN 의 주소는 상기 PDP 컨텍스트 활성화 요구 메시지에 포함된 APN에 의해 지시될 수 있다. 상기 PDP 컨텍스트 활성화 요구 메시지에 APN이 없거나 포함된 APN이 유효한 GGSN 주소를 나타내고 있지 못한 경우, SGSN에 의해 적절한 GGSN이 선택된다. 상기 과정(66)에서 코어 네트워크의 GTP 터널이 생성된다. 이때 SGSN과 GGSN 사이에는 터널 종단점 식별자(TEID: Tunnel Endpoint ID)가 새롭게 설정되는데, 상기 TEID는 GTP 터널을 사용하는 네트워크 노드들 간에 패킷 데이터를 전송하기 위해 설정되는 것이다. 즉, SGSN은 GGSN의 TEID를 기억하고 있으며, GGSN은 SGSN의 TEID를 기억하고 있다. 상기 PDP 컨텍스트 생성 요구 메시지에는 GGSN이 SGSN로 패킷 데이터를 전송할 때 사용하여야 할 TEID가 포함되어 있다.
GGSN은 상기 PDP 컨텍스트 생성 요구 메시지에 응답하여 PDP 컨텍스트 생성이 정상적으로 완료되면, SGSN으로 PDP 생성 응답(Create PDP Context Response) 메시지를 전송한다(68). 이로써 SGSN과 GGSN간에 GTP 터널이 생성되며, 상기 GTP 터널을 통해 실제 패킷 데이터 전송이 가능하게 된다. SGSN이 GGSN으로 데이터를 전송하기 위해 사용되는 TEID는 상기 PDP 생성 응답 메시지에 포함된다.
상기 PDP 생성 응답 메시지를 수신한 SGSN은 이동 단말로 PDP 활성화 허용(Activate PDP Context Accept) 메시지를 전송한다(70). 이동 단말이 상기 PDP 활성화 허용 메시지를 수신함에 따라 이동 단말과 UTRAN 사이에 무선 경로가 생성되며, UTRAN과 SGSN 및 GGSN 사이에 GTP 터널의 생성이 완료된다. 이로써 이동 단말은 상기 GTP 터널을 통해 자신의 PDP 주소를 가지는 모든 패킷 데이터들을 송수신하는 것이 가능하게 된다.
상기 도 2에서와 같이 단말이 패킷 서비스를 받기 위하여 호를 시도하는 초기에 QoS 정보를 UTRAN으로 전송하게 되고, 상기 QoS 정보는 각 UTRAN, SGSN, GGSN간에 협상이 되어져서 다시 이동 단말에게 전달된다. 이때 SGSN에서는 이동 단말의 가입자가 WCDMA에 가입할 당시 허락된 QoS를 HLR로부터 얻어와 현재의 요청된 QoS와 비교하는 과정을 거치기도 한다. 이러한 QoS 정보 중에는 최대 상향/하향 비트율(Maximum up/down bit rate), 보장 상향/하향 비트율(Guaranteed up/down bit-rate) 등이 포함되는데, 상기 협상된 QoS 프로파일에 따른 비트율에 의해 상기 이동 단말을 위한 무선 자원이 할당되고, SGSN/GGSN에서는 QoS 정책에 따라 차등 QoS(DiffServ(Differential Services) QoS) 서비스를 수행하게 된다.
가입자가 호를 설정하고 네트워크에 접속한 이후 FTP/HTTP(Hyper Text Transfer Protocol)/WAP(Wireless Access Protocol) 등의 서비스를 이용하기 위해서는 종단간 전송 계층 프로토콜(end-to-end transport layer protocol)인 TCP가 사용된다. UMTS 망의 경우 TCP 종단은 단말과 GGSN이 된다. 상기 도 2와 같은 PDP 컨텍스트 활성화를 통해 GGSN은 상향링크 및 하향링크의 TCP 전송을 위한 대역폭을 할당한다. 양방향 동시전송이 이루어지는 경우, GGSN는 상향링크를 위한 TCP 세션과 하향링크를 위한 TCP 세션을 설정하고, 상기 세션들은 각각 할당된 대역폭을 가지고 독립적으로 동작한다.
TCP는 IP(Internet Protocol)를 기반으로 하는 접속 지향 프로토콜(connection-oriented protocol)이다. 이는, 클라이언트-서버(Client-server)가 접속 설정(connection establishment) 과정을 거쳐야만 하는 것을 의미한다. 또한, TCP/IP 슈트(Suite)에서는 데이터를 분할(segment)해서 전송하며, 체크섬(checksum) 검사, 일련번호(Sequence Number: S/N) 검사, 데이터 충돌(data corruption)을 확 한다. TCP는 수신자에게 수신확인뿐만 아니라 무결성(completeness)과 일련번호까지 요구하는 신뢰성 있는 전송 메카니즘(reliable transport mechanism)이다.
TCP는 프로세스간 통신을 위하여 포트 번호를 사용하고, 전송계층 프로토콜이 제공할 수 있는 흐름제어(Flow control)와 오류제어(Error Control)를 지원한다. 흐름 제어를 위해서는 슬라이딩 윈도우 프로토콜(Sliding window protocol)을 사용하고, 오류제어를 위해서는 체크섬 이외에도, TCP 타이머, 재전송 등을 사용한다.
TCP 흐름 제어는 수신측에서 송신측의 데이터 전송량을 조절 및 정의하는 것을 말한다. TCP는 응용 프로그램에서 전달되는 데이터를 저장하기 위하여 버퍼를 사용하고, 전성할 데이터 크기를 결정하기 위하여 윈도우를 정의한다. TCP는 윈도우에 정의된 바이트 수만큼의 데이터만을 전송할 수 있다. 이러한 흐름 제어를 위해서는 슬라이딩 윈도우 기법이 사용된다.
TCP는 망에서 발생하는 충돌을 제어하기 위하여 종단의 충돌 제어를 제공한다. TCP 충돌 제어는 송신측에서 망 내의 충돌로 인해 패킷 드롭(drop)이 발생하였을 경우 재전송 등을 효과적으로 수행하기 위하여 사용된다. TCP 송신측은, 현재 망의 대역폭을 조사(probe)하기 위하여 슬로우 스타트(Slow start) 알고리듬을 사용하고, 패킷 드롭이 발생되면 충돌 회피(congestion avoidance) 알고리듬을 통해 손실 패킷을 재전송하고 전송속도를 회복시킨다.
본 발명의 바람직한 실시예에 따른 GGSN은 유입되는 패킷 각각에 대해 TCP 인지 및 TCP 애크인지를 판단하고, 만일 TCP 애크인 경우 현재 및 미래의 비트율을 추정 및 예측한다. 만일 상기 추정 및 예측된 비트율이, 허용된 최대 비트율을 초과하지 않는 미리 정해지는 임계값에 도달하였다면, 상기 TCP 애크 패킷의 수신측(이는 데이터 패킷의 송신측이 됨)에 대해 전송 속도를 제한한다. 이는 TCP 애크가 지연되고 있으므로 패킷 트래픽의 전송을 제한하기 위함이다. 여기서 상기 임계값은, 해당 링크의 허용된 최대 대역폭에 비해, TCP 애크 패킷이 전송되기에 충분한 여유분을 유지할 수 있을 정도로 정해진다. 즉 상기 임계값은, 상기 최대 대역폭에서, TCP 애크 패킷을 전송하기 위한 전송 대역폭을 감산한 값으로서, TCP 애크 패킷의 크기 및 발생 간격 등에 따라 실험적 혹은 경험적으로 정해질 수 있다. 이와 같이 일측 링크의 대역폭을 최대 대역폭을 초과하지 않도록 제한함으로써, 남겨진 여유 자원을 통해 반대편 링크의 TCP 애크 패킷들이 전송될 수 있다.
GGSN은 유입되는 패킷의 헤더에 의해, 상기 패킷이 TCP 데이터인지 TCP 애크인지를 확인한다. IP를 기반으로 하는 TCP에서 사용되는 헤더의 구조는 도 3에 나타낸 바와 같다.
도 3에 도시한 바와 같이 TCP/IP 헤더는 IP 헤더와 TCP 헤더로 구성된다.
상기 IP 헤더를 설명하면, 4비트의 프로토콜 버전(Protocol Version)은 인터넷 헤더의 포맷을 나타낸다. 이하 RFC 791에 개시된 버전 4 포맷을 설명한다. 4비트의 헤더 길이(Header Length)는 인터넷 헤더의 길이이며 데이터의 시작을 지시한 다. 서비스 유형(Type Of Service)은 지연(Delay)과 신뢰성(Reliability) 및 효율성(Throughput)의 측면에서 원하는 서비스의 품질을 나타내는 8비트의 정보이다. 16비트의 전체 길이(Total Length)는 바이트 단위로 측정된 패킷(헤더 및 데이터)의 길이이다.
패킷 식별자(Packet Identifier)는 데이터그램의 조각들(fragments)을 조립하기 위해 송신측에서 할당한 16비트의 식별값이다. 각각 1비트인 3개의 플래그들 중 첫 번째 예비된 비트는 0으로 설정되며, 두 번째 비트인 DF는 조각(Fragment)인지의 여부를 나타내고, 세 번째 비트인 MF는 마지막 조각인지의 여부를 나타낸다. 13비트의 조각 옵셋(Fragment Offset)은 해당 조각이 데이터그램의 어느 위치에 속하는지를 나타낸다.
유효시간(Time To Live: TTL)은 해당 데이터그램이 잔류할 수 있는 최대 시간을 8비트로 나타낸다. 8비트의 프로토콜 식별자(Protocol Identifier)는 데이터그램의 데이터 부분에서 사용되는 프로토콜(여기서는 TCP)을 나타낸다. 16비트의 헤더 체크섬(Header Checksum)은 헤더만의 오류정정 정보이다. 소스 주소(Source Address)와 데스티네이션 주소(Destination Address)는 각각 소스 노드와 데스티네이션 노드의 32비트 IP 주소를 나타낸다. 이들 중 변화하는 정보는 전체 길이와 패킷 식별자와 헤더 체크섬이다.
다음으로 상기 TCP 헤더에 대해 설명하면, 소스 포트 주소(Source Port Address)와 데스티네이션 포트 주소(Destination Port Address)는 각각 16비트로서, 세그먼트를 전송/수신하는 소스 노드와 데스티네이션에 해당하는 응용 프로그 램의 포트번호를 나타낸다. 32비트의 시퀀스 번호(Sequence Number)는 세그먼트에 포함된 데이터의 첫 번째 바이트(즉 옥텟)에 부여된 번호를 나타낸다. TCP는 연결 설정시 난수 생성기(random generator)에 의해 초기 시퀀스 번호(Initial Sequence Number: ISN)를 생성한다. 그리고 TCP는 신뢰성 있는 연결을 보장하기 위해, 전달되는 각 바이트마다 시퀀스 번호를 부여하고, 상기 시퀀스 번호를 통해 세그먼트의 첫 바이트를 알려준다.
32비트의 애크 번호(Acknowledge Number)는 세그먼트의 송신측에서 상대 수신측으로부터 수신하기를 기대하는 시퀀스 번호이다. 즉, 세그먼트를 수신한 수신측이 바이트 N을 성공적으로 수신하였다면, 수신측은 애크 번호 필드에 N+1을 명기하여 송신측으로 전송한다. 확인 응답과 데이터는 피기-백(piggy-backing)될 수 있다.
4비트의 HLEN(Header Length)은 TCP 헤더의 길이를 4 바이트 워드 개수로 나타낸다. 헤더의 길이는 20에서 60바이트이므로, HLEN의 범위는 5 내지 12이다. 6비트의 예비된 필드는 0으로 설정된다.
제어 플래그들(Control Flags)은 표준화된 TCP 애크의 경우에 애크의 유형을 결정하는데 사용되는 6개의 플래그들(URG, ACK, PSH, RST, SYN, FIN)을 포함한다. 상기 제어 플래그들의 의미는 하기에 나타낸 바와 같으며, 값 '1'이 설정(set), 즉 참(true)을 의미한다.
URG(Urgent Pointer) : 긴급 지시자(Urgent Pointer) 필드의 유효 여부를 나타낸다.
ACK(Acknowledge) : 애크 필드의 값이 유효한지의 여부를 나타낸다. 초기화 및 동기 패킷을 제외한 데이터 패킷과 애크 패킷의 ACK 플래그는 '1'로 설정된다.
PSH(Push) : "푸쉬(Push)" 기능이 요구되었는지를 나타낸다.
RST(Reset) : 접속 리셋이 요구됨을 나타낸다.
SYN(Synchronization) : 시퀀스 번호들을 동기화하기 위한 동기 패킷임을 나타낸다.
FIN(Final) : 송신측에서 더 이상 전송할 데이터가 없음을 나타낸다.
16비트의 윈도우 크기(Window Size)는 송신측에서 수용할 수 있는 시퀀스 번호의 최대 크기로서, 수신측에서 유지되어야 하는 바이트 단위의 윈도우 크기가 된다. 상기 윈도우 크기는 수신측이 요구하는 광고 윈도우 크기(Advertised window size: adv_win)이며, 상기 윈도우 크기의 최대 값은 65535이다.
16비트의 TCP 체크섬은 헤더와 데이터의 체크섬이다. 16비트의 긴급 지시자(Urgent Pointer)는 URG 플래그에 따라, 이어지는 긴급 데이터의 시퀀스 번호를 나타낸다.
이하 본 발명의 구체적인 실시예를 설명함에 있어서, 하향링크에 대해 상향링크보다 매우 큰 대역폭을 할당하는 WCDMA와 같은 시스템을 예로 하여 설명할 것이다. 그러나 본 발명은 이러한 예에 의해 한정되지 않으며, 일측 링크에 대해 타측 링크보다 매우 큰 대역폭을 할당하고 양측 링크에 대해 모두 TCP를 사용하는 모든 종류의 통신 시스템에 대해 적용 가능함은 물론이다. 따라서 하기에서는 데이터 패킷을 전송하는 링크를 순방향 링크(Forward Link)로, 상기 데이터 패킷에 대응하 는 애크 패킷을 전송하는 링크를 역방향 링크(Reverse Link)로 설명할 것이다. 또한 본 명세서에서는 본 발명의 알고리즘이 망의 TCP 종단인 게이트웨이 노드에 의해 수행되는 것으로 설명할 것이다.
도 4는 본 발명의 바람직한 실시예에 따른 게이트웨이 노드의 구성을 나타낸 것이다. 여기에서는 게이트웨이 노드에서 양방향 동시 전송시 TCP 전송 제어를 수행하는 부분만을 도시하였다.
도 4를 참조하면, 게이트웨이 노드는 TCP 분류부(TCP classification module)(110)와, 세션 파라미터 초기화부(session parameter initialization module)(120)와, 대역폭 추정/예측부(bandwidth estimation/prediction module)(130)와, 전송속도 제어부(rate control module)(140)로 구성된다.
TCP 분류부(110)는, 유입되는 패킷의 IP 프로토콜 필드(도 3의 프로토콜 ID)를 검사하여 전송계층 프로토콜이 TCP인 패킷을 찾아낸다. 또한 TCP 패킷의 경우, 소스 및 데스티네이션 IP 주소와 소스/데스티네이션 포트 번호를 키(key)로 하여 TCP 세션을 관리한다. TCP 각 패킷별로 SYN, ACK, FIN 등의 플래그들을 분류하여 해당하는 TCP 세션을 관리한다.
세션 파라미터 초기화부(120)는 충돌 윈도우 에뮬레이션 초기값(Initial Emulated Congestion Window: 이라 init_emul_cwnd라 칭함)을 계산한다. 상기 init_emul_cwnd는 TCP 3-방향 핸드쉐이크(3-way handshake) 이후의 첫 데이터 전송 애크가 수신되기 전까지, 순방향 채널(forward channel)로 데이터 전송을 위해 전송된 패킷들의 양으로 결정한다.
또한 이때 첫 번째 데이터 전송 패킷의 크기를 최대 전송 유닛(Maximum Transfer Unit: 이하 MTU라 칭함) 에뮬레이션 값(emulated MTU)으로서 저장한다. 충돌 윈도우 에뮬레이션 값(emul_cwnd)은 애크가 역방향 채널(reverse channel)로 전송될 때마다 애크된 패킷들의 양만큼 증가된다. 즉, emul_cwnd는 송신측의 cwnd 증가와 같은 방식으로 슬로우 스타트 상태에서 증가된다. 상기와 같이 구해진 emul_cwnd 및 MTU 크기 등의 파라미터들은 TCP 분류부(110)에 의해 대역폭 추정/예측부(130)로 제공된다.
대역폭 추정/예측부(130)는, 가능한 대역폭 측정 방식을 통해, 역방향 채널로 전송되는 애크가 게이트웨이 노드를 통과할 때마다 혹은 순방향 채널로 전송되는 데이터가 게이트웨이 노드를 통과할 때마다 현재 각 TCP 세션에 유지되는 대역폭을 추정한다. 그리고 상기 추정된 대역폭을 근거로, 이후의 몇 샘플 패킷들에 대한 대역폭 예측을 수행한다. 이때 예측 범위(prediction range)는 emul_cwnd를 사용한다. 즉, 대역폭 추정/예측부(130)는, 현재 통과되는 애크가 이후의 대역폭에 영향을 미칠 예측 범위를 상기 emul_cwnd로 간주하고, 상기 예측 범위동안 같은 특성의 패킷전송이 있을 것이라고 가정하여 추정을 반복적으로 수행한다. 이러한 예측, 즉 추정의 반복(iteration) 도중, 예측된 대역폭이 가입자의 할당된 최대 대역폭보다 작은 미리 정해지는 일정 수준(portion), 즉 상위 임계값에 도달하면, 대역폭 추정/예측부(130)는 전송속도 제어부(140)로 이를 알려 송신측이 TCP 전송 속도(sending rate)를 감소시키도록 한다.
전송속도 제어부(140)는 송신측이 TCP 전송 속도를 줄일 수 있도록 수신측으 로부터 게이트웨이 노드를 거쳐 역방향 채널로 전송되는 애크 패킷을 변형한다. 역방향 채널의 애크 패킷을 변형함은, 상기 애크 패킷에 포함된 광고 윈도우 크기(Advertised window size: 이하 Adv_Win이라 칭함)를 수정함으로써 수행 가능하다. 즉 상기 예측된 대역폭이 상기 일정 수준에 도달할 때의 추정 반복 회수를 이용하여, 최적 윈도우 크기(optimal_win)를 선정하고, 상기 선정된 최적 윈도우 크기를 상기 애크 패킷에 포함된 Adv_Win과 대체한다. 상기 최적 윈도우 크기를 통하여 송신측의 전송 속도를 제한할 수 있다.
전송속도 제어부(140)는 상기 최적 윈도우 크기에 따른 전송 속도가 한번 결정되면 계속하여 상기 전송 속도가 유지되도록 역방향 채널의 애크 패킷들을 변형하고, 만일 대역폭 추정/예측부(130)에서 예측 실패가 발생한 경우 다시 방송 윈도우 크기의 수정을 시도한다.
한편, 상기 대역폭 추정/예측부(130)는 대역폭 추정시 "특정 예측 범위 동안 같은 특성의 패킷전송이 있을 것"을 가정하고 있다. 따라서 만일 상기한 가정이 맞지 않을 때, 대역폭 예측 실패(bandwidth prediction failure)가 발생한다. 대역폭 예측 실패가 발생되면, 전송속도 제어부(140)에 의해 송신측의 전송 속도가 급속히 줄어들게 될 수 있기 때문에, 이러한 문제를 방지하기 위하여 하기와 같이 예측 실패를 대비한다.
- 대역폭 추정/예측부(130)는 대역폭 예측 이후 2개의 샘플 시간 동안 미리 정해진 하위 임계값 이하의 대역폭이 유지될 경우 대역폭 예측 실패로 간주한다.
- 전송속도 제어부(140)는 계산된 최적 광고 윈도우 크기가 충돌 윈도우 에 뮬레이션 초기값보다 작을 경우, 이전 샘플에서의 예측 반복 회수를 이용하여 최적 윈도우 크기를 재 계산한다.
이상과 같은 동작에 의해, TCP 전송은 상기 최적 윈도우 크기에 의해, 가입자에게 할당된 최대 대역폭보다 작은 상위 임계값 만큼의 대역폭만을 사용하게 된다. 상향/하향 동시 전송에 있어 본 발명의 알고리즘을 수행할 경우, 각각의 전송방향으로 상위 임계값 이하의 일정한 전송 속도로 TCP 전송이 이루어지기 때문에, 남은 대역폭을 통해 반대방향 데이터 패킷에 대한 애크 패킷의 전송이 가능하게 된다. 이로 인해 양방향 동시 전송시에도, 각 방향의 전송에 방해를 받지 않고 고정된 전송 속도로의 전송이 보장된다.
도 5a 및 도 5b는 본 발명의 바람직한 실시예에 따라 동작하는 게이트웨이 노드의 동작을 나타낸 흐름도이다. 여기서 TCP 분류부(110)는 단계 202 내지 단계 210을 수행하며, 세션 파라미터 초기화부(120)는 단계 212 내지 단계 226을 수행하며, 대역폭 추정/예측부(130)는 단계 228 내지 250을 수행하고, 전송속도 제어부(140)는 단계 252를 수행한다. 하기의 단계들은 게이트웨이 노드에서 양방향 동시전송 시에 수행될 수 있다.
도 5a를 참조하면, 단계 202에서 TCP 분류부(110)는 게이트웨이 노드로 인입되는 상향 혹은 하향링크 패킷을 수신한다. 상기 패킷의 포맷은 앞서 도시한 도 3에 나타낸 바와 같다. 단계 204에서 TCP 분류부(110)는 상기 패킷의 프로토콜 ID에 따라 상기 패킷이 TCP 패킷인지의 여부를 판단한다. 만일 TCP 패킷이 아니라면, 단계 222로 진행하여 상기 패킷은 바이패스된다. 반면 TCP 패킷이라면 단계 206으로 진행한다.
단계 206에서 TCP 분류부(110)는 상기 TCP 패킷이 새로운 TCP 세션에 관련된 것인지 기존의 TCP 세션에 관련된 것인지를 판단한다. 이때 상기 TCP 세션의 기 설정 여부는, 상기 TCP 패킷의 소스 IP 주소, 데스티네이션 IP 주소, 소스 포트 번호, 데스티네이션 포트 번호를 확인함으로써 판단한다. 즉 TCP 분류부(110)는, 상기 TCP 패킷의 소스 IP 주소, 데스티네이션 IP 주소, 소스 포트 번호, 데스티네이션 포트 번호를, 기존의 TCP 세션 엔트리 리스트 중의 각 TCP 세션 엔트리와 비교하여, 일치하는 TCP 세션 엔트리가 존재하는 경우 상기 TCP 패킷에 관련된 TCP 세션이 이미 존재하는 것으로 판단한다. 상기 TCP 패킷에 관련된 TCP 세션이 존재하면, 단계 212로 진행한다. 반면 상기 TCP 패킷에 관련된 TCP 세션이 존재하지 않으면, 새로운 TCP 세션인 것으로 판단하여 단계 208로 진행한다.
단계 208에서, TCP 분류부(110)는 상기 TCP 패킷의 플래그들 중 SYN 플래그만이 '1'로 설정되어 있는지를 확인한다. 여기서 SYN 플래그만이 설정되어 있음은, 상기 TCP 패킷이 TCP 세션의 파라미터 초기화를 위해 사용되는 TCP 동기 패킷임을 의미한다. 따라서 단계 210에서 TCP 분류부(110)는 상기 TCP 패킷에 포함된 소스/데스티네이션 IP/포트 값들을 새로운 TCP 세션 엔트리로서 TCP 세션 엔트리 리스트에 추가하고 단계 222로 진행하여 상기 TCP 패킷을 바이패스한다. 반면 상기 TCP 패킷이 TCP 동기 패킷이 아니라면, 비정상적인(abnormal) 패킷으로 간주하여 단계 222로 진행한다. 이 경우 상기 TCP 패킷은 데스티네이션 노드에서 적절하게 처리된다.
단계 212에서 세션 파라미터 초기화부(120)는 상기 TCP 패킷을 상기 TCP 분류부(110)로부터 제공받아, 상기 TCP 패킷의 플래그들 중 애크(ACK) 플래그만이 '1'로 설정되어 있는지를 확인한다. 만일 애크 플래그만이 설정되어 있다면 단계 214로 진행한다. 반면 애크 플래그가 설정되어 있지 않거나, 애크 플래그 이외에 다른 플래그가 설정되어 있다면, 단계 222로 진행하여 상기 TCP 패킷은 바이패스된다.
단계 214에서 세션 파라미터 초기화부(120)는 상기 TCP 패킷이 데이터 패킷인지 혹은 데이터 전송에 대한 애크 패킷인지를 확인한다. 여기서 애크 패킷인지의 여부는, 상기 TCP 패킷의 사이즈를 검사하는 등의 패킷 검사(packet inspection)를 통해 알 수 있다. 상기 TCP 패킷이 애크 패킷이 아닌 경우, 단계 216에서 세션 파라미터 초기화부(120)는 상기 TCP 패킷에 관련된 TCP 세션의 세션 파라미터 초기화가 완료되었는지를 확인한다. 상기 단계 216의 확인은, 세션 파라미터 초기화의 완료를 나타내는 초기화 완료 플래그 initial_emul_cwnd_found_flag가 'ON'으로 설정되어 있는지의 여부에 따라 알 수 있다. 상기 initial_emul_cwnd_found_flag는 세션 파라미터 초기화부(120) 혹은 TCP 분류부(110)에 의해 참조될 수 있으며, 그 설정에 대한 설명은 후술될 것이다.
만일 세션 파라미터 초기화가 완료되었으면, 단계 222로 진행하여 상기 TCP 데이터 패킷은 바이패스된다. 반면 상기 세션 파라미터 초기화가 완료되지 않았으면, 단계 218에서 상기 TCP 데이터 패킷에 관련된 TCP 세션의 충돌 윈도우 에뮬레이션 초기값 init_emul_cwnd를, 상기 TCP 데이터 패킷의 IP 헤더 내의 길이 값 ("iph->length"라 칭함)만큼 증가시킨다. 여기서 상기 init_emul_cwnd는 해당 TCP 세션이 처음으로 시작될 때 초기값 '0'으로 설정되며, 관련된 TCP 데이터 패킷이 전송될 때마다 상기 단계 218과 같이 상기 TCP 패킷의 데이터 길이만큼 증가된다. 상기 단계 218이 수행된 이후, 단계 222로 진행하여 상기 TCP 데이터 패킷은 바이패스된다.
한편 상기 단계 214에서 상기 TCP 패킷이 애크 패킷이면, 단계 220에서 세션 파라미터 초기화부(120)는 상기 TCP 패킷에 관련된 TCP 세션의 init_emul_cwnd가 0보다 큰지를 확인한다. 이는 상기 init_emul_cwnd가 정상적으로 설정되었는지를 확인하기 위함이다. 만일 init_emul_cwnd가 0보다 크지 않으면, 비정상적인 경우로 판단하여 단계 222로 진행한다. 이 경우 상기 TCP 애크 패킷은 데스티네이션 노드에서 적절하게 처리된다. 반면 상기 init_emul_cwnd가 0보다 크면, 즉 정상적으로 설정되어 있으면 단계 224로 진행한다.
다음으로 도 5b를 참조하면, 단계 224에서 세션 파라미터 초기화부(120)는 앞서 언급한 초기화 완료 플래그 initial_emul_cwnd_found_flag에 따라 세션 파라미터 초기화가 완료되었는지를 확인한다. 만일 상기 초기화 완료 플래그 initial_emul_cwnd_found_flag가 'ON'으로 설정되어 있지 않으면, 단계 226에서 세션 파라미터 초기화부(120)는 init_emul_cwnd를 emul_cwnd로 설정하고 상기 초기화 완료 플래그 initial_emul_cwnd_found_flag가 'ON'으로 설정하여 세션 파라미터 초기화가 완료되었음을 표시한다. 상기 emul_cwnd는 이후 대역폭 예측 과정에서 예측 범위(prediction range)로 사용된다. 반면 상기 초기화 완료 플래그 initial_emul_cwnd_found_flag가 이미 'ON'으로 설정되어 있으면, 단계 228로 진행한다.
단계 228에서 대역폭 추정/예측부(130)는 상기 TCP 애크 패킷 내의 일련번호로부터 상기 TCP 애크 패킷이 중복 애크(Duplicate Ack)인지를 판단한다. 여기서 중복 애크라 함은, 상기 TCP 애크 패킷이 이전의 전송에서 유실되어 다시 전송된 것임을 의미한다.
만일 상기 TCP 애크 패킷이 재전송된 것이라면, 단계 230에서 상기 emul_cwnd는 init_emul_cwnd로 유지된다. 반면 상기 TCP 애크 패킷이 재전송된 것이 아니라면, 단계 232에서 상기 emul_cwnd는 이전 emul_cwnd 값에 비해, 확인 응답되는 바이트 값, 즉 송신된 바이트 값(transmitted_bytes)만큼 증가된다. 상기 송신된 바이트 값은, 상기 TCP 애크 패킷의 애크 번호와 이전 애크 번호의 차이를 통하여 알 수 있다. 여기서 애크 번호라 함은 애크 패킷에 대응하는 데이터 패킷의 일련번호를 의미한다. 상기 단계 226, 230 및 232로부터 단계 234로 진행한다.
단계 234에서 대역폭 추정/예측부(130)는 미리 정해지는 추정 알고리즘에 따라 상기 TCP 애크 패킷에 대응하는 순방향 링크에 대한 현재 시점의 대역폭을 추정한다. 상기 대역폭의 추정은 상기 TCP 애크 패킷이 유입된 현재 시점의 순간적인 대역폭을 측정하는 것이다.
단계 236에서 대역폭 추정/예측부(130)는 대역폭 제한을 위한 최적 윈도우 값 optimal_win이 이미 결정되었는지를 확인한다. 상기 optimal_win은 상기 TCP 애크 패킷을 수신하는 데스티네이션 노드의 대역폭을 제한하기 위한 것이다. 만일 optimal_win이 이미 결정되었으면 단계 252로 진행하고, 그렇지 않으면 단계 238 내지 250을 수행하여 optimal_win을 결정한다.
단계 238에서 대역폭 추정/예측부(130)는 상기 emul_cwnd를 이용하여 예측 범위를 나타내는 대역폭 예측의 반복 회수를 산출한다. 여기서, 반복 회수는 상기 emul_cwnd를 현재 TCP 세션의 미리 정해지는 MTU 크기(MTU_size)로 나눈 값이 된다. 또한 단계 238에서 대역폭 예측의 수행 회수를 나타내는 i가 0으로 초기화된다.
단계 240에서 상기 예측 수행 회수 i가 상기 반복 회수보다 작은지를 확인한다. 상기 Bw_pred(i)가 가입자가 최대로 사용할 수 있는 대역폭의 한계인 th_high를 넘지 않은 채 상기 단계 240에서 상기 예측 수행 회수 i가 상기 반복 회수에 도달하면, 단계 242에서 상기 예측 수행 회수 i, 즉 상기 반복 회수는 최적 윈도우 최종 추천 값 last_recommend_optimal_window로서 저장된다. 이때 상기 TCP 애크 패킷은 수정되지 않은 채 바이패스된다. 반면 상기 예측 수행 회수 i가 상기 반복 회수보다 작으면, 단계 244에서 대역폭 추정/예측부(130)는 미리 정해지는 예측 알고리즘에 따라 현재와 동일한 특성을 가지는 패킷들이 수신된 것으로 가정하여 미래의 대역폭 Bw_pred(i)를 예측한다. 여기서 상기 예측 알고리즘은 본 발명의 주요한 요지와는 큰 관련이 없으므로 상세한 설명을 생략한다.
단계 246에서 상기 Bw_pred(i)가 상기 th_high 이상인지를 확인한다. 상기 th_high는 비대칭 대역폭 링크에서 양방향 동시 FTP 전송시 반대 방향의 애크 패킷 수신이 가능할 정도로 제한된다. 만일 상기 Bw_pred(i)가 상기 th_high보다 작으면 단계 248에서 상기 예측 수행 회수 i를 1만큼 증가시킨 후 단계 240으로 복귀한다. 반면 상기 Bw_pred(i)가 상기 th_high보다 크거나 같으면 단계 250으로 진행하여 optimal_win을 결정한다. 상기 단계 250에서 상기 optimal_win은 최적 윈도우 최종 추천 값 last_recommend_optimal_window과 상기 예측 수행 회수 i 중 큰 값에 MTU 크기(MTU_size)를 곱한 값으로 결정된다. 이때 상기 optimal_win은 TCP에 대해 미리 정해지는 최대 윈도우 값 max_cwnd를 초과할 수 없다. 상기 optimal_win이 결정되면 단계 252로 진행한다.
단계 252에서 전송 속도 제어부(140)는 상기 TCP 애크 패킷에 포함되어 있는 광고 윈도우 크기 Adv_win을 상기 optimal_win으로 대체하여 데스티네이션 노드로 전달(forwarding)한다. 데스티네이션 노드는 상기 optimal_win 이내에서, 상기 TCP 애크 패킷에 대응하는 TCP 세션의 데이터 패킷들을 전송하게 된다. 이는 데스티네이션 노드가 TCP 애크 없이 과도하게 많은 데이터 패킷들을 전송하지 않음을 의미한다.
도 6과 도 7은 각각 종래 기술과 본 발명에서 상향/하향 링크 전송 속도의 변화를 나타낸 것이다.
먼저 도 6을 참조하면, 순방향 전송 속도는 붉은 색으로 표시되었으며, 역방향 전송 속도는 푸른 색으로 표시하였다. 도시한 바와 같이 순방향 전송 속도는 역방향 전송과 비슷한 수준으로 동기되고 있다. 반면 도 7을 참조하면, 붉은 색으로 표시된 순방향 전송은 푸른 색으로 표시한 역방향 전송에 영향받지 않고 할당된 수준의 전송 속도를 유지하고 있다.
하기의 <표 1>은 64/384kbps의 비대칭 대역폭 링크를 사용하는 WCDMA의 GGSN에서, 본 발명에 따른 하향링크 대역폭의 향상을 나타낸 시뮬레이션 결과이다.
종래의 양방향 동시 전송 (UL/DL = 64/384kbps) 본 발명의 양방향 동시 전송 (UL/DL = 64/384kbps)
상향링크 평균속도 58.93 kbps 52.85 kbps
하향링크 평균속도 54.08 kbps 337.1 kbps
상기 <표 1>에 나타낸 바와 같이, 종래 기술의 경우 하향링크 속도가 상향링크와 비슷한 수준인 54.08kbps로 동기되었으나, 본 발명의 경우 하향링크 속도가 상향링크에 영향받지 않고 할당된 최대 대역폭인 384kbps에 비교적 근접한 337.1kbps를 유지하고 있다.
상기에서는 중간 전송노드인 게이트웨이 노드에서의 동작을 설명하였지만, 도 5a 및 도 5b에 설명한 본 발명의 알고리듬을 종단 노드, 예를 들어 단말기에 적용하는 것도 가능하다. 다시 말하면, 비대칭 대역폭을 할당받아 TCP 전송에 사용하는 단말에서는, 양방향으로 TCP 동시 전송을 시도할 때, TCP 애크 패킷들이 전송될 수 있도록 각 애크 패킷에 포함된 광고 윈도우 크기를 조절함으로써 전송속도를 제한함으로써, 동시전송시 속도 저하 문제를 해결한다.
구체적으로 도 5a를 참조하면, 단말은 네트워크를 통해 데스티네이션 노드로 전송하고자 하는 IP 패킷을 생성한 후, 상기 생성된 IP 패킷에 대해 단계 204 내지 252를 수행한다. 즉 단말은 역방향 링크로 전송할 애크 패킷을 생성하고, 상기 애크 패킷의 광고 윈도우 크기 Adv_win을, 단계 224 내지 250에 의해 결정한 최적 윈도우 값 optimal_win으로 대체하여 전달하거나, 혹은 상기 애크 패킷을 수정하지 않고 바이패스한다. 이로써 단말은 순방향 링크의 대역폭이 애크 패킷을 전송하기에 충분할 정도의 여유분을 가지도록 한다.
이와 같이 단말 및 게이트웨이 노드는 데스티네이션 노드로 전송하고자 하는 IP 패킷을 획득한 후, 상기 획득한 IP 패킷에 대해 단계 204 내지 252를 수행한다.
한편 본 발명의 상세한 설명에서는 구체적인 실시예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되지 않으며, 후술되는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
이상에서 상세히 설명한 바와 같이 동작하는 본 발명에 있어서, 개시되는 발명중 대표적인 것에 의하여 얻어지는 효과를 간단히 설명하면 다음과 같다.
본 발명은, TCP 전송동안 일정한 TCP 전송 대역폭을 사용하도록 제한함으로써, TCP 전송의 특징인 슬로우 스타트, 충돌 회피(congestion avoidance) 등에 의한 필수 불가결한 패킷 드롭, 즉 충돌 발생을 사전에 방지한다.
또한 TCP 비대칭 대역폭 링크 상황의 양방향 동시 전송시, 상향/하향 전송에서 각각 제한된 전송 속도 만큼의 대역폭 만을 사용하기 때문에 애크 클로킹에 의한 수율 동기(throughput sync)가 발생하지 않게 된다. 즉, 상향/하향 각 전송에서 여유분의 대역폭을 통해 반대방향의 애크들이 원활하게 전달되도록 함으로써 보다 효율적인 대역폭 사용이 가능하다.

Claims (20)

  1. 비대칭 대역폭 링크들을 갖는 가입자 망에서 전송제어 프로토콜(TCP)의 양방향 동시전송을 위한 전송 제어 방법에 있어서,
    양방향 동시 전송시, 역방향 링크로 전송하기 위한 전송 제어 프로토콜(TCP) 애크 패킷을 획득하는 과정과,
    상기 애크 패킷이 획득된 시점에 상기 역방향 링크에 대응하는 순방향 링크의 대역폭을 측정하는 과정과,
    상기 측정된 대역폭에 따라 상기 순방향 링크의 이후의 대역폭을 예측하고, 상기 예측된 대역폭이, 상기 순방향 링크에 할당된 최대 대역폭에 비해 상기 순방향 링크를 통한 애크 패킷의 전송을 허용할 수 있을 정도의 여유 대역폭을 유지하도록 하는 순방향 링크의 최적 윈도우 크기를 계산하는 과정과,
    상기 계산된 최적 윈도우 크기를 상기 애크 패킷에 포함되는 수신 윈도우 크기로서 삽입하여 상기 애크 패킷을 데스티네이션 노드로 전달하는 과정을 포함하는 것을 특징으로 하는 전송 제어 방법.
  2. 제 1 항에 있어서, 상기 애크 패킷을 획득하는 과정은,
    상기 가입자 망의 종단 노드에서 상기 애크 패킷을 생성하는 것임을 특징으로 하는 전송 제어 방법.
  3. 제 1 항에 있어서, 상기 대역폭을 측정하는 과정은,
    상기 애크 패킷이 수신된 시점에서 상기 순방향 링크의 대역폭을 추정하는 단계와,
    예측 수행회수를 카운트하면서 상기 추정된 대역폭을 근거로 상기 순방향 링크의 대역폭을 반복적으로 예측하는 단계를 포함하는 것을 특징으로 하는 상기 방법.
  4. 제 3 항에 있어서, 상기 최적 윈도우 크기를 계산하는 과정은,
    상기 예측 수행회수가 미리 정해지는 반복 회수에 도달하기까지 상기 예측된 대역폭이 상기 최대 대역폭을 초과하지 않으면, 상기 반복 회수를 최적 윈도우의 최종 추천 값으로서 저장하는 단계와,
    상기 예측 수행회수가 상기 반복 회수에 도달하기 이전에 상기 예측된 대역폭이 상기 최대 대역폭에 도달하면, 상기 예측 수행회수와 이전 애크 패킷에 대해 저장된 최적 윈도우의 최종 추천 값 중 큰 값에 미리 정해지는 최대 전송 유닛(MTU) 크기를 곱하여 상기 최적 윈도우 크기를 계산하는 단계를 포함하는 것을 특징으로 하는 전송 제어 방법.
  5. 제 4 항에 있어서, 상기 반복 회수는,
    상기 애크 패킷을 포함하는 애크된 패킷들의 데이터 양을 나타내는 충돌 윈도우 에뮬레이션 값(emul_cwnd)을 상기 최대 전송 유닛(MTU) 크기로 나눈 값임을 특징으로 하는 전송 제어 방법.
  6. 제 5 항에 있어서, 상기 최적 윈도우 크기는,
    미리 정해지는 최대 충돌 윈도우 값을 초과하지 않도록 설정되는 것을 특징으로 하는 전송 제어 방법.
  7. 제 4 항에 있어서, 상기 예측 수행회수가 상기 반복 회수에 도달하기까지 상기 예측된 대역폭이 상기 최대 대역폭을 초과하지 않으면, 상기 애크 패킷의 상기 수신 윈도우 크기를 수정하지 않고 상기 데스티네이션 노드로 전달하는 과정을 더 포함하는 것을 특징으로 하는 전송 제어 방법.
  8. 제 1 항에 있어서, 상기 애크 패킷을 획득하는 과정은,
    상기 가입자 망의 게이트웨이 노드에서, 종단 노드에 의해 생성된 상기 애크패킷을 수신하는 것임을 특징으로 하는 전송 제어 방법.
  9. 제 8 항에 있어서, 상기 애크 패킷을 획득하는 과정은,
    상기 게이트웨이 노드로 인입되는 인터넷 프로토콜(IP) 패킷을 수신하고 상기 IP 패킷의 헤더에 포함된 프로토콜 식별자를 참조하여 상기 IP 패킷이 TCP 패킷인지를 확인하는 단계와,
    상기 IP 패킷이 TCP 패킷이 아니면 상기 IP 패킷을 바이패스하는 단계와,
    상기 IP 패킷이 TCP 패킷이면 상기 TCP 패킷에 포함된 소스 및 데스티네이션의 IP 주소와 포트 번호에 따라, 상기 TCP 패킷에 관련된 TCP 세션이 상기 게이트웨이 노드에 이미 존재하는지를 확인하는 단계와,
    상기 TCP 세션이 존재하지 않으면 상기 TCP 패킷에 관련된 상기 TCP 세션을 추가하고 상기 TCP 패킷을 바이패스하는 단계를 포함하는 것을 특징으로 하는 전송 제어 방법.
  10. 제 9 항에 있어서, 상기 애크 패킷을 획득하는 과정은,
    상기 TCP 세션이 존재하면 상기 TCP 패킷에 포함된 플래그들 중 애크 플래그만이 설정되어 있는지를 확인하는 단계와,
    상기 TCP 패킷의 애크 플래그만이 설정되어 있지 않으면 상기 TCP 패킷을 바이패스하는 단계와,
    상기 TCP 패킷의 애크 플래그만이 설정되어 있으면 상기 TCP 패킷의 크기에 따라 상기 TCP 패킷이 애크 패킷인지 데이터 패킷인지를 확인하는 단계와,
    상기 TCP 패킷이 데이터 패킷이면 상기 데이터 패킷의 크기에 따라 충돌 윈도우 에뮬레이션 초기값(init_emul_cwnd)을 설정하고 상기 데이터 패킷을 바이패스하는 단계와,
    상기 TCP 패킷이 애크 패킷이면 상기 충돌 윈도우 에뮬레이션 초기값이 0보다 큰지를 확인하는 단계와,
    상기 충돌 윈도우 에뮬레이션 초기값이 0보다 크지 않으면 상기 애크 패킷을 바이패스하는 단계를 더 포함하는 것을 특징으로 하는 전송 제어 방법.
  11. 비대칭 대역폭 링크를 갖는 가입자 망에서 전송제어 프로토콜(TCP)의 양방향 동시전송을 위한 전송 제어 장치에 있어서,
    양방향 동시 전송시, 역방향 링크로 전송하기 위한 TCP 애크 패킷을 획득하는 TCP 분류부와,
    상기 애크 패킷이 획득된 시점에 상기 역방향 링크에 대응하는 순방향 링크의 대역폭을 측정하고, 상기 측정된 대역폭에 따라 상기 순방향 링크의 이후의 대역폭을 예측하고, 상기 예측된 대역폭이, 상기 순방향 링크에 할당된 최대 대역폭에 비해 상기 순방향 링크를 통한 애크 패킷의 전송을 허용할 수 있을 정도의 여유 대역폭을 유지하도록 하는 순방향 링크의 최적 윈도우 크기를 계산하는 대역폭 추정/예측부와,
    상기 계산된 최적 윈도우 크기를 상기 애크 패킷에 포함되는 수신 윈도우 크기로서 삽입하여 상기 애크 패킷을 데스티네이션 노드로 전달하는 전송 속도 제어부를 포함하는 것을 특징으로 하는 전송 제어 장치.
  12. 제 11 항에 있어서,
    상기 TCP 분류부와, 상기 대역폭 추정/예측부와, 상기 전송 속도 제어부는, 상기 가입자 망의 종단 노드에 구비되는 것을 특징으로 하는 전송 제어 장치.
  13. 제 11 항에 있어서, 상기 대역폭 추정/예측부는,
    상기 애크 패킷이 수신된 시점에서 상기 순방향 링크의 대역폭을 추정하고,
    예측 수행회수를 카운트하면서 상기 추정된 대역폭을 근거로 상기 순방향 링크의 대역폭을 반복적으로 예측하는 것을 특징으로 하는 전송 제어 장치.
  14. 제 13 항에 있어서, 상기 대역폭 추정/예측부는,
    상기 예측 수행회수가 미리 정해지는 반복 회수에 도달하기까지 상기 예측된 대역폭이 상기 최대 대역폭을 초과하지 않으면, 상기 반복 회수를 최적 윈도우의 최종 추천 값으로서 저장하고,
    상기 예측 수행회수가 상기 반복 회수에 도달하기 이전에 상기 예측된 대역폭이 상기 최대 대역폭에 도달하면, 상기 예측 수행회수와 이전 애크 패킷에 대해 저장된 최적 윈도우의 최종 추천 값 중 큰 값에 미리 정해지는 최대 전송 유닛(MTU) 크기를 곱하여 상기 최적 윈도우 크기를 계산하는 것을 특징으로 하는 전송 제어 장치.
  15. 제 14 항에 있어서, 상기 반복 회수는,
    상기 애크 패킷을 포함하는 애크된 패킷들의 데이터 양을 나타내는 충돌 윈도우 에뮬레이션 값(emul_cwnd)을 상기 최대 전송 유닛(MTU) 크기로 나눈 값임을 특징으로 하는 전송 제어 장치.
  16. 제 15 항에 있어서, 상기 최적 윈도우 크기는,
    미리 정해지는 최대 충돌 윈도우 값을 초과하지 않도록 설정되는 것을 특징으로 하는 전송 제어 장치.
  17. 제 14 항에 있어서, 상기 전송 속도 제어부는,
    상기 예측 수행회수가 상기 반복 회수에 도달하기까지 상기 예측된 대역폭이 상기 최대 대역폭을 초과하지 않으면, 상기 애크 패킷의 상기 수신 윈도우 크기를 수정하지 않고 상기 데스티네이션 노드로 전달하는 것을 특징으로 하는 전송 제어 장치.
  18. 제 11 항에 있어서, 상기 TCP 분류부와, 상기 대역폭 추정/예측부와, 상기 전송 속도 제어부는,
    상기 가입자 망의 게이트웨이 노드에 구비되는 것을 특징으로 하는 전송 제어 장치.
  19. 제 11 항에 있어서, 상기 TCP 분류부는,
    상기 게이트웨이 노드로 인터넷 프로토콜(IP) 패킷을 수신하고 상기 IP 패킷의 헤더에 포함된 프로토콜 식별자를 참조하여 상기 IP 패킷이 TCP 패킷인지를 확인하고,
    상기 IP 패킷이 TCP 패킷이 아니면 상기 IP 패킷을 바이패스하고,
    상기 IP 패킷이 TCP 패킷이면 상기 TCP 패킷에 포함된 소스 및 데스티네이션의 IP 주소와 포트 번호에 따라, 상기 TCP 패킷에 관련된 TCP 세션이 상기 게이트웨이 노드에 이미 존재하는지를 확인하고,
    상기 TCP 세션이 존재하지 않으면 상기 TCP 패킷에 관련된 상기 TCP 세션을 추가하고 상기 TCP 패킷을 바이패스하는 것을 특징으로 하는 전송 제어 장치.
  20. 제 19 항에 있어서, 상기 TCP 분류부와 연결되는 세션 파라미터 초기화부를 더 포함하며,
    상기 세션 파라미터 초기화부는,
    상기 TCP 세션이 존재하면 상기 TCP 패킷에 포함된 플래그들 중 애크 플래그만이 설정되어 있는지를 확인하고,
    상기 TCP 패킷의 애크 플래그만이 설정되어 있지 않으면 상기 TCP 패킷을 바이패스하고,
    상기 TCP 패킷의 애크 플래그만이 설정되어 있으면 상기 TCP 패킷의 크기에 따라 상기 TCP 패킷이 애크 패킷인지 데이터 패킷인지를 확인하고,
    상기 TCP 패킷이 데이터 패킷이면 상기 데이터 패킷의 크기에 따라 충돌 윈도우 에뮬레이션 초기값(init_emul_cwnd)을 설정한 후 상기 데이터 패킷을 바이패스하고,
    상기 TCP 패킷이 애크 패킷이면 상기 충돌 윈도우 에뮬레이션 초기값이 0보다 큰지를 확인하고,
    상기 충돌 윈도우 에뮬레이션 초기값이 0보다 크지 않으면 상기 애크 패킷을 바이패스하는 것을 특징으로 하는 전송 제어 장치.
KR1020060022676A 2005-03-10 2006-03-10 비대칭 대역폭 링크를 갖는 가입자 망에서 전송제어프로토콜의 양방향 동시전송을 위한 전송 제어 방법 및장치 KR100762650B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20050020102 2005-03-10
KR1020050020102 2005-03-10

Publications (2)

Publication Number Publication Date
KR20060099463A KR20060099463A (ko) 2006-09-19
KR100762650B1 true KR100762650B1 (ko) 2007-10-01

Family

ID=36953601

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060022676A KR100762650B1 (ko) 2005-03-10 2006-03-10 비대칭 대역폭 링크를 갖는 가입자 망에서 전송제어프로토콜의 양방향 동시전송을 위한 전송 제어 방법 및장치

Country Status (6)

Country Link
US (1) US20080089250A1 (ko)
EP (1) EP1856834A1 (ko)
JP (1) JP2008536356A (ko)
KR (1) KR100762650B1 (ko)
CN (1) CN101138190A (ko)
WO (1) WO2006096037A1 (ko)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8634399B2 (en) * 2006-04-12 2014-01-21 Qualcomm Incorporated Uplink and bi-directional traffic classification for wireless communication
US20090129346A1 (en) * 2006-11-06 2009-05-21 Hong Tengywe E Method and Apparatus for Monitoring TCP Sessions in a Mobile Data Network and Developing Corresponding Performance Metrics
WO2008076022A1 (en) * 2006-12-19 2008-06-26 Telefonaktiebolaget Lm Ericsson (Publ) A method and device for transmitting tcp data ove asymmetric links
TWI334293B (en) * 2007-03-06 2010-12-01 Xtera Comm Taiwan Co Ltd Method for transmitting network packets
US8077685B2 (en) 2007-04-24 2011-12-13 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for avoiding hanging PDP contexts
CN102474754B (zh) * 2007-08-13 2015-09-09 爱立信电话股份有限公司 上行链路资源的改进分配
KR102033289B1 (ko) * 2008-04-21 2019-10-16 애플 인크. Harq 프로토콜을 위한 방법 및 시스템
WO2009134178A1 (en) * 2008-04-30 2009-11-05 Telefonaktiebolaget L M Ericsson (Publ) Self-backhauling in lte
US20090323965A1 (en) * 2008-06-27 2009-12-31 Telefonaktiebolaget Lm Ericsson (Publ) Systems and Methods for Monitoring Performance of a Communication System
CN101335603B (zh) 2008-07-17 2011-03-30 华为技术有限公司 数据传输方法和装置
US8902805B2 (en) 2008-10-24 2014-12-02 Qualcomm Incorporated Cell relay packet routing
US8320385B1 (en) * 2008-10-31 2012-11-27 Sprint Communications Company L.P. Wireless scheduler bandwidth estimation for quick start
JP2010135924A (ja) * 2008-12-02 2010-06-17 Mitsubishi Electric Corp 通信品質管理装置および通信品質管理方法
US20120106466A1 (en) * 2008-12-16 2012-05-03 Nokia Corporation System and method to avoid downlink control channel coverage limitation in a communication system
US8144732B2 (en) * 2008-12-31 2012-03-27 Mediatek Inc. Method for boosting downlink transmission to mobile station and system utilizing the same
US8171175B2 (en) * 2009-01-23 2012-05-01 Qualcomm Incorporated Methods and systems using data rate driven protocol accelerator for mobile devices
KR101741394B1 (ko) * 2009-07-07 2017-05-29 엘지전자 주식회사 무선 통신 시스템에서 arq 피드백 정보 전송 및 수신 방법
US8619580B2 (en) 2009-12-16 2013-12-31 Electronics And Telecommunications Research Institute Method and apparatus for transmitting packet in wireless communication system
WO2011101425A1 (en) * 2010-02-19 2011-08-25 Thomson Licensing Control of packet transfer through a multipath session comprising a single congestion window
CN101867512B (zh) * 2010-04-15 2012-08-08 华为技术有限公司 数据传输控制方法和装置
WO2011160002A2 (en) 2010-06-17 2011-12-22 Velocent Systems Incorporated Determining an average effective data throughput as corresponds to a network-served end user
US9094326B2 (en) * 2010-11-02 2015-07-28 Qualcomm Incorporated Systems and methods for communicating in a network
US8787159B2 (en) * 2011-04-14 2014-07-22 Alcatel Lucent Mechanism for wireless access networks to throttle traffic during congestion
CN102932274B (zh) * 2011-08-11 2015-12-09 中磊电子(苏州)有限公司 路由器的带宽控制方法
US9900799B2 (en) * 2011-08-16 2018-02-20 Qualcomm Incorporated Reverse link control to reduce forward link latency
US9183090B2 (en) 2011-10-10 2015-11-10 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing a streaming platform IO pump and regulator
US9276856B2 (en) * 2011-10-10 2016-03-01 Salesforce.Com, Inc. Slipstream bandwidth management algorithm
US10292066B2 (en) * 2011-11-04 2019-05-14 Cisco Technology, Inc. System and method of modifying congestion control based on mobile system information
WO2013087116A1 (en) * 2011-12-15 2013-06-20 Telefonaktiebolaget L M Ericsson (Publ) Method and network node for handling tcp traffic
US9386128B2 (en) * 2012-03-23 2016-07-05 Qualcomm Incorporated Delay based active queue management for uplink traffic in user equipment
US9660924B2 (en) * 2012-04-16 2017-05-23 Hewlett Packard Enterprise Development Lp Determining a maximal size of packets
US9185149B2 (en) 2012-06-25 2015-11-10 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing frame aggregation with screen sharing
US9338172B2 (en) * 2013-03-13 2016-05-10 Futurewei Technologies, Inc. Enhanced IPsec anti-replay/anti-DDOS performance
CN104184677B (zh) * 2013-05-24 2018-12-14 中兴通讯股份有限公司 一种流量整形的驱动方法及驱动器
WO2015078491A1 (en) * 2013-11-26 2015-06-04 Telefonaktiebolaget L M Ericsson (Publ) Controlling a transmission control protocol congestion window size
CN104811998B (zh) * 2014-01-27 2018-08-21 华为技术有限公司 一种控制传输控制协议窗口调整的方法和无线接入点
CN105554822B (zh) * 2015-12-10 2019-02-22 京信通信系统(中国)有限公司 均衡基站多用户终端速率的控制方法及装置
KR102685285B1 (ko) 2016-07-14 2024-07-16 삼성전자 주식회사 무선 통신 시스템에서 데이터의 전송 속도 제어 방법 및 장치
EP3558117A1 (en) * 2016-12-20 2019-10-30 Abbott Diabetes Care Inc. Systems, devices and methods for wireless communications in analyte monitoring devices
KR102622268B1 (ko) * 2017-02-03 2024-01-05 삼성에스디에스 주식회사 병렬 tcp 가속을 이용한 실시간 멀티미디어의 전송 방법 및 시스템
JP6859776B2 (ja) * 2017-03-16 2021-04-14 日本電気株式会社 無線アクセスネットワーク装置
CN112583570A (zh) * 2019-09-27 2021-03-30 华为技术有限公司 一种序列号同步的方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980021923A (ko) * 1996-09-19 1998-06-25 양승택 비동기전달모드 교환 시스템에서 점대점 전용선의 대역폭 변경을 위한 발신 및 착신측 처리방법
JP2001244978A (ja) 2000-02-28 2001-09-07 Nec Corp マルチキャストパケット転送装置、マルチキャストパケット転送システム及び記憶媒体
KR20030096519A (ko) * 2002-06-12 2003-12-31 남궁환식 비대칭 쌍방향 멀티캐스팅 패킷 데이터 통신 시스템 및 방법

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6091710A (en) * 1997-07-07 2000-07-18 Paradyne Corporation System and method for preventing data slow down over asymmetric data transmission links
SG87029A1 (en) * 1999-05-08 2002-03-19 Kent Ridge Digital Labs Dynamically delayed acknowledgement transmission system
US20030031161A1 (en) * 2001-08-07 2003-02-13 Froehlich Robert W. Uplink session extension
US7236459B1 (en) * 2002-05-06 2007-06-26 Packeteer, Inc. Method and apparatus for controlling data transmission volume using explicit rate control and queuing without data rate supervision
KR100950652B1 (ko) * 2003-01-08 2010-04-01 삼성전자주식회사 직교 주파수 분할 다중 전송 방식에서 순방향 링크의 채널 상태 추정 방법
US7583594B2 (en) * 2003-01-31 2009-09-01 Texas Instruments Incorporated Adaptive transmit window control mechanism for packet transport in a universal port or multi-channel environment
WO2005006673A1 (ja) * 2003-07-15 2005-01-20 Fujitsu Limited 帯域制御装置
US20050213586A1 (en) * 2004-02-05 2005-09-29 David Cyganski System and method to increase network throughput
US7925775B2 (en) * 2004-04-07 2011-04-12 Sony Corporation TCP congestion control based on bandwidth estimation techniques

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980021923A (ko) * 1996-09-19 1998-06-25 양승택 비동기전달모드 교환 시스템에서 점대점 전용선의 대역폭 변경을 위한 발신 및 착신측 처리방법
JP2001244978A (ja) 2000-02-28 2001-09-07 Nec Corp マルチキャストパケット転送装置、マルチキャストパケット転送システム及び記憶媒体
KR20030096519A (ko) * 2002-06-12 2003-12-31 남궁환식 비대칭 쌍방향 멀티캐스팅 패킷 데이터 통신 시스템 및 방법

Also Published As

Publication number Publication date
WO2006096037A1 (en) 2006-09-14
EP1856834A1 (en) 2007-11-21
CN101138190A (zh) 2008-03-05
JP2008536356A (ja) 2008-09-04
US20080089250A1 (en) 2008-04-17
KR20060099463A (ko) 2006-09-19

Similar Documents

Publication Publication Date Title
KR100762650B1 (ko) 비대칭 대역폭 링크를 갖는 가입자 망에서 전송제어프로토콜의 양방향 동시전송을 위한 전송 제어 방법 및장치
EP1614258B1 (en) Method and system for rate control service in a network
US6847610B1 (en) Method for optimizing data transmission in a packet switched wireless data transmission system
CA2440814C (en) Method and apparatus for providing multiple quality of service levels in a wireless packet data services connection
US7430182B2 (en) System and method for controlling data traffic in a wireless communication system
US20040246962A1 (en) Dynamically assignable resource class system to directly map 3GPP subscriber communications to a MPLS-based protocol
US20030179720A1 (en) Congestion control in wireless telecommunication networks
US8553695B2 (en) TCP ACK packet transmission and reception method, and a device supporting the same
KR100809019B1 (ko) 이동통신 시스템에서의 룩-어헤드 대역 요구 방법 및 그방법을 수행하는 이동 단말기
US7099622B2 (en) Controlling channel switching in a UMTS network
RU2649298C1 (ru) Устройство шлюза и способ управления им
GB2403378A (en) Method and arrangement for TCP flow control
US7453805B2 (en) Method and communication system for signaling information for optimizing rate control schemes in wireless networks
JP4234680B2 (ja) 通信システムにおけるビットレート制御手段
US7170872B2 (en) Reserving quality of service in wireless telecommunication system
EP1472835B1 (en) Processing different size packet headers for a packet based conversational service in a mobile communications system
WO2004028094A1 (en) Method and system for resource management in a communication network
US20050174952A1 (en) Method and system for resource management in a communication network
KR100781258B1 (ko) 이동통신 단말기의 데이터 통신 방법 및 이동통신 단말기
CN117200859A (zh) 星地融合网络中基于分段确认机制的可靠数据分发方法
Gómez et al. Assessing and Optimizing End User Performance over 2G/3G Cellular Networks

Legal Events

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

Payment date: 20120830

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130829

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140828

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150828

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160830

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee