[TCP/IP] SO_REUSEADDR 옵션

2023. 1. 23. 20:542018년 이전 관심사/통신프로토콜

반응형

SO_REUSEADDR 옵션

  • 커널이 소켓을 사용하는 중에도 계속해서 사용 할 수 있음
  • 서버 프로그램이 종료된 후, 커널이 소켓의 포트를 아직 점유 하고 있는 경우 해당 포트로 TCP Server를 재 구동 할 때 유용하게 사용 됨
    • 예) TCP Server 입장에서 FIN 패킷을 수신하고 FIN_ACK 패킷을 송신 한 후 일정 시간동안 소켓을 종료 하지 않고 커널이 해당 소켓을 점유하고 있음
    • 이런 경우 응용 프로그램을 재 실행하면 bind 함수 호출 시, 점유 중인 포트를 연결하려는 시도 때문에 오류가 발생 함. --> 일정 시간이 지나야 연결 가능
    • 위 문제를 해결하기 위해 SO_RESUSEADDR 옵션을 사용함.

 

 

참고자료

https://m.blog.naver.com/bringmelove1/119146643

 

반응형