번외4: TCP의 변천

Hyeonmin Han·2022년 5월 5일
0

Computer Network

목록 보기
7/8

TCP 프로토콜은 연결성을 우선시한 프로토콜이기 때문에, 전송 속도를 중시하는 UDP 프로토콜에 비해서 전송 속도가 비교적 느리다. TCP 프로토콜의 발전은 유의미한 변화를 가져다 주었다. 초기에 개발되었던 TCP 프로토콜과 이후에 개발되었던 TCP 프로토콜 간에는, 전송 속도에서 큰 차이가 없으나, 패킷 전송 지연 또는 패킷 손실로 인해 저하되는 전송 속도에 있어서는 유의미한 차이가 존재한다.

TCP Tahoe (1998)

TCP Tahoe는 최초로 구현된 TCP 프로토콜이다. 현재까지도 광범위하게 쓰이고 있다.

Tahoe 동작은 연결 초기에 Slow-start를 시작하여 패킷을 송수신하다가, 패킷이 손실되어 타임아웃이 발생하거나 중복 ACK 3개가 수신되면 TCP는 임계치(Threshold)를 패킷 손실 전의 CWND(Congestion Window)의 절반으로 설정한 후, CWND를 1로 설정하여 Slow-start를 실행한다.

Tahoe는 한 윈도우 내에서 처음 손실이 발생된 패킷을 재전송한 후 차례로 Slow-start를 실행한다. 손실 이후의 모든 패킷들을 재전송하므로 이미 수신한 패킷을 다시 수신하게 되는 문제점은 있으나 결과적으로 패킷 손실이 발생하지 않아 안전성은 높다. Tahoe는 Slow-start, 혼잡회피 및 빠른 재전송 알고리즘을 지원한다.

  • 장점 : 높은 안전성
  • 단점 : 흐름 제어 및 오류 제어 시 상대적으로 느린 처리 속도

TCP Reno (1990)

Tahoe를 개선한 방식으로, 하나의 패킷 손실이 발생한 경우에는 최적의 성능을 발휘하지만, 한 윈도우 내에 다수의 패킷 손실이 발생한 경우에는 성능이 Tahoe에 비해 떨어지는 문제점이 있다.

  • 장점 : Tahoe 방식보다 단일 패킷 손실 면에서 비교적 성능이 뛰어남
  • 단점 : 다중 패킷 손실 면에서는 오히려 Tahoe 방식보다 성능이 떨어짐

TCP NewReno (1999)

New-Reno는 Reno의 빠른 재전송 알고리즘과 빠른 회복 알고리즘을 일부 수정하고 보완된 TCP 구현이다.

Reno와 가장 큰 차이점은 다중 패킷 손실이 발생한 경우, 모든 손실된 패킷이 재전송되기 전까지는 빠른 회복 알고리즘을 종료하지 않는 것이다. New-Reno는 빠른 재전송이 처음 동작하기 전에 TCP 송신단 에서 전송했던 최고 순서번호를 기억함으로써 다중 패킷 손실을 가지는 빠른 회복 알고리즘을 개선하였다.

New-Reno는 재전송된 패킷에 대한 ACK의 순서번호를 보고 송신단 에서 보낸 패킷 중에서 다중 패킷 손실이 발생이 발생했다면 부분적인 ACK으로 간주하고 손실이 발생한 패킷을 매 RTT마다 하나씩 재전송한다. Reno는 재전송한 패킷에 해당하는 ACK가 수신되면 빠른 회복 알고리즘을 종료하고 혼잡회피 동작 단계를 수행하지만, New-Reno는 ACK가 수신되어도 CWND 크기를 변화시키지 않고 계속해서 두 번째, 세 번째 패킷에 대한 복구를 수행함으로써 멀티 패킷 손실이 일어날 경우에도 뛰어난 성능을 나타낸다.

  • 장점 : 다중 패킷 손실 면에서 Tahoe, Reno에 비해 빠른 처리 속도

출처 : https://www.koreascience.or.kr/article/JAKO200719663060182.pdf

profile
네트워크, 클라우드에 관심이 있는 시스템 엔지니어 지망생

0개의 댓글