Saltar al contenido

Protocolos de la capa de aplicación

Definiremos los protocolos de la capa de aplicación como una parte de una aplicación en red.

Las aplicaciones en red constan de protocolos en la capa de aplicación que definen el orden y los formatos en que los procesos intercambian los datos, además definen que acciones se tomen en la transmisión o recepción de un mensaje.

El protocolo de la capa de aplicación tiene que definir:

– El tipo de mensaje intercambiado
– La sintaxis de los mensajes, el tamaño y formato de los campos.
– El significado de los campos.
– Las reglas que definen cuándo y cómo se envía un proceso.

Existen algunos protocolos de la capa aplicación que están definidos en el RFC, siendo así de dominio público. Como por ejemplo el HTTP, no obstante también existen otros que no son públicos.

Cliente y servidor de una aplicación

Habitualmente las aplicaciones que usamos en red o en internet están divididas en dos partes, la parte del cliente y la parte del servidor. Dependiendo de la aplicación, el servidor y el cliente utilizarán un protocolo u otro, en el caso de una aplicación web utilizará el protocolo HTTP. Por otro lado, el protocolo de la capa de transporte será TCP o en algunos casos UDP.

También podemos encontrarnos con aplicaciones que utilicen en un mismo servidor tanto la parte servidor como la parte cliente.

Un socket sería la interfaz encargada de la comunicación y se encuentra entre la capa de aplicación y la capa de transporte.

Cuando desarrollamos aplicaciones para la red el programador controlará la capa aplicación, pero no la capa transporte, para esta última solo podremos elegir el protocolo que se utilizará para transportar los datos.

Direccionamiento de procesos

Cuando queremos enviar un mensaje de un equipo a otro, debemos conocer la dirección IP del otro equipo y el puerto en el que el equipo destino manejará los datos. Así el socket del equipo A enviará el mensaje utilizando la capa de transporte al socket del equipo B, que está identificado por su IP y su puerto. Y finalmente el socket del equipo B se encargará de tratar ese mensaje.

Protocolo de transporte :: UDP y TCP

Características TCP

TCP es un servicio orientado a la conexión, este tipo de protocolo primero establece una ruta entre el cliente y el servidor, es decir, el cliente y el servidor establecen comunicación de la capa de transporte para llegar a un acuerdo (handshaking) antes de que empiece la transmisión de datos desde la capa de aplicación.

La conexión full-duplex permite el envió y recepción de los dos procesos al mismo tiempo.

El protocolo TCP transmite los datos sin errores y en el mismo orden en el que fueron enviados. Aunque no garantiza una frecuencia de envío y puede experimentar retardos. Por último TCP, tiene un sistema para controlar la congestión del tráfico.
Características UDP

Características UDP

El protocolo UDP no está orienta a conexión, por lo tanto no establece previamente una comunicación entre el servidor y el cliente. Por lo tanto, tampoco garantiza que cuando A envíe un mensaje a B este último lo reciba.

UDP no tiene control de congestión, por lo tanto un servidor podrá enviar paquetes a la velocidad que desee, aunque tampoco garantiza que puedan ser recepcionados.