10G Ethernet mit zwei NICs testen?

1058
Arash

Ich möchte die serielle 10Gig Ethernet-Schnittstelle testen, indem ich zwei NICs (Network Interface Cards) auf einem PC installiere und ein Ping-Signal durchführe. Ich habe folgende Fragen:

1- Können zwei separate NICs in einem PC installiert werden und über separate IP-Adressen (zum Pinging) verfügen?

2- Ist dies ein sinnvoller Ansatz, um die über diese Schnittstelle übertragenen Daten zu generieren / zu prüfen?

[NIC card[1]

3
Ja. ... Könnte sein? Kommt drauf an, was Sie testen. Ignacio Vazquez-Abrams vor 8 Jahren 0
Im Moment möchte ich nur das Ergebnis des Tests sehen. Das endgültige Ziel ist es, eine der NICs durch ein Board zu ersetzen, das wir entwerfen und prüfen, ob wir die gleichen Ergebnisse erzielen. Grundsätzlich möchte ich die Testumgebung an dieser Stelle testen, wenn dies sinnvoll ist. edit: Zum Beispiel möchte ich den Test über Nacht laufen lassen und die gesendeten Bits mit den empfangenen vergleichen, um die Bitfehlerrate oder ähnliche Messwerte zu finden. vor 8 Jahren 0
Zwei Boards in einem PC verfügen über separate Mac- und IP-Stacks. Der Phys auf dem Chip wird eine 10g-Verbindung herstellen, wenn dies möglich ist. Dies bedeutet nicht, dass Sie einen 10-Gbit-Stream senden und empfangen können, da die Bandbreite für die Bus- und CPU-Bandbreite eingeschränkt ist. Sie können jedoch den MAC nach dem Verbindungstyp und dem Status abfragen, um die 10-Gbit-Verbindung zu bestätigen crasic vor 8 Jahren 0
@crasic, es sei denn, Sie tun alles, um Dinge zu machen, ansonsten funktionieren alle Netzwerkgeräte auf demselben Computer mit demselben IP-Stack. plugwash vor 8 Jahren 0
Wenn Sie die Karten installieren, stellen Sie sicher, dass Sie die Steckplätze verwenden, die direkt mit der CPU verbunden sind (nicht die South Bridge), und stellen Sie sicher, dass alle Auslagerungsoptionen aktiviert sind. billc.cn vor 8 Jahren 0

3 Antworten auf die Frage

5
alex.forencich
  1. Ja

  2. Könnte sein. Kommt drauf an, ob Sie vom Betriebssystem überlistet werden. Ich hatte in der Vergangenheit Probleme, wenn ich versuche, FPGA-Designs zu testen, die über 10G-Ethernet an mehrere NICs in einem Computer angeschlossen sind, und dass alle meine Testpakete vom Betriebssystem geroutet werden, anstatt über das Kabel zu gehen (warum geht netperf aus bei 40G auf einer 10G-NIC?!?).

Sicherlich bindet sich der Standardbefehl "ping" nicht an eine bestimmte Schnittstelle, und selbst wenn Sie eine solche erstellen, bedeutet dies nicht unbedingt, dass das Betriebssystem dies interessiert. Ignacio Vazquez-Abrams vor 8 Jahren 0
Der Linux-Ping-Befehl kann gebunden sein, scheint aber nicht zu helfen. Und wenn Sie die Übertragung binden, kann die Antwort lokal weitergeleitet werden. alex.forencich vor 8 Jahren 0
Ich hasse es, dies zu sagen, da es wirklich einen Weg geben sollte, um dies zu erreichen, aber es ist garantiert, dass zwei Computer verwendet werden. alex.forencich vor 8 Jahren 1
Sie können eine Schnittstelle mit "-I" angeben, aber das macht den Paketinhalt nur so, dass er so aussieht, als ob er von dort kam, anstatt ihn zu binden. Ignacio Vazquez-Abrams vor 8 Jahren 0
Obwohl es so aussieht, als würden die Routing-Tabellen entfernt und '-r' hinzugefügt, könnte das funktionieren ... Ignacio Vazquez-Abrams vor 8 Jahren 0
4
Hennes

1- Können zwei separate NICs in einem PC installiert werden und über separate IPs verfügen

Ja. Mehrere NICs in einem System haben nichts Besonderes. Ich vermute, es ist sogar auf fast allen Servern Standard, und beide Desktops, die neben mir eingestellt sind, verfügen auch über zwei NICs (und bald wurde ein drittes Paar von 10 GBit-NICs bestellt).

Der Begriff für einen Computer mit mehreren Netzwerkkarten / IPs lautet "Multihomed".

2- Ist dies ein sinnvoller Ansatz, um die über diese Schnittstelle übertragenen Daten zu generieren / zu prüfen?

Nein, aus mehreren Gründen.

  1. Die ICMP-Echoanforderung (Ping) ist kein guter Test. Versuchen Sie, etwas wie iperf zu verwenden.
  2. Routing kann schwierig werden. Wie kann CPU-Auslastung. Am besten, um das sauber in zwei Systeme aufzuteilen.
  3. Und wie Alex schon erwähnt hat. Manchmal versucht das Betriebssystem sehr intelligent zu sein. Es ist einfacher und narrensicher mit zwei verschiedenen Computern zu testen.
1
plugwash

Das Problem ist, dass die IP-Stacks in Betriebssystemen nicht dafür ausgelegt sind.

Sie sind so ausgelegt, dass sie mehrere Adapter unterstützen, damit sie zwischen Netzwerken navigieren und / oder in mehreren Netzwerken präsent sein können. Das Binden geschieht an Adressen, nicht an Adapter. Wenn Sie sich an eine lokale IP-Adresse binden und versuchen, eine andere anzupingen, werden die Pakete niemals auf dem Kabel gesendet.

Es kann möglich sein, dies mit virtuellen Maschinen oder Netzwerk-Namespaces oder etwas zu umgehen, aber ich gehe davon aus, dass es viel einfacher ist, nur zwei separate Maschinen zu verwenden.

Ja. Zwei VMs im PCI-e-Durchgang sollten funktionieren. Aber zwei Systeme sind in der Tat viel einfacher. Hennes vor 8 Jahren 0