NSI Terminale

Tables de routage


Les seules connaissances exigibles pour la TNSI sont

  • le fait que le protocole IP permet d'identifier le réseau et la machine sur lequel il tourne, et
  • de savoir utiliser une table de routage pour déterminer la prochaine destination d'un paquet IP

Cette activité contient donc surtout des éléments de culture générale sur les réseaux.

Elle va juste permettre de remettre en place vos souvenirs de 1er : nous allons travailler cette année sur le routage : les techniques permettant le transit des paquets IP via les routeurs de façon à parvenir à faire communiquer deux machines distantes.

Du coup, revoir un peu le vocabulaire pour savoir de quoi on parle vraiment pourra surement vous servir.

Prérequis : -

Evaluation ✎ : questions -

1 - Couche APPLICATION (culture générale)

Nous avions vu qu'Internet était constitué notamment de routeurs qui permettent à l'information de circuler sous la forme de paquets IP.

Commençons par revoir rapidement comment cela fonctionne.

Nous partirons de l'application Web qui utilise Internet pour faire transiter ses données.

Le modèle TCP / IP est un modèle en couches. Chaque couche ne peut communiquer qu'avec la couche immédiatement inférieure ou supérieure.

Couche TRANSPORT Protocole : TCP (et +) Adresse : PORT Message : SEGMENT DATA d'un programme SEGMENT TCP Port SRC 443 Port DST 2050 Seq 4 Suiv 2 Flags : ACK CS : 15241 PAQUET IP IP DST 25.25.25.5 IP SRC 45.45.45.2 TRAME (Ethernet ou Wifi) SEQUENCE INTIALE MAC DST MAC SRC CheckSum selon le type de trame Couche RESEAU Protocole : IP (et +) Adresse : IP Message : PAQUET Couche ACCES réseau Protocole : WLAN ... Adresse : MAC Message : TRAME Couche Application Firefox Couche Application Couche Application Serveur HTTP Communication Firefox Comm. prog B A B Rq TCP Rp1 TCP Rp2 TCP vide TCP ? A TCP IP Trame B TCP IP Trame data SRC 2050 DST 443 Seq data SRC 24945 DST 443 Seq data SRC DST CS data Seq Suiv F vide Seq Suiv F SRC 2050 DST 443 F ACK Suiv 0 Seq 1 CS XXXXX Data TCP IP DST IP SRC TTL / HL

Mais pourquoi faire cela ?

Les informaticiens aiment bien se compliquer la vie ou quoi ?

Non, au contraire.

On retrouve deux notions très importantes pour obtenir un système stable et solide :

  1. Encapsulation : chaque tâche est encapsulée dans une couche.
    On retrouve la notion de une tâche - une fonction et le fait qu'on a pas à savoir comment cette tâche est implémentée.
  2. Interface : chaque couche communique avec ses couches voisines en utilisant uniquement l'interface disponible : une couche doit juste savoir quoi envoyer et comprendre ce qu'elle reçoit d'une autre couche.
    A part cela, les couches sont indépendantes : tant que son interface reste la même, on peut changer le code interne d'une couche sans risquer de voir le système s'écrouler.

Couche APPLICATION

Nous partons donc de la couche APPLICATION du modèle TCP / IP.

Votre navigateur Web (par exemple Firefox) veut communiquer avec le serveur HTTP servant le site www.levavasseur.xyz.
Pour cela, les deux programmes (le client HTTP et le serveur HTTP) respectent un langage commun : le HTTP !

1 Requête - 2 - Traitement - 3 - Réponse
Requête - Traitement - Réponse

Un programme-serveur tourne sur une machine distance et il est identifié par un PORT sur cet ordinateur qu'on nomme souvent serveur aussi par simplification.
Mais c'est juste un ordinateur.
Le PORT typique est 80 pour http et 443 pour https.

Etape 1 : un programme-client (un navigateur, un robot-explorateur maison basé sur le module requests, ...), identifié par un PORT aléatoire va envoyer une requête http au serveur.

Etape 2 : le programme-serveur a reçu la requête http et va la traiter.

Etape 3 : le programme-serveur répond en envoyant sa réponse http au client.

Types de requêtes envoyées :

Méthode GET : paramètres dans l'URL

La méthode GET permet de discuter très facilement avec le serveur puisqu'on peut placer les paramètres qu'on veut lui transmettre directement dans l'URL.

Vous voulez par exemple vous connecter à la page NSI Terminale sur le site www.levavasseur.xyz.

Exemple de message GET pour se connecter au site :

POST /act/tester-le-post/ HTTP/1.1
Host: www.levavasseur.xyz

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:83.0) Gecko/20100101 Firefox/83.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: fr,fr-FR;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate, br
Referer: https://www.levavasseur.xyz/
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Cache-Control: max-age=0
TE: Trailers


BODY VIDE !

FIN DE LA REQUETE

Un exemple de réponse possible envoyée par le serveur :

HTTP/2 200 OK
date: Wed, 25 Nov 2020 20:05:00 GMT
content-type: text/html
content-length: 1132
server: Apache
accept-ranges: none
vary: Accept-Encoding
content-encoding: gzip
X-Firefox-Spdy: h2

<!DOCTYPE html... : la suite, c'est le fichier html !

FIN DE LA REQUETE

Méthode POST : paramètres dans le body de la requête

La méthode GET est pratique mais si vous devez envoyer beaucoup de données, l'URL va être très très longue.

Autre désavantage : si vous passez un mot de passe en GET en https, le message est crypté OK.
Personne ne peut lire votre mot de passe sur le réseau. C'est vrai. Mais le mot de passe sera noté en clair dans votre URL.
Il suffit donc de regarder par dessus votre épaule pour le connaître !

Dans ces deux cas, on préférera la méthode de transfert vers le serveur en POST : cette fois, le client va transmettre les données fournies (paramètres, fichiers...) dans le BODY.
C'est pour cela que le BODY de la méthode GET est vide. On n'y place rien.

Vous voulez par exemple vous connecter à l'ENT en utilisant Meticeavec la méthode POST du protocole HTTP.
Que se passe-t-il lorsque vous cliquez sur le bouton "Veuillez saisir vois identifiants" ?

Exemple de message POST où on ne transmet que l'alias et le mot de passe pour se connecter au site :

POST /esso/app/check_user_options HTTP/1.1
Host: hubole.ac-reunion.fr

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:83.0) Gecko/20100101 Firefox/83.0
Accept: application/json
Accept-Language: fr,fr-FR;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate, br
X-Requested-With: XMLHttpRequest
X-Request: JSON
Content-type: application/x-www-form-urlencoded; charset=utf-8
Content-Length: 62
Origin: https://sso.ac-reunion.fr
Connection: keep-alive
Referer: https://sso.ac-reunion.fr/login?service=https%3A%2F%2Fhubole.ac-reunion.fr%2Fedispatcher%2Fng%2Fhub


identifiant=s....&pasword=.....
FIN DE LA REQUETE

Quelque soit la requête, le navigateur, ici Firefox, va mettre en forme les données que vous voulez envoyer en respectant le protocole HTTP.

Le protocole HTTP fait donc parti de la couche APPLICATION : il définit comment deux applications peuvent discuter en respectant des règles de communications communes : le protocole.

Mais ce n'est pas le programme FIREFOX lui-même qui va directement envoyer le message au serveur.

Non, il va simplement envoyer son message (mis en forme en respectant HTTP) à la couche du dessous : la couche TRANSPORT.

2 - Couche TRANSPORT

Sur notre exemple, Firefox envoie donc un message à ... la couche TRANSPORT de l'ordinateur sur lequel tourne Firefox.

Couche TRANSPORT

Voyez la couche TRANSPORT comme le gestionnaire du courrier des applications d'un ordinateur. Elle reçoit les messages de toutes les applications et se charge de transmettre le message au programme récepteur.

Que va faire la couche TRANSPORT du message que lui envoie Firefox ?

Plusieurs choses :

  • Premièrement, elle découpe le message en plusieurs sous-messages si le message du base est trop gros.
  • 7 6 5 4 3 2 1
  • Ensuite, elle identifie chaque programme (émetteur et récepteur) avec un identifiant. L'identifiant de la couche TRANSPORT est le PORT, un simple numéro encodé sur 2 octets (donc entre 1 et 65535). Pourquoi identifier ? Tout simplement car ce programme-couche-TCP s'occupe de plusieurs programmes à la fois.
    • Les programmes-serveurs ont des numéros de PORT prédéfinis. Nous avions vu l'année dernière :
      • le PORT 80 pour les serveurs HTTP et
      • le PORT 443 pour les serveurs HTTPS.
  • A l'aide des sous-messages et des informations sur les PORTS, la couche crée ensemble de segments TCP.

Qu'est-ce qu'un segment ?

C'est l'un des sous-messages précédé d'informations supplémentaires qu'on nomme l'en-tête TCP. Notamment (mais pas que)

  • Le PORT de l'application Source du message (SRC) [ ce PORT est encodé sur les deux premiers octets ]
  • Le PORT de l'application Destinataire du message (DST) [ ce PORT est encodé sur les deux octets suivants ]
  • Un moyen d'identifier le numéro du segment par rapport aux autres (Séquence) [...]
  • et d'autres choses encore ...

Comprennez qu'on connaît la structure de l'en-tête bit par bit et qu'on peut donc récupérer facilement les données à l'intérieur.

Nous allons simplement noter cet en-tête TCP par un rectangle jaune.

1

Nous avons maintenant plein de segments dont on connaît l'expéditeur et le destinataire. Mais comment trouver la bonne machine ?

C'est simple : la couche TRANSPORT ne sait pas faire. Alors elle délégue. A qui ? A la couche RESEAU qu'on nomme également couche INTERNET.

3 - Couche RESEAU ou INTERNET

Le but de cette couche ?

Couche RESEAU

Voyez cette couche comme un aiguilleur. Elle se charge de savoir si le message est à destination.

  • de la même machine (ici A9 à un message pour A9): elle va envoyer le message vers la couche APPLICATION
  • Destinataire réel = Destinataire final
  • d'une machine qui appartient au même réseau que la machine elle-même (ici A9 à un message pour A2): on sait alors qu'on peut envoyer le message à la couche RESEAU du destinataire via sur le réseau interne
  • Communication entre deux machines du même réseau
    Illustration de deux machines communiquant via le réseau interne
  • d'une machine qui n'appartient pas au même réseau (ici A9 à un message pour B7): on sait qu'il faut envoyer le message vers un réseau externe.
  • La communication entre deux réseaux distincts passe par un routeur

Particularité de la communication: une machine ne peut communiquer directement qu'avec une machine de son propre réseau. Si elle veut communiquer avec un autre réseau, la machine a donc besoin de connaitre l'adresse d'une machine du réseau qui appartient aussi à une autre réseau. Pour ce qui nous concerne, nous le nommerons ROUTEUR. Ce routeur particulier qui permet de sortir du réseau est souvent nommé également PASSERELLE.

Relier plus de deux machines

On notera qu'il existe de nombreuses façons de faire communiquer les machines à l'intérieur d'un réseau. Le plus courant est le commutateur mais ce n'est pas l'unique moyen.

Relier deux machines uniquement

Par contre, on peut relier directement deux machines en créant une liaison directe entre leurs cartes réseaux, sans passer par un dispositif supplémentaire comme le commutateur.

Communication entre deux réseaux

Et comment fait cette couche pour savoir si le destinataire est sur le réseau interne ou s'il faut sortir du réseau actuel ?

Adressage IP

Adresse IP = Adresse réseau + Adresse machine

La couche RESEAU / INTERNET peut identifier les machines à l'aide de la fameuse adresse IP.

Il est totalement impossible qu'une machine connaisse les adresses de TOUTES les autres machines branchées sur INTERNET. Si ? Non.

Du coup, cette adresse IP est en réalité composée de deux parties.

  • Une adresse réseau qui identifie le réseau auquel appartient la machine
  • Une adresse machine qui identifie la machine elle même sur ce réseau

Qu'on soit en IP version 4 ou en IP version 6, il existe un mécanisme permettant de savoir si l'adresse de destination est sur le même réseau que l'ordinateur actuel ou si l'ordinateur de destination est en dehors du réseau actuel.

Pour le cours, nous prendrons une notation pédagogique très simple :

  • on identifie le réseau par une lettre (c'est l'adresse réseau)
  • on identifie la machine par un numéro (c'est l'adresse machine)
Exemple de réseaux avec des réseaux ABCZ et les machines associées
Illustration des réseaux réalisée avec Filius

Cette notation n'a aucune existence sur les réseaux réels mais permettra de se passer des notations assez complexes en IPv4 ou en IPv6.

01° Quelle est la partie réseau et la partie machine de l'adresse A3 ?

Exemple de réseaux avec des réseaux ABCZ et les machines associées
Illustration des réseaux réalisée avec Filius

...CORRECTION...

Adresse réseau : A

Adresse machine : 3

02° A quels réseaux appartient le routeur qui permet de joindre le réseau A ?

Quelles sont ses adresses ?

Pour chaque adresse, trouver l'adresse réseau et l'adresse machine.

...CORRECTION...

Il appartient à la fois au réseau A, au réseau Y et au réseau Z.

Adresse sur le réseau A : A1 - Adresse réseau A - Adresse machine 1

Adresse sur le réseau Y : Y1 - Adresse réseau Y - Adresse machine 1

Adresse sur le réseau Z : Z1 - Adresse réseau Z - Adresse machine 1

03° Quelles sont les machines qui possèdent plusieurs adresses réseaux car elles appartiennent à plusieurs réseaux ?

...CORRECTION...

Il s'agit des routeurs.

04° Une machine d'adresse IP "A5" vers joindre la machine d'adresse IP "A12". Comment sait-on s'il faut rester dans le réseau local ou quitter le réseau ?

...CORRECTION...

L'adresse réseau des deux machines est A.

Il faut donc chercher la machine sur le réseau local.

05° La machine d'adresse IP "A5" vers joindre la machine d'adresse IP "C12". Comment sait-on s'il faut rester dans le réseau local ou quitter le réseau ?

...CORRECTION...

L'une des machines est sur le réseau A.

L'autre machine est sur le réseau C.

Il faut donc quitter le réseau.

Nous venons donc de voir qu'il existe un mécanisme permettant aux machines de savoir si le destinataire appartient à leur réseau ou pas.

Nous savons vers où envoyer le message. Mais quel message ?

Paquet IP

La couche RESEAU reçoit les segments que la couche TRANSPORT lui a fourni. Elle ne les envoie pas directement : les segments ne contiennent pas l'adresse IP du destinataire !

On prend donc le segment et on lui rajoute un en-tête IP.

Que contient l'en-tête IP ?

L'en-tête IP est un ensemble d'information qu'on va placer devant le segment TCP.

Comme l'en-tête TCP, il s'agit d'informations encodées sur un nombre spécifique d'octets et décodables facilement.

Le contenu exact de l'en-tête va dépendre du système d'adressage utilisé : IPv4 ou IPv6 par exemple. Nous n'allons pas regarder l'un ou l'autre dans le détail mais allons aller à l'essentiel.

Initialement, un paquet IP n'est qu'un en-tête IP qu'on rajoute un segment TCP par exemple.

Que rajoute-on dans cet en-tête ? (vous pouvez cliquer sur l'en-tête pour obtenir un zoom si nécessaire)

  • L'adresse IP destination (4 octets en IPv4, 16 octets en IPV6). On la place en premier car c'est la première chose qu'un routeur doit lire.
  • L'adresse IP source (4 octets en IPv4, 16 octets en IPV6). Sans cela, on ne pourrait pas répondre au message.
  • Un compteur nommé TTL (Time to Live) en IPv4 ou Hop Limit en IPv6 (1 octet dans les deux cas) : c'est un compteur qui décroit de 1 à chaque fois que le paquet est transféré par un routeur. Arrivé à 1, le paquet n'est plus déplacé et part juste à la poubelle.

Il existe bien entendu encore d'autres données dans cet en-tête mais nous allons nous limiter à ceux-ci.

Ils permettent de comprendre l'essentiel du protocole.

>

On symbolisera donc le paquet IP à l'aide d'un symbole plus symbolique. Par exemple :

La partie FAQ donne quelques explications sur la décomposition en deux sous-adresses réseau/machine en IPv4 et IPv6.
Les exercices suivants résument le fonctionnement en vous montrant comment cela fonctionne.

06 (IPv4)° La machine d'adresse IP v4  70.30.20.145 /16  veut joindre la machine d'adresse IP  70.30.21.5 . Comment sait-on s'il faut rester dans le réseau actuel ou quitter le réseau ?

...CORRECTION...

Le 16 derrière le slash veut dire que l'adresse réseau est caractérisée par les 16 premiers bits, donc les deux premiers octets :

Donc l'adresse IPv4  70.30.20.145 /16  veut dire que :

  • La partie adresse-réseau est  70.30.0.0 
  • La partie adresse-machine est  0.0.20.145 

L'adresse de l'autre machine étant  70.30.21.5 , on peut dire que les deux machines sont sur le même réseau : l'adresse commence par 70.30

Il faut donc rester sur le réseau.

07 (IPv4)° La machine d'adresse IP v4  70.30.20.145 /24  veut joindre la machine d'adresse IP  70.30.21.5 . Comment sait-on s'il faut rester dans le réseau actuel ou quitter le réseau ?

...CORRECTION...

Le 24 derrière le slash veut dire que l'adresse réseau est caractérisée par les 24 premiers bits, donc les trois premiers octets :

Donc l'adresse IPv4  70.30.20.145 /24  veut dire que :

  • La partie adresse-réseau est  70.30.20.0 
  • La partie adresse-machine est  0.0.0.145 

L'adresse de l'autre machine étant  70.30.21.5 , on peut dire que les deux machines ne sont pas sur le même réseau : l'adresse ne commence pas par 70.30.20, il y a un 21 à la fin !

Il faut donc sortir du réseau pour trouver cette machine.

08 (IPv4)° La machine d'adresse IP v4  20.30.40.50  et de masque  255.0.0.0  veut joindre la machine d'adresse IP  20.200.100.5 . Comment sait-on s'il faut rester dans le réseau actuel ou quitter le réseau ?

...CORRECTION...

Les 255 du masque signale les octets portant l'adresse du réseau. On ne tient donc compte que d'un seul octet.

Donc l'adresse IPv4  20.30.40.50  et de masque  255.0.0.0  veut dire que :

  • La partie adresse-réseau est  20.0.0.0 
  • La partie adresse-machine est  0.30.40.50 

L'adresse de l'autre machine étant  20.200.100.5 , on peut dire que les deux machines sont sur le même réseau : l'adresse commence par 20

Il faut donc rester sur le réseau.

09 (IPv4)° La machine d'adresse IP v4  90.80.20.120  et de masque  255.255.255.0  veut joindre la machine d'adresse IP  90.80.20.5 . Comment sait-on s'il faut rester dans le réseau actuel ou quitter le réseau ?

...CORRECTION...

Les 255 du masque signale les octets portant l'adresse du réseau. On tient donc compte des trois premiers octets.

Donc l'adresse IPv4  90.80.20.12  et de masque  255.255.255.0  veut dire que :

  • La partie adresse-réseau est  90.80.20.0 
  • La partie adresse-machine est  0.0.0.12 

L'adresse de l'autre machine étant  90.80.20.5 , on peut dire que les deux machines sont sur le même réseau : l'adresse commence par 90.80.20

Il faut donc rester sur le réseau.

10 (IPv6)° La machine d'adresse IP v6  2a01:cb0c:96ac:d400:63ba:f65c:3616:15d4  veut joindre la machine d'adresse IP  2a01:cb0c:96ac:d400:73ba:12e3:3616:45a1 . Comment sait-on s'il faut rester dans le réseau actuel ou quitter le réseau ?

...CORRECTION...

Les 4 premiers champs hexadécimaux (en jaune) caractérisent le réseau et le sous-réseau.

On voit qu'ils sont identiques : on reste sur le même réseau.

11 (IPv6)° La machine d'adresse IP v6  2a01:cb0c:96ac:d400:4545:f65c:3616:15d4  veut joindre la machine d'adresse IP  aabb:9b0c:96ac:045d:73ba:12e3:3616:45a1 . Comment sait-on s'il faut rester dans le réseau actuel ou quitter le réseau ?

...CORRECTION...

Les 4 premiers champs hexadécimaux (en jaune) caractérisent le réseau et le sous-réseau.

On voit qu'ils ne sont pas identiques : on doit changer de réseau.

4 - Tables de routage

On a donc un beau paquet IP qui contient l'adresse IP du destinataire (et l'adresse de l'expéditeur initial, c'est plus pratique pour répondre).

Il n'y a plus qu'à envoyer le message. La difficulté est qu'on ne peut donner le message qu'à un autre ordinateur avec qui on est en liaison directe. Nous allons donc voir à quel intermédiaire de communication (ou passerelle) transférer ce paquet IP pour qu'il parvienne à destination.

La couche RESEAU et son protocole IP se charge justement de savoir qui doit gérer le paquet ensuite, qui est la prochaine passerelle.

Trois cas possibles :

  1. Le destinataire est l'ordinateur actuel lui même :
    • Destinataire réel = Destinataire final
      Exemple : A9 doit envoyer un paquet IP pour A9 : l'intermédiaire de communication est donc A9 lui-même
    • l'intermédiaire de communication est donc l'ordinateur actuel lui-même
    • il suffit donc d'envoyer à la couche TRANSPORT de ce même ordinateur.
    Le message est pour
    IP Destinataire
    Transmettre à la passerelle
    (intermédiaire de communication)
    Interface à utiliser
    (carte réseau)
    A9LocalhostLocalhost (on reste à l'interne)
  2. Le destinataire est dans le même réseau :
    • Destinataire réel = Destinataire final
      Exemple : A9 doit envoyer un paquet IP pour A2 : l'intermédiaire de communication est directement A2 avec qui il peut communiquer directement
    • l'intermédiaire de communication est encore l'ordinateur actuel lui-même.
    • on peut donc envoyer le message sur le réseau en passant juste par le commutateur
    • Le message est pour
      IP Destinataire
      Transmettre à la passerelle
      (intermédiaire de communication)
      Interface à utiliser
      (carte réseau)
      Réseau AA9on sort par la carte A9
  3. Le destinataire est dans un autre réseau :
    • Destinataire réel = Destinataire final
      Exemple : A9 doit envoyer un paquet IP pour C2 : l'intermédiaire de communication est le routeur A1/Y1/Z1 qui va devoir se débrouiller avec ce paquet...
    • l'ordinateur doit connaître l'adresse IP du routeur qui pourra prendre en charge le paquet IP
    • cette fois, c'est donc le routeur qui sera l'intermédiaire de communication du paquet IP.
    • L'ordinateur A9 envoie donc le paquet IP au routeur sans savoir où le message ira exactement ensuite.
    • ATTENTION : le paquet IP indique toujours que le destinataire est A9 ! Le routeur va juste recevoir et router le paquet, sans toucher aux adresses IP A9 et C2 inscrites dans le paquet.
    Le message est pour
    IP Destinataire
    Transmettre à la passerelle
    (intermédiaire de communication)
    Interface à utiliser
    (carte réseau)
    Réseau BA1on sort par la carte A9
    Réseau CA1on sort par la carte A9
    Réseau YA1on sort par la carte A9
    Réseau ZA1on sort par la carte A9

Voici comment se présente une table de routage :

  1. Une colonne IP Destinataire permet d'identifier l'adresse IP de destination (et donc le réseau de destination)
  2. Une colonne Passerelle permet d'identifier la passerelle qui va devoir gérer ce paquet
  3. une colonne Interface permettant de savoir sur quelle sortie envoyé le message (pratique surtout sur les routeurs : ils ont plusieurs cartes donc plusieurs sorties). On parle également d'interface d'entrée/sortie. On peut la localiser avec son adresse IP, avec son adresse MAC ou encore avec le nom de la prise physique. Dans le cadre de ce cours, je n'indiquerai que l'adresse IP.
    • Pour les cartes Ethernet (avec prises RJ-45), l'interface apparaît souvent sous la notation eth0, eth1...
    • Pour les cartes Wifi, on note souvent wlo1...

Table de routage de l'ordinateur A9

Le message est pour
IP Destinataire
Transmettre à la passerelle
(intermédiaire de communication)
Interface à utiliser
(carte réseau)
A9LocalhostLocalhost (on reste à l'interne)
Réseau AA9on sort par la carte A9
Réseau BA1on sort par la carte A9
Réseau CA1on sort par la carte A9
Réseau YA1on sort par la carte A9
Réseau ZA1on sort par la carte A9
Exemple de réseaux avec des réseaux ABCZ et les machines associées

Comme vous le voyez, on retrouve souvent les mêmes lignes et on ne peut de toutes manières par connaître tous les réseaux. On donne alors plutôt une route par défaut, la route à suivre si on ne trouve pas d'indication plus précise.

Le message est pour
IP Destinataire
Transmettre à la passerelle
(intermédiaire de communication)
Interface à utiliser
(carte réseau)
A9LocalhostLocalhost (on reste à l'interne)
Réseau AA9on sort par la carte A9
Par défautA1on sort par la carte A9

Retour à l'exemple A9 pour C2 : on voit ici que le paquet IP va partir vers le routeur A1/Z1/Y1 en étant émis par la carte réseau A9.

Table de routage du routeur relié au réseau A

Le message est pour
IP Destinataire
Transmettre à la passerelle
(intermédiaire de communication)
Interface à utiliser
(carte réseau)
A1 ou Y1 ou Z1LocalhostLocalhost (on reste à l'interne)
Réseau AA1on sort du côté A1
Réseau YY1on sort du côté Y1
Réseau ZZ1on sort du côté Z1
Réseau BY2on sort du côté Y1
Réseau CZ2on sort du côté Z1

On remarquera bien que toutes les passerelles proposées font bien partie des réseaux auxquels le routeur est directement reliés.

Exemple de réseaux avec des réseaux ABCZ et les machines associées

Retour à l'exemple A9 pour C2 : le paquet IP arrive donc sur ce routeur A1/Y1/Z1. Il est alors transmis au routeur Y2/X2/B1 puisque l'adresse de destination du paquet est C2.

Importance de l'interface de sortiie

Comme un routeur possède plusieurs adresses-réseau, il est indispensable de préciser de quel côté sortir du routeur. C'est à ça que sert l'information "interface".

Table de routage du routeur relié au réseau C

Le message est pour
IP Destinataire
Transmettre à la passerelle
(intermédiaire de communication)
Interface à utiliser
(carte réseau)
C1 ou X1 ou Z2LocalhostLocalhost (on reste à l'interne)
Réseau CC1on sort du côté C1
Réseau XX1on sort du côté X1
Réseau ZZ2on sort du côté Z2
DéfautX2on sort du côté X1

On remarquera bien que toutes les passerelles proposées font bien partie des réseaux auxquels le routeur est directement reliés.

Exemple de réseaux avec des réseaux ABCZ et les machines associées

Retour à l'exemple A9 pour C2 : le paquet IP arrive donc sur ce routeur C1/X1/Z2. Il est alors transmis à l'ordinateur C2 en sortant du côté C1.

12° La machine C2 veut répondre et renvoyer sa réponse à A9. Quelle va être l'adresse SRC de l'expéditeur ? Quelle va être l'adresse DST de destinataire ? Quel devrait être le premier routeur que va rencontrer le messsage de retour ?

...CORRECTION...

C'est l'inverse : la SOURCE SRC va être C2 et la DESTINATION DST est A9.

Comme le seul routeur pour sortir du réseau C est le routeur C1/X1/Z2, on va certainement y arriver.

13° En analysant la table de routage du routeur C1/X1/Z2, déterminer la passerelle intermédiaire suivante ?

...CORRECTION...

Il n'y a que la présence de la passerelle par défaut : on part donc vers la passerelle X2/Y2/B1.

14° Proposer une table de routage pour le routeur X2/Y2/B1 qui permettent aux paquets IP de pouvoir circuler correctement.

...CORRECTION...

Le message est pour
IP Destinataire
Transmettre à la passerelle
(intermédiaire de communication)
Interface à utiliser
(carte réseau)
B1 ou X2 ou Y2LocalhostLocalhost (on reste à l'interne)
Réseau BB1du côté B1
Réseau XX2du côté X2
Réseau YY2du côté Y2
DéfautY1du côté Y2

15° Que pourrait-il se passer si on routait les paquets IP à destination de A vers le routeur X1 sur ce routeur ?

...CORRECTION...

N'importe quel paquet à detination de A émis depuis les réseaux B ou C font alors faire des allers-retours entre les deux routeurs du réseau B et C. Aucun ne pourra arriver à destination !

16° Quel mécanisme permet aux paquets de ne pas errer jusqu'à la fin des temps sur Internet ?

...CORRECTION...

Il s'agit du compteur nommé TTL (Time to Live) en IPv4 ou Hop Limit en IPv6 (1 octet dans les deux cas) : c'est un compteur qui décroit de 1 à chaque fois que le paquet est transféré par un routeur. Arrivé à 1, le paquet n'est plus déplacé et part juste à la poubelle.

Routage statique

Ce que nous venons de voir se nomme le routage statique : quelqu'un configure les routes à la main.

Avec l'augmentation de nombre de routeurs, les risques de faire un mauvais réglage augmentent de faire évidente. C'est pour cela que nous verrons deux techniques de routages dynamiques la fois prochaine.

De la même façon, même avec des routes bien configurées, la moindre panne réseau va obligé le responsable des routes à redéfinir manuellement celles-ci. C'est bien entendu totalement inenvisageable sur Internet ou n'importe quel gros réseau !

Il est temps d'aller de passer le paquet à la couche ACCES RESEAU voir la table de routage pour voir ce qu'on doit faire de ce paquet !

Attention : on ne change plus le contenu du paquet IP. On va juste aller voir à qui le transmettre temporairement.

5 - Couche ACCES RESEAU : culture générale - rien d'exigible

Rien d'exigible ici : toute ce qui suit dépend énormément de la nature du réseau (Wifi, Ethernet, Fibre optique, réseau très grand débit...) et des technologies et des normes. Tout cela évolue vite. Trop vite pour qu'il y ai un quelconque intérêt à en connaître les détails à moins de déjà travailler dans ce domaine. C'est pour cela que le programme n'en parle pas.

Pourquoi rajouter encore une couche ?

Le principe est de rajouter encore un en-tête devant le paquet IP pour créer ce qu'on nomme une trame. Mais on va aussi rajouter des choses à la fin cette fois, de façon à entourer le paquet IP.

Le paquet IP contient les informations qu'on veut faire transiter d'un ordinateur à un autre.

La trame est elle le carton d'emballage si vous voulez.

Sur cette couche, l'identifiant est l'adresse MAC (Media Access Control) liées à la carte réseau utilisée.

Il s'agit d'adresses sur 6 octets (48 bits, 6*8).

Un ordinateur n'accepte les messages que si l'adresse MAC du destinataire est bien la sienne.

Détection du début et de la fin

Le but de la trame est d'abord de permettre le transport concret du paquet IP : celui-ci ne contient que des informations. C'est dans l'ACCES RESEAU qu'on va les transformer en signaux physiques (éléctriques, optiques...) pour les transporter.

On entoure alors les octets du paquet IP d'une séquence signalant le début et la fin du signal envoyé. Comme cela, le récepteur sait qu'il reçoit bien un vrai signal et pas juste du bruit.

On commence donc à placer en début de trame une séquence bien précise de bits (elle dépend du type de réseau physique) qui permet de dire "Arrivée d'un nouveau message". Idem à la fin.

Anonymisation des machines

L'adresse IP joue le rôle d'adresse logique. Cela permet d'identifier un rôle dans le réseau et de l'anonymiser. A l'extérieur du réseau, personne ne sait quelle machine joue réellement ce rôle. Lorsqu'on veut la joindre, on donne simplement son adresse IP. C'est un peu le principe des forces de police dont on ne peut identifier les membres qu'à l'aide d'un numéro d'agent. On ne connait pas leurs noms. Depuis l'extérieur du réseau, l'adresse IP suffit à joindre la bonne machine. C'est une fois dans le réseau qu'on tente de localiser réellement la bonne machine pour lui délivrer le paquet IP.

Comment ? C'est le rôle de l'adresse MAC des cartes réseaux. On parle d'adresse physique : connaître cette adresse permet de localiser un ordinateur particulier. précisement la carte réseau (et donc l'ordinateur sur lequel elle est branchée).

Chaque machine d'un réseau possède une table dite ARP (Adress Resolution Protocol) qui peut contenir les correspondances adresses IP - adresses MAC pour les machines de ce réseau.

Lorsqu'une machine veut communiquer avec une autre machine de son propre réseau, il va voir l'adresse MAC correspondante et rajoute cette adresse dans l'en-tête de la TRAME. On place donc cette adresse dans l'en-tête TRAME.

Imaginons qu'on doive joindre le routeur d'adresse IP A1. Si on appartient au réseau A, on peut avoir une entrée de la table ARP qui signale que
IP A1 <--> MAC 45:54:f5:4e:28:3d.

On peut alors envoyer le message sur le réseau interne et il ne sera lu que par la machine qui porte bien cette adresse MAC.

La couche ACCES RESEAU se charge donc de réaliser la connection entre l'ordinateur et un autre ordinateur avec lequel il est en relation directe sur le même réseau.

6 - Destination atteinte

Une fois qu'on parvient à joindre la bonne machine de destinatino, on remonte dans les couches en lisant et supprimant un par un les en-têtes.

De la couche ACCES RESEAU à RESEAU, on remonte à la couche TRANSPORT puis à la couche APPLICATION.

7 - FAQ

Adresse IP v4 - culture générale

Pourquoi culture générale ? Depuis le temps qu'on dit que cette version va disparaître, ça va bien finir par arriver d'ici à ce que vous soyez employable après votre passage dans le supérieur...

Une adresse IP v4 est constituée de 4 octets (représentables chacun par un entier entre 0 et 255) séparés par un point.

Exemple :  200.2.300.42 .

L'adresse IP est à découper en deux parties parties :

  • La partie de gauche caractérise l'adresse du réseau auquel appartient la machine
  • La partie de droite caractérise l'adresse de la machine sur ce réseau

On se limitera ici aux cas simples où ces parties occupent intégralement un des octest.

Pour distinguer les deux parties, le plus simple est de donner le nombre de bits servant à cette adresse réseau. On utilise un slash et on donne le nombre de bits (1 octet = 8 bits).

Exemples avec cette notation CIDR (Classless Inter-Domain Routing)

  •  200.2.300.42 /8  veut dire que seul le premier octet caractérise le réseau.
    • Adresse réseau :  200.0.0.0 
    • Adresse machine :  0.2.300.42 
  •  200.2.300.42 /16  veut dire que leurs deux premiers octets caractérisent le réseau.
    • Adresse réseau :  200.2.0.0 
    • Adresse machine :  0.0.300.42 
  •  200.2.300.42 /24  veut dire que leurs trois premiers octets caractérisent le réseau.
    • Adresse réseau :  200.2.300.0 
    • Adresse machine :  0.0.0.42 

On trouve également une autre notation où on donne l'adresse IP et un deuxième adresse nommée MASQUE permettant de comprendre la première. Dans le cas d'une séparation 8 bits à la fois, c'est facile : 255, c'est le réseau, 0 c'est la machine.

Exemples avec cette notation ADRESSE IP + MASQUE

  • Adresse  200.2.300.42  et masque  255.0.0.0  veut dire :
    • Adresse réseau :  200.0.0.0 
    • Adresse machine :  0.2.300.42 
  • Adresse  200.2.300.42  et masque  255.255.0.0  veut dire :
    • Adresse réseau :  200.2.0.0 
    • Adresse machine :  0.0.300.42 
  • Adresse  200.2.300.42  et masque  255.255.255.0  veut dire :
    • Adresse réseau :  200.2.300.0 
    • Adresse machine :  0.0.0.42 

On peut en réalité mettre d'autres choses que 0 ou 255, mais cela complique fortement la lecture.

Trois types d'adresses :

  1. Les adresses publiques sont les adresses qu'on peut joindre directement depuis Internet. Chaque adresse de ce type est donc unique.
  2. Adresses publiques : accessibles directement
    Illustration adresses publiques réalisée avec Filius
  3. Les adresses privées sont des adresses qu'on ne peut utiliser qu'à l'intérieur d'un réseau privé. On ne peut pas joindre depuis l'extérieur une machine à l'aide d'une telle adresse. Les messages entre ces machines et Internet passent pas un dispositif nommé la passerelle. La passerelle possède deux cartes réseaux : elle possède une adresse sur le réseau privée et une adresse sur un réseau permettant d'accéder à Internet.
  4. Adresses privées : accessibles uniquement via la passerelle
    Illustration adresses privées réalisée avec Filius

      Les adresses des petits réseaux privés (comme votre réseau domestique, derrière votre Box) sont toutes  192.168.1.xxx /24 . Plusieurs machines dans le monde peuvent avoir ce type d'adresses. C'est l'adresse externe de la passerelle qui est utilisée pour parvenir à communiquer sur Internet.

      Les adresses des réseaux privés moyens : de  172.16.1.0  à  172.31.255.255 .

      Les adresses des gros réseaux privés (comme un réseau d'entreprise):  10.xxx.xxx.xxx .

      Plusieurs machines dans le monde peuvent avoir ce type d'adresses. C'est la passerelle de l'entreprise vers l'extérieur qui fera la traduction privée/publique.

  5. L'adresse particulière localhost : l'ordinateur actuel est identifié par  127.0.0.1 

Bref, c'est à l'aide d'un mécanisme de ce type que la couche RESEAU peut savoir vers où envoyer le message : le réseau local ou vers l'extérieur.

Adresse IP v6 - culture générale

Une adresse IP v6 plus lourde qu'une adresse IP v6 : elle est constituée de 16 octets (représentables chacun par un entier entre 0 et 255) séparés par un point.

On la représente en hexadécimal en séparant chaque octet par un double point.

L'adresse réseau est à gauche et se nomme Préfixe en IPv6.

L'adresse machine est à droite et se nomme Interface en IPv6.

On précise l'adresse réseau en fournissant le nombre de bits la caractérisant derrière un slash.

Exemples :

  • Adresse au hasard :  2a01:cb0c:96ac:d400:63ba:f65c:3616:15d4 /64 
  • Local host :  0:0:0:0:0:0:0:1  ou en plus concis  ::1/128 

Toutes les machines joinables sur Internet possède une adresse IP propre.

On identifie les réseaux de façon plus simple qu'en IPv4 : cette fois, le réseau est identifié par les 64 premiers bits et les 64 suivants sont les adresses possibles sur ce réseau.

Les adresses sont créées de différentes manières. L'une d'entre elles consiste simplement à prendre les 64 bits de l'adresse MAC de la carte réseau de la machine pour compléter les derniers 64 bits de l'adresse IPv6. Mais l'adresse MAC est alors disponible pour tous. Pas très sécurisée. D'autres méthodes existent bien entendu.

En général, on peut décomposer l'adresse IP v6 en trois parties. Un exemple ici avec un préfixe de 64 bits (décomposé en 48 bits pour le réseau et 16 bits de sous-réseau).

  •  2a01:cb0c:96ac:d400:63ba:f65c:3616:15d4 /64 : les trois premiers couples d'octets définissent la topologie publique donnée par les RIR aux providers. Un gros provideur peut se voir attribuer plusieurs adresses de ce type
  •  2a01:cb0c:96ac:d400:63ba:f65c:3616:15d4 /64 : le couple d'octets suivant définit le sous-réseau. En règle générale, c'est donc votre provideur qui vous fournit un sous-réseau dans son propre réseau.
  •  2a01:cb0c:96ac:d400:63ba:f65c:3616:15d4 /64 : les quatre derniers octets permettent de séparer les différentes machines du sous-réseau.

Et le modèle OSI c'est quoi ?

Internet et son modèle TCP / IP est plus ancien que le modèle OSI.

Mais après la création et l'utilisation effective de TCP / IP, beaucoup de chercheurs ont théorisé sur les réseaux. Il existe maintenant une norme (OSI, à gauche) plus précise encore qu'on tente de respecter sur les nouveaux réseaux.

Comparaison des couches du modèle ISO et du modèle TCP / IP
Image CC BY-SA 3.0 par tomsgued sur Wikipedia
lien direct

Passerelle réseau - culture générale

Le mot passerelle est utilisé pour désigner tout dispositif qui permet de faire la liaison entre deux réseaux.

En anglais, on dit gateway.

Au niveau PHYSIQUE, la passerelle qui permet de relier deux parties physiques se nomme un répéteur : un dispositif qui recçoit un signal physique, qui l'amplifie et l'émet à nouveau dans l'autre direction. Un répéteur WIFI permet par exemple d'étendre la zone d'utilisation d'une BOX.

On trouve aussi le HUB USB par exemple, qui permet connecter plusieurs appareils à un port USB unique sur l'ordinateur.

Au niveau LIAISON / ACCES RESEAU, la passerelle permettant d'émettre à nouveau le message à l'intérieur d'un réseau sera nommée un pont.

Dans un bon nombre de réseaux, la communication se fait souvent par commutation au niveau LIAISON. Ce pont se nomme donc un commutateur. Mais attention, tous les ponts ne sont pas des ponts-commutateurs. Il existe également des ponts-routeurs qui routent les paquets IP sans repasser par le niveau RESEAU / INTERNET ce qui augmente la vitesse de transmission puisqu'il y a moins de traitement à faire.

Au niveau RESEAU, la passerelle permettant de transmettre un message est un relais. Dans un bon nombre de réseaux, ce relais utilise la technique du routage. On parle donc de routeur. Mais on trouve également de la commutation.

Néanmoins, dans l'usage usuel, passerelle désigne plutôt l'appareil faisant cette liaison en remontant jusqu'au niveau APPLICATION au moins (comme votre Box). Cet appareil peut surveiller les communications et faire office de firewall par exemple. Chez vous, il s'agit donc de votre Box.

Activité publiée le 25 11 2020
Dernière modification : 25 11 2020
Auteur : ows. h.
Modification : Andjekel