본문 바로가기

네트워크3

[네트워크] TCP Congestion Control: (2) 기본 동작 - 2편 앞선 포스팅에 이어서 TCP congestion control의 세 번째 state인 fast recovery에 대해 정리해보도록 하겠습니다. 원활한 이해를 위해서는 1편 포스팅을 읽고 와주시길 바랍니다. 3) Fast Recovery 먼저 congestion avoidance와 fast recovery에 대한 RTT (round-trip time) 라운드 별 동작 예시는 아래 그림과 같습니다. 앞에서 congestion avoidance 상태에서 3 dup-ACK (3 duplicate ACK)를 수신하면 혼잡 윈도우(cwnd)를 절반으로 줄이고 fast recovery에 돌입한다고 하였지만 실제 동작은 아래와 같이 살짝 복잡하게 되어있습니다. $$ \begin{align} \text{For each .. 2022. 3. 19.
[네트워크] TCP Congestion Control: (1) 기본 동작 - 1편 이전 포스팅에서 congestion control은 송신 서버의 데이터 전송과 네트워크의 처리 속도 차이로 인한 네트워크 혼잡을 해결하기 위한 기법이며 이를 위해 송신측에 혼잡 윈도우(cwnd)를 설정한다고 하였습니다. Congestion Window 구조 cwnd는 sliding window 방식을 이용하기 때문에 ① cwnd 위치 ② cwnd 크기 두 가지가 움직이게 됩니다. cwnd 위치: 패킷을 전송하고 ACK를 수신할 때 cwnd 위치를 오른쪽으로 옮겨 이동하게 됩니다. cwnd 크기: Congestion control 알고리즘에 따라 cwnd 전체 크기가 변화하게 됩니다. 데이터 전송 시에 cwnd를 이동시키지 않기 때문에, cwnd 안에는 1) 이미 보냈지만 ACK를 받지 못한 패킷, 2) .. 2022. 3. 18.
[네트워크] TCP Flow Control & Congestion Control 비교 TCP는 UDP와 달리 신뢰성 있는 데이터 전송을 위해 여러 가지 제어 기능을 제공합니다. 그중 대표적인 것이 flow control (흐름 제어)와 congestion control (혼잡 제어)인데 차이점을 구별할 필요가 있습니다. TCP Flow Control Flow control은 수신 클라이언트(RX)가 수행해 주는 제어 기법으로, 송신 서버(TX)와 수신 클라이언트(RX)의 데이터 처리 속도 차이로 인한 수신 버퍼 overflow를 해결하기 위한 기법입니다. 수신자의 데이터 처리 속도가 송신자의 데이터 전송 속도보다 빠른 것은 문제가 되지 않지만, 수신자의 데이터 처리 속도가 송신자의 데이터 전송 속도보다 느린 경우에는 문제가 발생합니다. 수신측의 처리 속도보다 빠르게 데이터가 들어오게 되면.. 2022. 3. 1.
반응형