Netwerkprotocols – SMB/NetBIOS/NetBEUI

1
144
Dit artikel is deel 13 van 35 in het DiskIdee dossier Netwerken ontsluierd (cursus)
DossiernavigatieNetwerkprotocols – IPX en Novell NetWareNetwerkprotocols – TCP/IP

Zoals we al eerder bespraken, zijn de drie meestgebruikte netwerkprotocollen voor moderne pc’s TCP/IP, IPX en SMB/NetBIOS/NetBEUI. In de twee vorige delen kwamen TCP/IP en IPX/SPX aan de beurt, nu vertellen we je het een en het ander over SMB/NetBIOS/NetBEUI.
netwerken
Misschien denk je dat Microsoft het warm water inzake netwerken uitvond, maar dat is niet zo. Lang voor dat Microsoft of het internet zelfs maar bestond, werd TCP/IP al gebruikt om Unix-systemen met elkaar te laten netwerken. En toen even later Xerox afkwam met XNS en Novell daaruit IPX distilleerde, hadden we volop client-serveractiviteiten. Het probleem was, dat specifieke applicaties met elkaar moesten afspreken wie client en wie server zou zijn, ofwel was er een centrale server en werden alle applicaties verondersteld clients te zijn voor die centrale server. IBM wou een oplossing hebben voor heel kleine netwerken zodat evenkniecommunicatie (peer-to-peer) mogelijk zou zijn met een eenvoudige manier voor het uitwisselen van bestanden en het gebruiken van elkaars randapparaten. Om snelheid te winnen, werd bovendien de routeerbaarheid overboord gegooid.

NetBIOS en NetBEUI
NetBIOS zag het licht in september 1984. Wat is NetBIOS? De naam staat voor “Network Basic Input/Output System”. Dat is een interface die toelaat dat clients en servers met elkaar babbelen via een bepaald netwerkprotocol. Herinner je dat de traditionele netwerkprotocols (TCP/IP, IPX/SPX en andere) een client-serversysteem verwachten en dus applicaties die die rol spelen. NetBIOS kun je vergelijken met een dergelijke applicatie, maar dan eentje die een heleboel netwerkfuncties biedt en niet gewoon één. NetBIOS heeft dus een netwerkprotocol nodig: vandaar NetBIOS over TCP/IP, of NetBIOS over IPX. IBM kwam op het idee dat als je in een heel klein netwerk zit en routeren niet nodig is, dat je dan NetBIOS ook rechtstreeks op het netwerk kan duwen – dus zonder via een netwerkprotocol te werken. Dat lijkt heel sterk op Ethernet: allemaal NetBIOS-machines die over het netwerk zitten te roepen naar elkaar. Netwerkprotocollen communiceren van een zender naar een ontvanger via een welbepaald pad, maar als je het netwerkprotocol overboord gooit kun je dat niet meer. Vandaar dat een NetBIOS-zender gewoon schreeuwt en hoopt dat de boodschap ontvangen wordt. NetBIOS rechtstreeks op het netwerk duwen kreeg ook een naam: NetBEUI (NetBIOS Extended User Interface). De juiste benaming is dus ‘NetBIOS over NetBEUI’ (naar analogie met ‘over TCP/IP’ of ‘over IPX’), maar IBM noemde het later gewoon ‘NetBIOS’ terwijl Microsoft van ‘NetBEUI’ sprak. Ze bedoelen beide dus NetBIOS over NetBEUI. De boodschappen die NetBIOS-zenders en -ontvangers uitwisselen heten Server Message Blocks of kortweg SMB’s. Vandaar SMB-clients en SMB-servers.

SMB
Microsoft probeert de geschiedenis te herschrijven door SMB-netwerken nu ‘Windows Networking’ te noemen en het interfaceprotocol noemen ze ook niet SMB maar CIFS (Common Internet File System). Laten we ons echter bij de originele geschiedenis houden en dus bij SMB en NetBIOS/NetBEUI. Het is wel een feit dat het hele netwerkverkeer tussen Windows-systemen via SMB’s loopt en Windows computers zijn dus SMB-clients en -servers. Toen SMB zo populair geworden was, dat men ook vanuit Unix in staat wilde zijn met dergelijke platforms te netwerken, werd SAMBA geboren. In dat woord herken je dus SMB. SAMBA ondersteunt wel alleen NetBIOS over TCP/IP (anders zou het onmogelijk in Unix of Linux te integreren zijn). Je kunt er meer informatie over vinden op www.samba.org. Het grote voordeel van SMB is, dat het erg eenvoudig is. Het maakt bijna niet uit wie de SMB-client en wie de SMB-server schreef, ze kunnen vrijwel altijd met elkaar babbelen. SMB is beschikbaar voor alle netwerkplatforms van IBM en van Microsoft, maar ook van derden zoals Lantastic, DEC PathWorks, verschillende Unix-varianten en natuurlijk het SAMBA-project. Om een SMB-client met een SMB-server te laten babbelen, moeten ze wel hetzelfde netwerkprotocol gebruiken – anders lukt het niet. Soms zijn er ook incompatibiliteiten omdat een leverancier zijn eigen SMB-dialect gebruikt in plaats van zich aan standaarden te houden (raad eens wie). Tegenwoordig mag je er vrijwel zeker van zijn dat je via SMB tenminste aan elkaars bestanden kunt en vaak ook aan printers. Mits striktere implementatie van de SMB-standaard is nog meer mogelijk, zoals het over een netwerk gebruiken van seriële modems. De geringste dialectvorming heeft echter tot gevolg dat de SMB-systemen alleen gebruik kunnen maken van de grootste gemene deler aan eigenschappen. Dat betekent dat het mogelijk is dat sommige SMB-functies niet werken tussen implementaties van verschillende fabrikanten.

Schreeuwen of niet schreeuwen?
Alleen in hele kleine netwerkjes heeft NetBIOS over NetBEUI een voordeel. Omdat het niet routeerbaar is en geen onderliggende administratie meer heeft, is het sneller én veiliger (niemand kan eraan vanaf het internet). Omdat de SMB-clients en-servers tegen elkaar roepen en schreeuwen, heb je wel veel meer netwerktransmissies. Bij iets grotere netwerken met meer gebruikers gaat je effectieve werksnelheid dus al vlug omlaag. In dat geval kun je beter wel gebruik maken van een netwerkprotocol zoals TCP/IP of IPX. Maar bij NetBIOS over TCP/IP moet je strenge beveiligingen aanbrengen, anders geef je iedereen met een eigen SMB-platform op het internet (dus iedereen met bijvoorbeeld een Windows pc) vrije toegang tot de bestanden en data op jouw computer(s)! NetBIOS over IPX wordt alleen door Microsoft gebruikt en je kunt hiermee dus alleen Windows pc’s met elkaar netwerken.

Vorig artikelNetwerkprotocols – TCP/IP
Volgend artikelNetwerkprotocols – IPX en Novell NetWare

1 REACTIE

  1. Hallo,
    Is het dan beter om die functie uit te zetten?
    Hoe weten we wat ze zenden en/of ontvangen?
    grtz Whisper

Reacties zijn gesloten.