Internet, Intranet & Webservices
9/1 Protocollen voor internet 9/1.1
Internet on line
Enkele van de functies van NetWare die het pakket tegenwoordig zo populair maken, waren in de eerste versies nog niet beschikbaar. Eén daarvan is de mogelijkheid met IntranetWare van internet en de bijbehorende services gebruik te kunnen maken. Bovendien is het mogelijk de betreffende functies te gebruiken voor een op internettechnologie gebaseerd bedrijfsnetwerk. Internet is momenteel met zekerheid de grootste publiekelijk toegankelijke online-informatiebron. Oorspronkelijk werd het netwerk opgezet voor de samenwerking tussen computers van universiteiten, waarna het een aantal jaren een sluimerend bestaan leidde. De afgelopen jaren heeft het echter een explosieve groei doorgemaakt en tegenwoordig is het de basis voor een groot aantal specifieke diensten. Voordat wordt ingegaan op de specifieke onderdelen en eigenschappen van internet worden voor een beter begrip eerst de algemene principes daarvan uiteengezet. Functie van internet Internet kan, algemeen uitgedrukt, als een enorme verzameling gegevens worden beschouwd, die op verschillende met elkaar verbonden computers, verspreid over de hele wereld, zijn opgeslagen. Internet bestaat uit kleine regionale netwerken, die over de hele aarde zijn verdeeld. Dagelijks verbindt het honderden miljoenen gebruikers in vrijwel alle landen van de wereld met elkaar.
Novell Netwerkoplossingen, basiswerk
9/1.1-1
Protocollen voor internet
Voorbeeld online-helpdesk www.Lanny.nl van WEKA Uitgeverij B.V.
Het grootste deel van de informatie op internet wordt aangeboden in de vorm van websites. De meeste daarvan zijn keurig vormgegeven, inclusief informatief beeldmateriaal, en zijn soms zelfs voorzien van bewegende beelden en geluid. Op veel pagina’s staan koppelingen (links) naar andere pagina’s. In principe kunnen alle sites in het hele netwerk zo met elkaar worden verbonden. Objectief beschouwd is internet echter alleen het fysieke wereldwijde netwerk van kabels, computers en bijbehorende componenten. Naar schatting zijn er op dit moment enkele honderden miljoenen knooppunten in dit netwerk, die continu bereikbaar zijn. Het world wide web, kortweg www of ‘het web’, is in tegenstelling tot internet een informatieforum in een abstracte (virtuele) ruimte binnen internet.
9/1.1-2
Novell Netwerkoplossingen, basiswerk
Internet, Intranet & Webservices
De grote kracht van het world wide web is dat het gebruikers van netwerken een uniform middel biedt om op eenvoudige wijze toegang te krijgen tot een groot aantal verschillende media. Met een algemeen verkrijgbare software-interface naar het web, de internetbrowser (bijvoorbeeld Netscape of Internet Explorer), heeft het webproject de wijze veranderd waarop mensen informatie bekijken en samenstellen en heeft daarmee het eerste echte hypermedia-netwerk geschapen.
Efficiënte communicatie
Historie internet Voor het begin van het web moeten we teruggaan naar maart 1989, toen Tim Berners-Lee van het Europese onderzoekscentrum voor kernenergie (CERN, een samenwerkingsverband van Europese kernfysici) een voorstel deed voor het opzetten van een project voor efficiënt transport van onderzoeksresultaten en -ideeën binnen de volledige organisatie. Efficiënte communicatie was binnen de CERN al een groot aantal jaren een belangrijke doelstelling, omdat de leden over een groot aantal landen waren verdeeld. Het eerste voorstel voor het project voorzag in een eenvoudig systeem voor het gebruik van hypertext in een netwerk, zodat documenten konden worden verzonden en de directe communicatie tussen wetenschappers mogelijk werd. Het was niet de opzet daar audio en video aan toe te voegen; er werd zelfs niet eens aan gedacht om beeldmateriaal te verzenden. Tegen het einde van 1990 werd de eerste websoftware op een NeXT-computer gepresenteerd. Daarmee konden hypertext-documenten worden weergegeven en naar andere mensen op internet worden verstuurd. Bovendien was het mogelijk de hypertext-documenten op het scherm te bewerken. Er werden demonstraties gegeven voor commis-
Novell Netwerkoplossingen, basiswerk
9/1.1-3
Protocollen voor internet
sies van de CERN, seminars georganiseerd en uiteindelijk volgde een openbare demonstratie tijdens de conferentie Hypertext ’91.
Mosaic
Vele jaren na het oorspronkelijke voorstel van het CERN startte het National Center for Supercomputing Applications (NCSA) een project voor de ontwikkeling van een interface voor de koppeling aan het world wide web. Een van de taken van het NCSA was wetenschappers met gemakkelijk verkrijgbare, niet-commerciële software te ondersteunen. Een ander doel was het bestuderen van nieuwe onderzoekstechnologieën om commerciële interesse op te wekken. Voor die doelen was het webproject bijzonder geschikt. De software design group van het NCSA begon met de ontwikkeling van een veelzijdige, platformonafhankelijke interface naar het world wide web en noemde die Mosaic. In het eerste half jaar van 1993 werd de eerste versie van de webbrowser van NCSA beschikbaar gesteld. Omdat er tijdens de ontwikkeling een aantal bètaversies was verspreid, had Mosaic bij het verschijnen van de officiële versie al een weliswaar kleine, maar trouwe schare aanhangers verworven. Omdat het veel lange, bestaande services kon bewerken en over een eenvoudige hypermedia-gebruikersomgeving met muisondersteuning beschikte, werd het al snel de belangrijkste interface naar het web. De actuele varianten van Mosaic (bijvoorbeeld Netscape Navigator) draaien op werkstations van Sun en Silicon Graphics, IBMcompatibele pc’s met Microsoft Windows, op Macintoshsystemen en op computers met verschillende UNIX-versies en varianten. In korte tijd hadden velen over de hele wereld hun bijdrage geleverd, websoftware en -documenten ontwikkeld en
9/1.1-4
Novell Netwerkoplossingen, basiswerk
Internet, Intranet & Webservices
anderen over het bestaan en de voordelen van het web verteld. Binnen enkele jaren had het een omvang gekregen waarvan de ontwikkelaars van het oorspronkelijke project nooit hadden durven dromen. In de eerste vier maanden van 1994 werd het world wide web door CNN, The Wall Street Journal, The Economist, Fortune Magazine, de New York Times en een groot aantal computervakbladen gebruikt, genoemd en geroemd.
Novell Netwerkoplossingen, basiswerk
9/1.1-5
Protocollen voor internet
9/1.1-6
Novell Netwerkoplossingen, basiswerk
Internet, Intranet & Webservices
9/1.2
ARPANET
Protocolstack
Principe van internet
Tegenwoordig valt niet meer te ontkennen dat het TCP/IPprotocol, dat wordt gebruikt voor de verzending van gegevens binnen een netwerk, een revolutionaire ontwikkeling is geweest. Let wel: het betreft hier niet het gestandaardiseerde OSI-protocol. Overigens wordt TCP/IP, dat staat voor transmission control protocol/internet protocol, ook wel met DoD- (Department of Defence) of ARPANETprotocol omschreven. De oorzaak van dit grote aantal namen voor hetzelfde product ligt in de ontstaansgeschiedenis van internet: aan het einde van de jaren zestig riep de toenmalige minister van defensie van de Verenigde Staten het zogenaamde ARPANET (Advanced Research Project Agency) in het leven, waaruit later internet is ontstaan. 9/1.2.1 Ontwikkeling van TCP/IP Met de stijgende populariteit van UNIX-systemen, waarin TCP/IP standaard is geïmplementeerd, steeg ook de populariteit van het TCP/IP-protocol voor gebruik in andere besturingssystemen. Bij TCP/IP gaat het eigenlijk om een familie van een groot aantal protocollen, die modulair met elkaar zijn verbonden, in verschillende lagen zijn ondergebracht en daarom ook wel met ‘protocolstack’ worden omschreven. Het TCP/IP in de huidige vorm werd halverwege de jaren zeventig door het Amerikaanse ministerie van defensie (Department of Defence) ontwikkeld. Daar bestond de noodzaak een systeem te ontwikkelen dat in principe via verschillende communicatiemedia, -systemen en -netwerken kon worden toegepast. Een dergelijk systeem moest ten minste de volgende diensten ter beschikking stellen: • mogelijkheid voor de verzending van bestanden; • aanmelding bij een andere computer; • toepassing als mail-systeem.
Novell Netwerkoplossingen, basiswerk
9/1.2-1
Protocollen voor internet
Uit dit eisenpakket werd TCP/IP geboren. Sinds 1969 werd het zogenaamde ARPANET ontwikkeld, dat op het TCP/IPprotocol is gebaseerd. In 1972 werd dit netwerk, dat bestond uit verschillende typen computersystemen, aan het publiek gepresenteerd. Met ARPANET beschikt het Amerikaanse ministerie van defensie ook vandaag de dag nog over een van de grootste netwerken die op TCP/IP zijn gebaseerd. In het ARPA-internet zijn een aantal verschillende netwerken op basis van de TCP/IP-protocolfamilie ondergebracht. De afzonderlijke subnetwerken beschikken over een gemeenschappelijk adresseringsgebied en een gemeenschappelijk namenbeheer, waarbij de afzonderlijke subnetwerken door gateways met elkaar zijn verbonden.
Semi-standaard
De verdere ontwikkeling van de TCP/IP-architectuur werd volledig onafhankelijk van het OSI-lagenmodel uitgevoerd en groeide uit tot een semi-standaard, die in geen enkel voorschrift exact is gedefinieerd. Er was alleen een groot aantal RFC’s (request for comment), waarin verschillende karakteristieken van TCP/IP zijn omschreven. De redenen hiervoor liggen voor de hand, want er werd gewacht op de grote doorbraak van de OSI-protocolfamilie. Toen die doorbraak niet kwam en de vraag naar een eenduidig protocol steeds groter werd, besloot een groot aantal bekende computerfabrikanten, zoals IBM, DEC, enzovoort, hun producten door TCP/IP te laten ondersteunen. De TCP/IP-architectuur ontwikkelde zich tot een van de belangrijkste netwerkarchitecturen voor de verbinding tussen verschillende computersystemen. Daarbij hielden – en houden – de meeste fabrikanten van computers, besturingssystemen en andere componenten zich consequent aan bepaalde regels, die de verbindingen van verschillende TCP/IP-implementaties en -integraties mogelijk maken. Intussen is TCP/IP uitgegroeid tot ‘het’ communicatiepro-
9/1.2-2
Novell Netwerkoplossingen, basiswerk
Internet, Intranet & Webservices
SNMP
IP-tunneling
tocol, dat bovendien ook nog een van de belangrijkste protocollen voor het netwerkbeheer beschikbaar stelt, namelijk het simple network management protocol (SNMP). Dat resulteerde in de loop der tijd haast onvermijdelijk in TCP/IP-implementaties voor computers, software (besturingssystemen en dergelijke) en alle andere apparatuur. Daartoe behoren onder andere implementaties in besturingssystemen als UNIX (uiteraard), IBM-MVS, DEC-VMS, DOS, OS/2 en Microsoft Windows. Fabrikanten die zich met hun producten niet conformeren aan TCP/IP hebben het moeilijk om met hun producten een plaatsje op de markt te veroveren. Sinds versie 3.11 is in het netwerkbesturingssysteem NetWare het TCP/IP-protocol geïmplementeerd en wel op een bijzondere wijze. Het is namelijk mogelijk twee netwerken die werken op basis van het IPX/SPX-protocol via een netwerk waarin TCP/IP wordt toegepast, met elkaar te laten communiceren, Het TCP/IP-protocol treedt in dat geval op als bemiddelaar tussen de twee IPX/SPX-netwerken. Dit proces wordt IP-tunneling genoemd. De IPX-pakketten worden daarbij in TCP/IP-pakketten ‘verpakt’ (encapsulation). In principe geldt dat TCP/IP het ‘hart van internet’ vormt. Doordat een gemeenschappelijk netwerkprotocol wordt gebruikt, kunnen verschillende typen hardwaresystemen en besturingssystemen met elkaar communiceren. Het wezenlijke verschil in architectuur tussen TCP/IP en IPX/SPX is dat voor de toepassing van TCP/IP ieder aan het netwerk gekoppeld systeem een bepaald IP-adres moet hebben, bijvoorbeeld 130.57.113.19. Iedere internetdeelnemer krijgt een adresseringsgebied toegewezen, zodat niemand dezelfde IP-adressen heeft als
Novell Netwerkoplossingen, basiswerk
9/1.2-3
Protocollen voor internet
een andere internetgebruiker. Bij internettoegang via een service-provider zal deze als onderdeel van de service een IP-adres of een serie IP-adressen ter beschikking stellen.
De werking van TCP/IP (bron: www.diskidee.be van Data Testlab).
TCP/IP is een verbindingsgeoriënteerd protocol. Dat betekent dat vóór de communicatie een verbinding van het ene naar het andere apparaat moet worden opgebouwd. Het verschil tussen verbindingsgeoriënteerde en niet-verbindingsgeoriënteerde protocollen is het beste aan de hand van een vergelijking tussen een telefoon- en een faxverbinding duidelijk te maken. Wie met iemand anders wil telefoneren, kiest eerst het nummer van de andere gebruiker van het telefoonnetwerk. Is de ander aanwezig, dan kan die de hoorn van de haak nemen, waarna de verbinding een feit is. Wordt naar een andere gebruiker een fax verstuurd, dan moet die fax zijn voorzien van een volledige adressering (naam geadresseerde en naam afzender). Om
9/1.2-4
Novell Netwerkoplossingen, basiswerk
Internet, Intranet & Webservices
te weten of de fax zijn doel heeft bereikt, is een ontvangstbevestiging nodig. De bevestiging bereikt de afzender van het oorspronkelijke bericht echter niet als de fax onderweg verloren gaat. Tijdens de verzending van datapakketten verzorgt een deel van het TCP/IP-protocol – namelijk het IP (internet protocol) de adressering, het verzenden en de controle van het datatransport van de afzonderlijke pakketten. Het TCP/IPprotocol bestaat in het algemeen uit een groot aantal mogelijke varianten, waarvan de bekendste met zekerheid het protocol voor de toepassing in UNIX-netwerken is.
Het Open Systems Interconnect referentiemodel om te tonen hoe het netwerk werkt (bron: www.gis.net).
Als basis voor de realisatie van een netwerkprotocol dient het zogenaamde OSI-referentiemodel (OSI = open system interconnection). Daarin worden de afzonderlijke protocollen in lagen (layers) beschreven, waarbij ieder zijn eigen specifieke functie vervult, maar tegelijkertijd ook de func-
Novell Netwerkoplossingen, basiswerk
9/1.2-5
Protocollen voor internet
ties van de eronder liggende laag gebruikt. Daaruit ontstaat automatisch het voordeel dat de onafhankelijkheid van hogere lagen ten opzichte van lagere lagen is gewaarborgd.
OSI-model
Omdat TCP/IP immers veel eerder werd ontwikkeld dan het OSI-referentiemodel (1983), passen de internetlagen niet exact in het OSI-model. In de opbouw zijn een aantal gemeenschappelijke kenmerken te ontdekken, maar ook een groot aantal verschillen. Zo wordt de TCP/IP-netwerklaag in het OSI-model een bitoverdracht- en beveiligingslaag. Tussen transport- en applicatielaag liggen nog twee lagen, namelijk de sessie- en presentatielaag, die bij TCP/IP-software meestal reeds in de protocollen van de applicatielaag zijn geïntegreerd. 9/1.2.2 Opbouw en programma’s Bij de vergelijking van de opbouw met het OSI-lagenmodel valt op dat bij TCP/IP slechts vier verschillende lagen (in tegenstelling tot de zeven lagen van het OSI-model) bestaan. De algemene opbouw en de samenstelling van de TCP/IP-architectuur zien er dan als volgt uit: • netwerklaag; • internetlaag; • transportlaag; • applicatielaag. Bijzondere aandacht verdient hierbij de applicatielaag, die in de praktijk uit een serie gescheiden, applicatiegeoriënteerde protocollen is samengesteld. Als voorbeeld kunnen FTP, Telnet, SMTP en ook SNMP worden genoemd. Netwerklaag De opzet van de netwerklaag is bij TCP/IP niet algemeen voorgeschreven. In aanvulling op de communicatiemedia,
9/1.2-6
Novell Netwerkoplossingen, basiswerk
Internet, Intranet & Webservices
X.25 en SLIP
IP-adres
de netwerktopologieën en de toegangsprocedures zijn met name twee protocolvarianten interessant, namelijk X.25 en SLIP (serial line interface protocol). Het X.25-protocol maakt bijvoorbeeld de opbouw van TCP/IP-verbindingen mogelijk via de Datex-P-service van Duitse Telekom. In tegenstelling hiertoe maakt SLIP het mogelijk een verbinding te maken tussen twee eindapparaten in de vorm van een seriële point-to-point-verbinding. Bij modemverbindingen met internet of andere op TCP/IP gebaseerde netwerken wordt tegenwoordig als transportprotocol SLIP of het nieuwere PPP (point-to-point-protocol) gebruikt. Internetlaag De internetlaag van TCP/IP komt overeen met de bemiddelingslaag van het OSI-lagenmodel. Het protocol dat in deze laag het vaakst wordt toegepast, is het internetprotocol (IP). Daaruit resulteert ook een deel van de naamgeving van de TCP/IP-protocolfamilie. Het belangrijkste kenmerk van IP is dat bij dit protocol ieder netwerkknooppunt (ieder eindapparaat in het netwerk) rechtstreeks kan worden aangesproken. Juist om die reden beschikt ieder eindapparaat (knooppunt) over een specifiek adres, het zogenaamde internetprotocol-adres, kortweg IP-adres. Het IP-adres is samengesteld uit het netwerkadres en het adres van het betreffende netwerkknooppunt (eindapparaat). Daarmee wordt gewaarborgd dat er wereldwijd geen twee netwerkknooppunten hetzelfde adres op internet hebben. Een IP-adres bestaat in principe uit 32 bits, oftewel vier bytes. De classificatie van het adres bepaalt de indeling van de adresbits in het netwerk- en knooppuntgedeelte. Het IP-adres wordt in de praktijk genoteerd in de vorm van vier getallen die worden gescheiden door een punt. Omdat een netgebruiker de adressen van andere gebruikers in de vorm van getallen moeilijk kan onthouden, kunnen net-
Novell Netwerkoplossingen, basiswerk
9/1.2-7
Protocollen voor internet
werken, delen daarvan en afzonderlijke aansluitingen worden voorzien van een symbolische naam. Intern wordt omgekeerd iedere naam weer aan het bijbehorende internetprotocoladres toegekend. Transportlaag De transportlaag van de TCP/IP-architectuur is te vergelijken met de transportlaag van het OSI-lagenmodel. Het belangrijkste protocol van deze laag is het TCP (transmission control protocol).
Data-overdracht
In het algemeen is het transmission control protocol (TCP) verantwoordelijk voor de overdracht van data tussen twee eindapparaten. Het garandeert de hogere lagen een foutloze overdracht van de gegevens. Vóór de verzending verzamelt TCP een bepaald aantal te versturen bytes in zogenaamde datapakketten en verstuurt die aansluitend met behulp van het IP (internet protocol). In het algemeen krijgt ieder pakket een sequentienummer op basis waarvan de volgorde en de ontvangstbevestiging van binnengekomen pakketten of het weigeren van reeds ontvangen pakketten mogelijk wordt. Hoe groot de afzonderlijke pakketten worden, is afhankelijk van de maximale framegrootte (frame size) in het betreffende netwerk, waardoor een efficiënte belasting van het netwerk mogelijk wordt. Bij Ethernet is de maximale framegrootte bijvoorbeeld 1500 bytes en bij token ring 4096 bytes. Applicatielaag Op basis van de services van de transport- en internetlaag worden de protocollen van de applicatielaag toegepast. De meest gebruikte protocollen van de applicatielaag zijn het file transfer protocol (FTP), het terminal emulation-protocol (Telnet) en het simple mail transfer protocol (SMTP) voor de verzending van elektronische post.
9/1.2-8
Novell Netwerkoplossingen, basiswerk
Internet, Intranet & Webservices
In de applicatielaag, de vierde laag van TCP/IP, bevinden zich enkele speciale protocollen, die gezien hun eigenschappen ook als applicatiegeoriënteerde protocollen kunnen worden beschouwd. Er worden in de protocolstack van de applicatielaag onder andere de volgende programma’s (protocollen) ter beschikking gesteld: • FTP (file transfer protocol); • Telnet (terminal emulation); • DNS (domain name service); • SMTP (simple mail transfer protocol); • NFS (network file system). Deze applicaties gebruiken voor de uitwisseling van data de transportlaag met de protocollen TCP (transmission control protocol) of UDP (user datagram protocol), die op hun beurt communiceren met het IP-protocol van de internetlaag, waarin zich ook het internet control message protocol (ICMP) bevindt.
Communicatie tussen platformen
FTP FTP staat voor file transfer protocol en bevindt zich in de applicatielaag van de TCP/IP-architectuur. De belangrijkste taak van dit protocol is de overdracht van data tussen verschillende computersystemen. FTP is met name geschikt voor de communicatie tussen verschillende platformen. Naast instructies voor de bestandsoverdracht zijn er in dit protocol instructies beschikbaar voor het maken, inzien, wisselen en wissen van directory’s. De verzending van een complete directorystructuur is echter in het algemeen met FTP niet mogelijk. Een bezwaar van FTP is het ontbreken van een vercijfering voor de verzending van gebruikersnamen en wachtwoorden. Dit veiligheidsrisico wordt geminimaliseerd door gebruik te maken van de gebruikersnaam Anonymous en
Novell Netwerkoplossingen, basiswerk
9/1.2-9
Protocollen voor internet
FTP-anonymous
als wachtwoord bijvoorbeeld het e-mailadres te gebruiken. Deze zogenaamde FTP-anonymous reduceert zodoende het gevaar dat een onbevoegde de echte naam en het wachtwoord van een gebruiker kan achterhalen (bijvoorbeeld met een analyzer) en daarmee ergens anders in het netwerk schade kan toebrengen. Telnet Telnet (terminal emulation) wordt gebruikt voor de verbinding tussen een Telnet-server en een Telnet-client. Daarbij wordt op de client een terminal van de server geëmuleerd. Bij de emulatie van een terminal wordt een programma uitgevoerd dat de functionaliteit van een terminal biedt. Terminals zijn apparaten (consoles) die bestaan uit een toetsenbord en een beeldscherm. Met deze terminals kunnen verbindingen met andere computers tot stand worden gebracht. Het gebruik van terminals is kenmerkend voor grote computersystemen. De verbinding met de hoofdcomputer (server) en de geëmuleerde terminal (client) wordt onder TCP/IP met Telnet gerealiseerd. Daarbij worden instructies van de client naar de server verzonden en de resultaten dan wel de uitvoer van de opgeroepen programma’s van de server naar de client verzonden. Door de mogelijkheid van TCP-multiplexing kunnen meerdere Telnet-sessies voor verschillende hosts tegelijk worden opgebouwd.
Symbolische namen
9/1.2-10
DNS De DNS (domain name service) maakt het mogelijk aan de eindapparaten symbolische namen te geven. Op die manier ontstaat de toegang tot apparaten door middel van een toegewezen naam in plaats van het IP-adres. Dat is in de meeste gevallen en stuk comfortabeler, omdat de meeste mensen namen gemakkelijker kunnen onthouden dan getallenreeksen. In principe is de DNS dus een vertaalroutine voor IP-adressen en -namen. Novell Netwerkoplossingen, basiswerk
Internet, Intranet & Webservices
Zo is bijvoorbeeld de naam van de Novell-host (novell.nl) veel gemakkelijker te onthouden dan het IP-adres dat zich achter deze naam verschuilt. Daarbij wordt de omzetting van namen in adressen, en omgekeerd, beheerd door een UNIX-server, die de DNS ter beschikking stelt. Een DNS-server kent natuurlijk niet iedere omzetting en stuurt aanvragen daarom door naar andere servers tot een oplossing is gevonden. Bijna iedere TCP/IP-applicatie (zoals LAN WorkPlace, NetWare NFS, Netscape Navigator, Microsoft Internet Explorer) maakt gebruik van DNS.
E-mail
SMTP SMTP, oftewel het simple mail transfer protocol, is een protocol in de applicatielaag van de TCP/IP-architectuur en wordt in hoofdzaak gebruikt voor de verzending van elektronische post. Bepaalde toepassingen van SMTP worden gebruikt voor het verzenden van berichten naar een bepaalde groep gebruikers of naar alle gebruikers binnen het betreffende netwerk. Er kunnen gemakkelijk berichten met dezelfde inhoud naar verschillende gebruikers worden verzonden. De adresseringssyntaxis bestaat uit een gebruikersaccountnaam, die in het formaat
[email protected] (bijvoorbeeld
[email protected]) met de hostnaam is verbonden. De DNS-server wijst aan de hostnaam (weka.nl) het betreffende IP-nummer toe, zodat SMTP het bericht naar de juiste host kan verzenden. In tegenstelling tot FTP en Telnet is SMTP niet op alle systemen geïmplementeerd, omdat de implementatie relatief gecompliceerd is. Bovendien wordt de e-mailcommunicatie in het algemeen door een apart mailsysteem uitgevoerd, dat op de server van het betreffende netwerk is geïnstalleerd. Het Novell-programma LAN WorkPlace, maar ook Microsoft Outlook, beschikken bijvoorbeeld over een programma dat SMTP en het post office protocol (POP) voor het beheer van e-mail ondersteunt.
Novell Netwerkoplossingen, basiswerk
9/1.2-11
Protocollen voor internet
9/1.2.3 Adressen toewijzen De belangrijkste taak van het IP-protocol bestaat uit het adresseren van datapakketten. Dat kan worden vergeleken met het plaatsen van een brief in een envelop met adressering: aan het adres kan het netwerk zien hoe het pakket met data binnen de netwerklaag moet worden doorgestuurd. De netwerklaag is gebaseerd op verschillende communicatielijnen en -media en netwerktypen, zoals Ethernet, token ring en telefoonlijnen. Vertaald naar de PTT zijn dat de vrachtwagens en postbestellers die de pakjes en brieven op de plaats van bestemming brengen.
Fragmentatie
Omdat verschillende typen netwerken een verschillende pakketomvang hanteren, verdeelt het protocol de data in kleine eenheden (fragmentatie). Zo werkt bijvoorbeeld Ethernet met een andere maximale pakketgrootte dan X.25 (128 bytes) als interface in de bemiddelingslaag voor de toegang tot publieke bemiddelingsservices, zoals Datex-P. Ieder pakket heeft een volgnummer, zodat de ontvangst kan worden bevestigd en de oorspronkelijke data altijd uit de afzonderlijke pakketten kan worden gereconstrueerd. Om deze volgnummers via het netwerk te kunnen versturen, hebben TCP en IP een eigen ‘envelop’, waarop de benodigde nummers worden genoteerd. Zo wordt het datapakket eerst in een ‘TCP-envelop’ verpakt, die op zijn beurt weer in een ‘IP-envelop’ gaat en naar het netwerk wordt gestuurd. De belangrijkste taak van TCP is het veilige transport van data via het netwerk. Daarbij herkent en corrigeert TCP zelfstandig communicatiefouten.
UDP
9/1.2-12
Deze methode is in het algemeen nogal omslachtig en heeft als gevolg dat TCP-verbindingen naar verhouding langzaam worden opgebouwd. UDP is duidelijk sneller, omdat het, in tegenstelling tot TCP, niet naar ontbrekende
Novell Netwerkoplossingen, basiswerk
Internet, Intranet & Webservices
pakketten en de juiste volgorde van de datapakketten kijkt. Treedt bijvoorbeeld een communicatiefout op, dan komt ICMP in actie, dat onder andere verantwoordelijk is voor meldingen over uitval, foutdiagnose en andere controlefuncties.
Verbindingsloos protocol
UDP wordt door enkele applicaties gebruikt die alleen korte berichten versturen en deze kunnen herhalen. Het is daarom een ideaal protocol voor de verzending van informatie die voortdurend verandert. In plaats van de data in een TCP- en vervolgens in de IP-‘envelop’ te verpakken, gaan ze in een ‘UDP-envelop’ voor ze via IP worden verzonden. Hoewel UDP zich in dezelfde laag bevindt als het verbindingsgeoriënteerde TCP gaat het hier om een verbindingsloos protocol. De werkwijze bij de adressering van IP-pakketten wordt in de volgende alinea’s nader toegelicht. De samenwerking tussen de afzonderlijke lagen kan het beste duidelijk worden gemaakt aan de hand van een vergelijking met conventionele post. Veel van de daar toegepaste mechanismen lijken namelijk op de mechanismen die worden gebruikt voor het datatransport in netwerken. Wie een brief verstuurt, zal het totaal onbelangrijk vinden via welke weg de brief de geadresseerde bereikt. Het adres dat op de envelop werd geschreven bepaalt de locatie van de ontvanger (applicatielaag). De brief wordt bij het postkantoor aangeboden of in een brievenbus gedaan (transportlaag). De PTT verzamelt de poststukken uit de brievenbussen, sorteert die en verstuurt ze via de geëigende transportmiddelen zoals vliegtuig, trein of vrachtwagen (internetlaag). Het transportmiddel brengt de post naar de plaats van bestemming.
Novell Netwerkoplossingen, basiswerk
9/1.2-13
Protocollen voor internet
Daarbij mag de brief natuurlijk niet te vaak van transportmiddel wisselen om onnodige vertraging te voorkomen (netwerklaag). Op de plaats van bestemming aangekomen wordt de brief door de PTT in ontvangst genomen en gesorteerd in de vakken van de verschillende bestellers (internetlaag). De postbode brengt de brief naar de geadresseerde (transportlaag). De ontvanger leest de brief en beantwoordt die zo nodig (applicatielaag). Bij de toegang tot een TCP/IP-host via Telnet vindt de overdracht van datapakketten als volgt plaats: Telnet fungeert in dit geval als client en maakt de toegang tot externe computers (server) mogelijk, die het gebruik van bijvoorbeeld rekencapaciteit of applicaties toestaan. Hierbij lijken de door de client-gebruiker ingevoerde toetsaanslagen direct de via de Telnetverbinding aangesloten server te bereiken.
Checksum
De header van het TCP is te vergelijken met die van IP en houdt in zijn controlegetal (checksum) rekening met de IP-adressen (links). In werkelijkheid worden echter bepaalde datapakketten via het netwerk naar de server gestuurd en andere teruggezonden naar de client. Na een succesvolle verbindingsopbouw overhandigt de client de informatie aan de onderliggende laag (transportlaag). Om te zorgen dat TCP de data correct verstuurt, wordt naast het internetadres van de server ook het poortnummer aangegeven. Een poort bestaat uit een 16-bits adres in een gedefinieerd gebied van 255 poorten met bekende services (well known ports), zoals in het volgende overzicht is weergegeven:
9/1.2-14
Novell Netwerkoplossingen, basiswerk
Internet, Intranet & Webservices
Poortnummer
Toewijzing
15 21 23 25 37 42 69
NETSTAT FTP Telnet SMTP Tijd Name server TFTP
Tabel 1: TCP-poortnummers.
Socket
Het begrip ‘socket’ komt in relatie tot TCP/IP vaak voor. Het is de aanduiding voor de combinatie van poortnummer en internetadres. In de transportlaag worden bepaalde poorten voor de adressering gebruikt. Zowel UDP als TCP gebruiken poortadressen om data naar het betreffende programma (protocol) in de applicatielaag te sturen, waarbij beide deels verschillende services voor hetzelfde poortnummer tot stand brengen. Het poortenconcept kan min of meer worden vergeleken met een telefoonnummer. Het netwerkdeel van een internetadres vertegenwoordigt daarin het landnummer, het host-deel het kengetal van de plaats en de poort ten slotte het abonneenummer. Een TCP-verbinding wordt eenduidig door de beide sockets gedefinieerd (afzender en ontvanger). Er kunnen geen twee identieke socket-paren tegelijk bestaan. Volgens het client/server-principe is het mogelijk dat de afzender een poortnummer via een toevalsgenerator bepaalt. Daarmee is het bijvoorbeeld mogelijk dat vanuit een bepaalde computer twee Telnetverbindingen naar dezelfde doelcomputer zijn opgebouwd. In een dergelijk geval verschillen dan echter de poortnummers van de client-computer.
Novell Netwerkoplossingen, basiswerk
9/1.2-15
Protocollen voor internet
Stromingsgeoriënteerd
Tijdens het opbouwen van de verbinding stuurt de applicatielaag het datapakket met het internetadres van de server en de poort 21 door naar de transportlaag. Omdat TCP stromingsgeoriënteerd verstuurt, verloopt de overdracht van de bytes in dezelfde volgorde van de client naar de server en geeft aan de applicatielaag het idee van een continue datastroom. Tijdens het geven naar onderliggende lagen wordt de data gefragmenteerd. Zoals ieder TCP-block krijgt het pakket een protocol-header (envelop) met verschillende velden, die bedoeld zijn voor informatie over het doeladres en voor de beveiliging en sturing van de communicatie.
Sequentienummer
9/1.2-16
Zo dient de zogenaamde sender- en receiver-port ervoor de data naar de plaats van bestemming door te geven. De communicatie tussen de beide TCP-partners verloopt bidirectioneel. Dat betekent dat ze beide gelijktijdig data kunnen verzenden en ontvangen. Het sequentienummer markeert de elementen die worden verzonden en ontvangen en geeft aan op welke positie het eerste datasegment in de datastroom zich bevindt. Iedere databyte krijgt binnen het segment een volgnummer, op basis waarvan kan worden bepaald of er eventueel bepaalde datapakketten ontbreken. Vanzelfsprekend wordt het volgnummer niet aan iedere afzonderlijke byte toegevoegd, maar aan het betreffende segment. Met ieder verzonden block wordt het sequentienummer met het aantal van de zich erin bevindende databytes verhoogd. Het bevestigingsgetal is het sequentienummer dat zich als volgende in de ontvangen datastroom bevindt. Daarom is het bevestigingsgetal altijd één hoger dan dat van de laatste van de serie ontvangen segmenten.
Novell Netwerkoplossingen, basiswerk
Internet, Intranet & Webservices
Flags
Pseudo-protocolheader
Op basis van het verschil tussen de sequentienummers kan de lengte van de TCP-header worden bepaald om te kunnen vaststellen op welke plaats in de datapakketten de nuttige data begint. Met behulp van flags kan aanvullende informatie worden meegestuurd, zoals in onderstaand overzicht is weergegeven: • URG – Urgent (data direct aan de ontvangerzijde verwerken); • ACK – Acknowledge (bevestigingsgetal is geldig); • PSH – Push (data moet direct aan applicatie worden doorgegeven); • RST – Reset (resetten van de verbinding); • YN – Synchronize (aanvraag voor opbouwen van een verbinding met bevestiging); • FIN – Opbouwen van een verbinding met bevestiging. Het controlegetal (checksum) is de som van de protocolheader, de data en de zogenaamde pseudo-protocol-header. De laatste wordt samengesteld uit de velden van de internetprotocol-header, waarin onder andere het adres van de afzender en de ontvanger van het datablok staan vermeld. De pseudo-protocol-header wordt niet meegestuurd en dient alleen voor de controle van mogelijke protocolfouten, die door de aanwezigheid ervan in de checksum kunnen worden ontdekt. Zo wordt een onjuiste bezorging door IP voorkomen. Een speciaal veld in de TCP-protocol-header (opties) geeft aan of de toename van de blokgrootte afwijkt van de standaardwaarde (536 bytes). Kan een TCP-implementatie grotere segmenten verwerken, dan staat dat in dit veld. Omdat de opties een variabele lengte mogen hebben, wordt de TCP-protocol-header met opvultekens aangevuld tot een veelvoud van 32 bits.
Novell Netwerkoplossingen, basiswerk
9/1.2-17
Protocollen voor internet
Timer
Nadat een datapakket (datagram) vanuit de applicatielaag aan de server-TCP-laag is overgedragen, wordt de aankomst gemeld. Als het pakket echter niet binnen een bepaalde tijd (30 seconden) aankomt, wordt het pakket opnieuw verzonden. Bij de aankomst van het eerste gefragmenteerde datapakket zet de ontvanger een timer (wekker). Als die afloopt voor de resterende fragmenten aankomen, moeten de tot dat moment gearriveerde fragmenten van het pakket worden vernietigd. De hoger gelegen protocollagen (TCP) versturen dan opnieuw alle datapakketten. De timer wordt overigens opnieuw gestart bij ieder fragment waarop nog fragmenten moeten volgen, tot het laatste fragment is aangekomen. Bij de verzending moet een pakket ook het doeladres onthouden en dat aan het internetprotocol meedelen. Omdat IP zoals gezegd in tegenstelling tot TCP en Telnet een verbindingsloos protocol is, is het niet nodig dat eerst een verbinding tot stand is gekomen voordat data kan worden verzonden. Zodoende worden afzonderlijke datapakketten gewoon verstuurd in de hoop en het vertrouwen dat een of andere host ze via de kortste en snelste route naar de geadresseerde doorstuurt. Om die reden maakt IP zich ook geen zorgen over de aankomst van de pakketten. Dat is de taak van TCP in de erboven gelegen laag. Bij de volgende stap wordt het pakket in weer een andere ‘envelop’ voor de IP-laag gestopt, waarbij ook het IP-versienummer (inmiddels zijn we bij versie 6 beland) wordt vermeld. Deze verpakking is noodzakelijk om de andere netwerkknooppunten te kunnen passeren. De lengte van de IP-header wordt als 32-bits woord gegeven, waarmee kan worden bepaald op welke positie van de protocol-header de data beginnen.
9/1.2-18
Novell Netwerkoplossingen, basiswerk
Internet, Intranet & Webservices
Bij de verzending van data via TCP/IP worden in principe alle datapakketten door de protocol-header van IP, TCP en Ethernet en door de CRC-check-sum ingekapseld. De verzend- en ontvangstadressen worden in speciale velden bewaard. De adressen zelf bestaan uit een netwerk- en een host-deel, die door vier getallen, gescheiden door een punt (dotted quads), worden gekarakteriseerd. De opbouw van IP-adressen is zo complex dat een beschrijving ervan buiten het bestek van deze uitgave valt.
Source route
Aan het einde van iedere IP-header staan bepaalde gegevens (opties) of opvultekens. Met de opties kunnen netwerkknooppunten worden aangegeven die het datagram moet passeren (source route). In het geval een datagram niet via de gedefinieerde route wordt doorgegeven, moet een ICMP-foutmelding daarover informeren. De opvultekens kunnen noodzakelijk zijn omdat het aantal 16-bitswoorden van de IP-header altijd een veelvoud van 4 moet zijn. Zo hebben bijvoorbeeld de optievelden geen vastgestelde lengte, waardoor gemakkelijk een ‘onbalans’ kan worden veroorzaakt, die moet worden gecompenseerd. Ieder eindapparaat waarin TCP wordt toegepast, moet over een eigen, eenduidig internetadres (IP-adres) beschikken. Een dergelijk adres is de basis voor de complete communicatie binnen het betreffende netwerk. Zodra bij de adressering fouten optreden (bijvoorbeeld door het gebruik van één adres voor twee bestemmingen), zullen bepaalde eindapparaten slechts ten dele of helemaal niet functioneren.
Dynamsiche adressering
Desgewenst kunnen de IP-adressen vanuit een centrale plaats (bijvoorbeeld een server) worden toegewezen om de eenduidigheid van de IP-adressen van alle deelnemende eindapparaten te kunnen garanderen. Dat wordt dynamische adressering genoemd, waarbij dan onder bepaalde
Novell Netwerkoplossingen, basiswerk
9/1.2-19
Protocollen voor internet
omstandigheden echter geen eenduidige toewijzing van een IP-adres aan een bepaald eindapparaat mogelijk is. Immers, het dynamische IP-adres van een eindapparaat zal waarschijnlijk iedere dag veranderen. Zodoende is ieder netwerk waarin TCP/IP wordt toegepast op grond van de structuur in ieder geval afhankelijk van een ordelijke en ‘zuivere’ adressering van de afzonderlijke eindapparaten (computers, printers, routers, enzovoort). Inconsistentie en incorrecte adressering leiden in de praktijk altijd weer tot enorme problemen.
IP-klassen
Een IP-adres (versie 4) is in principe altijd 32 bits lang en bestaat dus uit 4 bytes. Vanwege de verschillen in de verdeling van eindapparaten binnen een netwerk is een aparte klassenindeling opgezet. Er bestaan de volgende IP-klassen: • Class A – grote netwerken met veel eindapparaten; • Class B – middelgrote netwerken; • Class C – kleine netwerken met weinig eindapparaten; • Class D – bedoeld voor de opbouw van multicastadressen; • Class E – gereserveerd. Een IP-adres wordt altijd ingedeeld in een netwerkdeel (netwerk-ID) en een host-deel (host-ID). Terwijl het netwerk-ID betrekking heeft op een logisch netwerk wijst de host-ID exact het betreffende eindapparaat aan. In relatie tot de afzonderlijke klassen ontstaat de volgende indeling van de afzonderlijke ID’s:
9/1.2-20
Novell Netwerkoplossingen, basiswerk
Internet, Intranet & Webservices
Netwerktype
Netwerk-ID
Host-ID
Class A Class B Class C
8 bits 16 bits 24 bits
24 bits 16 bits 8 bits
Tabel 2: ID-toewijzing van de IP-classificatie.
Omdat de IP-adressen (in internet) eenduidig moeten zijn, zijn er over de hele wereld bepaalde locaties waar die adressen centraal worden beheerd. Op die manier moet worden gegarandeerd dat er (net als bij de knooppuntadressen van de eindapparaten) geen IP-adressen twee keer worden toegewezen. Het adresseringsgebied van de verschillende adresklassen is in het algemeen als volgt ingedeeld: • Class A – tussen 1 en 126 • Class B – tussen 128 en 191 • Class D – tussen 192 en 223 Het adres 127.0.0.0 is een gereserveerd adres, waarmee een zogenaamde ‘loop’ kan worden gerealiseerd (onder andere voor testdoeleinden). Een adres volgens Class A ziet er bijvoorbeeld als volgt uit: 50.133.34.50. Een adres volgens Class B is bijvoorbeeld 144.13.14.88 en een Class C-adres zou bijvoorbeeld 196.123.254.44 kunnen zijn. Als gevolg van de grote vraag zijn adressen van het type Class A niet meer beschikbaar. Voor adressen van de typen Class B en Class C moet erop worden gerekend dat die binnen afzienbare tijd eveneens allemaal zijn toegewezen.
Novell Netwerkoplossingen, basiswerk
9/1.2-21
Protocollen voor internet
Subnet-masker
Voor de opbouw van een IP-netwerk in een bedrijf of organisatie speelt de problematiek van de officiële IP-adressen geen rol. Daar kunnen willekeurige adressen worden gebruikt, zolang er geen communicatie via internet hoeft plaats te vinden. De enige voorwaarde is ook hier de eenduidigheid van alle IP-adressen. Bij de configuratie van een IP-computer moet naast het IP-adres ook het zogenaamde subnet-masker worden aangegeven. Op basis van dit masker kan een protocol het netwerkgedeelte (netwerkID) en het hostgedeelte (host-ID) vaststellen. Een dergelijk subnet-masker ziet er in een Class C-netwerk bijvoorbeeld als volgt uit: 255.255.255.0. Daarbij krijgt het subnet-masker (SNM) echter een bijzondere betekenis zodra het zogenaamde subnetting wordt toegepast. Subnetting betekent dat enkele bits van de host-ID voor de netwerk-ID worden gebruikt. In een Class C-netwerk staat in principe de host-ID in de laatste acht bits (van de 32 bits). Worden dan van deze acht bits de eerste drie aan de netwerk-ID ter beschikking gesteld, dan wordt dat 3bits-subnetting genoemd. De aan subnetting ten grondslag liggende gedachte is dat op die manier in een netwerk waarin slechts een enkel Class C-netwerk beschikbaar is en waarin enkele routers worden toegepast, het netwerkverkeer kan worden geminimaliseerd. Zo worden bijvoorbeeld broadcasts niet meer naar alle werkstations verstuurd, maar alleen naar werkstations in het eigen logische netwerk. Dat wordt mogelijk door de (logische) indeling van het netwerk in een aantal kleine netwerken. In dit verband kan voor het bepalen van de netwerk- en host-ID bij subnetting de volgende formule worden gebruikt: i-bit-subnetting: (28-i - 2) * (2i - 2) = hosts
9/1.2-22
Novell Netwerkoplossingen, basiswerk
Internet, Intranet & Webservices
Als resultaat verschijnt altijd het maximale aantal hosts dat in een dergelijk netwerk beschikbaar is. Daarbij vertegenwoordigt de inhoud tussen het linker paar haken het aantal netwerk-ID’s en die tussen het rechter paar de hostID’S. Wordt bijvoorbeeld een 3-bits-subnetting toegepast, dan komt de formule er als volgt uit te zien: (28-3 - 2) * (23 - 2) = hosts (32 - 2) * (8 - 2) = hosts
Beperking
Hieruit volgt een maximaal aantal van 180 hosts die in een dergelijk netwerk kunnen worden toegepast. Daaruit blijkt meteen dat aan subnetting een grote beperking van het aantal beschikbare adressen is verbonden. Bij 2-bits-subnetting ligt het maximale aantal hosts op 124. Bij subnetting moeten de afzonderlijke netwerken een eigen adres toegewezen krijgen. Dit adres is weer onafhankelijk van het aantal bits die voor de subnetting worden gebruikt. Bij 3-bits-subnetting wordt het eerste netwerkadres door de volgende formule bepaald: Startwaarde = 2n-i
Bij 3-bits-subnetting is de uitkomst dus 32. Dat is het adres van het eerste netwerk. De volgende netwerken worden vervolgens met veelvouden van 32 (dus 64, 96, 128, 160, 192) gekenmerkt. Het adres 0 (nul) vervalt, evenals het adres 228, omdat dit het broadcast-adres is (alle bits geset). Het host-adres 0 is een gereserveerd adres en mag niet worden gebruikt. Verder is het adres waarbij alle bits geset zijn (bijvoorbeeld 255 in een Class C-netwerk) gereserveerd voor de broadcast-functie.
Novell Netwerkoplossingen, basiswerk
9/1.2-23
Protocollen voor internet
9/1.2.4 Toepassing van nieuwe IP-adresgebieden Omdat de beschikbare IP-adressen op een gegeven moment allemaal zijn toegewezen, moet bij de adressering van de afzonderlijke knooppunten (nodes) een omzetting plaatsvinden. Niet in de laatste plaats door de stormachtige groei van netwerksystemen en de geweldige stijging van het aantal deelnemers ontstaat een krapte aan internetadressen. In de afgelopen jaren groeide internet zelfs met 100 procent per jaar en beschikt het momenteel over vele miljoenen hosts.
IPnG
Om die reden begonnen reeds in 1993 verschillende samenwerkingsverbanden (Internet Engineering Task Force) met de ontwikkeling van een nieuwe generatie IPadresgebieden. Dit karwei is inmiddels achter de rug, zodat er tegenwoordig een nieuwe versie van de internetadressering beschikbaar is onder de naam ‘IP Version 6', kortweg IPv6 (de huidige versie is IPv4), of IP next generation (IPnG). Dit voorstel is in principe gebaseerd op het concept van het simple internet protocol plus (SIPP). Een van de belangrijkste redenen voor de uitbreiding van het bestaande IP-protocol is de beperking van de adresruimte van 32 bits (4 bytes). Daarmee kan weliswaar in theorie een groot aantal systemen worden geadresseerd, maar als gevolg van de enorme internationale groei van IPnetwerken en de uitgifte van adressen als samenhangende groepen, is een groot deel van de adressen ongebruikt. De uitbreiding van de adresseringscapaciteit is dus een van de belangrijkste doelstellingen bij de ontwikkeling van IPnG geweest. Bovendien werd de kans benut het toch wel enigszins bedaagde IP aan de moderne eisen aan te passen. Zo moest het bestaande header-formaat ten behoeve van
9/1.2-24
Novell Netwerkoplossingen, basiswerk
Internet, Intranet & Webservices
Flow label
flexibeler uitbreidingsmogelijkheden worden vereenvoudigd. Bovendien is er een mogelijkheid voorzien de afzonderlijke pakketten van een datastroom als samenhangende stroom te markeren (flow label). De nieuwe IP-header stelt in totaal 16 bytes voor het IPnummer beschikbaar en wordt gekenmerkt door een vereenvoudigde opbouw. Daarmee moet IPnG aan toekomstige eisen tegemoet kunnen komen, want uitbreidingen zijn gemakkelijk te realiseren. Tot de andere uitbreidingen behoren de IP domain name service (DNS), een beveiligings-framework inclusief authenticatie en functies voor de automatische configuratie (Plug&Play, DHCP).
Verviervoudiging
Het meest opvallende aan IPnG is de verviervoudiging van de adresgrootte van 4 naar 16 bytes (128 bits). De IPnGheader is in zoverre vereenvoudigd dat veel van de in versie 4 beschikbare flags en velden zijn vervallen. De nieuwe header bevat naast de dataomvang, het versienummer en het bron- en doeladres nog slechts drie andere velden. Een van die velden dient voor de karakterisering en markering van datastromen, een andere fungeert als hop-limit, vergelijkbaar met de TTL (time to live) in versie 4. Andere protocolinformatie is in extra headers ondergebracht (bijvoorbeeld voor routing, fragmentatie, authenticatie en hopby-hop- en end-to-end-sturing). De volledige ontwikkeling van versie 6 is gericht op de technologische trends op het terrein van netwerkcommunicatie. Zo is de vereenvoudigde protocol-header voorbereid op een snelle, eventueel hardware-interne, verwerking in hoge-snelheidsprotocollen (ATM, frame relay). Ook het ontbreken van een checksum bevordert een snelle afhandeling. Hetzelfde geldt voor het wegvallen van fragmentatie- en reassemblage-algoritmen. Hiervoor steunt IPnG op
Novell Netwerkoplossingen, basiswerk
9/1.2-25
Protocollen voor internet
mechanismen van de link layer. Verder maakt de introductie van flow label samenhangende datastromen mogelijk, die speciale eisen stellen aan latency-tijden of aan de doorstroming van de data. Dergelijke mechanismen zijn bijvoorbeeld nodig bij de verzending van audio en video (videoconferencing).
Multicastadressering
In tegenstelling tot de schrijfwijze bij versie 4 (bytegewijze indeling) worden bij IPnG de nieuwe, 16 bytes lange adressen geschreven. Als scheidingsteken wordt in plaats van een punt de dubbele punt gebruikt. Een serie nullen in een adres kan worden ingekort tot twee dubbele punten achter elkaar. Het loopback-adres in IPnG-notatie is bijvoorbeeld FE00:0:0:0:0:0:0:1, of kortweg FE00::1. Ook het broadcast-adres dient in versie 6 weg te vallen. In plaats daarvan wordt een multicast-adressering (groepsadressering) gebruikt, waarin de functies van broadcast als speciale situatie zijn opgenomen. Voor de aan een afzonderlijke ontvanger gerichte unicast-adressen zijn de volgende varianten voorzien: • hiërarchie van adressen van serviceproviders; • hiërarchie van geografische adressen; • NSAP-, IPX- en cluster-adressen; • IP-only- en (IPv4-)compatibele SIPP-adressen. Ook al richten de fabrikanten van verschillende producten zich reeds op de nieuwe versie 6, IPnG is momenteel nog niet overal ingevoerd. Op dit moment gaat de aandacht uit naar de concepten voor de noodzakelijke overgangsperiode van versie 4 naar versie 6. Voor een zo vloeiend mogelijke overgang en een probleemloze samenwerking van de beide IP-versies moet een incrementele overgang van versie IPv4-hosts en -routers naar IPv6 evenzeer mogelijk zijn als de overgang in één keer. Zo mogelijk moet het daarbij niet nodig zijn volgens een bepaalde volgorde te werken (bijvoorbeeld router voor host).
9/1.2-26
Novell Netwerkoplossingen, basiswerk
Internet, Intranet & Webservices
SIT
In dit verband is een migratiepad ontwikkeld voor de overgang van versie 4 naar een combinatie van IPv4/IPv6- en vervolgens naar volledig naar IPv6. Daarvoor werden door de ontwikkelaars drie mechanismen gepresenteerd, die onder de naam ‘The Simple IP Version Six Transition’ (SIT) werden gepubliceerd: • IPv4-compatibele adressen; • IPv6-in-IPv4-encapsulation; • IPv6/IPv4 header-transition (omzetting). Voor de ondersteuning van versie 4-adressen wordt de huidige adresruimte in die van IPv6 ingebed. Voor de codering van de oude adressen worden de eerste 12 bytes van de 16 beschikbare bytes in het nieuwe adres met vaste nullen gevuld. De resterende 4 bytes zijn voor de oude adressen gereserveerd. Zo wordt het oude IPv4-adres xxx.xxx.xxx. xxx onder IPv6 0:0:0:0:0:xxx.xxx.xxx of kortweg: xxx.xxx. xxx.. Deze adressen hebben in versie 6 de benaming ‘IPv4only-addresses’. Voor de verbinding van IPv6-netwerken via IPv4-knooppunten zorgt de IPv6-in-IPv4-encapsulation. Daarmee kunnen reeds geconverteerde netwerken via (nog) niet geconverteerde netwerken met elkaar communiceren en gebruikmaken van de IPv6-functionaliteit. Hiervoor zijn aan beide zijden routers en hosts nodig die beide protocolvarianten kunnen verwerken.
Translator
Door de toepassing van de derde stap in het omzettingsmechanisme (Ipv6/IPv4 header transition) wordt bereikt dat via een geschikte translator ook netwerken of computers zijn te koppelen die slechts een van de protocolvarianten ondersteunen. Deze strategie is optioneel en is alleen nodig in omgevingen waar netwerken worden gekoppeld die maar over één van de beide varianten
Novell Netwerkoplossingen, basiswerk
9/1.2-27
Protocollen voor internet
beschikken. In hoeverre IPnG in staat is een plaats op de markt te veroveren, is afhankelijk van verschillende criteria. Zo zal voor de meeste gebruikers de overgangs- en migratiefase de grootste drempel vormen op weg naar de nieuwe versie. Verder is een snelle verspreiding van de nieuwe versie natuurlijk afhankelijk van de beschikbaarheid van krachtige en vooral stabiele voorbeeldimplementaties.
Conversie
Naast de technische realisatie en omzetting zullen natuurlijk ook de kosten en baten van een dergelijke conversie beslissende factoren zijn. Dat veel van de op de computermarkt aangeboden TCP/IP-implementaties zijn gebaseerd op de vrij verkrijgbare source-codes van BSD-UNIX, die ook de basis zijn van de eerste SIPP-implementaties, zal hierbij zeker een positieve rol spelen. Dat is overigens ook de reden dat het voor veel fabrikanten zonder al te grote problemen mogelijk zou moeten zijn hun producten aan te passen en daarmee voor een snelle integratie van IPnG te zorgen. In het algemeen wordt door de beschikbaarheid van IPnG, met de mogelijkheden van omzetting en migratie, de voorwaarde voor een langdurige groei van de internetmarkt geschapen. Dat heeft overigens geen haast, want de conversie (via een tussenstap) naar een volledig op IPnGgebaseerde netwerkomgeving kan geleidelijk aan worden uitgevoerd. 9/1.2.5 TCP/IP-services Omdat TCP/IP een van de oudste communicatieprotocollen is, bestaat er een groot aantal aanvullende en hulpprogramma’s voor, die het werken met dit protocol vereenvoudigen. Er zijn bijvoorbeeld programma’s op het gebied van TCP/IP die het testen van een verbinding mogelijk maken of diepgaande informatie over het systeem beschikbaar
9/1.2-28
Novell Netwerkoplossingen, basiswerk
Internet, Intranet & Webservices
stellen. De belangrijkste worden hierna in het kort beschreven. PING De PING-instructie is een van de belangrijkste implementaties van TCP/IP. Daarmee is het mogelijk in een netwerklaag een verbinding met een ander apparaat te testen. Dat kan als volgt worden gedaan: PING 192.131.23.87
Op die manier wordt het apparaat met het ingevoerde IPadres gezocht. Wordt het apparaat gevonden, dan wordt dat aan de afzender gemeld, waaruit blijkt dat er datapakketten zijn verzonden. Is de ontvanger niet beschikbaar, dan zal dat in een melding worden aangegeven. Als door de toepassing van DNS (dynamic name service) in een speciale server de IP-adressen aan bepaalde logische namen zijn toegewezen, kan er achter de PING-instructie eveneens direct een dergelijke naam worden ingevoerd. Zo stuurt bijvoorbeeld PING dilaro-test
een PING-instructie naar de computer die in het IP-domein de logische naam dilaro-test toegewezen heeft gekregen. De naam wordt daarbij door de name-server in het corresponderende IP-adres vertaald. Bij de toepassing van de PING-instructie maakt TCP/IP gebruik van het zogenaamd ICMP-protocol (internet control message). Onder NetWare staat op de serverconsole eveneens een PING-variant ter beschikking. Daar heeft de instructie
Novell Netwerkoplossingen, basiswerk
9/1.2-29
Protocollen voor internet
LOAD PING 193.232.23.88
tot gevolg dat een test wordt gestart die de verbinding met het eindapparaat met het aangegeven IP-adres tot stand brengt. FINGER Met het programma FINGER (afhankelijk van de protocolstack zijn er verschillende versies) wordt informatie over een bepaalde gebruiker weergegeven. De gegevens hebben altijd betrekking op een gebruiker die met een bepaalde host is verbonden, waarbij het volgende wordt weergegeven: • naam van de gebruiker; • home-directory; • aanmeldingsshell; • actuele tijd; • tijdstip van de laatste aanmelding. De juiste syntaxis van FINGER is: FINGER
WHOIS Met de instructie WHOIS kan met behulp van de domain name server (DNS) worden vastgesteld welke gebruikers beschikbaar zijn en hoe ze heten. De syntaxis van WHOIS is standaard: WHOIS
Bij alle hulpprogramma’s moet erop worden gelet dat ze deels in verschillende vorm en uitvoering beschikbaar zijn. Dat is namelijk afhankelijk van de verschillende implementaties in de verschillende protocolstacks.
9/1.2-30
Novell Netwerkoplossingen, basiswerk