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