Kürzlich, nachdem ich mehrere MetroE-Verbindungen (L2-Konnektivität) von 100 Mbit / s auf 1 Gbit / s aktualisiert hatte, stellte ich fest, dass die Übertragung großer Dateien zwischen einigen Standorten fehlschlägt. Die Übertragung schlägt jedoch nur in Richtung fehl. Betrachten Sie beispielsweise das folgende Beispiel.
Von -> Bis
A -> B = Fehler
B -> A = Erfolg
A -> C = Erfolg
C -> A = Erfolg
B -> C = Erfolg
C -> B = Erfolg
Jeder Standort ist ein geroutetes Segment hinter einem L3-Switch am Standort. Der L3-Switch stellt eine Verbindung zum CPE-Medienkonverter des Anbieters her, der seinerseits über Glasfaser mit dem Netzwerk des Anbieters verbunden ist. Das statische Routing wird zwischen L3-Switches verwendet.
*Site A* *Site B*
L3 Switch <-> CPE <--- Provider ---> CPE <-> L3 Switch
|
CPE
|
L3 Switch
*Site C*
Der Anbieter führte End-to-End-Tests der Schaltkreise von den CPEs durch und meldete keinen Verlust. Ich sehe jedoch viele doppelte ACKs in einer Paketerfassung auf den Hosts, bevor die Übertragung fehlschlägt.
Wenn ich die L3-Switches aus der Gleichung entferne und an jedem Standort zwei Hosts direkt mit dem CPE-Gerät verbinde, wird die Dateiübertragung erfolgreich abgeschlossen.
Host A <-> CPE <--- Provider ---> CPE <-> Host B
Wenn ich Hosts auf beiden Seiten eines L3-Switches platziere, funktioniert das InterVLAN-Routing reibungslos und die Dateiübertragung wird erfolgreich abgeschlossen.
Host A1 <-> L3 Switch <-> Host A2
Das Problem scheint nur aufzutreten, wenn Daten den Anbieter zwischen zwei gerouteten Segmenten durchlaufen.
Host A <-> L3 Switch <-> CPE <--- Provider ---> CPE <-> L3 Switch <-> Host B
Ich habe eine Reihe von Dingen überprüft - Schnittstellenstatistiken sind sauber (keine Fehler), CPU- und Speicherauslastung gering, Geschwindigkeits- und Duplexübereinstimmung (Client und CPE), MAC- und ARP-Tabellen korrekt usw.
Was könnte das Problem sein?
Update 1
Paketerfassungen von Host A und B finden Sie unter der folgenden URL:
https://www.dropbox.com/sh/5m2yohgxieelo59/AADed-0EWOkdmFIe0qT45_uQa
Das Problem trat ursprünglich bei Juniper EX3200-Switches mit 12.3R6.6 auf. Anschließend habe ich die Switches auf 11.4R6.6 heruntergestuft, aber das Problem wurde dadurch nicht behoben.
Ich konnte das Problem mit Juiper EX2200-Switches mit 12.3R6.6 und 11.4R6.6 replizieren. Ich konnte das Problem auch mithilfe von Dell 6224-Switches mit 3.3.11.2 replizieren.
Derzeit sind an jedem Standort nur das CPE (ge-0/0/0) und ein einzelner Host (ge-0/0/1) mit einem Juniper EX3200 verbunden. Während der Fehlerbehebung habe ich die Konfiguration aller überflüssigen Parameter entfernt, sodass die Konfiguration ziemlich einfach ist. Die Konfiguration ist im Wesentlichen gleich, jedoch mit unterschiedlichen IP-Adressen. Unten ist ein Ausschnitt.
# show interfaces
ge-0/0/0 {
unit 0 {
family ethernet-switching {
port-mode access;
vlan {
members WAN;
}
}
}
}
ge-0/0/1 {
unit 0 {
family ethernet-switching {
port-mode access;
vlan {
members LAN;
}
}
}
}
vlan {
unit 10 {
description WAN;
family inet {
address 192.168.X.X/27;
}
}
unit 100 {
description LAN;
family inet {
targeted-broadcast;
address 172.X.X.1/22;
}
}
}
# show vlans
WAN {
vlan-id 10;
l3-interface vlan.10;
}
LAN {
vlan-id 100;
l3-interface vlan.100;
}
Update 2
Heute habe ich festgestellt, dass die scp-Übertragung ebenfalls von dem Problem betroffen ist, wenn ich eine Datei vom L3-Switch Juniper EX3200 an Standort A zum L3-Switch Juniper EX3200 an Standort B scp.
Ich finde dies besonders interessant, da die Übertragung von der CPE-Schnittstelle im WAN-VLAN stammt. Wenn ich ein VLAN zwischen den betroffenen Standorten über die EX3200-Switches trunk, werden die Switched-File-Übertragungen zwischen den Hosts an Standort A und B erfolgreich abgeschlossen.