해결된 질문
작성
·
349
답변 1
0
홀펀칭 관련 내용 중 핵심은 결국 NAT 게이트웨이가 외부 인터넷 연결을 위해 몇 번 포트로 매핑하는지 찾는 것 입니다. 실제 서버가 192.168.0.10 + TCP 8000번 포트를 개방했다 하더라도 외부 인터페이스 (IP주소가 1.1.1.1이라고 가정) 1.1.1.1 + TCP 12000번에 매핑했다면 클라이언트는 1.1.1.1: 12000번에 연결해야 합니다.
그런데 릴레이 서버가 말 그대로 서버 역할을 해 클라이언트 들의 연결을 받아서 트래픽을 중계하고 있다면 연결을 받는 서버는 릴레이 서버로 한정됩니다. 이 상황에서 클라이언트가 사용하는 포트는 릴레이 서버와의 연결에 사용될 뿐 번호를 안다 해서 연결 할 수 있는 서버 소켓이 되지는 않습니다.
NAT에 관련한 내용은 응용편에서 다루고 있습니다. 참고하시기 바랍니다. :)