17/10/2020
3ème LFSI
Réseaux II
Enseignante: Dr. Ing. Ghofrane FERSI
CHAPITRE 2: LE PROTOCOLE IP (INTERNET PROTOCOL)
Le protocole IP
Le protocole Internet est un protocole de niveau réseau. Il est responsable de :
• la transmission des données en mode sans connexion ;
• l’adressage et le routage des paquets entre stations par l’intermédiaire de routeurs ;
• la fragmentation des données.
Lors de l’émission, les fonctionnalités assurées sont :
• identification du paquet ;
• détermination de la route à suivre (routage) ;
• vérification du type d’adressage (station ou diffusion) ;
• fragmentation de la trame si nécessaire
2
17/10/2020
Le protocole IP
À la réception, les fonctionnalités sont :
• vérification de la longueur du paquet ;
• contrôle des erreurs ;
• réassemblage en cas de fragmentation à l’émission ;
• transmission du paquet réassemblé au niveau supérieur.
Format du paquet IP
Le paquet IP, ou datagramme IP représenté à la figure 1, est organisé en champs de 32 bits, c’est
le format des adresses IP. Les fonctionnalités IP se retrouvent dans chaque groupement de bits de
l’en-tête :
• Version : numéro de version du protocole IP (actuellement 4) ;
• Longueur de l’en-tête codée sur 4 bits et représentant le nombre de mots de 32 bits
(généralement 5) ;
• Type de service (TOS) : désigne la qualité de service qui doit être utilisée par le routeur. Par
exemple, pour un transfert de fichier important, il est préférable de privilégier la sécurité par
rapport au délai de transmission. Pour une session interactive, le délai de propagation sera
primordial ;
• Longueur totale : longueur totale du fragment (en-tête et données) exprimée en nombre
d’octets ;
4
17/10/2020
Format du paquet IP
• Identificateur : identifie le paquet pour la fragmentation (tous les fragments d’un même
paquet portent le même numéro) ;
• Drapeaux : gère la fragmentation sur 3 bits suivant le format 0 DF MF :
bit 1: le bit DF (Don’t Fragment) demande au routeur de ne pas fragmenter le paquet ;
bit 0: le bit MF (More Fragment) est positionné à 1 dans tous les fragments, sauf le dernier ;
• Position du fragment (fragment offset) : indique par multiple de 8 octets la position du
fragment dans le paquet courant. Tous les fragments du paquet, sauf le dernier, doivent donc
avoir pour longueur des multiples de 8 octets. Avec un codage sur 13 bits, le maximum pour un
paquet est de 8 192 fragments ;
Format du paquet IP
Durée de vie (TTL, Time To Live) : indique en nombre de sauts la durée de vie d’un paquet. La
valeur initiale à la création du paquet est de 32 ou 64 suivant la taille supposée du réseau (LAN
ou WAN). La valeur est décrémentée à chaque passage dans un routeur. Si le TTL passe à 0, alors
le paquet doit être détruit par le routeur, ce qui évite la circulation infinie de paquets à la
recherche de destinations inexistantes ;
• Protocole : code qui indique le protocole de la couche supérieure ( 1 pour ICMP, 6 pour TCP, 17
pour UDP) ;
• Options : utilisées pour le contrôle ou la mise au point.
6
17/10/2020
Figure 1: Format du paquet IP
Figure 2. Exemple d’analyse IP
8
17/10/2020
Format du paquet IP
La figure 2 représente une trame capturée et décomposée couche par couche par un analyseur
de protocole. Elle encapsule un paquet IP dont l’en-tête est analysé en détail.
• Ce paquet encapsule lui-même un segment TCP contenant une unité de données FTP.
• La fenêtre basse de l’analyseur de protocole présente en hexadécimal le contenu brut de la
trame. On peut ainsi suivre l’analyse : le premier octet de l’entête IP est égal à 45H. Le 4
représente la version du protocole, le 5 le nombre de mots de 32 bits, soit 20 octets.
• Les drapeaux analysés nous informent de l’absence de fragmentation. Un peu plus loin, les
adresses source et destination correspondent en hexadécimal aux valeurs décimales analysées
(CO A8 00 83 pour 192.168.0.131).
L’adressage Internet
Le format des adresses
• Chaque machine susceptible d’être connectée à l’extérieur de son réseau local possède une
adresse IP en principe unique. Le réseau Internet, qui tient son nom du protocole utilisé,
correspond à l’interconnexion de plusieurs millions d’ordinateurs à l’échelle mondiale et la
gestion des adresses est bien entendu de toute première importance.
• Une autorité internationale, l’ICANN {Internet Corporation for Assigned Names and Numbers)
attribue des numéros à chaque réseau. Les adresses codées sur 32 bits comportent deux parties
: le numéro de réseau (Net_id) et le numéro de la machine sur le réseau {Host_id). L’ICANN
n’alloue que les numéros de réseau. L’affectation des Host_id est à la charge des administrateurs
des réseaux locaux.
10
17/10/2020
L’adressage Internet
Suivant l’importance du réseau, plusieurs classes d’adressage sont possibles:
• Les adresses sur 32 bits sont exprimées par octet (soit quatre nombres compris entre 0 et 255) notées
en décimal et séparés par des points : 137.15.223.2.
11
L’adressage Internet
Les différentes classes correspondent donc à des adresses appartenant aux plages suivantes :
12
17/10/2020
L’adressage Internet
Format des adresses IP
13
L’adressage Internet
• La classe A représente donc les réseaux de grande envergure (ministère de la Défense, réseaux
d’IBM, AT&T, DEC...) dont la plupart se trouvent aux États-Unis. La classe B désigne les réseaux
moyens (universités, centres de recherches...). La classe C représente les petits réseaux
régionaux, les PME/PMI et en règle générale les sites comprenant moins de 254 machines.
• Les adresses de classe D ne désignent pas une machine particulière sur le réseau, mais un
ensemble de machines voulant partager la même adresse et ainsi participer à un même groupe :
adresses de groupe de diffusion {multicast). Ces adresses sont choisies par les concepteurs des
applications concernées comme la VoD {Video on Demand).
14
17/10/2020
L’adressage Internet
Les autres adresses sont particulières ou réservées :
• 0.0.0.0 est une adresse non encore connue, utilisée par les machines ne connaissant pas leur adresse IP au
démarrage ;
• l’adresse dont la partie basse est constituée de bits à 0 est une adresse réseau ou sous-réseau, 212.92.27.0 pour
une classe C par exemple ;
• l’adresse dont la partie basse est constituée de bits à 1 est une adresse de diffusion {broadcast), 157.42.255.255
pour une classe B par exemple ;
• 127.0.0.1 est une adresse de bouclage {localhost, loopback) et permet l’utilisation interne de TCP/IP sans
aucune interface matérielle ;
• pour chaque classe, certaines plages d’adresses sont réservées à un usage privé :
O classe A : 10.0.0.0 ;
O classe B : 172.16.0.0 à 172.31.0.0 ;
O classe C : 192.168.0.0. à 192.168.255.0.
15
L’adressage Internet
Le nombre d’attribution d’adresses IP a suivi ces dernières années une croissance presque
exponentielle, ce qui a conduit à une saturation. Au moment de de la conception d’IP,
l’adressage sur 32 bits qui offrait une capacité théorique de 232 milliards d’adresses semblait
suffisant...
• L’organisation en classes, justifiée au départ, a de plus généré un gaspillage important,
notamment dans le cas des classes A sous-utilisées.
• L’organisation en classe n’est donc plus guère utilisée et une ré-attribution des blocs d’adresses
inutilisés grâce à des protocoles plus souples comme CIDR (Classless InterDomain Routing) ou
l’utilisation multiple d’adresses privées et de système de translation d’adresses NAT (Network
Address Translation) permet de pallier, en partie, la pénurie.
• Parallèlement, la norme IPv6 tente de remplacer la version 4 actuelle du protocole IP pour offrir
un codage des adresses sur 128 bits.
16
17/10/2020
L’adressage Internet: L’adressage de sous-
réseaux (subneting) et les masques
Il peut être utile de segmenter le réseau en plusieurs sous-réseaux dans le but :
• de réduire le nombre de communications sur un même segment ;
• de connecter des réseaux d’architectures hétérogènes ;
• de regrouper les ordinateurs en domaines ou sous-domaines.
En cas de segmentation, les sous-réseaux seront interconnectés par des routeurs et les adresses
des sous-réseaux correspondront à un sous-ensemble des adresses du réseau
17
L’adressage Internet: L’adressage de sous-
réseaux (subneting) et les masques
Figure 3: Exemple de ségmentation réseau
18
17/10/2020
L’adressage Internet: L’adressage de sous-
réseaux (subneting) et les masques
Les techniques d’adressage IP devront permettre de déterminer si un paquet est destiné à :
• une machine du même réseau ;
• une machine d’un sous-réseau différent sur le même réseau ;
• une machine sur un autre réseau.
19
L’adressage Internet: L’adressage de sous-
réseaux (subneting) et les masques
Plus précisément, lorsqu’une segmentation en sous-réseaux est nécessaire, la partie de l’adresse
Internet administrée localement {host id initial) peut être découpée en deux parties:
• une adresse de sous-réseau {subnet_id) ;
• un numéro de la machine dans le sous-réseau {host_id).
Figure 4. Réorganisation du host_id
20
17/10/2020
L’adressage Internet: L’adressage de sous-
réseaux (subneting) et les masques
• Le système d’exploitation doit déterminer l’information désignant le sous-réseau et
l’information désignant la machine. Cette structuration est employée, par exemple, dans les
algorithmes de routage pour savoir si deux machines se trouvent sur le même sous-réseau.
• Un masque de sous-réseau ou netmask a le même format qu’une adresse Internet. Les bits à 1
désignent la partie réseau {net) et sous-réseau {subnet) de l’adresse et les bits à 0 la partie
numérotation des machines {host) sur le sous-réseau (figure 5).
•Il n’y a aucune raison pour que les bits à 1 soient contigus, mais le non-respect de cette règle
entraînerait des difficultés de gestion inutiles.
21
L’adressage Internet: L’adressage de sous-
réseaux (subneting) et les masques
Figure 5. Exemple d’utilisation du masque
22
17/10/2020
L’adressage Internet: L’adressage de sous-
réseaux (subneting) et les masques
• Un « ET logique » appliqué entre l’adresse de la machine et le masque permet de déterminer
l’adresse du sous-réseau et donc de savoir si une destination est comprise dans ce sous-réseau
ou doit être recherchée à travers un routeur.
• Dans cet exemple de réseau de classe C, les 2 bits de poids fort des 8 bits disponibles sont
utilisés pour identifier le sous-réseau. Il est ainsi possible de distinguer quatre adresses de sous-
réseaux :
23
L’adressage Internet: L’adressage de sous-
réseaux (subneting) et les masques
• La première adresse est parfois exclue pour ne pas la confondre avec l’adresse du réseau, la
dernière également pour éviter de confondre son broadcast avec le broadcast du réseau mais
dans ce cas beaucoup d’adresses de machines sont inutilisées...
• En l’absence de segmentation en sous-réseaux {subnetting), les masques sont ceux par défaut
des classes standards :
Pour alléger la notation, les masques sont souvent notés sous forme de suffixe, ce dernier correspond au
nombre de bits à 1.
Exemple
193.127.32.0 & 255.255.255.0 est équivalent à 193.127.32.0 / 24.
24
17/10/2020
La division des classes d’adresse avec CIDR
• Comme indiqué précédemment, en attendant la généralisation d’IPv6 et des adresses sur 128
bits (voir paragraphe sur l’adressage IPv6), une solution est de s’affranchir des classes d’adresse
et donc de mieux utiliser les adresses existantes.
• Seules des classes C peuvent désormais être attribuées et beaucoup de sociétés ont besoin de
plus de 256 adresses. Le protocole CIDR (Classless Inter Domain Routing) permet d’agréger des
classes C ou d’affecter une partie seulement d’une classe B en utilisant des préfixes pour
indiquer aux routeurs qu’un seul sous-réseau correspond à trois classes C par exemple.
•Il n’y a donc plus de masque fixé par référence à une classe
•On s’affranchit ainsi du découpage arbitraire et peu flexible en classes : l’allocation des
ressources est plus fine et les tables de routages sont allégées au coeur du réseau
25
La division des classes d’adresse avec CIDR
Avec CIDR, toutes les adresses de réseaux sont annoncées avec leur préfixe qui correspond au
nombre de bits à 1 du masque et remplace celui-ci. Par exemple :
• Les deux réseaux explicites 193.127.32.0 et 193.127.33.0 peuvent être agrégés en 193.127.32.0
& 255.255.254.0. L’agrégat est noté 193.127.32.0 / 23, il désigne le couple préfixe/nombre de
bits à 1 du masque.
• Dans le cas d’une agrégation avec CIDR, on parle de supernetting. On peut en effet considérer
qu’il s’agit de l’opération inverse du subnetting : les réseaux ou sous-réseaux sont agrégés et non
segmentés.
26
17/10/2020
La division des classes d’adresse avec CIDR
• Les préfixes réseau étant de taille variable, les fournisseurs d’accès Internet peuvent allouer à
leurs clients un espace d’adressage adapté à leur besoin. Imaginons le cas d’un fournisseur
disposant du bloc d’adresses 206.0.64.0/18, soit 214 (16 384) adresses individuelles ou 64
réseaux de 256 machines.
• Si un client demande 800 adresses, il peut se voir assigner soit une classe B (environ 64 700
adresses sont alors perdues), soit quatre classes C (et devoir rentrer quatre routes dans ses
tables de routage). Avec CIDR, le fournisseur peut assigner à son client le bloc 206.0.68.0/22,
soit 1 024 adresses.
27
L’adressage IPv6
• L’un des principaux apports d’IPv6 consiste en l’augmentation massive du nombre d’adresses
disponibles. De 32 bits, le système d’adressage passe à 128 bits (2128 = 3,4-1038), soit une réserve
en principe suffisante d’adresses pour tous les usages.
• Cette augmentation entraîne un passage de quatre « blocs » de 256 adresses pour IPv4 (en ne
prenant pas compte des différents types d’adressage) à 16 blocs de taille équivalente pour IPv6 :
• IPv4: 212.180.62.226
• IPv6: 12.156.21.34.125.22.254.42.65.124.38.89.212.180.62.226
28
17/10/2020
L’adressage IPv6
• Afin de simplifier la période transitoire, IPv6 a été conçu pour être compatible avec IPv4,
notamment en mettant en place un schéma autorisant l’imbrication d’adresses IPv4 au sein
d’une structure IPv6 : les 128 bits de l’un pouvant facilement contenir les 32 bits nécessaires à
l’autre. Dans ce cadre, les 32 bits de l’adresse originale sont placés en fin d’adresse IPv6, et tous
les autres blocs sont mis à zéro.
• Par ailleurs, pour faciliter la lecture et l’écriture de ces adresses, IPv6 définit une notation mixte
pouvant prendre plusieurs formes. Tout en gardant les 32 bits finaux en décimal, les 96 bits
précédents prennent une forme hexadécimale, et ne sont plus séparés par des points mais par
des deux-points. Douze blocs en notation décimale deviennent ainsi six blocs en hexadécimal :
805B:2D9D:DC28:1080:200C:FC57:212.180.62.226
29
L’adressage IPv6
• Précisons que chaque bloc de quatre chiffres hexadécimaux correspond à 16 bits, ce qui donne
bien 6x16 bits + 32 bits =128 bits.
•Dans le cas d’une imbrication IPv4, on obtiendrait une suite de 0 précédant l’adresse originale :
0000:0000:0000:0000:0000:0000:212.180.62.226
Celle-ci est simplifiable en :
0:0:0:0:0:0:212.180.62.226
Elle peut également s’écrire :
::212.180.62.226
30
17/10/2020
L’adressage IPv6
•Les deux « deux-points » indiquent qu’il s’agit d’une adresse IPv6, et que tous les blocs
précédents sont égaux à zéro. Ce principe s’applique bien sûr aux adresses normales IPv6 et
permet de raccourcir certaines adresses contenant des blocs vides :
805B:2D9D:0000:DC28:12F7:000A:765C:D4C8
Les deux « deux-points » indiquent qu’il s’agit d’une adresse IPv6, et que tous les blocs
précédents sont égaux à zéro. Ce principe s’applique bien sûr aux adresses normales IPv6 et
permet de raccourcir certaines adresses contenant des blocs vides :
805B:2D9D:0000:DC28:12F7:000A:765C:D4C8
31
L’adressage IPv6
• Par ailleurs, lorsque l’on veut préciser l’adresse du réseau (net_id) et de la machine (hostjd) une
adresse se représente avec son préfixe (notation CIDR). Par exemple, la machine
A200:E8FF:EE65:DF9A sur le réseau FEDC:6482: CAEE:BA05 :
FEDC:6482:CAFE:BA05:A200:E8FF:FE65:DF9A / 64
•Si l’adressage est le principal apport d’IPv6, d’autres fonctionnalités sont également proposées.
Le nouveau protocole simplifie le format d’en-tête des messages en rendant certains champs
optionnels, voire en les supprimant. Il propose également des méthodes pour garantir la qualité
et la complétude de l’information transmise, autorise des connexions facilitées pour les
terminaux mobiles ainsi que les services multicast.
32
17/10/2020
L’adressage multicast
• Cet adressage, encore appelé envoi de groupe, consiste à émettre le même datagramme vers
un groupe désigné de machines. Contrairement au mode diffusion (broadcast), le paquet n’est
pas destiné à tous les hôtes d’un réseau, seulement à quelques machines qui n’appartiennent
pas nécessairement au même réseau mais qui font partie d’un même groupe, identifié par une
adresse IP.
• Le multicast est utilisé par les applications nécessitant la transmission d’une même donnée vers
de multiples destinations : VoD, retransmission d’événements, enseignement à distance,
diffusion d’informations à une communauté...
33
L’adressage multicast
• Comparativement à la transmission unicast, le multicast permet d’économiser les ressources de
la source et du réseau. Tandis qu’une source unicast émet autant de datagrammes qu’il existe de
destinations, la source multicast génère un unique paquet.
•Les routeurs l’acheminent en limitant sa transmission aux réseaux qui contiennent un membre
du groupe ou qui doivent être traversés pour en atteindre un, ce qui limite la congestion du
réseau.
•Les adresses de classe D sont réservées au multicast. Elles se caractérisent par les bits de poids
fort 1110 et définissent la plage d’adresses 224.0.0.0 à 239.255.255.255. Elles sont uniquement
utilisées comme adresse de destination.
•Le multicast nécessite une méthode d’adressage, des protocoles de construction des groupes
comme IGMP (Internet Group Management Protocol) ainsi que des protocoles de routage et de
signalisation spécifiques.
34
17/10/2020
Le protocole ICMP
Le protocole ICMP (Internet Control Message Protocol) est utilisé pour gérer les informations contrôlant le trafic IP ; il
permet notamment aux routeurs d’envoyer des messages de contrôle ou d’erreur vers d’autres ordinateurs ou routeurs
connectés.
Les principales fonctions réalisées par ICMP sont :
• contrôle de flux : lorsque les datagrammes arrivent trop rapidement pour être traités, la destination renvoie un
message de congestion qui indique à la source de suspendre temporairement l’envoi ;
• détection de destination inaccessible : lorsqu’une destination s’avère inaccessible, le système qui détecte le
problème envoie un message « destination unreachable » vers la source ;
• redirection des voies : une passerelle envoie un message de redirection afin d’indiquer à une machine d’utiliser une
autre passerelle qui constitue un meilleur choix ;
• vérification des machines à distance : une station peut envoyer le message d’écho ICMP par une commande de type
« ping » pour vérifier que l’adresse et la couche IP du système distant sont opérationnelles ;
• détection de temps expiré : les paquets qui circulent en boucle sont identifiés grâce au champ TTL de l’en-tête IP ;
• détection de paramètre incorrect : la structure du paquet IP n’est pas conforme.
35
Le protocole ICMP
La figure suivante décrit le format du paquet ICMP qui comprend les différents champs :
• Type : indique le type de message de contrôle ICMP {Echo Request, Echo Reply, Destination unreachable, Time
Exceeded...) ;
• Code : donne des informations complémentaires sur le message. Par exemple, le code 0 pour un paquet de type
3 {Destination unreachable), signifie Network unreachable, ce qui implique un routeur ou un lien en panne ; le
code 1 signifie Host unreachable ;
• Checksum : permet une détection d’erreur sur l’en-tête ICMP ;
• Paramètres : dépend du type de message. Par exemple le type 3 n’utilise pas ce champ, les types 8 {Echo
Request) et 0 {Echo Reply) l’utilisent pour stocker un identifiant et un numéro de séquence ;
• Données : recopie par défaut l’en-tête IP et les 64 premiers bits du datagramme original (celui ayant déclenché
le message ICMP). La séquence est quelconque dans les messages de type « Echo », par exemple les premières
lettres de l’alphabet.
Remarque: Le protocole ICMP ne fiabilise pas IP, c’est un protocole d’information.
36
17/10/2020
Le protocole ICMP
Format du paquet ICMP
37
Le protocole ICMP
38
17/10/2020
Conclusion
Dans le cadre de ce chapitre, nous nous sommes intéressés au protocole IP et nous avons étudié
l’adressage IP et évoqué ses défis suite à l’augmentation des objets connectés à l’Internet.
Dans le prochain chapitre, nous étudierons le routage sur Internet.
39