Jika urutan paket berubah saat melewati beberapa jalur atau link yang digabung, penerima memberi tahu “ada paket yang hilang” lewat duplicate ACK, dan pengirim mengirim ulang paket yang sebenarnya sudah sampai dengan baik.
Mengapa Perangkat yang membagi rute per paket, LAG (gabungan link) yang membagi muatan per paket, dan momen saat rute berubah membuat urutan paket teracak → Akibatnya Paket belakang tiba lebih dulu sehingga 3 duplicate ACK menumpuk → fast retransmit → Di layar Paket game yang dikirim jarang-jarang hampir tidak terpengaruh. Update besar di tempat ramai dan unduhan patch melambat, sesekali patah-patah
Penanggung jawab utama Infrastruktur jaringan (Tim Infrastruktur) · Turut terlibat Infrastruktur server (Tim Infrastruktur)
Tugas Tim Infrastruktur
Jaringan: ganti pembagian beban per paket dengan pembagian per koneksi (ECMP dan LAG dengan hash alamat dan port). Server/OS: pakai RACK (deteksi packet loss berbasis waktu yang tahan terhadap urutan paket tertukar; jika DSACK menunjukkan retransmisi yang tidak perlu, toleransi urutan tertukar diperlebar otomatis), periksa tingkat reordering yang diestimasi Linux secara otomatis untuk tiap koneksi (nilai reordering di ss -ti, nilai awalnya tcp_reordering=3).
Di grafik
Selalu tinggi sejak awal · Jumlah deteksi urutan paket tertukar, jumlah DSACK yang diterima
Yang diperiksa
Periksa TcpExtTCPSACKReorder dan TcpExtTCPTSReorder (jumlah deteksi urutan paket tertukar) serta TcpExtTCPDSACKRecv di nstat; per koneksi, periksa reordering (ditampilkan jika nilainya selain 3) dan reord_seen di ss -ti. Di packet capture, pakai filter Wireshark tcp.analysis.out_of_order
Cocok jika
Counter urutan tertukar dan DSACK terus naik di jam berapa pun, dan nilai reordering pada koneksi yang melewati rute atau perangkat tertentu lebih besar dari 3. Di capture sisi penerima, paket belakang datang lebih dulu dan paket depan pun segera menyusul
Tidak cocok jika
Counter urutan tertukar tidak berubah, tetapi TcpExtTCPLostRetransmit naik: packet loss sungguhan. DSACK hanya naik saat RTT melonjak: lebih mungkin “Retransmisi yang tidak perlu akibat lonjakan latensi”
RFC 8985: The RACK-TLP Loss Detection Algorithm for TCPIETF RACK mendeteksi packet loss berbasis waktu sehingga tahan terhadap urutan paket tertukar, dan memperlebar batas waktu toleransi urutan tertukar (reo_wnd) jika menerima DSACK
IP SysctlLinux kernel Nilai awal tcp_reordering 3 (disesuaikan otomatis per koneksi hingga tcp_max_reordering), pengaturan RACK di tcp_recovery
misc/ss.ciproute2 ss -ti menampilkan reordering:nilai jika nilai reordering koneksi berbeda dari default 3, dan reord_seen:jumlah jika koneksi pernah mengalami urutan paket tertukar
SNMP counterLinux kernel TcpExtTCPSACKReorder, TcpExtTCPTSReorder (urutan paket tertukar terdeteksi), TcpExtTCPDSACKRecv (jumlah DSACK yang diterima), TcpExtTCPLostRetransmit (paket yang dikirim ulang hilang lagi)
include/uapi/linux/tcp.hLinux kernel tcpi_reord_seen di tcp_info: berapa kali koneksi mengalami urutan paket tertukar