Aller au contenu

Protocole IP

La couche Internet est centrée autour du protocole IP, pour Internet Protocol.

Ce protocole s'appuie sur la couche liaison tout en masquant la complexité liée aux différentes liaisons physiques et aux pannes. En particulier, la structure d'Internet n'est pas fixe : elle change en permanence.

Principe d'IP

Dans le protocole Ethernet, les commutateurs ont une connaissance parfaite de leur réseau, c'est à dire de quelle machine corresponds à quelle adresse MAC.

Mais une telle connaissance serait totalement impossible à l'échelle d'Internet, qui compte plusieurs milliards de machines, qui se connectent et de déconnectent en permanence.

Le protocole IP et la couche réseau palient ce problème.

Le protocole IP découpe Internet en sous-réseaux. Les sous-réseaux se voient attribuer une adresse qui les identifie, l'adresse IP. Dans un sous-réseau, on attribue aux machines une adresse IP qui a pour préfixe l'adresse du sous réseau auquel elles appartiennent.

TODO (prof) ajouter un schéma ici

Une machine spéciale, le routeur, est ajouté à chaque sous-réseau. Elle sert de passerelle vers l'extérieur du réseau. Les routeurs permettent la communication des réseaux entre eux. Les réseaux connectés entre eux forment Internet.

Adresse IP

Une adresse IP est un nombre sur 32 bits, généralement écrit en notation décimale pointée, c'est à dire sous forme de quatre octets en valeur décimale séparés par des points.

Par exemple :

221.240.123.43

Quand une adresse sert à identifier un sous réseau, seule une partie de l'adresse est utilisée. On note alors le nombre de bits utilisés avec un /. C'est la notation CIDR.

221.240.123.0/24

Identifie le sous réseau d'adresse 221.240.123.0, qui comporte des machines adressées de 221.240.123.1 à 221.240.123.254. L'adresse 221.240.123.0 est celle du réseau. L'adresse 221.240.123.255 est une adresse spéciale, dite broadcast, pour envoyer un message à toutes les machines.

De la notation CIDR de la forme /x, on peut extraire un masque de sous réseau. Un masque de sous réseau est une sorte d'adresse qui a ses x bits de poids fort à 1, et les autres à zéro.

Par exemple, le masque du sous réseau 221.240.123.0/24 est 11111111 11111111 11111111 00000000, soit 255.255.255.0. En faisant un ET bit à bit entre une adresse IP et un masque de sous réseau, on retrouve l'adresse du sous réseau correspondant :

adresse : 11011101 11110000 01111011 11110011
masque  : 11111111 11111111 11111111 00000000
&       : 11011101 11110000 01111011 00000000

adresse : 221.240.123.243
masque  : 255.255.255.0
&       : 221.240.123.0

TODO exercice : décider si deux addr sont dans le même sous réseau.

Un sous réseau peut contenir un certain nombre de machines, en fonction du nombre de bits d'un adresse réservée. Pour une adresse en /x, on a \(n\) machines :

\[ n = 2^{32 - x} - 2 \]

TODO parler adresse Broadcast/réseau

TODO exercice : calculer nombre de machines dans un sous réseau

Routage

TODO Table de routage, voir avec Wikipedia Un des grands rôles du protocole IP est de décider de la route prise par un paquet IP donné. C'est le routage, que nous allons aborder succintement ici, et qui sera approfondi en Terminale.

IP est un procotole distribué : chaque routeur agit indépendemment des autres avec les données qu'il a localement et celles qu'il obtient des routeurs voisins. Il n'y a pas d'entité responsable de la coordination.

Le routage se passe donc comme suit :

  • Un routeur reçoit un message.
  • Il sélectionne dans une table de routage le prochain routeur dans la route.
  • Il transmet le message au prochain routeur.

Une table de routage renseigne les routes locales à destination de différents sous réseaux. Chaque ligne corresponds à une route, avec les informations suivantes :

Champs Description
Réseau destination Le réseau ciblé par la route
Masque Le masque du réseau ciblé
Passerelle L'adresse du prochain routeur pour accéder au réseau
Interface L'adresse de l'interface connectée à la passerelle
Métrique Une valeur de l'efficacité de la route. Le plus petit est le mieux. Ce que représente cette métrique varie avec le protocole de routage utilisé.

Voici un exemple de table de routage :

Destination Masque Passerelle Interface Métrique
0.0.0.0 0.0.0.0 215.234.5.2 167.2.3.4 10
223.234.0.0 255.255.0.0 221.234.2.4 162.1.2.3 2
223.234.2.0 255.255.255.0 222.123.7.101 22.123.7.220 3

Pour sélectionner une route pour un paquet :

  • Le routeur compare son adresse avec les adresses des réseaux de destination, pour trouver celles qui corresponds.
  • Si une seule est trouvée, elle est sélectionnée.
  • Si plusieurs routes sont trouvées, c'est la plus spécifique, c'est à dire avec le masque avec le plus de 1, qui est sélectionnées.
  • En cas d'égalité, c'est celle avec la métrique la plus faible qui est sélectionnée.
  • En cas d'égalité, la sélection est libre.

Exercice : routage

Vous pouvez télécharger le fichier de l'énoncé en cliquant sur ce lien.

TODO (prof) ajouter correction

DNS

TODO prof continuer ici