Forum: Mikrocontroller und Digitale Elektronik TCP/IP Stack mit NetBIOS


von Mike Tobler (Gast)


Lesenswert?

Hallo!
Ich suche einen Embedded TCP/IP Stack, welcher auch NetBIOS unterstützt. 
Das heisst, einen TCP/IP Stack für uC, welcher auch das Protokoll 
NetBIOS unterstützt.
Gibt es das überhaupt?

Gruss
Mike

von (prx) A. K. (prx)


Lesenswert?

Mike Tobler schrieb:

> Ich suche einen Embedded TCP/IP Stack, welcher auch NetBIOS unterstützt.
> Das heisst, einen TCP/IP Stack für uC, welcher auch das Protokoll
> NetBIOS unterstützt.

NetBIOS selbst, oder NetBIOS over TCP/IP aka NetBT? Und nur NetBIOS, 
oder dann gleich auch noch das, was man heute meistens damit macht, 
nämlich SMB/CIFS?

In der Grössenklasse nennt sich dieser "Embedded TCP/IP Stack" 
beispielsweise Linux mit Samba.

von Mike Tobler (Gast)


Lesenswert?

Hallo!
Danke für deine Antwort.
Mir geht es darum, z.B. einen Webserver mit seinem Namen anzusprechen, 
ohne dabei die IP-Adresse von diesem zu wissen. Das geht für gewöhnlich 
mit DHCP bzw. DNS. Ich möchte aber kein DHCP und habe keinen DNS. 
Deshalb bevorzuge ich den Namensaustausch via NetBIOS. Nun, ich denke, 
dass die üblichen Embedded TCP/IP Stacks (z.B. Interniche, lwIP etc.) 
dieses NetBIOS nicht unterstützen und nicht integriert haben.

Oder gibt es doch irgendwo noch einen TCP/IP Stack, der das unterstützt 
(ausser Linux oder Windows CE)?

Gruss
Mike

von (prx) A. K. (prx)


Lesenswert?

Du hast nicht die Frage nicht beantwortet, ob es dir um NetBT oder um 
NetBIOS geht.

Der Webserver wird auf NetBT überhaupt nicht regieren. Die Maschine 
dieses Webservers vielleicht schon, aber nur wenn dort Windows läuft, 
oder Samba. NetBIOS auch nur bis Win2000. Zudem wird sie nur im lokalen 
Netzsegment direkt darauf hören. Geroutetes NetBT ist ein bischen 
komplizierter und verwendet das veraltete WINS oder -grins- DNS.

Nope, lass das bleiben, NetBIOS ist sehr tot und die Namensauflösung vom 
NetBT dümpelt im Windows noch ein bischen herum, ist aber auch 
hoffnungslos veraltet.

von holger (Gast)


Lesenswert?

>Ich möchte aber kein DHCP

Prima, dann hat der ja ne feste Adresse.

>und habe keinen DNS.

Aber eine hosts Datei. Trag ihn da ein und gut ists.
Mach ich immer so.

von Andreas W. (andreasw) Benutzerseite


Lesenswert?

@Mike:
Die NetBT-Namensauflösung (NBNS) ist relativ einfach und kann man 
eigentlich in jeden Ethernetstack einbauen:
http://code.google.com/p/arm-webradio/source/browse/trunk/src/eth/nbns.c
http://code.google.com/p/arm-webradio/source/browse/trunk/src/eth/nbns.h

NetBT + SMB auf einem AVR:
http://www.gurulib.com/_project/wmp3/index.htm

von Mike Tobler (Gast)


Lesenswert?

Hallo!
Ehrlich gesagt, erkenne ich nicht direkt den Unterschied von NetBIOS und 
NetBT!

Windows7 unterstütz auf jeden Fall auch NetBIOS (man kann es zumindest 
in den TCP/IP Settings einstellen). Wie kommst du darauf, dass NetBIOS 
nur bei W2000 unterstützt wird?

Sorry Leute, ich bin da nicht so der Crack. Aber was genau ist der 
Unterschied zwischen NetBIOS und NetBIOS TCP/IP (oder eben NetBT)???

Nochmals genauer: Ich habe einen Embedded-Webserver (TCP/IP Stack mit 
HTTP), dessen DHCP-Client Dienst ausgeschaltet ist. Ich gehe mit meinem 
Labtop (Labtops haben für gewöhnlich keinen DNS) an diesen Webserver und 
weiss nur dessen Namen z.B. "Web1" (ich kenne die statische IP-Adresse 
des Webservers nicht).
Nun verbinde ich meinen PC mit dem Webserver und möchte im 
Labtop-Webbrowser (z.B. Firefox, IE etc) über die Eingabe des Namens 
"Web1" in der URL-Leiste den Webserver "anzapfen". Irgendwie sollten 
diese doch mit NetBIOS oder NetBT die Namen austauschen, so dass ich in 
der URL-Zeile des Webbrowsers nur den Namen des Webservers eingeben 
muss.

Das sollte doch mit NetBIOS oder eben NetBT gehen?

Gruss
Mike

von (prx) A. K. (prx)


Lesenswert?

Mike Tobler schrieb:

> Ehrlich gesagt, erkenne ich nicht direkt den Unterschied von NetBIOS und
> NetBT!

Das klassische NetBIOS sitzt direkt auf dem Ethernet auf, ohne jede 
Beteiligung von TCP/IP. Es funktioniert nur in Broadcast-Netzen und ist 
daher nicht routingfähig. NetBT (aka NBT, NetBIOS over TCP/IP) entstand, 
als dies obsolet wurde und sitzt auf TCP/IP auf.

> Windows7 unterstütz auf jeden Fall auch NetBIOS (man kann es zumindest
> in den TCP/IP Settings einstellen). Wie kommst du darauf, dass NetBIOS
> nur bei W2000 unterstützt wird?

Als Netzwerkprotokoll steht NetBIOS seit Win2003/WinXP nicht mehr zur 
Verfügung. Nur noch TCP/IP V4, V6 und Novell. NetBT hingegen ist nach 
wie vor vorhanden, d.h. der NetBIOS-API, aber eben auf TCP/IP 
aufsitzend.

von (prx) A. K. (prx)


Lesenswert?

Mike Tobler schrieb:

> Das sollte doch mit NetBIOS oder eben NetBT gehen?

Nein. Der Browser interessiert sich nicht für NetBIOS und wird dies 
nicht für die Namensauflösung von HTTP-URLs verwenden.

von Simon K. (simon) Benutzerseite


Lesenswert?

A. K. schrieb:
> Mike Tobler schrieb:
>
>> Das sollte doch mit NetBIOS oder eben NetBT gehen?
>
> Nein. Der Browser interessiert sich nicht für NetBIOS und wird dies
> nicht für die Namensauflösung von HTTP-URLs verwenden.

Ist das so? Also ich kann über
http://simon/
Auf meinen lokalen Webserver zugreifen. Wobei SIMON der Rechnername ist.

von (prx) A. K. (prx)


Lesenswert?

Dieser Name ist auschliesslich per NetBIOS identifizierbar? 
Üblicherweise ist mehr Netz unterwegs, beispielsweise ein DSL-Router als 
DNS-Server, vielleicht automatisch kooperierend mit dem dort ebenfalls 
vorhandenen DHCP-Server, ...

Aber du könntest in Windows Recht haben, Namen ohne "." drin werden 
mindestens an manchen Stellen in Windows auch gegen die Namensauflösung 
von NetBT geprüft. Inwieweit jeder Browser dazu gehört weiss ich nicht. 
Ausserhalb von Windows ist das jedenfalls nicht so.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Das mag wohl sein, aber was lässt Dich annehmen, daß bei dieser 
Namensauflösung NetBios eine Rolle spielt?

von (prx) A. K. (prx)


Lesenswert?

Hab's grad ausprobiert. Wireshark zeigt, dass bei Eingabe eines Namens 
in IE8 und Opera (WinXP) sowohl per DNS als auch per NBNS angefragt 
wird, sogar wenn ein Punkt im Namen ist, solange er nicht zu lang ist. 
Offenbar arbeitet die Namensauflösung in Windows generell so, egal wer 
fragt.

Korrektur also: Wenn die Maschine des Webservers ihren Namen per NBNS 
rausrückt, dann wird das in Windows-Clients funktionieren.

von Mike Tobler (Gast)


Lesenswert?

Hallo!

Nur das Problem ist, dass gängige Embedded TCP/IP Stacks NBNS nicht 
unterstützen. Und soweit ich das überblicken kann, ist NBNS (NBT) wohl 
auch bereits nicht mehr das aktuellste, da kein IPv6 unterstützt wird. 
Selbst Microsoft ist dabei, das NBNS nicht mehr zu 100% zu unterstützen. 
MS macht den Vorschlag, NBNS und den DNS einzuschalten. Es wird 
derjenige Dienst unterstützt, welcher zuerst antwortet.

Mike

von Simon K. (simon) Benutzerseite


Lesenswert?

Rufus t. Firefly schrieb:
> Das mag wohl sein, aber was lässt Dich annehmen, daß bei dieser
> Namensauflösung NetBios eine Rolle spielt?

Weil der einzige DNS Server hier der Router ist. Und SIMON nur als 
NetBios Name im Netzwerk vorkommt.

von Andreas F. (aferber)


Lesenswert?

Simon K. schrieb:
> Weil der einzige DNS Server hier der Router ist. Und SIMON nur als
> NetBios Name im Netzwerk vorkommt.

Den eigenen Namen kann der Rechner in der Regel ganz ohne DNS, NBNS oder 
sonstwas auflösen.

Andreas

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.