Opbouw INTERNET - Cardan.nl
Opbouw INTERNET - Cardan.nl
Opbouw INTERNET - Cardan.nl
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