Vous êtes sur la page 1sur 39

IUT d'Orsay

réseaux

DHCP
Dynamic Host Configuration Protocol
DHCP [RFC 2131 - 1997 ]

1
BUT
• Permet à un ordinateur qui se connecte sur un
réseau local d'obtenir et de configurer
dynamiquement et automatiquement :
– Son adresse IP
– masque de son sous-réseau
– passerelle par défaut
– adresse IP du serveur DNS
– nom de son domaine

2
Fonctionnement

• Lorsque vous connectez un ordinateur sur le


réseau il n’a aucune connaissance de son
adresse IP
• Par contre il connait:
– son adresse Mac
– L’adresse de broadcast

3
Demande d’adresse IP

4
Demande de bail/adresse IP

• Le poste client vient de se connecter, il n’a pas


d’adresse IP
• En DHCP une adresse IP n’est fournit que
pour un temps donné : Le bail. C’est pourquoi
on parle de demande de bail plutôt que
d’adresse IP

Un bail a une durée : lease-time

5
Demande de bail - UN serveur DHCP
time 1
DHCPDiscover
client
DHCPOffer
2 serveur
3 DHCPRequest

DHCPAck 4
t0
C’est SEULEMENT après t0 que le client peut
utiliser l’adresse IP communiquée par le serveur
jusqu’à t0 + lease-time 6
Trames DHCP
• DHCPDISCOVER :Permet de trouver un serveur DHCP.
La trame est une trame de « broadcast », elle est envoyée à
l’adresse 255.255.255.255. Le client n’ayant pas d’adresse
prend l’adresse 0.0.0.0

• DHCPOFFER : contient une proposition de bail, l’adresse


IP du serveur et l’adresse Mac du client.
• DHCPREQUEST : indique à tous les serveurs quel bail il a
accepté et/ou demande de renouvellement de bail
• DHCPACK : le serveur confirme le bail.

7
Renouvellement de bail
• A la moitié du bail, le client demande le
renouvellement (prolongation de son bail), il n’y
aura alors que les trames DHCPREQUEST et
DHCPACK qui seront échangées.
• Si au bout des 7/8 du bail pas de réponse du
serveur (ie pas de DHCPACK) alors le client
essayera de joindre un serveur DHCP quelconque
sur le réseau.

• Lors du renouvellement, le client utilise l’adresse IP


donnée précédemment par le serveur

Un renouvellement est donc beaucoup plus simple


8
Demande de renouvellement de bail
time
client 3 DHCPRequest

serveur
DHCPAck
4
t1

Le client peut utiliser l’adresse IP communiquée


par le serveur jusqu’à t1+lease-time

9
Les paquets IP échangés Lors d’un
renouvellement de bail

Source Destination Protocol Info

192.168.0.9 192.168.0.253 DHCPRequest


192.168.0.253 192.168.0.9 DHCPAck

10
Message DHCP

11
Message DHCP
Envoyé par le Client
• DHCPDISCOVER demande de localisation
des serveurs DHCP
• DHCPREQUEST demande de bail
• DHCPDECLINE refus d’adresse IP, elle est
déjà utilisée
• DHCPRELEASE libération son bail
• DHCPINFORM demande de paramètres
locaux (autre qu’une adresse IP)
12
Message DHCP
Envoyé par le Serveur
• DHCPOFFER réponse à un DHCPDISCOVER
• DHCPACK contient des paramètres et
l'adresse IP du client
• DHCPNAK refus de bail

13
Problème de
l’œuf et de la poule

Encapsulation d’un message


DHCP

14
Encapsulation d’un message DHCP

Trame contenant un BOOTP DHCP


message « DHCP »

UDP

IP Message
Eth UDP
DHCP
IP

par exemple
Ethernet
15
Trame contenant un message DHCP

Adresse physique de l’émetteur


Ethernet Adresse physique du destinataire de
la trame

Adresse IP source
IP
Adresse IP destinataire du paquet IP
Port source
UDP
Port destination du datagramme

Message DHCP
16
Le Problème de l’oeuf et Niveau
la poule physique

A moment de la demande de bail,

• Est-ce que le client connaît son adresse


physique ?

• Est-ce que le client connaît l’adresse physique


du serveur DHCP ?

QUE FAIRE ???


17
Le Problème de l’oeuf et Niveau
la poule réseau
A moment de la demande de bail,
• Est-ce que le client connaît l’adresse IP du
serveur DHCP ?

• Est-ce que le client connaît son adresse IP ?

• Est-ce que le serveur DHCP connaît l’adresse


IP du client?
QUE FAIRE ???
18
DIFFUSION niveau
physique
• Diffusion (broadcast) distribution de la requête
DHCP à tous les postes connectés

Client
DHCP Adresse de
diffusion:
ff:ff:ff:ff:ff:ff

19
DIFFUSION niveau réseau

• Diffusion (broadcast) distribution de la requête


DHCP à tous les postes connectés

Client Utilsation de
DHCP l’adresse IP de
diffusion générique
255.255.255.255

20
Niveau Transport - requêtes
• Le client DHCP envoie la requête sur le port
67. Le serveur DHCP écoute sur le port 67.

Client
Serveur DHCP
DHCP 67

21
Niveau Transport - réponses

• Le serveur DHCP envoie la requête sur le port


68. Le client DHCP écoute sur le port 68.

Client
Serveur DHCP
DHCP 68

22
DHCP : le client utilise un port réservé
• Port serveur DHCP 67
• Port Client DHCP 68
Client Serveur
DHCP DHCP
65 65
66 66
67 67
68 68
69 69
23
Trame contenant un DHCPDiscover

00:20.8f:b9:49:37

Ethernet ff:ff:ff:ff:ff:ff

0.0.0.0
IP
255.255.255.255

68
UDP 67

Message DHCPDiscover 24
Adresse Trame contenant
physique du DHCPDiscover
client DHCP
00:20.8f:b9:49:37
adresse
ff:ff:ff:ff:ff:ff physique de
Adresse diffusion
IP 0.0.0.0
« neutre »
Adresse IP
255.255.255.255
de
68 diffusion
générique
Port 67
source
datagamm Message
e DHCPDiscover 25
Trame contenant un DHCPOffer
00.00.b4:bb:7d:ee

Ethernet 00:20.8f:b9:49:37

192.168.0.253
IP

67
UDP 68

Message DHCPDiscover
26
Adresse DHCPOffer adresse
physique du
physique
serveur DHCP 00.00.b4:bb:7d:ee du client

00:20.8f:b9:49:37

Adresse
IP serveur 192.168.0.253
DHCP

67
68
Port
source Message DHCPDiscover
datagamm
27
e
Trame contenant un DHCPRequest

00:20.8f:b9:49:37

Ethernet ff:ff:ff:ff:ff:ff

0.0.0.0
IP
255.255.255.255

68
UDP 67

Message DHCPRequest 28
Demande de baux
DES serveurs DHCP
serveur client serveur
DHCPDiscover DHCPDiscover
DHCPOffer
DHCPOffer

DHCPRequest
DHCPRequest

Le client refuse DHCPAck


mon offre
time
29
Bilan des échanges lors
d’une demande de bail

30
Les paquets IP échangés
Source Destination Protocol Info

0.0.0.0 255.255.255.255 DHCPDiscover

# le serveur DHCP vérifie que l’adresse IP qu’il veut offrir


n’est pas utilisée
Serveur DHCP Broadcast ARP 192.168.0.9?

192.168.0.253 DHCPOffer
0.0.0.0 255.255.255.255 DHCPRequest
192.168.0.253 192.168.0.9 DHCPACK

# le client vérifie via ARP que personne n’utilisa sa nouvelle


adresse
Client DHCP Broadcast ARP 192.168.0.9?
31
Format d’un message DHCP

32
Dynamic Host Configuration Protocol

DHCP a été conçu comme complément de


BOOTP- Bootstrap Protocol –

BOOTP: [RFC 951 - 1985]

• Protocole de démarrage
• Une station récupère les informations pour
s’amorcer (« booter ») sur un serveur
« d’amorçage » distant
33
Format d’un message BOOTP
OP HTYPE HLEN HOPS
identifiant session
secs flags
adresse IP client (écrit par le client)
adresse IP client (proposée par le serveur)
serveur adresse IP
gaterway adresse IP
adresse physique du client
nom du serveur
Fichier d’amorçage
OPTION 34
Format d’un message DHCP
OP HTYPE HLEN HOPS
identifiant session
secs flags
adresse IP client (écrit par le client)
adresse IP client (proposée par le serveur)
serveur adresse IP
gaterway adresse IP
adresse physique du client
nom du serveur
Fichier d’amorçage
OPTIONS définies dans DHCP 35
Sous Unix/Linux

36
Sous Unix/Linux

• Client DHCP : dhclient


• Serveur DHCP : dhcpd
• Fichier de configuration du serveur :
/etc/dhcpd.conf

37
Exemple de fichier dhcpd.conf
# option definitions common to all supported networks...
option domain-name "voip.u-psud.fr";
option domain-name-servers 129.175.34.35, 129.175.36.37;
option option-150 code 150 = ip-address;
option option-150 192.168.200.10;

default-lease-time 600;
max-lease-time 7200;
subnet 172.16.2.0 netmask 255.255.255.128 {
#VOIP IPN bat 106 - vlan 1201
range 172.16.2.4 172.16.2.126;
option routers 172.16.2.1;
}

subnet 172.16.2.128 netmask 255.255.255.128 {


#VOIP CSNSM bat 104 - vlan 1204
range 172.16.2.132 172.16.2.254;
option routers 172.16.2.129;
38
}
Remerciement

• http://christian.caleca.free.fr/dhcp/

• http://www.frameip.com/dhcp/

• RFC en Français : http://abcdrfc.free.fr/

• Manuel de dhcpd, de dhclient, et de


dhcpd.conf
39

Vous aimerez peut-être aussi