KR20010045532A - 전송 제어 프로토콜의 재전송 알고리즘 개선 방법 - Google Patents
전송 제어 프로토콜의 재전송 알고리즘 개선 방법 Download PDFInfo
- Publication number
- KR20010045532A KR20010045532A KR1019990048852A KR19990048852A KR20010045532A KR 20010045532 A KR20010045532 A KR 20010045532A KR 1019990048852 A KR1019990048852 A KR 1019990048852A KR 19990048852 A KR19990048852 A KR 19990048852A KR 20010045532 A KR20010045532 A KR 20010045532A
- Authority
- KR
- South Korea
- Prior art keywords
- window
- retransmission
- stage
- segment
- algorithm
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 230000005540 biological transmission Effects 0.000 claims abstract description 20
- 238000011084 recovery Methods 0.000 claims description 20
- 230000006872 improvement Effects 0.000 claims description 4
- 230000004044 response Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 발명은 고속 네트워크 환경에서 TCP(Transmission Control Protocol)의 알고리즘을 개선시키는 전송 제어 프로토콜의 재전송 알고리즘 개선 방법에 관한 것이다. 종래의 기술에 있어서 잃어버린 세그먼트(segment)를 재전송한 후, 과잉 밀집 윈도 크기를 반으로 설정하고 과잉 밀집 윈도 크기를 선형적으로 증가시키는 빠른 회복 방안을 제시하였다. 이러한 기법은 초기에 지수적으로 증가하는 슬로우 스타트 작업을 피하기 위해 만들어졌다. 지수적인 과잉 밀집 윈도우의 증가는 네트워크의 과잉 밀집 상태를 더욱 악화시킬 수 있다. 이에, 본 발명에서는 데이터 흐름을 제어하는 최상위 계층인 TCP의 프로토콜의 과잉 밀집을 제어하는 재전송 알고리즘을 개선하여 현재 널리 쓰이고 있는 인터넷의 과잉 밀집 제어를 효율적으로 수행하도록 한다. 따라서, 오늘날의 많은 대역폭과 빠른 전송 속도를 지닌 고속 네트워크 환경에 유리하게 적용될 수 있는 효과가 있는 것이다.
Description
본 발명은 전송 제어 프로토콜(Transmission Control Protocol, 이하 TCP라 칭함)의 재전송 알고리즘(retransmission algorithm) 개선 방법에 관한 것으로서, 특히 고속 네트워크 환경에서 TCP의 알고리즘을 개선시키는 방법에 관한 것이다.
종래의 기술에 따른 슬로우 스타트(slow-start)와 과잉 밀집 회피 프로시저(procedure)는 시간 초과가 발생했을 때 한계치(ssthresh)를 "과잉 밀집 윈도 크기/2"로 설정하고, 과잉 밀집 윈도 크기는 1로 설정한 후, 슬로우 스타트를 시작한다.
재컵슨(Jacobson)은 이러한 과정이 지나치게 비관적인 방법이라 지적했다. 대신 잃어버린 세그먼트(segment)를 재전송한 후, 과잉 밀집 윈도 크기를 반으로 설정하고 과잉 밀집 윈도 크기를 선형적으로 증가시키는 빠른 회복 방안을 제시하였다. 이러한 기법은 초기에 지수적으로 증가하는 슬로우 스타트 작업을 피하기 위해 만들어졌다. 지수적인 과잉 밀집 윈도우의 증가는 네트워크의 과잉 밀집 상태를 더욱 악화시킬 수 있다.
본 발명은 상기 결점을 개선하기 위하여 안출한 것으로서, 데이터 흐름을 제어하는 최상위 계층인 TCP의 프로토콜의 과잉 밀집을 제어하는 재전송 알고리즘을 개선하여 인터넷의 과잉 밀집 제어를 효율적으로 수행하도록하는 전송 제어 프로토콜의 재전송 알고리즘 개선 방법을 제공하는 데 그 목적이 있다.
이와 같은 목적을 달성하기 위한 본 발명은, 전송 제어 프로토콜의 재전송 알고리즘 개선 방법에 있어서: 중복된 확인 응답의 개수를 측정하는 제 1 단계; 중복된 확인 응답을 소정의 개수 받았는지 여부를 판단하는 제 2 단계; 확인 응답을 소정의 개수 받으면 빠른 재전송 및 회복 알고리즘을 호출하고 재전송 이전에 송신측이 마지막으로 보낸 세그먼트 값에 네트워크에서 현재까지 전송한 일련 번호를 저장하는 제 3 단계; 현재 윈도우의 반을 한계치에 저장하고 손실된 데이터를 재전송하기 위해 한계치에 소정의 개수의 세그먼트 크기로 과잉 밀집 윈도우를 정하여 잃어버린 세그먼트에 대해 재전송하는 제 4 단계; 수신된 확인 응답과 이전에 저장한 재전송 이전에 송신측이 마지막으로 보낸 세그먼트 값으로 빠른 재전송 및 회복 상태를 벗어날 수 있는지를 결정하는 제 5 단계; 재전송 및 회복 상태를 벗어날 수 없으면 상기 제 2 단계 이전에 중복된 확인 응답으로 인해 과잉 밀집 회피 상태에서 과잉 밀집 윈도우의 크기를 늘려주는 제 6 단계; 재전송 및 회복 상태를 벗어날 수 있으면 손실된 데이터를 회복하고 윈도우 확장을 위한 중복된 확인 응답의 개수에 따라 과잉 밀집 윈도우 크기를 늘려준 후, 과잉 밀집 윈도우에 부가적으로 더해지는 값을 초기화하는 제 7 단계; 정상적인 TCP 전송 상태로 복귀하는 제 8 단계를 포함하는 것을 특징으로 한다.
도 1은 본 발명에 따른 전송 제어 프로토콜의 재전송 알고리즘 개선 방법을 사용하는 고속 네트워크의 일 실시예를 나타낸 개략도,
도 2는 도 1에 도시된 고속 네트워크에서 사용되는 전송 제어 프로토콜의 재전송 알고리즘 개선 방법의 일 실시예를 단계별로 나타낸 순서도,
도 3은 160kbps의 링크 속도와 30 패킷의 스위치를 사용한 네트워크에서 종래의 알고리즘과 본 발명의 알고리즘을 비교한 그래프.
〈도면의 주요부분에 대한 부호의 설명〉
2, 12 : 호스트 4, 10 : 이더넷 링크
6, 8 : 스위치
이하, 이와 같은 본 발명의 실시예를 다음과 같은 도면에 의하여 상세히 설명하면 다음과 같다.
도 1은 본 발명에 따른 전송 제어 프로토콜의 재전송 알고리즘 개선 방법을 사용하는 고속 네트워크의 일 실시예를 나타낸 개략도로, 호스트(2, 12), 이더넷 링크(4, 10), 및 스위치(6, 8)로 구성된다.
동 도면에 있어서, 호스트(2)는 1.54Mbps의 속도를 갖는 이더넷 링크(4)를 통해 스위치(6)와 연결되고 타 측의 호스트(12)는 1.54Mbps의 속도를 갖는 이더넷 링크(10)를 통해 스위치(8)와 연결된다. 또한, 스위치(6, 8)간은 56kbps 내지 155Mbps의 속도를 갖는 네트워크로 연결된다. 따라서, 호스트(2, 12)간에 TCP/IP (Transmission Control Protocol/Internet Protocol) 프로토콜을 사용하여 고속 통신이 이루어진다.
호스트(2, 12)는 일반적으로 널리 쓰이는 유닉스 머신이나 PC(Personal Computer)로, 호스트간의 연결을 위해 랜카드와 같은 하드웨어 장비를 이용하고, 인터넷 연결을 위해 소프트웨어적으로 TCP/IP 프로토콜을 사용한다. 각 호스트(2, 12)는 데이터 송수신을 위해 전체 네트워크 내에서 유일한 IP 주소 값을 갖는다.
여기서 데이터 전달을 위한 네스워크 계층의 프로토콜로서 IP가 쓰이고, 이 IP 계층에서는 IP 패킷 내의 IP 주소를 보고 목적지 호스트까지 데이터가 전달된다. 구체적으로 하나의 호스트에서 다른 호스트로 데이터를 전송하기 위해서 목적지 호스트의 IP 주소를 전달하려는 데이터와 함께 포함시켜 전달하며, 전송되어 라우터나 스위치가 이 값으로 목적지 호스트까지 데이터를 전송한다. 하지만 IP 계층은 단지 송신하려는 데이터를 목적하는 호스트까지 전달만 할 뿐, 목적지까지의 도착이나 데이터 전달 경로 보장을 책임지지 않으며 네트워크 내의 트래픽 제어도 포함하지 않는다.
TCP 계층에서는 이러한 IP의 특징인 비연결성(connectionless)과 비신뢰성(unreliability)를 보장하며 과잉 밀집 제어(congestion control)를 담당하는 역할을 수행한다.
TCP가 트래픽 제어를 하기 위해서는 수신측의 수용력에 의존한 신용(credit) 기반의 슬라이딩 윈도우 기법과 네트워크 트래픽 상태를 고려하여 데이터를 전송하는 과잉 밀집 윈도우 기법을 사용한다. 실제 데이터를 보내는 윈도우의 크기는 두 가지 값 중 작은 것을 선택하여 데이터를 전송한다.
슬라이딩 윈도우 기법은 수신하는 호스트가 데이터를 수용할 수 있는 버퍼의 크기를 확인 응답(acknowledgement)에 포함시켜 송신측에 전달하여 송신측이 데이터 송신율을 조정할 수 있게 한다.
하지만 슬라이딩 윈도우 기법에 따라 수신측 수용력만 의존할 경우 네트워크의 상태를 고려하지 못하기 때문에 과잉밀집 윈도우 기법이 사용된다. 즉 네트워크에 트래픽의 양이 많이 유입된 상태에서 수신측의 버퍼의 양만큼 송신측 호스트가 데이터를 전송할 경우 네트워크 상태가 좋지 않으므로 대부분 유실될 것이다. 따라서 과잉 밀집 윈도우 기법은 송신측이 초기에 과잉 밀집 윈도우의 크기를 1부터 시작하여 확인 응답의 수신에 따라 과잉 밀집 윈도우를 서서히 늘려 가게 된다. TCP는 과잉 밀집 윈도우의 크기를 서서히 증가시키다가 일정 시간 내에 송신한 데이터에 대한 응답을 받지 못했을 때 데이터가 손실되었다고 판단한다. TCP의 송신측은 손실된 데이터를 회복하고, 손실 이전에 보내었던 과잉 밀집 위도우의 절반 크기로 윈도우 크기를 설정하고 다시 데이터 전송을 시작한다.
본 발명은 상술한 TCP의 손실된 데이터의 회복 과정과 회복 후, 결정되는 과잉 밀집 윈도우에 대해 초점을 맞추어 개선 방향을 제시한다.
도 2는 도 1에 도시된 고속 네트워크에서 사용되는 전송 제어 프로토콜의 재전송 알고리즘 개선 방법의 일 실시예를 단계별로 나타낸 순서도이다.
중복된 확인 응답의 개수를 측정한다(단계 20).
중복된 확인 응답을 소정의 개수 예로, 3 개 받았는지 여부를 판단한다(단계 22).
확인 응답을 3 개 받으면 빠른 재전송 및 회복 알고리즘을 호출한다. 재전송 상태임을 표시하는 플래그(flag)를 설정해 주며 회복 기점을 판단하기 위해 과잉 밀집 회피 이전에 받은 데이터를 저장해 놓는다. 즉, 재전송 이전에 송신측이 마지막으로 보낸 세그먼트 값에 네트워크에서 현재까지 전송한 일련 번호를 저장한다(단계 24).
재전송 타임아웃되고 과잉 밀집 회피를 위해 현재 윈도우의 반을 한계치에 저장한다. 손실된 데이터를 재전송하기 위해 한계치에 3 개의 세그먼트 크기로 과잉 밀집 윈도우를 정하여 잃어버린 세그먼트에 대해 재전송을 시작한다. 전송할 세그먼트의 일련 번호에 잃어버린 세그먼트의 일련 번호를 할당한다(단계 26).
수신된 확인 응답과 이전에 저장한 재전송 이전에 송신측이 마지막으로 보낸 세그먼트 값으로 빠른 재전송 및 회복 상태를 벗어날 수 있는지를 결정한다(단계 28).
재전송 및 회복 상태를 벗어날 수 없으면 상기 단계(22) 이전에 중복된 확인 응답으로 인해 과잉 밀집 회피 상태에서 과잉 밀집 윈도우의 크기를 늘려준다. 중복된 확인 응답의 개수에 따라 과잉 밀집 회복 후, 과잉 밀집 윈도우에 부가적으로 더해지는 세그먼트 α를 0과 1 사이에서 늘려준다. 여기서, α값의 크기를 1/8로 정해줄 수 있다. 이와 같은 1/8을 선택한 이유는 다음과 같다. 4.3BSD 릴리즈와 4.4BSD에서는 과잉 밀집 회피동안 과잉 밀집 윈도우의 크기를 하나의 세그먼트 단위로 늘려감과 동시에 1/8 세그먼트 단위의 작은 윈도우의 크기를 늘리는 방법을 채택했었다. 만약, 이 때 온전한 세그먼트 단위로 과잉 밀집 윈도우를 늘려갈 경우 과잉 밀집 회복 후, 지나치게 큰 과잉 밀집 윈도우를 할당받아 과잉 밀집 상태가 될 수 있다(단계 30).
재전송 및 회복 상태를 벗어날 수 있으면 과잉 밀집 회피 상태를 나타내는 플래그를 0으로 설정함으로써 빠른 재전송 및 회복 상태를 벗어나 정상적인 윈도우 관리 기법으로 회복한다. 이 때 과잉 밀집 회피 이전의 윈도우 크기의 반으로 설정하는데 앞서 계산한 중복된 확인 응답의 개수에 따라 과잉 밀집 회복 후, 과잉 밀집 윈도우에 부가적으로 더해지는 값을 더해 회피 상태의 네트워크 상태가 반영된 크기가 큰 동적인 윈도우를 취할 수 있다. 즉, 손실된 데이터를 회복하고 윈도우 확장을 위한 중복된 확인 응답의 개수에 따라 과잉 밀집 윈도우 크기를 늘려준 후, 과잉 밀집 윈도우에 부가적으로 더해지는 값을 초기화한다(단계 32).
정상적인 TCP 전송 상태로 복귀한다(단계 34).
이와 같이 본 발명에 따른 TCP는 셀프-클록(self-clocking) 기법을 사용하여 데이터의 흐름을 제어한다. 확인 응답이 이러한 클록 신호로써 역할을 수행하기 때문에 확인 응답을 생성해 내는 것보다 빠르게 데이터를 네트워크에 전송시킬 수 없다. 이러한 특징으로 인해 과잉 밀집 상태에서 중복된 확인 응답으로 네트워크 상태를 파악하는 일은 합당한 것이며 그러한 방법을 통해 도 3(A)와 같은 종래의 기술에 비해 본 발명에서는 도 3(B)과 같이 전송 성능을 향상시킬 수 있다. 특히, 본 발명에 따른 고속 네트워크에서 더 큰 성능향상을 가져올 수 있다. 만약, TCP가 ATM(Asynchronous Transfer Mode)의 ABR 서비스에서 쓰일 경우 TCP가 가지는 내부 클록보다 더 작은 클록을 갖기 때문에 네트워크의 순간적인 변동 상황을 데이터 전송에 더 유리하게 반영할 수 있다.
수신측 알고리즘과는 상관없이 단지 송신측의 알고리즘만을 수정하고도 성능 향상을 가지고 오는 장점을 가지고 있다. 따라서 네트워크의 자원을 낭비하지 않고 효율적으로 이용할 수 있으며 이러한 특징은 기존 TCP의 구현과 호환성을 유지할 수 있다.
이상에서 설명한 바와 같이 본 발명은, 데이터 흐름을 제어하는 최상위 계층인 TCP의 프로토콜의 과잉 밀집을 제어하는 재전송 알고리즘을 개선하여 현재 널리 쓰이고 있는 인터넷의 과잉 밀집 제어를 효율적으로 수행하도록 한다. 따라서, 오늘날의 많은 대역폭과 빠른 전송 속도를 지닌 고속 네트워크 환경에 유리하게 적용될 수 있는 효과가 있다.
Claims (2)
- 전송 제어 프로토콜의 재전송 알고리즘 개선 방법에 있어서:중복된 확인 응답의 개수를 측정하는 제 1 단계;중복된 확인 응답을 소정의 개수 받았는지 여부를 판단하는 제 2 단계;확인 응답을 소정의 개수 받으면 빠른 재전송 및 회복 알고리즘을 호출하고 재전송 이전에 송신측이 마지막으로 보낸 세그먼트 값에 네트워크에서 현재까지 전송한 일련 번호를 저장하는 제 3 단계;현재 윈도우의 반을 한계치에 저장하고 손실된 데이터를 재전송하기 위해 한계치에 소정의 개수의 세그먼트 크기로 과잉 밀집 윈도우를 정하여 잃어버린 세그먼트에 대해 재전송하는 제 4 단계;수신된 확인 응답과 이전에 저장한 재전송 이전에 송신측이 마지막으로 보낸 세그먼트 값으로 빠른 재전송 및 회복 상태를 벗어날 수 있는지를 결정하는 제 5 단계;재전송 및 회복 상태를 벗어날 수 없으면 상기 제 2 단계 이전에 중복된 확인 응답으로 인해 과잉 밀집 회피 상태에서 과잉 밀집 윈도우의 크기를 늘려주는 제 6 단계;재전송 및 회복 상태를 벗어날 수 있으면 손실된 데이터를 회복하고 윈도우 확장을 위한 중복된 확인 응답의 개수에 따라 과잉 밀집 윈도우 크기를 눌려준 후, 과잉 밀집 윈도우에 부가적으로 더해지는 값을 초기화하는 제 7 단계;정상적인 TCP 전송 상태로 복귀하는 제 8 단계를 포함하는 전송 제어 프로토콜의 재전송 알고리즘 개선 방법.
- 제 1 항에 있어서,상기 제 6 단계에서 과잉 밀집 윈도우에 부가적으로 더해지는 세그먼트를 0과 1 사이에서 늘려주는 것을 특징으로 하는 전송 제어 프로토콜의 재전송 알고리즘 개선 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019990048852A KR20010045532A (ko) | 1999-11-05 | 1999-11-05 | 전송 제어 프로토콜의 재전송 알고리즘 개선 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019990048852A KR20010045532A (ko) | 1999-11-05 | 1999-11-05 | 전송 제어 프로토콜의 재전송 알고리즘 개선 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20010045532A true KR20010045532A (ko) | 2001-06-05 |
Family
ID=19618728
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019990048852A KR20010045532A (ko) | 1999-11-05 | 1999-11-05 | 전송 제어 프로토콜의 재전송 알고리즘 개선 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20010045532A (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100619949B1 (ko) * | 2004-10-29 | 2006-09-13 | 엘지전자 주식회사 | 고속 이동통신망에서의 티씨피 흐름 제어방법 |
KR100913897B1 (ko) * | 2003-07-29 | 2009-08-26 | 삼성전자주식회사 | 재전송 타임아웃 수를 줄이기 위한 전송 제어 프로토콜혼잡제어방법 |
-
1999
- 1999-11-05 KR KR1019990048852A patent/KR20010045532A/ko not_active Application Discontinuation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100913897B1 (ko) * | 2003-07-29 | 2009-08-26 | 삼성전자주식회사 | 재전송 타임아웃 수를 줄이기 위한 전송 제어 프로토콜혼잡제어방법 |
KR100619949B1 (ko) * | 2004-10-29 | 2006-09-13 | 엘지전자 주식회사 | 고속 이동통신망에서의 티씨피 흐름 제어방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8605590B2 (en) | Systems and methods of improving performance of transport protocols | |
CN110661723B (zh) | 一种数据传输方法、计算设备、网络设备及数据传输系统 | |
JP4436981B2 (ja) | ハイブリッドip−atmネットワーク内で混雑状態を管理するためのecnベースの方法 | |
US20020054570A1 (en) | Data communication system, data communication method, and recording medium with data communication program recorded thereon | |
JP2000115232A (ja) | デ―タ・パケット送信方法および装置 | |
WO2001045331A1 (en) | Congestion control method for a packet-switched network | |
JP2004520725A (ja) | サテライトを介するインターネット | |
Wang et al. | Use of TCP decoupling in improving TCP performance over wireless networks | |
JP4599554B2 (ja) | 広帯域、高遅延無線ネットワークにおけるtcp輻輳制御方式 | |
Ladha et al. | On making SCTP robust to spurious retransmissions | |
Lee et al. | The influence of the large bandwidth-delay product on TCP Reno, NewReno, and SACK | |
KR20010045532A (ko) | 전송 제어 프로토콜의 재전송 알고리즘 개선 방법 | |
Rojviboonchai et al. | RM/TCP: Protocol for reliable multi-path transport over the internet | |
Hurtig et al. | SCTP: designed for timely message delivery? | |
KR100913897B1 (ko) | 재전송 타임아웃 수를 줄이기 위한 전송 제어 프로토콜혼잡제어방법 | |
Wang | Decoupling control from data for TCP congestion control | |
Cohen et al. | Balanced packet discard for improving TCP performance in ATM networks | |
Sisalem et al. | Binary congestion notification in TCP | |
Goldstein | Congestion control in frame relay networks using explicit binary feedback | |
Chitre et al. | TCP in the IPSEC environment | |
Kawarasaki et al. | Dynamics of TCP flow control over high-speed ATM networks | |
Ishizuka et al. | Performance analysis of TCP over ABR in high-speed WAN environment | |
Hung et al. | Simple slow-start and a fair congestion avoidance for TCP communications | |
Hurtig et al. | Improved loss detection for signaling traffic in SCTP | |
Wang et al. | TCP enhancement for transmission in a variable bandwidth wireless environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 19991105 |
|
N231 | Notification of change of applicant | ||
PN2301 | Change of applicant |
Patent event date: 20001121 Comment text: Notification of Change of Applicant Patent event code: PN23011R01D |
|
PG1501 | Laying open of application | ||
PC1203 | Withdrawal of no request for examination | ||
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |