Aller au contenu

Internet


Internet est un réseau mondial qui relie entre eux des millions de réseaux informatiques. Son nom vient de la contraction de interconnected networks (réseaux interconnectés).

Pour se connecter à Internet, il faut :

  • un appareil (ordinateur, tablette, smartphone...) ;
  • un logiciel de navigation (Firefox, Chrome, Safari...) ;
  • un fournisseur d'accès à Internet (FAI) comme Orange, Free, SFR ou Bouygues Telecom.

Les FAI raccordent les utilisateurs à Internet via différents modes de liaison : câbles (fibre optique, ADSL), ondes radio (Wi-Fi, 4G/5G), satellite, etc.

DateÉvénement
1969Naissance d'ARPANET : connexion de 4 centres de recherche américains
1971ARPANET relie 23 sites ; création du protocole FTP pour l'échange de fichiers
1973Première connexion internationale (Royaume-Uni - Norvège) par câble sous-marin
1981Définition des protocoles TCP/IP, encore utilisés aujourd'hui ; apparition du mot « Internet »
1983Création du système de noms de domaine (DNS)
1990Invention du World Wide Web par Tim Berners-Lee
1993Premier navigateur graphique : MOSAIC

Pour que deux machines puissent communiquer sur Internet, elles doivent parler le même langage. Ce langage commun est défini par des protocoles, c'est-à-dire des ensembles de règles de communication.

Le protocole IP remplit deux fonctions essentielles :

  1. Identifier chaque machine par une adresse unique : l'adresse IP.
  2. Découper les données en petits morceaux appelés paquets IP.

L'adresse IP : une adresse postale pour les machines

Section intitulée « L'adresse IP : une adresse postale pour les machines »

Pour comprendre le rôle d'une adresse IP, on peut faire plusieurs analogies :

  • Un numéro de téléphone permet de joindre une personne spécifique parmi des milliards d'abonnés ;
  • Une adresse postale (rue, ville, pays) permet au facteur de livrer un courrier au bon destinataire ;
  • De la même manière, une adresse IP permet d'identifier sans ambiguïté une machine parmi toutes celles connectées à Internet.

Toutes les adresses IP ne sont pas visibles sur Internet. On distingue deux catégories :

TypeVisibilitéRôleExemples
Adresse publiqueVisible sur InternetIdentifie une machine (ou un réseau) sur Internet mondial195.81.225.119, 8.8.8.8
Adresse privéeInvisible sur InternetIdentifie une machine au sein d'un réseau local (maison, lycée, entreprise)192.168.x.x, 10.x.x.x, 172.16.x.x à 172.31.x.x

Chez vous, votre box Internet possède une adresse publique (attribuée par votre FAI) et distribue des adresses privées à vos appareils (ordinateur, téléphone, tablette...). C'est la box qui fait la traduction entre les deux mondes grâce au mécanisme de NAT (Network Address Translation).

Comment un routeur sait-il quelle partie de l'adresse IP désigne le réseau et quelle partie désigne la machine ? Grâce au masque de sous-réseau.

Le masque le plus courant dans un réseau domestique est 255.255.255.0 : il signifie que les trois premiers octets identifient le réseau, et le dernier octet identifie la machine.

Chaque paquet IP contient un en-tête qui indique l'adresse de l'émetteur et celle du destinataire, un peu comme l'adresse sur une enveloppe.

2.2 Le protocole TCP (Transmission Control Protocol)

Section intitulée « 2.2 Le protocole TCP (Transmission Control Protocol) »

Le protocole TCP complète IP en assurant la fiabilité de la transmission :

  • Il numérote les paquets pour que le destinataire puisse les remettre dans l'ordre ;
  • Il indique le nombre total de paquets envoyés ;
  • Il gère les accusés de réception : le destinataire confirme avoir reçu chaque paquet ;
  • Si un paquet est perdu ou corrompu, TCP demande son renvoi ;
  • Il détecte les doublons : si un même paquet arrive deux fois, TCP ne le garde qu'une seule fois.

Pour bien comprendre TCP, imaginons que vous devez envoyer un long poème à un ami par courrier postal, mais que chaque enveloppe ne peut contenir qu'un seul vers.

  1. Découpage : vous recopiez chaque vers sur une carte séparée et vous numérotez les cartes (1/12, 2/12, ..., 12/12).
  2. Envoi : vous postez les 12 enveloppes. Elles partent par des chemins différents (différents centres de tri).
  3. Réception dans le désordre : votre ami reçoit d'abord la carte 5, puis la 1, puis la 9... Les cartes n'arrivent pas dans l'ordre.
  4. Réordonnancement : grâce aux numéros, votre ami peut remettre les vers dans l'ordre et reconstituer le poème.
  5. Détection des pertes : votre ami constate qu'il a reçu les cartes 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12 mais pas la carte 4. Il vous envoie un message : « Renvoie-moi la carte 4 ! »
  6. Renvoi : vous renvoyez la carte manquante.
  7. Détection des doublons : si la carte 7 arrive deux fois (peut-être que la poste l'a copiée par erreur), votre ami jette le double.

C'est exactement ce que fait TCP avec les paquets de données sur Internet !

En pratique, TCP utilise un système d'acquittement (acknowledgement, abrégé ACK) :

  • Pour chaque paquet reçu, le destinataire envoie un message ACK à l'émetteur pour confirmer la bonne réception.
  • Si l'émetteur ne reçoit pas d'ACK au bout d'un certain délai, il considère que le paquet a été perdu et le renvoie automatiquement.
  • Ce dialogue permanent garantit qu'aucune donnée ne se perd en route.
Émetteur Destinataire
|--- Paquet 1 ------------>|
|<-------------- ACK 1 ----|
|--- Paquet 2 ------------>|
|--- Paquet 3 -----X | (paquet perdu !)
|<-------------- ACK 2 ----|
| (pas d'ACK 3... délai dépassé)
|--- Paquet 3 ------------>| (renvoi)
|<-------------- ACK 3 ----|

Quand vous envoyez un message sur Internet, celui-ci est préparé en plusieurs étapes appelées encapsulation :

  1. Le message original est découpé en morceaux ;
  2. TCP ajoute les numéros de paquets et informations de contrôle ;
  3. IP ajoute les adresses de l'émetteur et du destinataire ;
  4. Des informations supplémentaires sont ajoutées pour la transmission physique.

Le réseau Internet est constitué de routeurs reliés entre eux par des liens de communication. Un routeur est un équipement dont la fonction est d'aiguiller les paquets vers leur destination.

Chaque routeur possède une table de routage : un programme qui détermine, pour chaque paquet reçu, vers quel routeur voisin il faut le transférer. Le routeur ne connaît pas la totalité du réseau ; il se contente de prendre une décision locale à chaque étape.

Analogie postale : une lettre de Boston à Montauban

Section intitulée « Analogie postale : une lettre de Boston à Montauban »

Imaginons qu'une lettre soit envoyée de Boston (États-Unis) à Montauban (France). La lettre ne va pas directement de la boîte aux lettres de l'expéditeur à celle du destinataire. Elle transite par une série de centres de tri postal :

  1. Le facteur de Boston dépose la lettre au centre de tri local de Boston.
  2. Ce centre voit que la destination est en France : il envoie la lettre au centre de tri international des États-Unis.
  3. Le centre international américain la transmet au centre de tri de Roissy (principal hub postal français pour le courrier international).
  4. Roissy l'envoie au centre de tri régional de Toulouse.
  5. Toulouse la transmet au bureau de poste de Montauban, qui la distribue au destinataire.

Chaque centre de tri fonctionne exactement comme un routeur : il ne connaît pas tout le chemin, mais il sait vers quel prochain centre envoyer la lettre en fonction de l'adresse de destination. C'est le principe du routage pas-à-pas.

Le chemin emprunté par un paquet dépend de plusieurs critères :

  • la vitesse de transmission des liens ;
  • la charge (congestion) des routeurs ;
  • la disponibilité des liaisons.

Imaginons un réseau simplifié de villes françaises reliées par des routeurs. Pour envoyer un paquet de Lille à Perpignan, plusieurs chemins sont possibles :

  • Lille → Paris → Toulouse → Perpignan
  • Lille → Paris → Lyon → Marseille → Perpignan
  • Lille → Reims → Lyon → Toulouse → Perpignan

Le routeur de chaque ville choisit le meilleur prochain saut selon les conditions du moment.

Un réseau informatique peut être représenté sous forme d'un graphe : chaque routeur est un sommet et chaque liaison physique est une arête. Lorsqu'on associe un poids (un coût) à chaque arête, on obtient un graphe pondéré.

Le poids peut représenter :

  • le temps de transmission en millisecondes ;
  • le nombre de sauts (nombre de routeurs à traverser) ;
  • un coût calculé à partir de la bande passante du lien.
A ---3--- B ---1--- C
| | |
2 4 2
| | |
D ---5--- E ---1--- F

Dans cet exemple, le chemin de A à F peut passer par plusieurs routes. Trouver le plus court chemin (celui dont la somme des poids est minimale) est un problème classique en informatique.

On peut chercher le chemin optimal par tâtonnement : on liste tous les chemins possibles, on additionne les poids, et on garde celui qui a le coût le plus faible.

Pour les réseaux de grande taille, le tâtonnement est trop lent. On utilise alors des algorithmes spécialisés, comme l'algorithme de Dijkstra (du nom du mathématicien néerlandais Edsger Dijkstra). Sans entrer dans les détails de cet algorithme (qui est au programme de Terminale NSI), son principe est le suivant :

  1. On part du sommet de départ et on lui attribue un coût de 0.
  2. On explore ses voisins et on note le coût pour les atteindre.
  3. On choisit le voisin ayant le coût le plus faible et on répète l'opération depuis ce voisin.
  4. On continue jusqu'à atteindre la destination, en mettant à jour les coûts dès qu'on trouve un chemin moins cher.

Sur Internet, les routeurs utilisent des protocoles de routage pour construire automatiquement leurs tables de routage. Deux protocoles importants sont :

  • Critère de choix : le nombre de sauts (nombre de routeurs à traverser).
  • Principe : le meilleur chemin est celui qui passe par le moins de routeurs possible.
  • Avantage : simple à mettre en œuvre.
  • Inconvénient : ne tient pas compte de la vitesse des liens. Un chemin en 2 sauts par des liens lents peut être choisi plutôt qu'un chemin en 3 sauts par des liens très rapides.
  • Limite : maximum 15 sauts ; au-delà, la destination est considérée comme inaccessible.

Les adresses IP (comme 195.81.225.119) sont difficiles à mémoriser pour les humains. On utilise donc des noms de domaine (ou adresses symboliques), bien plus faciles à retenir.

Un nom de domaine se compose de deux parties :

PartieRôleExemples
NomIdentifie le sitewikipedia, google
ExtensionIndique le type d'organisation ou le pays.org (association), .com (commercial), .fr (France), .gouv.fr (gouvernement français)

Le DNS (Domain Name System) est le système qui fait le lien entre un nom de domaine et l'adresse IP correspondante. Il fonctionne comme un annuaire :

  1. Vous tapez www.wikipedia.org dans votre navigateur ;
  2. Votre ordinateur interroge un serveur DNS ;
  3. Le serveur DNS répond avec l'adresse IP correspondante (par exemple 78.109.84.114) ;
  4. Votre navigateur contacte le serveur à cette adresse IP.

Le système DNS est distribué : aucun serveur ne contient l'intégralité de l'annuaire. Les serveurs se répartissent la charge et se consultent mutuellement si nécessaire.

On peut retrouver l'adresse IP associée à un nom de domaine grâce à des commandes ou des outils en ligne :

# En Python, on peut résoudre un nom de domaine
import socket
adresse_ip = socket.gethostbyname("www.wikipedia.org")
print(f"L'adresse IP de wikipedia.org est : {adresse_ip}")

Il existe deux grands modèles d'organisation des réseaux :

Modèle client-serveur :

  • Un serveur centralise les ressources (fichiers, pages web...) ;
  • Les clients envoient des requêtes au serveur pour obtenir ces ressources ;
  • Exemple : quand vous consultez un site web, votre navigateur (client) demande la page à un serveur.

Modèle pair-à-pair (peer-to-peer ou P2P) :

  • Il n'y a pas de serveur central ;
  • Chaque machine est à la fois client et serveur ;
  • Les ressources sont réparties entre tous les participants ;
  • Si un participant se déconnecte, les autres peuvent continuer à partager.
AvantagesInconvénients
Pas de dépendance à un serveur centralInstabilité (les pairs se connectent et se déconnectent librement)
Mise en commun des capacités de stockageDifficile de garantir la disponibilité d'une ressource
Répartition de la chargeRisques de sécurité (fichiers malveillants)

Le P2P est une technologie neutre qui a des usages parfaitement légaux (partage de logiciels libres, distribution de mises à jour), mais aussi des usages illicites : le téléchargement d'œuvres protégées par le droit d'auteur (films, musique, livres) sans autorisation est un délit.


Internet est indépendant du réseau physique utilisé : les mêmes protocoles (TCP/IP) fonctionnent quelle que soit la technologie de transmission.

TechnologieTypePortéeDébit approximatif
ADSLFilaire (cuivre)-1 à 20 Mbit/s
Fibre optiqueFilaire (verre)-100 Mbit/s à 10 Gbit/s
Wi-FiSans fil (ondes radio)~100 m54 Mbit/s à 1 Gbit/s
BluetoothSans fil (ondes radio)~10 m1 à 3 Mbit/s
4GSans fil (ondes radio)Plusieurs km25 à 100 Mbit/s
5GSans fil (ondes radio)Plusieurs km100 Mbit/s à 1 Gbit/s
SatelliteSans fil (ondes radio)Mondial20 à 50 Mbit/s
Li-FiSans fil (lumière)~10 mJusqu'à 10 Gbit/s

Le volume de données échangées sur Internet connaît une croissance exponentielle :

  • Le nombre d'internautes est passé de 2 milliards en 2011 à plus de 5 milliards aujourd'hui ;
  • Le trafic de données double environ tous les 2-3 ans ;
  • Cette explosion est principalement due à la vidéo en streaming.

Internet est un formidable outil de communication, mais il est aussi le terrain de nombreuses menaces informatiques. Connaître les principales attaques permet de mieux s'en protéger.

Le principe est simple : des milliers de machines (souvent piratées à l'insu de leurs propriétaires) envoient simultanément un très grand nombre de requêtes vers un serveur cible. Submergé, celui-ci ne peut plus répondre aux utilisateurs légitimes.

C'est comme si des milliers de personnes téléphonaient en même temps au même numéro : la ligne serait constamment occupée et personne ne pourrait joindre le destinataire.

L'attaquant envoie un message (souvent un courriel) qui imite l'apparence d'un organisme de confiance (banque, administration, opérateur téléphonique) pour inciter la victime à communiquer des informations sensibles : mot de passe, numéro de carte bancaire, identifiants de connexion.

Un programme malveillant chiffre les fichiers de la victime (documents, photos, etc.) et exige le paiement d'une rançon (généralement en cryptomonnaie) en échange de la clé de déchiffrement. Sans cette clé, les données sont inaccessibles.

L'attaquant s'interpose secrètement entre deux interlocuteurs qui croient communiquer directement. Il peut alors lire, modifier ou voler les données échangées. C'est comme si quelqu'un ouvrait discrètement vos lettres, les lisait, puis les recachetait avant de les livrer au destinataire.

L'attaquant envoie un nombre massif de courriels à une même adresse pour saturer la boîte de réception et rendre le service inutilisable. C'est l'équivalent numérique du remplissage d'une boîte aux lettres physique par des prospectus jusqu'à ce qu'elle déborde.

Le hameçonnage est l'une des attaques les plus courantes. Voici les indices qui doivent alerter :


NotionDéfinition
InternetRéseau mondial de réseaux d'ordinateurs interconnectés
Protocole IPDéfinit l'adressage des machines et le format des paquets
Adresse IPv4Identifiant unique d'une machine, composé de 4 octets (ex. 192.168.1.42)
Adresse privée / publiqueAdresse visible uniquement sur le réseau local / visible sur Internet
Masque de sous-réseauPermet de distinguer la partie réseau de la partie machine dans une adresse IP
Protocole TCPAssure la fiabilité de la transmission (numérotation, acquittement, renvoi des paquets perdus)
ACK (acquittement)Message de confirmation envoyé par le destinataire pour chaque paquet reçu
PaquetPetit morceau de données avec un en-tête contenant les adresses source et destination
RouteurÉquipement qui aiguille les paquets vers leur destination
Table de routageProgramme du routeur qui détermine le meilleur chemin pour chaque paquet
Graphe pondéréReprésentation d'un réseau où chaque lien a un coût (poids)
RIPProtocole de routage basé sur le nombre de sauts
OSPFProtocole de routage basé sur le coût (bande passante) des liens
DNSSystème qui convertit les noms de domaine en adresses IP
Pair-à-pairRéseau où chaque machine est à la fois client et serveur
FAIFournisseur d'accès à Internet
DDoSAttaque par déni de service distribué (saturation d'un serveur)
HameçonnageTechnique d'escroquerie imitant un organisme de confiance pour voler des données
RançongicielProgramme malveillant qui chiffre les fichiers et exige une rançon