SNT Internet

Identification

Infoforall

3 - Protocole IP


Dans l'activité précédente, nous avons vu que protocole TCP garantit la fiabilité de transmission sans garantie temporelle.

Protocole : TCP (et +) Adresse : PORT Firefox Serveur HTTP Communication prog A Comm. prog B A B Rq TCP Rp1 TCP Rp2 TCP vide TCP ? A TCP B TCP data SRC 2050 DST 443 Seq data SRC 24945 DST 443 Seq data SRC DST CS data Seq Anum F vide Seq Anum F SRC 2050 DST 443 F ACK Anum 0 Seq 1 CS XXXXX

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.

Protocole : TCP (et +) Adresse : PORT DATA d'un programme SEGMENT TCP Port SRC 443 Port DST 2050 Seq 4 Suiv 2 PAQUET IP IP DST 25.25.25.5 IP SRC 45.45.45.2 TTL 50 TRAME (Ethernet ou Wifi) SEQUENCE INTIALE MAC DST MAC SRC CheckSum selon le type de trame Protocole : IP (et +) Adresse : IP Message : PAQUET Couche LIAISON Protocole : WLAN ... Adresse : MAC Message : TRAME Couche Application Firefox (client) Protocole : HTTP Couche Application Serveur HTTP Protocole : HTTP Rep http Requete Rep TCP IP Req TCP IP Data TCP IP IP DST IP SRC TTL / HL ACK TCP IP

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 :

  1. Les deux adresses sont identiques : il n'y a plus qu'à transmettre au bon programme puisque le paquet IP est arrivé à destination.
  2. Ici A9 à un message pour A9

    Destinataire réel = Destinataire final
  3. DST appartient au réseau local de la machine actuelle : on va pouvoir lui transmettre directement le PAQUET IP.
  4. Ici A9 à un message pour A2

    Communication entre deux machines du même réseau
    Illustration de deux machines communiquant via le réseau interne
  5. 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.
  6. La communication entre deux réseaux distincts passe par un routeur

    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

Transport de paquets IP

✎ 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 ?

  1. A7 est la bonne machine.
  2. On transmet à A12 car A7 et A12 sont sur le même réseau.
  3. On transmet à un routeur car A7 et A12 sont sur des réseaux différents.

✎ 07° B7 reçoit un paquet IP dont la DST est C12. Que faire ?

  1. B7 est la bonne machine.
  2. On transmet à C12 car B7 et C12 sont sur le même réseau.
  3. On transmet à un routeur car B7 et C12 sont sur des réseaux différents.

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
Transport de paquets IP

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 ?
Transport de paquets IP

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).

Logo IANA
Logo IANA (Fair Use)

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.

Logo ICANN
Logo ICANN (Image sans copyright)

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.

RIRs dans le monde
RIRs dans le monde (Rir.gif: DorkBlankMap-World6,_compact.svg: Canuckguy et al.derivative work: Sémhur / CC BY-SA)

✎ 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.

Répartition des adresses
RIRs dans le monde (Rir.gif: DorkBlankMap-World6,_compact.svg: Canuckguy et al.derivative work: Sémhur / CC BY-SA)

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 :

  • Adresse au hasard :  82.25.12.15 

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 :

  • Adresse :  150.120.1.5 
  • Masque  :  255.255.0.0 

On en déduit :

  • Partie adresse-réseau :  150.120.0.0 
  • Partie adresse-machine :  0.0.1.5 

12° Calculer le nombre d'adresses possibles avec les 4 octets d'IP v4. Un peu d'aide :

  • Avec un octet : 256 valeurs différentes
  • Avec deux octets : 256 * 256 valeurs différentes

...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

  • Adresse :  175.70.10.50 
  • Masque  :  255.255.255.0 

Machine 2

  • Adresse :  175.70.12.50 
  • ✎ 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

    • Adresse :  175.70.10.50 
    • Masque  :  255.255.0.0 

    Machine 2

  • Adresse :  175.70.12.50 
  • ✎ 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 :

    • Adresse au hasard :  2a01:cb0c:96c:d400:63ba:f65c:3616:15d4 

    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.

    • Partie réseau :  2a01:cb0c:96c:d400:63ba:f65c:3616:15d4 
    • Partie machine :  2a01:cb0c:96c:d400:63ba:f65c:3616:15d4 

    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.

    Routeur 1 Routeur 2

    Le ROUTEUR parvient à faire voyager le paquet IP de réseau en réseau.

    5 - FAQ

    Rien pour l'instant.

    Voilà, nous en avons terminé avec Internet et les protocoles TCP/IP.

    • IP gère le transfert des paquets IP
    • TCP segmente et garantit le bon acheminement

    Activité publiée le 06 04 2020
    Dernière modification : 06 04 2020
    Auteur : ows. h.