Implementierung von Jumbo-Frames auf einer Schnittstelle und nicht auf der anderen

Implementierung von Jumbo-Frames auf einer Schnittstelle und nicht auf der anderen

Ich habe eine verteilte Anwendung, die eine ganze Menge Datenverkehr zwischen mehreren Rechnern verteilt. Derzeit teilen sich diese Rechner ein Gigabit-Netzwerk mit den anderen Rechnern im Rack, und ich sehe allmählich Probleme (Paketkollisionen). Auf der Suche nach Lösungen stieß ich auf eine Diskussion über Jumbo Frames, die mein Problem definitiv lösen würden, wenn sie wie angekündigt funktionieren. Aber ...

Die Server, die ich für die verteilte Anwendung verwende (es handelt sich um eine Art Webcrawler), benötigen ebenfalls Zugriff auf das Internet, und alles, was ich über Jumbo Frames gelesen habe, weist darauf hin, dass für eine gute Funktionjedes Gerätan das Netzwerk angeschlossene Geräte müssen Jumbo-Frames unterstützen. Mein Router könnte die Jumbo-Pakete vor der Übertragung durchaus aufteilen, aber das würde die Dinge unglaublich verlangsamen.

Meine Server haben alle zwei Netzwerkkarten. Kann ich ein privates Netzwerk für die verteilte Anwendung einrichten, indem ich sicherstelle, dass die ersten Netzwerkkarten aller Rechner auf Jumbo Frame eingestellt sind, und die zweite Karte auf diesen Rechnern (mit ausgeschaltetem Jumbo Frame) verwenden, um eine Verbindung zum Rest meines Netzwerks und zur Außenwelt herzustellen? Mein Gedanke dabei ist, dass der starke interne Datenverkehr des Crawler-Subsystems dann vom Rest des Netzwerks, einschließlich des Internetverkehrs, isoliert wäre und die Verwendung von Jumbo Frame die Kommunikationsgeschwindigkeit verbessern würde.

Bei den Maschinen handelt es sich ausschließlich um Dell PowerEdge 1950-Server mit Windows 2008. Ich weiß, dass die Broadcom GigE-Netzwerkadapter der PE-Server Jumbo Frames unterstützen, aber kann ich einen mit Jumbo Frames und einen ohne konfigurieren?

Und schließlich: Wie stelle ich sicher, dass ich einen Switch bekomme, der Jumbo Frame unterstützt? Wir verwenden TP-Link-Switches, die derzeit gut zu funktionieren scheinen, aber ich kann keine Informationen darüber finden, ob sie Jumbo Frame unterstützen.

Ich weiß, ich habe viele Fragen. Klingt das, was ich in Betracht ziehe, vernünftig?

Antwort1

Stellen Sie dabei sicher, dass Ihre Netzwerkkarten in separaten Netzblöcken vorhanden sind. Wenn Sie Linux verwenden, werden Pakete über die erste Netzwerkkarte im System im Netzblock weitergeleitet. Obwohl eth1 also eine MTU von 9000 hat, kann es sein, dass diese Pakete über eth0 weitergeleitet werden.

Wir haben ein separates VLAN für unser Speichernetzwerk eingerichtet und mussten einen separaten Netblock auf eth1 einrichten, um dieses Verhalten zu vermeiden. Durch Erhöhen der MTU auf 9000 ließ sich der Durchsatz problemlos steigern, da dieses spezielle System mit dem Streamen einer Reihe ziemlich großer Dateien zu tun hat.

Antwort2

Das sollte durchaus machbar sein. Server-NICs unter Windows können für jede Schnittstelle unterschiedliche MTU-Einstellungen haben. Andernfalls würde iSCSI, der übliche Treiber für Jumbo-Frames, nicht so gut angenommen werden wie bisher.

Antwort3

Machen wir einen Moment einen Schritt zurück: In einer Vollduplex-Umgebung sollten Sie keine Kollisionen erleben. Ich würde die Ursache der Kollisionen untersuchen, bevor ich zu weit in den Jumbo-Frames-Pfad einsteige.

Allerdings sollten einzelne Geräte ihre MTU-Größen untereinander aushandeln. Sie müssen es also nicht für alle Geräte aktivieren.

verwandte Informationen