Vous êtes sur la page 1sur 6

Dynamic Host Configuration Protocol

IUT d'Orsay
ASR4
réseaux
réseaux
• But: permet à un ordinateur qui se connecte
DHCP sur un réseau local d'obtenir dynamiquement
et automatiquement :
– Son adresse IP
DHCP [RFC 2131 - 1997 ] – masque de son sous-réseau
– passerelle par défaut
– adresse IP du serveur DNS
– nom de son domaine

C. Johnen 1 2

Demande de bail

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


Demande et d’adresse IP
Renouvellement de bail • Le précédent bail du client vient d’expirer, le
client n’a plus d’adresse IP

Un bail a une durée : lease-time

3 4

Demande de bail - UN serveur DHCP Renouvellement de bail


time 1
DHCPDiscover A la moitié du bail, le client demande le
client renouvellement (prolongation de son bail)
DHCPOffer
2 serveur Lors du renouvellement, le client utilise l’adresse IP
3 DHCPRequest donnée précédemment par le serveur

Un renouvellement est donc beaucoup plus simple


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 5 6

1
Demande de renouvellement de bail Les paquets IP échangés Lors d’un
renouvellement de bail
time
client 3 DHCPRequest Source Destination Protocol Info
serveur
DHCPAck 192.168.0.9 192.168.0.253 DHCPRequest
4
t1 192.168.0.253 192.168.0.9 DHCPAck

Le client peut utiliser l’adresse IP communiquée


par le serveur jusqu’à t1+lease-time

7 8

Message DHCP
Envoyé par le Client
• DHCPDISCOVER demande de localisation
des serveurs DHCP
Message 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)
9 10

Message DHCP
Envoyé par le Serveur
• DHCPOFFER réponse à un DHCPDISCOVER Problème de
• DHCPACK contient des paramètres et l’œuf et de la poule
l'adresse IP du client
• DHCPNAK refus de bail
Encapsulation d’un message
DHCP

11 12

2
Encapsulation d’un message DHCP Trame contenant un message DHCP

Adresse physique de l’émetteur


Trame contenant un BOOTP DHCP Adresse physique du destinataire de
message « DHCP » Ethernet
la trame
UDP
Adresse IP source
IP
IP Message Adresse IP destinataire du paquet IP
Eth UDP
DHCP IP
Port source
UDP
par exemple Port destination du datagramme
Ethernet Message DHCP
13 14

Le Problème de l’oeuf et Niveau Le Problème de l’oeuf et Niveau


la poule physique la poule réseau
A moment de la demande de bail,
A moment de la demande de bail,
• Est-ce que le client connaît l’adresse IP du
serveur BOOTP ?
• Est-ce que le client connaît son adresse
physique ?
• Est-ce que le client connaît son adresse IP ?

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


du serveur DHCP ? • Est-ce que le serveur DHCP connaît l’adresse
IP du client?
QUE FAIRE ??? QUE FAIRE ???
15 16

DIFFUSION niveau
DIFFUSION niveau réseau
physique
• Diffusion (broadcast) distribution de la requête • Diffusion (broadcast) distribution de la requête
BOOTP à tous les postes connectés BOOTP à tous les postes connectés

Client Client Utilsation de


DHCP Adresse de DHCP l’adresse IP de
diffusion:
diffusion générique
ff:ff:ff:ff:ff:ff
255.255.255.255

17 18

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

Client Client
Serveur DHCP Serveur DHCP
DHCP 67 DHCP 68

19 20

DHCP : le client utilise un port réservé Trame contenant un DHCPDiscover

• Port serveur DHCP 67 00:20.8f:b9:49:37


• Port Client DHCP 68
Ethernet ff:ff:ff:ff:ff:ff
Client Serveur
DHCP DHCP
65 0.0.0.0
65
IP
66 66 255.255.255.255

67 67 68
UDP 67
68 68
69 69 Message DHCPDiscover
21 22

Adresse Trame contenant Trame contenant un DHCPOffer


physique du DHCPDiscover
client DHCP 00.00.b4:bb:7d:ee
00:20.8f:b9:49:37
adresse Ethernet 00:20.8f:b9:49:37
ff:ff:ff:ff:ff:ff physique de
Adresse diffusion
IP 192.168.0.253
0.0.0.0 IP
« neutre » 192.168.0.9
Adresse IP
255.255.255.255
de diffusion 67
68 générique
UDP 68
Port 67
source Message DHCPDiscover
datagamme Message
DHCPDiscover 23 24

4
Adresse DHCPOffer adresse Trame contenant un DHCPRequest
physique du physique
serveur DHCP du client
00.00.b4:bb:7d:ee
00:20.8f:b9:49:37
00:20.8f:b9:49:37
Ethernet ff:ff:ff:ff:ff:ff
Adresse
IP serveur 192.168.0.253
Adresse IP 0.0.0.0
DHCP 192.168.0.9 proposée IP
au client 255.255.255.255
67
68
68
Port UDP 67
source Message DHCPDiscover
datagamme Message DHCPRequest
25 26

Plusieurs serveurs DHCP

serveur client serveur


DHCPDiscover DHCPDiscover Bilan des échanges lors
DHCPOffer
DHCPOffer d’une demande de bail

DHCPRequest
DHCPRequest

Le client refuse DHCPAck


mon offre
time
27 28

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 Sous Unix/Linux
n’est pas utilisée
Serveur DHCP Broadcast ARP 192.168.0.9?

192.168.0.253 192.168.0.9 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?
29 30

5
Sous Unix/Linux Exemple de dhcpd.conf
default-lease-time 600 ;
• Client DHCP : dhclient max-lease-time 7200 ;
option domain-name "ch19231" ;
• Serveur DHCP : dhcpd
option domain-name-servers 192.168.1.1 ;
• Fichier de configuration du serveur :
/etc/dhcpd.conf option routers 192.168.1.1 ;

subnet 192.168.1.0 netmask 255.255.255.0


{option subnet-mask 255.255.255.0 ;
option broadcast-address 192.168.1.255 ;
range 192.168.1.11 192.168.1.20 ; }
31 32

Exemple de fichier dhcpd.conf


default-lease-time 600 ; durée en
max-lease-time 7200 ; secondes

option domain-name "ch19231" ; Format d’un message DHCP


option domain-name-servers 192.168.1.1;
option routers 192.168.1.1 ;

paramétrage de DNS.

passerelle Information à stocker dans


par défaut /etc/resolv.conf
33 34

Dynamic Host Configuration Protocol Remerciement


DHCP a été conçu comme complément de • http://christian.caleca.free.fr/dhcp/
BOOTP- Bootstrap Protocol –

BOOTP: [RFC 951 - 1985] • http://www.frameip.com/dhcp/

• Protocole de démarrage • RFC en Français : http://abcdrfc.free.fr/


• Une station récupère les informations pour
s’amorcer (« booter ») sur un serveur • Manuel de dhcpd, de dhclient, et de
« d’amorçage » distant dhcpd.conf
35 36

Vous aimerez peut-être aussi