서버 쪽에서 직접 낮추려면 소켓의 최대 세그먼트 크기(TCP_MAXSEG) 설정(게임 코드에서 메시지를 잘게 쪼개는 것만으로는 안 막힘), UDP 패킷은 1,200바이트 이하로 유지.
인프라팀 할 일
네트워크: 터널 구간에서 TCP 패킷 크기 줄이기(MSS 조정), 방화벽·클라우드 네트워크 ACL에서 크기 초과 알림(ICMP) 허용. 서버 장비·OS: 서버 방화벽·클라우드 보안 그룹에서도 크기 초과 알림(ICMP) 허용, 서버 커널의 MTU 탐색(tcp_mtu_probing=1) 켜기(몇 초 멈춘 뒤에야 작동하는 마지막 안전망).
수치 감각
보통 1,500바이트, 터널을 지나면 1,400 안팎으로 줄어듭니다.
그래프에서는
일부만 높음 · 지역·통신사별 접속 끊김, 큰 응답 실패
확인할 곳
문제 유저 PC에서 서버로 쪼개지 말라는 표시(DF)를 켠 핑을 크기를 바꿔 가며 보냄. 윈도우는 ping /f /l 1472 SERVER_IP, 리눅스는 ping -M do -s 1472 SERVER_IP(1,472는 MTU 1,500에서 IP 헤더 20바이트와 ICMP 헤더 8바이트를 뺀 값). 크기를 줄여 가며 통과하는 최대 크기를 찾고 서버 쪽 보안 그룹·방화벽이 ICMP 크기 초과 알림(Fragmentation Needed)을 허용하는지 확인
이러면 맞음
작은 핑은 가는데 1,472바이트 DF 핑은 실패하고(응답 없음 또는 단편화가 필요하다는 오류), 통과하는 최대 크기가 1,400 안팎으로 작음. 같은 지역 유저들이 큰 화면을 열 때만 멈춤
이러면 아님
1,472바이트 DF 핑도 잘 가면 경로 MTU 문제가 아님. 작은 핑도 안 가면 ICMP 자체가 막힌 것이라 이 방법으로는 판단할 수 없음