TCP/IP 흐름제어 & 혼잡제어
TCP/IP 흐름제어
수신 측이 송신 측보다 데이터 처리 속도가 느릴 때 문제 발생
→ 흐름 제어를 통해 TCP 버퍼(TCP 세그먼트 보관 메모리)의 크기 차이를 완화
Stop and Wait
수신 측이 매번 확인 응답(ACK)를 보내고 송신 측이 확인 후 다음 패킷 전송
→ 순서대로 보내서 속도 측면에서 효율이 떨어짐
Sliding Window
수신 측에서 설정한 윈도우 크기만큼 송신 측이 패킷 전달
초기에는 host간 3 Way Handshake에서 수신 측이 결정
→ 수신 측이 확인 응답(ACK)를 보낼 떄 TCP 헤더에 담아서 전송
TCP/IP 혼잡제어
라우터가 처리할 수 있는 데이터 양 초과하면 데이터 손실
송신 측에서 라우터가 처리하지 못한 데이터 재전송하게 혼잡
→ 네트워크 오버플로우 발생 예방위해 패킷 수 조절
AIMD(Additive Increase/Multiplicative Descrease)
처음에 패킷을 하나씩 보내며 문제 없으면 윈도우에 크기를 1씩 증가
전송 실패하면 윈도우 크기 반으로 감소
→ 윈도우 크기가 선형적으로 증가하여 대역폭 전체 활용하려면 시간 소요
Slow Start
윈도우 크기를 지수적으로 증가(2^n)
혼잡 상태 감지 시 윈도우 크기 1로 감소
Last updated