Tahoe
정해진 N개의 Duplicated ACK가 발생할 경우 Retransmit Timer와는 상관없이 바로 해당 Segment를 전송하고 Slow-Start를 시작한다.
N개의 Duplicated ACK가 발생할 경우 바로 해당 Segment를 전송하고 Congestion Window사이즈를 반으로 줄여 Fast Recovery Mode로 Congestion Avoidance를 수행한다. 그러나 패킷손실이 많은경우 Congestion Window가 줄어들고 다시 줄어들고 이러한 과정을 반복하다 TCP Timeout에 이르러 Slow-Start로 시작하는 단점을 지니고 있다.
New-Reno
Reno의 단점을 해결하기 위해 제안되었고, Fast Recovery Mode로 진입하는 것은 같으나 Full ACK가 왔을 때까지 기다린 다음 Fast Recovery Mode를 종료하는 차이를 보이고 있다. 이는 많은 패킷손실이 있다고 하더라도 Fast Recovery Mode상에서 Congestion Window사이즈를 조절하며 재전송을 수행한다. 그러나 많은 수의 패킷손실이 발생할 경우 많은 수의 RTT가 발생하는 단점을 지니고 있다.
SACK
PIPE를 통해 패킷의 전송을 계산하고, SACK옵션을 통해 재전송할 패킷만을 선택적으로 전송할 수 있는 장점을 지니고 있다. 여러 개의 패킷손실이 발생할 경우 New-Reno와 달리 하나의 RTT안에서 패킷을 재전송할 수 있는 장점을 지니고 있다.
[One packet drop]
Tahoe버전은 Packet Drop이 일어난 경우 재빨리 패킷을 재전송하고 Slow Start모드로 들어가 Congestion window를 0부터 1씩 증가시킨다. 반면 Reno, New Reno, SACK의 경우 Fast Recovery Algorithm을 사용하여 Drop이 일어난 패킷을 재전송하고 Congestion Window의 크기를 반으로 줄이고 Congestion Avoidance모드로 패킷을 전송한다. Tahoe버전을 제외한 다른버전은 좋은 성능을 보인다.
[Two Packets Drop]
Tahoe버전은 One Packet Drop과 같은 현상이 나타나고, Reno버전은 처음의 Duplicated ACK를 받았을 때 Congestion Window를 반으로 줄이고 다음의 Duplicated ACK를 받았을 때 다시 Congestion Window를 반으로 줄여 Congestion Window가 1/4로 줄어들어 느린 전송속도를 보인다. 그러나 New-Reno버전은 처음의 Duplicated ACK를 받았을 때 Fast Recovery Mode로 전환하여 Congestion Window의 크기를 반에서 늘리기 시작한다. 이때 또다른 Duplicated ACK를 받았다 하여도 상관없이 Congestion window를 늘여가기 시작한다. Sack TCP의 경우 전송한 Packet수와 Duplicated ACK의 받은 수를 비교하는 계산을 하여 PIPE를 계산해 전송량을 조절한다. Reno버전이 가장 낮은 성능을 보이고 Tahoe버전이 그 다음 New-Reno와 SACK버전은 좋은 성능을 보인다.
[Three Packets Drop]
Tahoe버전은 앞에설명한 과정을 그대로 수행하고, Reno버전은 2개의 패킷 손실을 보인 것과 같지만 세번째의 Duplicated ACK를 받을 때 uwnd바로 전송하지 못하는 상황이 벌어지고 이에 따라서 보내지 못하기 때문에 Timeout이 일어나게 된다. 이렇게 되면 Slow-Start로 Timeout이 끝나고 나서 진행하게 된다. New-Reno와 SACK의 경우 두개의 패킷을 잃어버렸을때와 동일한 과정으로 성능을 유지한다. Reno< Tahoe<New-Reno,SACK의 순서로 성능의 차이를 보인다.
[Four Packets Drop]
Tahoe버전과 Reno버전은 3개의 패킷을 잃어버렸을 때 나타나는 결과와 마찬가지의 결과를 보이고, New-Reno의 경우 Fast Recovery Mode에서의 RTT계산을 통하여 성능을 유지시키려 노력한다. SACK의 경우 PIPE계산을 통하여 성능을 유지시킨다. Reno < Tahoe < New-Reno < SACK 의 순서로 성능의 차이를 보인다.
ref. "Kevin Fall ,Sally Floyd",
"Simulation-based Comparisons of Tahoe, Rent, and SACK TCP",
작성 : 조준식 (2006.04.18)

Comments List
이거 항상 오면 공부의 흔적으로 넘쳐나는군요 ㅋ
쉬엄쉬엄하세요~ ㅋㅋ
以
移
嫄몄
釉