Routage (TCP)

Garantie de fiabilité

  • Le protocole IP n’est pas fiable : il ne garantit pas que les paquets envoyés arriveront réellement à leur destinataire.
  • Le protocole TCP se charge de garantir cette fiabilité de communication grâce au principe de bout en bout.
  • Le principe de bout en bout (end-to-end principle) est un principe de communication qui repose sur l’émetteur et le récepteur, et non sur les intermédiaires, pour assurer les spécificités de la communication.
  • Le protocole TCP dispose d’un système d’accusés de réception – on parle d’acquittements (ou ACK, « acknowledgement »).
  • À chaque paquet envoyé, l’émetteur attend l’accusé de réception, sans lequel il renvoie le paquet au bout d’un certain temps.
  • Le protocole TCP établit une connexion entre deux ordinateursnbsp;: le client, qui initie la connexion, et le serveur.
  • Le premier message du client envoyé par le protocole est toujours une demande de synchronisation (SYN).
  • Le serveur qui la reçoit renvoie en retour une demande de confirmation (SYN-ACK).
  • Cette demande sera elle-même confirmée en retour (ACK).
  • Ce procédé, appelé « poignée de main à trois temps » (« three-way handshake »), permet aux ordinateurs d’établir une connexion afin de s’échanger des informations pour le bon déroulé de la connexion.
  • Dans le modèle TCP/IP, le multiplexage est géré par un système de ports, qui sont les « portes d’entrée réseau » d’un ordinateur.
  • En pratique, les paquets adressés à un ordinateur disposent d’un numéro de port, présent dans l’en-tête TCP du paquet.
  • Un port ouvert est en attente de recevoir des paquets.
  • Une connexion TCP est identifiée par quatre éléments : l’adresse IP et le port du serveur, l’adresse IP et le port du client.
  • Certains ports sont dédiés à certains protocoles de la couche application, par exemple le port $80$ est dédié au protocole HTTP.
  • Les ports qui ne sont pas définis par l’ICANN sont appelés ports dynamiques ou privés.

Fonctionnalités et limite de TCP

  • Le protocole IP fonctionnant sur un principe de sauts successifs de routeur en routeur, les paquets d’un même message peuvent emprunter des chemins différents pour arriver au destinataire. Il n’y a donc aucune garantie que les paquets arrivent dans l’ordre dans lequel ils sont ont été envoyés.
  • Le protocole TCP stocke les paquets reçus dans un tampon de réception pour les remettre dans l’ordre avant de les confier à la couche application.
  • Une congestion du réseau arrive quand les ordinateurs envoient plus de paquets que le réseau n’est capable d’en transmettre. Cela pose de nombreux problèmes de perte de paquets et de ralentissement.
  • TCP dispose d’un système de gestion du flux de données.((fleche)) Des algorithmes sophistiqués évaluent grâce au ACK l’état de la connexion et la taille du tampon de réception et décident de la vitesse à laquelle envoyer ou renvoyer les paquets.
  • Le protocole TCP ne garantit pas la vitesse à laquelle le paquet finira par arriver.
  • Avec l’arrivée de plateformes comme YouTube et Dailymotion, puis Netflix (vidéo), Deezer et Spotify (musique) dans les années 2000, le streaming s’est imposé comme le mode principal de consommation de contenus audiovisuels sur Internet.
  • Or, si le protocole TCP est très pratique pour la plupart des usages d’Internet, il n’est pas adapté au streaming ni aux discussions en téléconférence.
  • Dans ces deux cas, la vitesse de la transmission d’information est plus importante que l’assurance d’avoir bien reçu tous les paquets. L’utilisateur ne se rend pas compte qu’il n’a pas reçu quelques images de la vidéo, mais la latence impliquée par les protocoles assurant la fiabilité est gênante.

Attaques en déni de service

  • Une attaque en déni de service (ou attaque DoS, pour Denial of Service) vise à saturer un service de requêtes pour le rendre inopérant.
  • Le SYN-flood est un type d’attaque informatique qui consiste à envoyer de manière répétée des SYN (des demandes d’ouverture de connexion TCP) à un serveur.
  • Le but est que le serveur ouvre tellement de semi-connections en attente du troisième message de la poignée de mains, qu’il consomme toutes ses ressources et ne puisse plus en allouer aux utilisateurs qui voudraient légitimement se connecter.
  • Une des précautions que l’on peut prendre, par exemple, est le limiter le nombre de SYN que le serveur peut accepter venant de la même adresse IP.
  • Une attaque distribuée en déni de service (DDoS) est une attaque DoS provenant de plusieurs sources (donc aux adresses IP différentes) se coordonnant pour attaquer la cible en même temps.
  • La plupart des attaques DDoS sont le fruit d’un seul attaquant qui utilise plusieurs ordinateurs sous son contrôle, ou en partie sous son contrôle.
  • Une machine zombie est un appareil informatique contrôlé par un cybercriminel à l’insu du propriétaire de la machine grâce à un virus informatique.