kollisionskurs
Goto Top

Bestimmte Netzwerkteilnehmer auch über Subnetze hinweg wiederfinden - UDP Relay Agent oder DHCP Abfrage etc ?

Hallo an alle,

eventuell wurde eine solche Frage schon ähnlich gestellt - allerdings blieb die Suche bisher erfolglos.
Wir haben bald eine neue Generation von netzwerkfähigen Vielfachmessinsttrumenten in unserem Angebot. Diese Geräte werden mit einer Lantronix LAN-Schnittstelle ausgestattet - es lässt sich entweder eine statische oder via DHCP eine dynamische IP vergeben. Unsere Software zur Datenauswertung kommuniziert mit diesen Geräten und sollte wenn möglich nach der Grundinstallation fast selbstständig den "Geräte-Pool" verwalten.

Und da ist der Haken....bzw. im Falle einer dynamischen Adresszuweisung:

Mal angenommen das Gerät bzw. die Schnittstelle bekommt vom DHCP aus irgendwelchen Gründen eine neue Adresse zugewiesen - der Teilnehmer ist softwareseitig nicht mehr ansprechbar . Wir (Software-Entwicklung) diskutieren gerade über die eventuell vorhandenen Möglichkeiten das "Netzwerk" abzufragen - welche neue Adresse diesem Teilnehmer zugewiesen wurde. Die Software hat immer noch die Info bez. MAC-Adresse des Teilnehmers, über Reverse Address Resolution Protocol (RARP) könnte die IP-Adresse abgefragt werden. Nur können wir uns darauf verlassen das ein RARP-Server/Dienst (im fremden Kundenetz) antwortet?

Meines Erachtens gibt es zwei Wege:

1. Via UDP Broadcast (über UDP Port 36718 - genauso macht es die LANTRONIX Software auch) das Netz scannen bzw. melden sich alle angesprochenen Schnittstellen mit der IP & MAC-Adresse. Daraufhin kann die Software die neue Adresse verarbeiten bzw. die MAC Adressen abgleichen und daraus die IP ermitteln etc.

Nur was passiert wenn der Teilnehmer auf einmal hinter einen Router bzw. in einem anderen Subnetz sitzt. Der UDP Broadcast wird diesen nicht erreichen. Gibt es keine Möglichkeit diesen Broadcast über Subnetze zu "verteilen" bzw. habe ich etwas von UDP Relay Agents gelesen - realisierbar?. Es bestehen keine Infos in welchem Subnetz sich dieser Teilnehmer nun befindet.

2. Per Abfrage des lokalen DHCP Servers...dieser sollte die Auflistung über alle zugewiesenen Adressen liefern etc. Damit kann die Software wieder den Ableich MAC -zu- IP starten...

Sind alle DHCP Server gleich? (nach RFC OK) bzw. die Artenvielfalt ist doch groß...nachher gibt es gleich mehrere im Netz, oder irgendwelche Sicherheitsrichtlinien "verweigern" eine Antwort etc.?

Ist eine beschriebene Möglichkeit die Waffe der Wahl? bzw. oder habt Ihr einen Vorschlag wie dieses Problem gelöst werden kann. Die Schwierigkeit liegt sowieso darin eine Lösung zu finden, die auf die verschiedenen Netzkonstellationen bezogen, immer passt.

Vielen Dank im Voraus....Grüße

Content-Key: 92346

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

Printed on: April 16, 2024 at 06:04 o'clock

Member: aqui
aqui Jul 18, 2008 at 12:22:14 (UTC)
Goto Top
Der Relay Agent ist eine Möglichkeit die UDP Broadcasts in andere Netze (Subnetze) zu bringen. Meist heist diese Funktion ip-helber adress x.x.x.x auf Layer 3 maschinen (Router). Das Problem ist aber das du so einen helper adresse für jedes Device händisch konfigurieren musst..nicht besonders konfigurationsfreundlich...
Abgesehen daon ist ein weiteres Problem das bei weitem nicht alle Hersteller sowas auch supporten.
Gerade im untersten Preissegment fehlen solche Funktionen meistens komplett. Effekt wäre dann das ihr euren Kunden vorschreiben müsst was für Netzwerk Infrastruktur er einsetzen muss wenn er eure Komponenten betreibt.
Darauf wird sich heutzutage wohl kaum jemand einlassen...bzw. sofort zum Mitbewerb gehen !

Eine einfache Lösung wäre folgendes:
Wenn diese Vielfachinstrumente sich per DHCP eine IP Adresse holen bekommen sie ja auch immer einen DNS Server per DHCP zugewiesen.
Wenn das Instrument nun nach dem Booten per DNS einen hardgecodeten Namen abfragt wie z.B. auswerteserver , dann müssten eure Kunden in ihrem DNS Server lediglich diesen Namen konfigurieren der dann auf die Server IP mit der Auswertesoftware zeigt.
Daraufhin übermittelt das Instrument dann dahin seine MAC und IP.

Das hat den Vorteil das du damit vollkommen unabhängig von jeglicher Netzwerkhardware bist. Einzig die Kunden müssten diese IP in ihrem DNS Server eintragen was ja nur ein klitzekleiner Eingriff ist. (Der Name sollte natürlich etwas einzigartiger sein als das obige Beispiel !)
Damit wärest du problemlos gewappnet für den Einsatz eurer Komponenten in einem Layer 3 Umfeld !
Member: Kollisionskurs
Kollisionskurs Jul 21, 2008 at 06:53:56 (UTC)
Goto Top
Diesen Ansatz hatten wir auch schon so ähnlich bzw. wäre das natürlich die eleganteste Lösung. Allerdings haben die Gerätschaften keine "eigene Intelligenz" in Bezug auf die LAN Schnittstelle bzw. fungiert diese lediglich als Schnittstellenumsetzer von TCP/IP auf RS485. Die Geräte steuern den LAN Anschluss quasi gar nicht bzw. wissen von diesem nichts. Somit bleibt, meines Erachtens, nur noch die Lösung mit dem Abfragen des "zuständigen" DHCP's und dem darauffolgenden Abgleich der softwareseitigen "IP<->MAC" Zuweisung.

Gibt es keinen Dienst der quasi ständig ein Abbild der DHCP Zuordnungen hält? bzw. mir ist neben der Möglichkeit über die Abfragen via netsh nichts bekannt.

thx...
Member: aqui
aqui Jul 21, 2008 at 10:08:51 (UTC)
Goto Top
Doch natürlich gibt es die ! Das ist die sog. Lease Database in der jeder DHCP Server seine aktuellen Adress Leases einträgt.
Bei Unix/Linux und Windows kommst du problemlos an die ran aber bei embedded Devices wie Consumer Router etc. ist das so gut wie unmöglich !
Member: Kollisionskurs
Kollisionskurs Aug 05, 2008 at 07:11:25 (UTC)
Goto Top
Clientseitig bzw. via Remote die DHCP Leases abzufragen ist schon eine ziemlich harte Nuss bzw. geht das auf dem Server problemlos allerdings "von der Ferne aus" ist das ziemlich schwierig. Netsh bringt mich da nicht wirklich weiter - ich würde das ganze gerne in einer Hochsprache (C#) programmieren bzw. das ganze auch unter verschiedenen Konstellationen erst einmal testen. Allerdings finde ich auch da keine Schnittstelle die das ganze unterstützt. Auch wenn es nicht ganz in diese Rubrik passt aber...

Hat jemand einen Lösungsansatz wie ich mit Managed Code eine solche Abfrage realisieren kann?


Angenommen der DHCP sitzt in Subnetz A und "versorgt" ebenfalls die Clients in Subnetz B
(Router-DHCP Relay). Dann habe ich meines Erachtens auch wieder ein Problem an die Lease Database zu kommen bzw. dem DHCP im anderen Subnetz eine Frage zu stellen? Oder hab ich da noch einen Denkfehler???