Qu’est-ce que le TCP/IP et comment fonctionne-t-il ?

person typing on Apple Cordless Keyboard

Le TCP/IP (Transmission Control Protocol/Internet Protocol) est le protocole de communication standard utilisé pour interconnecter des réseaux et des ordinateurs sur Internet. Il définit comment les données devraient être coupées en petits paquets, adressées, transmises, routées et reçues à l’autre bout.

Voici un aperçu de la structure et du fonctionnement du TCP/IP.

Couches du modèle TCP/IP

Le TCP/IP divise les tâches de communication réseau en quatre couches :

1. Couche application

La couche application est la couche la plus élevée du modèle TCP/IP. Elle fournit des services réseau aux applications comme le courrier électronique, le transfert de fichiers et le World Wide Web.

Cette couche traite avec les protocoles tels que HTTP, FTP, SMTP, etc. Elle prend également en charge TLS et SSL qui sont cruciaux pour sécuriser les communications Internet d’aujourd’hui.

2. Couche transport

Deux protocoles opèrent à ce niveau : TCP et UDP.

TCP (Transmission Control Protocol) divise les messages en segments, les numérote pour permettre le bon réassemblage, contrôle la transmission pour éviter les encombrements sur le réseau et gère le renvoi des paquets perdus ou endommagés. Il garantit que les messages arrivent dans le bon ordre et sans erreurs.

UDP (User Datagram Protocol) est plus simple. Il envoie des messages appelés datagrammes mais n’effectue aucune vérification d’erreurs ou de livraison séquentielle. Il est utile pour les communications en temps réel comme la vidéoconférence.

3. Couche Internet

La couche Internet, aussi appelée couche réseau, gère les communications de réseau à réseau. Elle définit le routage des paquets à travers différents chemins sur des réseaux complexes.

Le protocole IP (Internet Protocol) opère à ce niveau. Il définit les adresses IP qui identifient de manière unique les hôtes et il move les paquets d’un ordinateur à l’autre même sur des réseaux variés.

4. Couche Accès Réseau

La couche accès réseau contrôle la livraison physique des paquets sur le réseau. Cela inclut les cartes réseau, les câbles et autres matériels comme les routeurs.

Des protocoles comme Ethernet gèrent le transport des paquets sur des réseaux locaux tandis que des protocoles comme PPP (Point-to-Point Protocol) gèrent les connexions Internet.

Le Processus de Communication TCP/IP

Quand un ordinateur veut communiquer avec un autre via TCP/IP, plusieurs étapes se produisent :

1. La couche Application passe des données pour communication à la couche Transport.

2. La couche Transport segmente les données en petits paquets et passe chaque segment à la couche Internet.

3. La couche Internet ajoute l’adresse IP source et destination à l’en-tête de chaque segment pour former un paquet IP.

4. La couche Accès Réseau ajoute les adresses physiques des cartes réseau source et destination. Elle place aussi les paquets dans des trames pour transmission.

5. La couche physique envoie ensuite les trames sur le réseau physique vers l’hôte de destination.

6. Le processus inverse se produit chez le destinataire pour reconstituer le message original.

Ce processus en plusieurs étapes garantit une communication fiable de bout-en-bout.

Encapsulation des données

Une caractéristique clé du TCP/IP est que chaque couche ajoute des informations de contrôle sous forme d’en-têtes aux données qu’elle reçoit de la couche supérieure.

C’est ce qu’on appelle l’encapsulation des données. Regardons cela plus en détail.

La couche Application encapsule les messages sous forme de données

Supposons que vous tapez « Bonjour » dans une application de messagerie pour l’envoyer à un ami. La couche application convertit ce message en données binaires :

01000011 01101111 01101110 01101010 01101111 01110101 01110010

Elle passe ces données binaires à la couche Transport pour transmission.

La couche Transport ajoute un en-tête pour former un segment TCP

La couche Transport divisera les données en segments s’ils sont trop gros. Disons qu’elle obtient deux segments de données ci-dessous.

Elle ajoute ensuite un en-tête TCP de 20 octets comportant un numéro de séquence, numéro de port, drapeau ACK et contrôle d’erreur.

Segment 1 :
En-tête TCP (20 octets) + Données (partie 1 du message) 

Segment 2 :
En-tête TCP (20 octets) + Données (partie 2 du message)

Ces segments TCP sont alors passés à la couche Internet.

La couche Internet ajoute l’en-tête IP

L’en-tête IP de 20 octets est ajouté à chaque segment TCP pour former un paquet IP. Il contient l’adresse IP source/destination.

Paquet 1 :
En-tête IP (20 octets) + Segment TCP 1

Paquet 2 : 
En-tête IP (20 octets) + Segment TCP 2 

Ces paquets IP vont à la couche Accès Réseau ensuite.

La couche Accès Réseau ajoute l’en-tête de liaison de données

La dernière étape encapsule les paquets IP dans des trames contenant l’adresse physique (MAC) source/destination des cartes réseau.

Trame 1 : 
En-tête MAC + Paquet IP 1 + Queue de trame

Trame 2 :
En-tête MAC + Paquet IP 2 + Queue de trame  

Ces trames empruntent alors le chemin physique vers le destinataire. Là, le processus d’encapsulation inverse reconstitue le message original.

Le Fonctionnement des Adresses IP

L’adressage IP est crucial pour le fonctionnement du TCP/IP. Regardons comment cela fonctionne.

Qu’est-ce qu’une Adresse IP ?

Une adresse IP est un identifiant numérique attribué à chaque périphérique connecté à un réseau TCP/IP.

Les adresses IPv4 sont codées sur 32 bits. Elles sont écrites en notation décimale pointée comme 192.168.2.1.

Les nouvelles adresses IPv6 utilisent 128 bits pour prendre en charge beaucoup plus de périphériques.

Adresses IP Publiques vs Privées

Il existe deux types d’adresses IP :

Publiques – Uniques à travers Internet comme 74.125.235.195.
Privées – Utilisées à l’intérieur de réseaux locaux comme 192.168.1.5.

Seules les adresses publiques permettent aux ordinateurs de communiquer sur Internet.

Allocation des Adresses IP

L’ICANN (Internet Corporation for Assigned Names and Numbers) supervise l’allocation des adresses IP publiques aux FAI et aux entreprises à travers le monde. Cela garantit l’unicité globale des adresses IP.

Au sein des réseaux privés, les administrateurs attribuent librement les adresses IP privées aux ordinateurs et autres périphériques.

Routage des Paquets IP

Quand un paquet IP doit aller d’une source à une destination sur Internet, les routeurs utilisent les adresses IP pour décider du prochain saut. Ils ont des tables de routage qui cartographient les plages d’adresses IP aux interfaces de routeurs.

Ainsi, les paquets sont guidés de proche en proche à travers plusieurs réseaux jusqu’à leur destination finale grâce aux adresses IP.

Le Protocole de Contrôle de Transmission (TCP)

TCP est l’un des protocoles de transport les plus importants dans le monde numérique. Voyons plus en détails comment il fonctionne.

Fiable et Orienté Connexion

TCP offre une communication fiable sur les réseaux IP orientés connexion.

La fiabilité signifie que TCP garantit que les données sont livrées sans erreur et dans le bon ordre.

L’orientation connexion signifie que TCP établit une connexion avec le destinataire avant de transmettre des données.

Contrôle de Flux et Encombrement

TCP implémente des techniques de contrôle de flux comme la fenêtre glissante pour éviter la congestion sur des liens réseau lents ou occupés.

Il adapte le taux d’envoi des paquets en fonction de la réponse du destinataire.

Retransmission Sélective

TCP attribue un numéro de séquence à chaque paquet envoyé. Le destinataire renvoie ces numéros dans l’accusé de réception pour chaque paquet reçu avec succès.

Si TCP ne reçoit pas d’accusé de réception d’un paquet après un certain délai, il le retransmet. De cette façon, seule la partie perdue des données est renvoyée.

Contrôle d’Erreur

Le contrôle de somme de vérification dans l’en-tête TCP permet la détection des paquets corrompus. Les paquets erronés sont simplement rejetés et renvoyés par la source.

Toutes ces fonctionnalités font de TCP un protocole de communication extrêmement fiable sur IP.

Le Protocole de Datagramme Utilisateur (UDP)

Contrairement à TCP, UDP est un protocole sans connexion et non fiable mais avec moins de surcharge. Voyons quand il est utile.

Rapide et Efficace

Puisqu’UDP n’établit pas de connexion, il offre une meilleure efficacité pour les communications en temps réel, spécialement avec les multimédias.

Diffusion et Multidiffusion

UDP prend en charge la diffusion de paquets à de multiples destinataires et la multidiffusion pour des groupes d’hôtes spécifiques.

Jeux et Streaming Vidéo

Les environnements à faible latence et moins critiques aux erreurs comme les jeux en ligne, Voice over IP, les visioconférences et le streaming vidéo préfèrent UDP à TCP.

Une petite perte de paquets n’est pas aussi cruciale que dans le transfert de données.

Protocoles Réseau

Plusieurs protocoles réseau importants comme DNS, SNMP, DHCP et RIP utilisent aussi UDP.

Fonctionnement du Routage IP

Le routage fait référence au processus de sélection des chemins pour trafiquer des paquets à travers un ensemble de réseaux interconnectés. Jetons un oeil sur le routage IP en détail.

Routage Statique vs Dynamique

Le routage IP peut être statique ou dynamique :

– Le routage statique demande une configuration manuelle des routes sur les routeurs.

– Le routage dynamique permet aux routeurs de partager des informations pour s’adapter automatiquement aux changements topologiques.

Protocoles de Routage

OSPF, BGP et RIP sont des protocoles de routage dynamique utilisés sur l’Internet :

OSPF pour le routage à l’intérieur des systèmes autonomes

BGP pour le routage entre les systèmes autonomes

RIP pour de plus petits réseaux IP

Table de Routage

Tous les routeurs IP ont une table de routage qui répertorie des chaînes de réseaux IP connus.

Quand un paquet IP arrive, le routeur identifie le réseau de destination et transmet le paquet à la prochaine destination via le port de sortie associé.

Si aucune correspondance n’est trouvée, le paquet est abandonné.

Routage sans Classe

Dans le routage IP traditionnel, une partie de l’adresse définissait la classe du réseau. Le routage sans classe utilise le masque de sous-réseau et routes le trafic en fonction du préfixe de réseau IP uniquement.

C’est plus efficace et plus souple.

Fonctionnement du Matériel Réseau

Le matériel réseau est essentiel pour connecter des ordinateurs et réseaux ensemble pour permettre le partage de données et l’accès à Internet. Regardons quelques composants clés.

Cartes Réseau

Les cartes réseau, aussi appelés adaptateurs réseau ou NIC (cartes d’interface réseau) sont nécessaires pour connecter des ordinateurs à un réseau local. Elles offrent une interface physique au réseau.

La plupart des ordinateurs ont une carte Ethernet intégrée. Des cartes sans fil sont aussi disponibles.

Câbles et Connecteurs

Différents types de câbles sont utilisés pour connecter des périphériques réseau :

Câble coaxial – Pour les anciens réseaux Ethernet

Câble à paire torsadée – Le plus courant aujourd’hui (RJ45)

Fibre optique – Pour des performances élevées sur de longues distances

Concentrateurs, Commutateurs et Routeurs

Les concentrateurs, commutateurs et routeurs sont utilisés pour connecter de multiples périphériques ensemble sur un réseau.

  • Les concentrateurs sont simples mais provoquent des collisions en cas de trafic élevé.
  • Les commutateurs sont plus performants et ne posent pas de problèmes de collision.
  • Les routeurs réacheminent les paquets entre plusieurs réseaux et dirigent le trafic Internet vers les postes internes.

Sécurité TCP/IP

La sécurité est cruciale pour toute technologie aussi répandue que TCP/IP. Regardons quelques risques possibles et solutions.

Types d’Attaques

Voici quelques attaques qui ciblent les vulnérabilités dans TCP/IP :

  • Injection SQL – Insertion de code malveillant dans des entrées pour exploiter une base de données back-end
  • Déni de service – Inonder un serveur de requêtes pour rendre un service indisponible
  • Usurpation d’IP – Prétendre avoir l’adresse IP de quelqu’un d’autre pour masquer sa véritable identité
  • Empoisonnement ARP – Associer l’adresse MAC d’un pirate à l’adresse IP d’une passerelle par défaut
  • Attaques par débordement de mémoire tampon – Tenter de déborder des tampons d’application pour exécuter du code arbitraire

Solutions de Sécurité

Voici quelques façons de sécuriser TCP/IP contre ces menaces :

  • Pare-feu – Filtrer le trafic entrant et sortant selon des règles
  • VPN – Créer un tunnel sécurisé à travers des réseaux non sûrs
  • Cryptage – Rendre les données illisibles en transit à l’aide de TLS/SSL
  • Authentification – Valider l’identité des utilisateurs
  • Analyse de Protocole – Inspection approfondie dans la pile TCP/IP

Meilleures Pratiques

D’autres bonnes pratiques générales :

  • Mettre à jour les logiciels pour corriger les vulnérabilités
  • Restreindre les permissions des utilisateurs aux minimum requis
  • Analyser le trafic réseau pour détecter les activités suspectes
  • Sauvegarder les données fréquemment hors ligne

En adoptant une approche de défense en profondeur sur TCP/IP, on peut réduire considérablement les risques.