Un conjunto de reglas que los sistemas informáticos y otros dispositivos tecnológicos utilizan para comunicarse o para pasar información de un lado a otro con otros sistemas y dispositivos se conoce como protocolo de comunicaciones. Un protocolo define el formato y la sintaxis de los datos que se transmiten. Esto podría tomar la forma de comandos especiales enviados antes de los datos reales, o podría ser la transmisión de objetos serializados completos de un tipo específico. Los protocolos pueden implementarse mediante software o pueden integrarse en hardware y sistemas integrados. Hay muchos protocolos de comunicaciones en uso, algunos de los cuales son propietarios con fines de seguridad y otros son de código abierto para fines de desarrollo.
Un protocolo de comunicaciones se construye mediante el establecimiento de una sintaxis que los sistemas pueden comprender y seguir. Si bien la semántica real de un protocolo puede variar, la mayoría son similares porque se basan en los mismos principios subyacentes y limitaciones de hardware. Una vez que se establece un protocolo, todos los sistemas que comprenden el protocolo podrán enviar y recibir datos con otros sistemas similares. De esta manera, un protocolo de comunicaciones se parece mucho al desarrollo de un lenguaje común que se utiliza para transmitir información hacia y desde otra persona que conoce ese idioma.
Los protocolos de hardware se utilizan con frecuencia para establecer parámetros operativos para dos dispositivos. Estos protocolos pueden establecer constantes como la tasa de transferencia, el tamaño máximo de un bloque de datos y métodos de cifrado y compresión. Si bien son muy eficientes, los protocolos de hardware se ocupan principalmente de establecer el enlace físico entre dos dispositivos en lugar de interpretar datos u otras solicitudes.
Los protocolos de software pueden ser muy flexibles y pueden hacer mucho más que transferir datos arbitrarios. Una vez que dos piezas de software han implementado un protocolo de comunicaciones, pueden habilitar cualquier número de algoritmos o funciones. Los más comunes son la detección de errores y la corrección de errores.
La detección y corrección de errores son formas en que los datos, cuando se transfieren a través de un protocolo específico, se pueden verificar de forma redundante en busca de errores. Esto puede ser necesario cuando las líneas físicas entre los dispositivos no son confiables o tienen una gran cantidad de ruido que podría dañar una señal. Se han desarrollado varios algoritmos que pueden ayudar a comprobar y restaurar la integridad de los datos enviados.
Los protocolos no son un mecanismo exclusivo y muy a menudo se encuentran en capas dentro de un sistema o marco. Los protocolos de red casi siempre están en capas. Esto significa que hay diferentes protocolos asignados para manejar diferentes tareas. Algunos brindan acceso a recursos en el sistema operativo, mientras que otros pueden simplemente transmitir información a ciegas a otro nodo. La superposición de protocolos de comunicaciones es una de las bases de Internet que le permite funcionar de manera coherente con tantos tipos diferentes de computadoras y dispositivos.