9.5. Het publieke internet#

Concepten

ISP, router, maasnetwerk, adressering, netwerk-prefix, host-adres, routering, BGP, peering, transit

../_images/internet-tiers.png

Fig. 9.23 Internet-tiers#

Het internet is een netwerk van netwerken. De thuisrouter is de gateway van het lokale netwerk naar het publieke internet: naar alle netwerken die daarin verbonden zijn, met hun hosts.

De thuisrouter maakt deel uit van het netwerk van de Internet Service Provider. Dit ISP-netwerk is via routers/gateways verbonden met de netwerken van andere ISPs, en uiteindelijk met de Tier-1 netwerken die de backbone van het internet vormen.

../_images/maas-netwerk.png

Fig. 9.24 Internet als maas-netwerk: elk punt is een router#

De netwerken zijn onderling sterk verknoopt in een maasnetwerk. Dit betekent dat er tussen elk tweetal punten (netwerken) meestal meerdere paden door het netwerk te vinden zijn. Er is dan bij het uitvallen van een enkele verbinding of van een enkel knoopput (router) nog steeds communicatie mogelijk.

Net als in het verkeersnetwerk kunnen er in het internet files en opstoppingen ontstaan, en storingen door verbindingen of routers die (tijdelijk) niet werken. Het routeren van een pakket door het internet lijkt sterk op het probleem van een routeplanner (“TomTom”), die met al die factoren rekening moet houden.

Deze redundantie (letterlijk overtolligheid, hier eigenlijk overdimensionering) zorgt ervoor dat het netwerk betrouwbaar is, ook bij storingen en plaatselijke overbelasting.

Het “beste pad” voor een pakket tussen A en B is niet op elk moment hetzelfde. Niet alleen de capaciteit van de verbindingen en van de routers bepalen het beste pad, maar ook de eventuele storingen en de huidige verkeersdruk.

9.5.1. Adressering#

De communicatie in het internet is gebaseerd op pakketten: elk pakket bevat, naast de eigenlijke data (de “payload”), het internetadres van de bestemming en dat van de afzender.

Een internetadres (IP-adres) bestaat uit twee gedeelten: (i) de netwerkprefix (het netwerkadres); en (ii) het adres van de host in het netwerk. De netwerkprefix wordt gebruikt voor het routeren van het pakket naar het juiste netwerk. Daarna zorgt de lokale router voor de bezorging bij de host.

IPv4 De netwerk-prefix geef je aan door /xx, waarbij xx het aantal bits van de prefix is; of door het netmasker, waarin de binaire 1-en aangeven welk deel tot de netwerk-prefix hoort.

Het adres van een netwerk is de netwerk-prefix aangevuld met 0-en; bijvoorbeeld: 192.168.3.12/24, met als netmasker 255.255.255.0, heeft als netwerkadres: 192.168.3.0.

De rest van het IP-adres, na de prefix, bepaalt het aantal mogelijke host-adressen in het netwerk. Hierbij zijn twee adressen gereserveerd: allemaal 0-en voor het netwerk-adres en allemaal 1-en voor een broadcast-pakket.

Voor het bovenstaande voorbeeld is het netwerkadres 192.168.3.0 en het broadcastadres 192.168.3.255. In dit voorbeeld blijven er dan 256-2=254 host-adressen over, van 192.168.3.1 t/m 192.168.3.254. Meestal wordt één van beide uitersten gebruikt voor de gateway, hier 192.168.3.1 of 192.178.3.254.

IPv6 Bovenstaande geldt voor IPv4-adressen. Een IPv6-adres bestaat uit 128 bits, waarvan de eerste 64 bits de netwerk-prefix zijn, en de laatste 64 bits het host-adres in het netwerk.

9.5.2. Routering#

Hoe komt een internet-pakket van A naar B? De routering van internet-pakketten gebeurt (i) voor elk pakket afzonderlijk, en (ii) stap voor stap.

Een router die een pakket ontvangt bepaalt of dit bestemd is voor een lokaal netwerk dat aan deze router verbonden is; zo ja, dan stuurt de router het pakket direct naar de bestemmings-host (zie het gedeelte over het lokale netwerk). Zo nee, dan bepaalt de router wat in de aanliggende netwerken de eerstvolgende router is die een stap dichter bij de bestemming ligt, en stuurt het pakket naar die router.

(+) Elke router heeft informatie over de netwerken die via deze router bereikbaar zijn, direct en indirect; en wat voor de indirecte routes de eerstvolgende router is. Deze informatie wordt tussen de routers uitgewisseld via het Border Gateway Protocol.

Een pakket kan onderweg verloren raken, ten gevolge van een storing of door overbelansting van een router. Bovendien wordt, zoals gezegd, elk pakket afzonderlijk gerouteerd. Dit betekent dat (i) niet alle pakketten op hun bestemming aankomen; en dat (ii) de pakketten in een andere volgorde bij de bestemming kunnen aankomen dan waarin ze verzonden zijn.

Voorbeeld. Stel, host A stuurt 3 pakketten: p1, p2, en p3. Bij de bestemming B kunnen deze pakketten in alle (6) volgordes aankomen: p1, p2, p3; p1, p3, p2; p2, p1, p3; … En bovendien kunnen in deze volgordes pakketten ontbreken. Met als gevolg: als B pakket p3 ontvangt weet deze niet of p1 en p2 verloren geraakt zijn, of nog onderweg zijn. Als je wilt garanderen dat alle pakketten aankomen, en dat de volgorde gehandhaafd blijft, heb je een end-to-end protocol nodig dat daarvoor zorgt. Het TCP protocol is daarvan een voorbeeld.

9.5.3. (+) Internet backbone#

De netwerken van de Internet Service Providers zijn op verschillende manieren op elkaar aangesloten, met verschillende soorten afspraken:

  • een kleiner netwerk (“Tier-3”) moet voor de aansluiting op een groter netwerk meestal betalen: het grote netwerk levert meer voordeel voor het kleine netwerk op, dan omgekeerd. Er is dan sprake van een transit overeenkomst; het kleinere netwerk is de klant van het grotere netwerk. (Dit kun je vergelijken met de overeenkomst die je als consument met een ISP hebt.)

  • de grootste netwerken (“Tier-1”) betalen niet voor de aansluiting op een ander groot netwerk: de voordelen zijn voor beide ongeveer gelijk. Er is dan sprake van een peering overeenkomst zonder betaling.

  • de middelgrote netwerken (“Tier-2”) hebben een combinatie van transit- en peering-overeenkomsten met betaling voor de aansluiting op grotere netwerken, en peering overeenkomsten met vergelijkbare netwerken.

Veel overeenkomsten tussen ISPs zijn geheim, waardoor niet duidelijk is of er sprake is van aan transit-overeenkomst of van peering op basis van gelijkwaardigheid.

Vooral de Tier-1 netwerken hebben grote internationale glasvezel-verbindingen, met onderzeese verbindingen. Een kaart van de verbindingen wereldwijd vind je bijvoorbeeld op:

Deze netwerken worden op elkaar aangesloten via Internet Exchange Points (IXPs). Eén van de grootste IXPs is IXP Amsterdam.

9.5.4. (+) Content Delivery Networks#

Veel web-content is statisch, dat wil zeggen, deze is voor een groot deel van de gebruikers gelijk. Dat geldt niet alleen voor statische websites, die niet afhangen van de gebruiker of van de toestand van de server. Het geldt ook voor vaak omvangrijke onderdelen zoals foto’s, video’s, JavaScript-libraries en dergelijke. Voor dergelijke content heeft het zin om deze te cachen, bij voorkeur in de buurt van de gebruikers. Content Delivery Networks bieden dat als dienst aan, om zo de snelheid van websites te vergroten en tegelijkertijd de webservers van de aanbieders te ontlasten. Voorbeelden van dergelijke CDN-aanbieders zijn: Akamai, Cloudflare, Fastly

9.5.5. (+) Van wie is het internet?#

Het internet is van niemand, of beter: van ons allemaal. Het is niet het eigendom van een bedrijf of van een overheid. Het is een gemeenschappelijke activiteit van een groot aantal organisaties, bedrijven, overheden, en individuen.

Er zijn wel organisaties die proberen de ontwikkelingen rond het internet in goede banen te leiden; enkele van de belangrijkste daarvan:

De organisatie van het internet is uniek, en een voorbeeld waar grootschalige open samenwerking toe kan leiden. De bovenstaande organisaties zijn allemaal non-profit organisaties met leden. Veel van het werk wordt door vrijwilligers gedaan, en de organisaties zijn erg open en welkom voor nieuwkomers.