Introduction au fonctionnement d'Internet : infrastructure, protocoles, applications

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 domaineq

  • 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)

Introduction

Ne plus confondre Internet et le Web

Principe de la communication sur Internet

Exemple

Une communication via Internet implique  :

  • les ordinateurs des personnes qui communiquent, on les appelle des clients ;

  • les routeurs, ce sont des ordinateurs dont le rôle et de faire passer l'information d'un ordinateur à un autre sur Internet ;

  • en général des serveurs, ce sont des ordinateurs en charge de gérer la communication pour un ensemble de clients ;

  • des moyens physiques pour relier ces ordinateurs (câbles et ondes) ;

  • des protocoles qui permettent à des logiciels installés sur ces machines de communiquer les unes avec les autres.

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

Infrastructure réseau d'Internet

Fondamental

Les composants fondamentaux du réseau Internet sont les câbles très haut débit par lesquels transitent les données.

Ordinateurs serveurs

DéfinitionServeur

Un serveur est un ordinateur dont le rôle est de proposer des services, par exemple : stocker des pages web ou acheminer des mails.

ExempleExemple 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

Exemple

Trois serveurs 1U rackés dans une baie du datacenter de l'UTC

Ordinateurs routeurs

DéfinitionRouteur

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.

Exempletraceroute 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

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éfinitionProtocole 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.

Exemple

Contenu d'un paquet IP

Complément

Le paquet IP reste une représentation abstraite. Sur une fibre optique, il n'y a que des impulsions lumineuses, des 0 et des 1. C'est le rôle de protocoles dits « bas niveau » de gérer la partie très proche du monde physique.

DéfinitionProtocole 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.

ComplémentUn modèle en couches (« poupées russes »)

Au même titre que IP s'appuie sur des protocoles de plus bas niveau, TCP s'appuie sur IP, et ainsi de suite.

Tous les protocoles proches des utilisateur·ices, comme HTTP pour le web ou SMTP pour les mails, s'appuient sur TCP/IP. Ils peuvent se concentrer uniquement sur les opérations de « haut niveau » (envoyer un fichier, recevoir un mail...).

Adresses IP et noms de domaine

DéfinitionAdresses 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éfinitionNom 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éfinitionDNS

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.

AttentionDNS menteurs

Un serveur DNS peut mentir, par exemple en faisant semblant de ne pas connaître un nom de domaine (cas typique de censure). Il peut aussi surveiller les requêtes qu'on lui fait. Pour un même accès à Internet, le choix d'un serveur DNS peut changer les sites web accessibles.

Protocoles applicatifs d'Internet : SSH, mail, Web...

DéfinitionProtocole

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 : c'est l'interopérabilité.

FondamentalQui é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.

AttentionInternet ≠ 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.

ExempleConnexion distante (1969)

  • Naissance : 1969

  • Protocole : Telnet (1969, RFC 15), SSH (1995, RFC 4251)

ExempleMail (1971)

ExempleWeb (1990)

  • Naissance : 1990

  • Protocole : HTTP (1990, W3C, RFC 1945) (et le langage de formatage de documents HTML)

Les clients et les serveurs web parlent HTTP

DéfinitionServeur 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éfinitionNavigateur web

Un navigateur web est client HTTP qui a trois rôles.

  1. Effectuer des requêtes HTTP (GET, POST, etc.).

  2. Comprendre les réponses à ces requêtes.

  3. Interpréter les fichiers web (HTML, CSS, JavaScript) retournés.

DéfinitionMé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éfinitionCode 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 ».

Synthèse

ComplémentConsulter un site web : un long chemin truffé d’acteurs

  • Trouver l’adresse IP du domaine (DNS), établir un canal sécurisé (si HTTPS), créer la requête HTTP (puis transformer le code en page interactive...) ;

  • Pour chaque grande étape, des protocoles comme TCP (ou récemment QUIC) assurent le transport de bout en bout ;

  • Chaque étape nécessite des dizaines de paquets, dont le chemin est déterminé de proche en proche grâce à IP (les routeurs construisent leurs « panneaux de signalisation » entre eux grâce à d’autres protocoles comme BGP...) ;

  • Entre chaque appareil, des protocoles spécifiques s’assurent de la correction d’erreur, de la sécurisation (penser au Wi-Fi...)...

  • Puis, dépendant du mode de transmission (impulsion électrique, lumineuse, ondes radio...), des protocoles plus « analogiques » s’arrangent pour transformer le binaire, en prenant en compte les problématique de bruit, d’interférences, etc.

Questions

  • Quelles sont les différences entre Internet et le web ?

  • Retracer le chemin d'une requête entre un navigateur web et un site web en nommant les principaux protocoles utilisés.

  • Est-ce possible pour un pays de couper l'accès à un site web ? Citer des stratégies et leurs limites.

Concepts

⚠️ Tous les concepts ne renvoient pas directement à une section ou à une définition précise du cours. Par exemple, parler du concept de « gouvernance d’Internet » revient à répondre à la question : « qui dirige (ou pas) Internet ? que veut dire (ou pas) diriger Internet ? ». Pareil pour l’interopérabilité, où l’idée est de savoir « qu’est-ce-qui fait que des machines très différentes peuvent communiquer entre elles » ? etc.

  • Décentralisation

  • Interopérabilité

  • Gouvernance

Protocole

Un protocole informatique est un ensemble de règles techniques permettant à des ordinateurs d'échanger des informations via un langage commun.

IETF

Internet Engineering Task Force

Liste des raccourcis clavier

Liste des fonctions de navigation et leurs raccourcis clavier correspondants :

  • Bloc Suivant : flèche droite, flèche bas, barre espace, page suivante, touche N
  • Bloc Précédent : flèche gauche, flèche haut, retour arrière, page précédente, touche P
  • Diapositive Suivante : touche T
  • Diapositive Précédente : touche S
  • Première diapositive : touche Début
  • Revenir à l'accueil : touche H
  • Menu : touche M
  • Plein écran : touche F
  • Cacher outils : touche Z
  • Fermer zoom : touche Échap.