Skip to content

Netwerkarchitecturen

Introductie

In de IT hebben we het vaak over netwerken. Een netwerk is, simpel gezegd, de onderliggende structuur waarmee twee of meer verschillende computers met elkaar kunnen communiceren. Soms is een netwerk heel klein, en bestaat het enkel uit een (complexe) router en computers, zoals een simpel thuisnetwerk. Netwerken kunnen ook heel groot zijn, zoals het schoolnetwerk van de Hogeschool van Amsterdam, of het netwerk waarmee een Internet Service Provider (ISP) miljoenen huishoudens in Nederland met elkaar en de wereld verbindt. Deze drie netwerken - thuis, op het werk, of nationaal - werken allemaal volgens dezelfde onderliggende principes, maar bevatten elk unieke onderdelen die zijn ontworpen om optimaal te werken op die schaal. Maar… Waaruit bestaat zo’n netwerk dan?

Wat is een netwerkarchitectuur?

Net zoals de architectuur van een gebouw bepaalt hoe het gebouw er uit gaat zien, bepaalt de netwerkarchitectuur hoe een netwerk er uit gaat zien. Een architectuur is de vertaling van functionele vereisten, de functies die in een eindproduct moeten zitten, naar een specifiek ontwerp. Voor een architect van gebouwen houdt dit onder andere in dat ze moeten nadenken over waar de in- of uitgangen zitten, hoe ruimtes worden ingericht, of zelfs hoeveel toiletten er per verdieping beschikbaar zijn. Ze denken na over wie het gebouw gaan gebruiken en hoe deze personen het beste ondersteund kunnen worden in hun gebruik van het gebouw. Datzelfde doet een netwerkarchitect. Ze krijgen vanuit de opdrachtgever een set functionele eisen, een overzicht van de eisen waaraan het product minimaal moet voldoen. Dit vertalen ze vervolgens naar een netwerkontwerp, een overzicht van hoe alle hosts verbonden zijn, welke services er in het netwerk worden aangeboden zodat hosts hun taken kunnen doen, en zelfs hoeveel hosts er gelijktijdig met het netwerk verbonden kunnen zijn.

Essentiële netwerk-onderdelen

Een netwerk kan veel onderdelen hebben, maar er zijn er een paar die essentieel zijn voor elk modern netwerk om te functioneren. Een netwerk bevat altijd devices, een verzameling electronische apparatuur die je kan onderverdelen in twee soorten: hosts en packet switches. Hosts zijn eindpunten waarop applicaties draaien: programma’s die met elkaar kunnen communiceren (linkje naar KB artikel over communicatieprotocollen). Denk aan een laptop, mobieltje, of een webserver. Zelfs de gemiddelde router die je van je ISP ontvangt is een host: er draaien programma’s op waar je zelf mee kan communiceren, die de instellingen van je router beheren of je netwerk beveiligen met een firewall. Deze hosts worden ook wel endpoints genoemd, omdat het netwerkverkeer daar begint of eindigt.

Om deze hosts met elkaar te verbinden gebruiken we een categorie aan hardware genaamd packet switches: routers, switches, en hubs. Elk van deze drie worden gebruikt om communicatie mogelijk te maken, en elk van hen werkt op één van de TCP/IP protocol stack lagen (linkje KB artikel protocol stack).

De simpelste oplossing is de hub. Een hub wordt gebruikt om een signaal tussen hosts op de physical layer te versterken. Een hub is geen slim apparaat: als er vier hosts verbonden zijn met één hub, en host A verstuurt een packet1 via die hub, dan wordt het packet doorgestuurd naar alledrie de andere hosts, ongeacht de beoogde ontvanger. De hub heeft geen manieren om het verschil te zien tussen de verbonden hosts, dit wordt nergens bijgehouden.

Iets complexer is de switch. Deze werkt op de data link layer, en heeft meer manieren om bij te houden welke host verbonden is met welke interface van de switch. Een interface is elke individuele netwerk-verbindingspunt van een device, zoals een ethernetpoort of een WiFi-kaart. Als host A een packet wilt versturen naar host B via een switch dan stuurt de switch automatisch het packet door naar de juiste ontvanger (zolang bekend is op welke interface de desbetreffende host verbonden is). Switches kunnen alleen packets versturen naar hosts die verbonden zijn met hetzelfde netwerk. Hosts worden door een switch geïdentificeerd met hun MAC-adres, een medium access control adres. Dit is het unieke adres van bijvoorbeeld je ethernetpoort of je WiFi-kaart, wat hetzelfde blijft ongeacht bij welk netwerk je je aanmeldt.

Simpel netwerk
Simpel netwerk

Als laatste is er de router. Waar de hub en de switch zich beperken tot communicatie binnen lokale netwerken, maakt de router communicatie binnen én buiten het netwerk mogelijk. De router werkt op de network layer, de laag waarop de route van pakketjes tussen hosts in verschillende netwerken wordt bepaald. Op deze laag worden hosts geïdentificeerd met hun IP-adres. Als host A een berichtje wilt sturen naar host B, kijkt de router naar welk IP-adres het pakketje toe moet. Vervolgens wordt het pakketje via die interface doorgestuurd naar de volgende schakel in de keten - veelal een andere router of een switch. Dit gaat door net zolang totdat het pakketje bij de juiste host terecht is gekomen, ongeacht of die host in hetzelfde netwerk zit of aan de andere kant van de wereld.

Thuisnetwerk met printer
Thuisnetwerk met printer

Optionele onderdelen

De vorige paragrafen gingen over de essentiële onderdelen: de onderdelen die je altijd nodig hebt om een netwerk te maken. Er zijn ook een aantal netwerk-onderdelen die je niet per sé nodig hebt, maar die communicatie tussen netwerken makkelijker maken. De belangrijksten hiervan zijn de DHCP-server en de DNS-server.

Een DHCP-server, of een Dynamic Host Control Protocol Server, is binnen het netwerk verantwoordelijk voor het uitdelen van IP-adressen aan de verbonden devices. Zodra er een device wordt verbonden met een netwerk, zal het proberen een berichtje te versturen naar de DHCP-server. Dit doet het op een speciaal adres, het broadcast-adres, wat elk netwerk heeft. Op dit adres worden berichten verstuurd die bij elk device op het netwerk komt - dus ook de DHCP-server. Voor deze berichten wordt een speciaal protocol gebruikt, het Dynamic Host Control Protocol, en elke keer dat de DHCP-server zo’n bericht ontvangt zal het de procedure in gang zetten om een nieuw IP-adres uit te geven aan dat device. Mocht de procedure, DORA genoemd, worden voltooid, dan krijgt het desbetreffende device het IP-adres voor een bepaalde tijd. Deze tijd wordt de leasetime genoemd, en duurt meestal tussen de 1 en 24 uur. Als de leasetime is verstreken dan kan het IP-adres opnieuw worden uitgegeven aan een ander device.

Daar waar de DHCP-server ervoor zorgt dat je een identiteit hebt binnen het netwerk, zorgt de DNS-server ervoor dat je de identiteit van publieke hosts kan achterhalen zodat je ermee kan communiceren. Eerder werd al gesteld dat we IP-adressen gebruiken om hosts in andere netwerken te identificeren. Toch gebruiken we dagelijks een heel ander middel om te communiceren: de hostname. Dit is een ‘makkelijkere’ manier om hosts te identificeren. In plaats van dat je voor elke host een eigen IP-adres moet onthouden, krijgen publiek toegankelijke hosts, zoals een website of een mailserver, een hostname toegewezen. Deze hostname wordt ook wel de URL of URI genoemd: de Uniform Resource Identifier. Een DNS-server, oftewel een Domain Name System Server, vertaalt de URI’s die je gebruikt om te communiceren met een mailserver of een webserver naar het juiste IP-adres. Een voorbeeld van zo’n hostname is www.hva.nl. Als je dit adres invoert in je browser, zoekt de DNS-server voor je op naar welk IP-adres jouw verzoek moet worden gestuurd om de juiste website te zien. In dit geval verwijst de hostname naar het IP-adres 145.18.11.151. Elk netwerk heeft een eigen DNS-server.

Thuisnetwerk met printer
Thuisnetwerk met printer en DHCP

In kleinere netwerken worden bovenstaande functies vaak vervuld door één device. Denk bijvoorbeeld aan je router thuis: deze is verantwoordelijk voor het uitgeven van lokale IP-adressen in je netwerk, maar vraagt ook voor jouw laptop of telefoon op welk IP-adres hoort bij welke hostname.

Meer informatie

Kijk voor aanvullende uitleg de volgende filmpjes:

Bronnen

Deze tekst is gebaseerd op: Kurose, J.F., Ross, K.W. (2022). Computer Networking: A Top-Down Approach. Pearson

Voetnoten


  1. Voor het gemak noemen we alle digitale berichten op de verschillende lagen packets. Dit is technisch incorrect. Afhankelijk van de laag van het TCP/IP model waarop je communiceert noem je het verstuurde pakketje anders. Zie het artikel over communicatieprotocollen voor een overzicht.