TCP Flow control
<aside>
<img src="/icons/activity_lightgray.svg" alt="/icons/activity_lightgray.svg" width="40px" />
Silly window syndrome
- flow control의 문제점
- 비효율적인 데이터 전송
- 원인 1) 전송측에서 데이터를 천천히 발생
- 원인 2) 수신측에서 데이터를 천천히 소비
- 해결방안
- 송신측 : Nagle’s algorithm
- 수신측 : Clark’s solution, delayed acknowledgement
</aside>
Nagle’s algorithm
<aside>
<img src="/icons/briefcase_orange.svg" alt="/icons/briefcase_orange.svg" width="40px" />
해결 요인
특징
- 데이터를 발생하는 속동롸 데이터 전달 속도를 고려
</aside>
Clark’s soultion
<aside>
<img src="/icons/briefcase_orange.svg" alt="/icons/briefcase_orange.svg" width="40px" />
특징
- 데이터가 도착하자마자 확인응답 전송
- 다음 경우를 제외하고 윈도우 크기 0으로 통보
- 수신 버퍼에 최대 크기의 세그먼트를 수용할 수 있는 충분한 공간
- 수신 버퍼가 반 이상 비어 있기 전까지
</aside>
Delayed acknowledgement
<aside>
<img src="/icons/thought_yellow.svg" alt="/icons/thought_yellow.svg" width="40px" />
특징
- 세그먼트가 도착하더라도 즉시 ACK를 보내지 않고 버퍼에 충분한 공간이 생길 때까지 응답 보류
- 장점
- 단점
- 지연이 길어지면 세그먼트 재전송
</aside>
TCP Error control