Un ensemble de règles que les systèmes informatiques et d'autres dispositifs technologiques utilisent pour communiquer ou de transmettre des informations dans les deux sens avec d'autres systèmes et dispositifs est connu comme un protocole de communication. Un protocole définit le format et la syntaxe des données transmises. Cela pourrait prendre la forme de commandes spéciales envoyées avant que les données réelles, ou ce pourrait être la transmission de l'intégralité des objets sérialisés d'un type spécifique. Les protocoles peuvent être mises en œuvre par des logiciels ou peuvent être intégrés dans les systèmes embarqués et matériels. Il existe de nombreux protocoles de communication utilisés, dont certains sont exclusifs à des fins de sécurité et dont certaines sont open source à des fins de développement.
Un protocole de communication est construit en établissant une syntaxe que les systèmes peuvent comprendre et suivre. Alors que les sémantiques réelles d'un protocole peuvent varier, la plupart sont similaires, car ils sont basés sur les mêmes principes sous-jacents et les limitations matérielles. Une fois un protocole est établi, tous les systèmes qui comprennent le protocole seront en mesure d'envoyer et de recevoir des données avec d'autres tels systèmes. De cette façon, un protocole de communication ressemble étroitement à l'élaboration d'un langage commun qui est utilisé pour relayer l'information et de quelqu'un qui connaît cette langue.
Les protocoles de matériel sont fréquemment utilisés pour établir les paramètres de fonctionnement pour deux appareils. Ces protocoles peuvent établir des constantes telles que le taux de transfert, la taille maximale d'un bloc de données et le cryptage, et des procédés de compression. Alors qu'ils sont très efficaces, les protocoles matériels portent principalement sur l'établissement du lien physique entre deux appareils par opposition à réellement l'interprétation des données ou d'autres demandes.
Les protocoles de logiciels peuvent être très flexibles et peuvent faire beaucoup plus que de simplement transférer des données arbitraires. Une fois que deux morceaux de logiciels ont mis en place un protocole de communication, ils peuvent permettre à un certain nombre d'algorithmes ou des fonctions. Les plus courantes sont la détection d'erreur et de correction d'erreur.
La détection et correction des erreurs sont des moyens que les données, lors de son transfert par le biais d'un protocole spécifique, sont capables d'être redondante vérifié pour les erreurs. Cela peut être nécessaire lorsque les lignes physiques entre les deux appareils ne sont pas fiables ou avoir une grande quantité de bruit pouvant corrompre un signal. Plusieurs algorithmes ont été développés qui peuvent vous aider à vérifier et restaurer l'intégrité des données qui ont été envoyés.
Les protocoles sont pas un mécanisme exclusif et sont très souvent en couches dans un système ou d'un cadre. Les protocoles réseau sont presque toujours en couches. Cela signifie qu'il ya différents protocoles affectés à gérer différentes tâches. Certains donnent accès à des ressources dans le système d'exploitation tandis que d'autres ne font que relayer l'information aveuglément vers un autre nœud. La superposition des protocoles de communication est l'un des fondements de l'Internet qui lui permet de fonctionner en conformité avec tellement de différents types d'ordinateurs et de périphériques.