클라이언트: 가장 짧은 유휴 타임아웃의 절반 이하 간격으로 하트비트 보내기(UDP 매핑은 집 안에서 나가는 패킷으로만 확실히 갱신되므로 클라이언트가 보냄), 끊기면 자동 재접속. 서버: 하트비트에 응답하고 일정 시간 못 받으면 연결을 먼저 정리, 매핑이 지워져 바깥 주소·포트가 바뀌어도 세션 토큰(접속할 때 받은 확인 번호)으로 같은 플레이어임을 확인해 이어 받기.
그래프에서는
연결이 한꺼번에 끊김 · 끊김 수(하트비트 타임아웃), 끊기기 전 유휴 시간
확인할 곳
서버의 끊김 사유와, 끊기기 전 그 연결로 마지막 패킷이 오간 뒤 흐른 시간(유휴 시간)을 모아 분포로 봄. 시험으로는 UDP 패킷 간격을 30초·60초·120초로 늘려 가며 응답이 끊기는 간격을 잼
이러면 맞음
가만히 있던 연결만 끊기고 유휴 시간이 30~120초 같은 특정 값 바로 뒤에 몰림. 하트비트 간격을 그보다 짧게 하면 사라짐
이러면 아님
움직이는 중에도 끊기면 회선·경로 쪽. 특정 모바일 통신사에서만 짧은 값에 몰리면 “통신사 공유 IP (CGNAT)”