Transmission Control Protocol / Internet Protocol – Protocole de communication développé par Vinton Cerf et Bob Kahn à la demande du Département américain de la Défense pour faire communiquer des machines hétérogènes sur un réseau de données en transmission par paquet.
Ce protocole doit surtout son succès au fait qu’il a été l’un des premiers protocoles à permettre d’interconnecter entre eux plusieurs réseaux locaux hétérogènes.
A partir du 1er janvier 1983, le réseau de l’Arpa – Arpanet – le réseau de la recherche publique, Milnet – réseau crée pour l’usage des militaires, CSNet – réseau crée pour la communauté scientifique et Bitnet – réseau crée pour les échanges entre universités sont tenus d’utiliser les protocoles TCP/IP. Non retenu dans le cadre de la normalisation officielle de l’ISO pour l’interconnexion de réseaux hétérogènes, il reste cependant le plus utilisé dans le monde des stations de travail sous Ethernet et Unix.
L’ensemble des protocoles regroupés sous le sigle TCP/IP (Transmission Control Protocol et Internet Protocol) règne aujourd’hui en maître sur le monde des réseaux, qu’ils soient locaux ou étendus. Preuve de leur consécration: ce sont « les » protocoles par excellence du réseau des réseaux: l’Internet. Ce succès, TCP/IP le doit à sa simplicité et à son pragmatisme. Simple car, contrairement au très complexe modèle de communication des systèmes OSI (7 couches), TCP/IP ne comprend que deux couches: la couche réseau « IP » (correspondant au niveau 3 de l’OSI) et la couche transport « TCP » (similaire à la couche 4 de l’OSI).
TCP intervient au dessus de la couche IP pour assurer (via des règles bien codifiées) l’établissement de bout en bout de la communication. Ces règles incluent des services de contrôle des flux, de fourniture de bulletins
d’acquittement et des fonctions de sécurité. IP, en dessous de la couche TCP, est le protocole qui permet d’interconnecter deux sous réseaux ayant des caractéristiques physiques différentes. En clair, la transmission selon le protocole TCP/IP se produit comme suit: c’est TCP qui se charge de découper les données en paquets (entre 30 et 500 octets) en incluant dans chaque paquet un entête.
C’est ensuite IP qui achemine les paquets de routeur en routeur à travers le réseau. À l’arrivée, c’est à nouveau TCP qui intervient pour remettre les paquets dans le bon ordre et reconstituer les données initiales sur le système destinataire.
A cette simplicité et ce côté pragmatique du protocole, s’ajoutent divers facteurs qui ont consolidé le succès de TCP/IP: la disponibilité de ses spécifications dans le domaine public (sous forme d’appels à commentaires ou RFC, Request for comments), son intégration en natif sur les systèmes Unix et, bien sûr, les échecs de la normalisation OSI jugée trop complexe à mettre en Oeuvre par les utilisateurs et les constructeurs réunis.
Résultat: TCP/IP a été l’un des premiers protocoles à pouvoir interconnecter des réseaux locaux hétérogènes, à l’heure où l’informatique distribuée et le mode client serveur se développaient autour de systèmes d’information multi constructeurs. Si l’on rajoute à cette liste le fait que TCP/IP est parfaitement adapté aux technologies haut débit des réseaux locaux et aux contraintes des réseaux longue distance, on comprend pourquoi cet ensemble de protocoles est devenu le protocole de référence des années quatrevingt- dix et sans doute celui des années à venir.
Les rôles des différentes couches sont les suivants :
- Couche Accès réseau : elle spécifie la forme sous laquelle les données doivent être acheminées quel que soit le type de réseau utilisé (Ethernet, Token Ring, FDDI…)
La couche accès réseau est la première couche de la pile TCP/IP, elle offre les capacités à accéder à un réseau physique quel qu’il soit, c’est-à-dire les moyens à mettre en oeuvre afin de transmettre des données via un réseau.
Ainsi, la couche accès réseau contient toutes les spécifications concernant la transmission de données sur un réseau physique, qu’il s’agisse de réseau local (Anneau à jeton – token ring, ethernet, FDDI), de connexion à une ligne téléphonique ou n’importe quel type de liaison à un réseau.
Elle prend en charge les notions suivantes :
o Acheminement des données sur la liaison
o Coordination de la transmission de données (synchronisation)
o Format des données
o Conversion des signaux (analogique/numérique)
o Contrôle des erreurs à l’arrivée
- Couche Inter-réseau : elle est chargée de fournir le paquet de données (datagramme)
C’est cette couche qui définit les datagrammes, et qui gère les notions d’adressage IP. Elle permet l’acheminement des datagrammes (paquets de données) vers des machines distantes ainsi que de la gestion de leur fragmentation et de leur assemblage à réception.
La couche Internet (inter-réseau) contient 5 protocoles :
o Le protocole IP
o Le protocole ARP
o Le protocole ICMP
o Le protocole RARP
o Le protocole IGMP
Les trois premiers protocoles sont les protocoles les plus importants de cette couche…
- Couche Transport : elle assure l’acheminement des données, ainsi que les mécanismes permettant de connaître l’état de la transmission.
La couche transport permet à des applications tournant sur des machines distantes de communiquer. Le problème consiste à identifier ces applications. En effet, suivant la machine et son système d’exploitation, l’application pourra être un programme, une tâche, un processus… De plus, la dénomination de l’application peut varier d’un système à un autre, c’est la raison pour laquelle un système de numéro a été mis en place afin de pouvoir associer un type d’application à un type de données, ces identifiants sont appelés ports. La couche transport contient deux protocoles permettant à deux applications d’échanger des données indépendamment du type de réseau emprunté (c’est-à-dire indépendamment des couches inférieures…), il s’agit des protocoles suivants :
o TCP, un protocole orienté connexion qui assure le contrôle des erreurs
o UDP, un protocole non orienté connexion dont le contrôle d’erreur est archaïque
- Couche Application : elle englobe les applications standard du réseau (Telnet, SMTP, FTP, …)
La couche application est la couche située au sommet des couches de protocoles TCP/IP. Celle-ci contient les applications réseaux permettant de communiquer grâce aux couches inférieures. Les logiciels de cette couche communiquent donc grâce à un des deux protocoles de la couche inférieure (la couche transport) c’est-à-dire TCP ou UDP.
Les applications de cette couche sont de différents types, mais la plupart sont des services réseau, c’est-à dire des applications fournies à l’utilisateur pour assurer l’interface avec le système d’exploitation. On peut les classer selon les services qu’ils rendent :
o Les services de gestion (transfert) de fichier et d’impression
o Les services de connexion au réseau
o Les services de connexion à distance
o Les utilitaires Internet divers
A chaque niveau ou couche, le paquet de données change d’aspect, car on lui ajoute un en-tête, ainsi les appellations changent suivant les couches :
- Le paquet de données est appelé message au niveau de la couche Application
- Le message est ensuite encapsulé sous forme de segment dans la couche Transport
- Le segment une fois encapsulé dans la couche Internet prend le nom de datagramme
- Enfin, on parle de trame au niveau de la couche Accès réseau.
