M1 Info - Cours de Réseaux
Cours 3
Couche Réseau
2019 - 2020
Dr Saadbouh O CHEIKH EL MEHDI
Plan
Couche Réseau
1. Description
2. Services offerts
3. Adressage IPv4
4. Classes d’adresse
5. Adresse IP & Masque
6. Protocole IPv4
7. Commutation & routage
8. Protocole ARP
9. Protocole ICMP
2
M1 Info - Dr Saadbouh O Cheikh El Mehdi
1
Description
Couche Transport Couche Transport
Message Message
Couche Réseau Couche Réseau Couche Réseau
Paquet Paquet
Couche Liaison Couche Liaison Couche Liaison
Trame Trame
Couche Physique Couche Physique Couche Physique
Émetteur Routeur Récepteur
3
M1 Info - Dr Saadbouh O Cheikh El Mehdi
Description
Cette couche doit permettre une transmission entre 2 machines
Celles-ci ne sont pas nécessairement directement connectées
Les données sont fractionnées en paquets (PDU de niveau réseau)
Services offerts
Adressage logique universel
Commutation/Routage
Fragmentation et réassemblage de données
Contrôle de congestion
4
M1 Info - Dr Saadbouh O Cheikh El Mehdi
2
Adressage
Il est nécessaire de pouvoir désigner toute machine quelconque
accessible directement ou indirectement
Les adresses physiques sont propres aux différentes technologies
(Ethernet, ...)
Il faut donc introduire un mécanisme d’adressage universel
Exemples d’adressage
Adressage en mode connecté X25-3 (N’est plus utilisé …!!)
Adressage en mode non connecté IP (Internet Protocol)
5
M1 Info - Dr Saadbouh O Cheikh El Mehdi
Adressage IPv4
Adresse IP définie sur 4 octets (32 bits)
2 parties dans l’adresse <net-id> <host-id>
– <net-id> : identificateur de réseau, attribué par un organisme
international (InterNIC), sans structure hiérarchisée (contrairement
au téléphone, à ATM, à IPv6…)
– <host-id> : identificateur local de machine (ou hôte) dans le
réseau
Adresse unique au monde (si publique !?)
Adresse associée à une interface de réseau :
– une seule (en général) pour une station
– une par interface de réseau pour un routeur
Notation décimale pointée, sous la forme w.x.y.z (valeur de
chaque nombre dans la gamme 0-255)
Exemple : [Link]
6
M1 Info - Dr Saadbouh O Cheikh El Mehdi
3
Adressage IPv4
- Classe & Masque -
Plusieurs classes d’adressage, selon la taille du réseau
Classe Net-id Host-id
A 8 bits 24 bits
B 16 bits 16 bits
C 24 bits 8 bits
D adresse de groupe de diffusion
E format réservé
Masque de (sous-) réseau (pour classes A, B, C)
– nombre de 32 bits
– même format et même notation qu’une adresse
– spécifie les bits de <net-id> (bits à 1) et ceux de <host-id>
(bits à 0)
- Pour connaître l’adresse du réseau: l’opération logique
R= @IP AND Masque (AND étant l’opérateur logique « ET ») 7
M1 Info - Dr Saadbouh O Cheikh El Mehdi
Adressage IPv4
- Classes -
de 1. 0. 0. 0 à
A 0 Réseau Machine [Link]
de 128. 0. 0. 0 à
B 10 Réseau Machine [Link]
de 192. 0. 0. 0 à
C 110 Réseau Machine [Link]
de 224. 0. 0. 0 à
D 1110 Adresse multicast [Link]
de 240. 0. 0. 0 à
E 1111 0 Réseau Machine [Link]
8
M1 Info - Dr Saadbouh O Cheikh El Mehdi
4
Adressage IPv4
Adresses particulières
<net-id> <0……0>: Identification du réseau <net-id> lui-même
Conséquence : <host-id> doit être différent de 0…0
<net-id> <1……1>: Diffusion (broadcast) vers toutes les stations du
réseau <net-id>
Conséquence : <host-id> doit être différent de 1…1
<127><x……x> (souvent [Link]): Adresse de rebouclage interne
(loopback), sans présence de données sur le réseau
Conséquence : <net-id> doit être différent de 127 (Classe A)
Le réseau 127 est particulier, dans la mesure où il est limité à la machine elle
même, c'est à dire la boucle locale ou localhost.
Si vous tapez la commande ping 127.x.y.z. Vous constaterez que toute commande
passée pour une adresse du réseau 127, c'est l'adresse [Link] qui répond,
adresse qui est l'adresse de la machine elle-même.
La commande ping [Link] permet de vérifier le bon fonctionnement du
protocole TCP / IP sur la machine 9
M1 Info - Dr Saadbouh O Cheikh El Mehdi
Adressage IPv4
Autres adresses IP réservées
RFC 1918
Adresses IP réservées aux réseaux privés (Intranets) :
– 1 réseau de classe A
[Link] --> [Link]
– 1 bloc de 16 réseaux de classe B
[Link] --> [Link]
– 1 bloc de 256 réseaux de classe C
[Link] --> [Link]
Permet la séparation (via un pare-feu, par exemple) entre
espace privé et espace d’accès public, lequel ne nécessite
souvent qu’un nombre limité d’adresses IP publiques
10
M1 Info - Dr Saadbouh O Cheikh El Mehdi
5
Adressage IPv4
Sous-réseaux IP
Possibilité de subdiviser le champ <host-id> en deux parties
3 parties dans l’adresse <net-id> < subnet-id> <host-id>
– <net-id> : identificateur de réseau
– <subnet-id> : identificateur de sous-réseau
– <host-id> : identificateur local de machine (ou hôte)
dans le sous-réseau
Permet une meilleure structuration du réseau et une gestion
décentralisée des adresses
Le choix du nombre de bits du champ <host-id> affectés à
l’adressage des sous-réseaux est décidé par l’administrateur du
réseau. Ce nombre doit être identique pour tout le réseau
subdivisé
Masque de sous-réseau: les bits à 1 couvrent <net-id> et
<subnet-id>
La subdivision en sous-réseaux doit être prise en compte par
les routeurs du réseau subdivisé
La présence de sous-réseaux est invisible des autres réseaux11IP
M1 Info - Dr Saadbouh O Cheikh El Mehdi
Protocole IPv4
Non fiable (mode non-connecté)
3 fonction élémentaires :
Adressage des paquets (adresses globales, de couche réseau)
Routage des paquets vers une station ou un routeur, à l’aide de
tables de routage
Fragmentation et réassemblage des données
Caractéristiques
Protection de l’information de commande des datagrammes (en-
tête) pour éviter des acheminements erronés
Pas de protection des données contenues dans les datagrammes
Pas de contrôle de flux
Pas de garantie de remise des datagrammes à leur destination
(service « au mieux » ou Best Effort)
Pas de garantie de remise en séquence
12
M1 Info - Dr Saadbouh O Cheikh El Mehdi
6
Format général d’un paquet IP(V4)
32 bits
Version Longueur Type de Longueur totale
d’en-tête Service
Identification Drapeau Décalage fragment
En-tête
Durée de vie Protocole Somme de contrôle d’en-tête
Adresse source
Adresse destination
Options (éventuelles) Remplissage (padding)
Données
13
M1 Info - Dr Saadbouh O Cheikh El Mehdi
Format général d’un paquet IP(V4)
Version (4 bits) : version du protocole IP utilisé (IPv4 = 0100)
Longueur d’en-tête (4 bits) : longueur de l’en-tête exprimée en mots de
32 bits. La taille standard de cette en-tête fait 5 mots
Type de service (8bits): Ce champ donne des indications aux
équipements qu'il traverse sur son niveau de priorité et sa classe de
service
Longueur totale (16 bits): donne en octets la longueur totale du
datagramme (en-tête plus données). S’il y a fragmentation, il s’agit
également de la taille du fragment
Identification (16 bits): permet au destinataire de savoir à quel
datagramme appartient un fragment ?
Drapeau (3 bits):
1er bit: inutilisé(=0 toujours)
2nd bit: DF (Don’t Fragment ): indique si la fragmentation est
autorisée (=0) ou non(=1)
3ème bit: MF (More Fragments) :(=0) il s’agit du dernier fragment,
=1 s’il y aura d’autres fragments 14
M1 Info - Dr Saadbouh O Cheikh El Mehdi
7
Format général d’un paquet IP(V4)
Décalage fragment (13 bits): indique la position du 1er octet dans le
datagramme total. C’est un multiple de 8 (l'unité du est un groupe de 8
octets).
Durée de vie (8 bits) : compteur utilisé pour limiter la durée de vie des
datagrammes (Son objet est d’éviter la présence de paquets fantômes
circulant indéfiniment. . .)
- décrémenté à chaque saut
- détruit quand passe à 0
Protocole (8bits): Ce champ codé sur un octet, identifie le protocole de
niveau supérieur transporté dans le champ de données du paquet IP
(TCP=6, UDP=17,…etc.)
Total de contrôle d’en-tête (16 bits): ce champ contient une valeur
codée sur 16 bits qui permet de contrôler l'intégrité de l'en-tête
« uniquement l’en- tête » afin de déterminer si celui-ci n'a pas été
altéré pendant la transmission
Options et bourrage : permettent des fonctions supplémentaires telles
que marque de temps, liste de routeurs à traverser, niveau de sécurité
15
M1 Info - Dr Saadbouh O Cheikh El Mehdi
Commutation
La commutation est utilisée en mode connecté. Elle consiste à :
Calculer une route au moment de la connexion
Emprunter cette route pour transférer chaque paquet tant
que dure la connexion.
Routage
Le routage est utilisé en mode non connecté. Il consiste à :
Calculer une route pour transférer chaque paquet
Aucun état mémorisé au sujet des connexions
Des paquets avec la même source et destination peuvent
suivre des trajets différents
Plusieurs algorithmes de routage…
16
M1 Info - Dr Saadbouh O Cheikh El Mehdi
8
Protocole ARP
ARP “ Address Resolution Protocol ”: définie dans la RFC 826.
Problème à résoudre : Trouver une adresse MAC à partir d'une
adresse IP ?
(l’adresse IP n’a de sens que pour la suite de protocole TCP/IP ; celle-ci
étant indépendante de la partie matérielle, il faut avoir donc un moyen
d’établir un lien entre ces deux constituants)
Fonctionnement :
A demande à toutes les stations : étant donné l’adresse IP de C, que
vaut son adresse physique ?
A B C D
Broadcast
A diffuse, sur l’ensemble des machines actives, un datagramme de format ARP (une requête ARP)
17
M1 Info - Dr Saadbouh O Cheikh El Mehdi
Protocole ARP
C répond directement à A en lui communiquant son adresse physique
Unicast
A B C D
C envoie directement à A , un datagramme de format ARP (une réponse ARP)
Si la station C ne répond pas, la station A continuera à poser la
question à intervalles réguliers pendant un temps infini. . .
Il n’y a pas besoin d’utiliser ARP préalablement à chaque échange, car
le résultat est mémorisé (Cache ARP).
Les datagrammes ARP ne sont pas routables (requêtes et réponses ne
traversent pas les routeurs)
En générale la durée de vie d’une adresse en mémoire est de l’ordre
de 20 minutes et chaque utilisation remet à jour ce compteur.
18
M1 Info - Dr Saadbouh O Cheikh El Mehdi
9
Protocole ARP
Format de datagramme ARP
Les requêtes et les réponses ARP ont une structure identique.
Elles sont différenciées par le champ opération. Cette structure
est la suivante :
19
M1 Info - Dr Saadbouh O Cheikh El Mehdi
Protocole ARP
Format de datagramme ARP
Type de réseau: spécifie le protocole de la couche 2 utilisé.
- Par exemple: 1 pour Ethernet.
Type d’adresse de protocole: spécifie le protocole de la couche 3 utilisé
- Par exemple: 0x08 00 pour IPv4.
Long adr Phys: spécifie la longueur, en octets, de l’adresse de la couche
2 pour le protocole utilisé.
- Par exemple : 6 pour Ethernet .
Long adr Proto :spécifie la longueur, en octets, de l’adresse de la couche
3 pour le protocole utilisé.
- Par exemple : 4 pour IPv4
Opération: indique le type de l’unité de données de protocole ARP :
1 = requête ARP, 2 = réponse ARP
3 = requête RARP, 4 = réponse RARP
Adresse Phys Émetteur
Adresse IP Émetteur
Adresse Phys Récepteur
Adresse IP Récepteur
RARP (Reverse Address Resolution Protocol): fournit l’adresse IP correspondant à
une adresse physique donnée. Requête/réponse RARP (même format que ARP)20
10
Protocole ARP
Optimisations d'ARP
Cache (mémoire temporaire) ARP :
Contient une liste d'associations « adresse MAC, adresse IP »
Permet d’éviter d'émettre une nouvelle requête lorsque l'association
a déjà été obtenue
Chaque association a une durée de vie limitée (environ 20 minutes)
Chaque fois qu'une association est confirmée, sa durée de vie est
remise à 20 min
Les associations dont la durée de vie expire sont supprimées
Traitement de la requête :
les requêtes étant envoyées en broadcast, toutes les stations les
traitent
or elles incluent l'adresse MAC et l'adresse IP de l'émetteur
en recevant une requête, les stations mettent à jour leur cache avec
les infos sur l'émetteur
La commande arp - a permet d’avoir le contenu du cache ARP de la machine sur
laquelle on se trouve,
21
M1 Info - Dr Saadbouh O Cheikh El Mehdi
Protocole ICMP
ICMP “ Internet Control Message Protocol ” : défini dans la RFC 950
Fonctions:
1. Rendre compte des erreurs qui ont pu être détectées pendant les communications de
TCP/IP.
aussi bien au niveau réseau (IP) qu’au niveau transport (UDP ou TCP)
La règle générale « en Internet » est qu'en cas d'erreur un message ICMP est
envoyé à l'émetteur initial du message.
2. Fournir des messages de contrôle du réseau pour
tester l’accessibilité à un hôte,
des fins de configuration
Remarques:
1. Les messages ICMP sont utilisés pour indiquer des erreurs d’un hôte à l’autre ou d’un hôte
à une passerelle (de passerelle à passerelle, on utilise un autre protocole :GGP pour
Gateway to Gateway Protocol.)
2. ICMP utilise IP pour transporter ses messages (pourtant ICMP fait partie intégrante du module IP ! )
3. Pour éviter la congestion de l'interconnexion, Un paquet IP contenant un message ICMP ne
peut générer un message d’erreur ICMP !
22
M1 Info - Dr Saadbouh O Cheikh El Mehdi
11
Protocole ICMP
Format générique des messages ICMP
8 16 32
Type code somme de contrôle
Données
Description des champs
Type (8 bits) : type du message (spécifie le type de message d’erreur ou de réponse)
Code (8 bits) : information supplémentaire à propos du type
Somme de contrôle (16 bits) : utilisé pour vérifier l’intégrité
Fonctionnement similaire à IP
Données : spécifiques au type et au code
23
M1 Info - Dr Saadbouh O Cheikh El Mehdi
Protocole ICMP
Types des messages ICMP
Type Message ICMP
0 Réponse à une demande d'écho
3 Destination inaccessible (Échec de connexion…)
4 Extinction de ressources (Plus de ressources suffisantes: mémoire, CPU, )
5 Redirection (Il y a une autre route meilleure pour cette destination …!)
8 Demande d’écho (envoyé par un émetteur à une destination pour tester la connectivité réseau)
11 Temps excédé (TTL) (lorsque la durée de vie d'un paquet est dépassée…!)
12 Problème paramètre paquet (quand un paramètre dans un paquet reçu pose problème …!)
13 Demande horodatage (délai d'acheminement en milliseconde …! Donc plus précision )
14 Réponse horodatage
15 Demande information (Pour découvrir le numéro de réseau sur lequel on se situe. Obsolète !)
16 Réponse information (obsolète)
17 Demande masque adresse (pour connaître le masque du réseau local)
18 Réponse masque adresse
24
M1 Info - Dr Saadbouh O Cheikh El Mehdi
12
Protocole ICMP
Requête et réponse d’écho (types 8 et 0)
Format
8 16 32
Type code somme de contrôle
Identifiant Numéro de séquence
Données
Description
Demande d’écho (type = 8) et réponse (type = 0)
Permet à une machine ou une passerelle de déterminer la validité d’un chemin
sur le réseau
Utilisé par les outils applicatifs (utilitaires) comme ping ou traceroute(ou tracert)
Identifiant et numéro de séquence : doivent être identiques entre la requête et la
réponse ( décidés lors de la requête)
Par défaut le champ des données est vide (mais il peut contenir une quantité spécifiée par
l’utilisateur de données aléatoires)
25
M1 Info - Dr Saadbouh O Cheikh El Mehdi
Protocole ICMP
Destination inaccessible (type =3)
8 16 32
3 code somme de contrôle
Données spécifiques
En-tête Internet + 64 bits du datagramme d’origine
Description
Type = 3
Code : indique le code de l’erreur
Spécifique : données spécifiques au type d’erreur
En-tête IP + 64 bits données : contient l’en-tête IP du paquet IP et les 64 premiers
bits du paquet pour lequel le message est émis
26
M1 Info - Dr Saadbouh O Cheikh El Mehdi
13
Protocole ICMP
Codes associés au type 3
Code Signification
0 le réseau (local du destinataire) n’est pas accessible actuellement
1 le réseau est accessible mais l’hôte n’est pas accessible actuellement
2 le protocole (TCP, UDP, etc.) n’est pas utilisable actuellement
3 le port n’est pas accessible actuellement
4 fragmentation nécessaire mais impossible à cause du flag DF
5 routage a échoué
6 Pas de route vers le réseau indiqué
7 pas de route vers l’hôte indiqué
8 machine non connectée au réseau (inutilisé)
9 communication avec le réseau interdite (le réseau est bloqué à un passerelle.)
10 communication avec la machine interdite (pas accès à l’hôte à cause de
l’administration du routage)
11 réseau inaccessible pour ce service
12 machine inaccessible pour ce service
13 communication interdite (filtrage)
… ….. 27
Protocole ICMP
Extinction des ressources (types =4)
Problèmes de congestion
Le protocole IP est un protocole en mode non connecté :
Pas de réservation à l’avance de la mémoire nécessaire sur les passerelles
pour le routage des paquets
En cas de problème de mémoire, des paquets sont détruits
Les problèmes de congestion se produisent :
Lorsqu’une passerelle est connectée à deux réseaux aux débits différents
Lorsque de nombreuses machines émettent simultanément
des paquets à une passerelle
Résolution avec ICMP
Envoi d’un message pour demander à l’émetteur de réduire le débit
Il n’y a pas de message pour demander d’augmenter le débit :
La source augmente régulièrement le débit tant qu’elle ne reçoit pas de
demande de limitation
28
M1 Info - Dr Saadbouh O Cheikh El Mehdi
14
Protocole ICMP
Programmes utilisant ICMP
Il existe différents programmes ou fonctionnalités utilisant le protocole ICMP
dont essentiellement les utilitaires ping et traceroute.
ping
Permet de vérifier la présence d’un hôte TCP/IP et de calculer le temps
moyen de réponse
Envoi d’un message ICMP d’écho et attente du message de réponse
C:\>ping [Link]
Envoi d’une requête ’ping’ sur [Link] [[Link]] avec 32 octets :
Réponse de [Link] : octets=32 temps=15 ms TTL=50
Réponse de [Link] : octets=32 temps=15 ms TTL=50
Réponse de [Link] : octets=32 temps=15 ms TTL=50
Réponse de [Link] : octets=32 temps=15 ms TTL=50
Statistiques ping pour [Link]:
Paquets : envoyés = 4, reçus = 4, perdus = 0 (perte 0%),
Durée approximative des boucles en millisecondes :
Minimum = 15ms, Maximum = 15ms, Moyenne = 15ms 29
M1 Info - Dr Saadbouh O Cheikh El Mehdi
Protocole ICMP
Programmes utilisant ICMP
tracert ou traceroute
Description
Permet de calculer la route prise par des paquets IP jusqu’à une destination
donnée
Exploitation conjointe du TTL de IP et de ICMP
Principe
1. Envoyer un message ICMP vers la destination, encapsulé dans un
paquet IP dont le TTL est à 1
2. Attendre le message ICMP d’erreur (TTL = 0)
3. On recommence à l’étape 1 avec un TTL + 1
4. Lorsqu’un écho est reçu, le message ICMP est arrivé à destination
30
M1 Info - Dr Saadbouh O Cheikh El Mehdi
15