CS

[Network] TCP

지수쓰 2021. 6. 2. 15:20
반응형

network deadlock

데드락 발생하는 경우

  • rwnd=0으로 보냈다가 rwnd=k라고 다시 ack을 보냈는데 이 ack이 손실되면 dead lock발생

해결) persistance 영속 타이머가 rwnd=0인 순간부터 타이머를 재서 일정 시간이 지나면 ack을 받기위한 패킷 하나 보냄

혼잡제어

router의 buffer 사이즈보다 많은 연결? input으로 buffer가 꽉차게 되면 '혼잡'발생했다라고 함

이때 라우터는 패킷을 버림

패킷교환방식 네트워크는 '경로'를 찾는거라 그 경로가 막히는지는 확인을 못함.

그때필요한것이 혼잡 제어 !

AIMD

slow start인 이유는 이런 혼잡제어 없었을때는 window size만큼 보냈는데 그거에 비하면 1..2....4..8.. 느린거라 그렇게 부름

3ACK으로 혼잡 발생하면 현재 window size 의 절반크기만큼 -> AI로 시작

timeout(serious case)땐 1부터 다시 시작해서 SS

임계치는 모두 window size 의 절반크기

cwnd>=1 임 (절대 0으로 X)

=> TCP를 AIMD라고 말한다.

SACK-our of order정보 알려주는 옵션