Etude de quelques protocoles réseau

Formation étude de quelques protocoles réseau, tutoriel & guide de travaux pratiques en pdf.

Deux sous-couches de la couche liaison

Le standard IEEE 802 (figure 4.1, [WPRMB–02], p. 136) distingue deux sous-couches dans la couche de liaison des donnees [IEEE-802] :
– la sous-couche de controle d’acc`es au canal, ou sous-couche MAC (pour l’anglais Medium Access Control), ou encore sous-couche 2a, la plus proche de la couche physique comme son nom le laisse entendre, est chargee de la gestion des acces a` un canal partagé.
– La sous-couche de controle de liaison logique (LLC pour Logical Link Control), ou sous-couche 2b, doit dissimuler les diff´erences sp´ecifiques aux supports et offrir une interface uniforme aux protocoles des couches sup´erieures. C’est cette sous-couche ´egalement qui s’occupe du contrˆole de flux et des erreurs.
Ce d´ecoupage en deux sous-couches pr´esente des avantages :
– Pour transporter des paquets IP, par exemple, aucune garantie de livraison n’est requise ni attendue. On n’a donc pas besoin d’utiliser la sous-couche LLC.
– La couche LLC est ind´ependante du type de r´eseau local : Ethernet ou WiFi.
Lors de l’impl´ementation :
– L’interface avec la couche 1 (couche physique) et la sous-couche 2a (sous-couche MAC) sont souvent impl´ement´ees dans les cartes r´eseau.
– La sous-couche 2b (LLC) est impl´ement´ee dans le sous-syst`eme r´eseau du noyau du syst`eme d’exploitation.

Protocole 802.3 de la sous-couche LLC

Dans le cas de 802.3, le champ données de la trame ne comporte pas d’en-tˆete de sous-couche
2b ; par contre la signification des champs de l’en-tete Ethernet (a priori de la sous-couche MAC)
a l´eg`erement chang´e. On parle alors de trame Ethernet 802.3. Il y a deux changements :
– Le premier changement concerne le pr´eambule. Les sept premiers octets restent inchang´es ; le huiti`eme octet sert de d´elimiteur de d´ebut de trame (SFD pour Start Frame Delimiter) afin de rendre le format compatible avec les normes 802.4 et 802.5.
– Le second changement a d’abord transform´e le champ de type en champ de longueur de trame. Bien sˆur, il n’´etait plus possible pour un r´ecepteur de savoir ce qu’il fallait faire avec une trame entrante, mais ce probl`eme a et´ r´esolu par l’ajout d’un petit en-tˆete dans la portion des donn´ees pour apporter cette information.
Malheureusement, a` l’´epoque o`u la norme 802.3 fut publi´ee, il y avait d´ej`a tellement d’´equipements et de logiciels en circulation pour l’Ethernet DIX que peu de fabricants et d’utilisateurs ont accueilli avec enthousiasme le changement du champ de type en champ de longueur. En 1997, l’IEEE jeta l’´eponge et annon¸ca que les deux formats ´etaient vali-des. Heureusement, la plupart des champs de type utilis´es avant 1997 ´etaient d’une valeur sup´erieure a` 1 500 (la longueur maximum des donn´ees). Par cons´equent, une valeur in-f´erieure ou ´egale a` 1 500 peut ˆetre consid´er´ee comme ´etant une longueur et une valeur sup´erieure a` 1 500 comme ´etant un type.

Mise en place de Wireshark

La page d’accueil de Wireshark (le requin des fils, ant´erieurement connu sous le nom d’E-thereal) est : http : //www.wireshark.org/
Le menu de t´el´echargement donne acc`es a` des binaires pour Windows (32 ou 64 bits) ainsi que le code source pour les autres syst`emes d’exploitation.

Installation

Cas de Windows

Il suffit de t´el´echarger la derni`ere version (1.2.1 en septembre 2009 de 17,4 Mo ; 77,3 Mo une fois d´ecompress´e) et de l’ex´ecuter (en tant que super-utilisateur).

Cas de Linux

Wireshark est pr´esent sur la plupart des distributions. Il suffit donc de demander d’installer ce logiciel.

Utilisation

Sous Windows, l’appel en cliquant sur l’icˆone de wireshark.exe fait apparaˆıtre la fenˆetre de la figure 2.2. Sous Linux, il suffit de taper wireshark & en ligne de commande, ce qui donne acc`es directement `a ce que l’on voit sur la figure 2.3.
En cliquant sur le nom de l’interface r´eseau d´esir´ de la liste d’interface apparaissant dans la fenˆetre Capture, on fait apparaˆıtre la fenˆetre de la figure 2.3.
Mon ordinateur est reli´ `a Internet grˆace `a un routeur ADSL. Sur mon r´eseau local ainsi constitu´e, l’adresse IP du routeur ADSL est classiquement 192.168.1.1 et celle de mon ordinateur 192.168.1.12.
Sous Windows, utilisons putty pour effectuer un telnet, comme montr´e sur la figure 2.4. La fenˆetre de capture indique alors que que deux trames (au moins) ont et´ captur´ees. Appuyons sur le bouton arr^eter de celle-ci. La premi`ere fenˆetre prend alors l’aspect de la figure 2.5.
On y voit trois zones :
– Dans une premi`ere zone apparaissent les trames captur´ees avec un num´ero de trame, l’heure a` laquelle elle a et´ captur´ee (par d´efaut depuis le lancement de la capture mais on peut demander l’heure r´eelle), l’adrese r´eseau source de la trame (adresse IP en g´en´eral, mais pas toujours), l’adresse r´eseau de la destination, le protocole de plus haut niveau d´etect´ et quelques autres informations.
– Dans une deuxi`eme zone le nombre d’octets de la trame ainsi que le nombre d’octets cap-
tur´es sont indiqu´es, suivi du d´etail des en-tˆetes de tous les protocoles jusqu’au protocole final (ici Ethernet et ARP).
– Dans la troisi`eme zone apparaissent les octets captur´es de la trame. Chaque ligne contient seize octets. Elle commence par le num´ero (en h´exad´ecimal) du premier octet de la ligne, suivi de deux groupes de huit octets en hexad´ecimal, suivi du caract`ere ASCII correspondant (remplac´ par un point si celui-ci n’est pas affichable).

Analyse des en-tetes Ethernet

Cliquons sur le petit carr´e contenant un signe plus au d´ebut de ligne Ethernet de la deuxi`eme zone. On obtient l’aspect de la figure 2.6 : d’une part on a un petit plus de renseignements sur l’en-tˆete de la trame ; d’autre part les octets de la trame concernant cet en-tˆete est surcharg´ee en bleu fonc´e (que ce soit en hexad´ecimal ou en ASCII).
Les trames transitant sur le support physique sont r´ecup´r´ees par l’interface r´eseau (une carte Ethernet). Le pr´eambule et le champ CRC ne sont pas plac´es dans le tampon de l’interface (puisqu’ils sont cens´es correspondre `a ce qu’il faut) et donc ne sont pas r´ecup´er´es par le sous-syst`eme r´eseau du syst`eme d’exploitation.
– L’en-tˆete de la trame commence donc par les 48 bits (ou six octets) de l’adresse MAC du destinataire. Il s’agit ici d’un envoi a` toutes les interfaces du r´eseau local. Puisqu’il est habituel de noter les adresses MAC en hexad´ecimal, il n’est pas difficile de la traduire : ff:ff:ff:ff:ff:ff.
– Cette adresse MAC est suivie des 48 bits (ou six octets) de l’adresse MAC de l’exp´editeur. Il s’agit ici de notre ordinateur, le seul qui soit sur notre r´eseau local (`a part le routeur). Ce n’est pas toujours le cas dans un vrai r´eseau local avec plusieurs hˆotes lorsqu’on utilise le mode promiscuit´e : on peut r´ecup´erer et analyser des trames qui ne nous sont pas destin´ees ou que nous n’avons pas envoy´ees. L’adresse MAC de notre carte Ethernet est donc 00 : dd : 10 : 01 : 04 : c8.
Une recherche dans le document oui.txt montre que l’adresse du constructeur n’y est pas r´ef´erenc´ee. Il s’agit d’une carte chinoise dont le constructeur realteck) n’a visiblement pas demand´ d’OUI.
– Les seize bits (ou deux octets) suivants indiquent le type du protocole de la couche sup´e-rieure. On a ici 0806h, soit 2054, qui sp´ecifie le protocole r´eseau ARP.
– Les reste est constitu´e des donn´ees Ethernet, commen¸cant par l’en-tˆete ARP sur lequel nous reviendrons ci-dessous.

Le protocole de resolution d’adresse ARP

Les en-tˆetes correspondant a` chaque protocole contiennent un certain nombre de param`etres. Le param`etre le plus important pour la couche d’acc`es est l’adresse physique qui permet de d´eterminer a` quel ordinateur du r´eseau local la trame est destin´ee. Il s’agit de l’adresse MAC dans le cas d’Ethernet. Le param`etre le plus important pour la couche r´eseau est l’adresse r´eseau qui permet de d´eterminer a` quel ordinateur de l’interr´eseau le paquet est destin´. Il s’agit de l’adresse IP dans le cas de IP. La conversion des adresses entre la couche d’acc`es et la couche r´eseau repr´esente une tˆache essentielle lors de l’identification claire des ressources dans un r´eseau informatique.
Pour pouvoir envoyer une unit´e d’information a` une instance IP de l’ordinateur cible ou du routeur le plus proche, l’adresse MAC du prochain saut doit ˆetre d´etermin´ee dans l’instance de protocole ´emettrice. Ceci s’effectuait a` l’aide de tables statiques dans chaque ordinateur au d´ebut de l’ARPANET. Toutefois le d´eveloppement de l’ARPANET a rendu cette m´ethode trop rigide et trop on´ereuse en m´emoire. C’est pourquoi la [RFC 826] a introduit l’ARP (Address Resolution Protocol) en vue de la conversion des formats d’adresses.
Bien que la famille de protocoles TCP/IP soit devenue la norme de premier plan pour la presque totalit´e des r´eseaux informatiques, l’ARP n’a pas seulement et´ mis au point pour l’attribution specifique d’adresses IP et MAC.

Adresse IP

Definition

IPv4 utilise une adresse sur 32 bits pour identifier une machine sur l’inter-r´eseau, appel´ee adresse IP ou adresse Internet.
Les adresses IP sont attribu´ees par le NIC dont nous avons d´ej`a parl´e. Un r´eseau qui n’est pas connect´ a` Internet peut d´eterminer son propre adressage mais, pour tous les acc`es Internet, l’adresse doit ˆetre enregistr´ee aupr`es du NIC, pour ´eviter les doublons.
Le NIC d´esigne, pour chaque pays, un repr´esentant et une plage d’adresses. Le repr´esentant est charg´e d’attribuer les adresses dans ce pays, par exemple :
http://www.afnic.fr pour la France.

Representation utilisateur

Puisqu’il est difficile de lire un nombre de 32 bits, on repr´esente souvent ces nombres dans les applications sous la forme de quatre nombres d´ecimaux de 8 bits, s´epar´es par des points, par exemple :
127.40.8.72
127 repr´esentant dans ce cas l’octet de poids fort.

Requete et cache ARP

Lorsqu’un ordinateur A veut envoyer un paquet `a l’ordinateur (ou routeur) B, situ´e dans le mˆeme r´eseau local et dont il connaˆıt l’adresse IP mais pas l’adresse MAC, il envoie une demande (requˆete ARP) `a tous les ordinateurs du r´eseau local (en diffusion g´en´erale d’adresse MAC FF:FF:FF:FF:FF:FF). L’ordinateur recherch´ reconnaˆıt `a l’adresse IP plac´ee dans le paquet ARP que la requete lui est destinee et envoie une reponse `a l’ordinateur demandeur A, lui communiquant alors son adresse MAC.
Pour ne pas etre contraint de demander `a nouveau l’adresse MAC lors des paquets suivants, A enregistre l’adresse MAC de B dans une table locale, appelee cache ARP. L’ordinateur B peut egalement extraire l’adresse MAC de l’ordinateur A `a partir de la requete et l’enregistrer `a titre conservatoire dans son cache ARP.

Cours gratuitTélécharger le cours complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *