Auf dieser Seite geht es um die grundlegenden Prinzipien, wie Samba (und auch Windows) Netzwerke funktionieren. Hier geht es nur um NetBIOS auf TCP/IP, da Samba nur dies unterstützt.
Dienste
Man kann sich NetBIOS wie eine eigene Netzwerkschicht vorstellen, die über der TCP/IP-Schicht liegt. Ähnlich wie TCP/IP stellt es 3 Dienste zur Verfügung:
Datagrammdienst
Der Datagrammdienst entspricht dem von TCP/IP mit den gleichen Vor- und Nachteilen. Allerdings gibt es keine Ports und die Rechner werden nicht direkt über IP-Adressen, sondern über Namen adressiert. Er wird über UDP-Pakete bewerkstelligt.
Sitzungsdienst
Der Sitzungsdienst entspricht in etwa den TCP-Verbindungen und ist auch als solcher implementiert. Auch hier wird über den Namen adressiert.
Namensdienst
Ordnet Namen eine IP-Adresse zu, arbeitet also ähnlich wie ein DNS. Üblicherweise gibt es in kleinen Netzen jedoch keinen zentralen Server. Für größere Netze wird ein zentraler WINS-Server verwendet.
Der Name besteht aus einer 15 Byte langen Zeichenkette und einem Typfeld, das aussagt, welcher Dienst zur Verfügung gestellt wird (es ist ein klein wenig mit einer Port-Nummer vergleichbar, aber der Vergleich hinkt). Folgende Tabelle zeigt, welches Typfeld welchem Dienst entspricht:
Dienst |
Typfeld |
Nur der Name |
00 |
Ein Name kann ein Einzelname (z.B. ein Rechnername) oder auch ein Gruppenname (z.B. der Name der Arbeitsgruppe), der von mehreren Rechnern benutzt wird, sein.
Welche Namen für einen Rechner reserviert sind, läßt sich bei Samba mittels nmblookup herausfinden.
Kleine Netze
Windows-Netzwerke sind wie geschaffen für kleine LAN-Parties. Man stöpselt alles zusammen und es läuft (wenn es läuft!), ohne dass man viel konfigurieren muss. Dafür skaliert es schlecht. Hier sollen also Windows-Netze in ihrer Urform vorgestellt werden.
Namensvergabe
Fährt ein Rechner hoch, so versucht er, seinen Namen im Netz zu reservieren. Dazu sendet er ein Broadcast-Paket und beansprucht seinen Namen. Das tut er einige Male. Widerspricht kein anderer Rechner im Netz, so geht er davon aus, dass er jetzt seinen Namen reserviert hat. Sollte der Name im Netzwerk bereits vergeben sein, wird der User des neu eingeschalteten PCs aufgefordert, einen anderen Namen zu wählen.
Literatur
Ein gutes Buch zum Thema ist "Samba für Unix/Linux Administratoren" (3-89864-193-7)
Mehr über das SMB-Protokoll: http://timothydevans.me.uk/n2c.html
NetBIOS Spezifikation: http://members.tripod.com/~Gavin_Winston/NETBIOS.HTM