혼잡 제어
혼잡 인지
- 패킷 손실이 일어나면 네트워크가 혼잡 하다고 판단을 해 전송률을 낮춘다..
- 패킷 손실이 일어나지 않으면 네트워크가 원할하다 판단을 해 전송률을 높인다.
- 패킷 유실 : ack 신호가 타임아웃 시간안에 오지않음

Retransmission TimeOut = 재 전송까지 걸리는 타임 아웃
Round Trip Time = 한 패킷이 보냈다가 돌아오는데 까지 걸리는 시간
- ACK 타임아웃은 너무 길거나 짧지 않게 설정한다.
RTO = (RTT(평균) + RTT 의 표준편차 *4, 1초) 중에 큰 값으로 정한다.
위의 확률은 정규분포표에 따르면 약 1/10000의 확률이다
RTT 구하기
weighted moving average
-
최근에 구한 값에 더 가중지츨 둔 계산법
RTTn = RTT의 n번째 측정값
RTTm = m번째 샘플후 측정한 평균값

혼잡 제어
additive increase
단위 (Increase)
:MSS (Maximum Segment size)
-
보통 1~ 4 Kb로 정한다.
-
세그먼트의 크기는 효율의 문제
-
크다고 무조건 좋지는 않음( 세그먼트를 다시 쪼개야 하는 경우도 있다)
-
패킷이 정상적으로 통신이 되면 MSS 한개를 더 담아서 전송한다.
Multiplicative Decrease
- 만약 패킷 전송이 실패하면 패킷의 수를 절반으로 줄인다.
- 패킷 유실이 네트워크 이상을 반영할때는 Congestion Window를 1 Mss로 줄인다.
- 네트워크 이상시에는 Cw를 1로 줄인다.
- 단순 유실 경우에는 현재 Cw를 반으로 줄인다
Fast Transmit
- Ack을 보낼 때 마지막으로 받은 패킷 다음의 패킷의 순번을 담아서 보낸다
- 송신측에서 이 ACk을 연달아서 받게 되면 혼잡한 상황이라고 파악하고 창 크기를 줄인다
- 수신하지 못한 패킷을 다시 보내게 된다.
slow start
- 네트워크 이상시 Cw -> 1로 바뀌어서 cw증가가 느리다
예) 기존 cw가 100일 경우 1/2 cw이 될때까지 선형적으로 증가시킨다.
