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

Buku Putih Lag Game › Akar penyebab retransmisi TCP

Perubahan rute dan jalur ECMP bermasalah Route change / bad ECMP member

ID penyebab rt-path · Penanggung jawab utama Infrastruktur jaringan (Tim Infrastruktur) · Turut terlibat Pengembangan server (Tim Pengembang Game), Pihak Eksternal (Pihak Eksternal)

Buka kartu interaktif dengan gambar dan simulasi →

Paket hilang selama beberapa detik saat rute internet berubah, atau terus-menerus pada koneksi yang ditempatkan di jalur bermasalah di antara beberapa jalur ECMP.

Mengapa Perhitungan ulang rute BGP, atau perangkat atau jalur yang rusak di salah satu dari beberapa jalur (ECMP, LAG) → Akibatnya Packet loss sementara selama rute beralih, atau packet loss terus-menerus hanya pada koneksi yang melewati jalur itu → Di layar Tiba-tiba freeze beberapa detik lalu fast forward, atau “membaik setelah reconnect” (ditempatkan di jalur lain)

Gejala
Freeze, Fast forward, Teleport
Faktor
Packet loss
Siapa yang mengalami
Wilayah/ISP tertentu
Kapan
Sesekali secara acak
Penanggung jawab
Penanggung jawab utama Infrastruktur jaringan (Tim Infrastruktur) · Turut terlibat Pengembangan server (Tim Pengembang Game), Pihak Eksternal (Pihak Eksternal)
Tugas Tim Pengembang Game
Catat statistik retransmisi per koneksi (TCP_INFO) agar IP, port, dan waktu pemain yang terdampak bisa diambil, jangan langsung memutus koneksi yang berhenti beberapa detik.
Tugas Tim Infrastruktur
Pantau tingkat retransmisi per wilayah dan ISP, periksa apakah rute berubah setelah reconnect, sediakan jalur dari beberapa ISP, periksa link yang rusak di jalur ECMP dan LAG perangkat kami, ukur rute dengan port TCP yang sama dengan game (mtr --tcp --port. Rute ditentukan oleh alamat dan port, jadi ping biasa bisa lewat jalur lain dan hasilnya terlihat normal).
Tugas Pihak Eksternal
Laporkan jalur bermasalah ke ISP dengan melampirkan hasil pengukuran rute pada port TCP yang sama serta perbandingan sebelum dan sesudah reconnect.
Di grafik
Naik seperti anak tangga · RTT (ping), tingkat retransmisi per wilayah dan ISP
Yang diperiksa
Kumpulkan retransmisi per koneksi dengan bcc tcpretrans -c untuk mengambil alamat dan port pemain yang terdampak, lalu jalankan mtr dengan port TCP yang sama dengan game (mtr -T -P PORT) dari server ke arah pemain dan dari pemain ke arah server, lalu bandingkan. Bandingkan juga hasil sebelum dan sesudah reconnect
Cocok jika
Sejak waktu tertentu, RTT satu wilayah atau ISP berubah seperti anak tangga dan packet loss menumpuk selama beberapa detik, atau di dalam ISP yang sama hanya sebagian koneksi (kombinasi alamat dan port) yang terus mengirim ulang dan membaik setelah reconnect. Kadang ping biasa terlihat normal, tetapi packet loss hanya terlihat di mtr TCP
Tidak cocok jika
Semua koneksi di ISP itu memburuk bersamaan pada jam sibuk malam: lebih mungkin “Antrean bottleneck meluap”. Hanya satu pemain yang terdampak dan packet loss sudah muncul sejak ping ke router: lebih mungkin “Packet loss di jalur nirkabel”
Sarana pemeriksaan
Tools infrastruktur (tanpa perlu kode game)
Kasus nyata
Cloudflare 2020: Trafik hilang di sebagian kota akibat kesalahan konfigurasi backbone Cloudflare

Sumber

  1. RFC 2991: Multipath Issues in Unicast and Multicast Next-Hop Selection IETF
    Hasil tools diagnosis seperti ping dan traceroute sulit dipercaya di jaringan multipath; menjelaskan cara mengunci rute setiap flow dengan hash
  2. RFC 2992: Analysis of an Equal-Cost Multi-Path Algorithm IETF
    ECMP memilih jalur berikutnya dari hash field header yang mengidentifikasi flow (flow yang sama melewati jalur yang sama)
  3. tcp(7) — Linux manual page Linux man-pages
    TCP_INFO: membaca status per socket (struct tcp_info)
  4. mtr(8) manual page source mtr
    -T (--tcp) memakai TCP SYN sebagai pengganti ICMP, -P (--port) menentukan port tujuan
  5. Demonstrations of tcpretrans, the Linux eBPF/bcc version IO Visor
    Menampilkan satu baris untuk setiap retransmisi berisi alamat dan port lawan; -c menghitung jumlah retransmisi per flow

Lihat juga

Lapisan yang sama: Akar penyebab retransmisi TCP

Penyebab di lapisan lain dengan gejala yang sama (Freeze)

Lihat kartu interaktif dengan gambar dan simulasi