한국어English日本語简体中文繁體中文DeutschไทยTiếng ViệtРусскийPortuguês (Brasil)EspañolBahasa Indonesia

게임 렉 백서 › L5 데이터센터 네트워크 장비

MTU 불일치 (큰 패킷만 사라짐) MTU black hole

원인 ID dc-mtu · 주 담당 인프라팀·네트워크 인프라 · 함께 인프라팀·서버 인프라, 게임개발팀·서버 개발

그림과 실험이 있는 원본 카드로 열기 →

중간 구간의 MTU(한 번에 보낼 수 있는 크기)가 줄었는데 크기 초과 알림이 막히면, 큰 패킷만 계속 사라집니다.

왜 터널·VPN 구간에서 MTU가 줄어듦 → 그러면 크기 초과 알림(ICMP)이 방화벽에 막혀 보내는 쪽이 모름 → 화면에서는 인벤토리·캐릭터 목록처럼 큰 화면을 열 때만 멈췄다가 접속 끊김

증상
멈춤, 접속 끊김, 접속 불가·무한 로딩
요인
손실
누가 겪나
특정 지역·통신사, 나만
언제
특정 행동을 할 때, 접속·점검 직후
담당
주 담당 인프라팀·네트워크 인프라 · 함께 인프라팀·서버 인프라, 게임개발팀·서버 개발
게임개발팀 할 일
서버 쪽에서 직접 낮추려면 소켓의 최대 세그먼트 크기(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 자체가 막힌 것이라 이 방법으로는 판단할 수 없음
확인 수단
유저 쪽 환경에서 확인

출처

  1. RFC 2923: TCP Problems with Path MTU Discovery IETF
    방화벽이 ICMP(Fragmentation Needed)를 막으면 경로 MTU 탐색이 실패해 큰 패킷만 계속 사라짐(블랙홀), 핑·작은 통신은 되어 진단이 어려움
  2. Maximum transmission unit and maximum segment size Cloudflare
    인터넷 경로 MTU 1,500, GRE 터널을 지나면 1,476, TCP MSS는 1,436 이하로 제한 권장
  3. IP Sysctl Linux kernel
    tcp_mtu_probing=1은 평소 꺼져 있다가 ICMP 블랙홀을 감지했을 때 TCP 경로 MTU 탐색을 켬
  4. ping(8) — Linux manual page iputils
    -M do는 DF 표시를 켜고 경로 MTU보다 큰 패킷을 거부, -s로 데이터 크기 지정(기본 56바이트에 ICMP 헤더 8바이트)
  5. ping Microsoft
    /f는 DF 표시를 켜서 경로 MTU 문제를 찾는 데 쓰고 /l로 데이터 크기 지정

함께 보면 좋은 원인

같은 층: L5 데이터센터 네트워크 장비

같은 증상(멈춤)의 다른 층 원인

그림과 실험이 있는 원본 카드 보기