Académique Documents
Professionnel Documents
Culture Documents
La deuxième catégorie de réseaux est fournie par les réseaux informatiques, développés beaucoup
plus récemment pour interconnecter les ordinateurs. Dans cette catégorie se trouvent plusieurs
classes, notamment les réseaux utilisant le protocole IP (Internet Protocol) pour transférer les
paquets dans le réseau Internet. C’est ce même protocole qui permet aux réseaux des fournisseurs
de services Internet d’accéder au réseau. La spécificité de ces réseaux par rapport à ceux des
opérateurs de télécommunications tend à diminuer. Les architectures elles-mêmes ne sont pas si
éloignées. En intégrants de nouvelles applications (donc nouveaux protocoles) adaptées au transport
des informations multimédias, les architectures des réseaux informatiques se sont rapprochées de
celles des réseaux multimédias transportant des applications isochrones, comme la parole
téléphonique.
La troisième catégorie de réseaux est celle mise en place par les câblo-opérateurs pour la
télédistribution de programmes de télévision et de radio distribués vers les clients connectés au
câble. Ces réseaux sont tout aussi capables de prendre en charge la transmission de la parole, des
données informatiques et, bien évidemment, des images animées.
Les industriels des télécommunications ont une vision assez différente de celle des opérateurs
informatiques ou des câblo-opérateurs. Cela tient aux exigences de leur application de base, la
parole téléphonique, auxquelles il est difficile de satisfaire.
Les réseaux à diffusion, du fait de leurs complexités, sont utilisés dans des courtes distances, immeuble
de bureaux, siège d’entrepris, dépôt ou tout autre structure similaire. Ils conviennent particulièrement
pour les réseaux à faible portée géographique. Ce sont les réseaux locaux nommés réseaux LAN (Local
Area Network).
1.4.2 Réseau point à point
Dans un réseau point à point, deux machines sont liées sur les deux extrémités d’une ligne de
transmission. Ce type de réseau est utilisé pour la transmission longue distance. La ligne de
transmission est souvent utilisée pour lier soit une machine à un domaine de diffusion (Station LAN),
soit deux domaines de diffusion (LAN LAN). Un tel système doit utiliser un dispositif secondaire pour
lier les deux extrémités. Celui-ci permet entre autre de choisir une ligne de transmission pour atteindre
la machine ou le réseau de destination.
La transmission point-à-point est donc utilisée pour relier deux ou plusieurs LAN et/ou stations distants
(d’où le nom de transmission longue distance). L’ensemble formé par les dispositifs de commutation
(nommés précédemment dispositifs secondaires) et les lignes de transmission forme un sous-réseau
de commutation ou tout simplement un sous-réseau. Les lignes transportent les bits d’une extrémité
à une autre et peuvent utiliser les fils de cuivre, la fibre optique ou les ondes radio. Tandis que les
dispositifs de commutation sont des équipements spécialisés équipés de leurs propres systèmes de
gestion et servent à interconnecter deux ou d’avantage lignes de transmission. Ce dispositif est appelé
routeur, du fait qu’il est capable d’acheminer les données en fonction de la machine ou du réseau de
destination.
Le sous-réseau est lui la propriété d’un opérateur de télécoms ou de fournisseur d’accès à l’Internet.
Une telle structure qui peut s’étendre sur une vaste zone géographique « pays, continent » porte le
nom de réseau longue distance ou WAN (Wide Area Network).
1.5 Le modèle de réseau en couches
Afin d’éviter ou de réduire la complexité de la conception des logiciels et des équipements réseaux, les
différentes composantes {logiciel (tel que des procédures de traitement, des programmes ou des fonctions d’un programme) , et
matériel (tel que l’électronique de l’interface réseau NIC)} intervenant dans l’ensemble des phases de traitement de
l’information sont généralement organisées en niveaux hiérarchiques, et forme un modèle. L’idée de
base est de faire en sorte que le traitement de l’information soit réalisé par plusieurs processus
cohérents. Chacun réalise une partie du traitement global tout en tenant compte du résultat du
traitement du niveau précédent et en fournissant le résultat de son traitement au niveau suivant.
Pour mieux comprendre la nécessité d’un tel modèle, prenons l’exemple fictif suivant :
Imaginons une entreprise dont le siège est au japon et une de ses filiales en Tunisie. Le premier
responsable du siège parle uniquement le japonais, il doit échanger des documents officiels et secrets
en langue japonaise avec son homologue en Tunisie qui parle uniquement le français. Ils doivent
recourir à un modèle de communication et d’échange d’information.
Le premier responsable du siège prépare le document à expédier. Il le fournit ensuite à son traducteur
qu’il le traduit du japonais en langue internationale. Le traducteur rend donc service au premier
responsable. Le résultat du travail du traducteur est ensuite passé à une secrétaire. Cette dernière
enveloppe tout simplement le document traduit pour l’expédier vers la tunisie. A travers ce modèle,
on remarque bien que chaque niveau ajoute des données de services. Les services postaux véhiculent
le courrier en fonction des services demandés et inscris par la secrétaire.
En Tunisie, dès la réception du courrier c’est le processus inverse qui va avoir lieu.
Dans ce modèle à trois couches, chacun réalise un travail bien déterminé en exerçant des fonctions
précises. Le niveau N expéditeur réalise un travail pour son homologue récepteur (Niveau N
récepteur), en utilisant les mêmes processus.
Au début, les constructeurs informatiques ont proposé des architectures réseaux propres à leurs
équipements. Par exemple, IBM a proposé SNA, DEC a proposé DNA... Ces architectures ont toutes le
même défaut : du fait de leur caractère propriétaire, il n'est pas facile de les interconnecter, à moins
d'un accord entre constructeurs. Aussi, pour éviter la multiplication des solutions d'interconnexion
d'architectures hétérogènes, l'ISO (International Standards Organisation), a développé un modèle de
référence appelé modèle OSI (Open Systems Interconnection). Ce modèle décrit les concepts utilisés
et la démarche à suivre pour normaliser l'interconnexion de systèmes ouverts (c’est un système ouvert
à la communication avec d’autres systèmes, et dont la modification, l'adjonction ou la suppression de
l’un de ses composants ne modifie pas le comportement global du réseau).
Le modèle OSI n'est pas une véritable architecture de réseau, il décrit la manière dont deux éléments
d'un réseau (station de travail, serveur …) communiquent, en décomposant les différentes opérations
à effectuer en 7 étapes successives, qui sont nommées les 7 couches du modèle. Le modèle ne précise
pas réellement les services et les protocoles à utiliser pour chaque couche. Il décrit plutôt ce que
doivent faire les couches. Néanmoins, l'ISO a écrit ses propres normes pour chaque couche, et ceci de
manière indépendante au modèle.
2.2 Les différentes couches du modèle
En subdivisant les fonctions de
traitements d’un système de
télécommunication en couches aux
capacités et aux fonctionnalités bien
définies, la description de l’ensemble
qui en découle est nécessairement
plus structurée et mieux organisée.
Les principes qui ont conduit à ce découpage ou cette organisation sont les suivants :
▪ Une couche doit être créée lorsqu'un nouveau niveau d'abstraction est nécessaire,
▪ Chaque couche a des fonctions bien définies,
▪ Les fonctions de chaque couche doivent être choisies dans l'objectif de la normalisation
internationale des protocoles,
▪ Les frontières entre couches doivent être choisies de manière à minimiser le flux
d'information aux interfaces,
▪ Le nombre de couches doit être tel qu'il n'y ait pas cohabitation de fonctions très différentes
au sein d'une même couche et que l'architecture ne soit pas trop difficile à maîtriser.
N° Nom Description
Elle ne contient pas les applications utilisateurs, mais elle assure la
Couche 7 Application communication, à l'aide de processus, entre les couches inférieures et
les applications utilisateurs (transfert de fichiers, courrier électronique).
Elle assure la mise en forme des données « Présentation », la conversion
des codes (ASCII, EBCDI), si nécessaire, pour délivrer à la couche
application un message dans une syntaxe compréhensible. Elle peut
Couche 6 Présentation
aussi assurer le cryptage et la compression des données C'est donc la
première couche non impliqué dans le mécanisme de transfert
d'informations.
Elle assure l'échange des données, transaction entre deux applications
Couche 5 Session distantes. Elle assure surtout la synchronisation et le séquencement de
l'échange par la détection et la reprise de celui-ci en cas d'erreur.
Elle assure le contrôle du transfert de bout en bout des informations
entre les deux systèmes d'extrémités, afin de rendre le transport
Couche 4 Transport transparent pour les couches supérieures. Elle assure le découpage des
messages en paquets pour le compte de la couche réseau en émission,
et les reconstitue pour les couches supérieures en réception.
Elle assure l'acheminement, le routage (choix du chemin à parcourir à
Couche 3 Réseau partir des adresses), des blocs de données entre les deux systèmes
d'extrémités, à travers des relais. Et elle définit la taille de ses blocs.
Elle assure, le maintien de la connexion logique, le transfert des blocs de
Couche 2 Liaison données (les trames et les paquets), la détection et la correction des
erreurs dans ceux-ci.
Elle assure l'établissement et le maintien de la liaison physique. Elle
Couche 1 Physique comprend donc les spécifications mécaniques (connecteurs) et les
spécifications électriques (niveau de tension).
Les couches basses (1, 2 et 3) sont nécessaires à l'acheminement des informations entre des extrémités
en communication et dépendent du réseau. Les couches hautes (4, 5, 6 et 7) sont responsables du
traitement de l'information relative à la gestion des échanges entre systèmes informatiques. Par
ailleurs, les couches 1 à 3 interviennent entre machines voisines, et non entre les machines d'extrémité
qui peuvent être séparées par plusieurs routeurs. Les couches 4 à 7 sont au contraire des couches qui
n'interviennent qu'entre hôtes distants.
Hôte 1 Hôte 2
Ces couches permettent une communication de
7 Application bout en bout entre un hôte émetteur et un hôte Application 7
récepteur. Autrement dit le traitement demandé à
ces couches n’est réalisé qu’au niveau des deux
6 Présentation machines en extrémité. Présentation 6
5 Session Session 5
Les couches 1, 2 et 3 interviennent dans une
communication entre machines voisines. L’exemple
4 Transport montre ici deux machines en communication à Transport 4
travers un sous-réseau
La couche physique s'occupe de la transmission des bits de façon brute sur un canal de communication.
Cette couche doit garantir la parfaite transmission des données (un bit 1 envoyé doit bien être reçu
comme bit valant 1). Les protocoles de la couche physique de décrivent la façon de fournir des
connexions électriques, mécaniques, opérationnelles et fonctionnelles pour assurer une
communication entre le périphérique d’envoi et de réception et garantir ainsi une transmission fiable.
La couche physique d’un réseau étendu décrit l’interface « la jonction » entre ETTD et DCE.
Concrètement, cette couche doit normaliser les caractéristiques électriques (un bit 1 doit être
représenté par une tension de 5 V, par exemple), les caractéristiques mécaniques (forme des
connecteurs, de la topologie...), les caractéristiques fonctionnelles des circuits de données et les
procédures d'établissement, de maintien et de libération du circuit de données.
L'unité d'information typique de cette couche est le bit, représenté par une certaine différence de
potentiel.
Son rôle est de "liant" : elle va transformer la couche physique en une liaison a priori exempte d'erreurs
de transmission pour la couche réseau. Elle fractionne les données d'entrée de l'émetteur en trames,
transmet ces trames en séquence et gère les trames d'acquittement renvoyées par le récepteur.
Rappelons que pour la couche physique, les données n'ont aucune signification particulière. La couche
liaison de données doit donc être capable de reconnaître les frontières des trames. Cela peut poser
quelques problèmes, puisque les séquences de bits utilisées pour cette reconnaissance peuvent
apparaître dans les données.
La couche liaison de données doit être capable de renvoyer une trame lorsqu'il y a eu un problème sur
la ligne de transmission. De manière générale, un rôle important de cette couche est la détection et la
correction d'erreurs intervenues sur la couche physique. Cette couche intègre également une fonction
de contrôle de flux pour éviter l'engorgement du récepteur.
L'unité d'information de la couche liaison de données est la trame qui est composées de quelques
centaines à quelques milliers d’octet maximum.
C'est la couche qui permet de gérer le sous réseau, et leurs interconnexions. Au moment de sa
conception, il faut bien déterminer le mécanisme de routage et de calcul des tables de routage (tables
statiques ou dynamiques...).
Cette couche est responsable du bon acheminement des messages complets au destinataire. Le rôle
principal de la couche transport est de prendre les messages de la couche session, de les découper s'il
le faut en unités plus petites et de les passer à la couche réseau, tout en s'assurant que les morceaux
arrivent correctement de l'autre côté. Cette couche effectue donc aussi le réassemblage du message
à la réception des morceaux.
Cette couche est également responsable de l'optimisation des ressources du réseau : en toute rigueur,
la couche transport crée une connexion réseau par connexion de transport requise par la couche
session, mais cette couche est capable de créer plusieurs connexions réseau par processus de la
couche session pour répartir les données, par exemple pour améliorer le débit. A l'inverse, cette
couche est capable d'utiliser une seule connexion réseau pour transporter plusieurs messages à la fois
grâce au multiplexage. Dans tous les cas, tout ceci doit être transparent pour la couche session.
Cette couche est également responsable du type de service à fournir à la couche session, et finalement
aux utilisateurs du réseau : service en mode connecté ou non, avec ou sans garantie d'ordre de
délivrance, diffusion du message à plusieurs destinataires à la fois... Cette couche est donc également
responsable de l'établissement et du relâchement des connexions sur le réseau. Un des tout derniers
rôles à évoquer est le contrôle de flux.
C'est l'une des couches les plus importantes, car c'est elle qui fournit le service de base à l'utilisateur,
et c'est par ailleurs elle qui gère l'ensemble du processus de connexion, avec toutes les contraintes qui
y sont liées. L'unité d'information de la couche réseau est le message.
Cette couche organise et synchronise les échanges entre tâches distantes. Elle établit également une
liaison entre deux programmes d'application devant coopérer et commande leur dialogue (qui doit
parler, qui parle...). Dans ce dernier cas, ce service d'organisation s'appelle la gestion du jeton. La
couche session permet aussi d'insérer des points de reprise dans le flot de données de manière à
pouvoir reprendre le dialogue après une panne.
Cette couche s'intéresse à la syntaxe et à la sémantique des données transmises : c'est elle qui traite
l'information de manière à la rendre compatible entre tâches communicantes. Elle assure
l'indépendance entre l'utilisateur et le transport de l'information.
Typiquement, cette couche peut convertir les données, les reformater, les crypter et les compresser.
Cette couche est le point de contact entre l'utilisateur et le réseau. C'est donc elle qui va apporter à
l'utilisateur les services de base offerts par le réseau, comme par exemple le transfert de fichier, la
messagerie...
2.3.8 En conclusion
Une couche ne définit pas un protocole, elle délimite un service qui peut être réalisé par plusieurs
protocoles de différentes origines. Ainsi chaque couche peut contenir tous les protocoles que l’on
veut, pourvu que ceux-ci fournissent le service demandé à ce niveau du modèle.
2.4 Relation Inter Couches : Service
Nous avons défini la fonction réalisée par chaque couche, mais maintenant il faut définir leurs règles
de fonctionnement.
2.4.1 Les relations inter couche
S'il existe deux systèmes qui souhaitent communiquer, la première règle à connaître est qu'une couche
d'un système ne peut communiquer qu'avec la même couche de l'autre système. Ceci est réalisé â
l'aide d'un Protocole. Donc un protocole de la couche "N" « Emetteur » converse avec le même
protocole de la couche "N" de l'autre système « Récepteur ».
Mais pour assurer ce dialogue il faut en effectuer la demande. Ceci est réalisé â l'aide de primitive de
service qui instaure le dialogue, les demandes, les réponses, et les échanges d'informations entre les
deux couches de même niveau des deux systèmes.
Donc on peut distinguer deux types de dialogue : Le dialogue Vertical et le dialogue Horizontal.
Le dialogue vertical qui s’effectue entre deux couches consécutives d’un même système, et le dialogue
horizontale qui s’effectue entre couches homologues de deux systèmes en communication.
Pour que la couche liaison (couche 2) d'un système puisse communiquer avec la couche de même
niveau d'un autre système on obtiendra le schéma suivant :
Système A Système B
Service 1 Service 1
La couche N+1 désire communiquer avec la couche N+1 d'un autre système. La communication entre
les couches du premier système se fait comme l'indique le schéma suivant :
La couche N+1 utilise les services de la couche N pour convoyer et fournir un en-tête aux données de
protocole, PDU (Protocol Data Unit).
Les données sont encapsulées, par la couche N, afin de former une donnée de service, SDU (Service
Data Unit), de niveau N â laquelle on ajoute des informations de contrôle de protocole, PCI
(Protocole Control Information).
L'ensemble de ces données (PCI, SDU) est regroupé pour former une nouvelle donnée de protocole
de la couche N PDU (N).
La couche N utilise les services de la couche N-1.
Les données sont encapsulées par la couche N-1 et ainsi de suite. Le passage des couches basses vers
les couches hautes se fait par enlèvement des informations de contrôle protocoles.
Certaines couches, sont divisées en sous couches. La couche 2 est ainsi souvent divisée en deux sous
couches.
- La sous couche basse MAC (Media acces Control).
- La sous couche haute LLC (Logical Link Control).
Hôte 1 Hôte 2
7 Protocole d’application 7
Application Application
Protocole de présentation
6 Présentation Présentation 6
4 Protocole de transport 4
Transport Transport
Sous-réseau de communication
3 Réseau Réseau Réseau Réseau 3
7-Application H7 Données
6-Présentation H6 H7 Données
5-Session H5 H6 H7 Données
4-Transport Message H4 H5 H6 H7 Données
3-Réseau Paquet H3 H4 H5 H6 H7 Données
2-Liaison D. Trame H2 H3 H4 H5 H6 H7 Données ctrl
1-Physique Bit Train de bits sur le canal de transmission
2.7 Segmentation
Lors d’une encapsulation, les informations présentées à la couche de niveau N peuvent avoir une
longueur supérieure à celle que peut traiter la couche N-1, il est alors à la charge de la couche N de
découper « Segmenter » le paquet de données en suffisamment de segment. En réception, la
couche N de la station destinatrice est avertie par des données de contrôles et de séquencement.
Celle-ci doit reconstituer le paquet d’origine avant de le transmettre à la couche N+1.
En-tête N Trailer
Couche N
Paquet d’origine
Couche N-1
Segment Segment Segment
En-tête N-1
3 La liaison de données
La couche liaison de données est chargée d’un certains nombres de fonctions spécifiques de lien de
données entre machines adjacentes. Le canal de communication est lui-même assuré par la couche
physique, il peut être un support de transmission guidé : transmission filaire « paire torsadées, câble
coaxial, fibre optique). Ou un support de transmission non guidé : la transmission sans fil « spectre
électromagnétique, transmission d’ondes radio, transmission de micro-ondes, transmission d’ondes
infrarouges et millimétriques, transmission d’ondes lumineuses ».
Ces fonctions de lien de données peuvent se résumer comme suit :
▪ Permettre à la couche réseau de transmettre ses données (paquets) à travers une interface
de service clairement défini ;
▪ Gérer les erreurs de transmission « utilisation d’algorithmes de traitement d’erreurs » ;
▪ Réguler le flux de données en échange entre systèmes pouvant ne pas avoir la même vitesse
de traitement, et ce pour éviter que des destinataires lents ne soit submergé par des
expéditeurs rapides.
Paquet Paquet
Pour pouvoir assurer ces fonctions, la couche liaison reçoit les données de la couche réseau sous forme
de paquets et les encapsule sous forme de trames de transmission. Chaque trame est formée d’un en-
tête (header), d’un champ de données « c’est la charge utile = données de la couche réseau », et d’un
En-queue (trailer).
3.1 Services fournis à la couche réseau
La couche liaison de données fournit des services à la couche réseau (voir cours modèle OSI) dont le
principal consiste à transmettre les données de la couche réseau d’une machine expéditrice à la couche
homologue d’une machine réceptrice. Un processus de la couche réseau de l’hôte émetteur transmet
le train de bits (paquet) à la couche liaison de données. Il appartient à cette dernière de les transmettre
au processus adéquat de la couche réseau de l’hôte de destination afin que la couche réseau de ce
dernier puisse les traiter.
4 4 4 4
3 Chemin de données 3 3 3
virtuel
2 2 2 2
1 1 1 Chemin de données 1
Réel
Canal de transmission
Les services de la couche liaison de données varient en fonction des systèmes « technologies de
réseaux », ils peuvent être classés en trois catégories :
✓ Service sans connexion et sans accusé de réception ;
✓ Service sans connexion avec accusé de réception ;
✓ Service orienté connexion avec accusé de réception.
Le premier service convient lorsque le taux d’erreur est faible ou négligeable et que la correction des
erreurs de transmission a été prévue dans les couches supérieures. Il peut être utilisé par exemple
dans le cas des trafics en temps réel.
Dans le deuxième service, il n’y a toujours pas de connexion logique, mais l’émetteur contrôle l’état
des trames transmises par un procédé d’accusé de réception. Dans le cas de perte de trame, l’émetteur
procède à sa retransmission au bout d’un certain temps calculé en fonction de la vitesse de la ligne. Ce
service s’avère très utile avec des canaux peu fiables comme les supports de transmission non guidés
« canaux sans fil ».
Dans le troisième service, avant toute opération de transmission, les hôtes source et destination
commencent par établir une connexion logique. La couche liaison de données utilisant un tel service,
garantie que chaque trame soit reçue. Elle utilise un système de fenêtrage lui permettant de
mémoriser l’état de chaque trame émise jusqu’à réception d’un acquittement. Une copie de chaque
trame non acquittée est gardée toujours dans une mémoire tampon.
Dans le cas d’un service avec connexion, on distingue trois phases :
SDLC peut être utilisé sur des liaisons en point à point ou en multipoint. Pour réaliser une liaison
multipoint, on installe un éclateur de jonction qui va dupliquer le signal de la ligne vers plusieurs
extrémités. SDLC utilise le polling, un peu comme le Token Ring. Chacun parle suivant
l’interrogation d’un primaire. Les communications peuvent être half duplex ou full duplex.
SDLC identifie 2 types de nœuds réseau.
▪ Le Primaire. Contrôle les opérations des autres stations appelées secondaires. Le primaire
interroge le secondaire dans un ordre déterminé. Les secondaires transmettent
lorsqu’elles ont des données à émettre. Le primaire a la charge d’établir le lien et de le
suspendre.
▪ Le Secondaires. Sont contrôlés par des primaires. Ils agissent sur les ordres des primaires.
On trouve par exemple des contrôleurs de terminaux synchrones qui vont gérer les saisies
des utilisateurs.
3.3.1.2 Format de la Trame
Tous les protocoles orientés bits utilisent la structure de la trame suivante :
8 bits 8 bits 8 bits >=0 16 Bits 8 bits
Fanion Adresse Controle Données Checksum Fanion
01111110 01111110
Le champ adresse est un héritage du protocole SDLC d’IBM. En effet ce dernier est un protocole Point-à-Multipoint
Chaque trame est encadrée par deux délimiteurs appelés Fanion. C’est une séquence de 8 bits dont la valeur est 7E Hex
Figure 3-1 Format de trame Point-à-Point
La trame est délimitée par un fanion de signalisation (01111110). Sur des liaisons point-à-point, à l’état
de repos, ce fanion est transmis de façon continue.
3.3.1.2.1 Protocoles dérivés : HDLC
HDLC partage le format des trames SDLC. HDLC a une option pour rajouter un CRC sur 32 bits. Il
est différent de SDLC qui ne supporte qu’un seul mode de transfert (par polling).
LAPB
IL est connu pour sa présence dans le protocole X25 et le RNIS. En fait , il s’agit ni plus ni moins que
de HDLC réduit au mode ABM. La liaison LAPB est établie par soit le DCE (Data Control Equipment)
soit par le DTE (Data Terminal Equipment) (Voir schéma en cours). La station qui initie l’appel est le
primaire.
Remarque :
Le format de la trame et les protocoles de liaison de données point-à-point sont donnés ici à titre
indicatif. Leur étude fait l’objet du Module T30 « Infrastructure des Réseaux de Télécoms ». Nous
nous intéressons ici à la liaison de données des réseaux locaux.
LLC
l’architecture d’un réseau local. Le Niveau
Logical Link Control
A
A
niveau trame du modèle a été Trame IEEE 802.3 IEEE 802.4 IEEE 802.5 IEEE 802.6 IEEE 802.7 ISO
▪ Une couche relative au contrôle d’accès au support physique, ou couche MAC (Medium
Access Control). Elle contrôle l’accès partagé au support et gère les erreurs.
▪ Une couche indépendante de la méthode d’accès et chargée du contrôle de la liaison de
données, ou couche LLC (Logical Link Control). Elle gère les interfaces d’accès aux services
réseaux.
La couche MAC propose les six méthodes d’accès suivantes, dont trois pour l’accès à des réseaux à
jeton « Réseau dans lequel seule la station qui possède le jeton peut transmettre »:
▪ CSMA/CD (Carrier Sense Multiple Access/Collision Detection) pour l’accès à un réseau
Ethernet partagé ;
▪ Jeton sur bus ;
▪ Jeton sur boucle ;
▪ Technique d’accès à un réseau métropolitain ;
▪ Technique d’accès à un câble d’antenne de télévision pour multiplexer les différents
utilisateurs du câble ;
▪ Jeton temporisé pour l’accès à un réseau FDDI
Le contrôle de l’émission et de la réception des trames est à la charge du niveau LLC. Trois types de
services ont été définis :
▪ LLC 1, sans connexion et sans acquittement ;
▪ LLC 2, avec connexion et avec acquittement ;
▪ LLC 3, sans connexion et avec acquittement simplifié
3.4.3 Problèmes d’adressage
3.4.3.1 Identification de nœuds du réseau
Le modèle de référence définit l’adressage des systèmes au niveau réseau « niveau 3 OSI ». Une
adresse de cette couche désigne un nœud dans le réseau étendu et permet en l’occurrence de
localiser un hôte distant. Dans les réseaux qui communiquent sur un support partagé, il n’y a aucun
besoin de localisation, il suffit de distinguer un nœud « une interface » parmi toutes celles
raccordées localement au support « même réseau ». Pour remplir cette fonctionnalité, chaque
interface est distinguée par une adresse unique. Celle-ci est une adresse de la sous-couyche MAC, et
elle dite adresse physique, du fait qu’elle identifie d’une façon unique l’interface NIC.
3.4.3.2 Adresse de la sous-couche MAC
Cette adresse indique un coupleur d’un nœud sur le brin partagé. Il est à noter qu’elle n’a aucune
signification géographique : la valeur de l’adresse ne donne aucune idée de l’emplacement de la
carte. Elle n’est pas hiérarchique mais absolue. Cela explique que la première utilisation de
l’environnement Ethernet soit le réseau local. En effet, puisque l’on ne sait pas où se trouve le
destinataire, la seule solution pour l’atteindre consiste à émettre la trame en diffusion.
Espace d’adressage
L’adressage de niveau 3 @ de
niveau 2
globale de niveau réseau
permet d’identifier les « Niveau 3"
stations à un niveau
supérieur. Il assure la Réseau LAN
continuité entre des réseaux Support partagé
physiques qui utilisent
même ou différent systèmes L’adressage Espace d’adressage
d’adressage de niveau 2. réseau « Niveau 3" Physique
est utilisée pour
les échanges de
bout en bout
Réseau LAN
Support partagé
Espace d’adressage @ de
@ de Physique niveau 2 L’adressage de niveau 2
niveau 2 est géographiquement
limité à un réseau local
ou à une liaison de type
Les adresses physiques « Uniques » sont point-à-multipoint d’un
utilisées pour des échanges locaux réseau étendu.
3 Réseau Réseau
1 Physique Physique
Figure 3-8 Sous-couche MAC
A compétition (ou non Chaque station essaie de prendre le contrôle du réseau en tenant compte
déterministe) CSMA/CD uniquement des activités du canal de transmission.
Nœud de
D destination D
1 2
E Nœud
E
Emetteur
D D
3 4
E E
Le nœud de destination mémorise une copie des Le nœud expéditeur vérifie le contenu de la trame
données. Positionne deux bits pour indiquer la puis libère le jeton.
réception puis transmet la trame au nœud suivant Il a également le droit d’émettre une autre trame s’il
n’a pas épuisé son crédit de temps
Figure 3-9 Méthode d'accès déterministe
F F Z Z Z Z Z Z J K 1 J K 1 I E
Frame Control SD AC FC Ending Delimiter
P P P T MR R R A C - - A C - -
Le Jeton
Access Control Frame Status
J K 0 J K 0 0 0
Starting Delimiter
Figure 3-10 Format de trame Token Ring
Idle
NPR NPR
Silence
Idle Idle Inc
Inc
Idle
Idle Idle Idle
Idle Idle
Source
4 HUB Sil
en 5 HUB 6 HUB
ce
ce
Inc Idle
en
Sil Inc Idle Idle
Idle
Réception
Emission Emission
1 - Le « HUB » informe les stations et celles-ci informent le « HUB » de leurs disponibilités par
émission du signal Idle.
2 - La station ayant des données à émettre formule une requête au « HUB » selon le niveau de
priorité. Ici, ce sont des données de priorité normale, signal NPR « Normal Priority Request ».
3 - Le « HUB » scrute en permanence ses différents ports (Round Robin). Durant cette phase de
polling, le hub détecte la demande de la station. Il informe les autres stations qui lui sont raccordées
de se mettre en état de réception « Signal Incoming , INC » et cesse son émission du signal « Idle »
vers la station source « silence ».
4 - Les stations signalent au « HUB » qu’elles sont prêtes à recevoir en cessant leur émission de Idle.
La station source interprète la non-réception de Idle comme une autorisation d’émettre.
5 - Le hub, à réception de cette dernière, examine l’adresse de destination et retransmet la trame sur
le seul port intéressé. Le hub reprend vers les autres stations la transmission de Idle.
6 - A la fin du cycle, toutes les stations et le hub émettent le signal Idle.
3.5.4 Les réseaux FDDI
3.5.4.1 Présentation
FDDI offre des solutions de réseaux locaux ou métropolitains. C’est une technologie pouvant être
adoptée comme solution d’interconnexion de réseaux locaux de type Ethernet et Token-Ring et ce,
dans un contexte de réseau fédérateur.
3.5.4.2 Topologie
Les réseaux FDDI reposent sur une topologie en double anneau sécurisé, auquel on attache des
stations de type A (possédant une double connexion à chaque anneau), de type B (possédant une
double connexion à un seul anneau) et de type C (concentrateurs connectés aux deux anneaux et
pouvant relier les stations B).
3.5.4.3 Équipements
Il existe donc trois classes A A
Equipement de
d’équipements : la classe A, Classe A : Double
connexion à
connectée au double anneau, la chaque Anneau
classe C, composée des
concentrateurs, et la classe B, qui A A
regroupe les équipements
Double boucle
connectés à un seul des anneaux par FDDI
un concentrateur.
C
Concentrateur
Equipement de Classe B : Equipement de Classe C :
Double connexion à un Concentrateur relié aux
seul Anneau deux anneaux et pouvant
connecter des station B
B B
B B
Début réception
Fin Réception ?
Non
Oui
@ Reconnue ?
Oui Non
Longueur Correct ?
Non Erreur FCS
Oui
Couches supérieures
Medium
Medium Medium
Medium Medium
Medium
10 Mb/s 100 Mb/s 1000 Mb/s
Le niveau MAC est commun à toutes les versions et seule la couche physique dépendra du médium et du débit
Les fonctions du niveau physique sont réalisées par des unités d’accès au médium de transmission,
appelées MAU (Medium Access Unit). Ces fonctions regroupent notamment :
▪ Le codage et le décodage des données ;
▪ La synchronisation ;
▪ La reconnaissance des trames.
Au niveau physique, plusieurs techniques sont acceptables :
▪ La transmission en bande de base sur câble coaxial ou sur paire de fils torsadés ;
▪ La transmission large bande sur câble CATV (câble de type antenne de télévision) ;
▪ La transmission sur fibre optique multimode et monomode.
3.5.5.2 La collision
3.5.5.2.1 Présentation
La collision est le phénomène qui résulte de la superposition de deux signaux sur le support. Cette
superposition produit un autre signal pollué. La collision ne se produit donc que suite à une
transmission simultanée « CSMA » (ou dans un laps de temps suffisamment court). Il s’agit bien d’un
évènement normal lié à la méthode d’accès adoptée, et qui est résolu par celle-ci « CSMA/CD ».
3.5.5.2.2 Phénomène
Deux station sondent le canal, et s’aperçoivent Station 1 Station 2
que ce dernier est libre. Elle se place toutes les
deux en état d’émission simultanée. Leurs
signaux se superposent dans le temps et
provoquent une collision. Selon le niveau de
chevauchement des signaux sur le brin, deux
hypothèses peuvent avoir lieu : une collision
détectée ou une collision non détectée. Deux émissions quasi-simultanées sur le support partagé
L’objectif recherché ici est d’éviter que toute
Figure 3-17 - Phénomène de collision
collision passe inaperçue.
Fin
Détection
Temps
Temps
de collision Fin Emission
Jam
Collision
des deux trames
Collision
des deux trames
3.5.5.3 Le « Jam »
Le « Jam » est un signal sans signification logique de données, mais qui assure aux stations ayant
détecté une collision sur leurs émissions que le reste du réseau a bien reçu le signal de collision. Ceci
est réalisé tout simplement en prolongeant la durée de la collision d’au moins 32 bits time par
l’émission d’une suite de bits quelconques à partir de l’instant où un émetteur détecte une collision.
Toutefois, la valeur de ces 32 bit doit être différente du CRC qui correspond au début d’une trame
transmise « le champ FCS est transmis en premier » ; ceci pour éviter toute confusion.
3.5.5.3.1 Détection de collision
Nous avons compris que la méthode d’accès CSMA/CD réduit considérablement le risque de collision,
sans toutefois le supprimer complètement. Si, durant le temps de propagation entre les deux
stations les plus éloignées (période de vulnérabilité), une trame est émise sans qu’un coupleur la
détecte, il peut y avoir superposition de signaux. De ce fait, il faut réémettre ultérieurement les
trames perdues.
Signal pollué è Collision
À l’écoute préalable du réseau s’ajoute Signal de données
TCP / IP
802.1 Management
CSMA/CD FDDI
Sur Bus Sur Anneau Sans fil AnyLan
802.3 802.4 802.5 802.7 802.11 802.12
Physique
Comité Sujet
Vue d’ensemble et architecture des LAN : Gestion des réseaux locaux, VLAN,
802.1
authentification …
Contrôle logique de liaison : Distinction entre couche Logical Link Control (LLC) et Media
802.2
Access Control (MAC)
802.3 Couche média CSMA/CD Ethernet
802.4 Bus à jeton
802.5 Couche média Token Ring (IBM) : Anneau à jeton (LAN d’IBM)
802.6 Groupe de conseils sur les réseaux à grande distance (Réseau métropolitain ou MAN)
802.7 Groupe consultatif sur les technologies à large bande
802.8 Groupe consultatif sur les technologies à fibre optique
LAN isochrones « pour les applications en temps réel » : Réseaux à intégration de
802.9
services comme RNIS.
802.10 Interopérabilité de la sécurité des LAN/MAN.
802.11 LAN sans fil
Réseaux locaux utilisant le mécanisme de demande de priorité (AnyLAN de Hewlett-
802.12
Packard).
802.13 Non affecté
802.14 Réseaux et modems câble
802.15 Réseaux privés sans fil (WPAN) comme Bluetooth
802.16 Réseaux sans fil à large bande « par exemple le WiMAX »
802.17 Réseaux de fibres optiques en anneau (Resilient Packet Ring)
Les réseaux Ethernet permettent généralement de transmettre deux types de trames aux formats
légèrement différents : les trames DIX (Ethernet V2) et les trames IEEE 802.3. Les formats de trames
que le standard définit sont normalisés. Les couches physiques peuvent faire l'objet de normes
séparées en fonction du support de transmission, du débit, de la longueur des liaisons et des conditions
environnementales.
Ethernet DIX È
Entête LLC
IEEE 802.3 Ê
Préambule SFD @MAC Dst @MAC Src Long 802.2 Données Bourrage FCS
Préambule : Données SFD : Start Frame Données : le champ de données de la trame Ethernet DIX est compris
de synchronisation Delimeter entre un minimum de 46 octets et un maximum de 1500 octets (MTU).
[10101010 x 7] [10101011] A défaut, le champ est prolongé par des données de bourrage
Figure 4-2 - Formats de la trame Ethernet
(a) (b)
(c) (d)
Nous supposons qu’à l’instant t0 une trame part de A vers B (b). Peu de temps avant son arrivé (tp – ε),
la station B s’aperçoit d’un canal libre engage elle-même une trame (b). Les deux trames engendrent
une collision (c). Tout en ayant la plus proche, la station B détecte un signal de puissance supérieure à
celle qu’elle émet. Elle génère un signal de brouillage de 32 bits qui avertit tout le réseau. C’est ici que
le vrai problème se pose. Si la station A détecte le signal de brouillage avant la fin de sa transmission,
elle interrompe l’opération. Les deux stations reprennent l’émission au bout d’un temps aléatoire
calculé par l’algorithme de « Back-off » . Mais si la station a terminé déjà sa transmission avant que la
perturbation ne lui parvienne au temps 2 tp (cas d’une trame très courte), elle peut conclure à tort que
tout s’est bien passé. Pour éviter cette situation, le temps de transport d’une trame doit être supérieur
à 2tp. Autrement dit nous devons nous assurés que la transmission ne soit pas achevée avant que le
signal de brouillage ne parvienne à l’émetteur.
Des mesures ont été réalisées sur un LAN Ethernet à 10Mbit/s et d’une longueur maximale de 2500 m
(spécification IEEE 802.3) ont permis d’observer que le temps aller-retour d’un signal est de 51,2
microseconde (à peu près 50 μs). Par conséquent, le temps de transmission d’une trame « T » ne doit
pas être inférieur à cette valeur, et la taille de la trame « T » est elle-même la taille limite inférieure
d’une trame Ethernet.
Sur un réseau à 10 Mb/s, la durée d’un bit sur le canal est de 10-7 s, soit 0,1 μs. Pour une durée de 50
μs, on pourra transmettre 500 bits, une valeur portée à 512 bits pour des raisons de sécurité. En
conclusion, la taille minimale d’une trame Ethernet est de 512 bits, soit un total de 64 octets. Un champ
de bourrage est utilisé en cas où la trame a une taille inférieure.
4.4.2 Algorithme de Back-off
Réseau
Trame
LLC
Couche Physique
Réseau
MAC
LLC
Figure 4-5 - Sous-couche LLC "802.2"
Physique
MAC
4.4.4.1 Fonctionnement Physique
Chaque paquet envoyé par la couche réseau subit le traitement définit par les primitives de la sous-
couche LLC «rappelez-vous, la sous-couche LLC offre ses services à la couche Réseau ». Cette dernière
ajoute un en-tête contenant les « Service Access Point : SAP», ainsi que des numéros de séquences et
d’acquittement. Le résultat est inséré dans le champ de données de la trame 802.
4.4.4.2 Multiplexage / Démultiplexage de Protocoles par la couche LLC
Nous avons dit que la sous-couche LLC se charge de dissimuler les différences affichées par les
différents réseaux 802. Elle exploite un point d’accès au service (SAP) propre à chaque protocole de la
couche 3 du modèle OSI afin q’une même carte réseau puisse envoyée (multiplexage = encapsulation)
ou recevoir (démultiplexage) des trames correspondants à plusieurs protocoles différents de la couche
réseau.
Le multiplexage / démultiplexage est une opération qui se situe donc au niveau de l’interface entre la
sous-couche LLC et la couche réseau « voir cours Modèle de Référence OSI ». Le point d’accès s’appel
LSAP « Link Service Access Point ».
Le LSAP est un mécanisme qui permet de dispatcher les trames arrivant à la couche Liaison vers le
protocole réseau qui leur correspond. Ceci grâce à un identificateur de protocole porté par la trame
liaison elle-même. Cet identificateur a été placé sur cette trame par le LSAP de la station émettrice,
sur indication de la couche réseau à l'origine de la trame.
Le numéro de SAP dans la trame Ethernet II (ou trame DIX) est le champ Ethertype. Mais pour la trame
802.3, l’en-tête LLC ajoute 3 autres champs comme le montre la figure suivante :
Les champs DSAP « Destination Service Access Point » et SSAP « Source Service Access Point »
désignent pour des raisons historiques le même numéro pour chacun des protocoles de la couche
réseau. Ils remplacent le champ Ethertype de la trame DIX.
Protocoles Réseaux Numéros SAP - en hexadécimal -
IBM - Protocoles SNA - Multiples de 4
04 - 08 - 0C - 10 - etc...
Novell Netware F0
Netbios E0
Banian Vines BA
IP SNAP
Le champ contrôle contient les numéros de séquences et d’acquittement comme dans le protocole
HDLC. Ces champs sont utilisés lorsqu’une commutation fiable est requise au niveau liaison de
données. Pour l’Internet, on cherche une livraison aux mieux des paquets IP, et les acquittements LLC
deviendront inutiles. En réalité, le protocole IP, étant, de par son histoire, très lié au champ Ethertype,
a besoin, dans la version IEEEE 802.3, d'un SAP spécial. On y parvient par le protocole SNAP.
D'abord on attribue aux deux adresses SAP la valeur hexadécimale AA, les protocoles concernés
sauront qu'il faut aller chercher les 5 octets suivants.
Les trois premiers octets de ces 5, indiquent le numéro de protocole - lié généralement à une firme -
appelé OUI : Organizational Unique Identifier. Identificateur unique de Firme. Puis, on fait suivre le
champ Ethertype.
Le standard 10base2 utilise quant à lui un câble fin présentant une meilleure souplesse d’installation
mais moins onéreux. Le raccordement se fait tout simplement par une jonction passive en utilisant des
connecteurs BNC. La longueur maximale d’un segment est de 185m.
Les difficultés de détection des ruptures, de l’ajout et de la suppression de machines sur le réseau ont
conduit à mettre en place une autre méthode de câblage utilisant cette fois-ci un équipement de
concentration appelé hub. Ce standard Ethernet nommé 10BaseT utilise des paires torsadées pour le
raccordement de chaque station au concentrateur. La modification du réseau (ajout, suppression) ne
pause plus un problème.
Le hub est un dispositif de diffusion générale ; autrement dit, il se contente de recopier et d’amplifier
chaque trame reçue sur l’un de ses ports, sur le reste des ports disponibles. Il ne mémorise pas dans
une mémoire tampon le trafic entrant. Une version améliorée de ce dispositif sera présentée plus loin,
les commutateurs.
Le standard 10BaseF utilise la fibre optique comme support de transmission. C’est une solution
coûteuse mais offre une excellente immunité contre les interférences et peut atteindre des distances
de l’ordre des kilomètres. Pour Ethernet, la fibre optique reste une solution d’interconnexion de hubs
par des épines dorsales (backbone).
Latence : C’est le temps qu’il faut à une trame pour parvenir à sa destination. Sur un réseau à base de
hubs, il est nécessaire d’attendre une opportunité de transmettre sans causer de collisions.
Cela augmente fortement la latence, et d’autant plus qu’il y a de machines connectées sur le
réseau.
Défaillance réseau : Dans un réseau typique, un périphérique sur un hub peut causer des problèmes à
d’autres périphériques connectés à ce hub à cause d’une mauvaise configuration de la vitesse
de transmission, ou à cause d’un trop grand nombre de broadcasts. Un réseau à base de hub
est plus sensible à la panne.
Un pont est un équipement de couche liaison de données (couche 2 du modèle OSI) qui permet de
diviser ou de segmenter un réseau. Les ponts (Bridge) sont donc des équipements d’interconnexion
de niveau 2, ils permettent d’interconnecter deux ou plusieurs réseaux et ils sont transparents aux
protocoles de niveaux supérieurs. Ils assurent des fonctions d’adaptation de débit ou de support entre
réseaux semblables (Ethernet / Ethernet, Token Ring / Token Ring), ou hétérogènes (Ethernet / Tokin
Ring). Agissant au niveau 2, les ponts traitent les données de liaison, c'est-à-dire les données de trames.
De ce fait, ils peuvent acheminer les trames en fonction de l’adresse MAC réalisant ainsi un routage de
niveau 2.
Pont
Hub Hub
Hub Hub
Un pont est capable de collecter et de transmettre des trames de données de façon sélective entre
deux (ou plusieurs) segments de réseau. Pour ce faire, il apprend l’adresse MAC de tous les
équipements de chaque segment connecté. À l’aide de cette information, il crée une table de pontage
et achemine ou bloque le trafic en se basant sur cette table. Il en résulte des domaines de collision de
plus petite taille et une efficacité accrue du réseau. Les ponts ne limitent pas le trafic de broadcast. Ils
renforcent néanmoins le contrôle du trafic au sein d’un réseau.
5.2.1 Différents types de ponts
Un pont diffère d’un autre par la méthode d’acheminement des trames reçus sur un port ; on distingue
principalement les types suivants :
Les ponts simples : Ces ponts sont dépourvus de fonction d’acheminement. Ils diffusent toutes les
trames reçues sur tous les ports excepté celui par où la trame à été reçue.
Les ponts simples avec fonction d’acheminement : ils acheminent les trames selon une table de
correspondance d’adresse MAC / Port introduite par l’administrateur lors de la configuration du pont.
Pont transparent : ces ponts intègre des fonctions d’apprentissage leurs permettant de créer et de
maintenir dynamiquement la table d’acheminement. Pour construire cette table, à la mise sous
tension le pont examine le trafic reçu sur chaque port, détermine l’adresse MAC source et ajoute une
entrée dans la table en associant cette adresse au port d’entrée. La convergence dépend du trafic ainsi
géré par le pont.
5.2.2 Interconnexion LAN
Les ponts peuvent être utilisés pour interconnecter, soit plusieurs LAN de même technologie
(Segments Ethernet), soit plusieurs LAN de différentes technologies (Segment Ethernet / anneau Token
Ring). Dans ce dernier cas, à part sa fonction d’acheminement, le pont se charge de la transformation
du format de trame. Prenons l’exemple suivant, dans lequel plusieurs ponts sont utilisés pour
interconnecter quatre segments Ethernet.
LAN 1
LAN 2 LAN 3
Le traitement des trames 802.3 dans un pont est réalisé selon l’algorithme suivant :
Apprentissage Réinitialisation du
Trame traitée Trame rejetée
@MAC / Port Timer
Un pont transparent accepte les trames transmises sur tous les LAN auxquels il est rattaché. Dans
l’exemple P1 reçoit sur le port 1 une trame en provenance du LAN 1 et destinée à l’hôte A. le pont lit
l’adresse MAC de destination et recherche dans sa table le port lié à celle-ci. Il s’aperçoit que le port
attaché à cette adresse est lui-même le port d’arrivé de la trame, elle est éliminée immédiatement car
l’hôte de destination se trouve encore sur le réseau émetteur. En revanche, si elle est destinée à C ou
G, elle est acheminée sur le port 2 auquel sont rattachés les hôtes C, D, E, F, G et H.
5.2.3 Apprentissage des adresses
Lors de sa mise sous tension, le pont ne reconnait aucune adresse et sa table est vide. Il accepte tout
le trafic qui lui parvient depuis les LAN auxquels il est rattaché. En examinant pour chaque trame reçue
le champ d’adresse MAC source il arrive à créer une entrée d’attachement dans la table de localisation
« @MAC / Port d’attachement ». Si l’adresse MAC de destination est encore inconnue, le pont opère
par inondation ; cela veut dire qu’il retransmet la trame sur tous les ports, sauf celui par lequel la trame
a été reçue. Avec le temps (temps de convergence), le pont finit par localiser toutes les destinations.
Dans son utilisation la plus intéressante, un pont peut servir à interconnecter des LAN de différentes
technologies. A part sa fonction de pontage, le pont réalise la transformation du format de la trame.
Prenant l’exemple suivant dans lequel le pont relie un LAN sans fil IEEE 802.11 avec un LAN Ethernet
IEEE 802.3.
Pont
Réseau Pqt Pqt
La transmission d’une trame d’un LAN à un autre n’est pas aussi simple, la trame doit être reformatée.
Ceci consomme du temps de traitement, et la somme de contrôle est recalculée de nouveau.
5.2.5 Les ponts distants
Les ponts peuvent être utilisés pour relier encore des LAN distants. Les LAN des différents sites distant
forment ainsi un système qui se comportera comme un grand LAN d’entreprise.
LAN 2
Par / WANNES Kamel
Les ponts distants communiquent à travers des liaisons point-à-point (par exemple des liaisons louées
à l’opérateur des télécoms), ils assurent des fonctions d’adaptation de protocoles entre le protocole
local et le protocole du lien d’interconnexion. Toutefois ces ponts sont utilisés pour interconnecter des
réseaux dont le protocole réseau n’est pas routable comme NetBios ou SNA.
6 La commutation Ethernet
6.1 Présentation
Pour commencer, rappelons qu’Ethernet est initialement une technologie partagée où toutes les
stations d’un segment LAN donné convoitent la même bande passante disponible. Traditionnellement,
la commutation dans les réseaux téléphonique consiste en fonction d’un label, à mettre en relation
directe un port d’entrée avec un port de sortie. Dans une commutation Ethernet, en mettant en
relation un port d’entrée avec un port de sortie auxquels sont liées deux machines en communication,
on résout le problème d’effondrement du aux trames de collision et on garantit une certaine bande
passante. Dans les réseaux Ethernet un commutateur (Switch) n’est autre qu’un pont multiport.
Pont
Commutateur
Un commutateur utilise en interne une matrice de commutation lui permettant de mettre en relation
directe deux ports, un port d’entrée lié à l’émetteur et par lequel le commutateur reçoit une trame, et
un port de sortie lié au récepteur et par lequel le commutateur doit faire acheminer la trame.
L’architecture interne d’un commutateur, les deux types de matrices de commutation sont donnés
dans la figure suivante.
Matrice de commutation
Interface MAC
Port 24
Port 1
Port 2
Mise en relation
d’un port d’entrée
avec un port de
sortie
Dans une matrice de commutation crossbar, l’établissement ou l’interruption de la liaison entre deux
conducteurs (deux ports) est réalisé par un transistor. Dans la figure, les points noirs représentent
l’état passant d’un transistor, et donc la mise en relation d’un port d’entrée avec un port de sortie.
Le commutateur banyan quant à lui est une application d’un système de commutation multi-étage.
Dans ce système, chaque port d’entrée peut être mis en relation avec tout port de sortie. La figure (d)
donne un exemple de mise en relation d’un port d’entrée avec un port de sortie.
D’autres architectures propriétaires plus simple à concevoir peuvent existées, comme celle à bus. Cette
dernière correspond à la réalisation d’un bus de font à très haut débit (Collapsed Backbone) qui
véhicule les trames en commutation.
Pour éviter la congestion (flux de plusieurs trames d’entrées convergent vers un même port de sortie),
un commutateur de haut de gamme peut utiliser des Buffers d’entrées et/ou de sorties. Ceci ne peut
pas exclure la perte de trames par débordement, ainsi pour pallier à ce phénomène, les commutateurs
mettent en œuvre un contrôle de flux de type Xon/Xoff par l’intermédiaire d’une trame de
signalisation dite trame « Pause ». Lors de l’apparition d’un état de saturation (atteinte d’un seuil de
file d’attente), le commutateur émet sur le(s) port(s) saturé(s) une trame pause dont la structure est
la suivante :
Cette trame fixe la durée de blocage du (des) port(s) en amont. Une valeur de durée égale à zéro
autorise la reprise de transmission.
6.2 Techniques de commutation
Le fonctionnement interne d’un commutateur est le suivant : une trame arrive dans le commutateur.
Elle est mise en mémoire tampon. L’adresse MAC est lue et comparée à la liste des adresses MAC
connues par le commutateur, et gardées dans la table de commutation (table lookup). Pour l’envoyer,
le commutateur utilise plusieurs méthodes :
Cut through: Ou Fast Forward. Le commutateur lit l’adresse MAC dès la réception du train de bits de
la trame. Après avoir reçu les 6 premiers octets (@ MAC de destination), il commence à
renvoyer les données vers le segment destinataire, et cela avant que le reste de la trame ne
soit entièrement arrivé. Ce mode est très performant en temps de latence, mais propage les
trames sans en avoir vérifié la validité et en particulier les trames de collision. En outre ce mode
de commutation interdit l’adaptation des débits entre port d’entrée et port de sortie.
Store and forward : Ici le commutateur sauvegarde la totalité de la trame dans un buffer, vérifie les
erreurs CRC ou autres problèmes, puis l’envoie sur le segment destinataire après avoir regardé
les adresses MAC émettrices et destinataires. Si la trame présente des erreurs, elle est rejetée.
Dans ce mode qui autorise un contrôle total d’erreur, ne sont alors retransmises que les trames
valides et la conversion éventuelle de débit est possible (port auto sense).
Fragment free : Cette méthode est moins utilisée que les précédentes. Elle fonctionne comme cut
through, si ce n’est qu’elle stocke les 64 premiers octets de la trame (fenêtre de collision) avant
de l’envoyer. La raison est que la plupart des erreurs et des collisions interviennent lors du
temps de transmission des 64 premiers octets comme nous l’avons montré plus haut.
6.3 Différents modes de commutation
Un commutateur peut mettre en relation des stations pour une commutation par port, ou des
segments de réseaux pour une commutation par segment.
Commutation par
segment
Hub
Dans une commutation par
segment, un port peut être mis
en relation avec plusieurs
Switch
adresses MAC. Une trame dont Switch
Commutation
par port
Une table de commutation peut être statique, dans laquelle les entrées de mise en relation sont fixées
par l’administrateur. L’entrée n’obéie à aucun temps de vie (âge), et le réseau est sensible aux
modifications (déplacement de stations, gestion des stations mobiles, …etc). Le système peut être
dynamique encore, la table de commutation est construite par analyse régulier du trafic et
apprentissage des adresses MAC. Dans ce dernier mode, pour éviter le débordement de la table, et
pour autoriser la mobilité des stations ; lors de l’apprentissage d’une adresse un temporisateur est
lancé, et au bout de la durée de TTL (âge) l’entrée est supprimée. Toutefois le temporisateur est réarmé
à chaque fois que la même adresse est apprise de nouveau.
6.4 Débit
Un commutateur peut donc mettre simultanément plusieurs ports en relation, sans que le débit de
chacun chute. Par exemple un commutateur de 8 ports en 100BaseT peut supporter quatre
connexions port source/port destination simultanées `a 100 Mbit/s chacune, ce qui donne un débit
global de 400 Mbit/s qui doit pouvoir être supporté par le bus interne ou “ fond de panier ”.
D’un point de vue plus théorique, un commutateur à N ports à 100 Mbit/s chacun a un débit
maximum de N/2 × 100 = 50 × N Mbit/s.
6.5 Apprentissage des nœuds
La question qui se pose maintenant, est comment créer la table de correspondance des adresses MAC
et des Ports ou Segments ?
La plupart des commutateurs Ethernet utilisent un système appelé transparent bridging (Pont
Transparent) pour créer leur table d’adresses lookup. Transparent bridging est une technologie qui
Commutateur
S1 S2 S3
Un ordinateur A (Noeud A) dans le premier segment S1 envoie des données à l’ordinateur B présent
sur le segment S2. Le commutateur traite cette trame. Il lit l’adresse MAC et comme il ne la connaît
pas, il la sauvegarde dans sa table lookup. Le commutateur sait maintenant que le noeud A se trouve
sur le segment S1. Cette séquence est l’apprentissage.
Vu que le commutateur ne sait pas encore où se trouve le noeud B, il réagit comme un hub et envoie
la trame sur toutes ses interfaces (Segments S2 et S3) excepté l’interface d’entrée (Segment S1). C’est
la séquence d’inondation.
Le noeud B sur le segment S2, comme le noeud C sur le segment S3, reçoit la trame et répond au noeud
A. Le noeud C, voyant que la trame ne lui est pas destiné, l’ignore/le détruit. La trame du noeud B
arrive au commutateur par le segment S2. Le commutateur sait maintenant que le noeud B se trouve
sur le segment S2. Il ajoute cette information dans sa table lookup. Etant donné que le commutateur
connaît l’adresse du noeud A, il lui envoie directement la trame. Comme les noeuds A et B se trouvent
sur des segments différents, le commutateur doit faire passer les trames d’un segment à l’autre. C’est
le forwarding.
Pour la suite des communications entre les noeuds A et B, le commutateur sachant sur quel segment
se trouvent ces 2 noeuds, il forwarde les données sans utiliser l’étape d’inondation.
Prenons maintenant un noeud D présent sur le segment S1, donc sur le même segment que le noeud
A. Par une précédente transmission ayant pour émetteur le noeud D, le commutateur sait que le noeud
D est sur le segment S1. A envoie une trame à D. Lorsque la trame arrive sur le commutateur, ce dernier
l’ignore et ne la retransmet pas sur un autre segment. C’est le filtrage.
Pour optimiser l’utilisation de la mémoire du commutateur, il est possible de supprimer des vieilles
entrées (pas forcément obsolète !). Cela s’appelle le vieillissement (aging).
Lors de l’inscription d’une entrée dans la table lookup, un timer est déclenché. L’entrée sera supprimée
lorsque le timer de l’entrée arrivera à son terme sans avoir détecté d’activité pour le noeud enregistré.
6.5.1 Routage et commutation de niveau 3
La plupart des commutateurs opèrent la commutation au niveau 2 du modèle OSI. Cependant, certains
commutateurs embarquent aussi des fonctionnalités de niveau 3. La distinction entre la commutation
de niveau 3 (commutateurs de niveau 3) et le routage (routeurs) est très fine. Lorsqu’un routeur reçoit
un paquet, il regarde à la couche 3 les adresses source et destination (dans le cas de l’Internet ce sont
les Adresses IP source et Destination) afin de déterminer le meilleur chemin entre ces 2 points. Un
commutateur standard, donc de niveau 2, s’appuie sur les adresses MAC émettrices et destinataires.
La différence fondamentale entre un routeur et un commutateur de niveau 3 est que ce dernier
embarque une couche matérielle optimisée pour passer les données aussi vite qu’au niveau 2. Mais la
décision vers où transmettre le paquet se prend au niveau 3. La commutation étant plus rapide que le
routage (car c’est matériel et non logiciel), les commutateurs de niveau 3 sont plus rapides que les
routeurs. Cependant, les commutateurs, qu’ils soient de niveau 2 ou 3, ne peuvent être utilisés que
sur des LAN.
La conception interne des commutateurs de niveau 3 est similaire à celle des routeurs. Les 2 utilisent
un protocole de routage et une table de routage pour déterminer le meilleur chemin. Cependant, un
commutateur de niveau 3 a la capacité de reprogrammer la couche matérielle dynamiquement avec
les informations de routage de niveau 3 courantes. C’est cela qui lui permet de traiter plus rapidement
les paquets. Actuellement dans les commutateurs de niveau 3, les informations reçues des protocoles
de routage sont utilisées pour mettre à jour les tables de cache de la couche matérielle.
Bien sûr, nous n’avançons pas trop ici dans le routage. C’était juste pour comprendre la commutation
de niveau 3 du modèle OSI. Notez toutefois que c’est similaire au routage à proprement parler, mais
au niveau LAN.
6.5.2 Fast Ethernet : IEEE 802.3u
Fast Ethernet n’est pas une nouvelle norme, il s’agit d’une amélioration de la norme Ethernet standard
802.3 venant répondre aux besoins croissants en bande passante. Pour atteindre le débit de
100Mbit/s, Fast Ethernet garde les mêmes spécifications (format de trame, interface et règles d’accès)
et ramène l’intervalle représentatif d’un bit de 100 ns à 10 ns.
Le tableau suivant récapitule les différents modes de câblage Fast Ethernet :
acquittement, la possibilité de diffusion générale et restreinte, les tailles limites de trame et le même
mécanisme d’adressage. Donc le même format de la trame.
Le Gigabit Ethernet s’auto-configure avec les deux modes de transmission : le mode duplex intégral et
le mode semi-duplex. Le premier étant le mode de transmission normal du standard, il permet un trafic
dans les deux sens simultanément. Chaque interface étant équipée d’une mémoire tampon lui
permettant de mémoriser la trame et de l’expédier dès qu’il le souhaite. Ce mode est utilisé lorsque
les stations en communication sont reliées par un ou plusieurs commutateurs. Toutefois l’émetteur
n’a pas besoin d’écouter le canal, le problème de contention ne se pose pas ici et l’algorithme
CSMA/CD est désactivé. Chaque ligne fonctionne en duplexe intégral.
Le mode semi-duplex est utilisé lorsque les stations sont reliées à un hub à la place d’un commutateur.
Celui-ci ne mémorise pas les trames dans une mémoire tampon, il interconnecte en interne les
différentes lignes pour simuler le bus classique de l’Ethernet. Le protocole CSMA/CD n’est pas
désactivé, et les collisions sont de nouveau possibles.
Sur le plan fonctionnel, le standard Gigabit Ethernet accepte à la fois un câblage en cuivre et en fibre
optique. Sur un câble à paires torsadées de catégorie 5 (classe D) ou supérieure et d’une longueur
maximale de 100 m, on utilise les 4 paires en full duplex, chaque paire transmettant 2 bits par top
d'horloge. Soit un total de 1 octet sur l'ensemble des 4 paires, dans chaque sens. Ce mode est
compatible avec 100BASE-TX et 10BASE-T, avec une détection automatique des Tx et Rx assurée. La
topologie est ici toujours en étoile car il n'existe pas de concentrateurs 1 000 Mbps. On utilise donc
obligatoirement des commutateurs Gigabit Ethernet.
Le tableau suivant résume les différents types de câblage Gigabit Ethernet
Nom Caractéristiques principales
1000Base-T 4 Paire torsadées non blindées « UTP » de catégorie 5 ou plus sur une distance
maximale de 100m.
100Base-CX Une solution pour de courtes distances (jusqu'à 25 m) pour le 1 Gbit/s sur un
câble de cuivre spécial (2 paires blindées STP).
1000Base-SX Fibre optique multimode (50 et 62,5μ) sur une distance maximale de 550m.
1000Base-LX Fibre optique monomode (10 μ) ou multimode (50 et 62,5μ) sur une distance
maximale de 5000m.
7 Stratification TCP/IP
7.1 Introduction
7.1.1 ARPAnet
Notre objectif ici n’est pas l’historique d’ARPAnet, ce n’est juste à titre indicatif pour comprendre le
lien étroit entre celui-ci et l’origine de la suite des protocoles du modèle TCP/IP. En effet, tout à
commencer vers la fin des années 1950, le ministère de la défense américaine (DoD), voulait créer un
système de communication fiable pouvait éviter efficacement la vulnérabilité des commutateurs
téléphoniques publics auxquels sont reliés des milliers de terminaux (téléphones) de communication
militaire.
L’architecture TCP/IP est fondée sur un ensemble de protocoles empilés permettant de résoudre les
problèmes d’interconnexion en milieu hétérogène. Cette architecture décrit un réseau logique (Réseau
IP) au-dessus des réseaux physiques réels de transport comme le montre le schéma suivant.
L’échange de données dans les sous-réseaux physiques réels est réalisé selon le format propre à
chaque sous-réseau. Tandis que les échanges entre applications communicantes sont réalisés selon le
format défini par les protocoles TCP/IP.
Chapitre : Stratification TCP/IP
TSIRA Support de cours Réseaux : TCP/IP et Services de base Pour plus de compétences
59
CSFT – Tunis /Lab RI Formateur : WANNES Kamel
Figure7-3
Figure 7-4 La
: Lapile
pile de
de protocoles
protocoles TCP/IP
TCP/IP
TSIRA Support de cours Réseaux : TCP/IP et Services de base Pour plus de compétences
60
CSFT – Tunis /Lab RI Formateur : WANNES Kamel
Il n’y a pas de couche application au sens OSI du terme, c'est-à-dire une couche présentant des API aux
applications. La communication d’application à application est cependant assurée par des sockets en
masquant les éléments réseaux.
La couche transport fournit aux processus communicants deux types de services. Un service en mode
connecté assuré par le protocole TCP (Transmission Control Protocol), comparable à celui du protocole
TP4 du modèle OSI. Et un service de transport allégé de type best effort en mode datagramme assuré
par le protocole UDP (User Datagramme Protocol).
La couche internet (Inter-réseaux) présente à la couche transport les mêmes fonctionnalités de la
couche réseau du modèle OSI, elle assure l’acheminement à travers les sous-réseaux physiques réels
des données de transport sous forme de paquets. Le mode datagramme adopté par la couche réseau
vise à optimiser les ressources du réseau, il n’assure, ni contrôle d’erreur, ni contrôle de flux « excepté
l’algorithme de contrôle d’erreur de l’en-tête IP ». Ces tâches peuvent être assurées par le ou les sous-
réseaux de transport physique réels. Mais compte tenu qu’IP ignore la qualité de service assurée par
ces sous-réseaux ; la couche TCP pallie les insuffisances de la couche inter-réseau en assurant le
contrôle de flux, le contrôle d’erreur et le contrôle de la congestion.
Pour assurer des liaisons toutes IP et de s’adapter ainsi à toute architecture physique d’un système de
communication, la couche accès aux réseaux de l’architecture TCP/IP peut s’adapter à des protocoles
de liaisons variées, tel que les protocoles LAN, les protocoles Point à Point et les protocoles à « haut
débit » comme le Frame Relay et l’ATM qui constituent aujourd’hui le cœur de la plupart des réseaux
d’opérateurs et de fournisseur d’accès à l’Internet.
7.2.2 Numéros de port
Les applications sont en principe implémentées sous la forme de processus utilisateurs, ce sont des
démons comme ftpd (pour ftp), telnetd (pour Telnet), ping …etc. Sur un serveur d’application, cette
dernière est qualifiée par un numéro de port qui lui est réservé, ce numéro est utilisé par l’un des
protocoles de la couche transport (TCP ou UDP) afin d’identifier correctement chaque application. TCP
et UDP envoient et reçoivent des données vers la couche réseau aux noms des applications.
Nous savons maintenant que TCP et UDP identifient chaque application par un numéro de port. Les
serveurs sont connus par leur numéro de port unique, chaque implémentation TCP/IP qui procure par
exemple un serveur FTP, fournit ce service sur le port TCP 21. Chaque serveur Telnet figure sur le port
TCP 23. Chaque implémentation TFTP, réside sur le port UDP 69. Ces numéros de port réservés pour
les processus serveurs sont compris entre 1 et 1023.
Un client ne se préoccupe pas du numéro de port qu’il utilise, toutefois la garantie de l’unicité du
numéro de port du serveur est importante pour lui. Les numéros de port utilisés par un client son de
TSIRA Support de cours Réseaux : TCP/IP et Services de base Pour plus de compétences
61
CSFT – Tunis /Lab RI Formateur : WANNES Kamel
très courtes durés, ils sont appelés port éphémères. La plupart des implémentations TCP/IP allouent
des ports éphémères compris entre 1024 et 5000 « ou 65536 ».
Sur les systèmes Unix et leurs dérivés, les numéros de ports sont contenus dans le fichier système
/etc/services. Tandis que sur les systèmes Windows, ils sont contenus dans
\Windows\system32\drivers\etc\services.
Attention : il ne faut jamais changer ces numéros de ports dans ces fichiers, des scripts systèmes
peuvent leurs faire référence.
# less /etc/services
« listing du fichier /etc/services »
# grep telnet /etc/services
telnet 23/tcp « ce qui signifie que telnet utilise le port TCP 23 »
7.2.3 Encapsulation
Application
Processus Processus Processus Processus Processus
Utilisateur Utilisateur Utilisateur Utilisateur Utilisateur
Transport
TCP UDP
Internet
ICMP IP IGMP
Réseaux
D’accès au réseau
Chapitre : Stratification TCP/IP
Média
TSIRA Support de cours Réseaux : TCP/IP et Services de base Pour plus de compétences
62
CSFT – Tunis /Lab RI Formateur : WANNES Kamel
source et destination la socket. Cette dernière est donc identifier par un quadruplet « numéro de port
source, adresses IP source, numéro de port destination, adresses IP destination » auxquels s’ajoute en
principe le numéro de protocole de transport.
IP est le protocole principal de la couche réseau, il offre des services à différents protocoles. En effet,
les messages ICMP, les segments TCP, les datagrammes UDP et les données OSPF sont encapsulés dans
un datagramme IP. Ce dernier identifie chacun de ces protocoles par le biais du champ « protocol » de
son en-tête.
On remarque sur la figure précédente que certains processus accèdent directement à la couche IP, ceci
est très rare mais possible.
Les blocs de données TCP ou UDP, qui circulent sur l’internet traversent la couche IP de chaque
implémentation (machine ou routeur). ICMP est une extension à IP, celui-ci l’utilise pour échanger
toutes informations vitales de la couche IP d’une autre machine, y compris les messages d’erreur. Une
application peut accéder directement à la couche ICMP : ex ping et traceroute.
ARP (Adress Résolution Protocol) et RARP (Réverse ARP) sont employés spécialement avec certains
types d’interfaces réseaux (Ethernet ou Token Ring) pour faire correspondre des adresses de la couche
Réseau avec des adresses de la couche Liens. A titre indicatif, dans le cas de l’encapsulation Ethernet,
le datagramme IP est enrobé dans une trame Ethernet. L’en-tête de celle-ci contient des adresses
Données
Utilisateur
Application
En-tête Données
Applicatif Utilisateur
Segment TCP
Datagramme UDP
Paquet Datagramme IP
Fragment de datagramme IP
46 … 1500 octets
Chapitre : Stratification TCP/IP
14 20 20
physiques (source et destination). En conclusion, les données sont reconnues sur le média avec leurs
adresses matérielles dites adresses MAC. Entre la couche réseau et la couche liens, c’est ARP qui fait
la correspondance ou la résolution.
Une trame Ethernet peut transporter des datagrammes IP, des requêtes / réponse ARP ou des
requêtes / réponses RARP. Celle-ci utilise un champ nommé Ethertype.
L’unité de données transmises entre IP et l’interface réseau constitue un paquet. Ce paquet peut être,
soit un datagramme IP, soit un fragment de datagramme IP à cause de sa limite supérieure de 1500
octets.
7.2.4 Démultiplexage
C’est le déchiffrement des données d’une trame reçue sur une machine. La trame parcourt la pile de
bas en haut. A chaque niveau, l’en-tête du protocole en cour sera retiré et le reste des données est
envoyé au protocole approprié de la couche supérieure, ceci repose sur la valeur d’un champ type ou
d’un champ protocole de l’en-tête supprimé.
Les messages ICMP et IGMP sont encapsulés dans des datagrammes IP, c’est pour cette raison qu’ils
sont représentés ici au-dessus d’IP.
Il en est de même pour ARP et RARP, ici nous les faisons figurer au-dessus du driver Ethernet pour
rappeler qu’ils possèdent tous deux leurs propres trames tout comme IP.
Chapitre : Stratification TCP/IP
TSIRA Support de cours Réseaux : TCP/IP et Services de base Pour plus de compétences
64
CSFT – Tunis /Lab RI Formateur : WANNES Kamel
DSA SSA Cn
Adresse de Adresse Longue Org code CR
P P tl Type données
destination source ur 00 C
AA AA 03
6 6 2 1 1 1 3 2 38 ÷ 1492 4
Datagramme IP
0x 0800
38 ÷ 1492
2
Requête/réponse
0x 0806 PAD
ARP
2 28 10
Requête/réponse
0x 8035 PAD
RARP
2 28 10
46 ÷ 1500 octets
Encapsulation Ethernet
Adresse de Adresse CR
Type Données
destination source C
6 6 2 46 ÷ 1500 4
0x 0800 Datagramme IP
2 46 ÷ 1500
Requête/réponse
0x 0806 PAD
ARP
2 28 10
Requête/réponse
0x 8035 PAD
RARP
2 28 10
Chapitre : Stratification TCP/IP
Les deux formats de trames utilisent des adresses source et destination codées sur 48 bits (6 octets),
ce sont des adresses matérielles uniques pour chaque interface du réseau mondial Internet. La
correspondance entre l’adresse logique générée sur 32 bits au niveau de la couche réseau (@ IP) et
l’adresse matérielle est assurée par les protocoles ARP et RARP.
TSIRA Support de cours Réseaux : TCP/IP et Services de base Pour plus de compétences
65
CSFT – Tunis /Lab RI Formateur : WANNES Kamel
Les deux octets qui suivent sont différents, pour la trame IEEE, ils désignent la longueur de la trame en
octet sans inclusion du CRC (Code de Redondance Cyclique), tandis que pour la trame Ethernet, c’est
un champ type qui identifie le type des données qui suivent.
Il est à noter qu’aucune des valeurs valides du champ length de la trame IEEE ne correspond aux valeurs
du champ Type de la trame Ethernet, rendant ainsi les deux formats de trames identifiables.
DSAP (Destination Service Access Point), SSAP (Source Service Access Point) et cntl ont des valeurs fixes.
SNAP (Sub-Network Access Protocol) contient deux champs: Org Code fixé à 0x00, et un champ Type
identique à celui de la trame Ethernet.
Encapsulation à la remorque
C’est une forme d’encapsulation utilisée par les réseaux Ethernet visant à améliorer les performances.
L’en-tête IP, et l’en-tête TCP se trouvent déplacer à la fin de la trame et avant le champ CRC. Cela
permet aux données de la trame d’être entièrement contenue dans une page mémoire (les données
TCP possèdent une taille multiple de 512 octets).
TSIRA Support de cours Réseaux : TCP/IP et Services de base Pour plus de compétences
66
CSFT – Tunis /Lab RI Formateur : WANNES Kamel
TSIRA Support de cours Réseaux : TCP/IP et Services de base Pour plus de compétences
67
CSFT – Tunis /Lab RI Formateur : WANNES Kamel
0 15 16 31
Type de service
Version IHL Longueur totale en octets
(TOS)
4 bits 4bits 16 bits
8 bits
Flags Fragment offset
identification
En-tête IP
3 bits 13 bits
Durée de vie (TTL) Protocole Somme de contrôle d’en-tête
20 octets
8 bits 8 bits 16 bits
Adresse IP source
32 bits
Adresse IP destination
32 bits
TSIRA Support de cours Réseaux : TCP/IP et Services de base Pour plus de compétences
68
CSFT – Tunis /Lab RI Formateur : WANNES Kamel
Données
Les données sont alignées sur des mots de 32 bits. Le bit le plus signification de chaque mot de 32 bits
est numéroté 0 (à gauche), et le bit le moins significatif est numéroté 31 (à droite).
Les quatre octets de chaque mot sont transmis dans l’ordre : octet de poids faible (bits 0-7) en premier
lieu. Les bits sont représentés dans l’ordre de leurs émissions sur le support (bits de poids fort devant).
Cette convention de représentation est respectée dans tous les entiers binaires contenus dans les en-
têtes TCP/IP lorsqu’ils traversent un réseau.
Chaque champ porte une information de caractéristique ou d’identification de couche:
Le champ version permet d’identifier la version d’IP en cours et par conséquent le format du
datagramme « il est à noter que le format du datagramme IPv6 est différent de celui d’IPv4). Cette
information autorise la cohabitation des implémentations récentes.
Le champ longueur en-tête (IHL, Internet Head Length) est le nombre de mots de 32 bits de l’en-tête
IP, y compris les options lorsqu’elles existent. Cette information est très intéressante, elle permet à IP
de se rendre compte des éventuelles options. De celle-ci résulte que la taille maximale de l’En-tête IP
est de 60 octets « avec 4 bits -1111- 15 mots de 32 bits = 15*4 octets ». En l’absence d’options,
l’en-tête IP est de 20 octets.
Le champ Type de service « TOS Type Of Service », spécifie a la passerelle de l’hôte émetteur le type
d’acheminement attendu. A l’origine « RFC 791 » ce champ a été utilisé pour définir huit niveaux de
priorité et quatre critères d’acheminement comme le montre la fugure 4.2. la plupart des systèmes
intermédiaires n’ont pas la possibilité de traiter les informations duc champ type de service, des
modifications sont toujours faites pour répondre aux besoins de transfert de flux multimédia.
TSIRA Support de cours Réseaux : TCP/IP et Services de base Pour plus de compétences
69
CSFT – Tunis /Lab RI Formateur : WANNES Kamel
NU : le bit le moins significatif est réservé pour une utilisation future, il est fixé à 0.
Seul un des quatre bits définissant les critères d’acheminement TOS peut être placé à 1 ; celui-ci est
placé par les applications standards de l’implémentation TCP/IP. Les valeurs recommandées sont :
TSIRA Support de cours Réseaux : TCP/IP et Services de base Pour plus de compétences
70
CSFT – Tunis /Lab RI Formateur : WANNES Kamel
TSIRA Support de cours Réseaux : TCP/IP et Services de base Pour plus de compétences
71
CSFT – Tunis /Lab RI Formateur : WANNES Kamel
Erreur 0 0 0 0 0x00
Question 0 0 0 0 0x00
Tout IGP 0 0 1 0 0x04
SNMP 0 0 1 0 0x04
BOOTP 0 0 0 0 0x00
Tout IGMP 0 0 1 0 0x04
Les applications de connexion à distance, telnet et rlogin qui s’utilisent d’une façon interactive pour
l’échange de petite quantité de données, réclament un temps de réponse minimum. En contrepartie
l’application FTP de transfert de fichier nécessite un service avec un débit maximum. SNMP, et les
protocoles de routage IGP (Interior Geteway Protocol), EGP (Exterior Gateway Protocol) sont
configurés pour offrir un maximum de fiabilité.
Le champ longueur totale contient la taille totale en octet du datagramme IP. Grâce à ce champ et au
champ longueur de l’en-tête, la position et la taille des données dans le datagramme peuvent être
déterminées.
7.4.3 Fragmentation
Théoriquement, le datagramme est traité de manière logiciel et peut être de taille quelconque. Il n‘est
limité que par la taille du champ longueur codé sur 16 bits, soit 65536 octets.
En pratique, le datagramme est acheminé dans des trames spécifiques aux réseaux de données
traversés « réseau physique ». L‘idéal serait donc de pouvoir mettre un datagramme complet par
trame, mais ceci n‘est pas évident. En fonction des réseaux, les trames peuvent contenir une quantité
maximale d‘informations. Cette valeur est par exemple de 1500 octets sur les réseaux Ethernet et de
4470 octets sur les réseaux FDDI. Cette limite est appelée Maximum Transfer Unit (MTU). Certaines
MTU peuvent être très petites. Régler la taille des datagrammes IP sur la plus petite MTU des réseaux
traversés n‘est pas très efficace, notamment lorsque ce datagramme traverserait des réseaux avec une
grande MTU. Ceci multiplierait le nombre de trames nécessaires. A l‘inverse, si le datagramme est trop
grand, il ne peut être contenu dans une trame.
Le choix a été simple, plutôt que de tenir compte des particularités des réseaux physiques, les
concepteurs du protocole IP ont choisi une taille initiale de 64 ko et ils ont implémenté un mécanisme
permettant de découper les datagrammes en morceau lorsqu‘ils doivent traverser un réseau avec une
plus petite MTU. Le mécanisme est appelé fragmentation et les morceaux sont dénommés fragments.
En pratique, la taille initiale des datagrammes n‘est pas toujours de 64 ko, mais elle peut être négociée
au niveau de la connexion TCP. Par exemple, deux hôtes qui sont tout deux sur des réseaux Ethernet,
négocieront une taille maximale de datagramme de 1500 octets.
Mais les deux hôtes ne connaissent pas les caractéristiques des réseaux traversés et il est fort probable
que le datagramme soit amené à traverser un réseau avec une plus faible MTU et soit en conséquence
fragmenté.
Le deuxième mot de l’en-tête IP est toutefois réservé à la fragmentation.
7.4.3.1 Identification
En cas de fragmentation, il est nécessaire de bien identifier les fragments appartenant a un même
Chapitre : Stratification TCP/IP
datagramme. Le champ identification identifie d’une manière unique chaque datagramme envoyé par
une machine. Il est utilisé lors de la fragmentation et le réassemblage des données « voir
Fragmentation plus loin dans ce chapitre », la valeur du champ est attribuée par la source, elle est
générée de manière aléatoire par un algorithme initialisé par l’horloge système. En cas de
fragmentation intermédiaire, l’ID est recopié dans tous les fragments du datagramme d’origine. L’ID
permet à l’hôte destinataire (Adresse IP Destination, N°ID Fragment) d’identifier les différents
fragments d’un même datagramme, il permet ainsi le réassemblage.
TSIRA Support de cours Réseaux : TCP/IP et Services de base Pour plus de compétences
72
CSFT – Tunis /Lab RI Formateur : WANNES Kamel
7.4.3.2 Flags
Le bit DF « Don’t Fragment » positionné à 1, ordonne aux dispositifs intermédiaires tels que les
routeurs de ne pas fragmenter le datagramme. Ceci peut arriver en cas où le destinataire est incapable
de le reconstituer les différents fragments. Le système intermédiaire qui reçoit un tel datagramme
doit, soit le router dans sa totalité si le MTU du sous-réseau de transit le permet, soit le détruire. Dans
ce dernier cas, le routeur avertit la source par un message ICMP.
Le bit MF « More fragment » est positionné à 1 dans tous les fragments d’un même datagramme
excepté le dernier dans lequel ce bit est positionné à 0 ou dans le cas où le datagramme n’a pas subit
de fragmentation.
Fragment Offset
7.4.3.3 Fragment Offset
Dans le cas d’une fragmentation le champ Fragment Offset de taille 13 bits indique, en multiple de 8
octets la position du premier octet du fragment par rapport à la taille totale du datagramme d’origine.
Par conséquence, tous les fragments doivent avoir une taille multiple de 8 octets sauf le dernier.
Pourquoi ?
En effet si ce champ stocke uniquement le numéro d’ordre du premier octet du fragment en position
absolue par rapport à la taille du datagramme d’origine, ceci donne 213 fragments, soit 8192, une valeur
insuffisante pour des fragments de faible taille.
Prenons dans ce cas de figure un exemple : Dans un sous-réseau physique de MTU=1500 octets, le
nombre de fragment possibles est de 65536 / 128 = 512, une valeur qui risque d’être petite.
Le champ TTL
Le champ Time To Live (TTL), nous renseigne sur le nombre de routeurs qu’un datagramme peut
traverser. Il est initialisé par la machine émettrice (souvent 32 ou 64), puis il est décrémenté de un par
chaque routeur qui traite le datagramme jusqu’à la délivrance.
Si ce champ atteint la valeur 0 avant qu’il soit fourni à sa destination, le datagramme est alors rejeté,
et l’expéditeur est prévenu par un message ICMP. Ce mécanisme empêche des paquets de
monopoliser un réseau éternellement.
Le champ protocol
TSIRA Support de cours Réseaux : TCP/IP et Services de base Pour plus de compétences
73
CSFT – Tunis /Lab RI Formateur : WANNES Kamel
Le champ protocole est utilisé par IP pour démultiplexer les datagrammes entrants, des valeurs sont
prises pour identifier le protocole de la couche application ayant fournit les données.
Le champ de contrôle
La somme de contrôle d’en-tête est calculée sur les données de l’en-tête.
Les options IP
Les options IP ne sont pas obligatoire et ne sont utilisées qu‘à des fins de test ou de mise au point. Les
options sont indiquées sous forme de code d‘option sur un octet. Le code d‘option est défini par trois
sous-champs :
0 1 2 3 4 5 6 7
Copie Classe d’option Numéro d’option
Le bit Copie indique comment les options doivent être traitées lors de la
fragmentation. Lorsqu‘il est positionné à 1, il indique que les options doivent
être recopiées dans chacun des fragments. Lorsqu‘il est à 0, les options ne
sont recopiées que dans le premier fragment.
TSIRA Support de cours Réseaux : TCP/IP et Services de base Pour plus de compétences
74
CSFT – Tunis /Lab RI Formateur : WANNES Kamel
travers le système d’adressage logique de niveau 3 du modèle OSI : c’est l’adressage inter-réseau
assuré par des protocoles spécifiques, dont IP est celui de l’architecture Internet.
Le protocole IP « Internet Protocol » permet donc de masquer la différence des adresses de niveau 1
et 2. En d’autre terme, IP permet de définir un réseau virtuel reposant sur des réseaux physique de
différentes natures « Ethernet, PPP, Token Ring, FDDI, ATM, … etc. ».
Du fait de son fonctionnement, le réseau logique virtuel permet de limiter les diffusions locales et de
partitionner ainsi les réseaux physiques dans un espace d’adressage logique. La commutation de
niveau 3 évite de surcharger les liaisons longue distance « liaisons point à point » par des données de
broadcast.
7.5.2 Principe
A l’inverse de la couche des liens qui utilise des adresses physiques sur 48 bits, le protocole de la couche
réseau (couche Internet) utilise quant à lui un adressage logique sur 32 bits. Il est à rappeler que la
correspondance entre ces 2 adresses propres à un réseau physique est effectuée par ARP.
Pour éviter d’utiliser un adressage plat sur 32 bits (Ex : 1, 2, 3, 4..etc.), l’adressage Internet, dit
Adressage IP est structuré en classes identifiable l’une de l’autre. Une entreprise ou une communauté,
pourra ainsi allouer un espace d’adressage dans une classe spécifique. Chaque classe doit donc
réserver un identificateur pour le réseau, et un identificateur de machine au sein de ce réseau.
L’adressage IP forme le maillon essentiel de la pile des protocoles TCP/IP, et ce, pour rendre
transparents les détails physiques des réseaux et faire apparaitre l’Internet comme une entité
homogène.
Chapitre : Stratification TCP/IP
TSIRA Support de cours Réseaux : TCP/IP et Services de base Pour plus de compétences
75
CSFT – Tunis /Lab RI Formateur : WANNES Kamel
La classe d’une adresse IP peut être identifiée par les bits de poids fort. Ci-après le découpage de
chaque classe :
• Les réseaux de classe A
Dans les réseaux de classe A, 7 bits seulement sont réservés pour l’identificateur de réseau, et 24 bits
pour l’identificateur de la machine. Dans un réseau de cette classe 224 – 2 hôtes pouvant
communiquer en broadcast. Le réseau 127. de la classe A est réservé pour l’adresse de la boucle
locale. La machine elle-même peut être auto-adressée par cette adresse. Parmi les 224 – 2 identifiant
de l’hôte, une seule adresse utilisée par la majorité des implémentations, c’est la première adresse IP
valide dans ce réseau, à savoir 127.0.0.1. Cette adresse peut être utilisée lors de tests de la machine
ou de programmes applicatifs. Tout datagramme émis vers cette adresse est directement recopié au
niveau de la couche IP du tampon d’émission vers le tampon de réception.
TSIRA Support de cours Réseaux : TCP/IP et Services de base Pour plus de compétences
76
CSFT – Tunis /Lab RI Formateur : WANNES Kamel
Les réseaux de classe B réservent 14 bits pour l’identificateur de réseau, et 16 bits pour
l’identificateur de l’hôte. Ceci permet à une entreprise d’interconnecter sur le même site
géographique 216 – 2 machines.
• Les réseaux de classe C
TSIRA Support de cours Réseaux : TCP/IP et Services de base Pour plus de compétences
77
CSFT – Tunis /Lab RI Formateur : WANNES Kamel
L’adresse 255.255.255.255 peut être utilisée pour envoyer un datagramme à toutes les machines du
même segment de réseau. La diffusion est limitée aux seules machines de ce segment. Le
datagramme n’est pas routé sur d’autres réseaux. Cette adresse est dite adresse de diffusion
générale ou limitée.
Deux valeurs sont réservées dans la partie Hôte de l’adresse IP : 0 pour désigner le réseau lui-même
« tous les bits Host-id = 0 », et 1 pour désigner toutes les stations au sein de ce réseau « tous les bits
Host-id = 1 », c’est le broadcast IP.
• Adresses de multicast
La classe D regroupe des adresses de multicast. Elle permet de désigner des groupes de stations.
Les sous-réseaux
Caractéristique
Il est nécessaire de bien déterminer les points suivants avant de faire Subnetting :
TSIRA Support de cours Réseaux : TCP/IP et Services de base Pour plus de compétences
78
CSFT – Tunis /Lab RI Formateur : WANNES Kamel
Exemple :
Le réseau de classe C, NetID : 192.168.1.0 avec le masque par défaut 255.255.255.0. On
veut découper ce réseau en 2 sous-réseaux.
Si l'on utilise 1 bit -> 21 = 2 sous-réseaux, mais le bit de haut et le bit de bas ne sont pas
utilisés. Donc, il faut au moins deux bits.
Si l'on utilise 2 bits -> 22 = 4 sous-réseaux, mais il n'y a que deux qui sont utilisables.
Donc, on utilise maintenant 2 bits pour pouvoir découper en 2 sous-réseaux.
de bas.
▪ Il reste donc 2 numéros de sous-réseau utilisables.
TSIRA Support de cours Réseaux : TCP/IP et Services de base Pour plus de compétences
79
CSFT – Tunis /Lab RI Formateur : WANNES Kamel
192.168.1.10xxxxxx - Utilisable
192.168.1.11xxxxxx - Non utilisable
▪ Adresses de diffusion
Pour obtenir l'adresse de diffusion dans chaque sous-réseau; on met à 1 tous les bits
de HostID.
L'adresse de diffusion de premier sous-réseau est 192.168.1.01111111, soit
192.168.1.127.
L'adresse de diffusion de deuxième sous-réseau est 192.168.1.10111111, soit
192.168.1.191
Chapitre : Stratification TCP/IP
TSIRA Support de cours Réseaux : TCP/IP et Services de base Pour plus de compétences
80
CSFT – Tunis /Lab RI Formateur : WANNES Kamel
Les messages d'erreur ICMP sont transportés sur le réseau sous forme de Datagramme, comme
n'importe quelle donnée. Ainsi, les messages d'erreurs peuvent eux-mêmes être sujet aux erreurs.
Toutefois, en cas d'erreur sur un message ICMP, aucune trame d'erreur n'est délivrée pour éviter un
effet "boule de neige".
Vous trouverez tous les détails du protocole ICMP dans la Rfc 792.
7.6.1.2 Structure de l'entête
Les messages ICPM sont transmis à l’intérieur de datagramme IP
Voici la structure de l'entête ICMP basé sur 8 octets.
TSIRA Support de cours Réseaux : TCP/IP et Services de base Pour plus de compétences
81
CSFT – Tunis /Lab RI Formateur : WANNES Kamel
0 7 8 15 16 31
Type sur 8 bits Code sur 8 bits Σ de contrôle sur 16 bits
Identificateur sur 16 bits N° de séquence sur 16 bits
Les deux champs Identifiant et Numéro de séquence ne sont présents que dans le cas d'un paquet
de type demande d’écho (Echo-Request) et réponse à une demande d’écho (Echo-Reply) du
programme Ping. Sinon les champs restent présent mais en tant que bourrage et donc non utilisés.
7.6.1.3 Définition des différents champs
• Type et Code
Les champs Type et Code sont codés respectivement sur 8 bits ce qui donne un total de 2 octets. Ils
représentent la définition de message d'erreur contenu. Voici la liste des principales combinaisons
entre les champs Type et Code :
Type Code Description Requête Erreur
0 Réponse à une demande d'écho (Echo Request)
0 Les données contenues dans le message Echo Request ●
doivent être reportées dans ce message
3 Destination Unreachable - Destination inaccessible :
Network unreachable - Réseau inaccessible
0 ●
Le routeur ne connaît pas la route
Host unreachable - Hôte inaccessible
1 ●
Le routeur ne peut pas trouver la station
Protocol unreachable - Protocole inaccessible
2 ●
Le protocole demandé n’est pas actif
Port unreachable - Port inaccessible
3 ●
Aucun programme ne répond sur ce port TCP ou UDP
Fragmentation needed and DF set - Fragmentation
nécessaire mais interdite
4 Indique à l’émetteur que le routeur doit fragmenter un ●
paquet qui dépasse le MTU, alors que la fragmentation n’est
pas souhaitée par ce même émetteur
5 Source route failed - Echec de routage par la source ●
6 Réseau de destination inconnu ●
7 Hôte de destination inconnue ●
8 Machine source isolée ●
9 Réseau de destination interdit administrativement ●
Chapitre : Stratification TCP/IP
TSIRA Support de cours Réseaux : TCP/IP et Services de base Pour plus de compétences
82
CSFT – Tunis /Lab RI Formateur : WANNES Kamel
TSIRA Support de cours Réseaux : TCP/IP et Services de base Pour plus de compétences
83
CSFT – Tunis /Lab RI Formateur : WANNES Kamel
Type=0,8 - Le Ping.
Le principe du Ping étant, à la base, de valider la présence d'un Hôte IP. Pour cela, l'application
Ping utilisera la séquence 8-0 afin d'émettre une demande d'écho. Les données reçues dans
un message d'écho doivent être réémises dans la réponse. Ainsi, si le message de retour
correspond à l'émission, on en déduit que l'Hôte est présent. De plus, on peut en déduire
d'autres services, tel que le temps de réponse, la taille paquet maximum la durée de vie et etc.
L'identificateur et le numéro de séquence peuvent être utilisés par l'émetteur du message
d'écho afin d'associer facilement l'écho et sa réponse. Par exemple, l'identificateur peut être
utilisé comme l'est un port pour TCP ou UDP, identifiant ainsi une session. Et le numéro de
séquence peut être incrémenté pour chaque message d'écho envoyé. L'hôte de destination
respectera ces deux valeurs pour le retour.
Type=3 - Destination non valide « Destination Unreachable »
Ce type de message est émis dans le cas où un routeur ou un hôte ne puisse pas router un paquet.
Quand une passerelle ne peut pas délivrer un datagramme IP, elle envoie un message ICMP
« Destination Unreachable » `a l’´emetteur. Dans ce cas le champ CODE complète le message
d’erreur avec :
TSIRA Support de cours Réseaux : TCP/IP et Services de base Pour plus de compétences
84
CSFT – Tunis /Lab RI Formateur : WANNES Kamel
0 Network Unreachable
1 Host Unreachable
2 Protocol Unreachable
3 Port Unreachable
4 Fragmentation needed and DF set
5 Source route failed
TSIRA Support de cours Réseaux : TCP/IP et Services de base Pour plus de compétences
85
CSFT – Tunis /Lab RI Formateur : WANNES Kamel
• Identifiant
Le champ identifiant est codé sur 16 bits et définit l'identifiant de l'émetteur. Pour cela, il est conseillé
d'assigner le numéro du processus assigné (PID) à l'application lors de l'exécution. Cela permet de le
rendre unique inter application. Cela ressemble beaucoup aux numéros de port pour les protocoles
TCP et UDP.
• Numéro de séquence
Le champ Séquence est codé sur 16 bits et permet au récepteur, d'identifier s’il manque un paquet. Le
plus classique étant une incrémentation linéaire de 1. Ainsi, si le récepteur reçoit la séquence 1 puis la
séquence 3, il peut en déterminer une perte d'un paquet. Néanmoins, ce n'est pas normalisé, donc
personne n'à la garantie que l'émetteur utilisera cette méthode. Cela peut aussi permettre à
l'émetteur d'envoyer multiples paquets et de pouvoir distinguer les retours.
Taille Protocole
Ethetrnet Cible
Type protocole
Taille Matériel
Type matériel
IP Emetteur
Type trame
destination
Opération
Emetteur
Ethernet
Ethernet
IP Cible
6 6 2 2 2 1 1 2 6 4 6 4
Hardware type
Ce champs est placé en premier afin d'indiquer quel est le format de l'entête Arp. Voici les
différentes valeurs possibles.
Chapitre : Stratification TCP/IP
TSIRA Support de cours Réseaux : TCP/IP et Services de base Pour plus de compétences
86
CSFT – Tunis /Lab RI Formateur : WANNES Kamel
- 08 - Hyperchannel [JBP]
- 09 - Lanstar [TU]
- 10 - Autonet Short Address [MXB1]
- 11 - LocalTalk [JKR1]
- 12 - LocalNet (IBM PCNet or SYTEK LocalNET) [JXM]
- 13 - Ultra link [RXD2]
- 14 - SMDS [GXC1]
- 15 - Frame Relay [AGM]
- 16 - Asynchronous Transmission Mode (ATM) [JXB2]
- 17 - HDLC [JBP]
- 18 - Fibre Channel [Yakov Rekhter]
- 19 - Asynchronous Transmission Mode (ATM) [RFC2225]
- 20 - Serial Line [JBP]
- 21 - Asynchronous Transmission Mode (ATM) [MXB1]
- 22 - MIL-STD-188-220 [Jensen]
- 23 - Metricom [Stone]
- 24 - IEEE 1394.1995 [Hattig]
- 25 - MAPOS [Maruyama]
- 26 - Twinaxial [Pitts]
- 27 - EUI-64 [Fujisawa]
- 28 - HIPARP [JMP]
- 29 - IP and ARP over ISO 7816-3 [Guthery]
- 30 - ARPSec [Etienne]
- 31 - IPsec tunnel [RFC3456]
- 32 - InfiniBand (TM) [Kashyap]
- 33 - TIA-102 Project 25 Common Air Interface (CAI) [Anderson]
On remarquera tout particulièrement que le numéro 1 correspond à la technologie Ethernet. En effet
ces architectures sont principalement utilisées dans les réseaux d'entreprises, Wifi, et Métropolitain.
Protocol type
Ce champs indique quel est le type de protocole couche 3 qui utilise Arp. La valeur propre à IP est : -
0x0800 – [voir plus haut Stratification TCP/IP]
Ce champ correspond à la longueur de l'adresse physique. La longueur doit être prise en octets. Voici
des exemples de valeurs courantes.
- 01 - Token Ring
- 06 - Ethernet
Ce champ correspond à la longueur de l'adresse réseau. La longueur doit être prise en octets. Voici
des exemples de valeurs courantes.
- 04 - IP v4
- 06 - IP v6
Opération
TSIRA Support de cours Réseaux : TCP/IP et Services de base Pour plus de compétences
87
CSFT – Tunis /Lab RI Formateur : WANNES Kamel
Ce champ permet de connaître la fonction du message et donc son objectif. Voici les différentes
valeurs possibles.
- 01 - Request
- 02 - Reply
Ce champ indique l'adresse physique de l'émetteur. Dans le cadre spécifique d'Ethernet, cela
représente l'adresse Mac source.
Ce champ indique l'adresse réseau de l'émetteur. Dans le cadre spécifique de TCP/IP, cela représente
l'adresse IP source.
Ce champ indique l'adresse physique du destinataire. Dans le cadre spécifique d'Ethernet, cela
représente l'adresse Mac destination. Si c'est une demande Arp, alors, ne connaissant justement pas
cette adresse, le champ sera mis à 0.
Ce champ indique l'adresse réseau du destinataire. Dans le cadre spécifique de TCP/IP, cela
représente l'adresse IP de destination.
7.7.4 Fonctionnement
root # arp -a
root #
Pour envisager une discussion entre deux Host se situant dans le même LAN, les deux hosts doivent
avoir connaissance des adresses physiques des machines avec lesquelles elles discutent. De ce
mécanisme découle une table de conversion contenant à la fois les adresses IP et Mac. L'alimentation
de cette table peut s'effectuer de deux manières, automatique via Arp ou manuelle via
l'administrateur. Considérons que ces deux hosts n'ont jamais discuté ensemble. Voici la réponse suite
à la commande « arp -a » correspondante à ces deux hosts montrant le contenu du cache local.
La machine source ne connaissant pas l'adresse physique de la machine destinatrice, celle-ci va
émettre une trame Broadcast de niveau 2 s'adressant à toutes les hôtes du réseau, comportant sa
propre adresse physique et la question demandée. Puis, l'hôte de destination va se reconnaître et
Chapitre : Stratification TCP/IP
répondre en Unicast.
7.7.5 Requête ARP : Arp Request
La question de type Arp Request se présente sous cette forme : "Je suis l'hôte « 00 08 54 0b 21 77»,
Est-ce que l'hôte possédant l'adresse IP 192.168.0.1 peut me retourner son adresse physique ?". Voici
la traduction de cette requête saisie grâce à Ethereal.
TSIRA Support de cours Réseaux : TCP/IP et Services de base Pour plus de compétences
88
CSFT – Tunis /Lab RI Formateur : WANNES Kamel
Le maintien d’un cache ARP sur chaque machine est essentiel pour un fonctionnement efficace d’ARP.
Ce cache maintient les correspondances entre les adresses Internet et les adresses matérielles
récemment utilisées. Le délai normal d’expiration d’une entrée dans le cache est de 180s.
Les mises en caches sont systématiques et obligatoires. Le fonctionnement du cache est bien expliqué
dans le Rfc 826, mais l'on retrouve trois références. La première concerne l'envoi. Elle se trouve dans
le chapitre "An Example".
TSIRA Support de cours Réseaux : TCP/IP et Services de base Pour plus de compétences
89
CSFT – Tunis /Lab RI Formateur : WANNES Kamel
Le client Ping est le programme qui envoie les requêtes ICMP-Echo-request. Le serveur Ping n’est pas
un processus utilisateur, c’est une composante intégrée à ICMP. La plupart des implémentations
TCP/IP supportent le serveur Ping directement dans le noyau. Le format du message est le suivant :
Type (0
Cod 0 Somme de contrôle
ou 8)
Identificateur N° de Séquence
Données Optionnelle
Figure 7-23 : Format du message ICMP pour la requête et la réponse echo
Le champ Type prend la valeur 8 pour une requête echo et la valeur 0 pour une réponse echo « voir
chapitre ICMP ». L’identificateur permet de faire correspondre les réponses echo à leurs requêtes
echo, ceci permet à chaque instance du client Ping d’identifier les réponses qui lui sont renvoyées. Le
numéro de séquence est initialisé à zéro, il est incrémenté à chaque envoi d’un datagramme Ping.
Comme pour les autres messages de requête ICMP, le serveur doit retourner en écho les champs
Chapitre : Stratification TCP/IP
TSIRA Support de cours Réseaux : TCP/IP et Services de base Pour plus de compétences
90
CSFT – Tunis /Lab RI Formateur : WANNES Kamel
On remarque que le client Ping envoie une série de demande d’écho. Il affiche chaque séquence
reçue sur une ligne. L’information temps de chaque séquence indique la durée qui s’écoule entre
l’émission de la demande d’écho « Echo-request » et la réception de la réponse « Echo-reply ». C’est
la durée RTT « Round Trip Time : Temps aller-retour». Le champ TTL reprend la valeur indiquée par
l’entête IP de chaque datagramme reçu. La statistique nous affiche deux informations très
intéressantes. Le ratio des paquets perdus « 0% loss » nous montre la qualité du réseau, tandis que la
dernière ligne affiche trois valeurs du RTT, il s’agit des temps RTT min / RTT moyen / RTT max.
L’utilitaire Ping permet de tester une liaison TCP/IP de bout en bout et de localiser ainsi les
équipements ou les interfaces défaillants. Ping peut être utilisé dans l’ordre suivant :
• Ping sur l’adresse de la boucle locale 127.0.0.1 teste l’installation de la pile TCP/IP sur la
machine locale ;
• Ping sur l’adresse de la machine source « la machine elle-même » vérifie que cette
machine est correctement configurée ;
• Ping sur l’adresse de la passerelle par défaut contrôle la validité du masque de sous-
réseau et la configuration de la passerelle ;
• Ping sur l’adresse de l’interface de sortie (LS locale) valide la configuration de cette
Chapitre : Stratification TCP/IP
interface ;
• Ping sur l’adresse de LS distante vérifie l’établissement du lien WAN, ceci indique que les
routeurs local et distant sont correctement configurés vis-à-vis du réseau source ;
• Ping Sur l’adresse d’une station distante valide la configuration de bout en bout ;
• Ping avec un nom d’hôte valide la configuration d’un serveur de nom DNS.
TSIRA Support de cours Réseaux : TCP/IP et Services de base Pour plus de compétences
91
CSFT – Tunis /Lab RI Formateur : WANNES Kamel
Code est un champ spécifiant le type d’option IP. Pour l’option RR, sa valeur est 7. Len est la longueur
totale de l’option RR (ici 39). Ptr est un pointeur, il s’agit d’un index mémorisant l’emplacement de
l’adresse IP suivante. La position du premier octet de la première adresse enregistrée est 4, celle de
la deuxième adresse IP est 8, … etc.
7.7.8.2 Découverte de route : traceroute
• Traceroute : Présentation et fonctionnement
Traceroute nous permet de découvrir la route (tracer la route) empruntée par un datagramme
spécifique entre une machine source, celle qui lance le programme, et une machine de destination. Le
principe adopté par le programme traceroute est toutefois simple, il se base sur le message ICPM Echo
et le champ TTL de l’en-tête IP. La source envois vers la machine cible un datagramme IP possédant le
champ TTL à 1, le premier routeur sur le chemin décrémente le champ TTL à zéro, se débarrasse du
datagramme et retourne à l’émetteur le message ICMP type 11 « Time exceeded – Expiration de
délai». Le premier nœud est ainsi découvert. Traceroute envoie ensuite un datagramme avec un
champ TTL égale à 2, ceci permet la découverte du deuxième nœud sur le chemin. Ce processus
continue jusqu'à ce que le datagramme atteigne la machine de destination. Les requêtes ICMP
traceroute sont émises avec un numéro de port > 30 000, le nœud destination retourne un message
ICMP de type 3, code 3 « Port inaccessible », ceci permet à l’émetteur de différencier les messages
Chapitre : Stratification TCP/IP
ICMP «Time exceeded » des messages ICMP « Port inaccessible » et de réagir en conséquence.
TSIRA Support de cours Réseaux : TCP/IP et Services de base Pour plus de compétences
92
CSFT – Tunis /Lab RI Formateur : WANNES Kamel
TSIRA Support de cours Réseaux : TCP/IP et Services de base Pour plus de compétences
93