Thursday, September 29, 2016
ARP A quoi tu sers
ARP A quoi tu sers
ARP : A quoi tu sers ?![]() pour comprendre lutilitŽ dARP nous aborderons rapidement la notion de rŽseau local et dadresse de niveau 2, puis nous Žtudierons le r™le dARP, ses mŽcanismes de fonctionnement et son format de paquet. Enfin, si vous tes sages, nous aborderons Žgalement la notion de Proxy-ARPIntroductionDans les chapitres prŽcŽdents nous avons ŽtudiŽ ladressage IP et les notions de base du routage. A plusieurs reprises mes schŽmas prŽsentaient des rŽseaux locaux (LAN : Local Area Network) nommŽs Ethernet et raccordŽs ˆ des routeurs. Sur certains schŽmas jai fait appara”tre des trames de niveau 2 qui vŽhiculaient des paquets IP. Ces trames comportaient ˆ priori une adresse niveau 2 ! Enfin jai plusieurs fois fait allusion ˆ ARP qui permettrait de faire correspondre ladresse de niveau 2 avec celle de niveau 3 ! Si vous tes novices ou dŽbutants vous avez probablement dž me ha•r et me mettre au rang des mauvais formateurs qui font exprs de parler de trucs que vous connaissez pas sans vous Žclairer, pour se donner un air intelligent ! Peut-tre mme que vous nen avez pas dormi ! Je men veux de vous laisser dans cet Žtat, et je ne supporte pas quon me ha•sse ! Alors je vais tout vous dire ... Fini les insomnies ! Dans ce chapitre, pour comprendre lutilitŽ dARP nous aborderons rapidement la notion de rŽseau local et dadresse de niveau 2, puis nous Žtudierons le r™le dARP, ses mŽcanismes de fonctionnement et son format de paquet. Enfin, si vous tes sages, nous aborderons Žgalement la notion de Proxy-ARP (ha ! ha ! Vous la connaissiez pas celle-lˆ, hein ?). Cest quoi un LAN ?Un LAN est un RLE (je sais ! jexagre !). Un LAN, pour Local Area Network est, comme son nom anglais lindique, un rŽseau daire locale, ou plut™t un RŽseau Local dEntreprise (RLE). Cest ˆ dire un rŽseau qui ˆ une couverture gŽographique trs limitŽe, gŽnŽralement celle dun site ou dun batiment.
Vous navez pas besoin den savoir plus pour aborder ARP. |
R™le dARPNous avons vu quune station ne lisait le contenu dune trame quˆ la condition quelle lui soit adressŽe. Or le paquet IP est justement placŽ dans la trame ! Lorsquune couche haute transmets des donnŽes ˆ une autre machine, elle communique ˆ la couche IP, ladresse IP de destination. IP formate ensuite un paquet avec une entte IP. Celle-ci comportent ladresse de destination, transmise par la couche supŽrieure, et ladresse IP source de lŽmetteur. Cette dernire est connu par IP car vous lavez initialisŽe lors de linstallation de la machine. IP communique ce paquet ˆ la couche 2 (ici le MAC) pour lencapsuler dans une trame MAC avant Žmission sur le support. Mais il doit Žgalement communiquer ladresse MAC de destination de la trame, pour que la couche 2 puisse formater correctement la trame ! Do IP sortira-t-il cette adresse ? Il va linventer ? Non ... ARP est lˆ ! ARP pour Address Resolution Protocol prend en charge, comme son nom lindique, la rŽsolution dadresse entre le niveau 2 et le niveau 3. Il a pour r™le de trouver ladresse MAC correspondant ˆ une adresse IP donnŽe. Lorsquil a dŽcouvert cette adresse, il met ˆ jour une table ARP ! Fonctionnement dARPNous venons de voir quIP doit transmettre ˆ la couche MAC ladresse de destination MAC de la trame qui vŽhiculera le paquet IP transmis. La procŽdure est la suivante :
La sŽquence de recherche est terminŽe ! Maintenant IP peut envoyer son paquet ˆ la couche MAC en transmettant ladresse MAC ! Vous voyez, ARP cest trs simple ! |
Formats des paquets ARPARP est encapsulŽ directement dans IP (il nest pas placŽ dans UDP ou TCP). Il propose deux paquets :
Quelques remarques ˆ propos dARPLes problme liŽs ˆ la table ARPJe vous lai prŽcŽdemment indiquŽ la table ARP est mŽmorisŽe en RAM. De plus, dans la majoritŽ des cas il ny a pas de timeout sur les tables ARP. Ceci veut dire que lorsquune correspondance MAC-IP a ŽtŽ rŽalisŽe elle reste mŽmorisŽe dans la station jusquau "reboot" de celle-ci. Et croyez-moi ! Ce nest pas anodin ! Dans une architecture classique des stations et des serveurs partageant le mme rŽseau local discutent ensemble. Supposons quun PC rencontre un problme vous allez le remplacer. La carte rŽseau du nouveau PC aura une adresse MAC diffŽrente. Par contre vous aurez rŽaffectŽ au PC la mme adresse IP. Mais le serveur a mŽmorisŽ dans sa table ARP la correspondance "Ancienne @MAC-@IP". Sil Žmet des donnŽes vers le PC celui-ci ne lira pas les trames puisque leurs adresses destinations ne correspondent pas ˆ son adresse MAC ! Rassurez-vous ! Pour un PC ce nest pas grave ! En effet, pour le remplacer vous avez dž le mettre hors tension. Le nouveau PC a donc une table ARP vierge. Comme un PC est plut™t client, cest lui qui va demander des infos au serveur, ce nest pas le serveur qui va dŽcider de lui parler de lui-mme (il a autre chose ˆ faire, le bougre, que de faire la causette aux nouveaux qui lui demandent rien !!). Le PC va donc lancer une sŽquence ARP vers le serveur pour mettre ˆ jour sa table et le serveur va en profiter pour dŽtecter la modification dadresse MAC et mettre ˆ jour sa propre table ! Mais imaginons que vous remplaciez une station qui ne cause pas toute seule sans tre sollicitŽe ! Imaginez que vous remplaciez un serveur ou un routeur !! Pensez-bien ˆ faire rebooter les PC du LAN ... Sinon ... Plus de communication avec le serveur ou le routeur ! Toutes les tables ARP des stations sont fausses pour la rŽsolution dadresse de lŽquipement que vous avez remplacŽ ! ARP et la passerelle par dŽfautDans les exemples de routage des chapitres prŽcŽdents, et notamment dans le paragraphe "Sortir du rŽseau" du chapitre 6, nous avons vu quune station envoie son paquet ˆ une passerelle par dŽfaut lorsque le paquet est ˆ destination dun autre rŽseau IP. Nous avons trs succintement ŽvoquŽ le r™le dARP dans ce mŽcanisme. En effet, comment envoyer un paquet IP ˆ destination de 12.0.0.1 en voulant le tranfŽrer ˆ 10.0.0.254 sans changer ladresse IP du paquet ? Cest simple ... On lenvoie dans une trame ayant pour adresse destination, ladresse MAC du routeur (passerelle). Lorsque la station doit envoyer un paquet en dehors de son rŽseau IP, elle scrute sa configuration pour trouver ladresse de Gateway Default que vous lui avez donnŽ lors de son installation. Puis elle regarde dans sa table ARP, ladresse MAC correspondante ˆ ladresse IP de la Gateway Default. Si celle-ci existe dans la table ARP, la station encapsule son paquet IP dans une trame ˆ destination de ladresse MAC de la passerelle. Si celle-ci nexiste pas, elle lance une procŽdure de rŽsolution dadresse ARP, telle que nous lavons prŽcŽdemment ŽtudiŽ ! Et le tour est jouŽ ! La passerelle reoit une trame qui lui est destinŽe et qui vŽhicule un paquet IP qui ne lui est pas destinŽ. Elle applique lorganigramme de routage tel que nous lavons vu au chapitre 6. La tempte du matin ...Tous le monde commence son travail entre 8 et 9 heures le matin ... Enfin cest la moyenne des bureaux ... En arrivant la premire opŽration est dallumer son PC avant mme de retirer son manteau (on espre que Windows aura fini son boot quand on sera revenu du premier cafŽ !). Comme les tables ARP sont vides ˆ ce moment lˆ (rappelez-vous, elles sont stockŽes en RAM, donc volatile). Ds quon va appelŽ un serveur il va falloir renseigner la table ARP. Chaque fois quon appelle une ressource il faut de nouveau renseigner cette table. Les requtes sont vŽhiculŽes par des trames "broadcast", qui sont donc luent par toutes les stations. Bien souvent seuls les serveurs sont sollicitŽs et sont donc les seuls ˆ rŽpondre. Quoiquil en soit, lorsque vous placez un analyseur sur un rŽseau LAN vous assistez ˆ des "temptes de broadcast" dans ce crŽneau horaire. Ceci entra”ne une surcharge momentanŽe du rŽseau ... Il est dŽconseillŽ de procŽder dans ce crŽneau horaire ˆ des opŽrations lourdes de duplication de bases par exemple !! Vous noterez un ralentissement non nŽgligeable ! Les serveurs doivent rŽpondre ˆ des centaines de requtes ARP, le LAN vŽhicule deux trames par requte, toutes les stations lisent les broadcast des requtes ARP ... Et on travaille quand ? ARP et la sŽcuritŽ ! |