DHCP 
(Dynamic Host Configuration Protocol) 
M.OUBROU Aderrahmane 
DHCP [RFC 2131 – 1997]
BUT 
Permet à un ordinateur qui se connecte sur un 
réseau local d'obtenir et de configurer 
dynamiquement et automatiquem...
Fonctionnement 
Lorsque vous connectez un ordinateur sur le réseau 
il n’a aucune connaissance de son adresse IP 
Par cont...
Demande de bail/adresse IP 
Le poste client vient de se connecter, il n’a pas @IP 
En DHCP une adresse IP n’est fournit qu...
Demande de bail - UN serveur DHCP 
C’est SEULEMENT après t0 que le client peut utiliser 
l’adresse IP communiquée par le s...
Trames DHCP 
DHCPDISCOVER :Permet de trouver un 
serveur DHCP. La trame est une trame de 
« broadcast », elle est envoyée ...
Renouvellement de bail 
A la moitié du bail, le client demande le renouvellement 
(prolongation de son bail), il n’y aura ...
Demande de renouvellement de bail 
Le client peut utiliser l’adresse IP communiquée 
par le serveur jusqu’à t1+lease-time ...
Les paquets IP échangés Lors d’un 
renouvellement de bail 
Source Destination Protocol Info 
192.168.0.9 192.168.0.253 DHC...
Message DHCP
Message DHCP 
Envoyé par le Client 
DHCPDISCOVER demande de localisation des 
serveurs DHCP 
DHCPREQUEST demande de bail 
...
Message DHCP 
Envoyé par le Serveur 
DHCPOFFER réponse à un DHCPDISCOVER 
DHCPACK contient des paramètres et l'adresse IP ...
Problème de 
l’oeuf et de la poule 
Encapsulation d’un message DHCP
Encapsulation d’un message DHCP 
BOOTP DHCP 
UDP 
IP 
par exemple 
Ethernet 
Trame contenant un 
message « DHCP » 
Message...
Trame contenant un message DHCP 
Adresse physique de l’émetteur 
Adresse physique du destinataire de 
la trame 
Adresse IP...
Le Problème de l’oeuf et la poule 
17 
A moment de la demande de bail, 
Est-ce que le client connaît son adresse physique ...
Le Problème de l’oeuf et la poule 
A moment de la demande de bail, 
Est-ce que le client connaît l’adresse IP du serveur D...
DIFFUSION niveau physique 
Diffusion (broadcast) distribution de la requête DHCP à 
tous les postes connectés 
Client 
DHC...
DIFFUSION niveau réseau 
Diffusion (broadcast) distribution de la requête DHCP à 
tous les postes connectés 
20 
Client 
D...
Niveau Transport - requêtes 
Le client DHCP envoie la requête sur le port 67. Le 
serveur DHCP écoute sur le port 67. 
Ser...
Niveau Transport - requêtes 
Le client DHCP envoie la requête sur le port 67. Le 
serveur DHCP écoute sur le port 67. 
Ser...
Niveau Transport - réponses 
Le serveur DHCP envoie la requête sur le port 68. Le 
client DHCP écoute sur le port 68. 
Ser...
DHCP : le client utilise un port réservé 
24 
Port serveur DHCP 67 
Port Client DHCP 68 
Client 
DHCP 
65 
66 
67 
68 
69 ...
Trame contenant un DHCPDiscover 
00:20.8f:b9:49:37 
ff:ff:ff:ff:ff:ff 
0.0.0.0 
255.255.255.255 
25 Message DHCPDiscover 
...
Trame contenant 
DHCPDiscover 
26 
00:20.8f:b9:49:37 
ff:ff:ff:ff:ff:ff 
0.0.0.0 
255.255.255.255 
Message 
68 
67 
DHCPDi...
Trame contenant un DHCPOffer 
00.00.b4:bb:7d:ee 
00:20.8f:b9:49:37 
192.168.0.253 
Message DHCPDiscover 
27 
67 
68 
Ether...
28 
67 
68 
00.00.b4:bb:7d:ee 
00:20.8f:b9:49:37 
192.168.0.253 
Message DHCPDiscover 
adresse 
physique 
du client 
Adres...
Trame contenant un DHCPRequest 
00:20.8f:b9:49:37 
ff:ff:ff:ff:ff:ff 
0.0.0.0 
255.255.255.255 
29 Message DHCPRequest 
68...
Demande de baux 
DES serveurs DHCP 
serveur client serveur 
DHCPDiscover 
DHCPOffer 
DHCPRequest 
30 
DHCPAck 
time 
DHCPD...
Bilan des échanges lors d’une 
demande de bail
Les paquets IP échangés 
Source Destination Protocol Info 
0.0.0.0 255.255.255.255 DHCPDiscover 
# le serveur DHCP vérifie...
Format d’un message DHCP
Dynamic Host Configuration Protocol 
DHCP a été conçu comme complément de 
BOOTP- Bootstrap Protocol – 
BOOTP: [RFC 951 - ...
Format d’un message BOOTP 
HTYPE HOPS 
identifiant session 
secs 
flags 
adresse IP client (écrit par le client) 
adresse ...
HTYPE HOPS 
identifiant session 
secs 
flags 
adresse IP client (écrit par le client) 
adresse IP client (proposée par le ...
Sous Unix/Linux
Sous Unix/Linux 
Client DHCP : dhclient 
Serveur DHCP : dhcpd 
Fichier de configuration du serveur : /etc/dhcpd.conf
Exemple de fichier dhcpd.conf 
# option definitions common to all supported networks... 
option domain-name "voip.u-psud.f...
Documentation 
http://christian.caleca.free.fr/dhcp/ 
http://www.frameip.com/dhcp/ 
RFC en Français : http://abcdrfc.free....
Dhcp
Dhcp
Prochain SlideShare
Chargement dans…5
×

Dhcp

821 vues

Publié le

DHCP

Publié dans : Internet
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
821
Sur SlideShare
0
Issues des intégrations
0
Intégrations
34
Actions
Partages
0
Téléchargements
120
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive
  • L'en-tête UDP contient les numéros de port source et destination. Le protocole BOOTP utilise deux numéros de ports réservés, « client BOOTP » (n° de port 68) et « serveur BOOTP » (n° de port 67). Le client envoie ses requêtes en utilisant « serveur BOOTP » comme port de destination, habituellement à l'adresse de diffusion. Le serveur envoie ses réponses en utilisant « client BOOTP » comme port de destination ; en fonction des facilités offertes par le noyau ou le pilote du serveur, cela peut être envoyé ou non à l'adresse de diffusion (voir les explication plus loin dans la section intitulée « Problème de l'Oeuf et de la Poule » plus bas). La raison pour laquelle deux ports réservés sont utilisés, est que l'on veut éviter de « réveiller » et de programmer les démons serveurs BOOTP, quand une réponse d'amorçage doit être diffusée vers un client. Puisque le serveur et les autres hôtes n'écouteront pas le port « client BOOTP », de telles diffusions entrantes seront filtrées au niveau du noyau. Nous ne pourrions pas simplement permettre au client de choisir un numéro de port « aléatoire » pour le champ de port source UDP, puisque étant donné que la réponse du serveur peut être diffusée, un numéro de port choisi aléatoirement pourrait troubler les autres hôtes qui sont justement en train d'écouter sur ce port.
  • Dhcp

    1. 1. DHCP (Dynamic Host Configuration Protocol) M.OUBROU Aderrahmane DHCP [RFC 2131 – 1997]
    2. 2. 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
    3. 3. 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
    4. 4. Demande de bail/adresse IP Le poste client vient de se connecter, il n’a pas @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. 5. Demande de bail - UN serveur DHCP C’est SEULEMENT après t0 que le client peut utiliser l’adresse IP communiquée par le serveur jusqu’à t0 + lease-time 6 time DHCPDiscover 2 DHCPOffer 1 3 DHCPRequest DHCPAck 4 client serveur t0
    6. 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. 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. 8. Demande de renouvellement de bail Le client peut utiliser l’adresse IP communiquée par le serveur jusqu’à t1+lease-time 9 time 3 DHCPRequest 4 DHCPAck client serveur t1
    9. 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
    10. 10. Message DHCP
    11. 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. 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. 13. Problème de l’oeuf et de la poule Encapsulation d’un message DHCP
    14. 14. Encapsulation d’un message DHCP BOOTP DHCP UDP IP par exemple Ethernet Trame contenant un message « DHCP » Message DHCP Eth IP UDP
    15. 15. Trame contenant un message DHCP Adresse physique de l’émetteur Adresse physique du destinataire de la trame Adresse IP source Adresse IP destinataire du paquet IP Port source Port destination du datagramme 16 Message DHCP Ethernet IP UDP
    16. 16. Le Problème de l’oeuf et la poule 17 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 ??? Niveau physique
    17. 17. Le Problème de l’oeuf et la poule 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 ??? Niveau réseau
    18. 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
    19. 19. DIFFUSION niveau réseau Diffusion (broadcast) distribution de la requête DHCP à tous les postes connectés 20 Client DHCP Utilsation de l’adresse IP de diffusion générique 255.255.255.255
    20. 20. Niveau Transport - requêtes Le client DHCP envoie la requête sur le port 67. Le serveur DHCP écoute sur le port 67. Serveur DHCP 21 67 Client DHCP
    21. 21. Niveau Transport - requêtes Le client DHCP envoie la requête sur le port 67. Le serveur DHCP écoute sur le port 67. Serveur DHCP 22 67 Client DHCP
    22. 22. Niveau Transport - réponses Le serveur DHCP envoie la requête sur le port 68. Le client DHCP écoute sur le port 68. Serveur DHCP 23 68 Client DHCP
    23. 23. DHCP : le client utilise un port réservé 24 Port serveur DHCP 67 Port Client DHCP 68 Client DHCP 65 66 67 68 69 Serveur DHCP 65 66 67 68 69
    24. 24. Trame contenant un DHCPDiscover 00:20.8f:b9:49:37 ff:ff:ff:ff:ff:ff 0.0.0.0 255.255.255.255 25 Message DHCPDiscover 68 67 Ethernet IP UDP
    25. 25. Trame contenant DHCPDiscover 26 00:20.8f:b9:49:37 ff:ff:ff:ff:ff:ff 0.0.0.0 255.255.255.255 Message 68 67 DHCPDiscover adresse physique de diffusion Adresse IP de diffusion générique Adresse physique du client DHCP Adresse IP « neutre » Port source datagamm e
    26. 26. Trame contenant un DHCPOffer 00.00.b4:bb:7d:ee 00:20.8f:b9:49:37 192.168.0.253 Message DHCPDiscover 27 67 68 Ethernet IP UDP
    27. 27. 28 67 68 00.00.b4:bb:7d:ee 00:20.8f:b9:49:37 192.168.0.253 Message DHCPDiscover adresse physique du client Adresse physique du serveur DHCP Adresse IP serveur DHCP Port source datagamm e DHCPOffer
    28. 28. Trame contenant un DHCPRequest 00:20.8f:b9:49:37 ff:ff:ff:ff:ff:ff 0.0.0.0 255.255.255.255 29 Message DHCPRequest 68 67 Ethernet IP UDP
    29. 29. Demande de baux DES serveurs DHCP serveur client serveur DHCPDiscover DHCPOffer DHCPRequest 30 DHCPAck time DHCPDiscover DHCPOffer DHCPRequest Le client refuse mon offre
    30. 30. Bilan des échanges lors d’une demande de bail
    31. 31. 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?
    32. 32. Format d’un message DHCP
    33. 33. 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
    34. 34. Format d’un message BOOTP HTYPE HOPS identifiant session secs flags adresse IP client (écrit par le client) adresse IP client (proposée par le serveur) 35 OP HLEN serveur adresse IP gaterway adresse IP adresse physique du client nom du serveur Fichier d’amorçage OPTION
    35. 35. HTYPE HOPS identifiant session secs flags adresse IP client (écrit par le client) adresse IP client (proposée par le serveur) 36 Format d’un message DHCP OP HLEN serveur adresse IP gaterway adresse IP adresse physique du client nom du serveur Fichier d’amorçage OPTIONS définies dans DHCP
    36. 36. Sous Unix/Linux
    37. 37. Sous Unix/Linux Client DHCP : dhclient Serveur DHCP : dhcpd Fichier de configuration du serveur : /etc/dhcpd.conf
    38. 38. 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; } 39
    39. 39. Documentation 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

    ×