Kurzfassung
Mein Heimnetzwerk ist reines Gigabit mit Geräten, die alle Jumbo-Frames mit mindestens ~ 9000 Bytes unterstützen. Durch Erhöhen der MTU-Jumbo-Frame-Einstellung in der Synology auf 6000 (Byte) wird die Leistung erhöht (810 Mbit / s beim Schreiben und 945 Mbit / s beim Lesen). Wenn Sie den Wert auf 7000 setzen, wird nur die Leseleistung beeinträchtigt (die bis auf 4 Mbit / s abnimmt). Die Schreibleistung bleibt schnell.
Dies ist unerwartet, da die meisten Jumbo-Frame-Probleme keine Richtwirkung haben und normalerweise alles oder nichts sind (Pakete werden an einem Switch verworfen, unabhängig davon, woher sie stammen). Es scheint überhaupt keine IP-Fragmentierung zu geben, aber die TCP-Schicht ist wirklich unglücklich. Was könnte dieses asymmetrische / schuppige Verhalten verursachen und wie kann ich es beheben, um die volle 9000-Byte-MTU zu unterstützen, die alle meine Geräte unterstützen sollen?
Lange Version
Dies sind meine bearbeiteten Notizen, die ich gemacht habe, als ich versucht habe, dies herauszufinden.
Klient
Realtek PCIe GBE Family Controller RTL8167
Jumbo-Rahmen: 9 KB MTU
$ netsh interface ipv4 show subinterfaces
MTU MediaSenseState Bytes In Bytes Out Interface
------ --------------- --------- --------- -------------
9198 1 32501506 11275394 Local Area Connection
(9198 enthält anscheinend nicht den 14-Byte-Ethernet-Header)
$ ping -l 1500 -f 192.168.1.84
(beobachtet, wenn Wireshark auf dem Client ausgeführt wird; alle Größen sind Drahtbyte-Größen)
[9213, ∞] nicht vom Host gesendet (würde eine Fragmentierung erfordern)
[9019, 9212] gesendet, aber keine Antwort
[9015, 9018] fragmentierte IP-Antwort
[42, 9014 ] unfragmentierte IP
[0, 41]? (Kann nicht generiert werden, da eth + IP + ICMP-Header = 14 + 20 + 8 = 42 Byte)
Router (Schalterteil)
Asus RT-AC68U - Firmware 3.0.0.4.378_4585
Jumbo-Frame aktivieren : "Aktivieren"
Kann nicht herausfinden, welche Jumbo-Frame-Größe tatsächlich unterstützt wird, scheint mindestens 9000 zu betragen
Es fragmentiert Ping-Anforderungen vom Client direkt bei 1514 Byte (aber das Pingen des Routers löst möglicherweise sein WAN-Router-Verhalten anstelle seines LAN-Switch-Verhaltens aus?)
Nicht verwalteter Switch
TP-LINK TL-SG1008D
Jumbo-Rahmen ( technische Datenblätter): 9 KB (auf der Website sind 15 KB angegeben, aber es sieht aus wie ein anderes Gerät)
Server
Synology DS1815 + - DSM 5.2-5565 Update 1
Jumbo-Frame: 9000
Datei-Lesepakete von der Synologie zur Client-
Größe: Die meisten sind 9014 Byte (in beide Richtungen).
IP-Flags: Fragmentieren Sie
Wireshark nicht. und normale (9014 Byte) Pakete
SMB2-über-NetBIOS-Protokoll-Pakete lesen Antwortleselänge: 65.536 (~ 8 TCP-Segmente)
$ 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 und eth3 werden durch adaptiven Lastausgleich verbunden (keine Schalterunterstützung)
$ ping -c 5 -s 1500 192.168.1.82
(beobachtet,
wenn Wireshark auf dem Client ausgeführt wird; alle Größen sind Drahtbyte- Größen) [9019, ∞] Anfrage gesendet, Antwort gesendet, Antwort nicht empfangen
[9015, 9018] fragmentierte IP-Anfrage (wahrscheinlich fragmentiert durch Synology, Busybox-Ping hat keine No-Fragment-Option, daher ist es schwer zu sagen)
[60, 9014] unfragmentierte IP
[0, 59]? (Kann nicht generiert werden, da der Busybox-Ping mindestens 18 Byte plus die 42-Byte-Header enthält.)
Verschiedene Daten
- Das Ändern der Client-MTU auf 8 KB hat nicht geholfen
- Die Lesegeschwindigkeit des Servers sinkt von einer Klippe, wenn die MTU des Servers von 6000 (großartig, 945 Mbit / s) auf 7000 (schrecklich, 4 Mbit / s) geändert wird.
- Die Schreibgeschwindigkeit des Servers wird bei allen Server-MTU-Einstellungen (immer zwischen 700 und 825 Mbit / s) grundsätzlich nicht beeinflusst.
- Die Synology verfügt über ein verbundenes Netzwerk (2 der 4 Ports).
- Kabel sind alle Cat6 oder Cat5e