본문 바로가기

Computer Science/네트워크

[네트워크] ch3.6 principles of congestion control( 혼잡제어의 원리)

728x90
반응형

# 3.6 TCP 혼잡 제어(congestion control)

  1. 흐름제어 와 혼잡제어
  • 흐름제어는 tcp 송신자 수신자 사이에서 수신자의 버퍼가 초과하지 않도록 송신조절
  • 혼잡제어는 네트워크 전체 혼잡도 고려해서 조절

2. 혼잡제어의 원리

1) 혼잡 (congestion) : 많은 데이터,어무 빠르게 -> 패킷 로스 , 긴 지연

3. 혼잡의 시나리오

1) 이상적 네트워크

  • 재전송 x
  • 무한한 버퍼
  • 버퍼 용량이 꽉찰 수록 딜레이 무수히 증가

2) 재전송

  • 유한한 버퍼
  • : 손실난 것만 재전송

3) duplicate (중복)

  • 유한한 버퍼
  • :손실+ 이른타임아웃으로 인한 중복 전송( 더 혼잡)

4) 여러개의 라우터 있는 경우

  • : 하나의 라우터에 혼잡 -> 재저송 증가 -> 다른 라우터 혼잡 증가

# 3.7 TCP 혼잡제어

  1. TCP 혼잡제어
  • 개념: cwnd(congestion window)를 조금씩 늘리다 손실발생 -> cwnd 를 1/2 로 줄임

  • TCP 전송 한계: lastbytesent - lastbyteacked <= cwnd
  • TCP 전송률 : 약 cwnd/RTT (byre/sec)

2. TCP slow start

  • 개념: 처음 cwnd = 1 MSS(max segments) 부터 RTT 마다 2배씩 전송 증가

3. 혼잡 회피(CA)(congestion avoid)

  • 개념: 손실이 일어날것 같음 -> cwnd 증가율 선형적으로 조금씩
  • 손실이 나기전 ssthresh(= threshold) 를 1/2 로 세팅

4. 손실대한 반응

1) TCP RENO

  • 개념:
  • 3중복 ack 일 때는 cwnd = cwnd1/2, threshold = cwnd1/2로 설정 하고 선형증가
  • 타임아웃시는 cwnd=1 부터 slowstart로 2배씩 증가, threshold = cwnd1/2

2) TCP Tahoe

  • 개념: 타임아웃 중복 모두 cwnd =1 로 설정 하고 slowstart

5. TCP 요약

반응형