AIMD additive increase multiplicative decrease
IP Maximum Datagram Size: MTU는 1,2계층이 어떤 프로토콜을 쓰느냐에 따라서 결정된다.
additive increase: cwnd가 RTT당 1바이트가 아닌 1MSS(Maximum segment size)가 증가한다
multiplicative decrease: 반으로 쪼갠다.
congestion에서는 cwnd를 사용
MSS는 4계층에서의 segment size이ㅏㄷ.
default는 536이지만 시스템에 따라 다르다.
flag 비트 중 SYN을 통해서 이니셜하게 값을 주게 된다.
Slow Start!!!
왜 슬로우 스타트? -> 맨밑에서부터 시작
TCP는 congestion control에 따라 이름이 달라진다.
Tahoe, Reno
RENO를 사용중이다.
Tahoe: 마친사람 나가도 좋습니다! 더이상 기다리지 않아도 된다~
slow start 첨부터 시작(Tahoe)하지 말고 반으로 떨어지고 반으로 떨어진 상태에서 exponential하게 올라가면 위험하니까 linear하게 (reno)<-더 괜찮음, 오래남음
3-10의 그림 중요
리노가 무조건 반 떨어지는거 아님!
ssthresh 넘어가면 linear하게 congestion avoidance단계
threshhold는 바뀐다.
떨어지는 시점에서의 반 congestion에 따라서 달라짐
리노
반으로 떨군다음에 올라간다.
fast recovery반으로 떨군다.<-reno
다시시작하는데 바닥까지 안 떨어뜨리고
하지만 꼭 반으로 떨구는거 아니다!
3개의 duplicate ack이 왔을떄만 반으로 떨구고
나머지는 Tahoe스타일로
3개의 상태 slow start, congestion avoidance, fast recovery
state로 그릴 수 있음을 생각하쟈
ECN
TCP와 IP가 서로 소통
IP헤더를 건드림 flag bit을 set해서 보낸다. 양 끝은 L4
계층이 다른데 서로 얘기할 수 있음
ECN을 읽지 못하는 라우터는 어떻게? 옛날처럼 그대로 사ㅕ