Outils pour utilisateurs

Outils du site


nsi:premiere:reseau:tcpip

Ceci est une ancienne révision du document !


TCP-IP

Une communication réseau est complexe et nécessite un ensemble de règles et de technologies. TCP-IP est un tel ensemble. On parle de protocole TCP-IP.

TCP-IP est une suite de protocoles. Pour les organiser on utilise une classification appelée modèle de couches. On ne va pas détailler, seulement donner les grandes idées.

  1. Couche physique : Utilise-t-on un câble électrique ou une fibre ? Les bits sont-ils représentés par des niveaux de tension électrique ou par une intensité lumineuse ?
  2. Couche réseau : Les bits sont regroupés en paquets. Chaque paquet est convenablement étiquetés avec expéditeur et destinataire. On utilise des systèmes d'adresses : IP, MAC.
  3. Couche interface, entre applications et réseau. Les applications (Navigateur…) ont besoin d’accéder au réseau. TCP ou UDP sont des protocoles se chargeant des connexions au réseau. Un port TCP est une porte d'accès au réseau pour une application.
  4. Couche des applications : Les applications ont des besoins spécifiques et donc des protocoles qui vont avec. HTTP(S) pour les pages web, FTP our les échanges de fichiers, SMTP pour les mails…

Adresses MAC

Dans les exemples, on se réfère au réseau ci-dessous.

L'adresse MAC - Media Access Control

Chaque intererface réseau a une adresse MAC (rien à voir avec Apple…)

En principe, cette adresse est unique au monde et est figée à la fabrication bien que dans de nombreux cas, elle puisse être changée. Une partie de l'adresse dépend du fabriquant.

Exemple : 1c:6f:65:d5:4a:0c sur ce site on trouve que les trois premiers octets 1c:6f:65 identifient le fabriquant du matériel, il s'agit ici de GIGABYTE.

Les : sont là pour la lisibilité. 1c6f65d54a0c est la même adresse. Évidemment, dans la machine il y a 48 bits sans rien d'autre mais c'est peu lisible pour l'humain. Exercice 1

Remarque : On énonce ici des principes généraux pour comprendre. Le détail est toujours appelé à changer : ce format d'adresse est sous-dimensionné face à l'explosion du nombre de systèmes reliés aux réseaux. L'adresse IP - Internet Protocol

Nous allons parler d'adresse IP version 4 (IPv4). La version 6 (IPv6) est en cours de déploiement pour répondre à la demande croissante d'adresses. Mais les principes sont les mêmes. L'adresse IPv6 est seulement plus longue (128 bits au lieu de 32).

L'adresse IP est dite logique, au sens de logicielle, c'est à dire que c'est le programme exécuté sur une machine qui décide de l'adresse IP. L'adresse MAC est au contraire matérielle, imposée à la fabrication.

L'adresse IP est constituée de 32 bits que l'on représente habituellement sous forme de 4 octets écrits en décimal, par exemple 172.16.0.1 ce qui donne en binaire :

1010 1100 0001 0000 0000 0000 0000 0001

Dans 172.16.0.1 les . facilitent la lecture. 1721601 serait inutilisable et 172 16 0 1 serait moins lisible. Concretement, dans la machine, on a une suite de 32 bits sans rien d'autre, mais pour l'humain, c'est peu lisible. Sous réseau et masque

L'adresse IP est faite pour permettre de trouver plus facilement la localisation de la cible. Pour cela on utilise le concept de sous-réseau. Une machine se situe dans un sous-réseau et les appareils (routeurs) chargés d'orienter les requêtes devront être capable de trouver les différents sous-réseaux.

À comparer avec une adresse postale. Le facteur de Marseille n'à pas besoin de savoir où se situe le 15 rue de la Gare à Plonouëc 29845. Il lui suffit de transmettre vers le Finistère (29) Une partie de l'adresse sert donc à identifier le sous-réseau (sub-net) de la cible. Mais quelle partie ? Pour le savoir, on utilise un masque (mask). Le masque a le même format que l'adresse. Exemple pour M1 :

255.255.255.0 soit en binaire 1111 1111 1111 1111 1111 1111 0000 0000

Le masque est appliqué en effectuant un ET binaire bitwise (&), c'est à dire bit à bit :

192.168.0.11 & 255.255.255.0 = 192.168.0.0, le sous réseau de la machine est donc identifié par l'adresse 192.168.0.0.

Pour raccourcir, il est d'usage d'écrire 192.168.0.11/24 ce qui signifie adresse IP 192.168.0.11 avec un masque constitué de 24 premiers bits à 1 : 1111 1111 1111 1111 1111 1111 0000 0000 donc 255.255.255.0.

Attention : Bien que l'on écrive 192.168.0.11/24, le masque ne fait pas partie de l'adresse. Lors de tous les échanges, quand une adresse est transmise, on ne transmet pas le masque. Autrement dit, quandi M1 veut atteindre l'adresse 172.16.0.2, il ne connaît pas le masque de 172.16.0.2. M1 utilise donc son propre masque pour savoir quoi faire. Exercice 2

Trames et paquets

Comme nous l'avons déjà dit, les données sont échangées par paquets. Pour un petit échange comme un ping, un seul paquet suffit. Le transfert d'une image ou d'une page web peut nécessiter de découper en plusieurs paquets.

Un paquet de type IP est contenu dans une trame MAC. Une trame MAC a le format suivant :

MAC destinataire MAC source Type de protocole Paquet IP codes d'erreurs 6 octets 6 octets 2 octets de 46 à 1500 octets 4 octets Il arrive qu'on envoie une requête sans connaître l'adresse MAC de la cible (penser au ping de l'exercice 2) Dans ce cas, on utilise le broadcast FF:FF:FF:FF:FF:FF. broadcast = à tout le monde, répond celui qui sent concerné.

Là encore il existe plusieurs versions de ces trames dont le principe est le même. Je donne ici la version telle que l'a inventé Xerox et qui est majoritairement utilisée.

Dans notre cas IPv4, l'Ethertype = type de protocole sera 08 00.

Le paquet IP (contenu dans la trame) a son propre format résumé par le tableau ci-dessous.

Un mot sur les champs en vert :

Source Address et Destination Address sont les adresses IP source et destination, sur 4 octets chacunes.

TTL = Time To Live. À mesure que le paquet se déplace dans le réseau, il est relayé par des aiguilleurs (appelés routeurs) mais pour qu'il n'erre pas indéfiniment dans le réseau, on lui donne une durée de vie. À chaque passage par un routeur, TTL baisse de 1. à 0, le paquet est mort.

Exercice 3 : interprétation d'un paquet

Exercice 4 : visualisation des paquets dans un échange

Exercice 5 : évolution de TTL

Passerelle - gateway

Avec le fichier réseau2.fls, étudions ce réseau un peu plus compliqué.

Les machines M1, M2, M3 ont les mêmes adresses que dans réseau1.fls. À présent, on souhaite pouvoir atteindre le serveur WEB depuis M1. Le serveur WEB à l'adresse 172.16.0.2/16.

En l'état, cela ne fonctionne pas (vous pouvez tester ping 172.16.0.2 depuis M1 pour vous en convaincre)

Sortir du sous-réseau. On a compris dans la partie précédente, que M1 reconnaîssait immédiatement les machines locales en utilisant son masque. Le masque de M1 est 255.255.255.0 et son adresse est 192.168.0.11. Quand M1 s'adresse à 192.168.0.12 (M2), M1 fait le calcul :

192.168.0.11 & 255.255.255.0 == 192.168.0.0 == 192.168.0.12 & 255.255.255.0

M1 peut donc conclure : cette adresse est sur mon sous réseau.

En revanche, dans le cas de 172.16.0.2 (WEB), M1 faisant le même calcul arrive à une conclusion différente :

192.168.0.11 & 255.255.255.0 == 192.168.0.0 != 172.16.0.2 & 255.255.255.0

Alors M1 ne sait pas quoi faire. Il faut configurer M1 pour aller voir en dehors du sous-réseau pour trouver l'adresse recherchée. Pour cela on indique une passerelle.

Ici la passerelle est le routeur qui a deux interfaces réseau, une de chaque côté. Côté M1, l'interface du routeur a l'adresse 192.168.0.254.

Manipulations dans Exercice 6

DNS - Directory Name Service

Dans le cas précédent, on a dû ouvrir la page web en donnant une adresse IP. Ce n'est pas tellement pratique, on préfère donner une URL.

Supposons que je veuille donner comme nom monsite.fr au serveur WEB. Je vais devoir créer une association entre le domaine monsite.fr et l'IP 172.16.0.2. C'est le rôle du serveur DNS.

Dans la configuration de l'interface réseau on peut ajouter une adresse pour le serveur DNS.

Manipulations dans Exercice 7

nsi/premiere/reseau/tcpip.1648323735.txt.gz · Dernière modification : de goupillwiki