Dynamic Host Configuration Protocol version 4 (DHCPv4) tilldelar dynamiskt IPv4-adresser och annan nätverkskonfigurationsinformation. Eftersom bärbara och stationära datorklienter vanligtvis utgör merparten av nätverksenheterna, är DHCPv4 ett extremt användbart och tidseffektivt verktyg för nätverksadministratörer.
En dedikerad DHCPv4-server är skalbar och relativt enkel att hantera. I små nätverk eller i SOHO-miljöer kan dock en Cisco-router konfigureras för att tillhandahålla DHCPv4-tjänster utan behov av en dedikerad server. Cisco IOS-programvara stöder en valfri, fullt utrustad DHCPv4-server.
DHCPv4-servern tilldelar dynamiskt, eller leasar, en IPv4-adress från en adresspool under en begränsad tidsperiod som bestäms av servern, eller tills klienten inte längre behöver adressen.
Klienter leasar informationen från servern för en administrativt definierad period. Administratörer konfigurerar DHCPv4-servrar så att IP-lånet löper ut vid olika intervaller. Lånet varar typiskt från 24 timmar till en vecka eller längre. När lånetiden löper ut måste klienten begära en ny adress, även om klienten oftast tilldelas samma adress igen.
DHCPv4 Funktion
DHCPv4 fungerar enligt en klient/server-modell. När en klient kommunicerar med en DHCPv4-server tilldelar eller leasar servern en IPv4-adress till klienten. Klienten ansluter till nätverket med den leasade IPv4-adressen tills leasen löper ut. Klienten måste periodiskt kontakta DHCP-servern för att förlänga leasen. Denna leasingmekanism säkerställer att klienter som flyttar eller stängs av inte behåller adresser de inte längre behöver. När en lease löper ut, återlämnar DHCP-servern adressen till poolen där den kan återallokeras vid behov.
När klienten startar (eller på annat sätt vill ansluta till ett nätverk) påbörjar den en fyra-stegs process för att erhålla en IP-adress och kompletterande information:
- DHCP Discover (DHCPDISCOVER)
- DHCP Offer (DHCPOFFER)
- DHCP Request (DHCPREQUEST)
- DHCP Ack (DHCPACK)
I denna beskrivning används vissa riktiga adresser och vissa påhittade adresser för både klient och server för att illustrera hela processen, från det inledande DHCPDISCOVER-meddelandet till det slutgiltiga DHCPACK, och för att tydliggöra hur adresserna används i varje steg av DHCP-processen.
- Klientens MAC-adress: 0011.2233.4455
- Serverns MAC-adress: AA:BB:CC:DD:EE
- Serverns IP-adress: 192.168.1.1
- Klientens tilldelade IP-adress i processen: 192.168.1.100
Steg 1. DHCPDISCOVER
Klienten startar processen genom att sända ett broadcast-meddelande med sin egen MAC-adress (0011.2233.4455) och IP-adress 0.0.0.0 för att upptäcka tillgängliga DHCPv4-servrar. Eftersom klienten inte har giltig IPv4-information vid uppstart, använder den både nivå 2- och nivå 3-broadcastadresser för att kommunicera med servern (FFFF.FFFF.FFFF) och (255.255.255.255). Syftet med DHCPDISCOVER-meddelandet är att hitta DHCPv4-servrar på nätverket.
Steg 2. DHCPOFFER
När DHCPv4-servern tar emot ett DHCPDISCOVER-meddelande från en klient, reserverar servern en tillgänglig IPv4-adress (t.ex. 192.168.1.100) för att leasa ut till klienten. Servern skapar också en ARP-post som kopplar samman klientens MAC-adress (som ingick i DHCPDISCOVER) med den reserverade IPv4-adressen. Därefter skickar DHCPv4-servern ett DHCPOFFER-meddelande som ett broadcast med destinationens MAC-adress satt till FF:FF:FF:FF:FF och destinationens IP-adress satt till 255.255.255.255.
Även om detta meddelande skickas som en broadcast och tekniskt sett når alla enheter i nätverket, är det endast avsett för den specifika klienten som begärde en IP-adress. Det är klientens MAC-adress, inbäddad i meddelandets innehåll, som identifierar den avsedda mottagaren. Endast den klient vars MAC-adress matchar den i meddelandet kommer att svara med ett DHCPREQUEST, medan övriga enheter ignorerar erbjudandet.
Steg 3. DHCPREQUEST
När klienten tar emot DHCPOFFER från servern, skickar den tillbaka ett DHCPREQUEST-meddelande (0011.2233.4455 och 0.0.0.0) adresserad till (FFFF.FFFF.FFFF) och (255.255.255.255). Detta meddelande används både för start och förnyelse av IP-lånet. Vid start fungerar DHCPREQUEST som ett godkännande av bindningen till den valda servern för de erbjudna parametrarna och en implicit avvisning till eventuella andra servrar som kan ha erbjudit klienten en bindning.
Många företagsnätverk använder flera DHCPv4-servrar. DHCPREQUEST-meddelandet sänds i form av ett broadcast för att informera denna DHCPv4-server och eventuella andra DHCPv4-servrar om det accepterade erbjudandet.
Steg 4. DHCPACK
När DHCP-servern tar emot ett DHCPREQUEST-meddelande från en klient, kan servern utföra en ICMP-ping till den aktuella IP-adressen (t.ex. 192.168.1.100) för att verifiera att den inte redan används av en annan enhet. Efter detta skapar servern en ARP-post som associerar klientens MAC-adress (00:11:22:33:44:55) med den tilldelade IP-adressen. För att bekräfta tilldelningen skickar servern ett unicast DHCPACK-meddelande direkt till klienten (0011.2233.4455 och 192.168.1.100).
Det är viktigt att betona att DHCPACK-meddelandet skickas som unicast till klientens MAC-adress och nyligen tilldelade IP-adress. Detta skiljer sig från tidigare meddelanden i processen, som skickades som broadcast. DHCPACK är i stort sett identiskt med DHCPOFFER, förutom att fältet för meddelandetyp ändras för att indikera att detta är en bekräftelse på bindningen.
När klienten tar emot DHCPACK, registrerar den den erhållna konfigurationsinformationen, såsom IP-adress, subnetmask, gateway och DNS-servrar. Därefter genomför klienten en ARP-fråga för den tilldelade IP-adressen för att säkerställa att ingen annan enhet använder den. Om ARP-frågan inte besvaras, bekräftar detta att IP-adressen är ledig, och klienten börjar då använda IP-adressen som sin egen.