Guide d'administration système : services IP

Gestion des communications de données par le protocole TCP/IP

Lorsqu'un utilisateur exécute une commande utilisant un protocole de couche d'application TCP/IP, une série d'événements se lance. La commande ou le message de l'utilisateur passe dans la pile de protocoles TCP/IP sur le système local. Ensuite, la commande ou le message passe via le média réseau aux protocoles sur le système distant. Les protocoles de chaque couche de l'hôte émetteur ajoutent des informations aux données d'origine.

Les protocoles de chaque couche de l'hôte émetteur interagissent également avec leurs homologues sur l'hôte récepteur. La Figure 1–1 illustre cette interaction.

Encapsulation de données et pile de protocoles TCP/IP

Le paquet est l'unité d'information de base transférée via le réseau. Le paquet de base consiste en un en-tête avec les adresses des systèmes émetteur et récepteur, ainsi qu'un corps, ou champ de données, avec les données à transférer. Lorsque le paquet parcourt la pile de protocoles TCP/IP, les protocoles de chaque couche ajoutent ou suppriment des champs de l'en-tête de base. Lorsqu'un protocole sur le système émetteur ajoute des données à l'en-tête du paquet, le processus s'appelle encapsulation de données. De plus, chaque couche possède un terme différent pour le paquet modifié, comme indiqué dans la figure suivante.

Figure 1–1 Parcours d'un paquet dans une pile TCP/IP

Le diagramme indique le parcours d'un paquet dans la pile TCP/IP, de l'hôte émetteur à l'hôte récepteur.

Cette section résume le cycle de vie d'un paquet. Le cycle de vie commence à l'exécution d'une commande ou à l'envoi d'un message. Le cycle de vie se termine lorsque l'application adéquate sur le système récepteur reçoit le paquet.

Couche d'application : origine d'une communication

L'historique d'un paquet commence lorsqu'un utilisateur ou un système envoie un message ou exécute une commande devant accéder à un système distant. Les protocoles d'application formatent le paquet afin que le protocole de couche de transport adéquat, TCP ou UDP, puisse gérer le paquet.

Supposons que l'utilisateur exécute la commande rlogin afin de se connecter au système distant, comme indiqué sur la Figure 1–1. La commande rlogin utilise le protocole de couche transport TCP. TCP attend la réception de données sous forme d'un flux d'octets contenant les informations dans la commande. Par conséquent, rlogin envoie ces données sous la forme d'un flux TCP.

Couche transport : début de l'encapsulation des données

Lorsque les données atteignent la couche transport, les protocoles de la couche commencent le processus d'encapsulation des données. La couche transport encapsule les données d'application dans les unités de données du protocole de transport.

Le protocole de couche transport crée un flux de données virtuel entre l'application émettrice et l'application réceptrice, différenciées par le numéro de port de transport. Le numéro de port identifie un port, emplacement mémoire dédié à la réception et à l'envoi de données. En outre, la couche de protocole transport peut assurer d'autres services, tels que la distribution fiable de données ordonnées. Le résultat final dépend de la méthode de gestion des informations appliquée par TCP, SCTP ou UDP.

Segmentation TCP

TCP est considéré comme un protocole "orienté connexion", car il assure la distribution des données à l'hôte récepteur sans erreur. La Figure 1–1 indique comment le protocole TCP reçoit le flux de données à partir de la commande rlogin. Ensuite, TCP scinde les données reçues de la couche d'application en segments et joint un en-tête à chaque segment.

Les en-têtes de segment contiennent les ports émetteurs et récepteurs, des informations de classement des segments et un champ de données correspondant à la somme de contrôle. Les protocoles TCP des deux hôtes utilisent les données de somme de contrôle pour déterminer si le transfert s'est correctement effectué.

Établissement d'une connexion TCP

TCP utilise les segments pour déterminer si le système récepteur est prêt à recevoir les données. Lorsque le protocole TCP de l'hôte émetteur souhaite établir les connexions, il envoie un segment appelé SYN au protocole TCP de l'hôte récepteur. Le TCP récepteur renvoie un segment appelé ACK afin d'accuser la réception du segment. Le TCP émetteur envoie un autre segment ACK, puis initialise l'envoi des données. Cet échange d'informations de contrôle est appelé négociation en trois étapes.

Paquets UDP

UDP est un protocole "sans connexion". Contrairement à TCP, UDP ne vérifie pas que les données sont bien arrivées à l'hôte récepteur. Au lieu de cela, UDP formate le message reçu de la couche d'application en paquets UDP. Le protocole joint un en-tête à chaque paquet. L'en-tête contient les ports émetteur et récepteur, un champ spécifiant la longueur du paquet et une somme de contrôle.

Le processus UDP émetteur tente d'envoyer le paquet au processus UDP homologue sur l'hôte récepteur. La couche d'application détermine si le processus UDP récepteur accuse réception du paquet. UDP ne requiert aucun accusé de réception. UDP n'applique pas la négociation en trois étapes.

Couche Internet : préparation des paquets pour la distribution

Les protocoles de transport TCP, UDP et SCTP transmettent les segments et paquets à la couche Internet située au niveau inférieur. Là, le protocole IP gère les segments et paquets. Pour les préparer à la distribution, IP les formate en unités appelées datagrammes IP. IP détermine ensuite les adresses IP des datagrammes, afin d'assurer la distribution à l'hôte récepteur.

Datagrammes IP

IP joint un en-tête IP à l'en-tête du paquet ou segment, en plus des informations ajoutées par TCP ou UDP. Les informations de l'en-tête IP incluent les adresses IP des hôtes émetteur et récepteur, la longueur du datagramme et le numéro d'ordre du datagramme. Ces informations sont fournies si le datagramme dépasse la taille en octets autorisée pour les paquets réseau et doit être fragmenté.

Couche de liaison de données : encadrement

Les protocoles de la couche de liaison de données, tels que DPPP, formatent le datagramme IP en un cadre. Ces protocoles joignent un troisième en-tête et un pied de page pour "encadrer" le datagramme. L'en-tête du cadre contient un champ de contrôle de redondance cyclique (CRC, Cyclic Redundancy Check) qui détecte les erreurs éventuelles lorsque le cadre parcourt le média réseau. Ensuite, la couche de liaison de données transmet le cadre à la couche physique.

Couche réseau physique : envoi et réception des cadres

La couche réseau physique de l'hôte émetteur reçoit les cadres et convertit les adresses IP en adresses matérielles adéquates sur le média réseau. Ensuite, la couche réseau physique envoie le cadre via le média réseau.

Gestion du paquet sur l'hôte récepteur

Lorsque le paquet arrive sur l'hôte récepteur, il parcourt la pile de protocoles TCP/IP dans l'ordre inverse à l'ordre dans lequel il a été envoyé. La Figure 1–1 illustre ce chemin. En outre, sur l'hôte récepteur, chaque protocole retire les informations d'en-tête jointes au paquet par son homologue sur l'hôte émetteur. Le processus suivant s'effectue :

  1. La couche réseau physique reçoit le paquet sous forme de cadre. La couche réseau physique calcule le CRC du paquet, puis envoie le cadre à la couche de liaisons de données.

  2. La couche de liaison de données vérifie que le CRC du cadre est correct et retire l'en-tête du cadre et le CRC. Enfin, le protocole de liaison de données envoie le cadre à la couche Internet.

  3. La couche Internet lit les informations de l'en-tête afin d'identifier la transmission. Ensuite, la couche Internet détermine si le paquet est un fragment. Si la transmission est fragmentée, IP rassemble les fragments pour reconstituer le datagramme d'origine. IP retire ensuite l'en-tête IP et transmet le datagramme aux protocoles de la couche transport.

  4. La couche transport (TCP, SCTP et UDP) lit l'en-tête pour déterminer le protocole de couche d'application qui doit recevoir les données. Ensuite, TCP, SCTP ou UDP retire l'en-tête associé. TCP, SCTP ou UDP envoie le message ou flux à l'application réceptrice.

  5. La couche d'application reçoit le message. La couche d'application effectue ensuite l'opération requise par l'hôte émetteur.

Suivi interne TCP/IP

TCP/IP consigne les communications TCP lorsqu'un paquet RST interrompt une connexion, afin de permettre le suivi interne des opérations. Lorsqu'un paquet RST est transmis ou reçu, les informations sur 10 paquets maximum, qui viennent d'être transmis, sont consignées avec les informations de connexion.