인프런 커뮤니티 질문&답변

루돌프사슴뼈님의 프로필 이미지
루돌프사슴뼈

작성한 질문수

Windows 소켓 프로그래밍 입문에서 고성능 서버까지!

에코 클라이언트/서버 테스트 및 Wireshark로 확인

TIME_WAIT 관련 문의드립니다.

해결된 질문

작성

·

157

0

 안녕하세요.

"에코 클라이언트/서버 테스트 및 Wireshark로 확인" 강의에서 제공해 주신 예제 프로그램을 실행해 보다가 TIME_WAIT 관련하여 몇 가지 궁금한 것이 있어 문의드립니다.

 

(1) Client 쪽에서 여러 번 접속을 하고 종료를 할 경우, 아래 이미지처럼 생성된 Port 별로 TIME_WAIT 상태로 있고, 어느 정도 시간이 지나면 모두 없어지던데 이건 CLOSED 상태로 된 것으로 보면 되는 건가요?

캡처.PNG

(2) 제공해 주신 수업 자료에서의 TCP 상태 전이도에서 TIME_WAIT에서 CLOSED 상태로 가는 화살표에 있는 Timeout은 운영체제에서 관리하는 건가요? 아니면 예제 프로그램에서 사용된 Socket 관련 함수에서 제어가 되는 건가요?

 

감사합니다.

답변 1

0

널널한 개발자님의 프로필 이미지
널널한 개발자
지식공유자

  1. 닫힌 상태로 봐야 하겠습니다. 그러나 소켓이 회수된 것은 아닙니다. TIME_WAIT는 Active close를 시도한 쪽에서 발생합니다. 이런 이유로 서버는 Active close를 하는 것이 적절치 않으며 최대한 피해야 합니다.

  2. 네, TCP 자체가 OS 수준에서 구현되어 있습니다. RFP에 기술된 표준이 있습니다만 운영체제마다 차이가 있을 수 있습니다. 참고하시기 바랍니다. 😄

루돌프사슴뼈님의 프로필 이미지
루돌프사슴뼈

작성한 질문수

질문하기