Skip Navigation

Login





Join! | Login troubles?

Online members

Guests:6
Members:0

Poll

What's your favorite scripting language for solving challenges?


python (12.4%)

perl (9.2%)

bash (3.2%)

ruby (1.9%)

php (37.5%)

javascript (13.0%)

I'm not convinced scripting saves time, I use a "proper" language for everything I do. (15.6%)

Scripting? Excel for the winners, man! (7.3%)


Total votes: 315
Date added: 2008-06-14

View text

Info
Author moloch
Date added 2002-11-22
Last modified 2002-11-22


Het internet en TCP/IP

De TCP/IP layers

Het internet werkt, zoals je al vaker hebt gehoord, via het TCP/IP protocol. Maar wat houdt TCP/IP in? Dit Transmission Control Protocol/Internet Protocol bestaat uit 4 lagen. (Eigenlijk 5, maar ik tel de fysieke laag even niet mee.) Ik zal het aan de hand van dit plaatje proberen uit te leggen.

Application Layer

TCP Layer

IP Layer

Link Layer

De Application Layer, de naam zegt het al, werkt op het niveau van programma's. Niet alleen programma's zoals Internet Explorer, maar ook PING en Telnet ed. De Application Layer heeft 3 functies:     


Het leveren van communicatiediensten voor programma's.
Het leveren van de juiste opmaak en codering voor de dataverzending.
Het ondersteunen voor het tot stand komen van telecommunicatiesessies.

De TCP Layer heeft als functie dat het de overdracht van gegevens via het knooppunten van het netwerk ondersteund. Hoe hij dit doet komen we dadelijk op terug.

De IP Layer verzorgt de routering door het netwerk. In andere woorden: hij zorgt ervoor dat het pakketje A aankomt bij B en niet bij C. Ook hier komen we later op terug.

De link Layer zorgt voor een goede en foutloze aansluiting op de de fysieke laag.

De verschillende lagen communiceren met elkaar op een bepaalde manier. Stel we geven met behulp van een programma een klein beetje data door aan de Application Layer. Hoe gaat dat dan verder? Elke laag voegt aan het databrokje een klein stukje toe, we noemen dat een header. In die header staat informatie over de verzender en ontvanger.

De pakketjes tussen de lagen mogen niet allemaal ongelimiteerd groot zijn. Tussen de Application Layer en de TCP Layer gelden geen beperkingen. De Application Layer geeft alleen dus een klein stukje header erbij maar veranderd verder niks aan de grootte van het pakket. De TCP Layer verdeelt de data vervolgens in segment en voegt aan elk segment een header erbij. Niet alle segmenten zijn even groot, dit beslist de TCP Layer. Er zit natuurlijk wel een maximum en een minimum aan. De IP Layer krijgt de segmenten van de TCP Layer. De IP header verdeelt de segmenten in delen van 64 kbyte en voegt aan elk deel ook weer een header toe. De Link Layer verdeelt alle delen weer in kleinere deeltjes van 1500 bytes en voegt een header toe. De kleine deeltjes van 1500 bytes worden het net op gestuurd. De ontvanger "puzzelt" alles weer bij elkaar in de omgekeerde volgorde. Uiteindelijk is de data na een lange omweg weer bij elkaar.

Adressing

Stel we willen verbinding maken met de server van microsoft.com, we willen dus een website opvragen. De browser stuurt een data deel naar de TCP Layer. De TCP Layer zet dan zoiets als: "van poort 1045 aan poort 80" in de header. De verbinding via de TCP Layer verloopt dus via poorten. LET OP: sommige mensen denken dat de poort van de afzender ook 80 is voor html. Dit is niet het geval. De browser zoekt een vrije poort (boven de 1024) en stuurt het door naar de html poort van de ontvanger. (Start je 2 x Internet Explorer op, dan zul je zien dat er 2 poorten gebruikt worden. Meestal 1045 en 1050.)

De IP Layer zet in de header het IP adres van de afzender en het IP adres van de ontvanger. Een IP adres is een uniek nummer op het internet. Alle servers en gebruikers hebben een IP adres. Het bestaat uit 4 nummers tussen de 0 en de 255 met een . ertussen. Bijvoorbeeld 1.2.3.4 en 127.255.0.3


--------------------------------------------------------------------------------

Even een stukje tussendoor, anders krijg ik weer vragen in mijn mail. Het IP van jezelf zie je "Winipcfg" uit te voeren in het Uitvoer gedeelte van het Start menu.


--------------------------------------------------------------------------------

Routing

Hoe komt jouw aanvraag van jouw pc in Amsterdam (bijvoorbeeld) naar de server pc van Microsoft ergens in de VS? Nou, het internet is niet een groot netwerk zoals wel eens wordt gezegd. Het zijn meerdere netwerken die aan elkaar gekoppeld zijn. Dus jouw pakketje met data gaat echt van Amserdam naar de VS. (Er zijn weer uitzonderingen, cache in de ISP server, maar daar gaan we niet over hebben.) Je aanvraag gaat eerst naar jouw Internet Service Provider (ISP), bijvoorbeeld World Online. Vanaf daar wordt jouw pakketje een netwerk opgezet door een router. Een router is een apparaat dat de datapakketjes de goede richting heen zet. Jouw pakketje komt op zijn weg door allerlei netwerken, wordt door verschillende routers een richting heen "geduwd", en komt dan bij de server van microsoft aan. Nu gaat dat niet altijd rechtstreeks, integendeel. Als een Router merkt dat er pakketjes terugkomen, omdat er bijvoorbeeld een server in een netwerk down is, zal hij jouw pakketjes gewoon een andere richting insturen. Dit kan helemaal de verkeerde zijn, maar uiteindelijk zal je pakketje ooit aankomen. TIP: wil je eens zien welke weg jouw pakketje volgt naar Microsoft? Ga dan naar DOS en typ in: tracert ww.microsoft.com  Je ziet dan welke routers jouw pakketje allemaal passeerd. Als jouw pakketje is aangekomen bij microsoft, stuurt microsoft een pakketje terug die volgens dezelfde of een andere weg weer terug naar jouw komt. Het is heel goed mogelijk dat jouw pakketje onderweg verloren gaat. Merkt jouw server dat er geen pakketjes terugkomen, dan zal het dat pakketje gewoon terugsturen. Natuurlijk is er niet telkens 1 pakketje van 1500 bytes onderweg, maar veel meer.


--------------------------------------------------------------------------------

TIP:Mocht je in het bezit zijn van een snelle internetverbinding, download dan eens de film Netwarriors op http://www.wariorsofthe.net Dit is een film van 149 mb, en duurd een kwartier. Deze film legt duidelijk uit hoe het routing, adressing ed precies gaat. Het is bovendien een grappige film en je leerd er meer van dan ik je hier kan vertellen.


--------------------------------------------------------------------------------

Ik vind het wel genoeg voor het moment. Misschien dat ik later nog ooit een les schrijf dat iets dieper in gaat op TCP en IP en waar ook UDP aan bod komt. Misschien ook niet.