Revision sheet: Réseaux distribués et cloud

Plan du Cours

  1. Couches hautes et architectures réseau
  2. DNS et résolution des noms
  3. Web, URL et protocoles HTTP
  4. Formats et architectures web
  5. Services web et sécurité TLS
  6. TLS et transfert de fichiers
  7. Proxys et systèmes de fichiers réseau
  8. Protocoles de transport et sockets
  9. Architectures distribuées et cloud
  10. Protection des réseaux
  11. VPN et protocoles sécurisés
  12. Appel de procédure distante RPC

Repères chronologiques

DateÉvénement
1989Le World Wide Web a été créé au CERN par Tim Berners-Lee et reposait initialement sur les standards URL, HTTP, HTML et CGI.
2003NFSv4 a été révisé dans la RFC 3530, NFSv4.1 a été publié en 2010 dans la RFC 5661 et NFSv4.2 en 2016 dans la RFC 7862.
2014 à 2018TLS 1.0 a été normalisé en 1999 par l’IETF pour succéder à SSL, TLS 1.1 en 2006, TLS 1.2 en 2008 et TLS 1.3 en 2018 après des brouillons publiés.
2018TLS 1.3 a été normalisé après l’abandon de SSLv2 en 2011 et l’interdiction de SSL 3.0 en 2014.

1. Couches hautes et architectures réseau

Notions clés & Définitions

  • Couche application : Le point d’accès aux services réseau et regroupe les normes, protocoles, bibliothèques et API proches de l’utilisateur.
  • Client-serveur : Le modèle client-serveur est un mode de communication réseau dans lequel un client envoie des requêtes et un serveur attend ces requêtes puis y répond.
  • Architecture pair à pair : Un environnement dans lequel chaque programme connecté peut jouer tour à tour ou simultanément le rôle de client et celui de serveur.
  • Couche session : Établit des sessions entre des utilisateurs travaillant sur différents postes, gère les dialogues au moyen d’un jeton de parole et synchronise les échanges par des points de reprise.
  • Couche présentation : Traite la syntaxe et la sémantique de l’information transmise et assure l’encodage et le décodage selon des normes comme Unicode, MIME, HTML ou ASN.1/BER.

Points essentiels

📌 Les architectures client-serveur comprennent l’architecture à deux niveaux, l’architecture à trois niveaux et l’architecture pair à pair.

Astuce mémo

Session, présentation, application : dialoguer, coder, servir

2. DNS et résolution des noms

Notions clés & Définitions

  • DNS : À la fois une base de données répartie entre de nombreux serveurs de noms et un protocole de niveau application utilisé notamment pour traduire un nom de domaine en adresse IP.
  • FQDN : Un nom de domaine pleinement qualifié écrit de façon absolue, comprenant tous les labels, le TLD et un point final représentant la racine, comme ru.wikipedia.org.

Points essentiels

★ À maîtriser

  • Le DNS utilise UDP et le port 53 par convention.

📌 Un nom de domaine est organisé hiérarchiquement avec un TLD générique ou national, puis des sous-domaines ou labels enregistrés auprès du domaine supérieur.

  • Un enregistrement de ressources DNS contient cinq éléments:
    • le nom de domaine
    • la durée de vie en secondes
    • la classe
    • le type
    • la valeur

🔄 Processus — Pour résoudre un nom, le programme demandeur interroge le résolveur local, qui renvoie une réponse depuis son cache si elle est disponible ou interroge sinon le serveur primaire, directement ou par requêtes itératives ou récursives.

Compléments

  • Les TLD sont gérés par l’ICANN, qui délègue chaque TLD à un registre de haut niveau ; l’AFNIC gère notamment les ccTLD .fr, .re, .yt, .wf, .tf et .pm.

Astuce mémo

Nom → zone → serveur → adresse

3. Web, URL et protocoles HTTP

Notions clés & Définitions

  • URL : Un format de nommage et d’adressage d’une ressource comprenant généralement un protocole, le nom du serveur, éventuellement un port TCP et le chemin d’accès avec ses paramètres éventuels.

Points essentiels

📌 Un URI est un identifiant de ressource physique ou abstraite qui inclut les URL et les URN.

🔄 Processus — Lorsqu’un navigateur suit un lien HTTP, il détermine l’URL, demande l’adresse IP au DNS, se connecte en TCP au serveur, envoie une requête HTTP puis interprète la réponse et demande les ressources incluses.

  • Les principales commandes HTTP sont GET pour lire une ressource, HEAD pour obtenir des informations, POST pour soumettre ou créer des données, PUT pour mettre à jour une ressource et DELETE pour la supprimer.

📌 HTTP/2 multiplexe plusieurs flux logiques sur une même connexion TCP, tandis qu’HTTP/3 transporte les requêtes sur des flux QUIC indépendants et utilise uniquement des URL en https.

Astuce mémo

URL → DNS → TCP → HTTP

4. Formats et architectures web

Notions clés & Définitions

  • Ajax : Une combinaison de JavaScript, DOM, XMLHttpRequest, CSS et XML ou JSON permettant de modifier une partie de la page et de dialoguer avec le serveur de façon asynchrone.
  • XML : Un langage de balisage extensible représentant des données structurées dans un fichier texte, indépendamment de leur présentation.
  • JSON : Un format texte indépendant des langages, utilisé notamment pour les échanges entre navigateur et serveur, fondé sur des objets et des tableaux de valeurs.

Points essentiels

★ À maîtriser

📌 HTML décrit la structure et le contenu statique d’une page web, CSS contrôle sa mise en page et sa présentation, tandis que JavaScript permet des traitements événementiels côté client.

🔄 Processus — Dans un échange CGI, le navigateur envoie les données d’un formulaire par GET dans l’URL ou par POST dans le corps, le serveur HTTP lance un programme CGI, celui-ci traite les données et renvoie une page générée au navigateur.

📌 Un document XML bien formé possède une seule racine et chaque balise doit être correctement refermée sans entrecroisement.

Compléments

📌 DOM charge la totalité d’un document XML en mémoire sous forme d’objets navigables dans un arbre, tandis que SAX analyse le document en flux.

Astuce mémo

HTML présente, CSS stylise, JavaScript agit

5. Services web et sécurité TLS

Notions clés & Définitions

  • Service web : Un système d’échange de données entre applications et systèmes hétérogènes dans des environnements distribués au moyen de protocoles standardisés et ouverts.

Points essentiels

📌 SOAP définit des messages XML pour des appels de procédures distantes, tandis que REST utilise les fonctions HTTP et des URI pour manipuler des ressources.

📌 Dans REST, POST crée une ressource, GET la lit, PUT la modifie ou la remplace et DELETE la supprime ; GET, PUT et DELETE sont indiquées comme idempotentes dans le cours.

Astuce mémo

SOAP décrit, REST manipule, TLS protège

6. TLS et transfert de fichiers

Notions clés & Définitions

  • TLS : Un protocole client-serveur placé entre les couches Transport et Application, qui assure l’authentification du serveur, la confidentialité et l’intégrité des échanges, ainsi que facultativement l’authentification du client.

Points essentiels

★ À maîtriser

🔄 Processus — Lors d’une connexion TLS 1.2, le client envoie ClientHello, le serveur répond avec ServerHello et son certificat, le client vérifie ce certificat, génère une clé de session symétrique chiffrée avec la clé publique du serveur, puis le serveur la déchiffre avec sa clé privée et les deux parties chiffrent leurs échanges avec cette clé.

  • FTP utilise TCP et deux connexions:
    • une connexion de contrôle sur le port 21
    • puis une connexion de données pour chaque transfert
    • initiée par le serveur depuis le port 20 en mode actif
    • par le client vers un port communiqué par le serveur en mode passif

Compléments

📌 Si la signature du certificat ne peut être validée par aucune autorité de certification, le navigateur peut vérifier une éventuelle auto-signature, afficher un avertissement en cas de réussite, ou bloquer la connexion si la vérification échoue.

  • Les principales alternatives à FTP sont SFTP, qui utilise le port 22 comme SSH, FTPS, qui ajoute SSL à FTP, et WebDAV, qui étend HTTP pour la gestion de fichiers.

Astuce mémo

Authentifier, chiffrer, intégrer

7. Proxys et systèmes de fichiers réseau

Notions clés & Définitions

  • Serveur proxy : Un intermédiaire placé entre un client et un serveur distant, notamment entre les postes d’un réseau local et Internet.
  • Reverse proxy : Une interface placée entre les clients et les serveurs backend, qui reçoit les requêtes, les analyse, les transmet au serveur approprié et renvoie la réponse au client.
  • NFS : Un système de fichiers réseau client-serveur permettant aux utilisateurs et aux programmes d’accéder à des fichiers distants comme s’ils étaient locaux.

Points essentiels

★ À maîtriser

  • Un proxy peut filtrer les sites, mettre en cache les réponses, compresser les pages, journaliser les requêtes, masquer les postes clients et appliquer des droits d’accès.

Compléments

🔄 Processus — Sur un client NFS, showmount fournit des informations sur le serveur, mount attache un répertoire distant avec une commande telle que mount -t nfs nom_du_serveur:dossier_distant dossier_local, et umount le démonte.

Astuce mémo

Intermédiaire côté client, relais côté serveur

8. Protocoles de transport et sockets

Notions clés & Définitions

  • QUIC : Un protocole de transport standardisé en juin 2021 par la RFC 9000, conçu initialement par Google et adopté par l’IETF pour HTTP/3 ; il utilise UDP et impose un chiffrement équivalent à TLS.
  • Socket : Une interface par laquelle une application envoie et reçoit des données, définie par un protocole, une adresse IP et un port source, ainsi qu’une adresse IP et un port destination.
  • MPTCP : Agrège plusieurs flux TCP afin d’obtenir un débit global proche de la somme des débits et de combiner par exemple une connexion Wi-Fi et un réseau mobile.

Points essentiels

📌 TCP fournit un service de transport fiable et orienté connexion, tandis qu’UDP est plus simple, non fiable et sans connexion.

  • QUIC permet des connexions multiplexées, réduit la latence grâce à une première connexion en 1 RTT et aux reconnexions possibles en 0 RTT, et estime la bande passante pour limiter la congestion.

📌 Un socket stream utilise TCP pour des échanges bidirectionnels connectés avec ordre, contrôle de flux et fiabilité, tandis qu’un socket datagramme utilise UDP pour des requêtes indépendantes, brèves et sans garantie de remise.

Astuce mémo

TCP fiable, UDP rapide

9. Architectures distribuées et cloud

Notions clés & Définitions

  • Middleware : Un ensemble de logiciels réutilisables qui assure la médiation et l’interopérabilité entre les interfaces, applications, données et réseaux indépendamment des systèmes impliqués.
  • Pair à pair : Une architecture pair à pair permet à chaque programme connecté de jouer tour à tour ou simultanément le rôle de client et de serveur ; ses composants sont appelés nœuds, pairs ou utilisateurs.
  • Blockchain : Une base de données distribuée et sécurisée qui stocke chronologiquement des transactions dans des blocs liés, ajoutés sans modification possible de leur ordre, sous forme d’un registre horodaté et partagé sans autorité centrale.
  • Réseau CDN : Un CDN, ou Content Delivery Network, est un réseau de serveurs coopérants dans lequel les contenus du serveur d’origine sont répliqués vers des serveurs périphériques et servis depuis le serveur géographiquement le plus proche de l’utilisateur.

Points essentiels

📌 Dans une architecture client-serveur, un client lourd concentre principalement la logique applicative côté client, un client léger la concentre côté serveur, et une architecture distribuée répartit les applications entre clients et serveurs.

📌 Le cloud privé interne est géré par l’entreprise, le cloud privé externe est dédié à une entreprise mais géré par un prestataire, le cloud public sert plusieurs entreprises et le cloud hybride associe des clouds publics et privés.

📌 SaaS fournit un logiciel à la demande, PaaS fournit une plateforme louée, IaaS fournit une infrastructure virtualisée, et le serverless permet de développer sans gérer directement les serveurs sous-jacents.

Astuce mémo

Du client-serveur au cloud

10. Protection des réseaux

Notions clés & Définitions

  • NAT et NAPT : NAT traduit les adresses réseau pour masquer le plan d’adressage d’une entreprise, tandis que NAPT permet notamment de faire correspondre une seule adresse publique externe à toutes les adresses d’un réseau privé.
  • Pare-feu : Un dispositif de filtrage qui examine les paquets et les accepte ou les rejette selon notamment les adresses et ports source et destination, le protocole transporté et certains drapeaux d’en-tête.
  • VPN : Une liaison sécurisée qui utilise un tunnel, souvent sur Internet, pour interconnecter des réseaux ou fournir un accès distant en assurant l’authentification des extrémités et la confidentialité des données par chiffrement.

Points essentiels

★ À maîtriser

📌 Un pare-feu sans état examine chaque paquet indépendamment, un pare-feu à états vérifie sa relation avec une connexion ou un échange antérieur, et un pare-feu applicatif inspecte les paquets au niveau du service applicatif.

Compléments

📌 Un VPN site-à-site relie des réseaux physiques, tandis qu’un VPN d’accès distant fournit un accès sécurisé au système d’information à des utilisateurs nomades ou en télétravail.

  • IPSec est un protocole VPN de niveau 3 fournissant contrôle d’accès, authentification, intégrité, confidentialité et protection anti-rejeu, tandis que PPTP et L2TP sont des protocoles de niveau 2, L2TP s’appuyant sur PPP.

Astuce mémo

Filtrer, traduire, tunneliser

11. VPN et protocoles sécurisés

Notions clés & Définitions

  • VPN : Fournit une liaison sécurisée entre réseaux ou un accès distant en encapsulant généralement les données de manière chiffrée dans un tunnel.

Points essentiels

★ À maîtriser

📌 Un VPN implique l’authentification et l’identification du client et du serveur ainsi que la confidentialité des données par chiffrement.

Compléments

  • IPSec est un protocole de niveau 3 offrant le contrôle d’accès, l’authentification, l’intégrité et la confidentialité des données, avec un mécanisme anti-rejeu et plusieurs algorithmes de chiffrement et de hachage.

📌 PPTP est un protocole de niveau 2 conçu par Microsoft, L2F est un protocole de niveau 2 de Cisco devenu obsolète, et L2TP est un protocole de niveau 2 fondé sur PPP qui regroupe les fonctionnalités de PPTP et de L2F.

Astuce mémo

Authentifier, chiffrer, tunnelliser

12. Appel de procédure distante RPC

Notions clés & Définitions

  • RPC : Une technique client-serveur en mode requêtes-réponses permettant à un programme d’appeler une procédure située sur un hôte distant comme s’il s’agissait d’un appel local.
  • Message-Oriented Middleware : Un système logiciel permettant l’échange asynchrone de messages entre applications au moyen de files d’attente, avec un couplage faible entre elles.
  • Message : MOM comprend une charge utile, une en-tête contenant notamment son identifiant et ses dates, ainsi que des propriétés fonctionnelles organisées en couples clé-valeur.
  • Publication-abonnement : Dans un middleware de publication-abonnement, un producteur publie un événement auprès d’un courtier, un consommateur s’abonne à un topic et le middleware distribue l’événement aux abonnés.
  • Système distribué : Un système distribué est un ensemble d’unités de traitement autonomes interconnectées qui échange des informations par messages et apparaît à l’utilisateur comme un système unique et cohérent.
  • Algorithme distribué : Un algorithme distribué est une suite d’instructions répartie sur plusieurs sites, chaque site calculant et communiquant avec d’autres sites.

Points essentiels

★ À maîtriser

📌 L’objectif du RPC est de simplifier la programmation d’applications distribuées en masquant la localisation de la procédure et en prenant en charge certains traitements de défaillances.

🔄 Processus — Lors d’un RPC, le stub client reçoit l’appel local, sérialise les paramètres et une référence dans un message, détermine l’adresse du serveur et l’envoie par le système d’exploitation et le transport au stub serveur, qui désérialise les paramètres et appelle la procédure.

🔄 Processus — La conception d’une application RPC développe le programme client, les procédures serveur et la description des échanges en IDL, puis le compilateur IDL génère les stubs client et serveur avant la compilation et l’édition de liens des exécutables.

Compléments

🔄 Processus — La réponse d’un RPC suit le même trajet en sens inverse ; le stub client reçoit et déballe les résultats, puis les restitue à l’appelant comme le retour d’une procédure locale.

📌 La liaison d’une procédure distante peut être statique, effectuée au premier appel avec un serveur de noms, ou effectuée à chaque appel avec consultation du serveur de noms.

  • Le protocole de transport généralement utilisé par les RPC est UDP, qui fonctionne en mode non connecté, et Secure RPC ajoute un mécanisme d’authentification.

🔄 Processus — Dans le fonctionnement point à point d’un MOM, l’émetteur se connecte au broker, dépose le message dans la file indiquée, puis le destinataire se connecte au broker, lit la file et le message est retiré après lecture.

  • Les services de base d’un MOM sont l’acheminement, le stockage persistant sur disque ou non persistant en mémoire vive, et la recherche des messages.

  • Les services évolués des MOM comprennent la gestion des priorités, la compression, les expirations et dates de disponibilité, le routage, le déclenchement d’applications, les alertes et les quotas.

  • MQTT est un protocole de messagerie publish-subscribe fondé sur TCP/IP, standardisé par OASIS dans les versions MQTT 5.0 et MQTT 3.1.1, utilisant les ports 1883 ou 8883 avec TLS.

Astuce mémo

Client → stub → transport → serveur

Tableaux de synthèse

Comparaison des architectures de services web

ArchitectureÉchangeOpérations ou caractéristiques
SOAPMessages XML pour appels de procédures distantesCouplage plus fort et format verbeux
RESTRessources identifiées par URI et fonctions HTTPCommunication asynchrone, couplage lâche et opérations CRUD

Comparaison des modèles cloud

ModèleRessource fournieGestion principale
SaaSLogiciel à la demandeFournisseur
PaaSPlateformeFournisseur de la plateforme
IaaSInfrastructure virtualiséeClient des systèmes et applications
ServerlessEnvironnement d’exécutionFournisseur des serveurs, développeur du code

Pièges & confusions fréquents

  1. La couche session ne décrit pas la syntaxe des données, qui relève de la couche présentation.
  2. Le DNS est un service de nommage ; il ne se limite pas à une simple table locale de correspondance.
  3. Le Web est un service de l’Internet et ne se confond pas avec l’ensemble d’Internet.
  4. HTML structure la page, mais CSS n’est pas le langage qui décrit les éléments de la page.
  5. Les services web sont adaptés lorsque les applications distantes sont indépendantes ou hétérogènes.
  6. TLS 1.3 ne doit pas être confondu avec SSL 3.0, qui a été banni en 2014.
  7. Un proxy classique représente les clients auprès des serveurs distants, contrairement au reverse proxy qui représente les serveurs auprès des clients.

Test your knowledge

Test your knowledge on Réseaux distribués et cloud with 11 multiple-choice questions with detailed corrections.

1. Lequel correspond à la convention concernant le protocole de transport et le port utilisés par le DNS ?

2. Qu'est-ce qu'une architecture réseau basée sur le modèle client-serveur ?

Take the quiz →

Review with flashcards

Memorize the key concepts of Réseaux distribués et cloud with 11 interactive flashcards.

Que fait la couche session dans un réseau ?

Elle établit des sessions, gère les dialogues et synchronise les échanges.

Couche application

Point d’accès aux services réseau, proche de l’utilisateur.

Qu'est-ce qu'une architecture pair à pair ?

Un environnement où chaque programme peut être client et serveur.

See flashcards →

Similar courses

Create your own revision sheets

Import your course and AI generates sheets, quizzes and flashcards in 30 seconds.

Sheet generator