Objectifs
Savoir définir ce qu'est un client, un serveur, un routeur, un protocole
Connaître les base du protocole TCP/IP
Savoir ce qu'est une adresse IP et un nom de domaine
Savoir associer les principales applications d'Internet (SSH, mail et Web a minima), leurs principaux protocoles (SSH, IMAP, SMTP et HTTP) et leurs principaux outils (terminal, client mail, navigateur web)
Principe de la communication sur Internet
Fondamental : Internet est un vaste réseau d'ordinateurs qui communiquent entre eux
Pour que les clients, les routeurs et les serveurs puissent communiquer entre eux, ils faut qu'ils soient reliés physiquement et qu'ils hébergent des logiciels qui respectent des protocoles communs.
Exemple :
Infrastructure réseau d'Internet
Internet est un réseau de réseaux
Fondamental :
Les composants fondamentaux du réseau Internet sont les câbles très haut débit par lesquels transitent les données.
Carte des câbles sous-marins du réseau Internet
Ordinateurs clients
Définition : Client
Un ordinateur client est un ordinateur qui demande un service à un autre ordinateur, par exemple : envoie ce mail à telle adresse de ma part.
Tout ordinateur qui utilise des services sur Internet est un client.
Exemple : Envoyer un mail
Si j'envoie un mail à contact@picasoft.net depuis mon mail stephane.crozat@utc.fr :
Mon ordinateur est le client, via le logiciel de mail Thunderbird il demande au serveur mail de l'UTC d'envoyer mon mail au serveur mail de Picasoft (il utilise pour cela le protocole SMTPS).
Ensuite quand quelqu'un chez Picasoft consultera les mails du compte contact, il demandera à son serveur quels nouveaux mails il a reçu et il y aura le mien parmi ceux-là (il utilise pour cela le protocole IMAPS).
Exemple : Demander une page web
Si je consulte la page page https://fr.wikipedia.org/wiki/Internet :
Mon ordinateur est le client, via le navigateur web Firefox il demande au serveur web de Wikipédia de m'envoyer une page HTML (il utilise pour cela la requête GET du protocole HTTPS).
Le serveur web de Wikipédia renvoie la page HTML demandée (il utilise pour cela une réponse HTTPS).
Ordinateurs serveurs
Définition : Serveur
Un serveur est un ordinateur dont le rôle est de proposer des services, par exemple : stocker des pages web ou acheminer des mails.
Exemple : Exemple de serveur
L'UTC propose un serveur pour envoyer des mails en utilisant le protocole SMTPS, il s'appelle smtps.utc.fr.
stph@mypc:~$ ping smtps.utc.fr
PING smtps.utc.fr (195.83.155.8) 56(84) bytes of data.
64 bytes from smtps.utc.fr (195.83.155.8): icmp_seq=1 ttl=62 time=0.454 ms
64 bytes from smtps.utc.fr (195.83.155.8): icmp_seq=2 ttl=62 time=0.752 ms
64 bytes from smtps.utc.fr (195.83.155.8): icmp_seq=3 ttl=62 time=0.739 ms
64 bytes from smtps.utc.fr (195.83.155.8): icmp_seq=4 ttl=62 time=0.726 ms
Ordinateurs routeurs
Définition : Routeur
Un routeur est un ordinateur dont le rôle est d'acheminer des paquets d'information sur Internet, on peut voir cela comme un coursier.
Remarque :
Pour qu'un message se déplace d'un ordinateur à un autre sur Internet, il devra passer par plusieurs routeurs, de plus en plus proches de sa destination.
Exemple : traceroute from pic.crzt.fr to www.utc.fr
1 h7.tetaneutral.net (91.224.148.1)
2 renater.par.franceix.net (37.49.236.19)
3 te0-0-0-1-ren-nr-compiegne-rtr-091.noc.renater.fr (193.51.177.53)
4 rrtp-vl221-te0-0-0-0-compiegne-rtr-011.noc.renater.fr (193.51.181.189)
5 * * *
6 * * *
7 gw-utc.utc.fr (195.83.154.242)
Exemple :
Routeurs
Protocoles réseaux TCP/IP
Afin de pouvoir communiquer entre elles toutes les machines d'Internet respectent des règles communes. Ces règles sont standardisées au sein de protocoles.
Le fonctionnement d'Internet repose fondamentalement sur les protocoles réseaux IP et TCP.
Définition : Protocole IP
Le protocole (ou couche) IP gère les communications entre plusieurs machines d'un réseau.
Elle est basée sur l'adressage, le routage et la fragmentation.
Définition : Paquet IP
Les entités transmises par le protocole IP sont des paquets (ou datagramme).
Exemple :
Exemple :
Définition : Protocole TCP
Le protocole (ou couche) TCP gère les communications de bout en bout.
Elle est basée sur la correction des erreurs, le ré-ordonnancement et le contrôle de flux.
Définition : Message
Les entités transmises par la couche TCP sont des messages.
Remarque :
Sur la base du protocole de communication TCP/IP on peut bâtir des applications, tels que HTTP pour consulter des fichiers sur le Web ou FTP pour transférer des fichiers.
Adresses IP et noms de domaine
Définition : Adresses IP
Une adresse IP est un numéro d’identification d'une machine.
Il est attribué de façon à chaque appareil relié à Internet.
Les adresses ont un format différent selon la version d'IP utilisée :
pour IPv4, les adresses sont sur 4 octets (exemple :
192.168.3.200
),
pour IPv6, les adresses sont sur 16 octets (exemple :
2001:0db8:0000:85a3:0000:0000:ac1f:8001
).
Définition : Nom de domaine
Un nom de domaine est une adresse symbolique permettant d'éviter de devoir retenir des adresses IP.
Ainsi, à un nom de domaine tel que wikipedia.org
on peut associer une adresse telle que 91.198.174.192
.
Définition : DNS
Un serveur DNS (pour Domain Name System) est un serveur qui a connaissance de la correspondance entre noms de domaines et adresses IP. Il est capable de répondre à des requêtes qui lui demandent de résoudre un nom de domaine en une adresse IP.
Protocoles applicatifs d'Internet : SSH, mail, Web...
Définition : Protocole
Un protocole est un langage standard que tous les ordinateurs qui veulent communiquer entre eux respectent.
Les protocoles sont la condition de fonctionnement d'Internet, ils permettent à des ordinateurs différents qui utilisent des logiciels différents de communiquer entre eux.
Fondamental : Qui établit les protocoles ?
Internet est géré de façon décentralisée, il n'y a pas une structure qui gère l'ensemble, les protocoles sont souvent le résultat de discussions ouvertes à toutes et tous.
En pratique il y a quelques organismes de standardisation, comme l'IETF qui publie les RFC ou le W3C qui standardise les langages du Web, comme HTML ou CSS.
Attention : Internet ≠ Web (métonymie)
Le protocole principal du Web est HTTP.
Il existe d'autres protocoles sur Internet : FTP pour le transfert de fichier, SSH pour l'accès à des ordinateurs distants, SMTP et IMAP pour le mail, etc.
Exemple : Connexion distante (1969)
Naissance : 1969
Protocole : Telnet (1969, RFC 15), SSH (1995, RFC 4251)
Exemple : Forum (1979)
Naissance : usenet, 1979
Application web : Discourse (décentralisé, libre)
→ Médias sociaux
Exemple : Messagerie instantanée (1988)
Naissance : commande Unix
talk
(années 1970)Protocole : IRC, 1988
Applications web de messagerie instantanée :
Slack (centralisé, propriétaire)
Mattermost (décentralisé, libre)
Element/Matrix (décentralisé, libre, fédéré, chiffré E2E)
Exemple : Web (1990)
Naissance : 1990
Protocole : HTTP (1990, W3C, RFC 1945) (et le langage de formatage de documents HTML)
Quelques logiciels qui font fonctionner Internet
Logiciels côté clients
Navigateur web : Mozilla Firefox ou Google Chrome (clients HTTP)
Client Mail : Mozilla Thunderbird (client IMAP ou POP)
Logiciels côté serveur
Serveur web : Apache, Nginx
Serveur mail : Postfix (SMTP), Dovecot (IMAP)
Complément : Typologie de logiciels
propriétaire + centralisé (Zoom, Discord, Youtube)
libre + centralisé (Signal)
libre + décentralisé (Mattermost, BigBlueButton, Etherpad)
libre + décentralisé + fédéré (Mastodon, Element, Mobilizon, Peertube)
URL : Uniform Resource Locator
Définition : Les URL
Les URL sont nées en même temps que le World Wide Web et permettent d'identifier une ressource sur un serveur web.
Exemple :
Lorsque https://www.wikipedia.org/wiki/URL
est rentrée dans un navigateur web, ce dernier fait une requête GET sur la ressource « /wiki/URL
» du serveur pointé par www.wikipedia.org
, en sécurisant la connexion grâce à HTTPS (que nous verrons par la suite).
Syntaxe : Éléments de syntaxe d'une URL
Certains caractères sont réservés pour un usage spécifique. Par exemple :
le caractère
/
est réservé pour indiquer le chemin des fichiers à consulter,
le caractère
?
est réservé pour annoncer les paramètres à transmettre au serveur,le caractère
=
est réservé pour indiquer la valeur des paramètres,le caractère
#
est réservé pour indiquer un fragment, souvent une partie spécifique de la page web (par exemple, un paragraphe).
Lorsqu'un caractère réservé doit être utilisé pour autre chose dans l'URL, il est remplacé par un symbole pourcent suivi de son code ASCII au format hexadécimal ('/
' devient %2F
et '?
' devient %3F
).
À retenir
Une URL permet d'identifier une ressource précise sur un serveur web donné.
Les URL permettent de passer des paramètres aux serveurs web.
Les clients et les serveurs web parlent HTTP
Définition : Serveur web
Un serveur web est un logiciel qui traite les requêtes HTTP de clients.
Il est installé sur une machine hébergeant des documents (HTML, CSS, JavaScript, etc.) et est accessible depuis Internet.
Définition : Navigateur web
Un navigateur web est client HTTP qui a trois rôles.
Effectuer des requêtes HTTP (
GET
,POST
, etc.).Comprendre les réponses à ces requêtes.
Interpréter les fichiers web (HTML, CSS, JavaScript) retournés.
Définition : Méthodes HTTP
Les méthodes HTTP sont les commande que le client (navigateur) envoie au serveur.
Exemple :
Les plus courantes sont :
GET (pour demander une ressource, une page HTML par exemple)
POST (pour transmettre des données au serveur, par exemple quand on remplit un formulaire en ligne)
Définition : Code de retour HTTP
Un code HTTP est un code à 3 chiffres qui est présent dans chaque réponse HTTP du serveur.
Exemple :
Les plus courants sont :
200 OK
: « Tout est bon »,401 Unauthorized
: « Vous n'avez pas le droit d'accéder à cette ressource, il faut une authentification »,404 Not Found
: « Ressource non trouvée »,500 Internal Server Error
: « Erreur du serveur ».
Exercice
Internet c'est pas du virtuel
Vous participez à la Fête De la Science et dans ce contexte vous devez expliquer le fonctionnement d'Internet à des collégiens.
Préparez votre exposé en répondant aux questions suivantes en une ou deux phrases simples et précises.
Protocole de l'exercice en groupe
Former 14 groupes de 2 à 4 étudiant·es.
Attribuer à chaque groupe 1 question, donc 2 groupes traitent chaque question.
Chaque groupe propose une réponse rédigée en utilisant le cours et/ou d'autres ressources, éventuellement assortie d'une illustration (issue du cours ou d'une autre source).
Le texte et l'éventuel lien vers l'illustration sont postés sur Mattermost avec un tag #q1 pour la question 1, #q2 pour la questions 2, etc.
Pour chaque question :
Un des groupes vient présenter en premier
Le second propose un complément
L'enseignant peut compléter
Expliquez en quoi Internet repose sur une infrastructure physique qui consomme des matériaux, de l'énergie et de l'espace.
Quel est le rôle des routeurs au sein du réseau Internet et pourquoi ne peut-on pas s'en passer ?
Qu'est-ce qu'un protocole et pourquoi est-ce indispensable pour faire fonctionner Internet ?
Expliquez le principe de fragmentation des messages en paquets sur lequel repose le protocole réseau TCP/IP.
À quoi servent les adresses IP et quelles sont les machines qui en disposent ? À quoi servent les noms de domaine ?
À quoi sert l'application Telnet, depuis remplacée par SSH, et pourquoi était-ce la première application sur Internet ?
Expliquez comment fonctionne un navigateur web à partir de la méthode GET, la plus courante du protocole HTTP.