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

Sách trắng lag game › L5 Thiết bị mạng trung tâm dữ liệu

MTU không khớp (chỉ mất gói lớn) MTU black hole

ID nguyên nhân dc-mtu · Phụ trách chính Hạ tầng mạng (Đội hạ tầng) · Phối hợp Hạ tầng server (Đội hạ tầng), Phát triển server (Đội phát triển game)

Mở thẻ gốc có hình minh họa và thí nghiệm →

Khi MTU (kích thước gửi được trong một lần) của một chặng ở giữa nhỏ đi mà thông báo vượt kích thước lại bị chặn, chỉ các gói lớn liên tục bị mất.

Vì sao MTU nhỏ đi ở chặng tunnel hoặc VPN → Dẫn đến Thông báo vượt kích thước (ICMP) bị tường lửa chặn nên bên gửi không biết → Trên màn hình Chỉ khi mở màn hình lớn như túi đồ, danh sách nhân vật thì đứng hình rồi mất kết nối

Triệu chứng
Đứng hình, Mất kết nối, Không vào được·kẹt loading
Yếu tố
Mất gói
Ai gặp phải
Một khu vực hoặc nhà mạng, Chỉ mình tôi
Khi nào
Khi làm một thao tác nhất định, Ngay sau đăng nhập hoặc bảo trì
Phụ trách
Phụ trách chính Hạ tầng mạng (Đội hạ tầng) · Phối hợp Hạ tầng server (Đội hạ tầng), Phát triển server (Đội phát triển game)
Việc cần làm (Đội phát triển game)
Nếu muốn giảm trực tiếp từ phía server thì đặt kích thước segment tối đa (TCP_MAXSEG) cho socket, vì chỉ chia nhỏ message trong code game thì không tránh được; giữ gói UDP ở mức 1.200 byte trở xuống.
Việc cần làm (Đội hạ tầng)
Mạng: giảm kích thước gói TCP ở chặng tunnel (điều chỉnh MSS), cho phép thông báo vượt kích thước (ICMP) trên tường lửa và network ACL của cloud. Thiết bị server·OS: cho phép thông báo vượt kích thước (ICMP) cả trên tường lửa server và security group của cloud, bật dò MTU của kernel server (tcp_mtu_probing=1), đây là lưới an toàn cuối cùng vì chỉ hoạt động sau khi đã đứng vài giây.
Con số tham khảo
Thường là 1.500 byte, đi qua tunnel thì giảm còn khoảng 1.400.
Trên đồ thị
Chỉ một phần cao · Mất kết nối theo khu vực, nhà mạng, phản hồi lớn thất bại
Chỗ cần xem
Từ PC của người chơi gặp vấn đề, gửi ping bật cờ không phân mảnh (DF) tới server với nhiều kích thước khác nhau. Windows: ping /f /l 1472 SERVER_IP, Linux: ping -M do -s 1472 SERVER_IP (1.472 là MTU 1.500 trừ 20 byte header IP và 8 byte header ICMP). Giảm dần kích thước để tìm kích thước lớn nhất đi qua được, và kiểm tra security group, tường lửa phía server có cho phép thông báo vượt kích thước ICMP (Fragmentation Needed) không
Đúng nếu
ping nhỏ đi được nhưng ping DF 1.472 byte thất bại (không phản hồi hoặc báo lỗi cần phân mảnh), và kích thước lớn nhất đi qua được nhỏ, khoảng 1.400. Người chơi cùng khu vực chỉ đứng hình khi mở màn hình lớn
Loại trừ nếu
ping DF 1.472 byte vẫn đi tốt → không phải vấn đề path MTU; ping nhỏ cũng không đi → bản thân ICMP bị chặn, cách này không kết luận được
Cách kiểm tra
Kiểm tra ở môi trường phía người chơi

Nguồn

  1. RFC 2923: TCP Problems with Path MTU Discovery IETF
    Nếu tường lửa chặn ICMP (Fragmentation Needed), dò path MTU thất bại và chỉ gói lớn liên tục bị mất (black hole); ping và giao tiếp nhỏ vẫn chạy nên khó chẩn đoán
  2. Maximum transmission unit and maximum segment size Cloudflare
    Path MTU trên Internet là 1.500, đi qua tunnel GRE thì 1.476, khuyến nghị giới hạn TCP MSS ở mức 1.436 trở xuống
  3. IP Sysctl Linux kernel
    tcp_mtu_probing=1 bình thường tắt, chỉ bật dò path MTU của TCP khi phát hiện ICMP black hole
  4. ping(8) — Linux manual page iputils
    -M do bật cờ DF và từ chối gói lớn hơn path MTU, -s chỉ định kích thước dữ liệu (mặc định 56 byte, cộng 8 byte header ICMP)
  5. ping Microsoft
    /f bật cờ DF để tìm vấn đề path MTU, /l chỉ định kích thước dữ liệu

Nguyên nhân nên xem cùng

Cùng tầng: L5 Thiết bị mạng trung tâm dữ liệu

Nguyên nhân ở tầng khác gây cùng triệu chứng (Đứng hình)

Xem thẻ gốc có hình minh họa và thí nghiệm