Protocolo de comunicaciones
# Protocolo de comunicaciones

En informática y telecomunicación, un protocolo de comunicaciones es un sistema de reglas que permiten que dos o más entidades (computadoras, teléfonos celulares, etc.) de un sistema de comunicación se comuniquen entre ellas para transmitir información por medio de cualquier tipo de variación de una magnitud física. Se trata de las reglas o el estándar que define la sintaxis, semántica y sincronización de la comunicación, así como también los posibles métodos de recuperación de errores. Los protocolos pueden ser implementados por hardware, por software, o por una combinación de ambos.

También se define como un conjunto de normas que permite la comunicación entre ordenadores, estableciendo la forma de identificación de estos en la red, la forma de transmisión de los datos y la forma en que la información debe procesarse.

Los sistemas de comunicación utilizan formatos bien definidos (protocolo) para intercambiar mensajes. Cada mensaje tiene un significado exacto destinado a obtener una respuesta de un rango de posibles respuestas predeterminadas para esa situación en particular. Normalmente, el comportamiento especificado es independiente de cómo se va a implementar. Los protocolos de comunicación tienen que estar acordados por las partes involucradas. Para llegar a dicho acuerdo, un protocolo puede ser desarrollado dentro de estándar técnico. Un lenguaje de programación describe el mismo para los cálculos, por lo que existe una estrecha analogía entre los protocolos y los lenguajes de programación: «los protocolos son a las comunicaciones como los lenguajes de programación son a los cómputos». Un protocolo de comunicación, también llamado en este caso protocolo de red, define la forma en la que los distintos mensajes o tramas de bit circulan en una red de computadoras.

Por ejemplo, el protocolo sobre palomas mensajeras permite definir la forma en la que una paloma mensajera transmite información de una ubicación a otra, definiendo todos los aspectos que intervienen en la comunicación: tipo de paloma, cifrado del mensaje, tiempo de espera antes de dar a la paloma por 'perdida'... y cualquier regla que ordene y mejore la comunicación.

## Propiedades típicas

Si bien los protocolos pueden variar mucho en propósito y sofisticación, la mayoría especifican una o más de las siguientes propiedades:

* Detección de la conexión física subyacente (con cable o inalámbrica), o la existencia de otro punto final o nodo.
* Handshaking.
* Negociación de varias características de la conexión.
* Cómo iniciar y finalizar una sesión.
* Procedimientos en el formateo de un mensaje.
* Qué hacer con mensajes corruptos o formateados incorrectamente (corrección de errores).
* Cómo detectar una pérdida inesperada de la conexión, y qué hacer entonces.
* Terminación de la sesión y/o conexión.
* Estrategias para mejorar la seguridad (autenticación, cifrado).
* Cómo se construye una red física.

## Protocolos basados en niveles de abstracción

En el campo de las redes informáticas, los protocolos se pueden dividir en varias categorías. Una de las clasificaciones más estudiadas es la del modelo OSI (Open System Interconnection, interconexión de sistemas abiertos).

Según la clasificación OSI, la comunicación de varios “Equipos Terminales de Datos” (ETD) se puede estudiar dividiéndola en 7 niveles, que son expuestos desde su nivel más alto hasta el más bajo:

| Capas | Niveles | Categorías |
| - | - | - |
| Capa 7 | nivel de aplicación | Aplicación |
| Capa 6 | nivel de presentación | Aplicación |
| Capa 5 | nivel de sesión | Aplicación |
| Capa 4 | nivel de transporte | Aplicación |
| Capa 3 | nivel de red | Transporte de datos |
| Capa 2 | nivel de enlace de datos | Transporte de datos |
| Capa 1 | nivel físico | Transporte de datos |

A su vez, esos 7 niveles se pueden subdividir en dos categorías, las capas superiores y las capas inferiores. Las 4 capas superiores trabajan con problemas particulares a las aplicaciones, y las 3 capas inferiores se encargan de los problemas pertinentes al transporte de los datos.

Otra clasificación, más práctica y la apropiada para TCP/IP, podría ser la siguiente:

* Capas
* capa de aplicación
* capa de transporte
* capa de red
* capa de enlace de datos
* capa física

Los protocolos de cada capa tienen una interfaz bien definida. Generalmente, una capa se comunica con la capa inmediata inferior, la inmediata superior, y la capa del mismo nivel en otros computadores de la red. Esta división de los protocolos ofrece abstracción en la comunicación.

Una aplicación (capa nivel 7) por ejemplo, solo necesita conocer cómo comunicarse con la capa 6 que le sigue, y con otra aplicación en otro computador (capa 7). No necesita conocer nada entre las capas de la 1 a la 5. Así, un navegador web (HTTP, capa 7) puede utilizar una conexión Ethernet o PPP (capa 2) para acceder a la Internet, sin que sea necesario cualquier tratamiento para los protocolos de este nivel más bajo. De la misma forma, un router sólo necesita de las informaciones del nivel de red para enrutar paquetes, sin que importe si los datos en tránsito pertenecen a una imagen para un navegador web, un archivo transferido vía FTP o un mensaje de correo electrónico.

### Ejemplos de protocolos de red

* Capa 1: Nivel físico
   * Cable coaxial o UTP (categoría 5, categoría 5e, categoría 6, categoría 6a), Cable de fibra óptica, cable de par trenzado, Microondas, Radio, RS-232, RS-485.
* Capa 2: Nivel de enlace de datos
   * ARP, RARP, Ethernet, Fast Ethernet, Gigabit Ethernet, Token Ring, FDDI, ATM, HDLC, CDP.
* Capa 3: Nivel de red
   * IP (IPv4, IPv6), X.25, ICMP, IGMP, NetBEUI, IPX, Appletalk.
* Capa 4: Nivel de transporte
   * TCP, UDP, SPX.
* Capa 5: Nivel de sesión
   * NetBIOS, RPC, SSL.
* Capa 6: Nivel de presentación
   * ASN.1.
* Capa 7: Nivel de aplicación
   * SNMP, SMTP, NNTP, FTP, SSH, HTTP, CIFS (también llamado SMB), NFS, Telnet, IRC, POP3, IMAP, LDAP, Internet Mail 2000, y en cierto sentido, WAIS y GOPHER.
