• Aucun résultat trouvé

Réseau : Dans les méandres du protocole TCP/IP

N/A
N/A
Protected

Academic year: 2022

Partager "Réseau : Dans les méandres du protocole TCP/IP"

Copied!
8
0
0

Texte intégral

(1)

Réseau : Dans les méandres du protocole TCP/IP

L’image ci-contre présente l’architecture d’un réseau local. Il est composé : - d’un serveur

- de 4 postes utilisateurs (Zoé, Fred et Pierre via Ethernet, Julie via Wi-Fi)

- d’une imprimante réseau - d’une borne Wi-Fi

- d’une passerelle pour sortir sur internet.

- d’un switch qui relie toutes les machines du réseau.

Nous allons voir comment font les ordinateurs pour communiquer entre eux, par exemple quand Zoé fait une recherche sur internet, Julie veut enregistrer un fichier sur le serveur, Fred veut utiliser l’imprimante ou encore Pierre veut se connecter sur le réseau.

Quand vous voulez communiquer avec des personnes, vous commencez par leur dire bonjour et vous leur serrez la main. Ce sont des règles utilisées par tout le monde : on appelle ça un protocole. Dans le domaine informatique, c’est la même chose. Le Protocole HTTP est le langage qui permet à deux ordinateurs, un client (Zoé, par le biais de son navigateur) et un serveur web, de se comprendre :

Les requêtes vont toujours par paires : la demande (du client) et la réponse (du serveur). Voilà un exemple de requête d’un client (Firefox, navigateur internet de Zoé) à un serveur web (serveur de google) lorsque zoé lance une recherche sur le mot « tcp/ip » :

« Je voudrais la page search?q=tcp/ip avec le protocole HTTP/1.1 sur le domaine www.google.fr »

La réponse du serveur (www.google.fr) est la suivante :

« Protocole HTTP/1.1 OK, j’ai trouvé le fichier. Il suit »

Le navigateur internet de Zoé reçoit donc le fichier et l’affiche à l’écran ! Zoé peut GET search?q=tcp/ip HTTP/1.1

Host : www.google.fr

HTTP/1.1 200 OK

Content-Type: text/html; charset=ISO-8859-1

<!DOCTYPE html><html

lang="fr"><head><title>tcp/ip - Recherche Google</title>

...

(2)

Protocole TCP/IP

Nous avons vu le protocole de communication (langage) utilisé entre un client et un serveur pour échanger des pages web, mais techniquement, elle circule comment l’information ?

Faisons un parallèle avec La Poste : quand vous voulez envoyer une lettre, vous la mettez dans une enveloppe sur laquelle vous indiquez l’adresse de l’expéditeur et du destinataire puis vous la confiez à la poste qui va assurer son transport.

Sur Internet, c’est la même chose : on utilise le Protocole TCP/IP qui va prendre en charge le transport et remettre l’information à son destinataire.

Quand Zoé fait sa requête, le protocole TCP va établir une connexion avec www.google.fr pour s’assurer qu’il est prêt à recevoir le message. Ensuite il va découper le message en petits paquets (en cas de perte, mieux vaut réenvoyer un petit paquet que le message en entier) et ajouter à chaque paquet les ports qui identifient l’application cliente et l’application serveur. Les ports sont des tuyaux par lesquels les applications écoutent les messages. Firefox a par exemple ouvert le port 1057 pour cette requête et attendra la réponse sur ce port. Le port 80 est celui par défaut pour les requêtes HTTP, donc www.google.fr (comme tous les serveurs web) écoute sur ce port là.

La requête de Zoé encapsulée (c’est à dire « enveloppée ») par le protocole TCP devient donc :

Le paquet n’est pas encore prêt à partir : l’application est connue mais il manque encore : - l’adresse du destinataire (quelle est l’adresse de www.google.fr ??)

- l’adresse de l’expéditeur (de l’ordinateur de Zoé donc). Sans adresse, la réponse ne pourra jamais revenir...

Adresse IP (Internet Protocol)

Chaque ordinateur connecté sur le réseau a une adresse qui permet de l’identifier. Cette adresse est dite « adresse IP », c’est une suite de 4 octets (chiffres de 0 à 255) séparés par des points. Elle a été fournie lors de la connexion au réseau par un serveur spécial appelé serveur DHCP.

Pour connaître son adresse IP, Zoé peut utiliser l’invite de commande. C’est une application qui attend des instructions et qui peut donner des informations sur l’état de l’ordinateur et du réseau.

Pour l’ouvrir sous windows, Zoé tape cmd dans le menu recherche : 1057, 80 ; GET search?q=tcp/ip HTTP/1.1...

(3)

L’instruction pour connaître les propriétés de la connexion réseau, est ipconfig /all :

Pour l’instant la seule chose qui nous intéresse est que Zoé est connectée au réseau par sa carte Ethernet (1) et que son adresse IPv4 est 192.168.0.9 (3). C’est cette adresse qui sera utilisée pour identifier Zoé sur le réseau local. On reviendra plus tard sur les autres lignes.

DNS (Domain name service)

Reste maintenant à connaître l’adresse IP du serveur qui héberge www.google.fr. Pour cela l’ordinateur de Zoé doit faire une demande de résolution   de   nom   de   domaine à un serveur appelé serveur DNS, dont l’adresse apparaît en (5) dans la commande ipconfig.

Le serveur DNS est un serveur spécialisé qui fait le lien entre les adresses IP et les noms de domaine.

Zoé peut faire de même via l’invite de commande en

utilisant la commande nslookup. L’adresse IP de l’ordinateur qui héberge www.google.fr est donc 172.217.23.3

Mais revenons à la requête de Zoé. Maintenant que son adresse et que l’adresse du destinataire sont connues, le protocole IP va les ajouter à la requête, qui va devenir un paquet de données :

La requête peut partir, mais à qui l’envoyer ? A la passerelle ! C’est le premier ordinateur sur le trajet vers son destinataire !

192.168.0.9:1057 , 172.217.23.3:80 ; GET search?q=tcp/ip HTTP/1.1...

(4)

Passerelle

La passerelle a une position un peu spéciale : c’est l’ordinateur qui est à l’interface entre le réseau local (LAN) et le web (WAN). La passerelle possède donc deux adresse IP : une IP Privée (coté réseau local), et une IP Publique (coté internet). L’adresse IP sur le réseau local est fournie par la commande ipconfig : 192.168.0.1 (4)

L’adresse IP publique de la passerelle peut-être trouvée en appelant un site comme par exemple https://www.monip.org/ qui verra la passerelle du coté public.

La passerelle va donc transmettre le message de Zoé entre l’intérieur du réseau local, et l’extérieur. Le petit problème, c’est qu’à l’extérieur du réseau local les IP privées ne sont plus connues, et donc que Zoé ne pourra pas avoir de réponse.

La passerelle va donc remplacer dans l’entête du message l’adresse IP locale (privée) de Zoé par sa propre adresse IP (publique) ! On parle de NAT (Transfert d’adresse réseau). Elle va aussi remplacer le port, dès fois que deux applications sur le réseau local aient la mauvaise idée d’utiliser le même numéro de port. Pour retourner le message au bon expéditeur, elle va donc tenir à jour une table NAT

Et voilà le message quand il sort sur le web : L’adresse de retour est

bien l’adresse publique de la passerelle avec son port qui identifie l’ordinateur de Zoé (78.226.23.220:45781)

057 192.168.0.8→ Tracert 

Le message est maintenant sur le web, il passe de serveurs en serveurs en suivant la table   de routage (voir explications plus loin) jusqu’à sa destination finale. La route suivie peut être affichée dans l’invite de commande en saisissant la commande tracert (trace route) , pour par exemple savoir où s'est arrêté un paquet sur le réseau :

Sans surprise on retrouve l’adresse IP Privée de la passerelle 192.168.0.1, l’adresse IP Publique de la passerelle 78.226.23.220 Puis un tas de serveurs intermédiaires jusqu’à destination finale 216.58.209.227. Au total Le paquet sera passé par 10 serveurs !!

78.226.23.220:45781 , 216.58.209.227:80 ; GET search?q=tcp/ip HTTP/1.1...

(5)

Retour de la requête

Google va recevoir le message, puis y répondre en inversant simplement les champs destinataire et expéditeur :

On reconnaît l’adresse de la passerelle de notre réseau local dans le champ « destinataire ». la réponse va donc bien lui parvenir, puis elle identifiera la machine de Zoé grâce à sa table NAT, et pourra lui faire suivre la réponse en remplaçant son IP dans l’entête de la requête :

La machine de Zoé va donc recevoir la réponse, puis l’application FireFox grâce au numéro de port, et peut l’afficher :

216.58.209.227:80 , 78.226.23.220:45781 ; HTTP/1.1 200 OK...

216.58.209.227:80 , 192.168.0.9:1057 ; HTTP/1.1 200 OK...

(6)

Pour aller plus loin :

ipconfig

Les principales données fournies par la commande ipconfig sont les suivantes (voir au dessus) : (1) Carte Réseau : Liste les cartes réseau disponibles et celles qui sont connectées

(2) Adresse MAC 18-5E-0F-4B-93-3A : Adresse physique de la carte réseau. C’est un numéro unique qui identifie la machine sur le réseau local (LAN)

(3a) Adresse IP 192.168.0.9 : c’est un numéro qui identifie la machine sur le réseau. Ce numéro est distribué par le serveur DHCP (4) lors de la connexion

(3b) Masque de sous réseau 255.255.255.0 : c’est un numéro ce qui permet de connaître la plage IP de toutes les machines branchées sur ce sous-réseau : le 255 indique la partie d’adresse qui ne change pas entre les machines du sous-réseau. Ici les autres machines du réseau porteront des adresses allant de 192.168.0.1 à 192.168.0.254. L’adresse 192.168.0.255 est la dernière adresse du sous réseau, c’est une adresse dite de broadcast, qui sert à envoyer un message à toutes les machines.

On peut aussi donner le masque de sous réseau par son nombre de bits à 1 : ici les 3 premiers octets sont à 255, donc égaux à 11111111, le nombre de bits égal à 1 est donc 8*3 = 24.

L’adresse du réseau est donc : 192.168.0.0/24

(4a) Passerelle par défaut 192.168.0.1 : c’est l’ordinateur qui permet de sortir du réseau local (voir Table de routage)

(4b) Serveur DHCP 192.168.0.254 : C’est le serveur qui délivre les adresses IP aux ordinateurs qui se connectent sur le réseau local.

(5) Serveur DNS 212.27.40.220 : C’est une machine hors du réseau local que l’on interroge pour résoudre un nom de domaine, c’est à dire pour obtenir une IP à partir d’un nom de domaine.

Comment fonctionne le switch ?

Le switch est le composant qui connecte et transmet les messages à l’intérieur du réseau local. Il n’a normalement pas d’adresse IP car personne n’a besoin de communiquer avec lui. Lorsque le message de Zoé (IP 192.168.0.9) lui parvient avec pour destination la passerelle, il va se souvenir que zoé est branchée sur son port physique n°2 et pourra lui retourner tous les messages adressés à cette IP.

Lorsque le switch ne connaît pas la machine pour laquelle il reçoit un message (lorsque l’on vient de la brancher par exemple), il transmet le message sur tous ses ports. Les machines qui ne sont pas concernées ignoreront simplement le message, celle qui est concernée répondra et sa réponse passera par le switch qui la découvrira

Obtention d’une adresse IP

Pierre n’arrive pas à se connecter au réseau avec ses identifiants. La réponse est « carte non connectée ». Effectivement, s’il fait un ipconfig il obtient les informations suivantes :

(7)

Pierre devrait être connecté via sa carte Ethernet. Il fait donc le tour de sa machine, et remarque que sa prise RJ45 est débranchée. Il la rebranche.

A ce moment il n’a pas encore d’adresse, et son ordinateur va communiquer avec le réseau pour en obtenir une. Comme il ne connaît pas l’adresse du serveur DHCP qui doit lui en fournir une, il va envoyer un message à tous les ordinateurs du réseau sur l’adresse de BROADCAST.

L’ordinateur de Pierre, sur l’adresse de broadcast : « Qui est le serveur DHCP ici ? »

Le switch va transmettre cette information à toutes les machines du réseau car l’adresse utilisée est l’adresse de broadcast. Ainsi toutes les machines liront le message, mais seul le serveur DHCP, qui est concerné, répondra :

Serveur DHCP : « c’est moi, tu es nouveau ici ? je t’attribue l’adresse IP 192.168.0.5 » ça y est, Pierre a son adresse IP et est sur le réseau !

Table de routage

Chaque ordinateur branché sur le réseau a une table de routage, c’est à dire une table qui permet de savoir à quel ordinateur du réseau envoyer les demandes, en fonction de l’IP de destination.

La table de routage de Zoé est la suivante :

IP destinataire Machine à contacter sur le réseau Commentaire

196.168.0.0/24 196.168.0.9 Pour contacter une machine du réseau local, il suffit que je sorte sur ma carte réseau

0.0.0.0/0 196.168.0.1 L’adresse de routage par défaut qui permet d’aller

sur internet est l’adresse de la passerelle

Netstat

Netstat permet de connaître l’état des connexions avec les serveurs distants, par exemple de type TCP

On peut par exemple voir que Zoé est en connexion TCP avec un serveur 65.55.223.27. Le port correspondant ouvert sur le réseau local est le 63297, celui ouvert sur le réseau distant est le 40039.

Test de la connectivité / Ping La commande Ping permet de

tester la connectivité d’une connexion vers une machine, en lui envoyant un petit paquet de données. Zoé teste par exemple que sa connexion avec la passerelle est correcte :

(8)

Nom : Note : /25

Commentaire :

Travail demandé :

1) Compléter les cases sur l’image ci-dessous (pour la requête de Zoé) /10

2/ donner les 5 commandes réseau vues dans le document, et dire à quoi elles servent /10

Commande Fonction

3/ Donner la fonction des matériels suivants : /5

Matériel Fonction

Switch Serveur DHCP

Serveur DNS Serveur de fichiers

Passerelle

Références

Documents relatifs

En anglais, un internet (nom commun, sans « i » majuscule) est un terme utilisé pour désigner un réseau constitué de l’interconnexion de plusieurs réseaux informatiques au moyen

• Protocole TCP (Transmission Control Protocol) : régit les échanges de paquets de données entre des machines connectées sur internet en veillant à ce que tous les

• utiliser le vocabulaire spécifique des protocoles de communication en couches du modèle OSI appliqué au monde Internet et au protocole IP particulièrement,.. • expliquer

Appréhender les principes régissant la famille de protocoles TCP/IP, les technologies sous- jacentes, l'architecture en quatre couches utilisée par les équipements TCP/IP, le

● quelle quantité totale de données la machine M1/P1 peut-elle envoyer sans recevoir de ack dans les trames 9 et

la taille des données de la trame 6 est la différence entre les 2 qui est donc de 1000 (rappel : le No de séquence évolue de la taille des données). ● indiquez les valeurs

● demo où l'on teste la connectivité entre deux postes séparés par un routeur. ● test entre les machines

La colonne &#34;No trame&#34; est une information de l'outil de capture de trame utile pour désigner les trames mais n'a rien à voir avec TCP?. On supposera qu'il n'y a pas de