Séquence de règles à suivre dans un échange d’informations – Un protocole est une description formelle de règles et de conventions à suivre dans un échange d’informations, que ce soit pour acheminer les données jusqu’au destinataire ou pour que le destinataire comprenne comment il doit utiliser les données qu’il a reçues. C’est l’ensemble des règles de dialogue qui permettent à deux niveaux équivalents du modèle OSI de communiquer.
Ensemble de règles sur les formats de durées et de contrôles d’erreurs grâce auxquelles les ordinateurs peuvent communiquer.
Pour qu’une transmission de données puisse se dérouler convenablement jusqu’au bout entre deux équipements ETTD (DTE) ou entre deux adaptateurs de circuits ETCD (DCE), il faut que tous les maillons de la chaîne suivent des procédures ou des conventions préalables parfaitement définies qui constitueront la grammaire du dialogue. Ce sont ces conventions que d’une manière générale on désigne par le nom de protocole. Cette notion, désignant toute convention de dialogue, est très large, mais elle est indispensable en télécommunications. On peut dire qu’une grande partie des décisions en matière de réseaux porte en dernier sur des choix de protocoles. Un protocole définira, par exemple, la structure et l’ordre dans lesquels les informations seront transmises (organisation par bits, par mots, par blocs…), la synchronisation entre émetteur et récepteur, les règles de priorité, la façon dont seront détectées, et éventuellement corrigées, les erreurs de transmission, les procédures à suivre en cas d’incident, l’adaptation des flux de données aux débits des canaux…
Les protocoles peuvent être implantés dans n’importe quel type d’équipement soit sous forme matérielle dans des circuits électroniques, soit sous forme logicielle, un protocole se présentant alors comme un programme d’ordinateur. Une transmission nécessite en général le recours à plusieurs protocoles, souvent imbriqués les uns dans les autres. Par exemple, dans une transmission simple, on aura au minimum un protocole de dialogue entre ETTD et ETCD et entre les deux ETTD’s. Cette hiérarchie imbriquée des protocoles sera à la base du modèle d’interconnexion de systèmes ouverts en « couches » OSI. Un protocole est une méthode standard qui permet la communication entre des processus (s’exécutant éventuellement sur différentes machines). Il en existe plusieurs selon ce que l’on attend de la communication. Certains protocoles seront par exemple spécialisés dans l’échange de fichiers (le FTP), d’autres pourront servir à gérer simplement l’état de la transmission et des erreurs (c’est le cas du protocole ICMP), …
Sur Internet, les protocoles utilisés font partie d’une suite de protocoles, c’est-à-dire un ensemble de protocoles reliés entre-eux. Cette suite de protocole s’appelle TCP/IP :
Elle contient, entre autres, les protocoles suivants: http, FTP, ARP, ICMP, IP, TCP, UDP, SMTP, Telnet, NNTP
On classe généralement les protocoles en deux catégories selon le niveau de contrôle des données que l’on désire :
- Les protocoles orientés connexion: Il s’agit des protocoles opérant un contrôle de transmission des données pendant une communication établie entre deux machines. dans un tel schéma, la machine réceptrice envoie des accusés de réception lors de la communication, ainsi la machine émettrice est garante de la validité des données qu’elle envoie. Les données sont ainsi envoyées sous forme de flot. TCP est un protocole orienté connexion
- Les protocoles non orientés connexion: Il s’agit d’un mode de communication dans lequel la machine émettrice envoie des données sans prévenir la machine réceptrice, et la machine réceptrice reçoit les données sans envoyer d’avis de réception à la première. Les données sont ainsi envoyées sous forme de blocs (datagrammes). UDP est un protocole non orienté connexion
Un protocole définit uniquement la façon par laquelle les machines doivent communiquer, c’est-à-dire la forme et la séquence des données à échanger. Un protocole ne définit par contre pas la manière de programmer un logiciel de telle manière à ce qu’il soit compatible avec le protocole. On appelle ainsi implémentation la traduction d’un protocole en langage informatique. Les spécifications des protocoles ne sont jamais exhaustives, aussi il est courant que les implémentations soient l’objet d’une certaine interprétation des spécifications, ce qui conduit parfois à des spécificités de certaines implémentations ou pire à des incompatibilités ou des failles de sécurité.
