10.06.2015 Views

Opbouw INTERNET - Cardan.nl

Opbouw INTERNET - Cardan.nl

Opbouw INTERNET - Cardan.nl

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Hoe werkt internet ?<br />

<strong>Opbouw</strong> <strong>INTERNET</strong><br />

Opdracht PL9 lerarenopleiding<br />

Student: Teus Groeneveld<br />

Studentnr: 1007164<br />

Datum: 30 mei 2007<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 1


Hoe werkt internet ?<br />

INLEIDING .................................................................................................................................................... 5<br />

ONTSTAAN VAN NETWERKEN................................................................................................................. 6<br />

TELEX........................................................................................................................................................... 6<br />

INTRODUCTIE MODEM.................................................................................................................................... 7<br />

ASYNCHRONE COMMUNICATIE ....................................................................................................................... 7<br />

NETWERK PROTOCOL MIDDELS ASCII............................................................................................................ 8<br />

OPKOMST COMPUTER + NETWERKEN .............................................................................................................. 8<br />

ARPA net ................................................................................................................................................ 10<br />

Ontwikkeling lokale netwerken ................................................................................................................ 11<br />

OPBOUW NETWERKEN ........................................................................................................................... 12<br />

NETWERK TOPOLOGIEËN.............................................................................................................................. 12<br />

Sternetwerk ............................................................................................................................................. 13<br />

Ringnetwerk ............................................................................................................................................ 13<br />

Busnetwerk.............................................................................................................................................. 13<br />

Boomnetwerk .......................................................................................................................................... 13<br />

Maasnetwerk........................................................................................................................................... 13<br />

BEREIK NETWERKEN (LAN/MAN/WAN)..................................................................................................... 13<br />

LAN ........................................................................................................................................................ 13<br />

Hub en switching hub........................................................................................................................................... 14<br />

Router ................................................................................................................................................................. 14<br />

Brigdes................................................................................................................................................................ 15<br />

MAN ....................................................................................................................................................... 15<br />

WAN ....................................................................................................................................................... 15<br />

Openbare netwerken ............................................................................................................................................ 15<br />

Particuliere netwerken.......................................................................................................................................... 15<br />

DE SERVER.................................................................................................................................................. 15<br />

PATCHKASTEN............................................................................................................................................. 16<br />

BEKABELING ............................................................................................................................................... 16<br />

De coaxkabel .......................................................................................................................................... 17<br />

Glasvezelkabel ........................................................................................................................................ 17<br />

Twisted pair kabel................................................................................................................................... 18<br />

Communicatie via satelliet....................................................................................................................... 18<br />

OSI MODEL: STANDAARDISATIE PROTOCOLLEN............................................................................ 19<br />

DE LAGEN VAN HET OSI MODEL................................................................................................................... 19<br />

Fysieke laag............................................................................................................................................ 19<br />

Datalink laag .......................................................................................................................................... 19<br />

Netwerk laag........................................................................................................................................... 20<br />

Transport laag ........................................................................................................................................ 20<br />

Sessie laag .............................................................................................................................................. 20<br />

Presentatie laag ...................................................................................................................................... 20<br />

Apllicatie laag......................................................................................................................................... 21<br />

OSI MODEL IN DE PRAKTIJK ......................................................................................................................... 21<br />

Laag ....................................................................................................................................................... 24<br />

Definitie.................................................................................................................................................. 24<br />

ONSTAAN VAN <strong>INTERNET</strong> ...................................................................................................................... 25<br />

ONTSTAANSGESCHIEDENIS........................................................................................................................... 25<br />

HET ONTSTAAN VAN HET WWW.................................................................................................................. 25<br />

GESCHIEDENIS VAN HET <strong>INTERNET</strong> IN NEDERLAND ....................................................................................... 26<br />

INLEIDING <strong>INTERNET</strong> ............................................................................................................................. 27<br />

DE HARDWARE ............................................................................................................................................ 27<br />

Computer als kabel.................................................................................................................................. 28<br />

Host ........................................................................................................................................................ 28<br />

Network Interface Card........................................................................................................................... 28<br />

Variaties op een netwerk ......................................................................................................................... 28<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 2


Hoe werkt internet ?<br />

HET PROBLEEM VAN HET GEDEELDE MEDIUM................................................................................................ 29<br />

packets.................................................................................................................................................... 29<br />

ARPAnet ................................................................................................................................................. 29<br />

Routering................................................................................................................................................ 30<br />

Routetabel............................................................................................................................................... 31<br />

Interface Message Processor................................................................................................................... 31<br />

HET <strong>INTERNET</strong>............................................................................................................................................. 31<br />

Het probleem van de heterogene netwerken ............................................................................................. 31<br />

ARPA...................................................................................................................................................... 31<br />

Routers ................................................................................................................................................... 32<br />

Lagen van het Internet............................................................................................................................. 33<br />

Frame, datagram en encapsulatie............................................................................................................ 33<br />

MTU en fragmentatie .............................................................................................................................. 34<br />

IP adres .................................................................................................................................................. 34<br />

Decimale punt notatie.............................................................................................................................. 35<br />

Netwerkadres versus hostadres................................................................................................................ 35<br />

Netwerkklassen ....................................................................................................................................... 35<br />

Identificatie van programma's ................................................................................................................. 35<br />

TCP/IP protocol familie .......................................................................................................................... 36<br />

APPLICATIES ............................................................................................................................................... 36<br />

Clients en servers.................................................................................................................................... 37<br />

DOD MODEL VERSUS TCP/IP ....................................................................................................................... 38<br />

HOE WERKT HET <strong>INTERNET</strong>? ............................................................................................................... 39<br />

IP-ADRES.................................................................................................................................................... 39<br />

DOMAIN NAME SYSTEM................................................................................................................................ 39<br />

DE ROL VAN ROUTERS.................................................................................................................................. 40<br />

Informatie opdelen in pakketjes ............................................................................................................... 40<br />

WAT HEB JE NODIG OM TE SURFEN? .............................................................................................................. 40<br />

Hardware................................................................................................................................................ 40<br />

computer ............................................................................................................................................................. 40<br />

Software.................................................................................................................................................. 40<br />

Internet-verbinding.................................................................................................................................. 41<br />

Modem................................................................................................................................................................ 41<br />

Telefoonaansluiting.............................................................................................................................................. 41<br />

ADSL.................................................................................................................................................................. 41<br />

ISDN................................................................................................................................................................... 42<br />

De kabel .............................................................................................................................................................. 42<br />

Een permanente IP-verbinding.............................................................................................................................. 42<br />

TOEPASSINGEN VAN HET <strong>INTERNET</strong> .............................................................................................................. 43<br />

World Wide Web ..................................................................................................................................... 43<br />

e-mail...................................................................................................................................................... 43<br />

Usenet: de wereld van discussiegroepen .................................................................................................. 43<br />

IRC (Internet Relay Chat)........................................................................................................................ 44<br />

FTP (File Transport Protocol)................................................................................................................. 45<br />

Telnet...................................................................................................................................................... 45<br />

TCP PROTOCOL ........................................................................................................................................... 47<br />

Data encapsulatie.................................................................................................................................... 48<br />

De gebruikte datastructuren.................................................................................................................................. 48<br />

TCP Service Model.................................................................................................................................. 48<br />

Basis parameters voor TCP connecties.................................................................................................... 49<br />

TCP Connectie opbouw........................................................................................................................... 52<br />

Het detecteren van een oude dubbele connectie-opbouw .......................................................................... 53<br />

Half open connectie detectie.................................................................................................................... 53<br />

Keuze van het Initiële Sequentie-nummer................................................................................................. 54<br />

Normale connectie verbreking................................................................................................................. 54<br />

Window Management .............................................................................................................................. 55<br />

Hertransmissie Timeouts ......................................................................................................................... 56<br />

Netwerken met lange vertragingen........................................................................................................... 57<br />

Hogesnelheids netwerken ........................................................................................................................ 58<br />

IP PROTOCOL .............................................................................................................................................. 59<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 3


Hoe werkt internet ?<br />

IP Header ............................................................................................................................................... 59<br />

IP header velden met IP waarden.......................................................................................................................... 59<br />

IP header velden met TCP/UDP waarden.............................................................................................................. 60<br />

Adresseren en Routeren........................................................................................................................... 61<br />

Fragmentatie........................................................................................................................................... 62<br />

Reassembly ............................................................................................................................................. 62<br />

ETHERNET................................................................................................................................................... 63<br />

Ethernet Header...................................................................................................................................... 63<br />

Adres omzetting....................................................................................................................................... 64<br />

Werking van de ethernet driver................................................................................................................ 64<br />

ARP / RARP ............................................................................................................................................... 65<br />

Omzetten van 32 bit naar 48 bit adres...................................................................................................... 65<br />

Reverse Address Resolution Protocol....................................................................................................... 66<br />

DE TOEKOMST VAN HET <strong>INTERNET</strong>?.................................................................................................. 66<br />

CAPACITEIT................................................................................................................................................. 66<br />

GROOTSCHALIGHEID.................................................................................................................................... 66<br />

WEBWINKELEN ........................................................................................................................................... 67<br />

Kredietkaarten ........................................................................................................................................ 67<br />

SET......................................................................................................................................................... 67<br />

Chipkaarten ............................................................................................................................................ 67<br />

e-cash ..................................................................................................................................................... 67<br />

GERAADPLEEGDE BRONNEN:............................................................................................................... 68<br />

BOEKEN: ..................................................................................................................................................... 68<br />

<strong>INTERNET</strong>:................................................................................................................................................... 68<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 4


Hoe werkt internet ?<br />

I<strong>nl</strong>eiding<br />

Dit document is een verslag ter afronding van de module PL9 m.b.t. de lerarenopleiding<br />

Techniek in de basisvorming. Doel van deze module is dat je in staat moet zijn hoofd- en<br />

subsystemen te onderkennen. Omdat de achtergrond over de werking van internet mij<br />

betrekkelijk onbekend was leek het mij leerzaam om dit als onderwerp te kiezen.<br />

Uitgaande van dit document heb ik tevens een PowerPoint presentatie opgebouwd.<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 5


Hoe werkt internet ?<br />

Ontstaan van netwerken<br />

Telex<br />

Telex (of verreschrift; Engelse afkorting<br />

van Teleprinter exchange) is een manier<br />

om op elektronische wijze brieven te<br />

versturen of schriftelijk te communiceren.<br />

De telex ontstond in de jaren 1920 en is<br />

eige<strong>nl</strong>ijk zelfs het eerste medium dat het<br />

moderne "chatten" toeliet: een interactieve<br />

manier om teksten af te drukken op een<br />

typemachine op afstand.<br />

De telex is een digitale communicatiewijze<br />

die gebaseerd is op de Baudot-code,<br />

genoemd naar Baudot. Op deze code<br />

bestaan vele varianten, waarvan de<br />

Murraycode de bekendste is. De originele<br />

Baudot-code was geoptimaliseerd op het coderen met behulp van een klavier: de meest<br />

gebruikte letters vergden de gemakkelijkste vingerbewegingen; de Murray-code is<br />

geoptimaliseerd naar de bandbreedte van een telexverbinding: de meest gebruikte letters<br />

veroorzaken de laagste frequentiecomponenten in het signaal op de lijn.<br />

De Baudot-code bestaat uit 5 bits, telt<br />

dus 32 verschillende combinaties. Om de<br />

26 letters uit het alfabet en de 10 cijfers<br />

af te drukken heeft men dus een<br />

probleem dat opgelost werd door middel<br />

van de "letter shift" functie, die we<br />

vandaag nog altijd kennen op een<br />

computer. Deze functie liet letterlijk op afstand de wagen van de verreschrijver oplichten,<br />

zodat andere en meer karakters (ook punctuaties) konden worden afgedrukt en ook<br />

hoofdletters konden worden geschreven.<br />

Andere functies die we nog steeds in de computerwereld kennen zijn de "carriage return" en<br />

de "line feed". Deze commando's gaven respectievelijk het bevel aan de verreschrijver om<br />

de wagen terug te voeren naar het begin van het blad, om bijgevolg opnieuw aan de kantlijn<br />

te schrijven en om de papierrol naar boven te bewegen om een nieuwe lijn te beginnen.<br />

Deze functies hebben nog steeds een eigen ASCII-code.<br />

Het grote nadeel van de telex is dat het een eigen netwerk van centrales en kabels nodig<br />

heeft.<br />

Telex heeft een rijke geschiedenis en lag mede aan de basis van de economische<br />

internationalisering van de laatste decennia. Vanaf de jaren tachtig heeft de telex een<br />

enorme concurrentie gekregen van de telefax, die inmiddels ook al is achterhaald door de<br />

sterke opkomst van e-mail. Veel<br />

bedrijven en organisaties hebben<br />

nog een telefax, naast vele andere<br />

communicatiemiddelen. Wetgeving<br />

m.b.t. de geldigheid van<br />

documenten speelt hierin o.a. een<br />

rol.<br />

In Nederland werd de telex in 1933<br />

geïntroduceerd. Op 9 februari 2007<br />

is de KPN na 74 jaar gestopt met<br />

het telexverkeer. Er waren nog rond<br />

de 200 gebruikers over.<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 6


Hoe werkt internet ?<br />

Introductie modem<br />

Het woord modem is een samenvoeging tussen de<br />

twee woorden modulator en demodulator. Een<br />

modem wordt gebruikt om digitale data over en<br />

telefoo<strong>nl</strong>ijn te verzenden. Het zendende modem<br />

moduleert (omzetten van digitaal naar analoog) de<br />

data in een signaal dat aangepast, zodat het over<br />

telefoo<strong>nl</strong>ijn verzonden kan worden. De ontvangende<br />

modem moduleert (omzetten van analoog naar<br />

digitaal) het signaal terug naar digitale data.<br />

Draadloze modems veranderen data om naar<br />

radiosignalen en weer terug.<br />

Modems ontstonden in de Jaren '60 zodat terminals verbinding konden maken met<br />

computers over de telefoo<strong>nl</strong>ijn. Op dit plaatje zie je een typisch voorbeeld van een opstelling<br />

(een vereenvoudiging):<br />

In zo`n opstelling belt een terminal in op een grote centrale computer. De Jaren `60 was de<br />

tijd van tijd-verdelende computers (dat is dat je tijd koopt om op zo`n centrale computer te<br />

werken). Een bedrijf kocht vaker tijd bij zo`n centrale computer, zodat ze het via een 300 bitper-seconde<br />

(BPS) modem.<br />

Een terminal is simpel een toetsenbord en een beeldscherm. Een vaak gebruikte terminal uit<br />

die tijd was de DEC VT-100, deze computer werd een standaard in die dagen. De VT-100<br />

kon 25 lijnen waar elk 80 karakters op konden staan. Wanneer de gebruiker een karakter op<br />

de terminal typte, zond de modem de ASCII code van het karakter naar de computer. De<br />

computer zond het karakter terug naar de terminal terug zodat het op het beeldscherm kwam<br />

te staan.<br />

Mensen hebben een behoorlijk lange tijd met 300 BPS modems gedaan. De reden dat deze<br />

snelheid verdraaglijk was, omdat staat voor 30 karakters per seconde. Dat is veel sneller dan<br />

mensen kunnen typen of lezen. Toen mensen begonnen met het transporteren van grote<br />

programma`s en afbeeldingen werd 300 BPS onverdraaglijk. Modemsnelheden gingen door<br />

een serie van stappen (elke keer ongeveer 2 jaar tot een nieuwe snelheid:<br />

* 300 bit per seconde - 1960 tot en met ongeveer 1983<br />

* 1200 bit per seconde - werd populair in 1984 en 1985<br />

* 2400 bit per seconde<br />

* 9600 bit per seconde - verscheen eind 1990, begin 1991<br />

* 19.2K bit per seconde<br />

* 28.8K bit per seconde<br />

* 33.6K bit per seconde<br />

* 56K bit per seconde - werd standaard in 1998<br />

* ADSL, benaderd ongeveer 10 MBPS - begon een klein beetje te lopen rond 1999/2000<br />

Asynchrone communicatie<br />

Communicatie waarbij er geen synchronisatie is tussen het zendende en het ontvangende<br />

apparaat. Elk apparaat heeft zijn eigen<br />

klok. De synchronisatie wordt gedaan<br />

door een byte te beginnen met een<br />

startbit. De ontvanger weet dan dat er een<br />

byte aankomt. Na de byte worden nog één<br />

of twee stopbits verzonden om de<br />

ontvanger te kunnen laten controleren of<br />

alles netjes is aangekomen. Dit is de<br />

meest voorkomende vorm van seriële<br />

communicatie. Doordat er bij elke byte<br />

minimaal 2 bits extra moeten worden<br />

verzonden, verloopt dit wel wat trager dan<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 7


Hoe werkt internet ?<br />

synchrone communicatie. Officieel zijn er baudrates mogelijk van 110 tot 9600 baud. Als de<br />

apparatuur dicht bij elkaar staat, zijn hogere baudrates haalbaar; 19.200 baud is geen<br />

uitzondering. Sommige speciale software laat al communicatie tot 153.600 baud toe. Elk<br />

karakter wordt direct de lijn op gestuurd, dus niet als blok. Deze methode wordt vooral<br />

gebruikt in de pc- en MAC-wereld. Voorbeelden van asynchrone communicatie zijn huispost,<br />

e-mail, fax en briefpost. Dit is efficiënt als het werk grotendeels sequentieel moet worden<br />

uitgevoerd.<br />

Netwerk protocol middels ASCII<br />

Om communicatie mogelijk te maken tussen 2 apparaten was het noodzakelijk dat er<br />

sturingskarakters gedefinieerd werden. Dit protocol met ASCII karakters heeft een basis<br />

gelegd voor communicatie met netwerken<br />

Dec Code Betekenis<br />

0 NUL Null<br />

1 SOH Start of Header<br />

2 STX Start of Text<br />

3 ETX End of Text<br />

4 EOT End of Transmission<br />

5 ENQ Enquiry<br />

6 ACK Acknowledgment<br />

7 BEL Bell (geluidssignaal)<br />

8 BS Backspace<br />

9 HT Horizontal Tab<br />

10 LF Line Feed (nieuwe regel)<br />

11 VT Vertical Tab<br />

12 FF Form Feed<br />

13 CR Carriage Return (wagenterugloop)<br />

14 SO Shift Out<br />

15 SI Shift In<br />

16 DLE Data Link Escape<br />

17 DC1 Device Control 1 (XON)<br />

18 DC2 Device Control 2<br />

19 DC3 Device Control 3 (XOFF)<br />

20 DC4 Device Control 4<br />

21 NAK Negative Acknowledgement<br />

22 SYN Synchronous Idle<br />

23 ETB End of Transmission Block<br />

24 CAN Cancel<br />

25 EM End of Medium<br />

26 SUB Substitute<br />

27 ESC Escape<br />

28 FS File Separator<br />

29 GS Group Separator<br />

30 RS Record Separator<br />

31 US Unit Separator<br />

32 SP Space (spatie)<br />

Opkomst computer + netwerken<br />

Een derde belangrijke ontwikkeling betreft die van lokale en internationale<br />

computernetwerken. Sinds 1970, het jaar waarin vier Amerikaanse universiteiten door middel<br />

van het door het Amerikaanse Ministerie van Defensie ontwikkelde ARPA-netwerk werden<br />

verbonden, hebben computernetwerken een exponentiële groei doorgemaakt. Terwijl het<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 8


Hoe werkt internet ?<br />

ARPA-netwerk vier lokale universitaire netwerken en daarmee in totaal enkele honderden<br />

mensen met elkaar verbond, verbindt het huidige Internet meer dan 10.000 lokale netwerken<br />

en ruim zes miljoen hostcomputers met elkaar, die tezamen vele miljoenen computers, en<br />

nog eens een veelvoud aan gebruikers, toegang bieden tot het Internet. Op dit moment<br />

maken ruim veertig miljoen mensen - nu nog voornamelijk mannelijke blanke twintigers en<br />

dertigers uit het Noordatlantische gebied -regelmatig gebruik van Internet. Wanneer het<br />

aantal gebruikers in hetzelfde tempo blijft groeien zal het netwerk aan het eind van de eeuw<br />

wereldwijd meer dan honderd miljoen gebruikers kennen.<br />

Nu reeds biedt het Internet de gebruiker een groot aantal mogelijkheden, variërend van<br />

electronische post (e-mail) en nieuwsgroepen over alle denkbare onderwerpen en liveconversaties<br />

(Internet Relay Chat) tot uitee<strong>nl</strong>opende informatiediensten en virtuele<br />

winkelketens. De grote doorbraak bij het grote publiek kwam na de introductie van World<br />

Wide Web (WWW) in 1991. Dit hypermedium, ontworpen aan het Europese Laboratorium<br />

voor Deeltjesfysica (CERN) in Zwitserland, is gebaseerd op een eenvoudig concept: de<br />

combinatie van HyperText Markup Language (HTML) en Universal Source Locators (URL's).<br />

HTML stelt de gebruiker in staat op een relatief eenvoudige wijze documenten met tekst,<br />

beeld en geluid te vervaardigen die vervolgens in een van een uniek URL-adres voorziene<br />

site op Internet kunnen worden geplaatst. Dankzij in deze HTML-documenten geplaatste<br />

koppelingen (links) kan de user met een eenvoudige muisklik van de ene naar de andere<br />

WEB-page overgaan, het netsurfen. Aan het succes van het World Wide Web heeft niet<br />

alleen de grote gebruiksvriendelijkheid bijgedragen (wanneer de benodigde software<br />

eenmaal is geïnstalleerd, kan een kind ermee aan de slag gaan), maar vooral ook dat het<br />

ook gebruikt kan worden om de eerder genoemde andere Internetdiensten te gebruiken. Ook<br />

met betrekking tot het WWW staan de ontwikkelingen overigens niet stil. Als opvolger van<br />

HTLM is inmiddels een Virtual Reality Modeling Language (VRML) geïntroduceerd, een taal<br />

die het mogelijk maakt driedimensionele werelden in Internet te scheppen, waardoorheen de<br />

gebruiker zich kan verplaatsen en waarmee hij in interactie kan treden.<br />

De drie geschetste ontwikkelingen hebben gemaakt dat het aantal computers in de<br />

afgelopen decennia exponentieel is gestegen. Waren er in de jaren zestig wereldwijd niet<br />

meer dan enkele honderden computers, inmiddels heeft iedere bewoner van het Noord-<br />

Atlantische gebied gemiddeld twintig processoren tot zijn beschikking, waarvan de meeste<br />

onzichtbaar zijn verwerkt in wasmachines, auto's, telefoons, auto's etc.<br />

Het aantal personal computers bedroeg in 1995 wereldwijd meer dan 208 miljoen. De<br />

meeste daarvan bevinden zich in de Verenigde Staten, Europa en Japan (respectievelijk<br />

320, 220, 190 120 per 1000 inwoners). De overige landen in Azië en de meeste landen in<br />

Oost-Europa en op het Zuid-Amerikaanse continent zijn echter inmiddels begonnen hun<br />

achterstand in te lopen. Alleen het lost continent Afrika loopt ook met betrekking tot deze<br />

ontwikkeling een steeds grotere achterstand op. Op dit moment maken ruim veertig miljoen<br />

mensen - nu nog voornamelijk mannelijke blanke twintigers en dertigers uit het Noord-<br />

Atlantische gebied - regelmatig gebruik van Internet. Wanneer het aantal gebruikers in<br />

hetzelfde exponentiële tempo blijft groeien zal het netwerk voorhet eind van de eeuw<br />

wereldwijd meer dan honderd miljoen gebruikers kennen.<br />

Als we geschetste drie ontwikkelingen samennemen, dan mogen we op niet al te lange tijd<br />

een versmelting verwachten van de nu bestaande communicatienetwerken (telefoonnet,<br />

kabels, satelieten) en de nog steeds krimpende multimediale computer tot één nieuw<br />

telemedium. Een groot plat beeld-scherm in de wand van de huis- en werk-kamer, een kleine<br />

display aan de pols of een Virtual Reality bril of contactlenzen - en later wellicht directe<br />

stimulering van onze hersenen - zullen ons toegang bieden tot cyberspace en ons in staat<br />

stellen daar onderwijs te volgen, ons werk te doen en ontspanning te vinden. Deze<br />

activiteiten zullen echter in veel opzichten een ander karakter hebben gekregen dan zijn in<br />

de ons nu bekende wereld bezitten.<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 9


Hoe werkt internet ?<br />

ARPA net<br />

‘The Mother of all networks’ zoals de Amerikanen internet noemen, vond zijn zijn oorsprong<br />

in 1969 bij de introductie van ARPANET. (advanced Research Projects Agency). ARPANET<br />

was een experimenteel datacommunicatienetwerk dat door het Amerikaanse ministerie van<br />

landsverdediging werd opgezet om wetenschappers van diverse Amerikaanse universiteiten<br />

toegang te verlenen tot grote computerbestanden verspreid over het land. In de Verenigde<br />

Staten werden deze projecten regelmatig gesteund door de militaire overheid omdat<br />

wetenschap vaak ook de militairen ten goede kwam.<br />

In het begin van de jaren zeventig werd het netwerk geleidelijk voor andere doeleinden<br />

gebruikt. In 1976 werden op het ARPANET de eerste mailinglijsten verstuurd (dit zijn<br />

berichten met verzoek op commentaar) . Er werden meer en meer lokale en Nationale<br />

netwerken via ARPANET met elkaar verbonden maar dit verloopt zeer moeizaam omdat de<br />

verschillende soorten netwerken –en de computers die erop zijn aangesloten – vaak een<br />

andere taal spreken. Met andere woorden, deze netwerken gebruiken allemaal een<br />

verschillend communicatieprotocol.<br />

Daarom werd een ‘open’ netwerkprotocol ontwikkeld, het zogenaamde TCP/IP, dat in 1983<br />

werd geïntroduceerd en één van de belangrijkst mijlpalen vormt in de evolutie van het<br />

internet.<br />

In 1980 werden de militaire activiteiten van het netwerk ondergebracht in MILNET, terwijl<br />

APRANET voor wetenschappelijke doeleinden werd behouden. Maar in de jaren tachtig<br />

ontwikkelde de Nationale Science Foundation een eigen netwerk, NSFNET, om een aantal<br />

nationale computercentra toegankelijk te maken voor onderzoekers. In 1990 ging ARPANET<br />

volledig op in NSFNET, dat snel uitgroeide tot een nationaal, sterk vertakt netwerk. NSFNET<br />

kende niet alleen succes bij academici maar ook bij studenten.<br />

Aanvankelijk werd op het net geen commerciële informatie geduld. Maar omdat de vraag<br />

van de bedrijfswereld zo groot werd, werd in 1991 door een Amerikaans consortium van<br />

private informatieaanbieders een parallel net uitgebouwd waarop dit wel mogelijk was. Het<br />

Internet zoals we dat vandaag kennen, was daarmee gelanceerd. In 1994 oordeelde het<br />

NSF dat de verdere uitbouw van het internet beter zou worden overgenomen door privé- en<br />

openbare telecommunicatiemaatschappijen om de activiteiten en fondsen te kunnen<br />

gebruiken voor meer fundamenteel onderzoek. Internet kent sinds het midden van de jaren<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 10


Hoe werkt internet ?<br />

negentig een fenomenale groei. In 1996 waren er wereldwijd in zo’n 180 landen circa 60.000<br />

netwerken op het internet aangesloten en 5 miljoen computers. Met een gemiddeld van 4<br />

gebruikers per computer, was de internetgemeenschap toen al zo’n 20 miljoen gebruikers<br />

groot.<br />

Ontwikkeling lokale netwerken<br />

Naast ARPA net ontstond ook in de office- en industriële<br />

omgeving behoefte om computers te verbinden ten<br />

behoeve van gegevensuitwisseling door middel van<br />

lokale netwerken.<br />

Grote bedrijven zoal IBM en Digital hebben bij de<br />

ontwikkeling van deze lokale netwerken een grote rol<br />

gespeeld.<br />

IBM heeft hierbij ruim van kunnen profiteren, terwijl<br />

anderen niet zo fortui<strong>nl</strong>ijk waren. Met name Digital<br />

(voorheen Digital Equipment of DEC) konden het niet<br />

bolwerken, niet zozeer doordat zij faalden, maar omdat<br />

zoveel zaken om hen heen veranderden. Zo was Digital<br />

met Decnet pionier op het gebied van netwerken, en ook<br />

met betrekking tot 'time-shared' besturingssystemen<br />

zoals VMS. De industrie nam het concept over, maar implementeerde het met tcp/ipnetwerken<br />

en de besturingssystemen Unix en NT.<br />

Digital werd ingehaald, een gebruikelijk lot van pioniers, en ik twijfel of zelfs Lou Gerstner<br />

veel voor hen had kunnen doen.<br />

Digital was niet het enige bedrijf dat groeide en vervolgens ten onder ging met het<br />

minicomputer-concept. De belangrijkste concurrent, HP, overkwam dat echter niet. Het is<br />

uiterst treurig dat Digital uiteindelijk door Compaq werd opgeslokt, om - naar ik vermoed - de<br />

overblijfselen tenslotte in de liefdevolle handen van zijn aartsrivaal te vinden. Feitelijk zijn alle<br />

minicomputerbedrijven van de jaren negentig verdwenen, met uitzondering van HP. Het is de<br />

moeite waard om zich af te vragen hoe dat komt, omdat het van belang zou kunnen zijn voor<br />

dit laatste waagstuk.<br />

Het belangrijkste onderscheid tussen HP en DEC betrof de veelzijdigheid.<br />

DEC was een minicomputerbedrijf, gezegend met het ware ontwerpgenie van Gordon Bell,<br />

terwijl HP aanvankelijk voorloper was op het gebied van 'high performance'<br />

instrumentontwerp. HP zette jaren lang ook de toon met geavanceerde<br />

zakrekenmachientjes, totdat het bulkgoederen werden. HP was nooit goed in grote volumes<br />

en lage prijzen.<br />

Aanvankelijk ontwikkelde HP<br />

minicomputers speciaal voor<br />

gegevensverzameling<br />

en<br />

procescontrole, waarmee ze hun<br />

belangrijkste<br />

instrumentlijn<br />

ondersteunden. Anders dan DEC,<br />

betrad HP de markt van zakelijke<br />

computer met de 3000-serie, een<br />

volstrekt andere architectuur en<br />

software voor minicomputersystemen.<br />

DEC gebruikte dezelfde VAXarchitectuur<br />

voor zowel proces- als<br />

zakelijke toepassingen, zij het met<br />

verschillende besturingssystemen. HP's<br />

positie was veel beter om conflicten met<br />

prijzen en ondersteuning in de twee<br />

verschillende markten te voorkomen.<br />

HP liet zich ook in met dure<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 11


Hoe werkt internet ?<br />

engineering-werkstations, waarbij het onder andere Sun beconcurreerde en Digital achter<br />

zich liet. HP stoelde de nieuwe technologie op risc-processoren, Unix en tcp/ip-netwerken.<br />

Dat voerde hen naar de huidige dominante positie. DEC was veel te laat met het verlaten<br />

van zijn VAX, VMS en Decnet-systemen; in dit geval ten koste van de eerste plaats. Maar de<br />

eerste plaats is niet altijd het best voor de lange termijn, getuige OS/2 versus NT.<br />

Compaq is natuurlijk een ander verhaal. Het is veel jonger dan HP en de enige overlevende<br />

van de pc-explosie. IBM en HP zijn nog steeds grote spelers in de pc-sector, maar Dell,<br />

enzovoort, zijn relatief nieuw. Compaq overleefde in het begin, omdat ze een draagbare<br />

machine maakten die compatibel is met de IBM-pc, iets wat zelfs IBM niet presteerde. Dit<br />

succes gebruikten ze om op het juiste moment een voet tussen de deur te krijgen bij de<br />

markt van pc's voor ondernemingen Daarom hebben ze, vermoed ik, de veranderingen in de<br />

pc-markt, met de vraag naar snellere en goedkopere producten, overleefd.<br />

Compaq leek zich bewust van het verval in de pc-markt dat we nu meemaken, lang voordat<br />

het zover was, en probeerde zich te richten op het marktsegment van de zwaardere<br />

systemen - met wisselend succes. Ze deden twee strategische overnames, eerst Tandem en<br />

toen Digital. De eerste was een slimme zet, die hun geloofwaardigheid in de<br />

ondernemingssector vergrootte en hun productfolio verbreedde zonder overlap met de range<br />

van kernproducten.<br />

Digital was een ander verhaal. De positieve kant is dat ze een substantieel team hebben om<br />

de groeiende dienstensector en een groter klantenbestand te lijf te gaan.<br />

Aan de andere kant hebben ze een zeer goede, maar verouderende productrange, en een<br />

aanzie<strong>nl</strong>ijke overlap met Compaqs Intel-servers.<br />

<strong>Opbouw</strong> netwerken<br />

Als je op een computer in een bedrijf een applicatie opstart, dan zal die applicatie bijna altijd<br />

op een server staan.<br />

Dat betekent dat de computer via het netwerk kenbaar moet maken dat hij een applicatie van<br />

de server wil ontvangen.<br />

Er moet dan een datastroom op gang komen van de server naar het werkstation.<br />

Deze datastroom moet zo worden geregeld dat de data die de server verstuurt, in de goede<br />

volgorde naar het juiste station wordt gestuurd.<br />

De ontvangende computer moet deze datastroom weer van het netwerk afhalen en<br />

vervolgens in het geheugen plaatsen, om op die manier in staat te zijn de applicatie te<br />

draaien.<br />

In een LAN met meerdere servers zijn er voor wat betreft gebruik de volgende<br />

mogelijkheden:<br />

Gemeenschappelijk gebruik van een grote hoeveelheid programma’s<br />

Gebruik van relatief dure randapparatuur.<br />

Teksten doorzenden naar de bestemming<br />

Een fax op de computer gereed maken en via het netwerk versturen.<br />

Een rapport dat door meerdere mensen is geschreven, in concept via het netwerk naar<br />

een van de andere schrijvers sturen, die er weer verder aan kan werken.<br />

Centraal beheer van agenda’s.<br />

Beschikbaar stellen van veel informatie<br />

Delen van databestanden<br />

Via het netwerk bestanden raadplegen die elders zijn opgeslagen.<br />

Netwerk topologieën<br />

Netwerken bestaan uit een aantal onderling verbonden apparaten.<br />

Behalve computers kunnen in een netwerk ook printers, robots, transportsystemen en<br />

dergelijke zijn opgenomen.<br />

De computer in het netwerk waarop de applicatiesoftware draait en eventueel ook de<br />

bestanden te vinden zijn die voor andere netwerkgebruikers toegankelijk zijn, word de server<br />

genoemd.<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 12


Hoe werkt internet ?<br />

Verder zijn er knooppunten, ook wel nodes genoemd waarbij verschillende<br />

communicatielijnen bij elkaar komen.<br />

De verschillende knooppunten zijn volgens een bepaalde structuur, ook wel topologie<br />

genoemd met elkaar verbonden.<br />

Sternetwerk<br />

Bij een sternetwerk zijn alle knooppunten of nodes in het<br />

netwerk verbonden met één centraal punt. Alle verkeer tussen<br />

de nodes loopt via deze centrale. Een dergelijk netwerk is<br />

nogal kwetsbaar. Als de centrale node uitvalt, is er geen<br />

verkeer in het netwerk meer mogelijk. Het loopt snel vol en is<br />

bij uitbreiden al snel erg duur.<br />

aansluitingen.<br />

Ringnetwerk<br />

Bij een ring netwerk loopt er één kabel als een ring langs alle<br />

nodes. Gegevens worden een richting door de ring verzonden<br />

en door het eerstvolgende knooppunt doorgegeven, net zo lang<br />

tot zij bij het bestemmingsstation aankomen. Is vrij kwetsbaar.<br />

Als er een knooppunt uitvalt, wordt de informatie niet meer<br />

doorgegeven en functioneert het hele netwerk<br />

niet meer. Dit wordt veel toegepast in een<br />

lokaal netwerk met niet al te veel<br />

Busnetwerk<br />

Een busnetwerk heeft een centrale lijn waarmee de computers verbonden<br />

zijn. Het is vrij eenvoudig uit te breidden. De beperkende factor zit hem in<br />

het gebruikte protocol en in het soort kabel. Bij een busnetwerk moet het<br />

uiteinde van de kabel voorzien zijn van een terminator om reflecties van<br />

het signaal te doven.<br />

Boomnetwerk<br />

Bij een boom netwerk is er meestal sprake van een hiërarchische<br />

opbouw. De computer boven aan het netwerk is het belangrijkste. Net<br />

als bij een bus en sternetwerk is er meestal maar één route tussen<br />

twee knooppunten.<br />

Maasnetwerk<br />

Bij een maasvormig netwerk bestaat er een verbinding tussen alle<br />

knooppunten. Deze topologie is niet alleen vrij onoverzichtelijk, maar<br />

ook erg duur. In de praktijk kom je het haast nooit tegen, wel een<br />

gedeeltelijk vermaasd netwerk. De snelheid van een maasvormig<br />

netwerk kan hoog zijn.<br />

Bereik netwerken (LAN/MAN/WAN)<br />

LAN<br />

Netwerken met een klein bereik worden lokale netwerken (Local Area Networks, LAN’s)<br />

genoemd.<br />

Er is sprake van een LAN als het netwerk zich in één ruimte bevindt, in één gebouw of op<br />

één bedrijfsterrein bevindt.<br />

De fysieke verbinding van een LAN bestaat uit twisted pair, coax of soms packet radio.<br />

Soms glasvezel of infrarood.<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 13


Hoe werkt internet ?<br />

De structuur kan een sternetwerk, een ringnetwerk, een busnetwerk of een combinatie van<br />

deze structuren zijn.<br />

Hub en switching hub<br />

In een ethernet-netwerk op<br />

basis van twisted-pair<br />

worden de stations<br />

aangesloten op een hub. Op<br />

elke poort van de hub word<br />

één station aangesloten.<br />

Hubs hebben een beperkt<br />

aantal poorten (4,8,16,24).<br />

Fysiek zijn de stations dan<br />

via een sterstructuur op deze<br />

hub aangesloten.<br />

De logische verbinding tussen een de stations in een Ethernet netwerk is een busnetwerk.<br />

Hubs kunnen meestal gestapeld worden (stackable hubs). Op deze manier kunnen toch nog<br />

voldoende aansluitingen worden gerealiseerd. De taak van de hub is: het opnieuw<br />

(onvervormd en met de oorspronkelijke sterkte) op de lijn zetten van het signaal.<br />

Bij Ethernet (maar ook bij andere LAN technologien) delen een aantal nodes hetzelfde<br />

medium. De nominale snelheid van ethernet is 10 Mbps, maar als een groot aantal<br />

computers op hetzelfde segment actief zijn dan beschikt elke computer gemiddeld over<br />

minder capaciteit.<br />

Om te voorkomen dat de response tijd erg hoog oploopt zijn er switching hubs. Een<br />

switching hub is een hub met een ingebouwde pakketschakelaar. Daardoor kan elke poort<br />

op de maximale snelheid communiceren<br />

Router<br />

Met behulp van een router kunnen twee<br />

fysiek verschillende (of fysiek gelijke)<br />

netwerken op elkaar aangesloten<br />

worden. Je kunt hier bijvoorbeeld een<br />

Ethernet-LAN aansluiten op een<br />

datanetwerk. Ook kun je met behulp van<br />

routers een groot netwerk opsplitsen in<br />

een aantal subnetwerken.<br />

Een router werkt tot en met de<br />

netwerklaag. Met een router kunnen dan<br />

ook verschillende netwerken gescheiden<br />

gehouden worden. Een router moet dus<br />

de intelligentie bevatten om zowel de<br />

routering te verzorgen als<br />

adresconversie uit te voeren. Niet elk<br />

netwerk koppelt op dezelfde manier een<br />

netwerkadres aan een station.<br />

Een router splitst het netwerk op in<br />

subnetwerken. Hierdoor is de beheerder van een netwerk beter in staat om het<br />

informatieverkeer te regelen. Door het opsplitsen in subnetwerken kan onder andere<br />

bescherming worden geboden tegen broadcaststormen.<br />

Verder is er sprake van een hiërarchische opbouw van de adresstructuur. De netwerk adres<br />

informatie maakt het mogelijk om een netwerk in een aantal subnetwerken op te delen. Met<br />

behulp daarvan kan aan stations de toegang tot bepaalde delen van het netwerk worden<br />

ontzegd.<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 14


Hoe werkt internet ?<br />

Brigdes<br />

Bridges nemen hun beslissing om een bericht al dan niet door te zenden op grond van het<br />

MAC-adres. Bridges zijn dan ook transparant voor de protocollen van de hogere lagen.<br />

Eige<strong>nl</strong>ijk kun je zeggen dat bridges deze protocollen niet begrijpen, en dus gewoon maar<br />

doorlaten. De MAC-laag biedt echter ook informatie over het gebruik van de protocollen in de<br />

hogere lagen.<br />

De router kan op grond van deze informatie besluiten om een bericht al dan niet door te<br />

zenden. Routers die meerdere protocollen aan kunnen, worden wel aangeduid als<br />

multiprotocol-routers.<br />

Verder werken niet alle protocollen altijd met dezelfde maximale pakketlengte. Dit houdt in<br />

dat het nodig kan zijn dat de router pakketten opsplitst in kleinere pakketten (fragmentatie)<br />

De router maakt op de netwerklaag gebruik van routeringsprotocollen en routeringstabellen.<br />

MAN<br />

Stedelijk netwerk.<br />

Metropolitan Area Network. Beperkt zich tot een stad of een stedelijk gebied.<br />

WAN<br />

Wide Area Network.<br />

Deze kunnen ook grote afstanden overbruggen, van een stad tot een hele regio, een heel<br />

land of de hele wereld<br />

Openbare netwerken<br />

Netwerken voor de lange afstand kunnen openbaar zijn of particulier. De openbare<br />

infrastructuur van de nationale KPN’s wordt tot de openbare netwerken gerekend.<br />

Voorbeelden hiervan zijn, het telefoon netwerk, datanetwerken en het telexnet.<br />

Openbare netwerken zijn in principe voor iedereen toegankelijk. Dat wil nog niet zeggen dat<br />

zij in de praktijk echt toegankelijk zijn. Voor veel openbare netwerken moet betaald worden<br />

of moet aan bepaalde voorwaarden worden voldaan alvorens er toegang toe te verkrijgen is.<br />

Dit kan een lidmaatschap zijn, maar ook het voldoen aan bepaalde technische eisen.<br />

Particuliere netwerken<br />

Particuliere netwerken zijn netwerken die door een bedrijf of organisatie beheerd worden.<br />

Lokale netwerken zijn eige<strong>nl</strong>ijk altijd particuliere netwerken.<br />

Er bestaat ook een groot aantal particuliere WAN’s.<br />

Deze kunnen overigens vrij toegankelijk zijn.Soms zijn ze echter alleen toegankelijk voor een<br />

zeer beperkte groep mensen. Pariculier WAN’s maken voor transport van data vrijwel altijd<br />

gebruik van een openbare infrastructuur.Voor Nederland geld dat het verboden is om over<br />

de openbare weg verbindingen aan te leggen. Dat mogen alleen organisaties doen die van<br />

de minister toestemming hebben gekregen. In Nederland zijn dat:<br />

KPN Telecom<br />

Telfort<br />

Enertel<br />

Dit staat overigens los van een<br />

licentie om een draadloos<br />

telefoonnetwerk te beheren.<br />

De server<br />

De tijd dat de server echt de<br />

centrale computer was en het<br />

netwerk als op zich zelf staand werd<br />

beschouwd is zo’n beetje voorbij.<br />

Netwerken worden steeds vaker met<br />

elkaar verbonden.<br />

Een server wordt meer en meer een<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 15


Hoe werkt internet ?<br />

eerste opstap maar een groter geheel. Door netwerken onderling te verbinden ontstaan er<br />

grotere netwerken waarmee meer informatie toegankelijk is en een betere communicatie<br />

mogelijk wordt.<br />

Netwerkkoppelingen tussen afdelingen, vestigingen, overzeese partners, afnemers en<br />

opdrachtgevers nemen snel toe. In de ontwikkeling van netwerkkoppelingen speelt Internet<br />

als wereldomspannend netwerk een dominante rol.<br />

Betrouwbaarheid en snelheid zijn belangrijke elementen die bij de aanschaf van een server<br />

meetellen.<br />

Omdat servers in sommige opstellingen wel duizend<br />

gebruikers of meer bedienen kunnen zowel Novell’s Netware<br />

als Windows NT ingezet worden op computers met meerdere<br />

processoren (multiprocessing). Zo kunnen deze<br />

besturingssystemen met andere processoren geïnstalleerd<br />

worden.<br />

Omdat de eisen die aan een server gesteld worden hoog<br />

kunnen zijn is het niet verstandig om als netwerkserver een<br />

dezelfde machine te gebruiken als voor werkstations.<br />

Qua betrouwbaarheid, bedrijfszekerheid en snelheid worden aan een server hoge eisen<br />

gesteld. Enkele voorbeelden van voorziening en uitbreidingen zijn:<br />

Een noodstroomvoorziening (UPS, Uninterruptable Power Suppply)<br />

Het direct kopiëren van alle opgeslagen informatie over meerdere schijven (disk mirroring<br />

of disk duplexing)<br />

Verdelen van informatie over een groep schijven (RAID, Redundant Array of Inexpensive<br />

Disks)<br />

Het o<strong>nl</strong>ine houden van 2 identieke servers (File Server Duplexing)<br />

Goede back-up faciliteiten<br />

Geheugentechnieken voor cache- en hoofdgeheugen, waarbij defecte geheugencellen<br />

de werking van de computer niet verstoren.<br />

Veel geheugen, 512 Megabyte is geen uitzondering.<br />

Snelle interfaces naar onder andere schijven (SCSI enz.).<br />

Patchkasten<br />

In een gebouw worden de verschillende verdiepingen met<br />

elkaar verbonden. Deze bekabeling bevindt zich in de<br />

schachten in het gebouw. Maximaal 500 meter verder liggen<br />

de TC’s (telecommunicatie kast)In deze kast komen alle<br />

verbindingen samen.<br />

Op een patch panel (prikbord) worden alle verbindingen<br />

gemaakt tussen de actieve netwerkcomponenten en de<br />

passieve verbindingen. Meestal is de bekabeling ruim<br />

bemeten en zijn lang niet alle aansluitpunten bezet.<br />

Voor de maximale lengte vanaf deze patchkast tot het aansluitpunt word vaak 90 m<br />

aangehouden. Dit aansluitpunt is meestal een connector die in een contactdoos bij de<br />

werkplek zit. Vanaf die contactdoos wordt de computer dan met een snoer van maximaal 3<br />

meter aangesloten.<br />

Een dergelijke structuur zorgt voor een flexibele en stabiele netwerkbekabeling.Het zoeken<br />

van fouten alsmede het uitbreiden van het netwerk is in dergelijke gevallen niet moeilijk.<br />

Bekabeling<br />

Als één of meerdere computers met elkaar worden verbonden kan dat op vele manieren.<br />

Meestal wordt er gekeken welke soort bekabeling er wordt gebruikt. Veel gebruikte<br />

kabelsoorten zijn:<br />

Coaxkabel<br />

Glasvezelkabel<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 16


Hoe werkt internet ?<br />

<br />

Twisted-pair kabel<br />

De coaxkabel<br />

Iedereen die is aangesloten op het kabeltelevisienet, ontvangt de<br />

programma’s via een coaxkabel. Maar zo’n kabel kan ook voor<br />

datacommunicatie, zoals Internet, worden gebruikt.<br />

Voor datacommunicatie in kleine netwerken wordt nog regelmatig<br />

gebruik gemaakt van coax kabel. Deze bestaat uit een koperen kern<br />

als geleider, omgeven door een isolator. Om die isolatie heen<br />

bevindt zich een tweede, cilindrische geleider als afscherming. Deze<br />

laatste bestaat meestal uit geweven of gevlochten koperdraad. Het geheel<br />

wordt door een beschermende mantel omgeven. Door de goede<br />

afscherming van de kern is de kans op fouten bij het gegevenstransport<br />

gering.<br />

Een nadeel van de coax is dat hij vrij duur is en lastig te verwerken.<br />

Bovendien neemt de coax betrekkelijk veel ruimte in de kabelgoten in<br />

beslag. Coax wordt vooral binnen gebouwen of op het eigen bedrijfsterrein<br />

voor datacommunicatie gebruikt.<br />

Glasvezelkabel<br />

Glasvezel is een medium dat al jaren sterk in opkomst<br />

is. Glasvezel of glasfiber bestaat uit een kern van<br />

lichtgeleidend materiaal en een mantel van ander<br />

materiaal. De kern is nooit van glas, meestal wordt<br />

een kunstvezel gebruikt.<br />

De vezel is een lange, lichtgeleidende buis met<br />

rondom een spiegelwand. De spiegeling ontstaat door<br />

de hoek van de lichtstraal en het verschilt in<br />

brekingsindex tussen de kern en het omringende<br />

medium. Een lichtstraal die in de kern valt, zit daar als<br />

het ware gevangen.<br />

Voor lichtstraaltransmissie door glasvezel wordt gebruik gemaakt van Light Emitting Diodes<br />

(LED’s) en Injection Laser Diodes (ILD’s). De eerste voor lagere snelheden, de tweede voor<br />

hogere snelheden. Het apparaat dat elektrische signalen omzet in lichtimpulsen en<br />

lichtimpulsen terug vertaalt in elektrische signalen heet een optisch modem.<br />

Glasvezel kan zowel analoog als digitaal worden gebruikt. Bij digitaal gebruik is het<br />

onderscheid tussen de één en de nul wel of geen licht. Bij analoge transmissie wordt de<br />

sterkte van de lichtbron gevarieerd. De bandbreedte van glasfiber is enorm groot.<br />

Momenteel worden over glasvezel snelheden bereikt tot 1 Gbps, maar het is niet<br />

denkbeeldig dat in de toekomst veel hogere snelheden gerealiseerd worden.<br />

Bij glasvezel treedt zeer weinig demping op. Bovendien is de vezel ongevoelig voor storing<br />

door elektromagnetische velden en elektrische storingen. De installatie van glasvezel is nog<br />

vrij lastig.<br />

Voor het maken van lassen is speciale apparatuur nodig.<br />

Het maken van aftakkingen is niet mogelijk. De<br />

randapparaten zijn nog steeds duur. De kabel zelf is licht en<br />

dun, hij word uit een goedkope, niet schaarse grondstof<br />

gemaakt. Een nadeel is wel dat de kabel fysiek erg<br />

kwetsbaar is.<br />

Bij een glasvezelkabel wordt de informatie niet in de vorm<br />

van elektrische pulsen verzonden maar in de vorm van<br />

lichtflitsen. Bit 1 kan op die manier worden voorgesteld als<br />

‘wel een lichtflits’. Bit 0 als ‘geen lichtflits’. Het grote<br />

voordeel van glasvezel ten opzichte van andere<br />

transportkanalen is de enorme ‘bandbreedte’: dit is de<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 17


Hoe werkt internet ?<br />

maximale hoeveelheid informatie die (per tijdseenheid) via zo’n kabel kan worden<br />

verzonden. Deze grote bandbreedte kan worden aangewend om zeer veel gegevens (bv.<br />

Digitale videobeelden) met zeer hoge snelheden te verzenden of om verschillende<br />

informatiestromen(bv. Honderden telefoongesprekken) tegelijkertijd via dezelfde kabel te<br />

versturen.<br />

Twisted pair kabel<br />

Een twisted-pair kabel bestaat uit in elkaar gevlochten<br />

aderparen. Minimaal twee paren, worden samen gebruikt voor<br />

één verbinding. Verschillende paren worden samengevoegd tot<br />

één kabel. Door het twisten wordt de onderlinge beïnvloeding<br />

beperkt.<br />

Twee naast elkaar liggende draden pikken normaal storingen<br />

op en nemen elkaars signaal over. Om dit te voorkomen<br />

worden de paren weer tegen elkaar ingedraaid. Deze kabel<br />

wordt voor zeer veel toepassingen gebruikt. Twisted-pair kabel<br />

is flexibel en betrekkelijk goedkoop.<br />

De kabel is eenvoudig aan te leggen.<br />

Meestal wordt deze kabel UTP kabel genoemd. (Unshielded<br />

Twisted Pair). Deze kabel heeft geen afscherming.<br />

Er bestaat ook STP ( Shielded Twisted Pair). Dit is een<br />

afgeschermde kabel die wat minder storingsgevoelig is, maar<br />

natuurlijk duurder.<br />

Communicatie via satelliet<br />

Net zoals televisieprogramma’s kunnen ook<br />

gegevens uit een computer via radiogolven<br />

worden verstuurd. Indien zeer grote<br />

afstanden moeten worden overbrugd, zijn<br />

satellieten een uitstekend transportmiddel.<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 18


Hoe werkt internet ?<br />

OSI model: standaardisatie protocollen<br />

Toen aan het eind van de jaren 70 en het begin van<br />

de jaren 80 het gebruik van netwerken nog in de<br />

kinderschoenen stond verliep de ontwikkeling erg<br />

chaotisch. Bedrijven die de voordelen van het gebruik<br />

van netwerken inzagen zetten netwerken op, maar zij<br />

merkten al vrij snel dat de uitbreiding van deze<br />

netwerken problematisch was. Dat kwam omdat<br />

verschillende netwerken waren gebouwd met<br />

verschillende standaarden. Sommige bedrijven<br />

ontwikkelden zelf een standaard voor<br />

netwerkcommunicatie die later vaak moeilijk te<br />

verenigen bleek met de standaarden van andere<br />

netwerken. De behoefte aan een algemene standaard<br />

was daarmee geboren.<br />

In 1984 bracht the International Orginasation for<br />

Standardization (ISO) het OSI model uit als een<br />

handvest voor het ontwikkelen van netwerkapparatuur<br />

en software. Het OSI model is tegenwoordig het<br />

meest gebruikte model voor datatransport op een<br />

netwerk.<br />

De lagen van het OSI model<br />

Het OSI model bestaat uit 7 lagen die elk hun eigen functie vervullen in bij het transporteren<br />

van data-eenheden op een netwerk. Een laag gebruikt de diensten van een ondergelegen<br />

laag.<br />

Fysieke laag<br />

Hier bevinden zich de interfaces met het netwerk, <strong>nl</strong>. de elektrische en mechanische<br />

karakteristieken hiervan. Dit betekent dus hoe de bits georganiseerd worden over<br />

verschillende media. Het betreft zaken als voltage, aantal pinnen en de lokatie ervan, soort<br />

interface die vereist is (RS-232, V.35) alsook de standaarden voor LAN-bekabeling zoals<br />

IEEE 802.3. TCP/IP definieert zelf geen fysieke standaarden, het maakt er gebruik van.<br />

De fysieke laag beschrijft de elektrische en mechanisme karakteristieken van het netwerk.<br />

Kabeltypes, stekkers, de spanning op de kabels, de manier waarop kabels gevlochten<br />

moeten worden zijn onderdeel van de fysieke laag. Datatransport over een kabel gaat met<br />

elektrische signalen. Voltagereeksen corresponderen met nullen en enen uit het binaire<br />

stelsel. (Laag voltage = 0, hoog voltage = 1). Op de fysieke laag wordt data beschouw in bits,<br />

ofwel binair.<br />

Datalink laag<br />

Hier leven de MAC- of hardwareadressen. MAC staat hier voor Media Access Control. De<br />

bits van laag 1 worden hier omgezet in dataframes volgens het gewenste protocol. Hoe<br />

verschilt per soort netwerk. LANs gebruiken andere encapsulatiechnieken/protocollen dan<br />

ATM, ISDN of SMDS (WAN-technologieen). Ethernet is een van die protocollen, c.q.<br />

encapsulatiemethoden. Hoeveel bytes er hoe in een datagram gaan en hoe die<br />

datagrammen werken, is de taak van de datalink laag. Switching is een taak van<br />

datadoorvoer die pakketten bestemd voor ander pc's of zelfs andere subnetten een op een<br />

doorschakelt (switcht). Laag 2 is bovendien nog in twee sublagen verdeeld: de MAC-laag en<br />

de Logical Link Control (LLC). Dze draagt zorg voor het opbpouwn en afbreken van<br />

verbindingen, newerkverkeerbesturing, frame-alignment en ontvangstbevestiging. De MAClaag<br />

komt ter sprake bij de adressering en het toegang verlenen. Hij houdt zich ook bezig<br />

met foutcontrole<br />

De datalinklaag verzorgt de functionaliteit die nodig is om data betrouwbaar te kunnen<br />

versturen tussen netwerkapparaten in een netwerk. De datalinklaag gebruikt MAC of<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 19


Hoe werkt internet ?<br />

'hardware' adressen om data naar de juiste plek te sturen.Op een netwerk heeft elk apparaat<br />

een uniek eigen MAC adres dat ingebakken zit in het apparaat (in geval van een PC zit het<br />

MAC adres ingebakken in de netwerkkaart).<br />

De bekendste techniek die werkt op de datalinklaag is Ethernet. Ethernet is een technologie<br />

die van MAC adressen gebruikt maakt om data te transporteren in een netwerk.<br />

Switches en netwerkkaarten zijn apparaten die in laag 2 van het OSI model werken. De data<br />

op laag 2 is verdeeld is 'frames'. Frames zijn data-eenheden die voorzien zijn van een<br />

header waarin de MAC adressen van de verzender en de ontvanger opgenomen zijn.<br />

De netwerklaag verzorgt de functionaliteit die nodig is om data te verzenden tussen<br />

netwerken. De netwerklaag is verantwoordelijk voor routing, 'flow control' en voor<br />

foutafhandeling.<br />

Netwerk laag<br />

Het tehuis van TCP/IP, van IP om precies te zijn. Hier vindt IP-adressering en -routering<br />

plaats. Als er tussen verschillende netwerken verkeer moet worden doorgestuurd, dan wordt<br />

dat op IP-adres gerouteerd, met behulp van routeringsprotocollen (RIP, OSPF, IGRP of<br />

BGP)<br />

Routers werken op laag 3 van het OSI model. Het belangrijkste protocol van de netwerklaag<br />

is het Internet Protocol (IP). Routers gebruiken IP adressen om het dataverkeer tussen<br />

verschillende netwerken te regelen. Onder andere computers, routers en printers in een IP<br />

netwerk hebben naast een MAC ook een IP adres.<br />

De data op laag 3 is verdeeld in pakketjes. Pakketjes zijn data-eenheden waar onder andere<br />

het IP adres van de verzender en de (uiteindelijke) ontvanger zijn opgenomen.<br />

Transport laag<br />

Het werkveld van TCP - transmissiecontrole protocol. Controle of alle bits zijn aangekomen<br />

en het in juiste volgorde plaatsen van de informatie vindt hier plaats.<br />

De transportlaag verzorgt datatransmissie tussen twee eindgebruikers met behulp van<br />

foutcontrole, hertransmissie en 'stroomcontrole' (timing). De transportlaag zorgt ervoor dat<br />

hoger gelegen lagen (software uit de applicatielaag bijvoorbeeld) geen rekening hoeven<br />

houden met de correctheid en de juiste timing van de datatransmissie.<br />

Het belangrijkste protocol in de transportlaag is het Transfer Control Protocol. TCP zorgt<br />

voor een verbinding tussen twee stations op een netwerk en voor correcte datatransmissie<br />

tussen de stations. De data-eenheden op laag 4 heten segmenten. In een segment zijn<br />

onder andere het poortnummer via welke gecommuniceerd wordt van de verzender en de<br />

ontvanger opgenomen.<br />

Sessie laag<br />

Opbrengen en beëindigen van verbindingen tussen twee punten geschiedt hier. Ook de<br />

naamherkenning en beveiliging gebeurt hier. De sessielaag synchroniseert verbindingen.<br />

Waar laag 1 tot en met 4 zich vooral bezig houden met het verpakken (en uitpakken) van<br />

data en addressering is de sessielaag de eerste laag die zich direct met de software bezig<br />

houdt die van het netwerk gebruik maakt. De sessielaag maakt, onderhoudt en verbreekt<br />

sessies tussen twee programma's. Veel gebruikte protocollen die op de sessielaag werken<br />

zijn NetBIOS, en RPC.<br />

Presentatie laag<br />

Woonplaats van de redirector, die input/output van serverbronnen reguleert. Deze laag<br />

bepaalt het benodigde dataformaat voor communicatie over een netwerk. Het is de tolkvertaler<br />

van het netwerk zogezegd. Hij vertaalt de gegevens die van de applicatielaag<br />

afkomen in een herkenbaar tussenformaat d.m.v. protocolconversie, encryptie<br />

De presentatielaag fungeert als een vertaallaag waarop één taal gesproken wordt tussen<br />

twee programma's. en netwerk kan alle soorten besturingssystemen herbergen, zoals<br />

Windows, Linux en Apple. Deze besturingsystemen maken soms gebruik van een andere<br />

representatie van data. De presentatielaag op de verzendende computer vertaalt data uit de<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 20


Hoe werkt internet ?<br />

applicatielaag (7) naar de gemeenschappelijke taal voordat het naar lager gelegen lagen<br />

stroomt en verzonden wordt. De presentatielaag op de ontvangende computer vertaalt data<br />

uit de sessielaag (5) naar de taal die door het programma op de applicatielaag (7) begrepen<br />

wordt. Naast vertalen zorgt de presentatielaag voor compressie en encryptie van data. De<br />

presentatielaag wordt niet altijd gebruikt, omdat vertalen, encryptie of compressie niet altijd<br />

nodig zijn.<br />

Apllicatie laag<br />

De laag waar de applicaties leven die het netwerk gebruiken. Hierbij valt te denken aan<br />

HTTP, FTP, maar ook DNS of NFS. Sommige protocollen draaien zonder dat de gebruiker er<br />

erg in heeft (DNS), andere vereisen exliciet netwerkkennis van de gebruiker (smtp)<br />

De applicatielaag is de laag die gebruikt wordt door netwerkprogramma's. Dit kunnen internet<br />

browsers zijn, FTP clients, of e-mailprogramma's. Zulke programma's maken gebruik van<br />

protocollen die op de applicatielaag draaien zoals HTTP (gebruikt door de webbrowser),<br />

SMTP (gebruikt door e-mailprogramma's) en FTP (gebruikt door FTP clients).<br />

OSI model in de praktijk<br />

Het begon allemaal met ARPA. Zo<br />

rond 1972 startte het Amerikaanse<br />

ministerie van defensie (DoD)<br />

samen met the National Science<br />

Foundation een project genoemd<br />

naar de Defence Advanced<br />

Research Projects Agency. De<br />

opdracht was een zich min of meer<br />

zelf herstellend data netwerk te<br />

maken zo goed mogelijk bestand<br />

tegen component uitval (zeg bom<br />

inslag). Het netwerk zou vooral<br />

gebruikt moeten kunnen worden om<br />

de verschillende grote computers<br />

die in de VS geïnstalleerd waren<br />

met elkaar te verbinden en wel<br />

zodanig dat terminal gebruikers de<br />

mogelijkheid zouden krijgen data te<br />

raadplegen onafhankelijk van de<br />

afstand of het merk van de aangesloten systemen. Dit soort netweken was al redelijk in<br />

opkomst met name bij IBM maar voor dit ARPA netwerk was de eis expliciet gericht op de zo<br />

genaamde "multy vendor" kant van de zaak en op de reeds genoemde vorm van<br />

robuustheid.<br />

In zo'n situatie had men natuurlijk voor een conventionele vorm van robuustheid kunnen<br />

kiezen door bij voorbeeld alles dubbel of drie dubbel uit te voeren maar in het ARPA net koos<br />

met voor een heel andere aanpak. Men koos voor Packet Switching over een maasvormig<br />

netwerk. Hierbij werden de te transporteren data blokken voor verzending opgedeeld in<br />

kleinere pakketten die in principe allemaal onafhankelijk van elkaar of van de gekozen route<br />

hun eindbestemming moesten zien te bereiken. Het bezwaar hierbij was natuurlijk dat er een<br />

soort van onzekerheid over de volgorde van de aangekomen pakketen ontstond en ook dat<br />

er pakketten onderweg zoek konden raken maar daar stond tegenover dat niet door een<br />

verbroken verbinding de communicatie helemaal zou stagneren. Het beginsel van packet<br />

switching was overigens ook al onderkend bij anderen maar de overtuiging om zonder vaste<br />

verbindingsopbouw te werken was toch wel uniek.<br />

Op dat moment ontstond het inmiddels zo bekende IP (Internet Protocol) protocol, althans<br />

een eerdere versie dan het IP zoals we dat vandaag in het Internet tegenkomen.<br />

Met de bekende Amerikaanse voortvarendheid en vooral ook als gevolg van de vrije<br />

research mentaliteit van de vele research medewerkers van de deelnemende instituten en<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 21


Hoe werkt internet ?<br />

reken centra werd gekozen voor een pragmatische aanpak waarbij nieuwe technieken direct<br />

werden uit geprobeerd op het geïnstalleerde netwerk en de er op aangesloten computers.<br />

Hier ontstond een telecommunicatie ontwikkeling geheel buiten of naast de bestaande<br />

Telecommunicatie wereld van de bekende en zeer machtige telecom operators en<br />

fabrikanten.<br />

In die tijd bestond er nog überhaupt nog weinig contact tussen de computer wereld en de<br />

telecommunicatie wereld. Ze hadden elk hun eigen jargon en ontwerp cultuur en vooral dat<br />

laatste was van belang. Een aardige anekdote uit die tijd was dat een grote computer<br />

fabrikant een mainframe op de markt bracht met een mean time between failure van 20<br />

minuten. Het betrof overigens wel een machine van zo'n 50 miljoen gulden. Voor mensen uit<br />

de telecomwereld (ook wel bellheads genoemd) een absolute nachtmerrie.<br />

ARPA echter bracht de eerste verbroedering tussen de disciplines en ex ARPA researchers<br />

vonden zowel banen in de Europese telecom. industrie als in de computer branche.<br />

Ook het grote standaardisatie lichaam van de telecommunicatie wereld , de CCITT (ITU)<br />

pakte de trend van het packet switching op maar koos voor de voorzichtige weg waarbij de<br />

pakketten langs een van te voren opgezette verbinding naar hun eindbestemming reisden.<br />

Hieruit kwamen de bekende datanetten voort als Transpac en Datanet 1 beiden gebaseerd<br />

op het wellicht nog bekende X.25 protocol. Maar keren we terug naar ARPA.<br />

Zoals gezegd leverden de aangesloten research instellingen de benodigde expertise. Geen<br />

informatici want die bestonden toen nog niet maar wis- en natuurkundigen, ingenieurs of<br />

anderszins, kortom lieden van diverse disciplines die belangstelling kregen voor dit<br />

vakgebied en na verloop van tijd sloeg dit over naar Europa waar met name vanuit de<br />

vereniging IFIP actief werd deelgenomen in werkgroepen. Ook de officiële standaardisatie<br />

lichamen ISO en IEC werden geattendeerd op deze ontwikkeling en zo rond 1978 besloot<br />

men om ook op dit gebied actief te worden. Omdat men wel inzag dat het data communicatie<br />

gebeuren een vrij ingewikkelde aangelegenheid besloot men om een speciale commissie te<br />

belasten met de opdracht om een model te bedenken waarmee het hele netwerk gebeuren<br />

op een goed gestructureerde manier kon worden beschreven waarmee de standaardisatie<br />

van de benodigde communicatie techniek op een overzichtelijke manier zou kunnen<br />

verlopen.<br />

Dit model werd het OSI<br />

model genoemd of formeel<br />

het referentie model voor<br />

Open<br />

Systeem<br />

Interconnectie. Deze<br />

opdracht had al wel heel<br />

weinig gemeen met het<br />

gebruikelijk standaardisatie<br />

werk. Een nog niet bestaand<br />

abstract model te doen<br />

opstellen ten behoeve van<br />

enkele al wel bestaande<br />

standaarden en een heleboel<br />

nog niet bestaande<br />

standaarden. Deze<br />

commissie, SC 16 geheten<br />

(later omgedoopt in SC 21) ging in 1979 van start en kwam al heel spoedig met een voorstel<br />

voor een soort hiërarchisch lagen model. Het model kende zeven lagen, waarbij iedere laag<br />

werd gekarakteriseerd door een zo genaamde Service definitie en de er bij mogelijke<br />

Protocollen. Spoedig volgde ook de CCITT met dit soort activiteit maar dan vooral vanuit de<br />

Telecom mentaliteit en cultuur.<br />

Voor wat het uiteindelijke model betrof werd dit vrijwel letterlijk over genomen waar bij de<br />

invulling nogal wat problemen ontstonden toen het X.25 gebeuren er in moest worden<br />

gesitueerd. Het is overigens grappig om hier even te melden dat ISO van standards sprak.<br />

CCITT (ITU) van recommendations en de IETF van RFC's (Request For Comment) maar de<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 22


Hoe werkt internet ?<br />

bedoeling was voor iedereen om afspraken te maken over de wijze waarop informatie moest<br />

worden gecodeerd en vervoerd over netwerken. Inmiddels was de OSI commissie van het<br />

gezame<strong>nl</strong>ijk opererende ISO en IEC uitgegroeid tot een expertgroep van zo'n 1000 mensen<br />

met internationale werk bijeenkomsten van zo'n 500 mensen.<br />

Voor de lagere lagen, dwz de niveaux die nodig waren om het concrete transmissie<br />

gebeuren te beschrijven werd intensief samen gewerkt met een reeds bestaande norm<br />

commissie voor data communicatie (SC6) en samen met deze groep zien we dan toch al<br />

gouw zo'n 1500 liefhebbers zich bezig houden met het verzinnen, het testen en elkaar<br />

overtuigen van de benodigde services, protocollen en het model zelf natuurlijk.<br />

Bovendien werd aandacht besteed aan het formuleren van geschikte formele<br />

beschrijvingstechnieken bij voorkeur ook nog te gebruiken voor validatie en zelfs<br />

implementatie. Ook diverse generieke gereedschappen moesten worden gecreëerd zoals<br />

nodig om de netwerken te kunnen beheren en te beveiligen. Aan tafel zat een grote<br />

verscheidenheid aan mensen, die net als bij het Internet vergaderingen elk met een zeker<br />

hartstocht bijdragen leverden. Op informatica congressen en in wetenschappelijke<br />

publicaties verschenen de bijdragen aan dit werk. Het betrof immers dikwijls geheel nieuw<br />

materiaal op hoog technisch en wetenschappelijk niveau.<br />

De bijeenkomsten waren tumultueus en leidden niet zelden tot grote conflicten.<br />

Bekend waren de discussies tussen de zo genaamde connectieloze en de connectie<br />

georiënteerden en die tussen de packet switchers en de circuit switchers , terug te brengen<br />

op het eerder genoemde cultuurverschil tussen de telecom wereld en de informatica wereld.<br />

Discussies ook over de noodzaak van de vierde laag en de noodzaak om de lagen vijf en<br />

zes gescheiden te houden of samen te brengen in een generieke gereedschap laag.<br />

Tweespalt over de te gebruiken formele beschrijvings techniek (LOTOS, ESTELLE of SDL)<br />

en of er naast verificatie ook implementatie mee mogelijk moest worden.<br />

Grote consternatie toen men bij de standaardisatie van netwerk management constateerde<br />

dat er wellicht een "help I am Dying" signaal verzonden moest kunnen worde van uit een niet<br />

goed werkende router of netwerk relay station waar volgens de model methodiek alleen<br />

maar de laagste drie of twee lagen in geïmplementeerd waren. Een van de zeer hoog<br />

oplopende discussies ging over het Service begrip ;wat is Service en wat is een Interface??<br />

Wellicht dat het nu wat duidelijker is geworden dat het standaardisatie proces voor data<br />

netwerken niet helemaal te vergelijken is met de discussies over de afmetingen van<br />

baksteen.<br />

Ondanks alle enthousiasme en de betrekkelijke onafhankelijkheid van de dikwijls zeer<br />

eigenzinnige experts verliep het werk langzaam. In de onder de V.N. vlag varende ISO-IEC<br />

combinatie had men zich tenslotte te houden aan de vele formele voorschriften zoals<br />

vertalingen, stem procedures en tijdschalen.<br />

Bovendien streefde men een alles kunnende standaard set na.<br />

Het resultaat was heel goed maar te volumineus en dikwijls te ingewikkeld.<br />

De standaardisatie van Internet vond plaats bij de IETF waar voortvaren en zeer pragmatisch<br />

gewerkt kon worden. Niet gehinderd door internationale (ISO-IEC) reglementen kon snel<br />

voortgang worden geboekt met daarbij het belangrijke uitgangspunt dat nieuwe voorstellen of<br />

uitbreidingen daarop on-line ( en dus testbaar) beschikbaar moesten worden gesteld om<br />

voor erkenning in aanmerking te kunnen komen.<br />

De internet protocol stack groeide gestaag uitgaande van eenvoudige basis technieken die in<br />

een later stadium zouden kunnen worden uitgebreid met eventueel nog gewenste nieuwe<br />

toeters en bellen.<br />

Inmiddels had de mini aan populariteit gewonnen en waren terminals steeds intelligenter<br />

waarbij juist voor die systemen internet software beschikbaar kwam. In 1991 hadden we een<br />

situatie waarbij er nog een grote onzekerheid bestond over de kansen van de Internet<br />

protocol stack.<br />

OSI werd gezien als meer solide en werd inmiddels zwaar ondersteund door de Europese<br />

commissie in de vorm van OSI conformance testfaciliteiten , research budgetten voor OSI<br />

georiënteerde Telematica/ICT projecten, handboeken en zelfs plannen voor OSI<br />

verplichtingen bij overheden binnen de Europese gemeenschap. ( het EPHOS programma)<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 23


Hoe werkt internet ?<br />

.Ook de Amerikaanse overheid voelde er voor en de grote computer fabrikanten hadden<br />

inmiddels zo het een en ander aan OSI spul geïmplementeerd. Echter de PC was in opkomst<br />

en daarmee kwam het data netwerk dichter tegen de goedkopere huishoudelijk markt te<br />

zitten en internet was eenvoudig en goedkoop te leveren ook al waren de mogelijkheden<br />

wellicht wat beperkter.<br />

In 1992 werd het vonnis geveld. Bij het Europese instituut voor elementaire deeltjes<br />

onderzoek (CERN) ontstond het World Wide Web . Gebaseerd op het al bestaande hyperlink<br />

concept en uitgebreid met beeld faciliteiten en een bijzonder eenvoudige opmaak taal<br />

afkomstig uit de uitgeverswereld, (HTML), leek de doorbraak van de Internet protocol stack<br />

niet langer te stuiten.<br />

Nu moet gezegd dat ook zonder het web de internet protocols vele gemakkelijke voordelen<br />

hadden nog afgezien van het feit dat de bij ISO en CCITT (ITU) apart gestandaardiseerde e-<br />

mail service , bekend onder de ITU naam X.400 , onmogelijk en ongezellig in het gebruik<br />

was terwijl de internet e-mail juist zo super gebruikers vriendelijk bleek. Dit alles alsmede de<br />

steeds duidelijker voordelen van het connectieloze IP protocol deden de weegschaal<br />

doorslaan en nog geen jaar later was de OSI stack voor algemeen gebruik , "exit".<br />

Het is overigens niet zo dat daarmee het gehele resultaat van al die jaren OSI werk naar de<br />

prullenmand verhuisde. Ook in het internet worden nog steeds OSI gedeelten gebruikt zoals<br />

bijvoorbeeld de syntax notatie ASN.1. Bovendien is de internet stack redelijk gestructureerd<br />

volgens de spelregels van het algemeen OSI model zij het dat er maar van maar vijf lagen<br />

gebruik wordt gemaakt. OSI protocols worden bovendien nog steeds gebruikt voor de<br />

uitwisseling van management en signaleringsinformatie tussen telefoon centrales en het<br />

populaire sms bericht maakt voor een belangrijk gedeelte gebruik van de OSI stack.<br />

Gaandeweg zijn er de volgende protocollen ontstaan:<br />

Laag Definitie Praktijk toepassing<br />

7 Applicatie HTTP, SMTP, SNMP, FTP, Telnet, SSH en SCP, NFS, RTSP,<br />

6 Presentatie XML, XDR, ASN.1, SMB, AFP<br />

5 Sessie TLS, SSH, ISO 8327 / CCITT X.225, RPC, NetBIOS, ASP<br />

4 Transport TCP, UDP, RTP, RTCP, SCTP, SPX, ATP<br />

3 Netwerk IP, ICMP, IGMP, X.25, CLNP, ARP, RARP, OSPF, RIP, IPX, DDP<br />

2 Data Link<br />

Ethernet, Token ring, PPP, HDLC, Frame relay, ISDN, ATM, SDH,<br />

SONET, PDH<br />

1 Fysiek elektriciteit, radio, laser<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 24


Hoe werkt internet ?<br />

Onstaan van internet<br />

Ontstaansgeschiedenis<br />

Het Internet is ontstaan in de 60er jaren als een project van het Ministerie van Defensie van<br />

de Verenigde Staten. De bedoeling was een gedecentraliseerd netwerk te creëeren dat nog<br />

steeds zou werken als bepaalde delen plat zouden liggen. Dus in plaats van lineair<br />

geschakelde computers waarbij het hele netwerk ontregeld is als één schakel ontbreekt,<br />

werden de computers als in een web met elkaar verbonden:<br />

Dit project werd ARPANET (Advanced Research Projects Agency Network) genoemd. De<br />

Advanced Research Projects Agency van het Pentagon werdin 1969 opgericht om een veilig<br />

en betrouwbaar communicatie netwerk voor het defensie apparaat te ontwikkelen.<br />

Om het netwerk wereldwijd te kunnen gebruiken, was een nieuw standaard protocol<br />

benodigd. Zo werd de IP (Internet Protocol) technologie ontwikkeld waarin bepaald wordt<br />

hoe electronische boodschappen ingepakt, geadresseerd en verstuurd worden via dat<br />

nieuwe netwerk.<br />

Dit standaard protocol werd in 1977 ontwikkeld en werd TCP/IP (Transmission Control<br />

Protocol/Internet Protocol) genoemd. TCP/IP maakt het mogelijk om verschillende branches<br />

van andere complexe netwerken direct aan het ARPANET te verbinden. Dit nieuwe geheel<br />

van netwerken werd al gauw het Internet genoemd.<br />

Wetenschappers en onderzoekers in andere branches gingen al redelijk vlot gebruik maken<br />

van dit netwerk. Evenals de National Science Foundation (NSF) van de Verenigde Staten,<br />

die zelf een soortgelijk netwerk had ontwikkeld dat NSFNET heette. Dit netwerk nam de<br />

TCP/IP technologie over van ARPANET en zo ontstond een groot internationaal netwerk.<br />

In de 70er jaren werd het netwerk verfijnd door hoge snelheids computers op strategische<br />

plaatsen neer te zetten en met elkaar te verbinden waardoor de snelheid van het<br />

dataverkeer groeide.<br />

In 1985 begon de NSF een programma om het Internet in de gehele VS aan te bieden. De<br />

NSF creëerde een backbone onder de naam NSFNET, die ter beschikking werd gesteld aan<br />

alle educatieve instellingen, overheids instellingen en aan organisaties die bezig waren met<br />

internationaal onderzoeken.<br />

Het ARPANET werd in 1989 gesloten vanwege gebrek aan fondsen en aan support vanuit<br />

het leger.<br />

In de 90er jaren maakte het Internet een explosieve groei mee. Geschat werd dat het aantal<br />

op het internet aangesloten computers elk jaar verdubbelde.<br />

Halverwege 1994 verbond het Internet ongeveer twee miljoen computers in meer dan 100<br />

landen en waren er ongeveer 23 miljoen gebruikers.<br />

1962 Idee J.C.R. Licklider “Galactic Network”<br />

1963 Aangesteld als hoofd onderzoek ARPA bij defensie<br />

1967 opstart ARPAnet op basis van protocol TCP/IP (gegevenstransport)<br />

1972 Introductie internet op basis van FTP protocol (Bestandstransport)<br />

1990 NSFnet opvolger ARPAnet<br />

1995 Overdracht aan commercie en publiek voor uitbouw Internet<br />

1996 Intro HTTP protocol (datacrossing)<br />

Het ontstaan van het WWW<br />

Sir Tim Berners-Lee is geboren in Londen in 1955. Hij wordt gezien als de bedenker en<br />

grondlegger van het World Wide Web (WWW). Als directeur van het World Wide Web<br />

Consortium houdt hij toezicht op de ontwikkeling van webtalen en -protocollen als HTML,<br />

XML, CSS en HTTP. Berners-Lee schreef ook de eerste webbrowser, net als het web World<br />

Wide Web genaamd, en de eerste webserver.<br />

Zijn meest recente vondst is het semantisch web, als opvolger van het World Wide Web.<br />

Hoewel er in de academische wereld veel aandacht voor is, is het nog onduidelijk of het<br />

semantisch web eenzelfde succes zal worden als het WWW.<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 25


Hoe werkt internet ?<br />

Berners-Lee ontving de Japanprijs voor 2002.<br />

Op 14 april 2004 is bekend geworden dat Tim Berners-Lee de Millennium Technology Prize<br />

2004 gewonnen heeft en op 16 juli 2004 is hij tot ridder geslagen door Koningin Elizabeth II<br />

van het Verenigd Koninkrijk. Hij kreeg de titel van Knight Commander, de tweede hoogste<br />

rang in de Orde van het Britse Rijk.<br />

Geschiedenis van het internet in Nederland<br />

In Nederland begon de geschiedenis van het Internet op de universiteiten. Deze waren al<br />

vanaf de begintijd verbonden met andere academische netwerken in Europa en de VS om<br />

wetenschappelijke data uit te wisselen. Dit gebeurde eerst via het ARPANET. Backbones<br />

werden aangelegd om het verkeer te versnellen en uit te breiden. Zo is in 1985 de SURFnet0<br />

backbone aangelegd.<br />

Tijdlijn<br />

vanaf jaren 70 - wetenschappelijk gebruik via ARPANET<br />

1979 - Usenet en BBS zien het licht<br />

1989 - Internet toegankelijk voor alle academici<br />

1989 - Pine e-mail voor UNIX geïntroduceerd<br />

1993 - Pine e-mail voor DOS geïntroduceerd: geboorte van PC-client voor e-mail<br />

1993 - NCSA Mosaic browser voor UNIX geïntroduceerd<br />

1993 - XS4ALL eerste ISP voor het publiek<br />

1993 - NCSA Mosaic browser voor Windows geïntroduceerd: geboorte van<br />

multimediaal Internet<br />

1994 - Digitale Stad Amsterdam open met e-mailpostbus<br />

1994 - Bart Internet Services 3e ISP<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 26


Hoe werkt internet ?<br />

I<strong>nl</strong>eiding internet<br />

Dit is een i<strong>nl</strong>eiding tot de werking van het Internet. De nadruk ligt niet op de technische<br />

details, maar op het verkrijgen van een conceptueel overzicht. De volgende onderwerpen<br />

komen aan bod:<br />

omschrijving van het Internet<br />

de communicatie tussen computers en computernetwerken<br />

packet switching<br />

routering<br />

TCP/IP<br />

introductie van een internet lagen model<br />

client/server<br />

Internet als virtueel netwerk of virtuele computer<br />

Het Internet is...<br />

<br />

Het Internet is een verzameling computerprogramma's, die onderling informatie kunnen<br />

uitwisselen, op een van te voren afgesproken manier Internet is een structuur, geen<br />

netwerk.<br />

Deze omschrijving doet het voorkomen, alsof het Internet alleen maar software en niet ook<br />

een netwerk van computers is. Dat is precies de bedoeling. Zoals een computerprogramma<br />

niet samenvalt met de computer waarop het draait, zo is ook het Internet niet gelijk aan het<br />

onderliggende systeem van computers en computernetwerken. Het doel van het Internet is<br />

om communicatie mogelijk te maken tussen programma's, die draaien op verschillende<br />

computers, met verschillende besturingssystemen en die verbonden zijn in netwerken van<br />

verschillende makelij; het geeft een eenheid aan de versplinterde wereld van de<br />

computersystemen. Dat is ook de reden dat het Internet niet een netwerk onder netwerken<br />

is. Dan zou het slechts het aantal computernetwerken met eén vermeerderen. Het is wel een<br />

structuur waarop de computernetwerken kunnen worden aangesloten, ter bevordering van<br />

de onderlinge samenwerking.<br />

de rol van het protocol<br />

De structuur heeft de vorm van een reeks protocollen, afspraken zo u wilt, waaraan een<br />

computer op een bepaald netwerk en het netwerk zelf zich moet houden, wil het informatie<br />

kunnen uitwisselen met een andere computer op een willekeurig ander netwerk. De<br />

protocollen stellen daarbij maar minimale eisen aan de deelnemende netwerken. Het succes<br />

van het Internet laat zien dat niet alleen aan deze eisen voldaan kan worden, maar dat het<br />

ook veelvuldig gebeurt. De protocollen van het Internet zijn te zien als een tussentaal, waarin<br />

de informatie een vorm heeft, die gelezen, geschreven en gedistribueerd kan worden door<br />

de deelnemende computersystemen.<br />

Het Internet mag dan zelf geen computernetwerk zijn, het is wel een antwoord op een aantal<br />

problemen die in de loop der tijd zijn gerezen bij het maken en gebruiken van<br />

computernetwerken. Deze problemen en hun oplossingen laten zich presenteren als een<br />

draad van problemen en oplossingen daarvoor die zelf weer nieuwe problemen oproepen.<br />

Door de keten van problemen en oplossingen aan het begin op te pakken en systematisch te<br />

volgen wordt het internet als het ware voor uw ogen weer opnieuw opgebouwd. Deze manier<br />

van schetsen van het Internet is ook historisch correct, althans in grote lijnen; de historische<br />

details zullen we overigens, net als de technische, zoveel mogelijk schuwen.<br />

De hardware<br />

De oersituatie waaruit alle netwerken zijn ontstaan, is die van de onderling verbonden<br />

computers. Tussen elk paar computers liggen kabels waarover de informatie zijn weg vindt.<br />

Er is dan een directe verbinding (direct connection), zoals het nu eenmaal heet, tussen elk<br />

paar computers. Er is minstens een onoverkomelijk probleem met deze configuratie: het<br />

aantal kabels en aansluitpunten neemt exponentieel toe met het aantal computers. Nemen<br />

we computers, dan moet elk van deze n computers met andere computers verbonden<br />

worden, wat een totaal van kabels vereist. Dit aantal kunnen we door twee delen als elke<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 27


Hoe werkt internet ?<br />

kabel voor het informatietransport in twee richtingen gebruikt kan worden, maar daar staat<br />

tegenover dat elke kabel weer twee aansluitpunten nodig heeft. Voor een klein netwerk van<br />

25 computers leidt dat alras tot een gigantisch aantal van 300 (tweeweg) kabels en 600<br />

poorten. Op het Internet zijn miljoenen computers aangesloten. Reken uit en schrik.<br />

Computer als kabel<br />

Het antwoord op het probleem van de paarsgewijs<br />

verbonden computers is het computernetwerk. In een<br />

netwerk krijgt de computer de rol van kabel. In figuur<br />

1.1 zien we, dat er voor een netwerk van vier<br />

computers niet meer dan drie kabels noodzakelijk zijn.<br />

Ook het aantal benodigde aansluitpunten voor de<br />

kabels is drastisch gedaald. Er is intussen wel een<br />

probleem ontstaan: de adressering.<br />

Figuur 1.1: Van verbinding naar netwerk<br />

Hoe weet computer B uit figuur 1.1, dat de informatie die A op de lijn zet niet voor hem is,<br />

maar voor computer D? Een oplossing is om computers namen of adressen te geven, deze<br />

met de data mee te zenden en vervolgens de computers laten beoordelen of de informatie<br />

die op de lijn staat voor hen bedoeld is.<br />

Omdat de computer als kabel fungeert en er tegelijk voor zorgt dat de informatie op de juiste<br />

plaats terecht komt, spreken we nu niet meer van verbonden computers, maar van een<br />

netwerk. Voor het functioneren van het netwerk moeten nu ook afspraken gemaakt worden<br />

over het formaat van de informatie. Waar staat bijvoorbeeld het adres? Direct aan het begin,<br />

of tussen het tekenpaar $# en _, om maar wat te noemen.<br />

Host<br />

Omdat elke computer in een netwerk een deel van zijn tijd moet besteden aan het<br />

informatietransport, al was het alleen maar om het adres te inspecteren, heeft het minder tijd<br />

over voor zijn eige<strong>nl</strong>ijke taak (schaken bijvoorbeeld).<br />

Dat kan door voor elke computer die mee mag doen in het netwerk een andere, kleinere<br />

computer te plaatsen die het netwerkverkeer afhandelt. Deze ontvangt via de kabel zijn<br />

informatie en kijkt of het voor zijn hoofdcomputer, die nu host genoemd wordt, is bestemd.<br />

Is dat niet het geval, dan wordt de informatie enkel doorgestuurd, is dat wel het geval dan<br />

rest de kleine computer niets anders te doen, dan zijn host te storen met de mededeling, dat<br />

er wel degelijk nieuws van het front is.<br />

Network Interface Card<br />

De kleine netwerkhulpcomputer heeft meestal de vorm van een insteekkaart in de computer.<br />

Deze kaart wordt een Network Interface Card (NIC) genoemd.<br />

Variaties op een netwerk<br />

Er bestaan talloze variaties op de hierboven geschetste algemene structuur van een<br />

netwerk. Er zijn verschillen in het medium dat wordt gekozen voor het transport van<br />

informatie, zoals coax kabels, glasvezelkabels, radiogolven en infraroodverbindingen; zelfs<br />

het elektriciteitsnet kan worden gebruikt. De netwerken kunnen ook verschillen in de vorm<br />

waarop de computers met elkaar verbonden zijn.<br />

Dat kan via een enkele kabel (bus-structuur), zoals in figuur 1.1, maar de kabel kan ook een<br />

volledige cirkel maken, waar de informatie in één richting door heen gaat (ring-structuur). En<br />

dan kan er nog een centraal knooppunt bestaan, een hub, waar elke computer rechtstreeks<br />

op aangesloten is (ster-structuur).<br />

Zulke patronen in de bekabeling worden aangeduid met de term netwerktopologie. Verder<br />

kunnen de regels verschillen die de NIC's hanteren bij het bezetten van de lijn. Sommigen<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 28


Hoe werkt internet ?<br />

zenden gewoon uit in de hoop dat anderen niet op hetzelfde moment iets uitzenden, anderen<br />

wachten op toestemming of hebben mechanismen om te ontdekken of een lijn leeg is. Al<br />

deze verschillen maken dat het ene netwerk het andere niet is. De manier waarop informatie<br />

verstuurd wordt, alsmede de verschillen in het formaat waarin de informatie verpakt kan<br />

worden, maken dat het ene netwerk niets beginnen kan met de informatie van het andere<br />

netwerk.<br />

Het probleem van het gedeelde medium<br />

Wil het netwerk uit figuur 1.1 functioneren, dan moet de informatie in beide richtingen op de<br />

kabel worden gezet. Bij dergelijke netwerken is het niet de verantwoording van de zender om<br />

te zorgen dat de informatie op de juiste plaats komt, maar van de ontvanger om de voor hem<br />

bestemde informatie van de lijn te halen. Sommige typen netwerken maken de lijn leeg nadat<br />

de informatie is aangekomen, anderen gaan ervan uit dat de informatiestroom op de een of<br />

andere manier wel doodbloedt, bijvoorbeeld in een moordlustige weerstand aan de<br />

kabeleinden die alle signalen verstikt.<br />

Men spreekt wel van een gedeeld medium: alle computers gebruiken alle kabels. Een<br />

gedeeld medium houdt het functioneren van het netwerk simpel, maar het heeft een zeer<br />

groot nadeel. Als er meer computers op het netwerk worden aangesloten, dan wordt het<br />

steeds drukker op de kabel en wordt het transport van informatie navenant trager. Het<br />

opschalen van het netwerk is daarmee problematisch.<br />

Voor kleinere netwerken is de situatie nog werkbaar, maar bij grote, wereldomspannende,<br />

netwerken wordt het al snel onhoudbaar.<br />

Het antwoord op het probleem van het gedeelde medium is op zich triviaal: deel het medium<br />

zo weinig mogelijk. Maar dat niet-delen kan op vele manieren. Twee verdienen onze<br />

bijzonder aandacht: packets en routing, oftewel het opdelen van de informatiestromen in<br />

kleine pakketjes en het gericht verzenden van de informatie. De combinatie van beide<br />

antwoorden heeft geleid tot de moderne netwerken.<br />

packets<br />

Een deelantwoord op het probleem van het gedeelde medium is om de informatiestroom in<br />

stukken te knippen, er pakketjes (packets) van te maken en de stukken uit verschillende<br />

informatiestromen de gelegenheid te geven om ombeurten de lijn te bezetten. Dit levert in de<br />

praktijk een zeer grote efficiëntieverbetering op.<br />

Nemen we als voorbeeld de situatie waarin een gebruiker vanaf computer B i<strong>nl</strong>ogt op<br />

computer A. Via het toetsenbord worden commando's ingetikt (Dame d8 naar d1), die<br />

vervolgens naar computer B worden gestuurd, die voert het commando uit en stuurt, Deo<br />

volente, het resultaat van de verwerking weer terug naar A (Koning e1 slaat Dame d1). Op<br />

het Internet heet deze toepassing Remote Login of Telnet.<br />

Wat de gebruiker precies intikt, mag ons hier niet interesseren, maar wel wat er op de lijn<br />

tussen beide computers gebeurt. Daar gebeurt namelijk vrijwel niets. De tijd die zelfs een<br />

razendsnelle typist nodig heeft voor het intikken van een commandoregel is een eeuwigheid<br />

voor de computer.<br />

Die had, tussen het intikken van twee letters door, met gemak het aantal dagen tussen nu en<br />

1 oktober 1969 kunnen uitrekenen, het moment dat het eerste op packets gebaseerde<br />

netwerk ter wereld, het ARPAnet, in gebruik werd genomen. De informatie zelf gaat al<br />

razendsnel over de lijn, zodat ook de bezettingstijd van de lijn zeer minimaal is. Als er maar<br />

een gebruiker is ingelogd, is het niet erg.<br />

Maar stel nu dat een tweede gebruiker ook van de computer A gebruik willen maken. Als de<br />

lijn maar een verbinding toelaat, dan moet B wachten tot A het klaar is. Wordt de informatie<br />

in brokken opgedeeld en verbrokkeld verstuurd dan komt de lijn met (grote) tussenpozen wat<br />

B de gelegenheid geeft om gelijktijdig met A te werken.<br />

ARPAnet<br />

Het eerste netwerk dat, afgezien van wat laboratorium experimenten hier en daar, gebruik<br />

maakte van packets, was het ARPAnet, de voorloper van het huidige Internet. In die tijd was<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 29


Hoe werkt internet ?<br />

het gebruik van packets een zeer gewaagde stap, maar wel een die aansloeg. Niet alleen<br />

werd het idee toegepast in netwerken die computers op grote afstand moesten verbinden (de<br />

WAN's of Wide Area Networks), maar ook bij de kleinschaliger netwerken (LAN' of Local<br />

Area Networks). Overigens begonnen LAN's pas populair te worden nadat het ARPAnet zijn<br />

succes had bewezen. Het meest populaire netwerktype voor LAN's op dit moment, het<br />

Ethernet, is ontworpen door Bob Metcalfe die direct geınspireerd werd door de architecten<br />

van het ARPAnet. De moderne LAN's en WAN's hebben in het ARPAnet een<br />

gemeenschappelijke voorvader.<br />

Routering<br />

Het tweede antwoord op het probleem van het gedeelde medium bestaat uit het gericht<br />

kiezen van een pad voor de informatie. Dit wordt routering of routing genoemd. Als de<br />

informatie in pakketjes is opgedeeld, is het gericht verzenden van de informatie gelijk aan het<br />

probleem van het gericht verzenden van de pakketjes.<br />

Dat kan, alweer, door aan de pakketjes adresinformatie toe te voegen en het netwerk uit te<br />

bouwen met software die op basis van het adres een goede route kan bepalen. Dat laatste<br />

gebeurt in de regel met een zogeheten switch, ook wel packet-switch of pakketschakeling<br />

genoemd. Elke computer stuurt data naar een packet-switch en voorziet het pakket van het<br />

adres van de doelcomputer.<br />

De switch inspecteert het pakket en als de geadresseerde computer op dezelfde switch is<br />

aangesloten dan wordt het daar naar toe gestuurd. Maar een netwerk kan meerdere<br />

switches hebben en als de doelcomputer op een andere switch is aangesloten, dan wordt<br />

het naar die switch gestuurd, die het op zijn beurt naar een aangesloten computer<br />

transporteert.<br />

Er zijn ook switches waarop geen computer is aangesloten, alleen maar andere switches.<br />

Een informatiepakket kan dus meerdere switches passeren alvorens het op de plaats van<br />

bestemming aankomt. Als het u duizelt, dan biedt figuur 1.2 uitkomst.<br />

Figuur 1.2: Een fictief packet-switched WAN<br />

Als computer A uit figuur 1.2 iets wil sturen naar computer I, dan moeten de<br />

informatiepakketjes naar switch A, switch A moet weten dat de kortste weg, en in dit geval<br />

ook de enige weg, gaat over switch C, B en E, om uiteindelijk bij I aan te komen.<br />

De switch kiest voor een pad op basis van het doeladres en over wat het weet over de<br />

structuur van het netwerk om de kortste weg te kunnen bepalen. Een verbinding tussen een<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 30


Hoe werkt internet ?<br />

computer en een switch of tussen twee switches wordt een hop genoemd en deze manier<br />

van omgaan met de informatiepakketten wordt next hop forwarding genoemd.<br />

Routetabel<br />

Er bestaan verschillende manieren om een switch te laten bepalen wat de 'next hop' is die<br />

een pakket moet maken. Het eenvoudigste is het om domweg een tabel te maken waarin<br />

voor elk doeladres staat wat de volgende hop moet zijn. Zo'n tabel heet een routetabel. Elke<br />

switch moet over een dergelijke tabel beschikken.<br />

Als het netwerk groot wordt, hebt u geen reden de persoon te benijden die deze tabellen<br />

moet maken en bijhouden. Daarom wordt de switch vaak voorzien van software om continue<br />

te bepalen wat de kortste, of snelste, weg is. Deze software is behoorlijk complex. Als er<br />

bijvoorbeeld een switch uitvalt, dan kan de routetabel op basis daarvan aangepast worden.<br />

Dit vereist vanzelfsprekend dat de switches ook onderling op geregelde tijden berichten naar<br />

elkaar sturen om te zien of ze nog wel naar behoren functioneren. Wordt er op een gegeven<br />

moment niets meer gehoord van een bepaalde switch, dan wordt de informatie langs een<br />

andere route gestuurd. Een netwerk gonst dus van berichten die als doel hebben het<br />

netwerk in stand te houden, ook al gebeurt er verder niets.<br />

Interface Message Processor<br />

Het eerste WAN dat van switches gebruikt maakte was, uiteraard, het ARPAnet. De switches<br />

werden binnen het ARPAnet Interface Message Processors genoemd en de afkorting<br />

IMPinterface message processors wordt zo af en toe nog steeds gebruikt om een switch aan<br />

te duiden.<br />

Het Internet<br />

Het probleem van de heterogene netwerken<br />

Het ARPAnet is het eerste WAN en het eerste netwerk waar packets en routing tezamen zijn<br />

toegepast: een packet-switched netwerk.Daarmee is een zeer belangrijke stap gezet naar<br />

een volwaardig Internet. Veel van de structuur van het ARPAnet is direct terug te vinden in<br />

de structuur van het latere Internet; op het Internet wordt de informatie ook in packets<br />

verdeeld en wordt elk packet afzonderlijk naar zijn doel gestuurd.<br />

Maar ze zijn zeker niet identiek. Het succes van het ARPAnet heeft geleid tot problemen<br />

waarvoor het Internet een oplossing is. Het probleem begon toen velen trachtten het<br />

ARPAnet na te bootsen. De grote architect van het ARPAnet bijvoorbeeld, Lawrence Roberts<br />

werd directeur van het bedrijf Telenet dat een commercieel netwerk oprichtte, werkend<br />

volgens de principes van het ARPAnet.<br />

In Europa werd hard gewerkt aan andere netwerken als CYCLAD in Frankrijk en TIDAS in<br />

Zweden. Nabootsingen waren het, maar geen kopieën. Elk netwerk werkte anders. En het<br />

aantal groeide. De groei van de afzonderlijke netwerken deed groepen van computers<br />

ontstaan, die wel onderling maar niet met elkaar konden communiceren. Dat moest beter<br />

kunnen.<br />

ARPA<br />

De militiaire onderzoeksorganisatie die verantwoordelijk was voor de bouw van het<br />

ARPAnet, het ARPA (Advanced Research Projects Agency) financierde ook vele andere<br />

netwerkprojecten al even uitbundig. Daaronder waren met name netwerken die verbindingen<br />

legden via radiogolven en satellietverbindingen: mobiele netwerken dus.<br />

De manier waarop deze netwerken intern opereerden verschilde drastisch van het ARPAnet.<br />

Hierin maakte men gebruik van betrouwbare verbindingen zodat aan de controle van het<br />

transport van informatie niet zoveel gedaan werd; dat zat wel snor. Radiogolven daarentegen<br />

waren zeer gevoelig voor storing (magnetische stormen) en de protocollen die voor de<br />

transmissie gebruikt werden bevatten nu wel mechanismen om fouten te detecteren en te<br />

corrigeren.<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 31


Hoe werkt internet ?<br />

Kortom, de protocollen verschilden drastisch per netwerk. Het is een geluk dat dit probleem<br />

zich ook binnen het ARPA voordeed omdat zij, in tegenstelling tot veel anderen die tegen<br />

hetzelfde probleem aa<strong>nl</strong>iepen, het vele geld, de goede mensen (waaronder Bob Kahn en<br />

Vinton Cerf) en de sterke wil hadden om het probleem snel en voortvarend aan te pakken. In<br />

het begin van de jaren zeventig begon het werk aan de oplossing van dit prangende<br />

probleem, het resultaat was de TCP/IP protocol familie.<br />

Op 1 januari 1983 ging het ARPAnet over op deze nieuwe methode en velen zien dit als de<br />

geboortedatum van het Internet. Het grootste net ter wereld werd het Internet. Maar we lopen<br />

op de zaken vooruit.<br />

Routers<br />

In zeer grote lijnen bestaat de oplossing op het probleem van de niet communicerende<br />

netwerken uit het verbinden van de afzonderlijke netwerken via speciale computers, voorzien<br />

van speciale software, die de informatie van het ene netwerk kan plukken volgens de<br />

protocollen van dat netwerk en weer kan plaatsen op een ander netwerk volgens de daar<br />

geldende protocollen.<br />

Voor het verbinden van 3 netwerken zijn er dus 2 verbindende, en vertalende, computers<br />

nodig, zoals figuur 1.3 illustreert. Deze inter-netwerkcomputers worden gateways of, iets<br />

moderner, routers genoemd. Routers transporteren de informatie tussen netwerken, zoals de<br />

switches en NIC's dat doen binnen een netwerk. Op basis van adresinformatie, die<br />

verondersteld wordt aanwezig te zijn in de packets, wordt bepaald naar welk netwerk de<br />

informatie gezonden moet worden.<br />

Figuur 1.3: Routers koppelen netwerken<br />

Om nu te voorkomen dat er voor elk paar netwerken een nieuw type router ontworpen moest<br />

worden moet worden, werken ze met een tussentaal; de informatie die van een speciaal<br />

netwerk afkomstig is, wordt in deze tussentaal vertaald en van daaruit weer in de taal van het<br />

andere netwerk.<br />

Zo hoeft elk van de betrokken netwerken maar een extra taal te leren. Het is dus als<br />

tussentaal dat het Internet fungeert als de grote organisator van de communicatie tussen de<br />

netwerken. Het is ook pas in deze taal dat de routers elkaar kunnen adresseren, omdat<br />

alleen hier over de samenstellende netwerken heen gekeken kan worden. Deze tussentaal is<br />

geen natuurlijke taal, verre van dat zelfs, maar heeft de vorm van een precieze verzameling<br />

van regels waarin, onder veel meer, is vastgelegd hoe de informatie verpakt en hoe de<br />

adressen geschreven moeten worden; we hebben het over het Internet Protocol of gewoon<br />

IP.<br />

De informatie die over het Internet verstuurd wordt, verandert qua vorm tijdens het transport.<br />

Telkens wanneer een packet bij een router aankomt, wordt het vertaald naar IP om te zien<br />

wat de volgende stap in de route (hop) moet zijn. Als die bepaald is, wordt het pakket<br />

vertaald in de vorm die geschikt is voor het volgende netwerk dat op de route ligt. Het is alsof<br />

de oorspronkelijke informatie onderduikt in een netwerk, daar onzichtbaar voor de<br />

buitenwereld zijn weg vindt, om bij de volgende router weer boven water te komen.<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 32


Hoe werkt internet ?<br />

Als een vlinderslagzwemmer die telkens zijn hoofd boven water steekt, bereikt een packet<br />

zijn einddoel. Maar dan wel een zwemmer die elke keer als hij zijn hoofd boven water steekt<br />

ook even kijkt waar hij nu naar weer toe moet.<br />

Figuur 1.4: Twee lagen binnen het Internet<br />

Lagen van het Internet<br />

We kunnen in de architectuur van het Internet dus minstens twee lagen onderscheiden, het<br />

onderwater en het bovenwater van onze zwemmer, of de laag van de netwerken en de laag<br />

van IP. Figuur 1.4 geeft dit weer. De informatie wordt bij de overgang van netwerk naar<br />

router en terug steeds weer getransformeerd van de ene laag in de andere.<br />

Figuur 1.5: De algemene structuur van een packet<br />

Frame, datagram en encapsulatie<br />

Omdat er zoveel transformaties plaatsvinden, moet er wel voor gezorgd worden dat de<br />

inhoud van de informatie onveranderd blijft. Om te zien hoe dat bewerkstelligd wordt, moeten<br />

we iets weten over de structuur van een packet. De meest algemene representatie van een<br />

packet is als in figuur 1.5.<br />

De header is het gedeelte waarin het adres staat, de rest bevat de te verzenden data. De<br />

header bevat meer dan alleen maar het adres, bijvoorbeeld ook de grootte van het packet en<br />

getallen die de foutencontrole dienen, maar daar gaan we hier niet op in. Vooral de header<br />

informatie verschilt type netwerk, zoals elders in deze uitgave wordt uitgelegd.<br />

De structuur van figuur 1.6 is gelijk voor zowel de packets op de laag van de netwerken als<br />

voor de laag van IP. De naam niet, ze worden frame en datagram genoemd, respectievelijk.<br />

De vraag is nu, uiteraard, hoe het uit een datagram een frame gemaakt wordt en omgekeerd.<br />

at gebeurt door het packet volgens IP in het dataveld van de frame voor het onderhavige<br />

netwerk te stoppen; het IP datagram wordt de data van het netwerk frame. Het resultaat is<br />

getoond in figuur 1.6. Het IP pakket is ingekapseld in het pakket voor het netwerk. Deze<br />

procedure heet dan ook inkapseling of encapsulatie.<br />

Figuur 1.6: Encapsulatie<br />

De router die een dergelijk frame ontvangt, gooit de header van het specifieke netwerk weg,<br />

kijkt naar het IP adres, besluit op basis daarvan naar welk netwerk het datagram<br />

doorgezonden moet worden en kapselt de IP data weer in een voor dat netwerk specifieke<br />

vorm; de theorie is simpel.<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 33


Hoe werkt internet ?<br />

MTU en fragmentatie<br />

Het is niet zo dat een IP datagram altijd in een frame kan worden gestopt, omdat een<br />

datagram te groot kan zijn voor een frame. Het omgekeerde komt niet voor, omdat volgens<br />

IP de grootte van een datagram vrij is. Maar het is niet verstandig het te groot te kiezen,<br />

omdat de onderliggende netwerken wel beperkingen opleggen aan de maximale grootte van<br />

een frame.<br />

Een Ethernet bijvoorbeeld, hanteert een maximale grootte van 1500 bytes per frame. Veel<br />

netwerken kennen zo'n bovengrens, die wordt aangeduid met MTU (Maximum Transfer<br />

Unit). Als een IP datagram te groot is voor een bepaald netwerk, dan moet een router de IP<br />

datagrammen in kleinere pakketjes splitsen, die elk uiteraard worden voorzien van het juiste<br />

adres. Dit steeds verder verbrokkelen, fragmentatie genoemd, van de datagrammen is iets<br />

wat tijd kost en dus vermeden dient te worden. Daarom zal een IP datagram ook niet al te<br />

groot gemaakt worden.<br />

De grootte van de datagrammen is in de regel instelbaar per computer. Als het verkeer gaat<br />

over netwerken die met hele grote frames werken, dan kan met grote datagrammen een<br />

tijdwinst geboekt worden. Maar grote datagrammen versturen via netwerken met een lage<br />

MTU kost daarentegen extra tijd. Sommige van de met veel bombarie aangeprezen Internet<br />

boosters spelen met instellingen als de MTU om snelheid van de dataoverdracht te<br />

vergroten.<br />

IP adres<br />

De datagrammen moeten op de plaats van bestemming gebracht worden. Omdat elk van<br />

deelnemende netwerken een eigen manier van adresseren heeft die op andere netwerken<br />

niet van toepassing is, moest er een nieuw adresschema ontwikkeld worden.<br />

De IP adressen en de adresseringsmechanismen die op de routers aanwezig, tonen<br />

bovendien de onderliggende structuur van het Internet als een netwerk van netwerken, voor<br />

hen die weten te zien tenminste. De IP adressen zijn daarbij ook nog eens pregnant<br />

aanwezig in de omgeving van de Internet gebruiker, al verdwijnen ze wel steeds meer naar<br />

de achtergrond, omdat er op het Internet een systeem is ontwikkeld, het Domain Name<br />

System (DNS), waardoor gebruikers zowel met uit woorden bestaande domeinnamen als<br />

www.academicservice.<strong>nl</strong> kunnen werken als met IP adressen.<br />

IP adres en domeinnamen zijn twee manieren om hetzelfde Internet adres mee aan te<br />

duiden, met dit verschil dat IP adressen gekoppeld zijn aan computers en DNS namen ook<br />

gekoppeld kunnen zijn aan programma's en bestanden op een computer. Maar het zijn toch<br />

de IP adressen die meer informatie geven over de werking van het Internet. Het is instructief<br />

om een IP adres eens wat nader onder de loep te nemen.<br />

Een IPadres is qua vorm een getal van 32 bits groot en niets meer. Een legitiem adres is<br />

dus:<br />

Omdat IP adressen nog wel eens gecommuniceerd moeten worden, is er een notatie<br />

ontwikkeld voor dit soort adressen, die ook over de telefoon verteld kunnen worden, zonder<br />

iemand een paniekaanval te bezorgen. Deze notatie is uit het binaire getal te halen via twee<br />

eenvoudige stappen. De eerste is om de 32 bits te verdelen in 4 groepjes van 8. Het vorige<br />

adres wordt dan:<br />

Dit is een reeks van vier binaire getallen elk van 8 bits groot. Een binair getal kan ook als een<br />

decimaal getal worden uitgedrukt. Zo kan het getal hierboven in decimale notatie geschreven<br />

worden als:<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 34


Hoe werkt internet ?<br />

Decimale punt notatie<br />

Dit is de decimale punt notatie die gangbaar is geworden. Elk getal in deze notatie<br />

vertegenwoordigt 8 bits en kan dus niet groter zijn dan 256.<br />

Netwerkadres versus hostadres<br />

Maar nu komt het. Elk IP adres bestaat uit twee delen, een netwerkadres en een<br />

computeradres (ook wel hostadres). Wanneer een router de volgende hop moet bepalen<br />

voor een datagram kijkt het eerst alleen naar het netwerkadres.<br />

Is dit netwerk direct gekoppeld aan de router, dan vertelt het computeradres waar het<br />

datagram naar toe moet. Behoort het netwerkadres een ander netwerk toe, dan moet het<br />

datagram via een of meer andere netwerken naar een ander router gebracht worden. Het<br />

computeradres doet dan niet terzake, wel het adres van het doelnetwerk.<br />

De routetabellen op de router hoeven dus alleen maar te verwijzen naar netwerken en niet<br />

naar afzonderlijke computersystemen en dat bekort de routetabellen aanzie<strong>nl</strong>ijk. Daarnaast<br />

heeft verdeling in hostadres en netwerkadres ook vanuit het oogpunt van netwerkbeheer een<br />

groot voordeel, omdat men nu het geven van adressen aan computers binnen een netwerk<br />

kan overlaten aan de netwerkbeheerders.<br />

Zolang het netwerkadres uniek is, en de netwerkbeheerder zijn werk goed doet, zal er nooit<br />

éen adres aan twee computers gegeven worden.<br />

Netwerkklassen<br />

Welke stuk van het adres nu als netwerkadres moet worden gezien, hangt af van de grootte<br />

van het eerste getal in het IP adres. Is bijvoorbeeld het eerste getal kleiner dan 128 dan is<br />

alleen dit getal het netwerkadres, is het getal tussen 192 en 224, dan zijn de eerste drie<br />

getallen het netwerkadres. Let wel dat er in het laatste geval maar een getal overblijft om alle<br />

computers mee te nummeren en dus kan zo'n netwerk niet meer dan 256 computers<br />

bevatten. Er zijn dus aanzie<strong>nl</strong>ijk meer kleine netwerken dan grote netwerken. De aldus<br />

ontstane groepen van netwerken worden klassen genoemd.<br />

adresresolutie<br />

Als een packet eenmaal is aanbeland op het netwerk waar de doelcomputer een onderdeel<br />

van is, dan zitten we nog met het probleem van het vinden van de juiste computer. De<br />

afspraken die voor een netwerk gelden, geeft aan een computer uiteraard wel een adres,<br />

maar dat is normaalgesproken geen IP adres. Een NIC van een Ethernet heeft bijvoorbeeld<br />

een voor die kaart uniek nummer als adres.<br />

Op de een of andere manier moet een computer dus twee adressen krijgen, een volgens IP<br />

en een volgens de regels van het eigen netwerk. Wanneer een netwerkcomputer informatie<br />

ontvangt voor een computer in dat netwerk, wordt het IP adres vertaald in een<br />

netwerkspecifiek adres.<br />

Dit proces heet adresresolutie. Het toekennen van IP adressen aan computers op een<br />

netwerk kan in de regel geautomatiseerd worden, zodat de kans op conflicten minimaal is. Er<br />

bestaan verschillende protocollen voor computers in een netwerk om elkaar IP adressen toe<br />

te kennen, zoals RARP, BOOTP en DHCP. Ze vallen buiten het bestek van deze i<strong>nl</strong>eiding.<br />

Identificatie van programma's<br />

We kunnen nu de informatie van de ene computer naar de ander krijgen. Maar wat moet een<br />

computer met die informatie doen? Eige<strong>nl</strong>ijk maar een ding; de informatie moet doorgegeven<br />

worden aan een programma die, hopelijk, weet wat ermee aangevangen moet worden. Het<br />

zijn geen computers die informatie genereren, dat doen programma's en die genereren het<br />

ten behoeve van een ander programma (en de gebruikers ervan).<br />

Wil de informatie bij het juiste programma aankomen, en op een beetje moderne computer<br />

kunnen er vele programma's tegelijkertijd lopen, dan moet niet alleen gespecificeerd worden<br />

welke de zendende en ontvangende computers zijn, maar ook wat de zendende en<br />

ontvangende programma's zijn. Binnen IP is voor de identificatie van programma's geen<br />

ruimte gereserveerd. Al wat telt binnen IP zijn computers en dus is IP onvolledig.<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 35


Hoe werkt internet ?<br />

TCP/IP protocol familie<br />

De identificatie van programma's is een taak die is toebedeeld aan andere protocollen. Veruit<br />

de meest gebruikte is TCP oftewel Transport Control Protocol. De combinatie van TCP en IP<br />

is zo gewoon dat men het Internet karakteriseert als bestaande uit de TCP/IP protocollen.<br />

Vaak wordt het woord familie er aan toegevoegd als erkenning van het feit dat er meer<br />

protocollen zijn.<br />

Bovenop de laag van de IP protocol van figuur 1.5 is dus nog een andere laag te plaatsen:<br />

de TCP laag. Als een programma data wil versturen, dan kan het informatiepakketjes<br />

aanmaken volgens TCP. In de header van TCP staat dan een code voor het type applicatie<br />

dat geacht wordt de data te ontvangen. Deze code is niet meer dan een nummer,<br />

poortnummer of port genoemd, waarover binnen TCP afspraken zijn gemaakt. De code 23<br />

wordt gebruikt voor Telnet, 25 voor e-mail, enzovoort.<br />

Dit TCP pakket wordt voor verzending ingekapseld in een IP datagram en voorzien van het<br />

adres van de doelcomputer. Daar aangekomen zal de daar draaiende IP software de IP<br />

header verwerken en weggooien om het resterende TCP pakket doorgeven aan de<br />

bove<strong>nl</strong>iggende TCP laag. Deze inspecteert de code, gooit de header weg en stuurt de data<br />

op zijn beurt door naar het beoogde programma.<br />

TCP heeft meer mogelijkheden dan alleen het vinden van de juiste applicaties. Het pakt ook<br />

een aantal, zij het geplande, tekortkomingen van IP aan. We hebben gezien dat IP niet kan<br />

garanderen dat een datagram ook daadwerkelijk aankomt; een datagram kan onderweg<br />

verloren raken.<br />

Ook is het mogelijk dat afzonderlijke datagrammen langs een verschillende route<br />

getransporteerd worden, bijvoorbeeld omdat een bepaalde router of switch het even te druk<br />

heeft of is uitgevallen. Daardoor is niet gegarandeerd dat de datagrammen in de juist<br />

volgorde aankomen. TCP biedt mogelijkheden om dat wel te garanderen. In principe wordt<br />

dat doel bereikt door aan de header volgnummers mee te geven.<br />

Het nummer geeft aan welke plaats een het onderhavige informatiepakket in de originele<br />

informatiestroom had. De ontvangende computer, althans de TCP software die daarop<br />

draait, gebruikt deze nummers niet alleen om de juiste volgorde te herstellen, maar ook om<br />

ontbrekende pakketjes te identificeren.<br />

Als een pakket niet aankomt binnen een bepaalde tijd, dan krijgt de zendende computer een<br />

verzoek om het nog eens te proberen. Als een zender geen bericht van ontvangst krijgt, gaat<br />

hij er van uit dat het packet verloren is gegaan en stuurt op eigen houtje een kopietje. TCP<br />

garandeert daarmee een betrouwbare verbinding tussen programma's bovenop de niet zo<br />

betrouwbare manier van transport die IP verzorgt.<br />

Applicaties<br />

De verzameling van afspraken die voor het Internet gelden bestaat uit twee groepen: een<br />

harde stabiele kern met daaromheen een uitbreidbare verzameling die afhankelijk zijn van<br />

wat men precies wil communiceren. De harde kern bestaat uit de TCP/IP protocollen die<br />

hierboven zijn besproken.<br />

Zonder gebruik van TCP/IP is er geen communicatie, althans niet op het Internet. Maar<br />

behalve deze harde TCP/IP kern, bestaan er ook nog een andere afspraken, die gekoppeld<br />

zijn aan specifieke programma's. Zulke afspraken worden applicatieprotocollen genoemd. De<br />

woorden applicatie en programma zijn uitwisselbaar.<br />

Elk verzameling van programma's die tezamen een protocol hanteren ,wordt een dienst of<br />

service genoemd. Deze protocollen smeden de programma's die eraan gehoorzamen tot een<br />

geheel aaneen. Het World Wide Web (WWW) is een voorbeeld van een dienst. Het maakt<br />

gebruik van een bepaald protocol (het HTTP protocol), waarmee een browser als Netscape<br />

of MS Explorer communiceert met een webserver. Dit proces is geïllustreerd in figuur 1.7. De<br />

gestreepte pijlen geven het vraag en antwoord spel aan dat de applicaties plegen te spelen<br />

en waarvan de details in het applicatieprotocol zijn vastgelegd. Onderbroken lijnen zijn<br />

gebruikt om aan te geven dat er tussen hen geen fysieke lijn bestaat (maar wel een virtuele).<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 36


Hoe werkt internet ?<br />

De fysieke communicatie wordt verzorgd door de TCP/IP protocollen en de onderliggende<br />

hardware, in de figuur aangegeven met doorgetrokken pijlen.<br />

Figuur 1.7: De communicatie tussen een browser en een webserver<br />

Het ene applicatieprotocol is daarbij het andere niet. E-mail programma's moeten elkaar<br />

bijvoorbeeld vertellen waar zich temidden van de informatiestroom de naam van de<br />

geadresseerde bevindt, terwijl een video-conferencing programma op de een of andere<br />

manier geluidsinformatie van beeldinformatie moet onderscheiden.<br />

Het Internet kent talloze protocollen en er komen er steeds nieuwe bij. De oudste en nog<br />

steeds springlevende protocollen op het Internet, soms wel primaire protocollen genoemd<br />

zijn FTP (File Transfer Protocol) voor het oversturen van bestanden, Telnet voor het<br />

bedienen van de ene computer vanaf een andere en E-mail, wel, u weet waarvoor.<br />

Clients en servers<br />

De applicatieprotocollen vormen een bonte verzameling. Iedereen die software voor het<br />

Internet ontwikkelt, kan zelf een protocol ontwerpen. Dat kan niet alleen, dat gebeurt ook. Al<br />

die diensten hebben daarbij een fundamentele architectuur gemeen.<br />

Juist omdat de TCP/IP protocollen passief zijn, dus nooit het transport van informatie op<br />

gang brengen, moet een van de applicaties van een dienst dat doen. Degene die begint met<br />

de communicatie heet de client, degene die antwoordt is de server.<br />

Alle applicatieprotocollen gaan uit van deze taakverdeling tussen de communicerende<br />

programma's. De protocollen schrijven verder voor hoe de communicatie in detail kan<br />

verlopen.<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 37


Hoe werkt internet ?<br />

DoD model versus TCP/IP<br />

Omdat men zocht naar een vereenvoudiging van het OSI model om het internet concept<br />

beter te kunnen implementeren heeft het toenmalige werkgroep van het Amerikaanse leger<br />

het z.g.n. DoD model ontwikkelt.<br />

Het belangrijkste daarbij is dat zij de 3 bovenste lagen, te weten applicatielaag +<br />

presentatielaag en sessielaag hebben samengevoegd.<br />

Hierdoor is een vier-lagenstructuur ontstaan die als volgt is opgebouwd:<br />

Op basis hiervan is de volgende implementatiestructuur voor internet opgezet:<br />

22Bytes 20Bytes 20Bytes<br />

4Bytes<br />

64 to 1500<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 38


Hoe werkt internet ?<br />

Hoe werkt het Internet?<br />

IP-Adres<br />

Elk van de op Internet aangesloten netwerken en elk van de op die netwerken aangesloten<br />

hostcomputers, heeft een eigen specifiek nummer, het zogenaamde Internet Protocol –<br />

adres. Zonder dit adres zou zoeken op het Internet onmogelijk zijn. Dit IP-adres bestaat uit<br />

een reeks bits. Maar omdat het voor gebruikers bijzonder moeilijk is om met zo’n binair getal<br />

om te gaan, wordt het IP-adres voorgesteld door vier groepen getallen, gescheiden door een<br />

punt, zoals bv. 143. 179 20.11.<br />

Aan de hand van dit adres weet een de zogenaamde router naar welke computer een pakket<br />

informatie moet worden doorgestuurd.<br />

Domain name system<br />

Om het eenvoudiger voor te<br />

stellen werd er een systeem<br />

bedacht om computers ook<br />

namen te geven, het<br />

zogenaamde domaine name<br />

system. Uit DNS kan je al<br />

aardig wat informatie te weten<br />

komen over het soort computer<br />

waarmee je verbonden bent.<br />

Een DNS lees je van rechts<br />

naar links. Neem het voorbeeld:<br />

dino.axipil.fr<br />

Het uiterst rechtse gedeelte is<br />

het hoofddomein. In Europa is<br />

dit meestal de aanduiding van<br />

het land, in dit voorbeeld Frankrijk. Elk land heeft zijn eigen code: België: be , Nederland: <strong>nl</strong><br />

Maar in de Verenigde Staten duidt dit domein op het soort organisatie dat de hostcomputer<br />

exploiteert. Hier een lijstje van enkele categorieën:<br />

com : commerciële organisatie, edu: educatieve organisatie<br />

gov: overheidsorganisatie, int: internationale organisatie<br />

mil: militaire organisatie, net: netwerkexploitant<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 39


Hoe werkt internet ?<br />

org: overige organisaties zoals bv. Belangenverenigingen<br />

Naast het hoofddomein bevat het DNS nog een aantal subdomeinen. In ons voorbeeld 2,<br />

namelijk de naam van het bedrijf (‘axipil’) en de naam van de computer(server/host) waarop<br />

zich de informatie bevindt die we zoeken.<br />

Informatie opdelen in pakketjes<br />

Volgens het Internetprotocol worden berichten in<br />

kleine stukken verdeeld alvorens ze worden<br />

verzonden. Je kan dit systeem het best vergelijken<br />

met een brief die je eerst in honderd snippers<br />

verscheurt alvorens hem te verzenden. Elke<br />

snipper krijgt het adres van de bestemmeling en<br />

een eigen nummer. De routes in het netwerk<br />

ontvangen een snipper, kijken naar de code en<br />

sturen het pakketje verder... tot bij de<br />

bestemmeling. Daar worden alle snippers terug<br />

aan elkaar geplakt (in de juiste volgorde<br />

gesorteerd) en aan de ontvangende computer als<br />

één bericht aangeboden.<br />

De rol van routers<br />

Zoals de ene snelweg overgaan in de andere, worden<br />

ook netwerken met elkaar verbonden. Dit gebeurt via<br />

een soort van knooppunten, routers genaamd. Een<br />

router is een computer die voortdurend berichten<br />

ontvangt van andere computers. Hij kijkt eerst naar het<br />

adres van de informatie en stuurt vervolgens het<br />

pakket door naar een ander netwerk of naar de<br />

computer van de bestemmeling. Normaal zou de<br />

router eerst moeten nagaan welke de kortste weg naar<br />

de eindbestemming is. Maar door het enorm aantal<br />

netwerken die reeds op het internet zijn aangesloten,<br />

is dit niet steeds meer mogelijk en wordt er wel eens<br />

een ommetje gemaakt.<br />

Wat heb je nodig om te surfen?<br />

Hardware<br />

computer<br />

Internet stelt geen extravagante eisen aan je computer. Het is wel<br />

aan te raden een computer te gebruiken met minstens 16Mb<br />

werkgeheugen(RAM) en over een harde schijf beschikt met<br />

minstens 100Mb vrije schijfruimte. Een kleurenscherm en een<br />

grafische kaart zijn ook aan te bevelen. Een S-VGA kaart geeft een<br />

resolutie van 800 x 600 beeldpunten, zeker voldoende om foto’s en<br />

grafische beelden weer te geven. Maar ook het aantal kleuren dat<br />

wordt gebruikt is belangrijk voor de kwaliteit van de beelden; 256<br />

kleuren is een minimum maar 65000 of 16.7 miljoen is natuurlijk<br />

beter.<br />

Software<br />

Voor Internet te kunnen gebruiken heb je drie soorten software nodig:<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 40


Hoe werkt internet ?<br />

<br />

<br />

<br />

<br />

<br />

Besturingssysteem: Als je een pc hebt, heb je ook een besturingssysteem. Voor het<br />

gebruik van Internet, gebruik je best een meertakenverwerkend besturingssysteem, zoals<br />

Windows. Dit is systeemsoftware die verschillende taken tegelijk kan uitvoeren. Zo kan<br />

je bijvoorbeeld de pc één bestand van Internet laten afhalen terwijl je ondertussen een<br />

brief typt.<br />

Communicatiesoftware: Om je computer te laten communiceren met internet heb je een<br />

communicatieprogramma nodig. Dit programma zorgt ervoor dat je computer via de<br />

modem met andere computers kan ‘praten’ in TCP/IP-taal. Bij recente<br />

besturingssoftware, zoals windows wordt de communicatiesoftware standaard<br />

bijgeleverd.<br />

Clientsoftware: Alle Internettoepassingen werken volgens het zogenaamde clientservermodel.<br />

Je pc is een client van de computer (server) waarop je op een bepaald<br />

moment bent aangesloten. Zo waren er tot voor kort verschillende clientprogramma’s<br />

nodig per toepassing:<br />

Nieuwsgroepen: WinVN,Newswatcher en Newsexpress , e-mail: Eudora, file transfer(ftp)<br />

: WS-FTP en Fetch, WWW: netscape, Mosaic en MSN Explorer<br />

De huidige browserpakketten trachten deze programma’s te integreren in één pakket.<br />

Internet-verbinding<br />

Backbone<br />

Een backbone kan je vergelijken met een supersnelweg met<br />

verschillende baanvakken waarop massale hoeveelheden<br />

voertuigen tegen zeer hoge snelheden kunnen voorbij razen. Dit<br />

netwerk bestaande uit glasvezel- en satellietverbindingen met<br />

enorme datasnelheden en een grote bandbreedte vormt dus de<br />

‘ruggengraat van het huidige Internet.<br />

Modem<br />

Om met je computer ‘o<strong>nl</strong>ine’ te kunnen gaan heb je<br />

natuurlijk een telefoonaansluiting nodig. Dit kan de<br />

reeds aanwezige telefoonaansluiting zijn, maar denk<br />

eraan dat terwijl je bezig bent met Internet, je niet<br />

tegelijkertijd kan bellen of worden opgebeld.<br />

Een telefoo<strong>nl</strong>ijn kan enkel met analoge signalen<br />

werken, en niet met de digitale pulsen die van een PC<br />

komen. Daarom moet je een modem aansluiten op je<br />

PC. Deze zorgt ervoor dat de informatie die je zelf op<br />

Internet verstuurt vanuit je computer eerst analoog<br />

wordt gemaakt (modulatie) en dat analoge informatie<br />

die naar jou wordt verstuurd, digitaal wordt gemaakt alvorens ze in je computer<br />

terechtkomt(demodulatie)<br />

Er zijn verschillende manieren om je aan te sluiten op het Internet.<br />

Telefoonaansluiting<br />

Dial-up toegang: met de inbelaansluiting maak je met je pc en het telefoonnet een verbinding<br />

met de Internetaanbieder (vb telenet) die je de toegang verleent tot Internet. Deze dial-up<br />

verbinding is het goedkoopst, maar de snelheid is niet steeds optimaal.<br />

ADSL<br />

Met ADSL kan je via het telefoonnet veel grotere snelheden halen. Dit komt omdat een<br />

ADSL-lijn in feite opgesplitst is in een (analoog) deel voor telefonie en een (digitaal) deel<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 41


Hoe werkt internet ?<br />

voor datacommunicatie. Dit digitale deel wordt niet meer – zoals bij een dial-up verbindinggedeeld<br />

met andere gebruikers van het telefoonnet, maar is enkel voor de ene abonnee<br />

gereserveerd. Daardoor is de bandbreedte groter en constant. De gebruiker kan bovendien<br />

tegelijk het Internet gebruiken en telefoneren.<br />

ISDN<br />

ISDN staat voor Integrated Services Digital Network. In de term komen twee elementen voor:<br />

digitaal netwerk en integratie van diensten. ISDN gebruikt het telefoonnet als transportweg<br />

voor datacommunicatie, maar verstuurt de informatie digitaal in plaats van analoog, wat ten<br />

goede komt aan zowel de snelheid als aan de kwaliteit van het informatietransport.<br />

Eige<strong>nl</strong>ijk maakt ook ISDN gebruik van telefoo<strong>nl</strong>ijnen, alleen verloopt het volledige<br />

communicatiecircuit digitaal. Het grote voordeel van ISDN is de grotere betrouwbaarheid en<br />

snelheid van de lijn. De gebruiker heeft de beschikking over 2 lijnen die apart kunnen<br />

gebruikt worden om tegelijk te kunnen telefoneren en Internetten (64kbps) of samen<br />

(128Kbps) kunnen gebruikt worden met het dubbele van de capaciteit. ISDN moet<br />

daarenboven op termijn een universeel netwerk vormen waarlangs het transport van alle<br />

telecommunicatiediensten (zoals telefonie, telefax, Internet e.d.) plaatsvindt.<br />

De kabel<br />

Om Internet aan te bieden gebruiken de kabelmaatschappijen coaxkabel. Deze kabel heeft<br />

een veel grotere bandbreedte dan de telefoonkabel, waardoor dus veel grotere snelheden<br />

mogelijk zijn. Hierbij moeten wel een aantal kanttekeningen worden gemaakt (ook bij ADSL)<br />

De neerwaartse snelheid, van server naar gebruiker, is veel groter dan de opwaartse<br />

snelheid, van gebruiker naar server. De snellere verbinding geldt dus vooral tussen de<br />

Internetprovider en de gebruiker: de gegevens moeten natuurlijk ook de andere kanalen van<br />

het Internet passeren, wat (vooral voor internationale communicatie) de snelheid kan<br />

drukken, vooral tijdens piekperiodes.<br />

Een zeer belangrijk argument voor de kabelaansluiting is dat de gebruiker geen<br />

telefoonkosten meer heeft. Bovendien blijft de telefoon vrij tijdens gebruik van het Internet.<br />

Een permanente IP-verbinding<br />

Gebruikers die zeer frequent Internet raadplegen of zelf permanent voor andere gebruikers<br />

beschikbaar moeten zijn ( met een eigen website), kunnen best beschikken over een<br />

zogenaamde ‘permanente IP-verbinding’ ook ‘leased line’ of ‘huurlijn’ genoemd. Dit is een<br />

telefoo<strong>nl</strong>ijn die permanent open ligt. Die steeds gebruikt kan worden zonder dat er telkens<br />

een verbinding moet worden gemaakt. De gebruiker betaalt hierbij een vast maandelijks<br />

bedrag. Aan zo’n abonnement zijn vrij hoge kosten verbonden. Het spreekt dan ook vanzelf<br />

dat een permanente IP-verbinding enkel geschikt is wanneer je – wellicht beroepshalve of<br />

als een informatieleverancier- vrijwel permanent met Internet verbonden moet zijn.<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 42


Hoe werkt internet ?<br />

Toepassingen van het Internet<br />

World Wide Web<br />

De bij het grote publiek bekendste toepassing van Internet is<br />

ongetwijfeld World Wide Web. Afgekort als WWW. Bij<br />

gesprekken met nieuwe gebruikers valt het op dat Internet<br />

vaak wordt gelijkgesteld met het WWW. WWW is een<br />

gigantisch web van met elkaar verbonden bestanden over de<br />

meest uitee<strong>nl</strong>opende onderwerpen. Deze bestanden worden<br />

geëploiteerd door informatieleveranciers (aanbieders) . Deze<br />

documenten -die allemaal een eigen adres hebben - zijn op<br />

een bepaalde manier opgebouwd. WWW-documenten<br />

bevatten naast tekst ook grafische elementen en een aantal<br />

hyperlinks. Dit zijn kruisverwijzingen naar andere<br />

documenten uit hetzelfde bestand (computer) of uit een andere bestanden (die zich<br />

eventueel op andere netwerken kunnen bevinden) . Op die manier surf je van de ene<br />

computer naar de andere.<br />

e-mail<br />

Iedereen die een abonnement heeft op<br />

Internet kan met iedere andere<br />

Internetabonnee elektronische<br />

informatie uitwisselen: een recept, de<br />

tekst van de laatste hit van Bon Jovi,<br />

een liefdesbrief of gewoon zakelijke<br />

informatie.<br />

On-line communicatie heeft is dikwijls in<br />

staat vooroordelen te doorbreken die bij<br />

traditionele communicatie nadrukkelijk<br />

aanwezig zijn. E-mail gebruikers<br />

kunnen in hun communicatie met<br />

anderen niet worden beïnvloed door het<br />

uiterlijk of het stemgeluid van de ander. Correspondenten kunnen zich vrijer gedragen.<br />

Verlegen mensen kunnen plotseling moet vatten, kinderen kunnen ongemerkt adviezen<br />

verstrekken aan volwassenen die vol belangstelling naar hen luisteren.<br />

Adreslijsten. Een adreslijst is een verzameling e-mail adressen van personen die in hetzelfde<br />

onderwerp geïnteresseerd zijn. Wie op een adreslijst staat ontvangt automatisch alle<br />

elektronische post die circuleert over het onderwerp van die specifieke adreslijst. Berichten<br />

die je zelf verstuurt, komen eveneens automatisch bij alle andere abonnees aan<br />

Adreslijsten bieden dus een unieke mogelijkheid aan groepen gebruikers met<br />

gemeenschappelijke interesses om op een eenvoudige manier intensief contact met elkaar<br />

te onderhouden. Adreslijsten bestrijken een bijzonder breed veld van interesses/ film, fitness,<br />

godsdienst, kinderliteratuur, er is zelfs een adreslijst voor liefhebbers van doedelzakken.<br />

Momenteel kent Internet vele duizenden van deze adreslijsten.<br />

Een gigantische lijst van adreslijsten waar je eveneens kan zoeken op trefwoord vind je op<br />

LISZT. Hier kan je eveneens meer informatie vinden over hoe je kan aanmelden bij een<br />

specifieke adreslijst, aan welke regels je dient te houden, hoe je nieuwe berichten kan<br />

versturen, en hoe je terug kan afmelden.<br />

Usenet: de wereld van discussiegroepen<br />

USENET functioneert als een openbaar, elektronisch platform waar iedereen met iedereen<br />

kan discussiëren over de meest uitee<strong>nl</strong>opende onderwerpen. USENET kan je dus net als de<br />

adreslijsten beschouwen als een verzameling van virtuele vergaderzalen waar duizenden<br />

discussiegroepen gesprekken houden over hobby’s, wetenschappelijke onderwerpen,<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 43


Hoe werkt internet ?<br />

politiek, kunst enz. Het discussiëren verloopt via het sturen van berichten. Iedere<br />

deelnemer van een discussiegroep kan een bericht plaatsen (dat kan een mededeling zijn,<br />

een bijdrage aan de discussie, maar ook een vraag), waar anderen dan vervolgens op<br />

kunnen reageren. Op die manier kan er zeer snel een grote hoeveelheid informatie worden<br />

opgebouwd.<br />

USENET-discussiegroepen lijken zeer sterk op e-mail adreslijsten maar er zijn toch een<br />

aantal verschillen. Bij een adreslijst worden alleen maar berichten verstuurd naar iemand die<br />

zich expliciet als abonnee van die adreslijst heeft aangemeld. Bij USENET zijn alle artikelen<br />

van iedere discussiegroep in principe toegankelijk voor iedere Internetgebruiker, zonder dat<br />

men zich als abonnee moet aanmelden, Je kan USENET nog het best beschouwen als een<br />

reusachtig elektronisch mededelingenbord.<br />

IRC (Internet Relay Chat)<br />

Via internet kun je praten met alle op het<br />

net aangesloten computergebruikers<br />

dichtbij of aan de andere kant van de<br />

wereld. Dat ‘praten’ of ‘chatten’ moet je wel<br />

in de figuurlijke zin bekijken. Je legt contact<br />

met een andere gebruiker of met meerdere<br />

gebruikers tegelijkertijd en je tikt via het<br />

toetsenbord in wat je wilt zeggen. De<br />

persoon aan de andere kant kan jouw tekst<br />

lezen en onmiddellijk weer antwoorden. Op<br />

die manier kunnen hele gesprekken of<br />

discussies ontstaan. Eén van de meest<br />

bekende is systemen om te praten via het<br />

Internet is het Internet Relay Chat. Elke<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 44


Hoe werkt internet ?<br />

gebruiker heeft een nickname. Het praten kan plaatsvinden tussen 2 personen onderling of<br />

op een kanaal. De meest gebruikte taal is Engels. Maar soms kan de taal die wordt gebruikt<br />

afgeleid worden van de naam van dat kanaal, zoals #dutch of #chinese<br />

Je kan ook praten via WWW. Er bestaan WWW-servers waarop een babbelfunctie is<br />

opgenomen. Elk ‘kanaal’ is dan een WWW-pagina.<br />

Verschillen met IRC::<br />

- Een eerste verschil is dat je voor IRC een specifiek softwareprogramma nodig hebt,<br />

zoals bv. MIRC, terwijl dit niet nodig is met WWW, aangezien hier gebruik gemaakt<br />

wordt van de WWW-browser.<br />

- IRC bevat geen grafische informatie. WWW, en dus ook een WWW-babbelbox, kan wel<br />

met grafische informatie ( zoals tekeningen, pictogrammen en foto’s) worden<br />

opgesmukt.<br />

- IRC is veel sneller dan WWW. Dat komt omdat telkens als je de toevoegingen wil<br />

bekijken , je een nieuwe WWW-pagina moet opvragen. Dat maakt babbelen via WWW<br />

toch nogal omslachtig.<br />

FTP (File Transport Protocol)<br />

FTP is een reeks van afspraken (protocollen) om op een correcte en foutloze manier<br />

gegevens van de ene naar de andere computer te transporteren. FTP wordt meestal gebruikt<br />

om bestanden op te halen van de zogenaamde anonymous FTP-archieven. Op vele<br />

plaatsen in de wereld staan publiek<br />

toegankelijke archieven. In dergelijke<br />

archieven zijn documenten en software<br />

die je gratis (freeware) of tegen een kleine<br />

vergoeding (share ware) via het netwerk<br />

kunt ophalen. Ook voor het kopiëren van<br />

bestanden tussen jouw computer en de<br />

webserver gebruik je een FTPprogramma.<br />

Om je website te kunnen<br />

publiceren dus. Voor Windows heet het<br />

meest gebruikte programma FTP-explorer<br />

en voor Macintosh wordt het<br />

freewareprogramma’ Fetch’ het meest gebruikt. File Transport Protocol groeide zeer snel uit<br />

tot een wereldstandaard. Je kan nu bestanden verzenden of ontvangen van om het even<br />

welke computer ter wereld, voor zover deze is aangesloten op het Internet. FTP is zeer<br />

gemakkelijk in gebruik.<br />

Telnet<br />

Niet iedereen beschikt over een krachtige computer met software om alle mogelijkheden van<br />

Internet te benutten. In die gevallen kan Telnet erg nuttig zijn. Via Telnet kan je immers<br />

gebruik maken van software op andere computers.<br />

Telnet is een protocol, een reeks van regels en afspraken, waarmee je een verbinding kan<br />

maken met een andere<br />

computer op Internet. Je<br />

eigen computer gedraagt<br />

zich daarbij als een<br />

terminal, men spreekt van<br />

terminalemulatie. Dit wil<br />

zeggen dat de server ( de<br />

dienstverlenende<br />

computer) alle taken op<br />

zich neemt en dat Telnet<br />

zich opstelt als een soort<br />

van doorgeefluik tussen<br />

die server en je eigen<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 45


Hoe werkt internet ?<br />

computer. De eigen computer zal enkel data versturen en ontvangen. Aangezien Telnet een<br />

van de eerste Internetprotocols was, zijn de meeste computers waarop je via Telnet kan<br />

i<strong>nl</strong>oggen Unixcomputers. Om te werken met Telnet, moet je dus een aantal Unixcommando’s<br />

en –programma’s leren kennen. De meeste Internetverbindingen werden vroeger opgezet<br />

viaTelnet, maar die diensten die vroeger enkel via Telnet bereikbaar waren, worden nu meer<br />

en meer ook aangeboden via het WWW.<br />

Via Telnet kan je toegang krijgen tot nuttige Internetsoftware en interactieve spelletjes. Bijna<br />

alle Internetdiensten worden via Telnet aangeboden. Je kan bijvoorbeeld FTP’en en<br />

chatten. Je kan Telnet ook gebruiken om, tenminste als je lokale leverancier dat toestaat,<br />

vanop een andere plaats in te loggen en je e-mail te controleren. Verder kan je via Telnet in<br />

grote databases of bibliotheken i<strong>nl</strong>oggen om aan research te doen of om te kijken of een<br />

bepaald boek ergens aanwezig is. Verder kan je via Telnet ook gebruik maken van het<br />

WWW.<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 46


Hoe werkt internet ?<br />

TCP protocol<br />

Het hart van het internet is gebaseerd op twee<br />

protocollen, IP en TCP. Deze twee protocollen<br />

leveren verschillende functies. Het IP protocol<br />

(Internet Protocol), zorgt ervoor dat het TCPprotocol<br />

netwerk- onafhankelijk kan draaien. Dit<br />

betekent dat dus TCP zo ontwikkeld kan worden<br />

dat deze geen rekening hoeft te houden met wat<br />

voor netwerk-architectuur wordt gebruikt om<br />

communicatie met verschillende processen tot<br />

stand te brengen.<br />

TCP (Transmission Control Protocol) levert dus<br />

schijnbaar, aan de applicaties die draaien boven<br />

de TCP laag, een betrouwbare<br />

gegevensoverdracht over het op datagram<br />

gebaseerde IP protocol. In de bijlage staat een<br />

uitsplitsing van de TCP/IP protocollen onderverdeeld in de diverse lagen. In figuur 2.1 zijn de<br />

verschillende lagen aangegeven, met daarbij een aantal voorbeeld applicaties, en netwerk<br />

protocollen.<br />

We kunnen een aantal observaties maken over het TCP protocol:<br />

1. TCP werkt boven IP, en IP levert een 'best-try datagram transmissie service'. Dit is een<br />

hele interessante observatie omdat TCP de applicaties waar het voor werkt laat denken<br />

dat ze te maken hebben met een rechtstreekse (virtual circuit) verbinding met het remote<br />

proces. Het vernufte is dus dat betrouwbare services wordt aangeboden over een<br />

connectio<strong>nl</strong>ess datagram gebaseerde netwerk verbinding.<br />

2. TCP levert zogenaamde End-to-End fout detectie door gebruik te maken van een hertransmissie-algoritme<br />

van onbetrouwbare segmenten. Doordat er dus gebruik wordt<br />

gemaakt van hertransmissie moeten de segmenten genummerd zijn. Dit is noodzakelijk<br />

voor zowel ordening van binnengekomen segmenten, als voor detectie van duplicaten<br />

segmenten die veroorzaakt zouden kunnen worden door herttransmissie.<br />

3. Omdat de zender natuurlijk niet als maar segmenten kan blijven sturen, omdat de buffer<br />

van de ontvanger dan zou overlopen, moet er dus ook iets gedaan worden aan flowcontrol<br />

van de segmenten om 'buffer-overflow' te voorkomen.<br />

4. In een pakket georiënteerd netwerk is het mogelijk voor een pakket om in het netwerk<br />

rond te circuleren voor onbepaalde tijd, en komt deze dan op een willekeurig moment<br />

binnen bij de ontvanger dan raakt deze de kluts kwijt. Vandaar dat dus ook zoiets als een<br />

TTL (Time To Live) Parameter aan de pakketten worden meegegeven. Als niet binnen de<br />

TTL tijd het pakket is aangekomen bij de ontvanger dan wordt dit pakketje vernietigd,<br />

zodat ook geen congestie in het netwerk kan optreden.<br />

5. Omdat TCP werkt met een full-duplex verbinding moet dus de opbouw en afbreking van<br />

een connectie volgens een goed gedefinieerde en gestandaardiseerde methode<br />

gebeuren. Anders blijven er zogenaamde ghost verbindingen bestaan die de poort blijven<br />

vasthouden, en deze poort dan nooit wordt vrijgegeven. Op den duur loopt dan het<br />

systeem uit de beschikbare poorten.<br />

6. Elk proces die een tcp-connectie maakt met een proces draaiend op de remote systeem,<br />

moet zonder problemen meerdere conversaties met andere of dezelfde processen<br />

aankunnen zonder dat hier verwarring over bestaat. Vandaar dat een tcp-connectie altijd<br />

uniek met een lokaal host, lokaal poort, remote host, remote port geïdentificeerd kan<br />

worden.<br />

7. Omdat de pakketten over verschillende netwerken worden gestuurd, en dat elke netwerk<br />

zijn eigen maximale pakketlengte heeft kan het voorkomen dat dus de pakketten worden<br />

opgesplitst in kleinere stukken. TCP moet er dus ook zorg voor dragen dat als een<br />

segment is opgesplitst in stukken dat deze het weer aan elkaar plakt, voordat de<br />

segment wordt verstuurd naar de applicatie.<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 47


Hoe werkt internet ?<br />

Data encapsulatie<br />

Zoals in figuur 2.1 te zien is loopt de<br />

data van de applicatie door<br />

verschillende lagen van het netwerk<br />

communicatie model heen. Elke laag<br />

voegt aan de data wat informatie toe<br />

die voor die laag van belang is. Deze<br />

redundantie toevoegen maakt<br />

uiteraard de lengte van de pakketten<br />

groter. Afhankelijk van de lengte van<br />

de data, optie velden, e.d. kan een<br />

pakket een maximale lengte hebben.<br />

In figuur 2.2 staat de route die de data doorloopt en geeft aan welke laag de data<br />

encapsuleert met een header.<br />

De gebruikte datastructuren<br />

Applicaties die gebruik van TCP maken noemen de data die wordt verstuurd een 'stream',<br />

terwijl applicaties die gebruik maken van UDP refereren naar data als 'message'. TCP noemt<br />

data een 'segment', en UDP noemt het een 'pakket'. De Internetlaag noemt zijn data een<br />

'datagram'. De Netwerk Acces Laag noemt de data die hij het netwerk opstuurt of opvangt<br />

een 'frame' of 'pakket'. In figuur 2.3 staan de diverse datastructuren vermeld.<br />

Alle datastructuren die in figuur 2.3 zijn genoemd, hebben allemaal dezelfde betekenis<br />

namelijk data die verstuurd moet worden. De bijlage geeft schematisch de afhankelijkheid<br />

aan van de subprotocollen, en de volgende bijlage geeft weer hoe de communicatie verloopt<br />

tussen de protocollen onderling.<br />

TCP Service Model<br />

TCP levert aan de applicaties een<br />

betrouwbare verbinding door gebruik te<br />

maken van een virtuele connectie (vergelijk<br />

met het X.25 netwerk). Dit betekent dat er<br />

tussen twee processen die op twee<br />

verschillende machines draaien deze<br />

verbinding gebruikt kan worden om data<br />

van de ene proces naar de andere te<br />

versturen. Een proces draait meestal op<br />

een Internet host die bekend is door een<br />

Internet Protocol adres. Een host wordt geindentificeerd door zijn IP adres, en een poort op<br />

deze host wordt gekenmerkt door een 16 bits getal. Een combinatie van IP adres en poort<br />

nummer wordt een socket genoemd. Als een proces probeert te communiceren met een<br />

andere proces op een remote host, stuurt hij zijn eigen socket door. De remote host heeft<br />

ook een IP adres en een poort waarop een draait. Nu kan een TCP connectie worden<br />

aangeduid door de sockets van beidde hosts. Het is belangrijk te weten dat een socket in<br />

meer dan een verbinding kan worden gebruikt. Dit wordt geïllustreerd in figuur 2.4.<br />

Beschrijving van figuur 2.4:<br />

We zien dat er een tweetal connecties zijn opgebouwd, namelijk:<br />

1. Connectie: [193.78.240.1] (23) en [193.78.240.2] (1234)<br />

Connectie: [193.78.240.1] (23) en [193.78.240.13] (xxxx)<br />

2. We zien dat er een server telnet socket aanwezig is waarop cliënten kunnen verbinden:<br />

Well-known server Telnet socket: [193.78.240.1] (23)<br />

3. We zien dat er een cliënt telnet socket is:<br />

Cliënt Telnet socket: [193.78.240.2] (1234)<br />

Er zijn een aantal poorten gedefinieerd als Well-known sockets, waarop standaard<br />

processen draaien. Zo is bijvoorbeeld in figuur 2.4, poort 23 de standaard telnet socket van<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 48


Hoe werkt internet ?<br />

een host. In RFC 1700 kunnen nog andere well-known sockets gevonden worden. Door de<br />

afspraak om bepaalde processen een well-known poort nummer te geven, is het voor<br />

software fabrikanten welke TCP/IP-client programmatuur schrijven makkelijk om deze<br />

standaardpoorten in hun produkt te verwerken. Processen welke gebruik maken van een<br />

TCP verbinding, willen graag een verbinding kunnen OPEN-en, actief of passief (ook wel<br />

door LISTEN aangeduid), informatie kunnen SEND(en) en RECEIVE(n), de STATUS van<br />

een verbinding kunnen opvragen, een verbinding kunnen CLOSE(n), of als noodzakelijk blijkt<br />

een verbinding kunnen ABORT(en).<br />

Basis parameters voor TCP connecties<br />

Zoals eerder in dit verslag is vermeld, levert TCP een betrouwbare, gesequenseerde<br />

aflevering van een stream van bytes, door gebruik te maken van de onderliggende,<br />

onbetrouwbare datagram service (IP). Om dit te kunnen bereiken maakt TCP gebruik van<br />

hertransmissie op time-outs en positieve bevestiging (ack) bij ontvangst van de informatie.<br />

Omdat door hertransmissie ook duplikaten frames/pakketen kunnen voorkomen, onderhoudt<br />

TCP ook een pakket-nummeringsalgoritme. Ook een verschijnsel wat wordt geïntroduceerd<br />

door hertransmissie te gebruiken, is out-of-order aankomst van de pakketten. Dat betekent<br />

dat dus voordat TCP de data doorgeeft aan de applicatie deze op volgorde gezet moeten<br />

worden. Flow control in TCP maakt gebruik van de windowing algoritme, waarbij de<br />

ontvangende zijde van de verbinding de zender aangeeft welke pakketnummers de zender<br />

direkt mag versturen en het geeft ook aan de ontvanger door welke pakketten hij reeds<br />

ontvangen heeft (deze methode wordt ook wel accumulatieve bevestiging genoemd). De<br />

accumulatieve bevestiging maakt het mogelijk om beidde kanten informatie-uitwisseling over<br />

de connectie tot een minimum te beperken.<br />

De Urgentie pointer is een 16-bit waarde welke de offset (verschuiving) aangeeft vanaf de<br />

sequentie nummer van het pakket waarin de Urgentie pointer zit. De som van het sequence<br />

nummer en de urgentie pointer is het sequentienummer van de laatste byte van urgente<br />

data. Urgente data is data waarvan het URG-bit is gezet, dus een ‘1’ bevat. Door gebruik te<br />

maken van het URG-bit en de Urgentie Pointer kan TCP zo belangrijke segmenten voorrang<br />

geven boven de segmenten waarvan de URG-bit niet is gezet. Zo kan dus belangrijke<br />

segmenten voorrang krijgen. Zoals in figuur 2.5 kan worden gezien, kan een tcp-segment<br />

ook opties bevatten. De opties zitten in het laatste gedeelte van een segment en zijn altijd<br />

een veelvoud van 32 bits, als dit niet het geval is dan wordt het padding-veld gebruikt om de<br />

opties aan te vullen tot de 32 bits. In een segment mogen meerder opties voorkomen.<br />

Hieronder is een sommatie gegeven van de beschikbare opties.<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 49


Hoe werkt internet ?<br />

Een optie kan in twee formaten opgegeven worden:<br />

1. Een enkele byte<br />

2. Een driedelige optie, welke een byte bevat die aangeeft welke type optie aanwezig is, een<br />

andere die aangeeft hoeveel bytes de opties beslaan, en als laatste de bytes die de opties<br />

aangeven.<br />

Mogelijk opties:<br />

End of Option List:<br />

Option kind = 0<br />

Option length = 1<br />

Option Data = N/A<br />

Deze optie markeert het einde van alle opties in de TCP header<br />

No-Operation:<br />

Option kind = 1<br />

Option length = 1<br />

Option Data = N/A<br />

Deze optie mag gebruikt worden tussen meerdere opties, om bijvoorbeeld de opties op 32<br />

bits te uitlijnen.<br />

Maximum Receive Segment Size Optie:<br />

Option kind = 2<br />

Option Length = 4<br />

Option Data = Maximum Receive Segment Size<br />

Als deze optie aanwezig is, wordt er onderhandeld over de maximum segment grootte, in<br />

bytes, welke de zender van deze optie wil ontvangen over de momenteel opgebouwde TCP<br />

connectie. Deze optie wordt alleen tijdens de initialisatie/opbouw van de connectie verstuurd<br />

(dus zoals later wordt uitgelegd in een SYN-segment). Als tijdens de opbouw van de<br />

verbinding deze optie niet wordt meegegeven, dan neemt de ontvanger aan dat een<br />

segment elk willekeurige grootte mag hebben.<br />

Window Scale Option:<br />

Option kind = 3<br />

Option Length = 3<br />

Option Data = Amount by which to scale the received window<br />

De waarde van de variabele 'shift' geeft het aantal bits aan welke de ontvanger bij zijn<br />

zendwindow moet rechts- bijtellen, om het te laten passen in de 16 bits TCP header. De<br />

waarde mag ook nul zijn (zodoende kan een schalings waarde van 1 op de grootte van de<br />

zend window verkregen worden). Zowel de zendende als de ontvangende TCP moeten de<br />

window scale optie uitwisselen, omdat de schaling van de grootte van de zend window in<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 50


Hoe werkt internet ?<br />

elke richting anders kan zijn. Zie later in dit verslag meer over de zend- en ontvang window.<br />

Deze optie moet worden uitgwisseld gedurende de opbouw van de verbinding.<br />

SACK-Permitted Option:<br />

Option kind = 4<br />

Option Length = 2<br />

Met deze optie kan worden aangegeven dat de zender selectieve acks kan accepteren van<br />

de ontvanger. Deze optie moet tijdens de opbouw van de verbinding onderhandeld worden<br />

tussen de twee TCP's.<br />

SACK Option:<br />

Option kind = 5<br />

Option length = variable<br />

Option data = list of blocks of received data<br />

De selectieve bevestiging (SACK) optie wordt gebruikt voor bevestiging van informatie over<br />

een actieve connectie. Het wordt door de ontvanger gebruikt om de zender aan te geven<br />

welke datablokken is ontvangen en gequeued voor verzending. De ontvanger wacht hierbij<br />

nog steeds op ontvangst van data om zo gaten te vullen tussen de ontvangen blokken. Later<br />

in dit verslag wordt beschreven hoe de ontvangstbevestiging bij TCP wordt toegepast.<br />

TCP Echo Option:<br />

Option kind = 6<br />

Option Length = 6<br />

Option data = 4 bytes of data to be echoed back<br />

Om gebruik van de TCP opties te maken, moet het eerste optie met het SYN-segment<br />

worden meeverstuurd welke de verbinding opzet. Een TCP echo verzoek mag alleen<br />

verstuurd worden als er een was ontvangen tijdens de opbouw van de verbinding, dus met<br />

een SYN-segment. Deze optie kan gebruikt worden om bijvoorbeeld de round-trip-time te<br />

meten, dan zal de vier bytes welke worden verstuurd de tijd aangeven op het moment dat<br />

het data-segment werd verstuurd.<br />

TCP Echo Reply Option :<br />

Option kind = 7<br />

Option Length = 6<br />

Option data = four bytes of data echoed back<br />

Een TCP welke een ECHO optie ontvangt zal antwoordden met een ECHO reply optie in het<br />

volgende eerstvolgende segment (bijv. het ACK segment). Als er meerdere echo verzoeken<br />

staan, zal de TCP de meest recentste segment met de oudste sequentie nummer kiezen om<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 51


Hoe werkt internet ?<br />

te antwoordden.<br />

TCP Connectie opbouw<br />

Beschrijving van figuur 2.6<br />

De sequentie nummers worden<br />

willekeurig gekozen, afhankelijk van de<br />

waarde van de ISN (Initiële Sequentie<br />

Nummer). Zoals in figuur 2.6 wordt<br />

geïllustreerd, wordt tijdens de opbouw<br />

van de verbinding een ISN (Initiële<br />

Sequentie Nummer) onderhandeld. Zo<br />

geeft TCP A aan dat zijn ISN=100 is in<br />

zijn SYN-segment. TCP B ontvangt het<br />

SYN-segment van TCP A, en verstuurd een SYN-RECVD-segment met zijn ISN=200 samen<br />

met een bevestiging van het SYN-segment (ACK=101). Dus hiermee geeft TCP B aan dat<br />

het eerst volgende pakketnummer welke hij verwacht van TCP A dus 101 is. Zie later meer<br />

over de initiele sequence nummering.<br />

Ook zien we dat een TCP connectie zich in een bepaalde state kan bevinden. Zo staat<br />

tijdens de opbouw van de verbinding TCP A in de state CLOSED en staat TCP B in de state<br />

LISTEN. De verschillende TCP toestanden hangen af van de applicaties die op deze hosts<br />

draaien, zo heeft een server applicatie andere toestanden dan een cliënt applicatie. In figuur<br />

2.6 is duidelijk te zien dat TCP a de cliënt is, en dat TCP B de server applicatie is.<br />

Aangezien een TCP verbinding een full-duplex verbinding is, kan het dus ook voorkomen dat<br />

TCP A en TCP B tegelijkertijd een connectie met elkaar proberen te openen. Deze situatie is<br />

beschreven in figuur 2.7.<br />

Zoals in figuur 2.7 is te zien, openen<br />

beidde TCP's tegelijkertijd een<br />

connectie. Als deze situatie optreedt<br />

moet door TCP gezorgd worden dat<br />

er alleen één TCP connectie tot stand<br />

komt, en geen twee. Door de<br />

mogelijkheid van TCP om bij twee<br />

simultane connectie-opbouw<br />

verzoeken er alleen een te maken,<br />

onderscheid TCP zich duidelijk met<br />

andere connectie georiënteerde<br />

protocollen die dus gewoon twee<br />

verbindingen zouden hebben opgezet.<br />

Beschrijving van figuur 2.7:<br />

TCP A en TCB B zitten beidden in de CLOSED state. In stap 2 wordt door TCP A een SYNsegment<br />

verstuurd naar TCB B, en terwijl deze nog onderweg is wordt in stap 3 door TCP B<br />

een SYN-segment verstuurd naar TCP A. Het segment van TCP B komt aan bij TCP A en<br />

deze gaat van de SYN-SENT state naar de SYN-RECVD state. In stap 4 gebeurt hetzelfde<br />

bij TCP B, deze ontvangt de SYN-segment van TCP A en gaat van SYN-SENT state naar<br />

SYN-RECVD state. In stap 5 verstuurt TCP A een bevestiging van het SYN-segment naar<br />

TCP B terwijl de bevestiging van TCP A nog onderweg is, wordt door TCP B ook een<br />

bevestiging van het SYN-segment verstuurd naar TCP A. In stap 6 krijgt TCP A de<br />

bevestiging van TCP B binnen en gaat naar de ESTABLISHED stat. In stap 7 komt even<br />

later de bevestiging van TCP A binnen, en gaat deze ook naar de ESTABLISHED state.<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 52


Hoe werkt internet ?<br />

Het detecteren van een oude dubbele connectie-opbouw<br />

Beschrijving van figuur 2.8:<br />

Het voordeel van de 3-wegs<br />

handshaking van TCP is dat heel<br />

gemakkelijk oude SYN-segmenten<br />

kunnen worden gedetecteerd. Figuur<br />

2.8 illustreert hoe een oude SYNsegment<br />

wordt opgevangen door TCP.<br />

In lijn 2 wordt een goedde SYNsegment<br />

verstuurd, maar deze wordt<br />

vertraagd waarbij intussen dan een<br />

oudde SYN-segment, van een vorige<br />

sessie, bij TCB B aankomt (lijn 3). Als<br />

de ACK voor het oude SYN-segment<br />

terugkomt in lijn 4 reageert TCP A met een RST (RESET) segment (lijn 5). Als het RSTsegment<br />

aankomt bij TCP B terwijl TCP B in een ongeschynchronieerde toestand bevindt (<br />

SYN-SENT of SYN-RECVD), zal TCP B terug vallen naar de passieve OPEN of actieve<br />

OPEN state. Het is dus van belang dat TCP bijhoudt of het in actieve OPEN state of<br />

passieve OPEN state bevond. TCP gaat dan terug naar de LISTEN toestand. Nu komt de<br />

originele SYN-segment aan bij TCP B welke wel aan de eisen van de huidige connectie<br />

voldoet (lijn 6), nu wordt dus weer een gewone connectie opgebouwd zoals altijd.<br />

Half open connectie detectie<br />

Beschrijving van Figuur 2.9:<br />

Het kan ook voorkomen dat tijdens een<br />

verbinding een van de machines crashed.<br />

Figuur 2.9 laat dan zien hoe deze situatie<br />

wordt opgelost. In lijn 1 is te zien dat TCP<br />

A crashed tijdens een verbinding die al<br />

opgezet was. Nu gaat TCP A weer<br />

trachtten om een verbinding op te zetten,<br />

terwijl TCP B denkt dat de connectie nog<br />

steeds bestaat omdat het geen FINsegment<br />

heeft ontvangen. TCP A<br />

verstuurt een SYN-segment met nummer 400 naar TCP B, als deze aankomt bij TCP B dan<br />

weet deze geen raad met het segment maar bewaart deze wel. TCP B verwacht een pakket<br />

met nummer 300, en maakt dit kenbaar door een segment te versturen dat hij op<br />

ontvangstnummer nummer 101 zit te wachten, en dat het alle pakketten van voorheen goed<br />

heeft ontvangen. In regel 4 verwacht TCP A een ACK op zijn SYN-segment, maar krijgt nu<br />

een pakket met een totaal andere nummer, TCP A verstuurt dan in regel 5 een RST(reset)-<br />

segment om TCP B te resetten. TCP B ontvangt het RST-segment en verbreekt zijn<br />

verbinding. Nu haalt TCP B weer het oude ontvangen segment op, en stuurt hier een<br />

response op, dus een SYN-segment naar TCP A. Dit gebeurt dus in lijn 7. Hierna wordt dus<br />

weer een normale connectie opgebouwd.<br />

Connecties worden over het algemeen gereset als er data binnenkomt welke niet voor de<br />

huidige connectie is bedoeld. Als het niet zeker is of de data bedoeld is voor de huidige<br />

connectie, worden de volgende regels gevolgd om te bepalen of er een RST-segment moet<br />

worden verstuurd of niet.<br />

1. Als de connectie niet bestaat (bv. CLOSED is), dan wordt een reset verstuurd op<br />

response van een inkomend segment , tenzij het een RST-segment betreft. Als het<br />

inkomende segment een ACK bevat, wordt het reset segment zo opgebouwd dat het, het<br />

pakketnummer van het ACK segment bevat. In alle andere gevallen wordt een reset<br />

segment verstuurd met pakketnummer 0, en de ACK-veld wordt gezet op de som van de<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 53


Hoe werkt internet ?<br />

pakketnummer en de lengte van het segment welke het probleem in eerste instantie<br />

veroorzaakte. De connectie blijft gesloten.<br />

2. Als de connectie zich in een niet gesynchroniseerde toestand bevindt (bv. LISTEN, SYN-<br />

SENT, of SYN- RECVD) , en het inkomende segment bevestigt iets dat nog niet is<br />

verstuurd, of als het inkomende segment andere niet correcte attributen bevat (bv. goede<br />

security of precedence indicators) dan moet dus ook een reset verstuurd worden. De<br />

pakketnummer en het ACK veld worden gegenereerd zoals in 1. staat vermeld.<br />

3. Als de connectie zich in een gesynchroniseerde toestand bevindt (bv. ESTABLISHED)<br />

dan wordt elke niet accepteerbare segment (bv. foutieve pakketnummers, e.d.) opnieuw<br />

verstuurd in een ACK segment welke geen data bevat . Dit segment moet dan het<br />

huidige pakketnummer en een bevestigings nummer hebben welke nog ontvangen moet<br />

worden.<br />

Meer details kan gevonden worden in RFC 793 en RFC 1122. Zie de Literatuur verwijzing in<br />

de bijlagen van dit verslag.<br />

Keuze van het Initiële Sequentie-nummer<br />

Voor het hergebruik van sockets (poort nummer, en adres) zijn vrijwel geen restricties<br />

gedefinieerd. Nieuwe incarnaties van een oude socket kunnen problemen opleveren als de<br />

nieuwe incarnatie van de socket dezelfde sequentie nummers gaat gebruiken die net<br />

voorheen in een eerdere connectie werd gebruikt. Het is noodzakelijk om connecties te<br />

kunnen hergebruiken, anders zouden de vrije sockets langzaam opraken, voornamelijk als<br />

een host is gecrasht.<br />

Het ISN (Initiële Sequentie Nummer) heeft een grote maar doch een eindige waarde. De ISN<br />

kan waarden aannemen tussen 0 en 232-1. In het huidige ontwerp van de TCP/IP-protocol<br />

specificatie , wordt aangenomen dat een initiële sequentie nummer generator tikt met een<br />

snelheid van ongeveer één tick per vier microseconde. Het initiele sequentie nummer begint<br />

elke 4.55 uur weer opnieuw met zijn tel cyclus. Hierbij wordt aangenomen dat een segment<br />

niet zo lang in het netwerk aanwezig is, zodat tegen de tijd dat de ISN zijn nieuwe cyclus<br />

begint, elke vorige segment welke dezelfde ISN nummer gebruikt al lang weg is van het<br />

netwerk. Deze aanname wordt helaas moeilijker als men gaat werken met high speed<br />

netwerken, waarbij dus de cyclus tijd van het ISN veel kleiner is. Hier wordt apart aandacht<br />

aan geschonken in een van de paragrafen over hoge snelheid netwerken. Ondanks een<br />

goede voorzorgsmaatregel voor ontwerp van het protocol, kan als een host crasht deze alle<br />

informatie kwijtraken over zijn vorige verbindingen en hoe lang het down is geweest. Voor<br />

deze gevallen, is het noodzakelijk voor het TCP protocol dat een host welke down is geweest<br />

geen nieuwe connecties accepteert of erop reageert, gedurende de MSL (Maximum<br />

Segment Lifetime) tijd welke volgens de TCP specificaties 2 minuten bedraagt. Deze tijd<br />

wordt ook wel de quiet time genoemd. Gedurende deze tijd mag de host geen verbindingen<br />

opzetten of accepteren. Een alternatief op de quiet time is om segmenten een soort van een<br />

tijd stempel (time-stamp) te geven. Met de tijd stempel kan nagegaan worden hoe vers de<br />

segmenten zijn. Meer hierover wordt verderop in dit hoofdstuk behandeld.<br />

Normale connectie verbreking<br />

Beschrijving van Figuur 2.10:<br />

Omdat TCP full-duplex communicatie<br />

toelaat, is het zo, dat als één kant de<br />

verbinding verbreekt dat niet wil zeggen<br />

dat dan automatisch de andere kant ook<br />

klaar is met het versturen van data. De<br />

TCP CLOSE operatie betekent dus meer<br />

'Ik heb geen data meer te versturen' dan<br />

'Ik wil geen data meer ontvangen'. Dit<br />

betekent dus dat als de ontvangende<br />

TCP de connectie moet blijven open houden totdat hij alle data binnen heeft en van de<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 54


Hoe werkt internet ?<br />

zendende TCP de melding krijgt dat de verbinding verbroken mag worden. Ook al is het<br />

proces aan de ontvangende TCP klaar en heeft aan de operating systeem doorgegeven dat<br />

het klaar is met versturen van data, moet de verbinding open blijven totdat de zendende TCP<br />

ook klaar is met het versturen van data.<br />

Er zijn drie manieren waarop een verbinding gesloten kan worden:<br />

1. De lokale TCP voert een close uit als response op de applicatie.<br />

2. De remote TCP doet een close (segment waarbij het FIN control veld '1' is)<br />

3. Beide TCP's sluiten tegelijkertijd (Simultane close)<br />

In figuur 2.10 wordt in stap 2 door TCP A een FIN-segment verstuurd naar TCP B . Hiermee<br />

geeft TCP A dat het klaar is met het versturen van data. TCP A gaat dan naar het FIN-WAIT<br />

toestand, en wacht op bevestiging van zijn FIN-segment of op een FIN-segment van TCP B.<br />

In lijn 3 krijgt TCP A een bevestiging van TCP B van zijn FIN-segment en gaat nu in de<br />

TIMEWAIT toestand, en wacht op een FIN van TCP B. In lijn 4 ontvangt TCP A een FINsegment<br />

van TCP B, in lijn 5 verstuurt TCP A dan een bevestiging van het FIN-segment van<br />

TCP B. TCP B gaat naar de CLOSED toestand zodra het de bevestiging van TCP A heeft<br />

ontvangen, dus in lijn 5. In lijn 5 wacht<br />

TCP A een tijd van 2 x de MSL<br />

(Maximum Segment Lifetime) voordat<br />

het de verbinding daadwerkelijk<br />

verbreekt. Deze manier van connectie<br />

verbreking gebeurt dus op manier 1<br />

zoals hierboven vermeld. Voor manier<br />

2 geldt hetzelfde als manier 1 maar<br />

dan zijn de rollen van TCP A en TCP<br />

B verwisseld.<br />

Manier 3, de simultane connectie<br />

verbreking, wordt getoond in figuur<br />

2.11.<br />

Window Management<br />

Om de doorvoer van segmenten te<br />

controleren, gebruikt TCP een window<br />

om bij te houden hoeveel en welke bytes<br />

er door een TCP connectie verstuurd<br />

wordt. De window grootte wordt<br />

aangegeven in elke TCP header. De<br />

ontvanger van een pakket geeft aan in<br />

de TCP header van een bevestigings<br />

pakket hoeveel bytes verstuurd mag<br />

worden en ook, gebaseerd op de waarde<br />

van de bevestiging veld in de TCP<br />

header, welke byte sequentie nummer<br />

verstuurd mag worden. De ontvangende<br />

TCP mag de window grootte aanpassen om zo de hoeveelheid data te vergroten of<br />

verkleinen die het zou willen ontvangen als het bevestigingen stuurt van vorige ontvangen<br />

data pakketten. In normale omstandigheden wordt tijdens de opbouw van een verbinding ook<br />

de window grootte onderhandeld, en kan al naar gelang worden veranderd als er behoefte<br />

naar is. Als de window grootte zo wordt verkleind dat het permissies terug neemt van<br />

pakketten welke al waren toegekend om data te versturen, wordt dit gezien als een error.<br />

In figuur 2.12 staat aangegeven hoe een zend window eruit ziet, als de bron TCP een zend<br />

window heeft van 3 bytes data. In het begin is de zend window 3 bytes lang, en zoals figuur<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 55


Hoe werkt internet ?<br />

2.12 laat zien is er nog geen data verstuurd. Figuur 2.13 laat nu zien hoe de window eruit<br />

ziet nadat er 2 bytes data is verzonden door de window.<br />

Zoals in figuur 2.13 is te zien, zien we dat er<br />

nog geen ontvangst bevestiging is van de<br />

twee verzonden pakketten, daarom blijft het<br />

begin van de window staan op pakket 0. We<br />

zien dat er nu alleen nog pakket 3 verstuurd<br />

mag worden, dit geeft tevens onze maximale<br />

aantal pakketten welke verstuurd mogen<br />

worden aan, dus 1.<br />

In figuur 2.14 is nu te zien hoe de zend<br />

window eruit ziet als een bevestiging van de<br />

twee verstuurde pakketten is ontvangen.<br />

We zien in figuur 2.14 dat als de verzonden<br />

bytes worden bevestigd de linker kant van de window 2 opschuift. Aangezien de zend<br />

window hier drie bedraagt schuift de rechterkant van de window ook mee, dus twee naar<br />

rechts.<br />

In de vorige figuren is duidelijk geworden hoe de zend window wordt gebruikt om pakketten<br />

te kunnen bijhouden welke al verstuurd<br />

zijn, en wat de maximale uitstaande<br />

pakketten mogen zijn. De zend window<br />

mag ook op nul gezet worden als er<br />

bijvoorbeeld geen pakketten meer<br />

verstuurd mogen worden. Als dit het geval<br />

is, mag de zendende TCP toch kleine<br />

data segmentjes versturen naar de<br />

ontvangende TCP om te kunnen<br />

achterhalen of de host niet gecrasht is. Dit<br />

wordt in vaktermen ook wel het 'proben<br />

van een window' genoemd op bepaalde<br />

tijdstippen.<br />

Hertransmissie Timeouts<br />

Als een segment verloren gaat in het netwerk, wordt gebruik gemaakt van timeouts aan de<br />

zender kant om zo de verloren segmenten op te vangen. De zender start een timer als het<br />

een segment verstuurd, als niet binnen de timer tijd een ACK op de verzonden segment<br />

wordt ontvangen, zal het de betreffende segment opnieuw gaan versturen. De keuze van de<br />

timeout teller is een hele delicate kwestie, omdat als deze niet goed is afgesteld zal onnodig<br />

bandbreedte van het netwerk worden gebruikt voor nutteloze hertransmissies van<br />

segmenten. Als de timeout te lang is, zal de effectiviteit van de datatransmissie snelheid<br />

afnemen omdat door herstelling van verloren data te traag zal gebeuren. Omdat vertragingen<br />

in een store-and-forward netwerk erg varieert, is het een zware uitdaging om een optimale<br />

timeout waarde te vinden.<br />

Er zijn voor TCP twee belangrijke optimalisaties ontwikkeld door Van Jacobsen, Philip Karn,<br />

en Craig Partridge. De oorspronkelijke round trip time schatting werkte alleen onder<br />

omstandigheden waarbij de round-trip tijd niet erg varieerde. Dus dat betekende dat de<br />

oorspronkelijke algoritmes herschreven moesten worden, omdat de oorspronkelijke<br />

algoritmes niet in alle omstandigheden correct werkten. Bijvoorbeeld in een lage snelheid<br />

netwerk kan de round trip tijd van pakketten erg varieren afhankelijk van de grootte van de<br />

pakketten, welke dus problemen geeft als de originele algoritmes gebruikt zouden worden.<br />

Een goedde berekening van de round-trip tijd zal hertransmissies tot een minimum<br />

beperken, zodat optimaal van de beschikbare bandbreedte gebruik kan worden gemaakt.<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 56


Hoe werkt internet ?<br />

Karn specificeert welke gemeten round-trip tijden gebruikt zouden moeten worden in de<br />

algoritme voor het berekenen van de round-trip tijd. Van Jacobsen recommandeert een<br />

methode om de geschatte round-trip tijden te verfijnen, welke uitgaat van de gemeten<br />

variantie van de round-trip tijd.<br />

Voor verdere studie over de schatting van de round trip tijd, kan men de bijbehorende RFC’s<br />

doorlezen. Dit zijn de RFC’s 1072, 1185.<br />

Netwerken met lange vertragingen<br />

Zoals eerder is geconstateerd is een combinatie van bandbreedte en round-trip tijden<br />

bepalend voor de efficientie van de gebruikte netwerkverbinding. Het produkt van de<br />

snelheid van het netwerk met de round-trip tijd wordt ook wel ‘delay bandwidth product’<br />

genoemd. Als dit produkt groter is dan toegestane windowgrootte zal de throughput er onder<br />

gaan lijden terwijl de zender het versturen van paketten uitstelt totdat de bevestigingen van<br />

de verstuurde data. Als de ‘delay bandwidth product’ groter is dan de maximale grootte van<br />

de window, is er geen enkele mogelijkheid om dit probleem te verhelpen.<br />

Een tweede probleem die zich voordoet in long-delay netwerken, is de cummulatieve<br />

werking van de bevestigings algoritme welke gebruikt wordt in TCP. Als een segment<br />

verloren gaat, zullen de segmenten die daarna komen en goed overkomen, niet bevestigd<br />

kunnen worden, totdat het verloren segment wordt bevestigd.<br />

Zo kan dus door 1 segment, welke is verloren gegaan, de daarop volgende segmenten niet<br />

geaccepteerd worden door de ontvangende TCP, totdat er een hertransmissie heeft plaats<br />

gevonden van het verloren segment. Dit betekent dus dat onnodig de andere segmenten ook<br />

opnieuw verstuurd zouden moeten worden, die eige<strong>nl</strong>ijk goed waren aangekomen.<br />

Voorbeeld:<br />

Er wordt een segment met nummer 1 verstuurd. Dit segment gaat verloren. De zendende<br />

TCP gaat door met het versturen van segmenten. Deze segmenten komen goed aan bij de<br />

ontvangende TCP, maar deze zit te wachten op een segment met nummer 1. Dus de<br />

ontvangende TCP negeert alle andere segmenten totdat het segment 1 krijgt, en gaat dan<br />

pas weer andere segmenten accepteren.<br />

Uit het bovenstaande voorbeeld kan dus worden geconcludeerd dat het misschien beter is<br />

om een selectieve bevestiging algoritme te gebruiken. Hierbij kan dus aangegeven worden<br />

welk segment niet is aangekomen en of alleen dat segment opnieuw verstuurd kan worden.<br />

en derde nadeel van long-delay netwerken is dat de round-trip tijd continu gemeten moet<br />

worden, om zo veranderingen in de round-trip tijd te kunnen opvangen. Als dit niet gedaan<br />

wordt kan dit leiden tot congestie van het netwerk of inefficiënt gebruik van de<br />

netwerkcapaciteit. Omdat het berekenen van de round-trip tijd erg tijd consumerend is, wordt<br />

bij sommige TCP implementaties alleen de round-trip tijd van 1 segment per window<br />

opgemeten.<br />

Voor een netwerk welke gebruik maakt van kleine windows is deze algoritme goed te<br />

gebruiken, maar voor long-delay netwerken met grote window grootte is deze algoritme niet<br />

goed genoeg. Een oplossing voor dit soort netwerken is ontwikkeld door Jacobsen en<br />

Braden. Jacobsen en Braden stellen voor om, de ingestelde window grootte flexibel te<br />

kunnen wijzigen, gebruik te maken van een selectieve bevestigings algoritme en gebruik te<br />

maken van TCP echo optie om de round-trip tijd te berekenen.<br />

De window Schalings optie, vergroot de effectieve window grootte met 2S waar S de window<br />

schalings factor is. In de huidige specificaties is S kleiner dan of gelijk aan 14, dus een<br />

effectieve window grootte levert tot aan 230, oftewel 1 gigabyte. Om de ontvanger het<br />

mogelijk te maken om de zender te laten weten dat data niet in volgorde binnenkomt, wordt<br />

een selectieve bevestiging algoritme gebruikt.<br />

Omdat een selectieve bevestigings algoritme nog niet is gestandaardiseerd, zal dus TCP’s<br />

met de originele bevestigings algoritme ondersteund moeten blijven. Dit zal dus goed gaan,<br />

maar zal nooit zo effectief werken als gebruik wordt gemaakt van de selectieve bevestigings<br />

algoritme.<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 57


Hoe werkt internet ?<br />

Hogesnelheids netwerken<br />

Gigabit netwerken beginnen nu op de markt te verschijnen. TCP door zijn begrensde window<br />

grootte (65536 bytes max.) , kan van deze hogesnelheids netwerken geen optimaal gebruik<br />

maken van de transmissie capaciteit, als de vertraging voor bevestiging groter is dan de tijd<br />

om een volledig maximum grootte window te versturen.<br />

Van Jacobsen, Braden en Zhang beschrijven methoden om deze limieten te overwinnen.<br />

Hoge snelheidsnetwerken hebben nog een extra uitdaging en dat is dat de sequentie<br />

nummering sneller verloopt dan in de andere netwerken waar TCP/IP in eerste instantie voor<br />

bedoeld was. Als dit gebeurt bestaat een grote kans dat oude duplikaten pakketten als<br />

huidige pakketten worden gezien, en worden geaccepteerd, waardoor TCP helemaal de mist<br />

in loopt en zijn oorspronkelijke functie, het leveren van een 100% betrouwbare<br />

gegevensoverdracht, niet meer waar kan maken.<br />

Duplicaten van sequentie nummers kan voorkomen, als de sequentie nummers hergebruikt<br />

worden in de huidige connectie voordat alle vorige pakketten, welke die sequentie nummers<br />

gebruiken, worden afgeleverd of omdat een oude connectie pakketten heeft achter gelaten in<br />

het netwerk en een nieuwe connectie gestart wordt voordat de oude pakketten verdwenen<br />

zijn.<br />

De snelheidsverloop van de nummering sequentie is gedeeltelijk een functie van een<br />

netwerk om verkeer te accepteren en de permissie van de ontvanger om data te ontvangen.<br />

Als er geen limitaties worden gezet aan de snelheid van de nummerings tijd, beschrijft tabel<br />

1 de diverse tijden in netwerken dat de sequentie nummering afloopt en weer begint bij de<br />

beginwaarde.<br />

Zoals gezien kan worden in tabel 1, zien we dat bij snelheden sneller dan 45 Mbits/sec komt<br />

de wrap time (tijd om sequentie nummers te doorlopen) tegen de tijd van de MSL (Maximum<br />

Segment Lifetime = 120 seconden) tijd aan waardoor de TTL mechanisme de mist in zal<br />

lopen. Van Jacobsen, Zhang en Braden stellen voor om tijdstempels te gebruiken .<br />

Het idee is dat elk segment die aankomt welke een tijdstempel heeft die kleiner is dan de<br />

meest actuele geaccepteerde segment tijd stempel, weggegooid moet worden als een oudde<br />

duplikaat.<br />

Een ander probleem die zich ook voor kan doen is dat sequentie nummers verkeerd worden<br />

gebruikt na een crash van een systeem welke bezig was om segmenten te versturen. De<br />

standaard TCP specificatie zegt dat een zgn. quiet time gewacht moet worden voordat de<br />

gecrashte host weer een connectie kan proberen te maken.<br />

Dit wordt gespecificeerd als 2 keer de MSL (Maximum Segment Lifetime). Eenzelfde<br />

strategie wordt gebruikt voor het sluiten van verbinding om beidde zijden de mogelijkheid te<br />

geven om goed de connectie te kunnen afsluiten.<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 58


Hoe werkt internet ?<br />

IP Protocol<br />

Het Internet Protocol (IP) is ontworpen voor het gebruik in gekoppelde computer netwerken<br />

die gebruik maken van packet-switching (pakket georiënteerd) en dient ervoor om blokken<br />

data (datagrammen) te transporteren van het bronadres naar de bestemming.<br />

Het Internet Protocol heeft dus als hoofdtaak het routeren en fragmenteren van pakketten<br />

data door het netwerk op basis van IP bestemmings adressen en andere gegevens die<br />

beschreven staan in de IP header. Het is op zichzelf een niet goed betrouwbaar protocol wat<br />

betreft transmissie fouten en bufferoverflows, omdat er geen ACK’s (bevestigingen van<br />

ontvangst) worden gegeven, er geen error controle plaats vindt op de data (alleen op de<br />

header) en de data bij fouten dus niet herstuurd wordt.<br />

Vandaar dat IP bijna altijd samen met TCP wordt gebruikt, die weer wel de controle houdt<br />

op deze zaken. Het Internet Protocol is connectieloos en dus gebaseerd op het versturen<br />

van pakketjes data zonder onderlinge relatie en zonder volgorde (Datagram service).<br />

IP Header<br />

Elk datagram pakketje die door IP verstuurd wordt, wordt voorzien van een IP header die<br />

aan het begin van de data wordt “geplakt”. Deze header is opgebouwd uit verschillende<br />

velden en deze velden zien er als volgt uit.<br />

Binnen deze header zijn verschillende velden te onderscheiden die allemaal een<br />

verschillende functie hebben voor het gebruik en de verwerking van de IP datagrammen. In<br />

figuur 3.1 zijn de velden die licht zijn afgedrukt, de velden die door de bove<strong>nl</strong>iggende laag<br />

TCP (dat in hoofdstuk 2 al is behandeld) of door UDP (dat in hoofdstuk 4 wordt behandeld)<br />

worden meegegeven. De donker gekleurde velden worden door het Internet Protocol zelf<br />

van waarden voorzien als deze de header aan de data koppelt.<br />

IP header velden met IP waarden<br />

Version:<br />

Het version veld is een 4 bit veld die het internet formaat bevat (is op dit moment versie 4).<br />

Internet Header Length (IHL):<br />

Het IHL veld bestaat ook uit 4 bit en geeft de lengte van de header weer in een aantal van 32<br />

bit words. Hierdoor is ook gelijk bekend waar de data begint.<br />

Total length:<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 59


Hoe werkt internet ?<br />

Dit is een 16 bit veld die de lengte van de gehele datagram (header + data) beschrijft,<br />

gemeten in bytes. Het uiterste maximum is 65535 bytes maar de normaal gebruikte<br />

maximum lengte voor de hosts is 576 bytes.<br />

Flags:<br />

Het Flag veld bestaat uit 3 controle bits waarvan de eerste (bit 0) gereserveerd is voor<br />

toekomstig gebruik en dus nu nog waarde 0 moet bevatten. Bit 1 (DF flag) wordt gebruikt<br />

door de zender om aan te geven of de datagram gefragmenteerd mag worden. Als dit bit<br />

geset is dan mag er onderweg niet gefragmenteerd worden. Bit 2 (MF flag) wordt gebruikt bij<br />

fragmentatie en geeft aan, dat als hij geset is, er nog meer fragmenten volgen en als deze<br />

gereset is, dat het, het laatste fragment is.<br />

Fragment offset:<br />

Dit is een 13 bit veld en wordt gebruikt bij het fragmenteren om aan te geven waar voor<br />

welke plek in de datagram dit fragment bedoelt is. Bij het eerste fragment is de offset altijd 0<br />

en bij de andere fragmenten worden de offsets gemeten in units van 8 bytes.<br />

Header Checksum:<br />

Dit is een 16 bits veld die zorgt voor een controle op de compleetheid van de header. De<br />

header checksum is de som van alle 16 bits words in de header en verandert per punt van<br />

passeren en bij fragmentatie.<br />

Padding:<br />

Dit is een veld met een variabele lengte, die voor een stukje opvulling van de header zorgt,<br />

zodat deze eindigt op een 32 bit begrenzing.<br />

IP header velden met TCP/UDP waarden<br />

Type of Service:<br />

Dit 8 bit veld beschrijft de kwaliteit van de gewenste service waarbij elke bit een afzonderlijke<br />

instelling is. De invulling van deze bits kan als volgt.<br />

Bit 0 - 2 : Precedence.<br />

Bit 3 : 0 = Normal Delay, 1 = Low Delay.<br />

Bit 4 : 0 = Normal Throughput, 1 = High Throughput.<br />

Bit 5 : 0 = Normal Relibility, 1 = High Relibility.<br />

Bit 6 : Monetary Cost<br />

Bit 7 : Reserved for Future Use.<br />

Er kan maar 1 van de bits 3 - 6 geset zijn.<br />

- Precedence.<br />

111 - Network Control<br />

110 - Internetwork Control<br />

101 - CRITIC/ECP<br />

100 - Flash Override<br />

011 - Flash<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 60


Hoe werkt internet ?<br />

010 - Immediate<br />

001 - Priority<br />

000 - Routine<br />

Identification:<br />

Dit veld is 16 bits groot en dient ervoor om de fragmenten van een datagram een specifiek<br />

nummer te geven zodat bij het reassembleren de verschillende fragmenten bij de juiste<br />

datagram worden gevoegd.<br />

Time to Live:<br />

Dit 8 bit veld geeft de maximale tijd aan waarin de datagram zich op het internet mag<br />

bevinden voordat deze wordt verwijderd. De tijd die dit veld bevat wordt gemeten in<br />

seconden en wordt bij ieder punt van passeren bijgewerkt. Als de tijd nul wordt, wordt de<br />

datagram vernietigd en zo wordt dus voorkomen dat deze blijft rondspoken als er een error<br />

optreed.<br />

Protocol:<br />

Dit 8 bit veld geeft het hogere level protocol aan die verwerkt zit in de data van de datagram<br />

(zie RFC 1700 voor de Assigned internet protocol numbers).<br />

Source Adres:<br />

Dit is het 32 bit bron adres, dus van welke IP adres het bericht verstuurd is.<br />

Destination Adres:<br />

Dit is het 32 bit bestemming adres, dus het IP adres waar het bericht naar verstuurd moet<br />

worden.<br />

Options:<br />

Voor uitleg over de options velden zie hoofdstuk 2 over TCP.<br />

Adresseren en Routeren<br />

Het routeren en adresseren van de pakketten gebeurt door middel van de adressen die<br />

worden meegegeven door de bove<strong>nl</strong>iggende laag (TCP of UDP). En, omdat iedere<br />

aansluiting in een IP netwerk een uniek IP adres bevat die nergens ter wereld hetzelfde mag<br />

zijn, komt het pakket altijd bij de juiste bestemming.<br />

Deze adressen die gebruikt worden als bron -of bestemmingsadres bestaan uit 4 bytes en<br />

bestaan uit een netwerknummer gevolgd door een lokaal adres. Het routeren gebeurt<br />

doormiddel van een routerings tabel die door elke host wordt bijgehouden en waarmee de<br />

pakketten via de verschillende routers verstuurd kunnen worden.<br />

Er zijn drie soorten van adres classes te onderscheiden ingedeeld aan de hand van de grote<br />

van het netwerk. Dit zijn:<br />

Class A :<br />

eerste bit = 0 + 7 bits = netwerk id. + 24 bits = host id.<br />

Class B :<br />

eerste 2 bit = 10 + 14 bits = netwerk id. + 16 bits = host id.<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 61


Hoe werkt internet ?<br />

Class C :<br />

eerste 3 bit = 110 + 21 bits = netwerk id + 8 bits = hostid.<br />

Hierbij gaat het er dus om of er een adres gewenst is met een klein aantal netwerken en een<br />

groot aantal hosts, of een gemiddeld aantal netwerken en hosts, of een groot aantal<br />

netwerken met een klein aantal hosts.<br />

Aan dit adres is dan ook door de source gelijk te zien of de bestemming binnen het lokale<br />

netwerk ligt of dat deze doorgestuurd moet worden naar een router om vandaar uit verder te<br />

worden verstuurd.<br />

Fragmentatie<br />

Als een datagram te groot is voor het netwerk dat hij moet passeren, dan wordt deze<br />

gesplitst in fragmenten. ,Door dit splitsen, moet de IP header die bij de datagram hoort<br />

geheel of gedeeltelijk in de fragmenten worden gekopieerd. Hierbij kunnen een aantal velden<br />

veranderen, zoals:<br />

Options field, deze bevat gedeeltes die weggelaten mogen worden bij fragmenteren. More<br />

fragments flag, wordt geset als er meer fragmenten ontstaan. Fragment offset, is per<br />

fragment verschillend. Internet header length field en Total length field, door verschil in opties<br />

kunnen ook deze lengtes veranderen. Header checksum, verandert bij elke verandering van<br />

de header.<br />

Om te kunnen fragmenteren moeten de volgende velden rechtstreeks gekopieerd worden in<br />

de fragmenten: Identification, omdat dit een uniek datagram nummer is en bij reassembly<br />

moet kunnen zien welke fragmenten bij elkaar horen. Source en Destination adres en<br />

Protocol velden, elk fragment moet natuurlijk naar hetzelfde adres met het zelfde<br />

bove<strong>nl</strong>iggende protocol.<br />

Andere velden in de header worden ook mee gekopieerd maar zijn niet van belang voor het<br />

goed fragmenteren. Zie de bijlage voor een voorbeeld van fragmentatie en nog een bijlage<br />

voor een blokschema van de handelingen nodig voor fragmentatie.<br />

Reassembly<br />

Als de fragmenten bij het bestemmings adres aankomen moeten deze weer ge-<br />

“reassembled” worden naar een datagram. Aangezien de fragmenten verschillende routes<br />

kunnen volgen en door een error vernietigd kunnen worden, kunnen de fragmenten in<br />

verschillende volgorde<br />

aankomen en kunnen ook<br />

nog fragmenten van<br />

verschillende datagrammen<br />

door elkaar aankomen.<br />

Daarom worden de<br />

verschillende fragmenten<br />

eerst in een buffer<br />

geplaatst en pas als alle<br />

fragmenten van een<br />

datagram ontvangen zijn,<br />

wordt hier weer een geheel<br />

datagram van gemaakt. In<br />

figuur 3.2 is een voorbeeld<br />

te zien van een buffer<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 62


Hoe werkt internet ?<br />

waarin drie IP datagrammen worden gereassembled.<br />

Als de fragmenten<br />

binnenkomen worden ze<br />

gecontroleerd op hun IP<br />

identificatie (ip_id) en<br />

aan de hand daarvan<br />

naar de juiste<br />

reassembly buffer<br />

toegestuurd. Hierin<br />

worden de fragmenten<br />

met behulp van hun<br />

fragment offset geplaatst op de juiste plek in de datagrambuffer.<br />

Als de fragmenten binnen komen dan kan dat op verschillende manieren. Dit kunnen<br />

namelijk de eerst gestuurde fragmenten zijn maar ook fragmenten die na een error voor de<br />

tweede keer gestuurd zijn.<br />

Hierdoor kunnen fragmenten elkaar gedeeltelijk of geheel overlappen. Figuur 3.3 is een<br />

voorbeeld van hoe de verschillende fragmenten binnen komen en hoe ze elkaar gedeeltelijk<br />

of geheel kunnen overlappen.<br />

De fragmenten zijn genummerd op hun tijd van binne nkomst in de buffer. Hierbij worden er<br />

bytes weggegooid van het deel van het fragment dat het achterstuk van een eerder fragment<br />

overlapt. (de voorkant van fragment 5 die het achterstuk van 1 overlapt) of wordt het hele<br />

fragment weggegooid als alle bytes al aanwezig zijn (fragment 6).<br />

Als een fragment het voorstuk van een eerder fragment overlapt wordt het voorstuk van dat<br />

eerdere fragment verwijderd (fragment 2) of als het eerdere fragment geheel overlapt wordt<br />

dan wordt hij geheel verwijderd (fragment 3). Zie bijlage voor een blokschema van de<br />

handelingen die nodig zijn voor reassembly.<br />

Ethernet<br />

Ethernet is een veel gebruikte standaard voor local area netwerken (LAN) en werkt volgens<br />

het principe van CSMA/CD wat staat voor Carrier Sense, Multiple Access met Collision<br />

Detection. Dit betekent dat er meerdere aansluitingen op een lijn zitten en die door middel<br />

van een carrier kijken of de lijn vrij is voor zenden en mochten er toch twee tegelijk zenden<br />

dan is er nog de collision detection . Het ethernet werkt met een verbinding van 10 Mbit/sec<br />

en met adressen van 48 bit wat dus verschillend is met de IP adressen die 32 bit groot zijn.<br />

Ethernet Header<br />

Ook de data die over ethernet gestuurd wordt bevat data die voorzien is van een header. In<br />

figuur 6.1 is de opbouw te zien van de ethernet header die ook weer bestaat uit een aantal<br />

verschillende velden.<br />

De eerste twee velden bevatten een 6 bytes (48 bit) destination en source adres. Daarna<br />

volgt een 2 byte type veld dat aangeeft wat voor type data er volgt (voor IP data is het type<br />

veld 0x0800). Hierna volgt het data veld die op zijn minst 46 bytes moet bevatten en zo niet<br />

opgevuld moet worden met lege bytes. Het CRC (Cyclic Redundancy Check) veld dient<br />

ervoor om errors te detecteren in het complete frame.<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 63


Hoe werkt internet ?<br />

Adres omzetting<br />

Doordat Ethernet met 48 bit adressen werkt en IP met 32 bit adressen moet hiervoor tijdens<br />

het communiceren met elkaar een omzetting plaats vinden. Dit omzetten van de 32 bit IP<br />

adressen naar 48 bit ethernet adressen kan op 2 manieren gebeuren namelijk:<br />

Doormiddel van een statische lijst waarbij iedere host, een lijst bijhoudt van alle andere<br />

aangesloten hosts, met hun IP adres en ethernet adres, of doormiddel van het Address<br />

Resolution Protocol (ARP) wat verderop wordt uitgelegd. Dit laatste lijkt de beste oplossing in<br />

verband met een betere uitbreidbaarheid van het net.<br />

Werking van de ethernet driver<br />

In figuur 6.2 wordt een blokschema getoond van de ethernet device driver.<br />

Als er een frame verstuurd wordt naar de ethernet driver dan wordt er eerst een interupt<br />

ontvangen op leintr (zie schema). Daarna kijkt leintr naar de hardware of er een frame is<br />

ontvangen.<br />

En als er een frame ontvangen is roept hij leread op om de frame van de interface naar een<br />

ketting van mbufs (buffers) te transporteren waarbij argumenten worden meegegeven zoals<br />

van welke interface kaart de frame ontvangen is en het aantal bytes in de frame. Als de<br />

hardware een melding geeft dat de frame is ontvangen of dat er een error is geconstateerd<br />

dan worden de interface statistieken bijgewerkt en wordt de hardware gereset en wordt<br />

lestart aangeroepen die weer een ander frame probeert te transporteren.<br />

Alle ethernet drivers leveren hun ontvangen frames af bij ether_input voor verdere<br />

processen. Deze ether_input controleert of het een “broadcast adres” is en wat voor type<br />

data de frame bevat. Als het geen broadcast adres is dan wordt deze doorgegeven aan de<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 64


Hoe werkt internet ?<br />

queue die overeenkomt met het datatype. Via deze queue worden weer interrupts<br />

gegenereerd en verstuurd naar de data types.<br />

Als er een frame verstuurd moet worden vanaf de hogere lagen via de ethernet driver het net<br />

op, dan wordt if_output aangeroepen, waarna ether_output het hardware adres opzoekt, bij<br />

het meegegeven IP adres, via ARP.<br />

Het ARP protocol kijkt of de adressen in de cache voorkomt of dat er een broadcast moet<br />

worden verzonden.Hierna voorziet de ether_output de data van een ethernet header en<br />

stuurt deze door naar de ethernet send queue.<br />

In deze queue worden de frames gebufferd en weer opgehaald door lestart om te worden<br />

verzonden. Door middel van interrupts wordt aangegeven of de frames ontvangen zijn en dat<br />

de volgende frame verzonden kan worden.<br />

ARP / RARP<br />

Het probleem van IP adressen is dat het alleen werkt op<br />

het TCP/IP protocol omdat het een 32 bit adres is. Als het<br />

over een Ethernet link gestuurd moet worden, dat een 48<br />

bit adres heeft, dan moet er een omzetting plaats vinden<br />

tussen deze twee. Hiervoor dient dan het Address<br />

Resolution Protocol (ARP) (zie ook figuur 7.1) die een 32<br />

bit internet adres omzet naar een 48 bit ethernet adres<br />

(ook wel hardware adres genoemd). Het omgekeerde van ARP is RARP (Reverse Address<br />

Resolution Protocol).<br />

Omzetten van 32 bit naar 48 bit adres<br />

Het 32 bit IP adres wordt omgezet naar een 48 bit internet adres om te kunnen<br />

communiceren met andere computer netwerken die gebruik maken van 48 bit adressen. In<br />

figuur 7.2 wordt een voorbeeld gegeven<br />

van een FTP verbinding die wordt<br />

opgezet, en waarbij een omzetting plaats<br />

moet vinden tussen de verschillende<br />

adressen en die gebruikt maakt van<br />

ARP. Hierbij vinden de volgende<br />

stappen plaats:<br />

1. De FTP cliënt roept de functie op om<br />

de hostname om te zetten in een 32<br />

bit IP adres. Deze functie wordt de<br />

resolver genoemd in het Domain<br />

Name System.<br />

2. De FTP cliënt vraagt aan zijn TCP<br />

protocol om een verbinding te maken<br />

met het IP adres.<br />

3. TCP zendt een connectie request<br />

segment naar de remote host door<br />

een IP datagram te verzenden<br />

naarzijn IP adres.<br />

4. Als de bestemmings host zich op een<br />

lokaal netwerk bevindt (b.v. ethernet,<br />

token ring of het andere eind van een<br />

point to point verbinding) dan kan het<br />

IP datagram rechtstreeks verzonden<br />

worden naar de host. Maar als de bestemming zich op een remote netwerk bevindt dan<br />

wordt de IP datagram naar een lokale router gestuurd.<br />

5. Als er, zoals in de tekening, een ethernet gebruikt wordt, dan moet het 32 bit IP adres<br />

door ARP omgezet worden naar een 48 bit ethernet adres om van het logische internet<br />

adres een corresponderend hardware adres te maken.<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 65


Hoe werkt internet ?<br />

4. ARP wordt gebruikt om een netwerk af te scannen waar veel hosts of routers op aan<br />

zitten gesloten.<br />

5. ARP zendt een ARP request frame naar elke host op het netwerk (dit heet een<br />

broadcast). Deze broadcast wordt in de tekening aangegeven met een gestippelde lijn.<br />

De ARP request bevat het IP adres van de bestemming en een vraag aan de ontvangers<br />

met “als je de eigenaar van dit IP adres bent stuur dan een response met je hardware<br />

adres”.<br />

6. De ARP van de bestemmings host herkent het IP adres en bevestigd dit met een ARP<br />

reply die zijn IP adres bevat met het daarbij behorende hardware adres.<br />

7. De ARP reply is ontvangen en het IP datagram die de ARP request - reply in gang heeft<br />

gezet kan nu worden verzonden.<br />

8. De IP datagram wordt verzonden naar de bestemmings host.<br />

Voor een snellere werking van de omzetting van 32 bit naar 48 bit adressen, wordt er door<br />

de hosts een ARP Cache bijgehouden, zodat er niet steeds een broadcast gegeven hoeft te<br />

worden maar er eerst gekeken kan worden of het adres in de lijst van de cache voorkomt.<br />

Reverse Address Resolution Protocol<br />

Het Reverse Address Resolution Protocol (RARP) is het omgekeerde van ARP en zet dus<br />

een 48 bit adres om naar een 32 bit adres. Dit komt maar zelden voor omdat als een<br />

systeem wordt opgestart het IP adres van dat systeem wordt ingelezen van disk en het dus<br />

bij voorbaat al bekend is.<br />

Alleen als er een systeem gebruikt wordt zonder disk, zoals een X-terminal, dan is er een<br />

andere manier nodig om het IP adres aan te roepen. Hierbij wordt dan het hardware adres<br />

gelezen en zendt dan een RARP broadcast op het netwerk met de vraag of er iemand het IP<br />

adres van het systeem wil terug zenden.<br />

De toekomst van het Internet?<br />

Capaciteit<br />

Eén van de belangrijkste technologische problemen waarmee Internet nu reeds wordt<br />

geconfronteerd, is de capaciteit van het netwerk. Dit probleem is enerzijds te wijten aan de<br />

spectaculaire groei van het aantal gebruikers – die bovendien steeds snellere ( en dus<br />

capaciteitsverslindende) verbindingen gebruiken – en anderzijds aan het stijgend gebruik<br />

van multimediatoepassingen.<br />

Dit resulteert in ergerlijke opstoppingen en zenuwslopende wachttijden. De vergelijking met<br />

de autofiles is echt niet ver weg. De meest voor de hand liggende oplossing voor dit<br />

probleem is het gebruik van breedbandverbindingen, zoals coaxkabel en glasvezel.<br />

Grootschaligheid<br />

De grootschaligheid maakt Internet<br />

tegelijk aantrekkelijk en kwetsbaar,<br />

omdat het een interessant doelwit<br />

vormt voor computerkrakers. Reeds<br />

in 1988 liet een jonge Amerikaanse<br />

hacker een computervirus los op<br />

Internet. De elektronische ‘worm’<br />

richtte nogal wat schade aan in<br />

verschillende bestanden.<br />

De beveiligingsproblematiek is<br />

sindsdien een belangrijk<br />

agendapunt voor alle exploitanten<br />

van Internetnetwerken en zal dat in<br />

de toekomst ook blijven.<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 66


Hoe werkt internet ?<br />

Webwinkelen<br />

De commercialisering heeft logischerwijze geleid tot elektronische uitstalramen met<br />

informatie en afbeeldingen van producten die via het Internet kunnen worden besteld.<br />

Allemaal goed en wel, maar hoe zullen deze financiële transacties gebeuren? Gezien het<br />

grote marktpotentieel van Internet, is dit één van de hete hangijzers van de commerciële<br />

Internetgemeenschap:<br />

Kredietkaarten<br />

De meest eenvoudige manier van betalen op het Internet is door het nummer van je<br />

kredietkaart door te geven aan de verkoper. Deze vraagt autorisatie bij de<br />

kredietkaartmaatschappij.<br />

De maatschappij stort het geld bij de verkoper en int bij de koper. Maar dit systeem wordt<br />

niet echt als veilig ervaren. Hoewel daarvan nog maar weinig voorbeelden bekend zijn, kan<br />

het kredietkaartnummer in principe worden onderschept. Daarenboven kan de koper ook<br />

niet bewijzen dat hij daadwerkelijk betaald heeft omdat hij geen afschrift heeft van de<br />

betaling.<br />

SET<br />

Dit is de door VISA en Mastercard ontwikkelde variant van het kredietkaartmodel, wat zorgt<br />

voor de authentificatie, vertrouwelijkheid en integriteit. SET( secure electronic transactions) is<br />

specifiek ontwikkeld om de gegevens van de koper ( het kredietkaartnummer) vertrouwelijk<br />

te houden.<br />

Het gebruik van de kredietkaarten is echter niet geschikt voor kleine bedragen, hiervoor<br />

bestaan dan ook andere systemen.<br />

Chipkaarten<br />

Alle relevante informatie wordt opgeslagen op een chip die in een kaart is verwerkt. Op de<br />

kaart kan een bedrag gestort worden. Een voorbeeld hiervan is de protonkaart. Banksys<br />

heeft een toestel ontwikkeld, waarmee je met proton kan betalen<br />

e-cash<br />

Bij e-cash wordt gebruik gemaakt<br />

van elektronische geldstukken die<br />

vanaf de bankrekening op de harde<br />

schijf van de computer worden<br />

overgeheveld.<br />

In dit systeem wordt geld<br />

gerepresenteerd als een door de<br />

bank uitgegeven serie nummers met<br />

een bepaalde waarde. Met dit saldo<br />

aan digitaal geld kunnen betalingen<br />

worden uitgevoerd.<br />

De elektronische geldstukken<br />

kunnen immers worden<br />

overgeheveld van de ene<br />

elektronische geldbeugel naar de<br />

andere.<br />

Het voordeel van dit systeem is dat<br />

de privacy is gewaarborgd van diegene die de betaling uitvoert. Verschillende grote<br />

bedrijven (Microsoft, ING,Citibank) wilden maar wat graag geld investeren in dit<br />

vooruitstrevende bedrijf Digicash dat met e-cash op de proppen was gekomen.<br />

Maar door slecht management en achterdocht werd elk deal de nek omgewrongen. Na<br />

verloop van tijd ging Digicash failliet. Een aantal medewerkers van het vroegere Digicash<br />

proberen nu het patent te verkopen en anders verdwijnt het van de markt.<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 67


Hoe werkt internet ?<br />

Een droevig einde van een vooruitstrevend product dat voorbestemd was om cash geld uit<br />

de wereld te bannen.<br />

Geraadpleegde bronnen:<br />

Boeken:<br />

Communicatie voor het HBO – ISBN 90 5574 154 X<br />

ICT-Infrastructuur en Datacommunicatie – ISBN 90 395 1648 0<br />

Computernetwerken – ISBN 90 430 0443 x<br />

Computers, Datacommunicatie & Netwerken – ISBN 90 6233 465 2<br />

Computernetwerken Tanenbaum – ISBN –90 430 0698 x<br />

TCP/IP in 24 uur – ISBN 90 395 1160 3<br />

Bliksemstart TCP/IP versie 6, Internet protocol; een introductie – ISBN 90 71039 02 1<br />

Internet:<br />

http://www.computerwoorden.<strong>nl</strong>/index.php3?htopic=thema&topic=datacom&letter=a&PHPSESSID=10<br />

36b80de<br />

http://www2.eur.<strong>nl</strong>/fw/hyper/colleges/ontologiehyper/paden/geschiedenis/Gescomp/gescom.html<br />

http://www.computable.<strong>nl</strong>/artikel_print.jsp?id=1291062&pijler=904424&rubriek=1272857&site=241<br />

http://www.homepages.hetnet.<strong>nl</strong>/~s.internetcafe/Geschiedenisinternet.doc<br />

http://www.tekstenuitleg.net/artikelen/osi_model/1<br />

http://www.standard-tales.tbm.tudelft.<strong>nl</strong>/anecdotefirstelderTale5.htm<br />

http://www.xs4all.<strong>nl</strong>/~elma/schalmei/i<strong>nl</strong>eiding_tot_werking.html<br />

http://www.internetvraagbaak.<strong>nl</strong>/internethistory.htm<br />

http://scholieren.samenvattingen.com/documenten/show/4426396/<br />

http://www.vreer.net/adsl/osimodel.html<br />

http://web.inter.<strong>nl</strong>.net/users/Rohiet.Seosahai/TCP.htm<br />

©opyright: Teus Groeneveld - www.cardan.<strong>nl</strong> Pag: 68

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!