You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

 

 

 

TDAT2004 - Datakommunikasjon med nettverksprogrammering.
Oppgave 57: DHCP
Erik Kjosavik, Vegard Stenvik


Dynamic Host Configuration Protocol (DHCP) er en standardisert nettverksprotokoll for automatisk tildeling av en nettverkskonfigurasjon til en klient i et nettverk. Den ble først definert i RFC 1531 i oktober 1993, men er blitt oppdatert flere ganger etter det. RFC 2131 fra 2014 er nå den gjeldende versjonen. Når en kobler en PC til et lokalnett (LAN) får man fordelt en IP-adresse automatisk, uten at man må manuelt konfigurere noe. Denne jobben utføres av en server, typisk en ruter.

 

Ønsket funksjonalitet

For å kunne kommunisere med andre på internett trenger enheter en IP-adresser, slik at de har en måte å stadfeste hvem de er og hvem de ønsker å kommunisere med. Med protokollen DHCP gjøres dette veldig enkelt. Brukere trenger ikke å konfigurere noe som helst, de kan bare koble enheten sin til lokal-nettet sitt og så vil de få tildelt en IP-adresse. Enheten din kommuniserer frem og tilbake med en DHCP-server for å oppnå at den får tildelt en adresse. 


Virkemåte

DHCP benytter seg av User Datagram Protocol (UDP) for å sende data frem og tilbake mellom en klient og tjener. UDP portnummer 67 blir benyttet av serveren og UDP portnummer 68 av klienten. Dette er samme portene som ble brukt av BOOTP. Operasjonen med å tildele IP-adresser i det øyeblikket man kobler en enhet til et nettverk skjer i fire faser: discovery, offer, request, acknowledge.


Tildeling av IP-adresser

DHCP støtter tre forskjellige former for tildeling av IP-adresser; automatisk tildeling, dynamisk tildeling, og manuell tildeling. Mange DHCP-servere støtter også bruk av flere av disse formene samtidig.

Automatisk og dynamisk tildeling av en IP-adresse foregår veldig likt. Forskjellen ligger kun i at ved automatisk tildeling så er den tildelte IP-adressen gitt permanent, mens ved dynamisk tildeling gjelder den kun for en periode. Det vil da si at ved dynamisk tildeling så kan man få forskjellig IP-adresse hver gang man kobler seg til nettverket.


Meldingene som sendes ved automatisk/dynamisk tildeling:


1 .

Discovery

DHCP starter med at en klient sender en kringkastingsmelding til nettverket, med beskjed om at den ønsker å få en IP-adresse. En klient kan også hoppe over dette og gjøre en forespørsel på den adressen den hadde sist. Ut i fra hvordan serveren er konfigurert kan dette gå greit og klienten kan benytte den sist brukte ip-adressen sin

2.

Offer

Når en server mottar en DISCOVER-melding, vil den reservere en adresse til klienten og så sende en melding tilbake til klienten. Den meldingen inneholder MAC-adressen til klienten, IP-adressen den har reservert, en subnet-maske, tida klienten kan reservere IP-adressen, og til slutt IP-adressen til serveren som sendte OFFER-meldingen

 

3.
Request

Denne meldingen blir kringkastet på hele nettet og en klient kan derfor motta mange OFFER-meldinger. Da er det viktig at meldingen klienten sender tilbake tilbake til serveren inneholder IP-adressen til serveren den har bestemt seg for å godta. De andre serverene som eventuelt mottar REQUEST-meldinga fra klienten vet da at de ikke trenger å holde av en IP-adresse til denne klienten

4.

Acknowledge

I den siste fasen av konfigureringen vil serveren sende tilbake en pakke med all informasjon som har blitt sendt tidligere. Det er viktig at klienten ser på denne informasjonen slik at den ikke bruker informasjon fra en pakke som kan ha inneholdt feil, utdatert, eller ugyldig data. Dette er en grei måte å forsikre seg om at alt går som avtalt mellom server og klient


 

Ved manuell tildeling vil IP-adressene være satt av nettverksadministrator for en MAC-adresse. Dette kan for eksempel være satt for enkelte av enhetene på nettverket, mens resten av enhetene får tildelt IP-adresse automatisk eller dynamisk.

 


Strukturen til en DHCP-melding

op (1)
Meldingstype
Bootrequest eller bootreply

htype (1)

Adressetype

hlen (1)

Adresselengde

hops (1)


xid (4)

Transaksjons-ID
tilfeldig valgt av klient

secs (2)

Sekunder siden klienten ba om ny adresse

flags (2)

Første bit angir om meldingen er en broadcast-melding. Resten er satt av for framtidig bruk og må være satt til 0

ciaddr (4)

Klientens IP-adresse

yiaddr (4)

din ip-adresse

siaddr (4)

IP-adressen til neste server som skal brukes i bootstrap

giaddr (4)

Relé-adresse

chaddr (16)

Klientens MAC-adresse

sname (64)

file (128)

options ( varierer )

 

Meldinger fra klient

 

En DHCP-klient kan sende følgende meldinger:

 

DHCPDISCOVER - Kringkastes på nettet for å spørre om det er noen servere tilgjengelig på nettet.
DHCPREQUEST - Sendes til en server etter man har fått tilbud om IP-adresse. Dette er for å si ifra om at klienten godtar å bruke den IP-adressen.
DHCPDECLINE - Svar hvis klienten allerede vet at IP-adressen den får foreslått er allerede i bruk.
DHCPRELEASE - Informerer serveren at klienten skal koble seg av nettet. Nå vet serveren at den ikke trenger å reservere den IP-adressen.
DHCPINFORM - Type melding for å sende diverse infromasjon.


Kilder

RFC 951 - BOOTP

 

DHCP

Bilde: Meldingsutveksling mellom klient og tjener



Kategori: Verktøy

Bestemmelser:
 RFC 2131 - Dynamic Host Configuration Protocol
 RFC 951 - BOOTP

  • No labels