DHCPv4

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:

  1. DHCP Discover
  2. DHCP Offer
  3. DHCP Request
  4. DHCP Ack

Steg 1. DHCP Discover

Klienten startar processen genom att sända ett broadcast-meddelande med sin egen MAC-adress 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. Syftet med DHCPDISCOVER-meddelandet är att hitta DHCPv4-servrar på nätverket.

Steg 2. DHCP Offer

När DHCPv4-servern tar emot ett DHCPDISCOVER-meddelande, reserverar den en tillgänglig IPv4-adress för att leasa ut till klienten. Servern skapar också en ARP-post bestående av MAC-adressen för den förfrågande klienten och den leasade IPv4-adressen. DHCPv4-servern skickar sedan det bindande DHCPOFFER-meddelandet till den förfrågande klienten.

Steg 3. DHCP Request

När klienten tar emot DHCPOFFER från servern, skickar den tillbaka ett DHCPREQUEST-meddelande. 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. DHCP Ack

När servern mottar ett DHCPREQUEST-meddelande, kan den genomföra en ICMP-ping till den aktuella adressen för att verifiera att den inte redan är i användning. Vidare skapar servern en ny ARP-post för klientens lånade adress och sänder ett DHCPACK-meddelande som respons. DHCPACK-meddelandet är i princip identiskt med DHCPOFFER, med endast en ändring i fältet för meddelandetyp. När klienten får DHCPACK-meddelandet, registrerar den erhållen konfigurationsinformation och genomför en ARP-fråga för den tilldelade adressen. Om ARP-frågan inte besvaras, bekräftar detta för klienten att IPv4-adressen är tillgänglig och den börjar då använda adressen som sin egen.

Att förnya eller förlänga en låneperiod

Innan hyresperiodens utgång inleder klienten en tvåstegsprocess för att förnya hyresperioden med DHCPv4-servern, enligt följande:

  1. DHCP Request – Innan hyresperioden löper ut skickar klienten ett DHCPREQUEST-meddelande direkt till den DHCPv4-server som ursprungligen lånat IPv4-adressen. Om inget DHCPACK mottas inom en viss tid, sänder klienten ytterligare en DHCPREQUEST som en broadcast, så att någon av de andra DHCPv4-servrarna kan förlänga hyresperioden.
  2. DHCP Ack – När servern tar emot DHCPREQUEST-meddelandet, förlänger hyresperioden genom att returnera ett DHCPACK.

Obs: Dessa meddelanden (främst DHCPOFFER och DHCPACK) kan skickas som unicast eller broadcast enligt IETF RFC 2131.

Om en DHCP-klient inte lyckas förnya sin låneperiod, d.v.s. leasen, för en IP-adress, kan flera situationer uppstå beroende på klientens konfiguration och nätverkets beteende:

  • Adressen Upphör att Gälla – Klienten kommer inte längre att ha tillåtelse att använda den specifika IP-adressen för kommunikation i nätverket.
  • IP-adress Konflikt – Om den ursprungliga enheten fortsätter att använda IP-adressen utan att leasen är giltig, kan detta resultera i en IP-adresskonflikt om adressen tilldelas en annan enhet.
  • Förlorad Nätverkskommunikation – Alla nätverkstjänster som kräver IP-kommunikation (till exempel webbsurfning, e-post, och fjärråtkomst) blir otillgängliga för klienten.

I situationer där en DHCP-klient inte kan erhålla en IP-adress från en DHCP-server, som när DHCP-servern är otillgänglig eller när klientens DHCP IP-lån inte kan förnyas, hanterar olika operativsystem denna situation på lite olika sätt:

  • Windows – Klienten tilldelas själv en APIPA (Automatic Private IP Addressing) adress. Dessa IP-adresser är i intervallet 169.254.0.1 till 169.254.255.254. Med en APIPA-adress kan klienter kommunicera endast lokalt inom samma delnät.
  • Linux – Många Linux-distributioner använder en tjänst som Avahi. Den är en tjänst som möjliggör automatisk upptäckt av nätverksenheter och tjänster på ett lokalt nätverk och kan konfigurera en link-local adress (i samma 169.254/16 nät) om DHCP misslyckas.