Vous êtes sur la page 1sur 6

Le protocole ARP (Address Resolution

Résolution d’adresses Protocol)


et autoconfiguration

Les protocoles • Se trouve au niveau de la couche réseau (à côté du protocole IP)


ARP, RARP, TFTP, BOOTP, DHCP
• Routage “local” (au niveau des machines hôtes)

• ARP est interrogé par le protocole IP pour obtenir une adresse


“physique” (par exemple Ethernet) à partir d’une adresse Internet
(IP) (adresse logique “universelle”)

© P. Sicard-Cours Réseaux 3bis Protocoles d’autoconfiguration 1 © P. Sicard-Cours Réseaux 3bis Protocoles d’autoconfiguration 2

Ping
Application
Exemple d’interrogation ARP
3322
Ports

Transport ICMP UDP TCP Machine A d'adresse 192.0.0.9 Machine B d'adresse 192.0.0.1

Adresses IP 193.8.8.8 Ping 192.0.0.1

Interrogation/ Arp Request : qui est 192.0.0.1 ?


IP ARP Adresse Ethernet destination broadcast
Réseau réponse

Adresses Ethernet 00:0a:95:a2:79:77


Arp Reply
Je suis 192.0.0.1
Liaison de données ETHERNET Mon adresse Ethernet est 55:88:96:87:a5:6g

• Nécessaire pour que IP puisse fournir à la couche Ethernet ICMP request

l’adresse destination Ethernet


ICMP reply
• Les requêtes ARP se font en broadcast : adresse ne comportant que
des 1 (FF:FF:FF:FF:FF:FF)
© P. Sicard-Cours Réseaux 3bis Protocoles d’autoconfiguration 3 © P. Sicard-Cours Réseaux 3bis Protocoles d’autoconfiguration 4
Dialogue IP /ARP Table ARP
• Sur la machine au départ du paquet ICMP request (issu du ping)
• Mémorisation dans une table des correspondances IP/Ethernet
Ping
1
Table ARP
ICMP Sur la Machine A
Table de routage Vide
@Ethernet ?
192.0.0.0 direct IP ARP Table ARP
Table de routage
192.0.0.9 22:98:b6:fe:97:67
4 2 192.0.0.0 direct @Ethernet ?
Ethernet 3 IP ARP 192.0.0.1 55:88:96:87:a5:6g

Paquet ICMP request Paquet ARP Paquet ARP reply: Ethernet


@IP Destination: request 31:78:8a:fe:96:32
192.0.0.1 192.0.0.1 ?
@Ethernet Destination:
31:78:8a:fe:96:32

• La table ARP contient après le ARP reply : 192.0.0.1 31:78:8a:fe:96:32 • Il n’y a plus de paquet ARP

© P. Sicard-Cours Réseaux 5 Couche Réseau 5 © P. Sicard-Cours Réseaux 5 Couche Réseau 6

Principe de fonctionnement Problèmes liés à ARP


• Mécanisme de cache pour limiter le nombre de requête ARP • Plusieurs machines possèdent la même adresse IP
– Elles répondront toutes les deux à une requête ARP stipulant leur adresse IP
– A la réception d’une réponse, la correspondance Ethernet/Internet est mise
dans une table, un timer d’effacement est lancé – Une seule des deux sera prise en compte suivant l’ordre d’arrivée des réponses
– Timer associé à une adresse de quelques minutes (dépend des – Cela peut changer dans le temps
implémentations) – Comportements étranges
– Si la correspondance est dans la table, l’adresse Ethernet est fournie à IP
– Préventions: au départ (configuration de la carte Ethernet) émission d’une requête
sans émission de requête sur le réseau (ARP gratuit) pour savoir si l’adresse est déjà utilisée. Avertissement sur la fenêtre
– Table ARP: commande arp -a console des machines
– Vidage manuel de la table : arp -a -d • Si on change de machine ou de carte réseau
– Changement de la relation Ethernet/Internet
• Celui qui répond à une requête ARP, mémorise l’adresse – Normalement le changement a lieu dans les tables des autres machines grâce au ARP
Ethernet du demandeur afin de minimiser le nombre de gratuit
requête – Sinon vidage de la table ARP à la main ou attente de la fin du timer

© P. Sicard-Cours Réseaux 3bis Protocoles d’autoconfiguration 7 © P. Sicard-Cours Réseaux 3bis Protocoles d’autoconfiguration 8
Communication IP-ARP Protocoles d’autoconfiguration
Machine A: 192.0.0.9 Routeur B : 192.0.0.1 et 200.0.0.5

Ping 200.0.0.8 Machine C: 200.0.0.8 • Intérêt:


Arp Request : qui est 192.0.0.1 ? – Limiter le travail de l’administrateur système/réseau
Arp Reply
– Aucune action nécessaire sur une machine pour son installation et sa
Je suis 192.0.0.1 configuration réseau
Mon adresse Ethernet est 55:88:96:87:a5:6g
– Permet à une machine d’obtenir automatiquement son adresse IP afin de
configurer son accès au réseau
ICMP request Arp Request : qui est 200.0.0.8 ? – Utiliser par les fournisseurs d’accès pour attribuer des adresses aux clients

Arp Reply • Différents protocoles


ICMP request – RARP: Reverse Address Resolution Protocol
ICMP reply » permet d’obtenir une adresse IP à partir d’une adresse Ethernet puis un
ICMP reply ensemble de fichiers (installation noyau système par exemple)
– TFTP: Trivial File Transfert Protocol
Table ARP » Permet de façon très simple le transfert de fichier, utilisé par RARP
Table de routage
192.0.0.1 22:98:b6:fe:97:67
192.0.0.0 direct @Ethernet ? – BOOTP (Boot Protocol) : amélioration de RARP
200.0.0.0 192.0.0.1 IP ARP 192.0.0.9 31:78:8a:fe:96:32
– DHCP (Dynamic Host Configuration Protocol) : extension de BOOTP pour
Ethernet gérer des adresses IP de manière dynamique

© P. Sicard-Cours Réseaux 3bis Protocoles d’autoconfiguration 9 © P. Sicard-Cours Réseaux 3bis Protocoles d’autoconfiguration 10

Le protocole RARP Le protocole TFTP


• Premier protocole utilisé pour configurer des équipements ne
Trivial File Transfert Protocol
possédant pas de configuration initiale (imprimante, machine sans
disque, terminal X...) • Protocole très simple et donc peu volumineux permettant de
• Serveur RARP connaissant les correspondances Ethernet/IP (fichier transférer des fichiers
/etc/ethers sous Unix) • Implémenté au dessus de UDP
• Un démon particulier: rarpd
• Principe:
• Un répertoire sur le serveur contenant le fichier à charger :
– une demande de lecture ou écriture est envoyé par le client au serveur
– /tftpboot/adresseIP.architecture
– Elle comporte le nom du fichier
• Le client (la machine qui s’initialise) interroge en broadcast le
– L’échange du fichier est ensuite effectué par bloc de taille fixe (512
serveur rarp qui lui fournit son adresse IP
octets)
• Il utilise ensuite ICMP pour récupérer son Netmask – Un mécanisme d’acquittements et de reémission par timer est faite
• Puis il demande au serveur de lui envoyer le fichier spécifié dans / – Un bloc d’une taille différente de 0 indique la fin du fichier
tftpboot à l’aide du protocole TFTP

© P. Sicard-Cours Réseaux Protocoles d’autoconfiguration 11 © P. Sicard-Cours Réseaux Protocoles d’autoconfiguration 12


Exemple de transfert TFTP Exemple d’autoconfiguration à
l’aide de RARP
client serveur Machine en autoconfiguration Serveur RARP
client Demande Lecture Fichier serveur
fic.txt
Demande Lecture RARP Request : Mon adresse MAC: x, @IP ?
Fichier fic.txt RARP Reply
Voici l'adresse IP pour l'adresse MAC x
Bloc 1 : 512 octets
Bloc 1 : 512 octets
ICMP Netmask ?
Acq 1
Acq 1 Routeur
Bloc 2 : 200 octets ICMP reply
Perdu
Bloc 2 : 200 octets Netmask du réseau
Perdu TFTP
Bloc 2 : 200 octets

Bloc 2 : 200 octets TFTP fichier système UDP Table RARP


22:98:b6:fe:97:67 192.0.0.1
Acq 2 31:78:8a:fe:96:32 192.0.0.9
Acq 2 contenu du fichier système ICMP Serveur RARP ...

Ethernet

© P. Sicard-Cours Réseaux Protocoles d’autoconfiguration 13 © P. Sicard-Cours Réseaux Protocoles d’autoconfiguration 14

Le protocole Bootp
Le protocole Bootp
• Amélioration de RARP
– Au dessus de UDP • Principe
– Le serveur et le client ne sont pas forcément sur le même réseau
– Permet d’obtenir des informations supplémentaires: – Client Bootp envoie en broadcast (@IP 255.255.255.255) une
» Adresse du routeur par défaut pour remplir la table de routage requête Bootp contenant son adresse Ethernet
» Serveur de nom (DNS) – Le serveur s’il existe lui renvoie les informations contenues dans
sa base de donnée
» @IP affectée au client
Base de donnée Bootp
» @IP du serveur de Nom
Bootp (port 67 et 68)
» @IP du routeur par défaut
UDP
» Nom du fichier à transférer ensuite par TFTP
IP » La réponse est toujours en broadcast mais sur le numéro de
Ethernet
port fixe du client Bootp (port 67)

© P. Sicard-Cours Réseaux Protocoles d’autoconfiguration 15 © P. Sicard-Cours Réseaux Protocoles d’autoconfiguration 16


Le protocole DHCP (Dynamic
Le protocole Bootp Host Configuration Protocol)
• Extension de Bootp
• Cas où le client et le serveur ne sont pas sur le même réseau
• Format des messages identiques
– Problème : la requête Bootp du client en broadcast ne peut pas
• Permet d’attribuer en plus les adresses IP de façon dynamique
sortir du réseau du client
(toujours possible en statique)
– Il faut qu’il existe sur le même réseau que le client un agent Bootp – Paramètres supplémentaire: durée de validité de l’adresse IP fourni par le
de relais serveur
– Cet agent reçoit les requêtes du client et les renvoie au serveur • Le serveur DHCP connaît la plage d’adresses disponible et les affecte
– Il peut le faire car il connait déjà l’adresse du serveur Bootp et du au fur et à mesure des demandes
routeur par défaut • Intéressant quand les machines sont branchées sur le réseau de
– Pour simplifier les échanges, l’agent est souvent sur le routeur de manière sporadique
sortie • Exemples:
– Fournisseur d’accès à travers des modems

© P. Sicard-Cours Réseaux Protocoles d’autoconfiguration 17 © P. Sicard-Cours Réseaux 3bis Protocoles d’autoconfiguration 18

Le protocole DHCP Le protocole DHCP


• Type de message DHCP
– DHCPDISCOVER utilisé par le client pour localiser un • Possibilité de plusieurs serveur DHCP sur le réseau
serveur
Machine en autoconfiguration Serveur dhcp
– DHCPOFFER permet à un serveur de proposer une
configuration DHCP Discover en broadcast

– DHCPREQUEST permet à un client d’accepter une offre (et DHCP Offer (comporte toutes les infos)
de refuser les autres)
DHCP Request
– DHCPACK permet à un serveur de donner une configuration vers le serveur
choisi
– DHCPNACK permet à un serveur de refuser d’offrir une DHCP Ack
configuration (par exemple si il n’y a plus d’adresse disponible)
La machine est configurée
– DHCPRELEASE permet à un client de libérer une offre
précédemment acceptée

© P. Sicard-Cours Réseaux Protocoles d’autoconfiguration 19 © P. Sicard-Cours Réseaux Protocoles d’autoconfiguration 20


Exemple de capture Exemple de capture
• Contenu du DHCP Ack
• Client IP address: 0.0.0.0 (0.0.0.0)
• Your (client) IP address: 10.53.17.163 (10.53.17.163)
• Source Destination Protocol Info • Next server IP address: 10.53.17.1 (10.53.17.1)
• Relay agent IP address: 0.0.0.0 (0.0.0.0) (ici le serveur dhcp est sur le même réseau)
• 0.0.0.0 255.255.255.255 DHCP DHCP Discover - Transaction ID 0x17e862ac
• Client hardware address: 00:03:93:ed:b5:eb
• 10.53.17.1 10.53.17.163 DHCP DHCP Offer - Transaction ID 0x17e862ac • Server host name not given
• Boot file name not given
• 0.0.0.0 255.255.255.255 DHCP DHCP Request - Transaction ID 0x17e862ac
• Magic cookie: (OK)
• Option 53: DHCP Message Type = DHCP ACK
• 10.53.17.1 10.53.17.163 DHCP DHCP Ack - Transaction ID 0x17e862ac
• Option 54: Server Identifier = 10.53.17.1
• Option 51: IP Address Lease Time = 10 minutes (bail de l’adresse dynamique)
• Option 1: Subnet Mask = 255.255.255.0
• Option 3: Router = 10.53.17.1 (routeur par défaut)
• Option 6: Domain Name Server = 10.53.17.1
• Option 15: Domain Name = "cybertable.com"
• End Option

© P. Sicard-Cours Réseaux Protocoles d’autoconfiguration 21 © P. Sicard-Cours Réseaux Protocoles d’autoconfiguration 22

Configuration d’un serveur


DHCP
• Paramètres du serveur DHCP (démon dhcpd sous les Unix)
– Plage d’adresse IP à attribuer (souvent on donne la première et la
dernière)
– ou Adresses IP fixes (listes des adresses IP/Ethernet)
– Un masque de sous-réseau pour ces adresses
– Durée du bail DHCP
– Adresse du serveur DNS
– Nom du domain

© P. Sicard-Cours Réseaux Protocoles d’autoconfiguration 23