Forum: PC Hard- und Software Problem mit PhoenixContact Switch


von Martin S. (sirnails)


Lesenswert?

Guten Tag,

vielleicht hat ja von euch jemand eine Idee.

Ich habe einen Switch (Prüfstand). An diesem Switch hängen 10 Geräte 
(Prüflinge), die alle die gleiche IP haben.

Damit es zu keinen Kollisionen kommt, wird nach und nach jedes Gerät 
eingeschaltet, und bekommt eine neue, temporäre IP. Somit ist 
sichergestellt, dass niemals zwei Geräte gleichzeitig die gleiche IP 
besitzen. Eine Kollision ist damit ausgeschlossen.

Nach dem ändern der IP muss der Prüfling neu gestartet werden. Nach dem 
Neustart hängt er mit seiner neuen IP am Netzwerk (und der nächste 
Prüfling wird eingeschaltet).

Jetzt wird über die temporäre IP auf den Prüfling zugegriffen, einige 
Dinge angestellt, und irgendwann die IP des Prüflings wieder zurück auf 
den Default geändert.

Jetzt wird erneut auf den Prüfling zugegriffen, und nochmals 
verifiziert, ob zwischendrin alles geklappt hat.

Wenn alles geklappt hat, wird der Prüfling entfernt, und ein neuer 
Prüfling eingelegt.

Diese Vorgang dauert in Summe ca. 3-7 Minuten (je nach Prüfling).

***

So - und jetzt zu meinem Problem: Der neue Prüfling mit Default-IP wird 
urplötzlich nicht mehr verbunden. Ein Ping auf die Standard-IP läuft ins 
Leere.

Erst nach ca. einer Minute, wenn ich den Ping dauerhaft auf die 
Standard-IP feuere, kommt irgendwann auf einmal die Antwort.

Ich habe das dumpfe Gefühl, dass der Switch sich zu merken versucht, an 
welchem Anschluss welches Gerät mit welcher IP Adresse liegt, und 
irgendwann dann nach einer gewissen Zeit der Eintrag in der 
Routingtabelle gelöscht wird, die Anfrage dann wieder per Multicast an 
alle Teilnehmer am Switch geht, und er erst dann den Prüfling mit 
Standard-IP wieder findet.

Interessanterweise müsste aber der Fehler nur dann auftreten, nachdem 
der Prüfling wieder auf seine Standard-IP zurückgesetzt wird. Tut er 
aber nicht. Erst der neue Prüfling zeigt dann dieses verhalten. Es 
könnte also nicht an der IP, sondern an der sich ändernden MAC-Adresse 
liegen?!

Merkwürdig ist auch, dass dieses Fehlverhalten nicht prinzipiell 
auftritt, sondern nur sporadisch.

Und jetzt die goldene Frage: Was machen? Wie kann ich dem Fehler 
begegnen?

Ich dachte schon daran, den Switch durch einen Hub zu ersetzen, aber es 
gibt wohl keine Industrie-Hubs mit 10 Ports. Gefühlt gibt es gar keine 
Hubs mehr :(

von TestX (Gast)


Lesenswert?

Stichwort ARP Table...

Einfachste Lösung: Switch beim Wechsel resetten. Alternativ einen 
managed switch in ein 19" Gehäuse..

von (prx) A. K. (prx)


Lesenswert?

Der übliche Weg in Systemen mit wechselnden MACs zur gleichen IP (z.B. 
HA-Cluster) ist ein ARP Broadcast jenes Systems, das nun die IP-Adresse 
übernommen hat. Der aktualisiert den ARP Cache irgendwelcher PCs und 
nebenbei auch die Forwarding Table vom Switch.

Passiert das nicht, dann muss auf dem Prüf-PC beim Ping (oder anderer 
Kontaktaufnahme) bei jeder Umkonfiguration der ARP Cache gelöscht 
werden:
  arp -d 1.2.3.4
Die Lebensdauer von Einträgen im ARP Cache variiert mit dem 
Betriebssystem und kann im Bereich von einer Minute liegen, aber auch 
bei 10 Minuten.

Ein reiner Layer-2 Switch interessiert sich nicht für IP-Adressen, 
enthält also seiner Kernfunktion als Switch auch keine ARP Tabelle. 
Switches mit Layer-3 Funktion sind eine andere Baustelle.

: Bearbeitet durch User
von Martin S. (sirnails)


Lesenswert?

A. K. schrieb:
> Passiert das nicht, dann muss auf dem Prüf-PC beim Ping (oder anderer
> Kontaktaufnahme) bei jeder Umkonfiguration der ARP Cache gelöscht
> werden:
>   arp -d 1.2.3.4
> Die Lebensdauer von Einträgen im ARP Cache variiert mit dem
> Betriebssystem und kann im Bereich von einer Minute liegen, aber auch
> bei 10 Minuten.

Hmm, für mich der Vollständigkeit halber:

Ich bin gerade unter das Prüfgerät gekrochen, und hab dank Spiegel jetzt 
die Type vom Switch: 
https://www.phoenixcontact.com/online/portal/de?uri=pxc-oc-itemdetail:pid=2891933&library=dede&tab=1

Im Datenblatt steht:

Multiadress-Fähigkeit
Der Switch lernt selbstständig durch Auswertung der Quelladressen
in den Datentelegrammen die Adressen der Endgeräte, die über einen Port 
angeschlossen sind. Nur Pakete mit unbekannten Adressen, einer 
Quelladresse dieses Ports oder einer Multi-/Broadcast-Adresse im 
Zieladressfeld werden über den betreffenden Port weitergeleitet. Der 
Switch kann Adressen in seiner Adresstabelle mit einer Aging-Time von 5 
Minuten speichern. Dies wird notwendig, wenn an einem oder an mehreren 
Ports mehr als ein Endgerät angeschlossen ist. So können mehrere 
eigenständige Subnetze an einen Switch angeschlossen werden.

Hängt das damit dann nicht zusammen?

Und verstehe ich dich dann richtig, dass das Problem Windows, und nicht 
der Switch ist, ich nur die Tabelle für die Default-IP-Adresse löschen 
muss, und danach ist alles in Butter?

von (prx) A. K. (prx)


Lesenswert?

Martin S. schrieb:
> Hängt das damit dann nicht zusammen?

Nein. Der Passus bezieht sich auf MAC-Adressen (Ethernet), nicht auf 
IP-Adressen. Und die Prüflinge haben zwar alle die gleiche IP-Adresse, 
aber unterschiedliche eindeutige MAC-Adressen.

> Und verstehe ich dich dann richtig, dass das Problem Windows, und nicht
> der Switch ist,

Ja.

> ich nur die Tabelle für die Default-IP-Adresse löschen muss

Die ARP Tabelle setzt IP-Adressen in MAC-Adressen um. So lange der Cache 
die MAC-Adresse des alten Prüflings speichert, kriegst du den neuen 
Prüfling nicht ans Rohr.

[] arp -a
  192.168.209.50        68-05-ca-09-54-fe     dynamisch
besagt, dass das Gerät mit der IP-Adresse 192.168.209.50 unter der 
MAC-Adresse 68-05-ca-09-78-fe zu finden ist. Das ist der ARP Cache, der 
eine gewisse Zeit gültig bleibt. Nach dem Timeout wird erneut im Netz 
rumgefragt, wer denn die IP-Adresse 192.168.209.50 hat - und dann 
meldet sich der neue Prüfling.

Das Kommando
[] arp -a 192.168.209.50
löscht den Eintrag aus dem Cache und dann wird es sofort funktionieren.

Bei
[] arp -a
nach dem Zugriff auf den neuen Prüfling wirst du darin eine andere 
MAC-Adresse zur gleichen IP-Adresse finden.

: Bearbeitet durch User
von Martin S. (sirnails)


Lesenswert?

Super danke! Tolle Erklärung!

Ich werde das mal umsetzen und hoffe das Problem damit erschlagen zu 
haben :)

von (prx) A. K. (prx)


Lesenswert?

A. K. schrieb:
> Das Kommando
> [] arp -a 192.168.209.50
> löscht den Eintrag aus dem Cache und dann wird es sofort funktionieren.

Tippfehler.
arp -d 192.168.209.50

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.