A diferencia de lo que algunos pudieran pensar, un programador tiene mucho conocimiento acerca de los dispositivos de hardware y por ende, acerca de las redes de internet, ya que es fundamental contar con un manejo claro de los fundamentos de los principales protocolos que existen actualmente. Esto tiene muchos beneficios para los programadores y cualquier persona interesada en las telecomunicaciones o en informática.
¿QUE ES UN PROTOCOLO DE RED?
Los protocolos son nada mas que un conjunto de reglas que se deben seguir para la correcta transmisión de mensajes. Dichas reglas se constituyen de instrucciones que permiten a los dispositivos identificarse y conectarse entre sí, además de aplicar reglas de formateo, para que los mensajes viajen de la forma adecuada de principio a fin. Dichas reglas de formateo determinan si los datos son recibidos correctamente o si son rechazados o ha habido algún tipo de problema en la transferencia de la información.
PROTOCOLOS DE ACCESO AL MEDIO
Como ustedes seguramente ya saben, existe un medio para que un mensaje sea enviado desde el emisor para que llegue al receptor. Existen diversos protocolos para el acceso al medio, los cuales se presentaran a continuación:
PROTOCOLOS DE LA CAPA DE RED
El direccionamiento consiste en asegurar que cualquier dispositivo conectado a una determinada red cuente con una dirección de IP única. Así, se podrá conocer al origen y el destino de los datos en tránsito. Por otro, lado el routing determina el camino por el cual el tráfico debe transitar teniendo como base la dirección IP. La tarea de routing es realizada mediante los routers, no solamente el que tenemos en nuestro hogar, sino los routers de los operadores. A su vez, varios protocolos interactúan con IP para posibilitar la comunicación en cualquier red.
PROTOCOLOS DE LA CAPA DE TRANSPORTE
TCP (Transmission control protocol)
TCP es el aliado de IP para garantizar que los datos se transmiten de manera adecuada a través de Internet. Su función principal es asegurar que el tráfico llegue a destino de una manera confiable. Esta característica de confiabilidad no es posible lograrla únicamente mediante IP. Otras funciones de TCP son:
UDP (User Datagram Protocol)
A diferencia del protocolo TCP, UDP no es tan confiable. Este no cuenta con posibilidad de realizar revisiones en búsqueda de errores o correcciones de transmisiones de datos. Sin embargo, hay ciertas aplicaciones en donde UDP es más factible de utilizar en vez de TCP. Un ejemplo de esto es una sesión de juegos en línea, en donde UDP permite que los paquetes de datos se descarten sin posibilidad de reintentos.
Lo malo es que este protocolo no es recomendado para realizar transferencia de datos. Ya que si algunos paquetes se pierden durante el proceso de transferencia, el resultado final es que el archivo se corrompe, y las capas superiores (capa de aplicación) es quien debe realizar la solicitud para que se vuelva a enviar el datagrama de nuevo. Un archivo corrupto no puede ser utilizado para el fin por el cual fue enviado. Igualmente, para este escenario de juegos en línea o sesiones de streaming de vídeos, UDP es el protocolo recomendado porque es más rápido al no tener que realizar el típico handshake.
PROTOCOLOS DE LA CAPA DE APLICACION
El protocolo HTTP tiene como base a TCP, el cual implementa un modelo de comunicación cliente-servidor. Existen tres tipos de mensajes que HTTP utiliza:
* HTTP GET: Se envía un mensaje al servidor que contiene una URL con o sin parámetros. El servidor responde retornando una página web al navegador, el cual es visible por el usuario solicitante.
* HTTP POST: Se envía un mensaje al servidor que contiene datos en la sección «body» de la solicitud. Esto es hecho para evitar el envío de datos a través de la propia URL. Así como sucede con el HTTP GET.
* HTTP HEAD: Aquí se hace énfasis en la respuesta por parte del servidor. Este mensaje restringe lo que el servidor responde para que solamente responda con la información de la cabecera.
No debemos olvidar el protocolo HTTPS, el cual nos proporciona seguridad punto a punto (entre el cliente y el servidor web). El protocolo HTTPS utiliza el protocolo TLS (Transport Layer Security) que también utiliza TCP por encima.
Muy buen aporte compañero