Vous êtes sur la page 1sur 19

s Configuration automatique s

Configuration automatique
(/home/terre/d01/adp/bcousin/Polys/Internet:gestion_reseau/6.DHCP.fm- 29 Septembre 1999 12:07)

PLAN

Introduction Les principes de DHCP Le protocole DHCP Conclusion

Bibliographie L.Toutain, Rseaux locaux et Internet, Herms 1998 D.Comer, TCP/IP : architectures, protocoles et applications, InterEditions, 1996

____ Bernard Cousin - IFSIC - Universit Rennes I

144

s Configuration automatique s

1. Introduction
Linitialisation dune station est une phase importante et complexe : les stations sans disque, les stations mobiles, la gestion dun grand parc de stations, la disponibilit rduite de lespace dadressage.  un processus automatique de conguration. utilisation de plusieurs protocoles (RARP : @IP, ICMP : router discovery and subnet mask, TFTP : transfert du chier dinitialisation, DNS, etc)  change de nombreux messages  retard Propositions : BOOTP (Bootstrap protocol) : rfc 951, 1084, 1123, 1542. DHCP (Dynamic Host Conguration protocol) : rfc 1541, 1533 . amliore et remplace BOOTP (leur compatibilit est discute dans rfc 1534)

____ Bernard Cousin - IFSIC - Universit Rennes I

145

s Configuration automatique s

2. Les principes de DHCP


2.1. Introduction DHCP Dynamic Host Conguration protocol rgle les problmes de configuration non rsolus par ARP ou BOOTP : RARP : . protocole de bas niveau : le portage dun serveur RARP est spcique au systme et au LAN . manque de souplesse : lidentication de la station se fait uniquement laide de ladresse physique (@IEEE). . incomplet : il faut dautres changes pour congurer compltement une station BOOTP : . . statique : affectation permanente dune adresse une station, la raffectation dadresses inutilises est impossible jeu limit de paramtres de conguration

 DHCP
____ Bernard Cousin - IFSIC - Universit Rennes I 146

s Configuration automatique s

2.2. Les services DHCP DHCP propose 3 mcanismes dallocation des adresses : allocation automatique . association permanente entre une station et son adresse . dtermine lors de la premire connexion allocation dynamique . lassociation est limite dans le temps . la rutilisation des adresses est possible allocation manuelle . lassociation est dtermine par ladministrateur DHCP permet aussi de vrifier lunicit de lassociation.

____ Bernard Cousin - IFSIC - Universit Rennes I

147

s Configuration automatique s

2.3. Lallocation dynamique Le serveur DHCP affecte une station une adresse pendant une dure limite.

 le serveur DHCP a lou ladresse au client


le serveur prcise la dure lors de la location le client avant lexpiration doit demander renouveler le bail ou cesser dutiliser ladresse une location de dure innie (code FFFF16) est permanente !

Renouvellement le client doit renouveler le bail auprs du serveur slectionn entre T1 et T2 il peut renouveler le bail auprs de nimporte quel serveur aprs T2 par dfaut : . T1 = 50% de la dure du bail . T2 = 87,5% de cette dure On peut rsilier son bail par anticipation.

____ Bernard Cousin - IFSIC - Universit Rennes I

148

s Configuration automatique s

2.4. Client/Serveur DHCP DHCP utilise dUDP : numros de port rservs pour le serveur et client DHCP : 67 et 68.
DHCP UDP IP

La station sollicite le serveur DHCP en diffusant un message de broadcast (@IP = 255.255.255.255), en donnant les informations quelle possde : - gnralement sa propre adresse MAC Le serveur DHCP rpond par le mme moyen (broadcast) tant que la station ne connat pas sa propre adresse : - il consulte sa base de donnes et transmet les informations quil connat : @IP
@IPsrc =0.0.0.0, @IPdest=255.255.255.255, #Port_src =67, #Port_dest=68, DHCP req, client_hardware_@ = x.x.x.x.x.x hardware @ IP@/subnet mask x.x.x.x.x.x == z.z.z.z/y.y.y.y

La station ?.?.?.?

x.x.x.x.x.x

serveur DHCP 150.49.48.01


@IPsrc =150.49.48.01, @IPdest=255.255.255.255, #Port_src =68, #Port_dest=67, DHCP resp, client_IP_@ = z.z.z.z, subnet mask = y.y.y.y

- nota : l@IP a pu tre choisie dynamiquement parmi des adresses libres et pas en fonction de l@MAC de la station
____ Bernard Cousin - IFSIC - Universit Rennes I 149

s Configuration automatique s

2.5. Mcanismes spciques Gestion des erreurs la dtection des erreurs est effectue par le champ de contrle derreur dUDP . DHCP utilise UDP Correction par temporisation et retransmission : . chaque client arme un temporisateur lors de lmission dune demande, . il dsarme le temporisateur lors de la rception de la rponse . lors du dclenchement du temporisateur le client retransmet sa demande (10 fois max) Optimisation Pour viter les avalanches : . la retransmission est retarde dune valeur alatoire : 4 secondes . la valeur de ce retard est double chaque retransmission du mme message le bit de non-fragmentation est positionn dans les datagrammes IP : . plus grande vitesse de transmission, moins de contrainte de stockage Multi serveur : plusieurs serveurs DHCP peuvent rpondre la sollicitation dun client (DHCPdiscover)
____ Bernard Cousin - IFSIC - Universit Rennes I 150

s Configuration automatique s

lindisponibilit de lun dentre eux nest pas critique

 Rponses multiples :
. le client slectionne la meilleure rponse, et indique le serveur slectionn (DHCPrequest)

Agent DHCP : Des agents DHCP (identiques aux agents BOOTP) peuvent servir de relais entre client et serveur DHCP qui ne seraient pas sur le mme subnet.

____ Bernard Cousin - IFSIC - Universit Rennes I

151

s Configuration automatique s

3. Le protocole DHCP
3.1. Le format gnral des messages DHCP
0. . . .7 . . . .15. . . . 23 . . . .31 bits operation hardware type adress length hop count message identification timestamp flags client IP address your IP address server IP address gateway IP address client hardware adress server name bootstrap file name options

Une partie fixe et une partie variable contenant les options, . taille minimale du message : 576 octets. nota : tous les champs sont de longueur xe sauf le dernier ! Pour les 3 avant-derniers champs une partie utile peut tre distingue. Format de message compatible avec BOOTP, sauf pour le dernier champ.
____ Bernard Cousin - IFSIC - Universit Rennes I 152

s Configuration automatique s

3.2. Les champs obligatoires : - le champ Operation (1 octet) : le type du message . 1 = demande . 2 = rponse - le champ Hardware_type (1 octet) : type du support employ . code utilis par dautres protocoles dInternet (cf RFC 1700) . exemple : Ethernet = 1 - le champ Hardware address length (1 octet) : longueur de ladresse physique en octets . par exemple : Ethernet = 6 - le champ Hop count (1 octet) : nombre dagents DHCP (intermdiaires) ayant relays le message entre le client et le serveur . initialement 0 et incrment par chaque relais - le champ Identication (4 octets) : associe la demande et sa(es) rponse(s) . permet de distinguer deux transactions diffrentes issues de la mme machine puisque les mmes numros de port sont toujours utiliss - le champ Timestamp (2 octets) : indique lheure laquelle le client commenc vouloir se congurer - le champ Flags (2 octets) :
____ Bernard Cousin - IFSIC - Universit Rennes I 153

s Configuration automatique s

le bit de poids fort Broadcast response : la rponse est diffuse (ladresse du client nest pas utilise ou connue) - le champ Client_IP_address (4 octets) : . ladresse du client si le client la connat - le champs Your_IP_address (4 octets) : . ladresse du client, si le serveur la connat et si le champ client_IP_address tait zro - le champ Gateway IP address (4 octets) : . ladresse de lagent intermdiaire utiliser lors de la conguration - le champ Hardware address (16 octets) : . la longueur utile de ce champ est dtermine par le champ Hardware address length. - le champ IP_address server (4 octets) et le champ Name server (64 octets) : . permettent au client de slectionner un serveur parmi plusieurs - le champ Bootstrap file name (128 octets) . on distingue 2 phases lors de la conguration : . - change des informations . - change du chier de dmarrage (amorce), cette change peut faire appel un protocole de transfert de chiers (par ex. TFTP).
____ Bernard Cousin - IFSIC - Universit Rennes I 154

s Configuration automatique s

. .

gnralement ce chier damorage contient le code excutable du noyau. lorsque ce champ est nul, le chier charger est dtermin localement.

Nota : Les clients utilisent les champs pour indiquer toutes les informations dont ils disposent dj ou lorsquils veulent utiliser un serveur particulier. Si les champs sont non renseigns (nuls) les serveurs qui reoivent une telle demande peuvent y rpondre.

____ Bernard Cousin - IFSIC - Universit Rennes I

155

s Configuration automatique s

3.3. Les options La longueur minimale du champ Options est de 312 octets. - une autre longueur peut tre ngocie (option de code 57). - on peut ngocier la r-utilisation de lemplacement des 2 avant-derniers champs pour mmoriser les options (option de code 52). Le champ Options est forme dune liste doptions, sauf le premier mot. Le premier mot doit contenir la valeur 99.130.83.99. - par compatibilit avec BOOTP - il servait de magic cookie : facilite le dcodage Chaque option : codage TLV : . type de loption sur 1 octet . longueur du champ valeur de loption sur 1 octet . la valeur de loption

Les options servent : la conguration initiale de la station,


____ Bernard Cousin - IFSIC - Universit Rennes I 156

s Configuration automatique s

la conguration des protocoles (de haut et bas niveaux) : . IP, ARP, Ethernet, TCP, NIS, NTP, NetBios, X window system, et ceux spciques chaque constructeur, plus dune soixantaine doptions !

____ Bernard Cousin - IFSIC - Universit Rennes I

157

s Configuration automatique s

Tableau 1 : quelques exemples doptions de DHCP type de loption bourrage masque heure de dcalage routeurs serveurs de noms serveurs de traces serveurs dimprimante serveurs de ressources nom de la station longueur du chier damorage extension du chemin adresse demande dur de location overload option DHCP option longueur maximum des messages n de liste doptions
____ Bernard Cousin - IFSIC - Universit Rennes I

code de loption 0 1 2 3 6 7 9 11 12 13 18 50 51 52 53 57 255

longueur du champ valeur sans 4 4 4.n 4.n 4.n 4.n 4.n n 2 n 4 4 1 1 2 sans

smantique de loption pour lalignement des options en frontire de mot le subnet mask du client (obligatoire) le dcalage de lhorloge du client par rapport lheure universelle (UTC) n adresses IP des routeurs [* : dans lordre de prfrence] n adresses IP des serveurs de domaine de noms (DNS) [*] n adresses IP des serveurs de traces (logs) [*] n adresses IP des serveurs dimprimante (lpr) [*] n adresses IP des serveurs de localisation des ressources (RLP)[*] le nom de la station en blocs de 512 octets le nom du chier damorage adresse IP demande par le client (DHCP discover message) en s., dure demande ou propose (DHCP discover, request, offer) utilisation des 2 avant-derniers champs pour les options code le type du message DHCP (obligatoire) longueur maximum des messages DHCP (>576) n de la liste doptions (obligatoire)
158

s Configuration automatique s

3.4. Les message DHCP Le protocole DHCP utilise 7 types de messages. Le type du message DHCP est cod dans le champ valeur de loption DHCP option (code 53).
Tableau 2 : Les diffrents types de messages DHCP nom de type du message DHCPdiscover DHCPoffer DHCPrequest DHCPdecline DHCPack DHCPnack DHCPrelease 1 2 3 4 5 6 7 valeur utilisation diffus par le client vers les serveurs locaux disponibles rponse du serveur au client diffus par client, slectionnant le serveur et refusant les autres accord du serveur refus du serveur le client considre que les infos sont invalides le client relche la location

Exemple :
1 octet

53 1 1

DHCPdiscover message

____ Bernard Cousin - IFSIC - Universit Rennes I

159

s Configuration automatique s

3.5. Le protocole DHCP Scnarios dchange de messages DHCP :


serveur client
(non-slectionn) (slectionn) dbut de linitialisation
DHCPdiscover DHCPdiscover

serveur

serveur

client

serveur

dbut de linitialisation
DHCPrequest DHCPrequest

dtermine la configuration DHCPoffer

dtermine la configuration DHCPoffer

retrouve la configuration
DHCPack

retrouve la configuration DHCPack

collection des rponses slection de la configuration


DHCPrequest DHCPrequest

accord sur linitialisation

accord sur la configuration DHCPack configuration effectue fermeture normale DHCPrelease libration du bail

R-utilisation dune prcdente configuration

Nouvelle configuration

____ Bernard Cousin - IFSIC - Universit Rennes I

160

s Configuration automatique s

Lautomate du client DHCP


redmarrage DHCPnack/ -/DHCPrequest redemande DHCPack/ enregistrement DHCPoffer/ du bail DHCPnack/ DHCPack (non accord) / DHCPdecline - / DHCPdiscover slection initialisation

requte DHCPack (accord) / enregistrement du bail association

DHCPnack/

DHCPnack/

DHCPoffer, DHCPack, DHCPnack/

DHCPrelease/

T1/DHCPrequest T2/DHCPrequest au serveur loueur aux serveurs DHCPack/ enregistrement renouvellement du bail

re-association DHCPack/ enregistrement du bail

____ Bernard Cousin - IFSIC - Universit Rennes I

161

s Configuration automatique s

4. Conclusion
DHCP permet de configurer automatiquement et rapidement des stations : allouer ladresse IP dune station . automatiquement, dynamiquement, manuellement

 location temporaire dune adresse


connatre des informations indispensables : . routeur(s), subnet mask, chier damorage, et autres serveurs, etc connatre des informations spciques lquipement

DHCP fonctionne en client/serveur : tolrance aux pannes (multi-serveurs) tolrance aux pertes (retransmission) utilise des agents pour propager les messages DHCP entre subnets compatible avec BOOTP sufsamment simple et gnrique pour tenir en ROM

____ Bernard Cousin - IFSIC - Universit Rennes I

162