# Netwerkbeheer/IP-adressen beheren/De werking van DHCP

Dynamic Host Configuration Protocol (DHCP) is een computerprotocol dat beschrijft hoe een computer zijn netwerkinstelling van een DHCP-server krijgt. Het DHCP-protocol werkt op het Internet Protocol(IP) en werkt met UDP-pakketten.

## Hoe werkt DHCP?

* De client-computer stuurt een DHCP DISCOVERY netwerkpakket, gericht aan alle computers binnen het eigen ethernet-segment.
* Alle computers in dit segment ontvangen dit, dus ook de DHCP-server. Alleen de DHCP-server in het netwerk reageert hierop: hij stuurt de informatie over de netwerkinstellingen terug. Dit doet hij door een aanbod (OFFER) te sturen.
* De client gebruikt de gegevens van de eerste DHCP-server waarvan hij antwoord krijgt. Hij gebruikt deze gegevens om zijn netwerkverbinding in te stellen. Hij stuurt een verzoek (REQUEST) naar de DHCP-server om te zeggen dat hij deze gegevens gaat gebruiken. De DHCP-server bevestigt (ACKNOWLEDGE) dit.
* De client-computer heeft nu een (uniek) IP adres en kan communiceren met andere computers.

## Netwerkinstellingen via DHCP

Instellingen die door de DHCP-server worden gestuurd zijn:
* Een uniek IP-adres (altijd);
* Hoe groot het netwerk is, dus het subnetmasker (altijd).
* Welk adres in het netwerk een Gateway, waarmee er verbinding is met een ander netwerk, zoals het internet (hoeft niet);
* Wat de DNS servers zijn (hoeft niet);
* Hoe lang de client het IP-adres mag lenen: de geldigheidsduur (leasetime of looptijd)

## Handmatig

Het is niet nodig om DHCP te gebruiken. Een computer kan ook handmatig van de juiste instellingen worden voorzien. In de praktijk vinden veel systeembeheerders DHCP eenvoudiger, omdat zij dan niet zelf alle computers in het netwerk handmatig hoeven te configureren. Ook als er wijzigt in het netwerk, hoeft alleen de DHCP-server opnieuw ingesteld te worden. In veel grote netwerken wordt juist wèl gewerkt met vaste IP-nummers (en dus geen DHCP). Zo worden tienduizenden PC's de instellingen eenmalig handmatig ingesteld. Daarmee kunnen ook eenvoudiger routes van het ene netwerkapparaat (bijvoorbeeld een PC) naar het andere (bijvoorbeeld een printer) worden opgegeven, op basis van het IP-adres. Eén van de grootste netwerken in Nederland Defensie MULAN is op deze manier ingericht. Een voordeel op gebied van beveiliging is dat aanvragen van onbekende IP-adressen meteen kunnen worden gedetecteerd.

## Internetprovider

Internetprovider oftewel Internet Service Providers (ISP) maakten ook graag gebruik van DHCP. Zo konden ze het aantal benodigde IP-adressen beperken, omdat niet al hun abonnees tegelijkertijd verbinding maken. Dit aantal was dan gelimiteerd aan het aantal modems dat bij deze ISP aanwezig was (door landelijke uitrol ADSL en kabel-internet achterhaald).
Omdat veel computers met ADSL of kabelinternet continu op het internet aangesloten zijn (althans het modem thuis aan blijft staan), is tegenwoordig (2011) elke abonnee voorzien van een eigen IP-adres. Een paar aanbieders schermen nog met 'dynamisch IP-adres' maar dit is met name om geen garantie te geven dat men altijd hetzelfde IP-adres blijft houden.

## Looptijd

De computer "leent" de DHCP-gegevens voor een bepaalde tijd. Dit heet de leasetime of looptijd. Dit kan variëren van enkele minuten tot enkele weken. In die tijd is het IP-adres voor deze computer gereserveerd. Voordat de leasetijd verlopen is moet de computer opnieuw een aanvraag doen bij de DHCP-server. De computer krijgt dan soms een ander IP-adres, maar meestal hetzelfde IP-adres. Als een computer, of netwerkverbinding, herstart tijdens de looptijd van een lease krijgt de computer dezelfde instellingen van de DHCP-server. Voor het opnieuw uitgeven van IP-adressen gebruikt de DHCP server een groep adressen ('pool'). Deze pool is bij thuisgebruik vaak 50 adressen, bijvoorbeeld van 10.0.0.150 - 10.0.0.199.

# Breedband

In het geval van breedband-internetverbindingen, zoals kabelinternet en ADSL, wordt vaak ook met DHCP gewerkt, hoewel een aantal internetprovider ook vaste adressen uitdeelt. Mensen met een dynamisch IP-adres zullen iets meer moeite moeten doen als zij een server willen draaien. Hoewel hun IP-adres over het algemeen hetzelfde zal blijven (toegewezen op basis van hun MAC-adres), kan het zijn dat het toch verandert. Dit gebeurt bijvoorbeeld als de host langere tijd offline is geweest (en het IP-adres is vrijgegeven of zelfs al toegewezen aan iemand anders), of als er bijvoorbeeld een andere netwerkkaart wordt geplaatst. De internetprovider herkent dan het MAC-adres van de host niet meer. Eventuele DNS-instellingen moeten dan worden aangepast. Dit kan handmatig of automatisch door middel van een script (zoals DynDNS) gebeuren.

# Problemen bij DHCP

Wanneer de computer niet als zodanig is ingesteld dat deze zelf aan de DHCP-server verlenging van de looptijd vraagt, of er is langere tijd geen DHCP-server beschikbaar, wordt de verbinding met een regelmaat van een half uur tot een dag tijdelijk verbroken. Dit kan bij chatapplicaties als Internet Relay Chat hinderlijk zijn. Ook het onjuist instellen van de DHCP server en/of de overige netwerkapparatuur kan problemen geven: indien een netwerkgebruiker een IP-adres gebruikt dat ook binnen de pool van de DHCP server ligt, dan kunnen er op een gegeven moment twee netwerkapparaten met hetzelfde IP-adres zijn. Hierdoor ontstaan op ethernetverbindingen veel collisions en haperende apparatuur. Het reserveren van adresgebieden is van groot belang.

# Voorbeeld bij ADSL

Een mogelijke instelling zoals bij ADSL gebruikt kan worden:
* 10.0.0.138 - standaard gateway (ADSL modem)
* 10.0.0.150 - 10.0.0.200 pool van uit te geven IP-adressen
* 10.0.0.255 - broadcastadres (bericht aan alle netwerkstations in dit segment)
Apparatuur die via DHCP werken, krijgen van de DHCP server op aanvraag een adres uit de adressen-pool. Overige apparatuur op het netwerk dat niet met DHCP werkt (dus handmatig of fabrieksmatig is ingesteld) moeten buiten dit adressen-gebied blijven. Een mogelijke indeling zou kunnen zijn:
* 10.0.0.10 - 10.0.0.50 netwerkopslagapparatuur (Network-attached storage, NAS) en netwerkprinters
* 10.0.0.51 - 10.0.0.100 PCs op vaste adressen