Versi pendek
Jaringan rumah saya murni gigabit dengan perangkat yang semuanya mendukung frame jumbo hingga setidaknya ~ 9000 byte. Meningkatkan pengaturan jumbo frame MTU pada Synology menjadi 6000 (byte) meningkatkan kinerja (810Mbps write dan 945Mbps read). Mengatur nilai ke 7000 hanya akan merusak kinerja baca (yang menurun hingga 4Mbps); kinerja menulis tetap cepat.
Ini tidak terduga karena sebagian besar masalah kerangka jumbo tidak memiliki directionality terkait dengan mereka dan biasanya semua atau tidak sama sekali (paket dijatuhkan di sakelar tidak peduli dari mana asalnya). Tampaknya tidak ada fragmentasi IP yang terjadi sama sekali, tetapi lapisan TCP benar-benar tidak bahagia. Apa yang dapat menyebabkan perilaku asimetris / terkelupas ini dan bagaimana cara memperbaikinya untuk mendukung MTU 9000 byte penuh yang seharusnya didukung oleh semua peralatan saya?
Versi Panjang
Ini adalah catatan saya yang diedit yang diambil saat mencoba mencari tahu ini.
Klien
Realtek PCIe GBE Family Controller RTL8167
Jumbo Bingkai: 9KB MTU
$ netsh interface ipv4 show subinterfaces
MTU MediaSenseState Bytes In Bytes Out Interface
------ --------------- --------- --------- -------------
9198 1 32501506 11275394 Local Area Connection
(muncul 9198 tidak termasuk header ethernet 14 byte)
$ ping -l 1500 -f 192.168.1.84
(diamati dengan Wireshark berjalan pada Klien; semua ukuran adalah ukuran kawat byte)
[9213, ∞] tidak dikirim oleh tuan rumah (akan membutuhkan fragmentasi)
[9019, 9212] dikirim tetapi tidak ada tanggapan
[9015, 9018] tanggapan IP terfragmentasi
[42, 9014 ] IP tidak terfragmentasi
[0, 41]? (tidak dapat menghasilkan karena eth + IP + ICMP header = 14 + 20 + 8 = 42 byte)
Router (beralih bagian)
Asus RT-AC68U - Firmware 3.0.0.4.378_4585
Aktifkan Jumbo Frame: "Enable"
Tidak dapat mengetahui ukuran bingkai jumbo yang sebenarnya didukungnya, tampaknya setidaknya 9000
Itu memecah permintaan ping dari Klien tepat di 1514 byte (tetapi ping router mungkin memicu perilaku router WAN bukan perilaku switch LAN-nya?)
Sakelar tidak dikelola
TP-LINK TL-SG1008D
Jumbo Frames (lembar spesifikasi): 9KB (situs web mereka mengatakan 15KB tetapi sepertinya perangkat yang berbeda)
Server
Synology DS1815 + - DSM 5.2-5565 Pembaruan 1
Jumbo Frame: 9000
Paket pembacaan file dari Synology ke
Ukuran Klien : sebagian besar adalah 9014 byte (di kedua arah)
IP Flags: Jangan terpecah-pecah
Wireshark ditemukan: TCP Spurious Retransmission, TCP Segmen sebelumnya tidak ditangkap, TCP Out-Of-Order, TCP Fast Retransmission, dan paket normal (9014 byte) paket
SMB2-over-NetBIOS-protokol membaca panjang baca respon: 65.536 (~ 8 segmen TCP)
$ ifconfig
bond0 Link encap:Ethernet HWaddr --:FF
inet addr:192.168.1.84 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addrs: --/64 Scope:Link, --/64 Scope:Global, --/64 Scope:Global
UP BROADCAST RUNNING MASTER MULTICAST MTU:9000 Metric:1
RX packets:lots errors:85 dropped:0 overruns:0 frame:85
TX packets:lots errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:237 GiB TX bytes:117 GiB
eth2 Link encap:Ethernet HWaddr --:00
UP BROADCAST RUNNING SLAVE MULTICAST MTU:9000 Metric:1
RX packets:lots errors:19 dropped:0 overruns:0 frame:19
TX packets:lots errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:236 GiB TX bytes:83 GiB
eth3 Link encap:Ethernet HWaddr --FF
UP BROADCAST RUNNING SLAVE MULTICAST MTU:9000 Metric:1
RX packets:lots errors:66 dropped:0 overruns:0 frame:66
TX packets:lots errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1 GiB TX bytes:33 GiB
eth2 dan eth3 diikat menggunakan Adaptive Load Balancing (tanpa dukungan sakelar)
$ ping -c 5 -s 1500 192.168.1.82
(diamati dengan Wireshark berjalan pada Klien; semua ukuran adalah ukuran kawat byte)
[9019, ∞] permintaan dikirim, respons terkirim, respons tidak diterima
[9015, 9018] permintaan IP terfragmentasi (mungkin terfragmentasi oleh Synology, ping kotak sibuk tidak memiliki opsi tanpa fragmen sehingga sulit untuk mengatakan)
[60, 9014] IP tidak terfragmentasi
[0, 59]? (tidak dapat menghasilkan karena ping busybox menempatkan minimal 18 byte ditambah header 42 byte)
Data Lain-Lain
- Mengubah MTU Klien ke 8KB tidak membantu
- Kecepatan baca Server jatuh dari tebing ketika mengubah MTU Server dari 6000 (hebat, 945Mbps) menjadi 7000 (mengerikan, 4Mbps)
- Kecepatan tulis Server pada dasarnya tidak terpengaruh di semua pengaturan Server MTU (selalu antara 700 dan 825 Mbps)
- Synology memiliki jaringan terikat (2 dari 4 port)
- Kabel semuanya Cat6 atau Cat5e