Subnet (TCP/IP en routering)
Subnetting neemt bits van het hostdeel van een IP-adres over voor het netwerkdeel. Dit verhoogt het aantal beschikbare netwerken, ten koste van het aantal hosts per netwerk.
Van classful naar classless
Het oorspronkelijke internet gebruikte een classful netwerkmodel. IP-adressen vielen in klassen (A, B, C), elk met een vast aantal netwerk- en hostbits. Dit systeem leidde tot adresverspilling en een groeiende hoeveelheid routeringsinformatie wereldwijd.De Internet Engineering Task Force (IETF) introduceerde in 1993 Classless Inter-Domain Routing (CIDR). Dit systeem verving het starre classful model en maakte flexibele, klasse-onafhankelijke IP-adrestoewijzing mogelijk. CIDR markeerde een keerpunt: efficiëntere adrestoewijzing én beperking van de explosieve groei van routeringstabellen — een doel dat RFC 1519 expliciet noemt.
De technische basis: RFC 1518 en RFC 1519
Twee RFC's uit september 1993 vormen de basis van CIDR:- RFC 1518, An Architecture for IP Address Allocation with CIDR, door Y. Rekhter en T. Li — beschrijft een architectuur voor IP-adrestoewijzing met CIDR.
- RFC 1519, Classless Inter-Domain Routing (CIDR): an Address Assignment and Aggregation Strategy, door V. Fuller, T. Li, J. Yu en K. Varadhan — specificeert de strategie voor adrestoewijzing en -aggregatie.
CIDR-notatie
CIDR-notatie stelt een IP-adres voor gevolgd door een slash en een getal: `192.168.1.0/24`. Het getal na de slash geeft het aantal leidende 1-bits in het subnetmasker aan. Bij `/24` vormen de eerste 24 bits het netwerkdeel; de overige 8 bits zijn beschikbaar voor hosts. Het subnetmasker is dan `255.255.255.0`.Deze notatie is standaard in zowel IPv4- als IPv6-netwerken. Ze biedt een compacte manier om subnetgrootte en netwerkstructuur aan te duiden.
Hoe een subnetmasker werkt
Het subnetmasker bepaalt welk deel van een IP-adres het netwerk identificeert en welk deel de specifieke host. Bij een routeringsbeslissing bekijkt de router alleen de bits die overeenkomen met de netwerkprefix zoals gedefinieerd door het masker.Alle adressen binnen dezelfde prefix — dus binnen hetzelfde subnet — behandelt de router als één logische eenheid. Met één route-entry bereikt een router een hele reeks IP-adressen, in plaats van per adres een aparte route te beheren.
Stappen: subnetten berekenen en configureren
Stap 1: IP-adresblok bepalen
Stel dat u het blok `10.0.0.0/16` hebt. Dit biedt 65.536 IP-adressen. U wilt dit opdelen in kleinere subnetten voor afdelingen.Stap 2: Subnetgrootte kiezen
Elke afdeling heeft maximaal 200 apparaten. Een `/24`-subnet biedt 254 bruikbare hosts — voldoende. Het blok `10.0.0.0/16` bevat 256 `/24`-subnetten: `10.0.0.0/24` tot `10.0.255.0/24`.Stap 3: Subnetmasker berekenen
Voor een `/24`-subnet is het masker `255.255.255.0`. Het netwerkadres van het eerste subnet is `10.0.1.0`, het broadcastadres `10.0.1.255`. Bruikbare hosts: `10.0.1.1` tot `10.0.1.254`.Stap 4: Subnetten toewijzen
Wijs toe:- ICT: `10.0.1.0/24`
- Productie: `10.0.2.0/24`
- Gasten: `10.0.3.0/24`
Stap 5: Router configureren
Op een Linux-router met `iproute2` voegt u routes toe:ip route add 10.0.1.0/24 dev eth1
ip route add 10.0.2.0/24 dev eth2
ip route add 10.0.3.0/24 dev eth3
Stap 6: Route-aggregatie toepassen
In plaats van drie routes kunt u aggregeren naar één route:ip route add 10.0.0.0/16 dev eth0
De router stuurt al het verkeer voor `10.0.0.0/16` naar de juiste interface. Dit heet supernetting.
Stap 7: Firewallregels per subnet
Pas per subnet beleid toe met `iptables` (versie 1.8.7 of nieuwer):iptables -A FORWARD -s 10.0.1.0/24 -j ACCEPT
iptables -A FORWARD -s 10.0.2.0/24 -j DROP
iptables -A FORWARD -s 10.0.3.0/24 -j ACCEPT
Stap 8: Verkeer tussen subnetten routeren
Verkeer tussen subnetten gaat via de router. Apparaten binnen hetzelfde subnet communiceren rechtstreeks via lokale switches.Longest prefix match
Routers gebruiken routingtabellen die netwerkprefixes in CIDR-notatie koppelen aan uitgaande interfaces of volgende-hopadressen. Wanneer een pakket binnenkomt, zoekt de router de langste overeenkomstige prefix in de tabel — dit heet longest prefix match.Bijvoorbeeld: `192.168.1.100` hoort bij `192.168.1.0/24`. De router stuurt het pakket via de interface die aan die prefix is gekoppeld.
Subnetgrootte bepalen
De juiste subnetgrootte is een ontwerpaspect. Te grote subnets leiden tot problemen met broadcastverkeer en beveiligingsrisico's — alle apparaten bevinden zich in hetzelfde broadcastdomein. Te kleine subnets resulteren in een tekort aan adressen bij het toevoegen van nieuwe apparaten.Gebruik een subnetcalculator voor de balans tussen beschikbaarheid, beveiliging en efficiëntie.
Beveiliging en monitoring
Het scheiden van subnets maakt gericht beleid mogelijk: firewallregels, toegangsbeheer of QoS-instellingen per subnet. Dit geeft u controle over wie wat mag doen op het netwerk.Bij het monitoren met `traceroute` of `pathping` ziet u op welke hop — en dus in welk subnet — vertragingen of pakketverlies optreden.
Veelgestelde problemen
Probleem: geen verbinding tussen twee subnets Controleer of de router een route heeft voor beide subnets. Gebruik `ip route show` en voeg ontbrekende routes toe met `ip route add`.Probleem: broadcaststorm in een te groot subnet Verklein het subnet. Splits een `/16` op in `/24`-subnets en voeg firewallregels toe om broadcastverkeer te beperken.
Probleem: IP-adresconflict binnen een subnet Controleer met `arp-scan` (versie 1.9.3 of nieuwer) of er dubbele adressen zijn:
arp-scan --interface=eth0 10.0.1.0/24
Verificatie
Controleer of uw subnetconfiguratie werkt:ip route show
ip addr show
ping -c 4 10.0.1.1
traceroute 10.0.2.1De eerste twee commando's tonen uw routes en interfaces. `ping` bevestigt connectiviteit binnen een subnet. `traceroute` toont de hops tussen subnets.
De kern
Subnetting is een logisch en noodzakelijk onderdeel van elk serieus netwerk. Van kleine kantooromgevingen tot grote datacenters en internetproviders: overal waar IP-verkeer wordt gerouteerd, zijn subnets van toepassing. De principes zijn sinds 1993 grotendeels onveranderd gebleven.De vraag is niet of u subnetting nodig hebt, maar hoe u het ontwerp optimaliseert voor uw specifieke verkeerspatronen en beveiligingseisen — en dat blijft een ontwerpbeslissing die elke netwerkbeheerder opnieuw moet nemen.