3 - Protocole IP
Dans l'activité précédente, nous avons vu que protocole TCP garantit la fiabilité de transmission sans garantie temporelle.
Nous allons voir aujourd'hui comment on parvient réellement à transmettre le paquet IP d'un ordinateur à un autre en passant par Internet.
Evaluation ✎ :
Documents de cours :
Attention, cette activité remplace une activité debranchée nommée "le routage élastique". Difficile de faire du débranché en ce moment...
1 - Qu'est-ce qu'un paquet IP
Commençons par un rappel global.
01° Cliquer sur la requête bleue Req de l'animation ci-dessous pour la faire partir. Observer le processus de transfert d'informations et de validation de la demande par acquittement. Si quelque chose vous semble louche, il est temps de me poser une question. C'est que vous avez manqué un bout de l'activité précédente.
Nous allons voir aujourd'hui ce qu'on doit faire des messages créés par TCP. Jusqu'à présent, on considérait juste qu'on les faisait transiter entre émetteur et récepteur. Mais comment ?
C'est là qu'intervient le protocole IP
Le paquet IP
TCP permet de localiser les programmes.
IP permet de localiser les machines.
Le paquet IP est le nom de la communication qui transite sur Internet. Comme on le voit ci-dessus, il est constitué :
- D'un en-tête IP (en vert) comportant les adresses IP de l'émetteur et du destinataire
- suivi du reste, à savoir :
- de l'en-tête TPC (en jaune)
- des données du sous-message
Voici les informations qu'on place dans l'en-tête IP : (vous pouvez cliquer sur l'en-tête pour obtenir un zoom si nécessaire)
- DST : l'adresse IP de la machine de destination.On la place en premier car c'est la première chose qu'un routeur doit lire pour savoir quoi faire :
- C'est la bonne machine ?
- Nous sommes sur le bon réseau ?
- Nous ne sommes pas sur le bon réseau ?
- SRC : l'adresse IP de la machine source du message. Sans cela, on ne pourrait pas répondre au message.
- TTL : un compteur nommé TTL ou Hop Limit : c'est un compteur qui décroit de 1 à chaque fois que le paquet IP est transféré à un autre routeur. Arrivé à 1, le paquet n'est plus déplacé et part à la poubelle s'il n'est pas arrivé à destination.
Voici une animation vous montrant ce qui va réellement transiter d'un ordinateur à l'autre : le paquet IP. On pourra ainsi vouloir les rajouts et suppressions d'en-têtes devant le vrai message (nommé data ici) :
Vous pouvez cliquer sur la requête initiale Req pour voir l'animation.
02° Utiliser l'animation pour bien visualiser que chaque message de TCP est transformé en PAQUET IP avant d'être envoyés.
On voit donc que lors du transport d'une information,
- on ajoute l'en-tête TCP contenant les informations sur les programmes
- on ajoute l'en-tête IP contenant les informations sur les machines
- on envoie le message
- on lit l'en-tête IP pour savoir où livrer le paquet
- une fois arrivé sur la bonne machine, on supprime l'en-tête IP
- on lit puis supprime l'en-tête TCP pour savoir à quel programme transmettre le sous-message.
03° A quoi sert concrétement le système de Time To Live ou de Hop Limit ?
...CORRECTION...
Cela sert à faire disparaître les paquets qui ne parviennent pas à atteindre la destination. Si on ne le faisait pas disparaître au bout d'un moment, les routeurs devraient continuer à les gérer jusqu'à la fin des temps. Et les paquets "fantomes" seraient plus nombreux que les nouveaux paquets à traiter.
2 - Protocole IP
Protocole IP
Principe général
IP veut dire Internet Protocol.
Le protocole IP assure l'acheminement des paquets, au mieux des capacités du réseau (on dira best-effort delivery en anglais).
Le protocole IP ne garantit absolument pas que le paquet arrivera un jour à destination : ça, c'est le travail de TCP. D'ailleurs, le protocole IP est un protocole dit non-fiable : il ne s'assure absolument pas de l'intégrité du paquet transmis, de la perte de paquets ni de l'ordre d'arrivée.
On peut voir ce protocole comme un simple distributeur qui gère les 3 choix possibles (arrivé, même réseau, réseau différent).
Adresses IP
Pour pouvoir savoir à qui transmettre, une adresse IP doit donc contenir deux parties :
- Une partie Adresse Réseau qui identifie le réseau d'une machine.
- Une partie Adresse Machine qui identifie la machine sur son réseau
Sans cela, il ne serait pas possible de savoir ce qu'il faut faire d'un paquet IP qu'on vient de recevoir.
Fonctionnement concret
Le protocole IP compare l'adresse IP de la machine actuelle et de l'adresse IP DST indiquée sur le paquet IP. Trois possibilités :
- Les deux adresses sont identiques : il n'y a plus qu'à transmettre au bon programme puisque le paquet IP est arrivé à destination.
- DST appartient au réseau local de la machine actuelle : on va pouvoir lui transmettre directement le PAQUET IP.
- DST n'est pas une machine du réseau local actuel : il faut regarder la table de routage pour savoir à quel routeur transmettre le PAQUET IP.
- A7 est la bonne machine.
- On transmet à A12 car A7 et A12 sont sur le même réseau.
- On transmet à un routeur car A7 et A12 sont sur des réseaux différents.
- B7 est la bonne machine.
- On transmet à C12 car B7 et C12 sont sur le même réseau.
- On transmet à un routeur car B7 et C12 sont sur des réseaux différents.
- Adresse au hasard : 82.25.12.15
- Adresse : 150.120.1.5
- Masque : 255.255.0.0
- Partie adresse-réseau : 150.120.0.0
- Partie adresse-machine : 0.0.1.5
- Avec un octet : 256 valeurs différentes
- Avec deux octets : 256 * 256 valeurs différentes
- Adresse : 175.70.10.50
- Masque : 255.255.255.0
- Adresse : 175.70.12.50
- Adresse : 175.70.10.50
- Masque : 255.255.0.0
- Adresse : 175.70.12.50
- Adresse au hasard : 2a01:cb0c:96c:d400:63ba:f65c:3616:15d4
- Partie réseau : 2a01:cb0c:96c:d400:63ba:f65c:3616:15d4
- Partie machine : 2a01:cb0c:96c:d400:63ba:f65c:3616:15d4
Ici A9 à un message pour A9

Ici A9 à un message pour A2


Ici A9 à un message pour B7
04° Cliquer sur le paquet IP pour voir son déplacement de machine en machine.
La machine A1 du réseau A veut envoyer un paquet IP à la machine D3 du réseau D.
Le chemin visualisé est : A1 - A - G - H - D - D3

✎ 05° Proposer un autre chemin qu'on aurait pu faire suivre à ce paquet.
✎ 06° A7 reçoit un paquet IP dont la DST est A12. Que faire ?
✎ 07° B7 reçoit un paquet IP dont la DST est C12. Que faire ?
08° Un réseau local est un ensemble d'ordinateurs pouvant communiquer entre eux sans passer par un réseau extérieur, comme Internet. A combien de réseau(x) appartient l'appareil A2 ?
...CORRECTION...
Un seul. Le réseau A.
09° Quelle est la particularité des appareils notés A, B, C, D, E et F en terme d'appartenance aux réseaux ?
...CORRECTION...
Ces appareils appartiennent au moins à deux réseaux à la fois !
Par exemple, A appartient à la fois au réseau A (en vert) et au réseau central (en jaune).
Routeur
Un routeur est un ordinateur qui possède plusieurs particularités.
Première particularité : il possède plusieurs cartes réseaux actives en même temps, ce qui lui permet d'être relié et d'appartenir à plusieurs réseaux. Comme un ordinateur ne peut communiquer qu'avec les autres ordinateurs de son réseau, un routeur permet de créer un pont entre des ordinateurs situés sur les réseaux auquel appartient le routeur.
Deuxième particularité : il accepte de traiter les paquets IP qu'il n'a pas émis lui-même. Un ordinateur normal met simplement un tel paquet IP à la poubelle s'il le reçoit.
Pour savoir à qui transmettre, il utilise une table de routage : il s'agit d'une table lui indiquant où envoyer un paquet IP en fonction du réseau de destination.
Exemple de table de routage du routeur nommmé G :
Réseau de destination | Envoyer le paquet vers |
---|---|
Pour A | vers A |
Pour B | vers B |
Pour C | vers C |
Pour F, K ou J | vers K |
Pour I | vers I |
Pour H ou D | vers H |

Les tables de routage des routeurs extrêmes sont simples. Exemple avec le A :
Réseau de destination | Envoyer le paquet vers |
---|---|
Pour A | vers le réseau interne A |
Pour les autres | vers G |
Comme un routeur ne peut pas connaître tous les routeurs du monde, il existe toujours ce qu'on nomme une route par défaut.
✎ 10° Compléter au mieux la table de routage du routeur K sans possibilité de rajouter de lignes.
Réseau de destination | Envoyer le paquet vers |
---|---|
Pour F | vers F |
Pour I,J,E | vers ? |
Route par défaut sinon | vers ? |

3 - Optionnel : Adresses IP réelles
Nous allons regarder rapidement comment sont structurées les adresses IP, que ce soient en version 4 ou en version 6.
Commençons par la plus ancienne.
Attribution des adresses IP
A l'origine, une seule personne était chargée de cette répartition sur le réseau ARPANET : John Postel .Nous sommes alors dans les années 1970 et ARPANET est encore limité à une dizaine de serveurs+.
Sa tâche consistait à attribuer des numéros IP et PORTS de façon à ce qu'aucune association (IP, PORT) ne soit attribuer à deux choses différentes. Ce couple (IP, PORT) se nomme un socket.
C'est vers la fin des années 1980 que le terme IANA apparait pour la première fois (Internet Assigned Numbers Authority).

Cette autorité était financée à la fois par la DARPA (Defense Advanced Research Projects Agency) et par l'ISI (Information Sciences Institute, université de Californie).
Depuis 1998, elle est une composante de l'ICANN (Internet Corporation for Assigned Names and Numbers), l'autorité suprême de régulation de l'Internet.

L'ICANN est une société de droit californien à but non lucratif ayant pour principales missions d'administrer les ressources numériques d'Internet, telles que l'adressage IP et les noms de domaines de premier niveau (TLD) (Citation Wikipedia).
Et que fait l'IANA ? Elle attribue des blocs d'adresses IP à d'autres structures plus régionales, les RIR, Registre Internet régional. Ceux-ci vont, à leur tour, distribuer des blocs d'IP aux différents acteurs d'Internet, notamment les fournisseurs d'accès à Internet.

✎ 11° Comment se nomme le RIR qui gère l'Europe ?
Pourquoi l'Asie est-elle passée rapidement à l'IP v6 ? C'est une question historique : la répartition initiale des blocs IP n'a pas été réalisée de façon équitable en fonction des continents. La répartition des adresses IPv4 est présentée sur l'image suivante.

On voit que l'Afrique et l'Amérique du Sud ont eu très peu d'adresses IP4 attribuées. En violet, on trouve les adresses historiquement déjà distribuées. Vous vous doutez bien que la plupart sont américaines.
Voyons pourquoi on a fini par épuiser le nombre d'adresses IPv4 disponibles.
Adresse IP4
Ces adresses comportent 4 octets.
On la représente en décimal en séparant chaque octet par un point.
Exemple :
Toutes les machines joinables sur Internet possède une adresse IP propre.
Or, comme un octet ne peut prendre que des valeurs comprises entre 0 et 256, il y a un nombre limitée d'adresses IP v4 disponibles.
Une des façon d'identifier la partie réseau et la partie machine est de fournir un masque de réseau : si c'est 255, c'est que l'octet appartient à la partie réseau, si c'est 0, c'est que l'octet caractérise la partie machine.
Exemple :
On en déduit :
12° Calculer le nombre d'adresses possibles avec les 4 octets d'IP v4. Un peu d'aide :
...CORRECTION...
On calcule 256*256*256*256, soit 4294967296 numéros différents.
Cela donne en gros plus 4 milliards de numéros.
✎ 13° Ces deux machines sont-elles sur le même réseau. Pour répondre, il faudra trouver la partie réseau de la machine 1
Machine 1
Machine 2
✎ 14° Ces deux machines sont-elles sur le même réseau. Pour répondre, il faudra trouver la partie réseau de la machine 1
Machine 1
Machine 2
✎ 15° Ouvrir un terminal ou une invite de commande sur votre ordinateur. Utiliser la commande ipconfig/all sur Windows ou ifconfig sur Mac ou Linux.
Trouver votre adresse IP locale en allant la lire dans les indications de votre carte réseau.
Question : trouver votre adresse IPv 4. Comparer avec celle de vos voisins. Voit-on que les adresses se ressemblent et que les ordinateurs sont donc sur le même réseau ?
Taper ceci :
Windows : vous devriez obtenir une réponse de ce type :
h:\>ipconfig/all
Configuration IP de Windows
Nom de l'hôte : e301-poste12
Carte Ethernet Connexion au réseau local :
Suffixe DNS propre à la connexion : lycee.home
Description : Broadcom NetXtreme Gigabit Ethernet
Adresse physique : 25-CE-55-XX-XX-XX
DHCP activé : Oui
Configuration automatique activée : Oui
Adresse IPv6 de liaison locale : ad41::fe80:b1b1:fe80:fe80%13(préféré)
Adresse IPv4 : 192.168.2.78(préféré)
Masque de sous-réseau : 255.255.0.0
Bail obtenu : jeudi 4 mai 2017 10:58:30
Bail expirant : vendredi 5 mai 2017 10:58:29
Passerelle par défaut : 192.168.0.250
Serveur DHCP : 192.168.0.250
IAID DHCPv6 : 270843397
DUID de client DHCPv6 : 00-01-00-01-17-BD-7B-ED-24-BE-05-10-C2-C2
Serveurs DNS : 192.168.0.253
Serveur WINS principal : 192.168.0.253
NetBIOS sur Tcpip : Activé
Linux ou MAC (systèmes Unix) : vous devriez obtenir une réponse de ce type :
rv@rv-HP2:~$ ifconfig
enp2s0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 30:e1:71:XXX:XX:XX txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Boucle locale)
RX packets 11492 bytes 4538277 (4.5 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 11492 bytes 4538277 (4.5 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlo1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.11 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::bed3:c7ad:XXXX:XXXX prefixlen 64 scopeid 0x20<link>
inet6 2a01:cb0c:96c:d400:f995:XXXX:XXXX:XXXX prefixlen 64 scopeid 0x0<global>
inet6 2a01:cb0c:96c:d400:a38b:XXXX:XXXX:XXXX prefixlen 64 scopeid 0x0<global>
ether 3c:a0:67:XX:XX:XX txqueuelen 1000 (Ethernet)
RX packets 219822 bytes 225401269 (225.4 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 160066 bytes 32570855 (32.5 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Comme les adresses IPv4 ne sont plus assez nombreuses, une nouvelle version du protocole a vu le jour et co-existe pour l'instant avec la version 4.
Adresse IP6
Ces adresses comportent 16 octets répartis sous forme de 8 couples de deux octets.
On la représente en hexadécimal en séparant chaque octet par un double point.
Exemple :
On identifie les sous-réseaux de façon plus simple qu'en IPv4 : cette fois, le réseau est identifié par les 4 premiers blocs et la machine pour les 4 blocs suivants.
16° Sachant qu'une adresse IPv6 comporte 16 octets (ayant chacun 256 valeurs), calculer le nombre d'adresses différentes en IP v6.
...CORRECTION...
On calcule 25616, soit 340282366920938463463374607431768211456 numéros différents.
Ca devrait aller pour un moment...
Comme vous pouvez le voir, IP6 va permettre à tous d'avoir une adresse.
4 - Bilan
Il vous faut donc retenir que IP ne fait que gérer le routage des paquets à l'aide des tables de routage.
Le paquet IP est crée sur votre machine puis est transféré de routeur en routeur jusqu'à atteindre la destination.
Le ROUTEUR parvient à faire voyager le paquet IP de réseau en réseau.
5 - FAQ
Rien pour l'instant.
Activité publiée le 06 04 2020
Dernière modification : 06 04 2020
Auteur : ows. h.