Vous êtes sur la page 1sur 39

DHCP

Aymen Ayari
Email : aymen.ayari@gmail.com
ISI du KEF
AU 2020-2021

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 la Niveau
poule physique

Au 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 la Niveau
poule réseau

Au 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 25

e DHCPDiscover
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 192.168.0.253
serveur
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


31
Client DHCP Broadcast ARP 192.168.0.9?
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
}
Références

• 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