-
[Network] TCP TIME_WAITCS 2021. 6. 2. 13:15반응형
TCP TIME WAIT
종료 요청을 한 (대체로 클라이언트?)가 FIN을 보내고 2MSL만큼 기다리고 있다가 CLOSED상태로 감
TIME WAIT이 필요한 이유
- 종료 과정에 있는 마지막 ACK이 분실될 수 있으므로 1분정도 대기
(서버로부터 FIN을 재 전송받아 ACK을 다시 보내주기 위함 )
- PORT관련
time wait 상태가 없다면 연결이 종료되고 바로 연결요청이 들어왔을때 만일의 상황에 포트번호가 겹치게 할당되었을경우
이전 연결과 다음 연결의 PORT번호가 같아서 어플리케이션 입장에서 두개를 구분하지 못하게됨
-> PORT 번호를 FIN이후에 잠시 가지고 있도록 할당을 해지하지 않는것. time wait상태동안..
이렇게 해서 생기는 문제점?
1. 포트 번호가 고갈될 수 있음
2. 서비스 속도 지연
네이버같은 빠른 서비스에서 timewait되는 동안 지연된다면?ㄷㄷ
클라이언트 단에서 연결을 요청할때마다 connection을 생성, 해제하는게 아니라 connection pool을 만들어 거기서 사용
서버 단에서 keep -alive설정으로 tcp연결을 한번에 해제하지않고(stateless) 몇번 유지...
https://brainbackdoor.tistory.com/127
'CS' 카테고리의 다른 글
[Network] ip (0) 2021.06.02 [Network] TCP (0) 2021.06.02 [OS] 1- 2 컴퓨터 시스템의 구성 (0) 2021.05.21 [OS] 1.1 운영체제의 정의 (2) 2021.05.21