Netwerkprotocols – IPX en Novell NetWare

2
163
Dit artikel is deel 12 van 35 in het DiskIdee dossier Netwerken ontsluierd (cursus)
DossiernavigatieFDDINetwerkprotocols – SMB/NetBIOS/NetBEUI

IPX is waarschijnlijk naast TCP/IP een van de oudste netwerkprotocollen. Het is een uitvindsel van Novell en het heeft zelfs de Microsoft-overstroming overleefd.
nwt17_netware
Zoals we vorige keer al bespraken, zijn de drie meestgebruikte netwerkprotocollen voor moderne pc’s TCP/IP, IPX en SMB/NetBIOS/NetBEUI. Vorige keer kwam TCP/IP aan de beurt, nu bespreken we IPX en in het volgende deel zal het over SMB/NetBIOS/NetBEUI gaan. Misschien denk je dat Microsoft het warme water betreffende 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. Toen het internet geboren werd, bestond dat eigenlijk alleen maar binnen academische kringen: universiteiten gebruikten het om hun computers met elkaar te laten communiceren en onderling informatie uit te wisselen. In de bedrijfswereld zocht men ook naar een manier om computers met elkaar te laten praten in een tijd dat pc’s met DOS nog de norm waren. Een toen nog piepklein bedrijf genaamd Novell bood een oplossing in de vorm van nieuwe netwerkprotocollen en een serverbesturingssysteem dat bestanden en printers ter beschikking kon stellen aan de netwerkstations onder DOS. Dat besturingssyteem heette dus Novell NetWare en het was gebaseerd op het netwerkprotocol IPX.

Xerox
Als je nu dacht dat Novell van nul begonnen was, zit je verkeerd. Alles begint namelijk bij Xerox. Ja hoor, dezelfde firma die ook al verantwoordelijk was voor het ontwerp van de muis, de grafische werkomgeving of GUI en zelfs voor het ontstaan van Ethernet. In de late jaren 1970 ontwikkelde en publiceerde Xerox een open netwerkstandaard onder de naam XNS of ‘Xerox Network Specification’. Deze XNS-standaard beschreef een aantal protocollen voor het onderling netwerken van computers voor algemene doeleinden, maar de nadruk lag heel sterk op lokale netwerken of LAN’s. De twee basisnetwerkprotocols in de XNS-specificatie heetten IDP (Internet Datagram Protocol) en SPP (Sequenced Packet Protocol). IDP was bedoeld voor verbindingloze en per definitie onbetrouwbare transporten van netwerkpakketten (die dus ook wel datagrams heten) van het ene netwerkstation naar het andere, terwijl SPP een gewijzigde vorm van IDP was en dus wel een verbinding maakte en daarmee een betrouwbaar transport tot stand bracht. De netwerkpakketten van XNS hadden elk een bron- en bestemmingsadres aan boord. Zo’n XNS-adres bestond uit een combinatie van een vier bytes groot IDP-adres dat verwees naar het netwerksegment waarin het netwerkstation zich bevond (vergelijkbaar met een subnet bij TCP/IP, maar niet helemaal) en een zes bytes groot knooppuntadres, in feite het MAC (Media Access Layer)-adres van de netwerkkaart.

Routers
XNS kende ook al routers: die schakelden XNS-pakketten tussen twee of meer IDP-netwerksegmenten. IDP kende echter geen subnetten zoals die bij TCP/IP gebruikelijk zijn: als er een nieuwe verzameling netwerkstations aan het XNS-netwerk toegevoegd werd, moest daarvoor een nieuw IDP-netwerkadres toegewezen worden. Novell vertrok dus van deze XNS-specificatie. Ze hadden zo hun eigen ideeën en brachten dus verbeteringen aan in IDP en SPP en gaven ze een nieuwe naam: IPX en SPX.

IPX en SPX
IPX staat voor ‘Internet Packet eXchange’ en SPX voor ‘Sequenced Packet eXchange’. Novell bouwde daarop verder en voegde protocollen van een hoger niveau toe. Zo moest NCP (NetWare Core Protocol) zorgen voor het delen van bestanden en printers via IPX. Een ander protocol heette SAP – Service Advertisement Protocol – en daarmee konden netwerkstations in een Novell-netwerk aan elkaar laten weten welke diensten zij verstrekten. NCP kun je in de Unix-wereld het best vergelijken met NFS (Network File System), voor SAP bestaat er geen equivalent. Als je in een TCP/IP-omgeving wil weten welke diensten een bepaald netwerkstation verstrekt, moet je een zogenaamde poortenscan uitvoeren. Novell werd gesticht in 1982 en bracht zijn eerste NetWare-versie op de markt in 1983. De echte doorbraak liet echter op zich wachten tot 1989 met NetWare 386.

Het NetWare-model
In NetWare verzorgt IPX de netwerklaag en SPX de transportlaag uit het OSI-model. Daarna wordt het een beetje modderig, want NCP werkt ook in de transportlaag, maar omvat daarnaast eveneens de sessie- en presentatielaag. De zevende OSI-laag is de applicatielaag en bij NetWare wordt die gevormd door NLM’s (NetWare Loadable Module). De NLM’s mag je beschouwen als de EXE-bestanden van Windows: het gaat om de applicaties van NetWare. Het leuke aan NLM’s is dat je die na het laden ook weer kunt “ontladen”, uit het werkgeheugen halen. In een NetWare-client onder DOS praten DOS en de DOS-software met NETX, een resident programma dat alles in NCP-pakketten indeelt. Vervolgens gaan de NCP pakketten naar een ander resident programma dat ze in IPX-pakketten inkapselt. Daarna moeten de IPX-pakketten uitgewisseld worden met de sturing voor de netwerkkaart. NetWare voorzag twee manieren om de vertaling van NCP via IPX naar de netwerkkaartsturing toe mogelijk te maken: een IPX-pakketsturing en een ODI/MLID-sturing. Deze ODI/MLID-sturingen zijn recenter dan de IPX-pakketsturingen en werden ontworpen om meerdere Ethernet-pakketformaten tegelijk te kunnen ondersteunen. ODI betekent ‘Open Data Link’ en MLID betekent ‘Multiple Link Interface Driver’. In DOS-omgevingen zie je dan ook het meest dat een resident programma genaamd IPXODI.COM draait samen een netwerkkaartsturing (bijvoorbeeld NE2000.COM voor NE2000-compatibele Ethernet netwerkkaarten). Om die twee nu als een geheel te doen samen werken diende een derde resident programma genaamd LSL.COM.

NDIS
In dezelfde periode kwam Microsoft met een eigen pakketsturing: NDIS (Network Device Interface Specification). Die moest de concurrentie aangaan met het ODI/MLID-systeem van Novell. Zoals we gewoon zijn van Microsoft namen de NDIS-sturingen meer geheugen in beslag en waren ze langzamer. Omdat ze bovendien eigenlijk ontworpen waren om verschillende netwerkprotocollen mee te ondersteunen, was hen samen gebruiken met NetWare zoiets als een vierkante staaf in een rond gat proberen te duwen. Niettemin deden zoveel mensen dat toch, dat Novell zich gedwongen zag een speciaal resident programma ODINSUP te maken dat NDIS-sturingen voor NetWare geschikt maakt. Bovenop dit alles draaide dan de werkstationschil of ‘requester’ (een ander woord voor client). Dat is de software die met de server praat en dus zorgt dat het hele netwerksysteem in je besturingssysteem hangt alsof het min of meer gewone drives zijn en waarmee je dus ook via de server kunt printen. De authenticatie (inlogprocedure) verloopt eveneens hierlangs. Novell had heel veel werk besteed aan de NetWare-bestandssystemen.

NDS
Met NetWare versie 4 kwam iets nieuws: Novell Directory Services of kortweg NDS. Het betekende een ware revolutie voor systeembeheerders, want het bood een hiërarchische structuur van alle netwerkbronnen (inclusief gebruikers, diensten, servers en gedeelde volumes en printers) die centraal beheerd kon worden. Helaas koos Novell ervoor om alles in verband met NDS strikt geheim te houden: de NDS-specificaties kunt u niet krijgen zonder een NDA of ‘non-disclosure agreement’ (een geheimhoudingsovereenkomst) te ondertekenen. Dat verhinderde de ontwikkeling van brede ondersteuning van NDS in niet-Novell omgevingen zoals TCP/IP en Windows netwerken (behalve waar een en ander ontwikkeld werd door of in licentie kwam van Novell). Dit gaf Microsoft een kans om te proberen een eigen directorystandaard te introduceren toen ze tegelijk met Windows 2000 Server Active Directory op de markt brachten. Dat was lang niet het enige probleem voor Novell: gelijk bij de introductie van NetWare 4 maakte Novell de kapitale fout de kleine KMO-netwerkjes te vergeten die volledig steunden op NetWare 3.X. NetWare 4 vereiste heel wat krachtiger hardware dan voorganger NetWare 3.12 en bovendien was NDS nu verplicht, wat heel wat meer configuratie vereiste. Het gevolg was dat heel wat van die kleinere netwerken kozen voor Windows NT, met de bekende gevolgen voor Novell.

Microsoft
Dat alles nam niet weg dat IPX een heel populair netwerkprotocol was voor DOS-systemen en Microsoft kon er dan ook nauwelijks omheen. Toen Windows 95 in augustus 1995 op de markt kwam, zag Microsoft zich dan ook verplicht zo breed mogelijk netwerkprotocollen te ondersteunen. De belangrijkste waren IPX en TCP/IP. Microsoft kapselde zijn eigen NetBIOS-protocol voor het netwerken van Windows-machines in zowel IPX als TCP/IP en daardoor konden pc’s Windows 95 (en hoger) elkaar altijd vinden, of het aangesloten netwerk nu met IPX, TCP/IP of NetBEUI (Microsoft-specifieke variant van NetBIOS) werkte. Misschien is het nu ondenkbaar, maar een van de redenen waarom IPX als netwerkprotocol erg populair was, was – naast de kwaliteiten van NetWare – het verschijnen van de eerste spelletjes die over een netwerk gespeeld konden worden. Vrijwel onveranderlijk ondersteunden die IPX.

Ten slotte…
Je hebt wel gemerkt dat we in verband met IPX niet zo in detail gegaan zijn als bij het vorige deel met TCP/IP. De voornaamste reden daarvoor is dat IPX sterk in belang afneemt. Nu Novell in marktaandeel steeds verder afglijdt ten voordele van Windows en zelfs Linux en zijn nieuwe NetWare-versies sowieso steeds meer op TCP/IP richt, ziet het ernaar uit dat IPX ten dode opgeschreven is. Bijgevolg heb ik deze tekst meer als een soort van geschiedenis van de eerste pc-netwerken opgevat.

Vorig artikelNetwerkprotocols – SMB/NetBIOS/NetBEUI
Volgend artikelFDDI

2 REACTIES

  1. Ik heb een vraag, ik heb 2 pc\’s, en die heb ik in netwerk staan, een pc met windows 95, en 1 pc met windows XP. Ik wil daar een oud spel op spelen, tegen elkaar, maar dat spel werkt nog met IPX. Bij die oude pc werkt dat wel, maar ik heb vanalles geprobeerd maar bij deze windows XP pc werkt het maar niet, en mijn vraag is, kan je het wel laten werken, zodat deze pc met windows XP ook met IPX kan werken?? PLZ help me ff. Mail ff naar: machothijs@hotmail.com

Reacties zijn gesloten.