Forum: PC-Programmierung Trivial-FTP: Lesen dauert sehr lange bei falscher IP-Adresse


von Rainer R. (Firma: Reusch Elektronik) (reusch)


Lesenswert?

Hallo Fachleute!
Ich schildere hier ein kleines Problem, das ich mit einem 
RADStudio-XE7-Programm habe. Mit der Komponente TIdTrivialFTP habe ich 
eine LAN-Kommunikation mit einer Elektronik (ARM-Cortex-Controller und 
DP83484 PHY) realisiert. Das klappt soweit auch.

In das Windows-Programm habe ich auch eine Scan-Funktion eingebaut, die 
das Gerät, mit dem die Kommunikation laufen soll, im Netzwerk finden 
soll (IP-Adresse der Elektronik wurde per DHCP vergeben). Dazu klappere 
ich einfach einen IP-Adressbereich (z.B. 192.168.10.1 bis 
192.168.10.254) ab und versuche, eine Datei zu lesen (Aufruf von 
TIdTrivialFTP->Get()). Das Gerät ist gefunden (= IP-Adresse ermittelt), 
wenn das Lesen der Datei geklappt hat.

Dieses scannen läuft auf manchen PC's (vornehmlich mit Windows XP, aber 
auch Windows 7/64) sehr flott, d.h. der Get()-Aufruf kehrt schnell 
zurück, auch wenn es die IP-Adresse oder Datei nicht gibt. Der gesamte 
Scan-Vorgang ist innerhalb weniger Sekunden abgeschlossen!
Auf anderen PC's (bisher nur auf Windows 7/64-Systemen festgestellt) 
dauert es extrem lange (ca. 2 Sekunden), bis Get() zurück kehrt. Der 
gesamte Scan-Vorgang benötigt also mehrere Minuten!

Nun die Frage: Woran könnte es liegen, dass "Get()" bei manchen PC's 
sehr lange braucht und auf anderen PC's schnell zurück kehrt, wenn es 
die Datei nicht gibt? Ich vermute, dass hier irgend eine 
Timeout-Einstellung im Spiel ist, aber wo kann ich da was einstellen? 
Registry? Hat jemand eine Idee?

Für Eure Lösungsvorschläge schon mal Danke!

von Heinz L. (ducttape)


Lesenswert?

Das kommt wahrscheinlich drauf an ob er den TCP Handshake schafft oder 
nicht, sprich, wie die Firewall auf die Verbindungsaufnahme reagiert.

Schickt also die Kiste "nach Spezifikation" ein Reset auf einen Sync, 
kommt er natürlich fix mit einem "der läßt mich nicht rein" zurück. Weil 
er ja Antwort bekommen hat. Läuft auf der Kiste eine Firewall die 
stillschweigend einfach alles unter den Tisch kippt (um einem 
potentiellen Angreifer nicht mal zu sagen dass da wer da ist), dann 
wartet der natürlich bis zum Timeout. Kann ja nicht wissen wie weit der 
andere Rechner da entfernt ist und wie lang das dauern soll/kann.

Da jeder, der auch nur für 10 cents Verstand in die Konfiguration seiner 
Netzwerkverbindungen investiert (~5% der Internetnutzer, optimistische 
Schätzung) die Firewall für Version 2 konfiguriert hat, solltest Du Dir 
'n Weg suchen das timeout runterzusetzen. Sonst wartest Dir 'n Wolf.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Heinz L. schrieb:
> TCP Handshake

TFTP arbeitet mit UDP (Port 69).

von Rainer R. (Firma: Reusch Elektronik) (reusch)


Lesenswert?

Hallo Heinz!
Danke für Deine Antwort.
Die Firewall ist gerade bei Trivial-FTP ein großer Stolperstein, das 
trifft hier jedoch nicht zu! Das Problem besteht auch bei abgeschalteter 
Firewall!
Das Problem ist ja nicht, dass keine Verbindung zustande kommt. Das 
Problem ist, dass TIdTrivialFTP->Get() auf manchen PCs viel Zeit 
vertrödelt, wenn KEINE Verbindung zustande kommt!

von Heinz L. (ducttape)


Lesenswert?

grusel Danke, damit hat sich das mit dem Schlafen heute Nacht auch 
erledigt. Wie das funktionieren soll will ich nicht mal so genau wissen.

Unterm Strich dürfte die Antwort die gleiche bleiben: Ohne Antwort 
wartet er aufs Timeout.

von Peter II (Gast)


Lesenswert?

Rainer Reusch schrieb:
> Dazu klappere
> ich einfach einen IP-Adressbereich (z.B. 192.168.10.1 bis
> 192.168.10.254) ab und versuche, eine Datei zu lesen (Aufruf von
> TIdTrivialFTP->Get()). Das Gerät ist gefunden (= IP-Adresse ermittelt),
> wenn das Lesen der Datei geklappt hat.

finde ich ein ziemliche Unart. Du geht doch auch nicht an jede Haustür 
und schaust wo dein Schlüssel passt.

sende eine Broadcast an die Broadcastadresse und dein Controller 
antwortet. Schon hast du die IP.

von Rainer R. (Firma: Reusch Elektronik) (reusch)


Lesenswert?

@Peter II:
Na ja, wenn es nicht zu viele Haustüren sind (lokales Netzwerk), kann 
man das schon machen, denke ich. Und wenn es auf jedem PC so flott 
funktionieren würde, wie auf meinem Entwicklungs-PC, wäre diese Lösung 
nicht schlecht und einfach umsetzbar.
Aber Danke für den Hinweis mit dem Broadcast! Ich muss jetzt mal 
schauen, wie sowas mit dem RADStudio zu realisieren ist und ich muss 
auch schauen, ob mein Gerät das unterstützt. Ich verwende den lwIP-Stack 
für Cortex-M (STM32F407). Da funktioniert schon mal ein Ping, ohne dass 
ich in meiner Firmware was machen musste.
Gibt es ein fertiges Windows-Progrämmchen (zum testen), mit dem sich 
Broadcast absetzen lassen?

Manche habe es vielleicht schon gemerkt: Ganz so sattelfest bin ich bei 
diesen spezielleren LAN-Geschichten nicht gerade.

von Peter II (Gast)


Lesenswert?

Rainer Reusch schrieb:
> Gibt es ein fertiges Windows-Progrämmchen (zum testen), mit dem sich
> Broadcast absetzen lassen?

kann jedes Programm was auch UDP senden kann, einfach als Zieladresse 
255.255.255.255 eingeben.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Peter II schrieb:
> sende eine Broadcast an die Broadcastadresse und dein Controller
> antwortet

Naja, das ist kaum sauberer.

Sauberer wäre es, sich Gedanken zu machen, wie man das ohne
trial&error implementiert.  Beispielsweise könnte „die Elektronik“
einen eigenen Hostnamen im DHCP mitliefern, und der DHCP-Server
trägt diesen in einen bestimmten (lokalen) DNS-Namensraum ein.
Fritzboxen erledigen sowas beispielsweise standardmäßig (in den
Pseudo-Namensraum “.fritz.box”).  Der Client ermittelt dann die
IP-Adresse über diesen Namen und baut die Verbindung genau dahin auf.

Noch sauberer wäre es, wenn man eine Zeroconf-Technik benutzt
(bspw. Bonjour/mDNS/DNS-SD), um solche Dienste im Netzwerk zu
verkünden.

: Bearbeitet durch Moderator
von Peter II (Gast)


Lesenswert?

Jörg Wunsch schrieb:
> Noch sauberer wäre es, wenn man eine Zeroconf-Technik benutzt
> (bspw. Bonjour/mDNS/DNS-SD), um solche Dienste im Netzwerk zu
> verkünden.

und was soll daran anders sein als, die Broadcast Lösung?

Bonjour/mDNS basiert auch nur auf Multicast. Dazu noch der Overhead für 
das offizielle Protokoll.

Dann braucht man unter Windows (wie vermutlich auch unter Linux) auch 
noch Dienste/Pakete damit es funktioniert.

Das sehe ich mehr Nachteile als Vorteile.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Peter II schrieb:
> und was soll daran anders sein als, die Broadcast Lösung?

Dass du nicht einfach auf der Portnummer des Dienstes selbst
herum-broadcastest.  Das ist doch in keiner Weise besser oder
sauberer, als alle IP-Adressen einzeln abzufragen, ob sie den
Dienst vielleicht zufällig anbieten.

> Bonjour/mDNS basiert auch nur auf Multicast

Multicast ist aber erstens was anderes als Broadcast: Broadcast ist
Spam, Multicast ist „ich trage mich bei diesem Anbieter für die
Zusendung der Werbung ein“.  Außerdem ist es ein separater Dienst,
der rein für die Organisation des Netzwerkes zuständig ist, statt
dass man per Bruteforce versucht, die Zieldienste alle rumzuprobieren.

von Karl H. (kbuchegg)


Lesenswert?

Man könnte auch dem DHCP Server beibringen, dass das Gerät mit der MAC 
xyz immer dieselbe IP bekommt.

Diese IP wird auf dem Windows Programm einmalig eingestellt (oder 
meinetwegen auch durch scannen ermittelt), gemerkt (Registry?) und das 
Windows Programm probiert diese IP dann vor allen anderen um seine Daten 
loszuwerden. Kann es auf dieser IP das Gerät nicht mehr erreichen, kann 
es ja wieder einen Scan anleiern, sollte aber (wegen der DHCP Fixierung) 
nicht notwendig sein.

Dann hat man die 'Einrichtungskosten' bei nach wie vor voller 
FLexibilität nur einmalig, was normalerweise kein Problem darstellt.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Dann kannste „der Elektronik“ aber auch genausogut gleich eine feste
IP-Adresse eintragen. ;-)

von Karl H. (kbuchegg)


Lesenswert?

Jörg Wunsch schrieb:
> Dann kannste „der Elektronik“ aber auch genausogut gleich eine feste
> IP-Adresse eintragen. ;-)

Auch wieder wahr.

von Peter II (Gast)


Lesenswert?

Jörg Wunsch schrieb:
>> und was soll daran anders sein als, die Broadcast Lösung?
>
> Dass du nicht einfach auf der Portnummer des Dienstes selbst
> herum-broadcastest.  Das ist doch in keiner Weise besser oder
> sauberer, als alle IP-Adressen einzeln abzufragen, ob sie den
> Dienst vielleicht zufällig anbieten.

doch ist es, weil es extra dafür da ist.

> Bonjour/mDNS basiert auch nur auf Multicast

> Multicast ist aber erstens was anderes als Broadcast: Broadcast ist
> Spam, Multicast ist „ich trage mich bei diesem Anbieter für die
> Zusendung der Werbung ein“.  Außerdem ist es ein separater Dienst,
> der rein für die Organisation des Netzwerkes zuständig ist, statt
> dass man per Bruteforce versucht, die Zieldienste alle rumzuprobieren.

wenn ich das richtig verstanden habe, dann schicken diese Geräte auch an 
das gesamte Netzwerk eine Broadcast. Nur das diese vom Gerät ausgeht und 
nicht vom PC. Damit hat man sogar mehr Trafik, weil es ständig gemacht 
wird und nicht nur wenn es gebraucht wird.

Schon das Punkt das man es extra installieren muss spricht doch schon 
dagegen. Warum sollte ich mir Apple Software auf den Windows PC 
installieren nur um ein gerät einzurichten?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Peter II schrieb:
> wenn ich das richtig verstanden habe, dann schicken diese Geräte auch an
> das gesamte Netzwerk eine Broadcast.

Nochmal: eine Multicast-Message ist keine Broadcast.

Für eine Multicast trägst du dich explizit ein, und ordentliche
Switches leiten die Pakete auch nur an die Teilnehmer weiter, die
teilnehmen wollen.

> Damit hat man sogar mehr Trafik, weil es ständig gemacht
> wird und nicht nur wenn es gebraucht wird.

Mein Argument war ja, dass deine Broadcast erstmal nicht irgendwie
eleganter oder weniger „Holzhammer“ ist, als an jeder Türklinke
klinken zu gehen.  Was ist denn, wenn mehr als einer dann antwortet?
Und was, wenn der erste, der antwortet, gar nicht der ist, den du
haben wolltest (das trifft natürlich genauso gut auf die Methode
des TE selbst zu)?

Richtig Sinn hat so ein Zeroconf-System natürlich nur, wenn man es
generell nutzt, das ist richtig.

Andererseits sollte man in einem ordentlichen Netz auch eine
ordentliche Administration haben, dann braucht man auch kein
Zeroconf, sondern beantragt einen Hostnamen und die zugehörige
IP-Adresse von seinem Netzwerk-Admin.  Inwiefern man dann trotzdem
noch DHCP macht (damit man die Konfiguration nicht im Gerät
speichern muss) oder nicht, ist dann eher ein Absprache-Detail.
Zeroconf ist ja nur für Netze da, die eben keine explizite
Administration haben.

> Schon das Punkt das man es extra installieren muss spricht doch schon
> dagegen. Warum sollte ich mir Apple Software auf den Windows PC
> installieren

Weil Windows nichts vergleichbares anbietet?

Wobei ich mir da nichtmal so sicher bin, kann sein, dass Windows auch
irgendein Zeroconf mit dabei hat.

von Malte S. (maltest)


Lesenswert?

Grrr! Und ich dachte, Geräte die darauf angewiesen sind, sich in der 
selben Broadcast Domain zu befinden wie ihr Partner im Netz, gehören 
endlich mal der Vergangenheit an!
Zeroconf und co. dagegen haben die Möglichkeit, auch über link local 
hinaus auffindbar zu sein. Und wenn das zu viel ist, wenigstens nen 
einfachen Multicast (mit TTL > 1!) dann hat der Admin auch eine Chance, 
das Gerät ohne Gekrampfe in die Netzstruktur zu integrieren.

EDIT: oops, einige Beiträge während meiner Schreinerei 
dazugekommen...dennoch sollte das Obige einen weiteren Grund außer 
Broadcastspamvermeidung liefern: bitte mach das routebar. Danke.

: Bearbeitet durch User
von Rainer R. (Firma: Reusch Elektronik) (reusch)


Lesenswert?

Schön, dass sich hier so eine Diskussion entwickelt hat -- auch wenn die 
eigentliche Frage (warum TIdTrivialFTP->GetID auf manchen Rechnern viel 
Zeit braucht, wenn es den Kommunikationspartner nicht gibt) noch 
garnicht beantwortet wurde.
Meine Elektronik, um die es hier eigentlich geht, soll in der 
Grundeinstellung "DHCP" ausgeliefert werden. Der Kunde selbst soll dann 
über einen Konfigurationsdialog im Windows-Programm eine feste 
IP-Adresse festlegen können. Da das Gerät keine visuelle Ausgabe hat, 
soll dem Anwender ein für ihn praktikables Mittel in die Hand gegeben 
werden (nämlich sowas wie eine Scan- oder "automatisch 
finden"-Funktion), weil er die IP-Adresse zunächst ja nicht kennt. Diese 
Lösung hat den Vorteil, dass ich als Lieferant des Geräts die 
Infrastruktur des Kunden nicht zu kennen brauche und er selbst auch nur 
zu einem gewissen Grad.
Bei den Lösungsvorschlägen sollte man im Hinterkopf behalten, dass auf 
der Elektronik-Seite lediglich ein Cortex-M4-Controller sitzt, der kein 
Betriebssystem, sondern lediglich eine anwendungsspezifische (und 
echtzeittaugliche) Firmware besitzt. Die Implementierung komplexerer 
Lösungen, wie man sie von Windows- und Linux-Systemen kennt, dürfte 
daher nicht so einfach sein!

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Naja, manchmal wäre es hilfreich, die Infos am Anfang alle mitzuliefern.

Hat das Gerät denn irgendeine Form von Interaktionsmöglichkeit,
beispielsweise einen Knopf?  Dann könnte man eine Art
„Button-Konfiguration“ realisieren: man startet eine spezielle
Anwendung auf dem PC, die auf einem bestimmten Port hört.  Auf
Knopfdruck am Gerät sendet dieses ein Paket, das die PC-Applikation
empfängt.  Damit kennt sie nunmehr die Adresse des Geräts und kann
von da beginnend weiterarbeiten.

Malte S. schrieb:
> bitte mach das routebar.

Was allemal dafür spricht: wie ist es, wenn das Gerät beispielsweise
an einem Ethernet hängt, der PC aber an einem WiFi?  Schon da kann es
in vielen Umgebungen erforderlich sein, dass das entsprechende Paket
routebar ist.

von Stephan (Gast)


Lesenswert?

Hi Rainer,
ich hab früher gerne mit den Indy Komponenten gearbeitet, das waren aber 
noch zu VC++ 6 Zeiten.(schon laaange heeerrrr, Indy V8 - V9)

Hast du einen Link zur aktuelle Doku der Indy Komponenten??? (Version?)
Bei mir hatte ich damals die Events der Komponenten abgefragt, um den 
Status der Komponenten zu erfahren. (OnStatus)
Auch die Events OnWork, OnWorkBegin und OnWorkEnd usw. können beim 
Entwickeln hilfreich sein.
Das drunter liegende 'TIdUDPClient.ReceiveTimeout' hast schon geprüft?!?
Wie steht der Globale Timeout im Stack?(gabs früher eine Variable)

Bei mir gabs noch eine Funktion:
function ReceiveString(var VPeerIP: string; var VPeerPort: integer; 
const AMSec: Integer = IdTimeoutDefault): string; overload;
Damit konnte man den Timeout für eine Verbindung kontrollieren.

Die MAC-Adresse steht auf deinem Gerät?
Was ist mit Reverse ARP? Ist recht schnell selbst zu implementieren.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Stephan schrieb:
> Was ist mit Reverse ARP?

Dann pfuschst du aber dem Netzwerkadministrator im Geschäft herum.

von Peter II (Gast)


Lesenswert?

Jörg Wunsch schrieb:
> Für eine Multicast trägst du dich explizit ein, und ordentliche
> Switches leiten die Pakete auch nur an die Teilnehmer weiter, die
> teilnehmen wollen.
was wohl leider auf einen Großteil der Switchs nicht zutrifft und damit 
ist es doch wieder identisch zu Broadcast.

> Mein Argument war ja, dass deine Broadcast erstmal nicht irgendwie
> eleganter oder weniger „Holzhammer“ ist, als an jeder Türklinke
> klinken zu gehen.  Was ist denn, wenn mehr als einer dann antwortet?
> Und was, wenn der erste, der antwortet, gar nicht der ist, den du
> haben wolltest (das trifft natürlich genauso gut auf die Methode
> des TE selbst zu)?

dann kommen mehre Pakete an und er kann eine Auswahl der Geräte anzeigen 
- ist doch sogar sinnvoll.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Peter II schrieb:
> damit ist es doch wieder identisch zu Broadcast.

Bis auf die schon genannte fehlende routeability einer Broadcast.

Außerdem geht's ja hier offenbar nicht vorrangig um Heimnetzwerke
mit popeligen 3-Euro-fuffzig-Switches, sondern um Firmennetze mit einer
ordentlichen Implementierung (zumindest habe ich das so verstanden).

Die sollten auch alle sauberes Multicast beherrschen, gibt's ja nicht
erst seit vorgestern.

von Peter II (Gast)


Lesenswert?

Jörg Wunsch schrieb:
> Peter II schrieb:
>> damit ist es doch wieder identisch zu Broadcast.
>
> Bis auf die schon genannte fehlende routeability einer Broadcast.

was bei Bonjour auch nicht selbstverständlich ist und Probleme macht

http://www.grouplogic.com/Knowledge/PDFUpload/Info/WanBonjour_1.pdf

http://www.heise.de/ix/meldung/Apple-hat-Aerger-mit-Uni-Administratoren-1746990.html

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Peter II schrieb:
> was bei Bonjour auch nicht selbstverständlich ist und Probleme macht

Dass Bonjour kein Thema ist, war ja klar, seitdem der TE seine
eigentliche Aufgabe mal genauer beschrieben hat.

von PittyJ (Gast)


Lesenswert?

Warum beim Abklappern warten, und dann erst die Adresse nächste testen?
Warum nicht alles gleichzeitig? Einfach 254 Threads erzeugen die jeweils 
eine Adresse testen. Das sollte auf PCs einigemaßen schnell laufen.
Kurzfristig ist dann mal viel Netzwerkverkehr da, aber das sollte auch 
kein Problem sein.

von Peter II (Gast)


Lesenswert?

PittyJ schrieb:
> Das sollte auf PCs einigemaßen schnell laufen.
> Kurzfristig ist dann mal viel Netzwerkverkehr da, aber das sollte auch
> kein Problem sein.

könnte sein das Windows da nicht "will". Es gibt ein paar 
Schutzmaßnahmen gegen vieren die bei TCP zu viele halboffene 
Verbindungen verhindert, kann mir vorstellen das es auch bei UDP 
einschreitet.

Und wer sagt das ein netzt nur eine 24 Netzwerkmaske hat und keine 16er.

von Rainer R. (Firma: Reusch Elektronik) (reusch)


Lesenswert?

@ Jörg Wunsch
Na ja, dass es sich um einen ARM-Cortex handelt, hatte ich schon 
erwähnt. Und zuviel (unnötige) Information lenkt die Diskussion in eine 
Richtung, die ich eigentlich nicht haben will. Ein gutes Beispiel ist 
dieser Thread (nichts für Ungut)

@ Stephan
Eine, wenn auch dürftige Doku zu den Indy-Komponenten ist beim RADStudio 
dabei.
Ich denke, dass Events und Statusabfragen hier nicht weiter helfen. 
"Get" lässt sich einfach zu viel Zeit -- auf manchen Systemen.
Die Eigenschaft ReceiveTimeout ist in der Tat wichtig. Beim Wert Null 
geht schlichtweg nichts. Selbst bei einem zu kleinen Wert besteht das 
Risiko, dass sich der lwIP-Stack im Controller aufhängt. Auf das hier 
erwähnte Problem hat diese Eigenschaft jedoch keinen Einfluss (leider).

@PittyJ
> Warum beim Abklappern warten, und dann erst die Adresse nächste testen?
Diese Idee ist eigentlich auch nicht so dumm! In einem Klasse-C-Netz 
wären das 254 Threads. Das wäre sogar noch machbar.

Und hier noch meine eigene Idee:
Der Broadcast-Vorschlag von Peter II hat mich darauf gebracht und ich 
habe das gestern Abend mal kurz probiert. Mein Gerät hat 
(beispielsweise) irgend eine Adresse zwischen 192.168.10.1 und 
192.168.10.254. Ich versuche, eine Datei zu lesen und verwende dabei die 
Adresse 192.168.10.255! Das scheint zu funktionieren!
Ich frage auf diesem Weg einfach eine Datei ab (die ich im Controller 
definiert habe), die mir die richtige IP-Adresse liefert (der Controller 
kennt sie ja). Die Frage an euch: Kann man davon ausgehen, dass das 
immer funktioniert?

Noch eine Anmerkung zur Firewall (speziell Windows 7 und höher)
Es ist mir bis jetzt noch nicht gelungen, eine funktionierende 
allgemeine Regel für das hier verwendete Trivial-FTP zu erstellen. Was 
hingegen tadellos funktioniert: Der Firewall explizit das Programm 
nennen, das diese LAN-Kommunikation benötigt.

von Peter II (Gast)


Lesenswert?

Rainer Reusch schrieb:
> Ich versuche, eine Datei zu lesen und verwende dabei die
> Adresse 192.168.10.255! Das scheint zu funktionieren!

naja, das halte ich nun wirklich für murks.

Was macht dein Programm, wenn mehre deiner Geräte aktiv sind?

von Malte S. (maltest)


Lesenswert?

Rainer Reusch schrieb:
> In einem Klasse-C-Netz wären das 254 Threads. Das wäre sogar noch machbar.

Umm... Klasse C? Wie war das nochmal mit CIDR? Deine Software sollte auf 
allerhand Präfixe ungleich /24 gefasst sein und entsprechend IPs 
ableiten können. Was machst du bei /16? 65534 Threads? Bist du auf /22 
oder /26 vorbereitet?

Rainer Reusch schrieb:
> Es ist mir bis jetzt noch nicht gelungen, eine funktionierende
> allgemeine Regel für das hier verwendete Trivial-FTP zu erstellen. Was
> hingegen tadellos funktioniert: Der Firewall explizit das Programm
> nennen, das diese LAN-Kommunikation benötigt.

Weil TFTP in Hinsicht auf seine verwendeten Ports nicht ganz so trivial 
ist wie der Name suggerieren mag :) Der Server antwortet nicht VON Port 
69.

von Stephan (Gast)


Lesenswert?

Rainer Reusch schrieb:
> Eine, wenn auch dürftige Doku zu den Indy-Komponenten ist beim RADStudio
> dabei.
Ich hab leider kein RadStudio.
Früher hatten die noch eine eigene HP.

> Ich denke, dass Events und Statusabfragen hier nicht weiter helfen.
> "Get" lässt sich einfach zu viel Zeit -- auf manchen Systemen.
Die sollen dir helfen den 'Fehler'- Zustand weiter einzukreisen.
Finde doch mal raus wo die Funktion hängen bleibt.
Wenn die Get-Funktion schon bei der ARP Auflösung auf manchen PCs nicht 
richtig arbeitet, oder das Binding(siehe Indy) nicht richtig läuft, kann 
man besser das Problem angehen.
Vielleicht kann dir das noch helfen:
1
TIdLogDebug is an implementation of the ancestor class TIdLogBase, and
2
extends the framework for logging information about Indy communication
3
components.

> Die Eigenschaft ReceiveTimeout ist in der Tat wichtig.
Achtung es gibt noch globale Timeouts

> Beim Wert Null geht schlichtweg nichts.
> Selbst bei einem zu kleinen Wert besteht das
> Risiko, dass sich der lwIP-Stack im Controller aufhängt.
Also mit UDP-Paketen musst du deinen Controller zuschmeißen können, der 
darf dabei nicht abstürzen!!!! Selbst wenn deine Buffer voll sind, macht 
das nichts, dann verlierst du zwar Telegramme aber es darf zu keinen 
Absturz kommen!!!!!

von Rainer R. (Firma: Reusch Elektronik) (reusch)


Lesenswert?

@ Peter II
> naja, das halte ich nun wirklich für murks.
> Was macht dein Programm, wenn mehre deiner Geräte aktiv sind?
Ja, sauber ist diese Lösung nicht! Aber in meinem Anwendungsfall 
garnicht mal schlecht. Die zu erwartende Antwort passt locker in ein 
einzelnes IP-Paket. Wenn mehrere Geräte im Netzwerk vorhanden sind, 
werden natürlich alle antworten. Nur die erste eintreffende Antwort wird 
verarbeitet. Das kann natürlich die Antwort eines Gerätes sein, das 
garnicht gesucht wird. Antworten werden allerdings nur "meine" Geräte, 
denn das Protokoll ist TFTP und abgefragt wird eine bestimmte Datei.
Lösung des Problems: Bei der Inbetriebnahme darf eben nur eines meiner 
Geräte am Netzwerk hängen! Und genau um die Inbetriebnahme geht es! Das 
Gerät soll mit der Grundeinstellung "DHCP" ausgeliefert werden. Der 
Endanwender selbst soll dann eine fixe IP-Adresse eintragen. Damit er 
das kann, muss er zuerst mal über die per DHCP vergebene Adresse auf das 
Gerät zugreifen. Um die heraus zu finden, findet der Anwender einen 
Dialog mit einem Button im PC-Programm, der ihm beim Draufklicken die 
gesuchte Adresse liefert.

@ Malte S.
> Weil TFTP in Hinsicht auf seine verwendeten Ports nicht ganz so trivial
> ist wie der Name suggerieren mag :) Der Server antwortet nicht VON Port
> 69.
Das ist richtig! Mehr zu TFTP verrät z.B. die folgende Wikipedia-Seite:
http://de.wikipedia.org/wiki/Trivial_File_Transfer_Protocol
Aber auch wenn ich die darin aufgeführten Ports in die Regel mit 
aufnehme, klappt es nicht. Man müsste wohl mit einem Sniffer 
analysieren, welche Ports tatsächlich genutzt werden.

@ Stephan
> Achtung es gibt noch globale Timeouts
Nach genau solchen Stellschrauben habe ich eigentlich gefragt, als ich 
diesen Thread aufgemacht habe.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Rainer Reusch schrieb:
> Antworten werden allerdings nur "meine" Geräte, denn das Protokoll ist
> TFTP und abgefragt wird eine bestimmte Datei.

Wenn der Entwickler deines Nachbargeräts mit ähnlichen Krücken arbeitet
wie du, wie kommst du dann zu so einer Aussage?  Er könnte es sich ja
(„ich habe hier zu wenig Resourcen, das richtig zu machen“) auch gleich
mal noch leichter machen und den Dateinamen im TFTP Request gleich
komplett ignorieren …

von Rainer R. (Firma: Reusch Elektronik) (reusch)


Lesenswert?

Hallo Jörg!
Diese Aussage verstehe ich jetzt nicht ganz. Das PC-Programm "lädt eine 
Datei" von meinem Gerät -- also eine ganz bestimmte. Wenn man so will, 
kennt nur mein PC-Programm den Namen dieser Datei (mein einfacher 
TFTP-Server im Controller beherrscht nicht mal die Abfrage eines 
Verzeichnisses!). Wie soll da jetzt der Dateiname ignoriert werden?

Ein Problem gibt es meiner Ansicht also nur, wenn zwei oder mehr 
"meiner" Geräte im Netz hängen. Sollte ein anderer Entwickler auch 
diesen Trick mit der Adresse xxx.xxx.xxx.255 verwenden, wäre das nicht 
problematisch. Selbst wenn er auch auf TFTP setzt (Port 69 usw.), müsste 
er genau diese spezielle Datei abfragen, um einen Konflikt zu 
provozieren. Das ist wohl sehr unwahrscheinlich!

von Peter II (Gast)


Lesenswert?

Rainer Reusch schrieb:
> Ein Problem gibt es meiner Ansicht also nur, wenn zwei oder mehr
> "meiner" Geräte im Netz hängen. Sollte ein anderer Entwickler auch
> diesen Trick mit der Adresse xxx.xxx.xxx.255 verwenden, wäre das nicht
> problematisch. Selbst wenn er auch auf TFTP setzt (Port 69 usw.), müsste
> er genau diese spezielle Datei abfragen, um einen Konflikt zu
> provozieren. Das ist wohl sehr unwahrscheinlich!

ich finde so ein Tool generell für Geräte Sinnvoll, damit kann man sich 
auch alle Geräte im Netz anzeigen lassen und ihre aktuelle IP. Warum 
sollte man das Tool nur verwenden um das Gerät einzurichten. Was ist 
wenn man die IP vergessen hat oder nicht mehr weiß welchen Gerät welche 
IP hatte?

Wenn man das Tool startet, sollte alles Geräte angezeigt werden. Und 
dann kann man auswählen welches Gerät man Konfigurieren will.

Diese Möglichkeiten verbaust du dir komplett, wenn du nur dein einfaches 
Verfahren umsetzt.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Rainer Reusch schrieb:
> Wie soll da jetzt der Dateiname ignoriert werden?

Die Auswertung des Dateinamens obliegt dem Server, also besagtem
Gerät.  Wenn nun jemand anders ein ähnlich einfach gestricktes
Gerät ins Netz stellt, zufällig dabei auch deine Idee von TFTP
verfolgt, aber den Dateinamen ignoriert, dann wird er dir trotzdem
antworten – du hast dann aber den falschen gefunden.

von Malte S. (maltest)


Lesenswert?

Rainer Reusch schrieb:
> Wenn man so will,
> kennt nur mein PC-Programm den Namen dieser Datei (mein einfacher
> TFTP-Server im Controller beherrscht nicht mal die Abfrage eines
> Verzeichnisses!). Wie soll da jetzt der Dateiname ignoriert werden?

Und jetzt kommt ein anderer Hersteller daher und hat die (fast) gleiche 
Idee, möchte es aber noch simpler, verzichtet auf die Abfrage des 
Dateinamens und schon stören sich eure Geräte. Dann ist zwar der andere 
den entscheidenden Schritt zu weit gegangen, ändert aber nichts daran, 
dass du TFTP für einen Mechanismus missbrauchst, für den es nicht 
vorgesehen ist.

Davon abgesehen, wenn schon die Minimal-Lösung, warum implementierst du 
überhaupt TFTP? Du kannst auch einen Broadcast an einen bestimmten 
(nicht offiziell zugewiesenen!) UDP-Port senden mit einem bestimmten 
Paketinhalt und dann antworten deine Geräte mit was auch immer. Schon 
die Absenderadresse des Pakets klärt das PC-Programm über die IP des 
Geräts auf.
Ist dann anfällig für Spoofing, aber ich glaube kaum, dass dein jetziges 
System da besser dasteht.

Peter II schrieb:
> Diese Möglichkeiten verbaust du dir komplett, wenn du nur dein einfaches
> Verfahren umsetzt.

Sowie für den Admin, diese Auflistung auch im Betrieb über 
Subnetzgrenzen hinweg zu bekommen oder das irgendwo eingebaute Gerät 
(gut, wir wissen nicht, was es ist und ob es theoretisch vor Ort mehr 
oder weniger fest eingebaut sein wird) aus welchem Grund auch immer auf 
Werkseinstellungen zurückzusetzen und dann trotzdem vom Büro aus zu 
rekonfigurieren, weil es trotzdem sauber auffindbar ist, trotz 
Netzgrenzen.

Zugegeben, z.B. Zeroconf hat seine eigenen Probleme und ist nicht 
zwangläufig das Mittel der Wahl. Aber wenigstens Multicast zu verwenden 
wäre ein guter Schritt.
Wir hatten es mal mit Seriell-Servern zu tun, die gelegentlich gesponnen 
haben. War immer ein Krampf, die Dinger wieder ansprechbar zu kriegen, 
weil ihre Einbausituation nicht ohne Weiteres einen Link-lokalen Zugriff 
vom Admin-PC zugelassen hat, den das Konfigurationtool aber erstmal 
haben wollte.
Es gibt leider schon genug "Plug and play" Geräte, die regelmäßig 
unterstellen, dass überall simple /24er Netze vorliegen und sonst 
scheitern und/oder stören.

von Rainer R. (Firma: Reusch Elektronik) (reusch)


Lesenswert?

@ Jörg
Nun, ich denke, es macht keinen Sinn, einen TFTP-Server zu entwickeln, 
der auch bei Dateien, die nicht existieren, etwas liefert. Selbst wenn 
es das gäbe, was würde im schlimmsten Fall passieren? Im Dialog meines 
Anwenderprogrammes stünde eine unsinnige IP-Adresse! Ok, der völlig 
unbedarfte Anwender wird die "Hotline" anrufen.

@ Peter II
Im Grunde hast Du natürlich recht. Ideal wäre es, wenn alle gefundenen 
Geräte aufgelistet werden und der Anwender wählt das gewünschte aus. Da 
wären wir wieder bei meiner ursprünglichen "Scan-Lösung"!!! (mit dem 
häßlichen kleinen Zeitproblem)

Noch eine allgemeine Bemerkung zu dieser Thematik
Die von mir nun angestrebte Lösung halte ich inzwischen für sehr 
praktikabel (alle heute durchgeführten Tests verliefen positiv). Die 
gemachten Einwände und Bedenken sind zwar berechtigt, man muss aber auch 
in Erwägung ziehen, wie groß die Wahrscheinlichkeit ist, dass andere 
Geräte (von anderen Entwicklern) im gleichen Netz hängen, die einem bei 
diesem Konzept in die Suppe spucken könnten.
Ok, die Idee ist dank dieses Forums nun publik, ich gehe trotzdem nicht 
davon aus, dass die Welt jetzt mit Geräten überflutet wird, die mit dem 
gleichen Trick arbeiten.

von Peter II (Gast)


Lesenswert?

Rainer Reusch schrieb:
> Im Grunde hast Du natürlich recht. Ideal wäre es, wenn alle gefundenen
> Geräte aufgelistet werden und der Anwender wählt das gewünschte aus. Da
> wären wir wieder bei meiner ursprünglichen "Scan-Lösung"!!! (mit dem
> häßlichen kleinen Zeitproblem)

nein, das geht auch schnell mit der Broadcast Lösung (auch wenn nur auf 
das Subnetzt begrenzt, bzw. Man muss das netz angeben)

-> Broadcast schicken -> 1 sekunde lang die Antworten einsammeln -> 
anzeigen.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Rainer Reusch schrieb:
> Nun, ich denke, es macht keinen Sinn, einen TFTP-Server zu entwickeln,
> der auch bei Dateien, die nicht existieren, etwas liefert.

Aus seiner Sicht existiert bestimmt eine Datei, er hat sich nur nicht
die Mühe gemacht, deren Namen erst zu überprüfen, sondern liefert dir
einfach das, was er für richtig hält.

Aber du bist ja ohnehin nicht davon abzubringen, dass deine Methode
die beste der Welt sei, was auch immer dir an Einwänden entgegnet
wird und für wie krückig auch immer andere deine Idee halten.  Dann
mach einfach.

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Rainer Reusch schrieb:
> Die von mir nun angestrebte Lösung halte ich inzwischen für sehr
> praktikabel (alle heute durchgeführten Tests verliefen positiv).

Leider ist es in der Regel unmöglich in komplexen Systemen/Szenarien 
allein aufgrund der Bereichsgröße ALLE Werte zu prüfen

> Die gemachten Einwände und Bedenken sind zwar berechtigt, man muss
> aber auch in Erwägung ziehen, wie groß die Wahrscheinlichkeit ist

Es reicht wenn EIN Server/Dienst die Grätsche macht oder hängt weil 
irgendwer ihn mit Scan-Paketen bombardiert und schon ist der Kunde (zu 
recht) sauer.

> Ok, die Idee ist dank dieses Forums nun publik, ich gehe trotzdem nicht
> davon aus, dass die Welt jetzt mit Geräten überflutet wird, die mit dem
> gleichen Trick arbeiten.

Der "Trick" ist einfach Mist (und ich darf mich leider ständig mit 
solchen "Trickreichen" Geräten rumärgern), spätestens wenn irgendwo ein 
Router oder VPN oder Firewalls oder ... zwischenhängt geht das doch 
schief, bei DHCP kann man doch einfach anhand der MAC (die man auf das 
Gehäuse druckt) feststellen welche IP das Gerät erhalten hat.

Jörg Wunsch schrieb:
> einen eigenen Hostnamen im DHCP mitliefern

Bei einigen Geräten wird da einfach die MAC (oder ein Teil davon) 
genutzt, die sollte ja immer bekannt sein, ist einmalig und funktioniert 
dan auch mit mehreren gleichartigen Geräten im Netz.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Läubi .. schrieb:
> Bei einigen Geräten wird da einfach die MAC (oder ein Teil davon)
> genutzt, die sollte ja immer bekannt sein, ist einmalig und funktioniert
> dan auch mit mehreren gleichartigen Geräten im Netz.

Da fällt mir noch ein: wenn man die MAC-Adresse kennt und sich
innerhalb der broadcast domain befindet, dann kann man natürlich
auch das ganze Netz mit ARP probes (für jede Adresse einzeln)
abklappern, bis man die gewünschte MAC-Adresse gefunden hat.  Das
ist auf jeden Fall verhältnismäßig wenig “intrusive”.

von Malte S. (maltest)


Lesenswert?

Jörg Wunsch schrieb:
> wenn man die MAC-Adresse kennt und sich
> innerhalb der broadcast domain befindet, dann kann man natürlich
> auch das ganze Netz mit ARP probes (für jede Adresse einzeln)
> abklappern

Oder gleich per Unicast auf Layer 2 mit dem Ding kommunizieren und sei 
es nur, um die IP mitgeteilt zu bekommen. Allemal sauberer als 
irgendwelche Scan-Aktionen, die direkt das IDS auf den Plan rufen. Es 
soll auch Switche geben, die bei Broadcast-Spielereien schnell mal einen 
Port stilllegen, bis der Admin eingreift - und das verursachende Gerät 
oder Programm aus dem Netz verbannt ;-)

von Peter II (Gast)


Lesenswert?

Malte S. schrieb:
> Oder gleich per Unicast auf Layer 2 mit dem Ding kommunizieren und sei
> es nur, um die IP mitgeteilt zu bekommen.

und wie? Soll der Nutzer manuell die MAC eintragen?

> Es
> soll auch Switche geben, die bei Broadcast-Spielereien schnell mal einen
> Port stilllegen, bis der Admin eingreift - und das verursachende Gerät
> oder Programm aus dem Netz verbannt ;-)
er soll ja nicht DoS machen sondern einen "Rundruf". Wenn der Port dann 
schon dicht gemacht wird, würde ja nicht mal dhcp funktionieren.

von Malte S. (maltest)


Lesenswert?

Peter II schrieb:
> und wie? Soll der Nutzer manuell die MAC eintragen?

Darum ging es doch, dass die ja bekannt ist und sich die IP daraus 
ermitteln lässt. Am DHCP-Server oder eben auf Layer 2. Die MAC lässt 
sich im Zweifelsfall schnell aus der Inventar-DB kopieren. Und sonst 
kann das UI des Admin-Tools das auch komfortabler machen, indem es z.B. 
die Herstellerkennung schon vorgibt. Bei entsprechender Vergabe 
entspricht der MAC-Suffix der Seriennummer oder lässt sich aus dieser 
zusammen mit dem Gerätetyp errechnen, was wiederum das Tool machen kann. 
Dann müsste nur eine im Zweifelsfall noch kürzere Seriennummer 
eingetragen werden.

Peter II schrieb:
> er soll ja nicht DoS machen sondern einen "Rundruf". Wenn der Port dann
> schon dicht gemacht wird, würde ja nicht mal dhcp funktionieren.

Klar, aber wenn die Dosierung der Pakete mit dem Holzhammer erfolgt ;)

von Peter II (Gast)


Lesenswert?

Malte S. schrieb:
> Darum ging es doch, dass die ja bekannt ist und sich die IP daraus
> ermitteln lässt. Am DHCP-Server oder eben auf Layer 2. Die MAC lässt
> sich im Zweifelsfall schnell aus der Inventar-DB kopieren.

Als Admin will ich nicht irgendwelche Zahlenkolonnen abschreiben oder 
kopieren. Da will ich ein Programm starten und meine Geräte sehen.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Peter II schrieb:
> Da will ich ein Programm starten und meine Geräte sehen.

Es geht doch hier ausschließlich um die initiale Kontaktaufnahme.

von Peter II (Gast)


Lesenswert?

Jörg Wunsch schrieb:
>> Da will ich ein Programm starten und meine Geräte sehen.
>
> Es geht doch hier ausschließlich um die initiale Kontaktaufnahme.

nein, wenn man etwas weiterdenkt geht es auch um das später 
wiederfinden. Wem ist es nicht schon mal passiert, das man die IP von 
eine Gerät vergessen hat?

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Peter II schrieb:
> nein, wenn man etwas weiterdenkt geht es auch um das später
> wiederfinden.

Und wenn man ganz weiterdenkt könnte man ja eine Speichernfunktion 
einbauen. ;-)

Und das der "Recovery-Fall" ggf. nicht ganz so komfortabel ist muss ja 
nun kein Beinbruch sein.

Es ging außerdem ja nur darum einen eindeutig dem Gerät zuordne baren 
Wert der auch ohne Display verfügbar ist zu erhalten ohne jedes gerät 
noch zusätzlich mit einem "Namen" ausstatten zu müssen...
Die Xports nutzen z.B. die letzten 6 Hex Pärchen ... Das ist weniger als 
die Durchschnittliche Telefonnummer oder eine IBAN...

von Stephan (Gast)


Lesenswert?

@Rainer Reusch

Hast das Problem gelöst oder hast einfach aufgegeben???

von Rainer R. (Firma: Reusch Elektronik) (reusch)


Lesenswert?

@ Stephan
Nein, keineswegs! Die Diskussion ist in eine Richtung abgedriftet, die 
für mich weniger von Interesse ist. Es ist zwar nett, dass sich hier 
einige Gedanken darüber machen, wie ich mein Projekt realisieren könnte, 
aber danach habe ich eigentlich nicht gefragt. Für mich ist das Problem 
gelöst, eben auch durch ein paar Beiträge in diesem Thread (insbesondere 
auch von Dir). An dieser Stelle vielen Dank an alle! Ich möchte mich 
hiermit aus der Diskussion ausklinken. Wer Lust hat, darf natürlich 
weiter machen. Um das zu befeuern, fasse ich hier meine endgültige 
Lösung nochmal zusammen:

1) Der Endanwender bekommt das Gerät so ausgeliefert, dass es zunächst 
per DHCP seine IP-Adresse bezieht.

2) Der Endanwender wird darüber informiert, dass während der 
Inbetriebnahme nur ein Gerät (meines Typs) im LAN vorhanden sein darf.

3) Der Endanwender wird angewiesen, dem Gerät eine feste IP-Adresse zu 
zu weisen (Konfigurationsdialog im Windows-Programm), weil es keinen 
Namen in einem DNS-Server hinterlegen kann, über den es gefunden werden 
könnte.

4) Damit der Endanwender das Gerät zur Konfiguration findet, muss er die 
ersten drei Adress-Zahlen des lokalen Netzwerks in einen Dialog 
eingeben.

5) Zum finden des Geräts während der Einrichtung betätigt er einen 
Button. Daraufhin wird eine TFTP-Leseanfrage (lesen einer bestimmten 
Datei) an die Adresse x.y.z.255 (x, y und z sind die Benutzereingaben) 
geschickt. Das entspricht im Grunde auch einem Broadcast. Das 
angeschlossene Gerät liefert die "Datei", die die tatsächliche 
IP-Adresse enthält. Wird keine Datei geliefert, ist das Gerät nicht 
angeschlossen.

6) Zur weiteren Konfiguration wird die tatsächliche (per DHCP vergebene) 
IP-Adresse verwendet.

7) Der Endanwender gibt eine neue (feste) IP-Adresse ein. Sie wird an 
das Gerät übermittelt und dort gespeichert. Die Windows-Software und das 
Gerät verwenden künftig diese feste Adresse (nach einem Neustart). Auch 
künftige Konfigurationen (auf demselben PC) laufen künftig über die 
gespeicherte IP-Adresse.

Dieser Trick mit der IP-Adresse x.y.z.255, der hier den Diskussionsstoff 
geliefert hat, wird während eines PC-Lebens vielleicht nur ein-, zweimal 
angewendet!
Ich hoffe, das jetzt für alle verständlich erläutert zu haben. Jetzt 
dürft ihr euch gerne wieder darüber auslassen.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Rainer Reusch schrieb:
> Ich hoffe, das jetzt für alle verständlich erläutert zu haben.

Ja.  Wir sind jetzt Bilde, dass deine Methode bei einem Netz mit
einer Maske von ungleich 24 Bit nicht funktioniert …

Nach sowas wie IPv6 werden wir dann erst im 22. Jahrhundert fragen. :)

: Bearbeitet durch Moderator
von Malte S. (maltest)


Lesenswert?

Rainer Reusch schrieb:
> Dieser Trick mit der IP-Adresse x.y.z.255, der hier den Diskussionsstoff
> geliefert hat, wird während eines PC-Lebens vielleicht nur ein-, zweimal
> angewendet!

Und nochmal der Hinweis auf Netze, deren Broadcast-Adresse z.B. 
x.y.z.127 lautet...

von Rainer R. (Firma: Reusch Elektronik) (reusch)


Lesenswert?

Ich habe eure nicht völlig von der Hand zu weisenden Bedenken vernommen! 
IPv4 setze ich schlichtweg voraus. Ich denke, das ist in einem lokalen 
Netz auch kein Problem (auch nicht in 10 Jahren). Ich werde das Produkt 
(bei dem es sich übrigens um kein Massenprodukt für den unbedarften 
Privatanwender handelt) aber jetzt so mal auf den Kunden los lassen. Die 
Erfahrung wird zeigen, ob es Probleme gibt.
Und wenn, kann man den Kunden anweisen, zur Konfiguration den PC vom LAN 
vorübergehend zu trennen und nur das Gerät an zu schließen (über Switch 
oder Crossover-Kabel). Im Einzelfall kann das Gerät auch schon ab Werk 
mit einer gewünschten IP-Adresse ausgeliefert werden.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Rainer Reusch schrieb:
> Und wenn, kann man den Kunden anweisen, zur Konfiguration den PC vom LAN
> vorübergehend zu trennen und nur das Gerät an zu schließen

Woher bekommt das Gerät dann eine IP-Adresse, wenn es DHCP machen
will?

> IPv4 setze ich schlichtweg voraus. Ich denke, das ist in einem lokalen
> Netz auch kein Problem (auch nicht in 10 Jahren).

Zeitgemäß ist es ja schon heute nicht mehr.

> Ich werde das Produkt
> (bei dem es sich übrigens um kein Massenprodukt für den unbedarften
> Privatanwender handelt)

Eben darum kann die /24er Netzmaske durchaus zum Problem werden.  Gerade
in Unternehmen und Institutionen gibt es durchaus deutlich mehr als
die pseudo-Standard-Variante 192.168.1.0/24.

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.