michael12
Goto Top

Windows Server 2012 R2: Anpassung des Intervalls für ARP Wiederholungen

Hallo zusammen,

gegenwärtig haben wir Probleme beim Zusammenspiel zwischen einem Windows Server (Windows Server 2012 R2) und verschiedenen Clients, welche auch über längere Zeit durch den Benutzer abgeschaltet werden können.

Wir nun ein Client durch den Benutzer abgeschaltet und versucht dann der Server ein UDP-Paket an den Client zu übermitteln, so sendet dieser ein ARP-Request als Broadcast aus.
Der Client wird zu diesem Zeitpunkt in der ARP-Tabelle als "stale" geführt.
Da der Client jedoch ausgeschaltet ist, misslingt die Auslösung der IP-Adresse.
Ist der Client für längere Zeit ausgeschaltet, so versendet Windows frühestens nach 61 Sekunden den nächsten ARP-Request als Broadcast.

Wird der Client nun aber zwischen dem Versenden von zwei ARP-Requests gestartet, so kann der Client bis zum Aussenden des nächsten ARP-Requests (maximal nach 61s) zwar Daten an den Server transferieren, Antworten des Servers werden aber auf Grund fehlender ARP-Informationen erst gar nicht versendet.

In Wireshark stellt sich das Verhalten dann wie folgt dar:
wireshark_log_commented

Ist es daher möglich das Verhalten der ARP-Requests dahingehend zu parametrieren, dass ein ARP-Request bei einem unbekannten Client sekündlich durchgeführt wird? Bzw. jedes ausgehende Paket eine entsprechende Auflösung der IP-Adresse auslöst?

Dieses Verhalten konnte sowohl auf dem angesprochenen Windows Server 2012 R2, als auch auf einem Windows 7 und Windows 10 Client nachgestellt werden.
Ein weiterer Windows 7 Rechner innerhalb eines Domän-Netzwerkes führt die ARP-Auflösung jedoch im Sekundentakt durch, sodass das beschriebene Problem nicht auftritt. Es konnten bei diesem Rechner bisher jedoch keine besonderen Einstellungen ausgemacht werden
In diesem speziellen Fall verfügen die Clients über statische ARP-Tabellen, auf Seiten des Servers muss jedoch eine dynamische Zuordnung erfolgen.

Viele Grüße und schon einmal vielen Dank im Voraus,

Michael

Content-Key: 318407

Url: https://administrator.de/contentid/318407

Printed on: April 23, 2024 at 15:04 o'clock

Mitglied: 131223
131223 Oct 19, 2016 updated at 13:47:37 (UTC)
Goto Top
Nö, da muss man nichts anpassen. Erhält der Server ein Paket von einer IP Adresse die er nicht kennt löst dieser automatisch sofort einen ARP-Request aus.
Member: Michael12
Michael12 Oct 19, 2016 at 13:53:32 (UTC)
Goto Top
Hallo sacknase,

dieser ARP-Request nach Erhalt des ersten Paketes durch den Client bleibt in den von uns beobachteten Fällen leider aus.
Wie auf dem Wireshark Ausschnitt zu sehen übermittelt der Client 9 Pakete an den Server, ehe dieser ein ARP-Request anstöst.

Je nach Startzeitpunkt des Clients varriert diese Zeit. Zu beobachten ist, dass immer exakt 61 Sekunden zwischen zwei ARP-Requests liegen.
Mitglied: 131223
131223 Oct 19, 2016 updated at 14:04:24 (UTC)
Goto Top
Lies mal hier:
Address Resolution Protocol
Besonders den letzten Abschnitt zu UDP und Timeout.
Member: Michael12
Michael12 Oct 19, 2016 at 15:03:14 (UTC)
Goto Top
Hallo sacknase,

vielen Dank für diesen Hinweis.

Auch wenn wir diese Aufgabe natürlich sehr gerne durch das Betriebssystem abhandeln lassen würden, so werden wir auch diese Möglichkeit einmal erörtern.
Mitglied: 131223
131223 Oct 19, 2016 updated at 17:59:05 (UTC)
Goto Top
Kannst du doch, du erhöhst nicht das ARP-Interval sondern erhöhst die Zeit wie lange ein Eintrag im Cache "Reachable" vorgehalten wird. Kannst du hier detailliert nachlesen
Description of Address Resolution Protocol (ARP) caching behavior in Windows Vista TCP/IP implementations

Zusätzlich lässt sich die Lifetime eines Eintrags ebenfalls über die Registry festlegen:
http://www.tecchannel.de/a/arp-grundlagen-und-spoofing,402460,9

Anstatt am OS zu schrauben, würde aber eher der Ursache nachgehen, und das scheint euer uns unbekanntes Programm zu sein was hier das Haupt-Problem darstellt.
Member: Michael12
Michael12 Oct 20, 2016 at 05:51:36 (UTC)
Goto Top
Hallo sacknase,

den "Reachable"-Wert haben wir bereits angepasst, um das Auftreten dieses Ereignisses unwahrscheinlicher zu machen.

Parallel suchen wir natürlich auch innerhalb der von uns verwendeten Programme nach Optimierungsmöglichkeiten, um dieses Verhalten erst garnicht auftreten zu lassen.