Un protocole est une méthode standard qui permet la communication entre des processus
(s'exécutant éventuellement sur différentes machines), c'est-à-dire un ensemble
de règles et de procédures à respecter pour émettre et recevoir des données
sur un réseau. 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:
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 de 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é !
|