Capa Transporte

Contenidos

Por encima de la capa 3 o de red hay una capa llamada de transporte. Aquí la complejidad baja respecto a las capas más bajas, existen dos protocolos importantes en este nivel UDP y TCP.

Puertos

Antes de entrar en cada protocolo debemos conocer el concepto de puertos, digamos que una máquina tiene una serie de puertos, estos puertos no es más que un acceso a la máquina, cada puerto enlaza a una aplicación o servicio.

El número total de puertos es de 65535, podemos en principio, exponer cualquier aplicación en cualquier puerto, existen una serie de ellos definidos y muy conocidos por ejemplo el de http es el 80, https 443, sftp o ssh 22…

Imaginemos que en una máquina tenemos dos webs, una en PHP con Apache en el puerto 80 y otra en NodeJS en el puerto 3000, podemos acceder a una u otra de la siguiente forma http://ip-maquina:80 o http://ip-maquina:3000, todas las webs están el puerto 80, por lo que el navegador omite el :80 y si es https el 443.

Los últimos puertos desde el 49152 hasta el último, son dinámicos y se asignan a aplicaciones de cliente, por ejemplo el navegador que se conecta a una web.

UDP

Este protocolo es el más sencillo de la capa transporte, simplemente dice de que puerto a que puerto van los datagramas y no se preocupa de si llegan o si van desordeandos, se usan en DHCP o DNS, donde el mensaje es corto, también en Audio y Vídeo donde es más importante la transmisión en tiempo real que perder un paquete que puede representar un pixel.

UDP DATAFRAME

Básicamente su cabecera indica de que puerto a que puerto va el mensaje. Puertos, longitud de los datos y suma verificación.

TCP

A diferencia de UDP, el protocolo TCP es más complejo, esto quiere decir, que requiere más información pero asegura mejor el envío y recepción de datos.

Las capas más bajas, envían paquetes a una IP de otra IP, pero cada paquete puede ir por un lugar distinto, pueden perderse, pueden no llegar en orden… protocolos como ATM era un protocolo de nivel 3 que aseguraba el envío de datos, pero por varias razones IP gano la batalla, por lo que la red de internet se encarga de mandar paquetes pero no asegura que llegen bien o todos, TCP se encarga de esto en una comunicación entre cliente y servidor.

Lo primero que pasa cuando un cliente se conecta a un socket (o puerto ) de un servidor, le solicita conectarse, este le dice a que puerto (dinámico del cliente debe conectarse) y comienzan a mandarse cosas.

Negociación en tres pasos o Three-way handshake

Utilizan un protocolo de Ventana Corrediza, esto evita que el cliente sature al server o al revés, este protocolo en cada zig zag, manda un ACK, la validación que el mensaje ha sido recibido con éxito, en caso contrario se puede , por otro lado TCP se encarga que los paquetes lleguen por orden.

Resumiendo, TPC le añade complejidad pero asegura la recepción de los paquetes, que vayan por orden y si se pierde alguno reenviar, si llegan dos veces, por ejemplo mando el datagrama el otro equipo envía el ACK pero se pierde y vuelvo a mandar TCP simplemente lo ignora.

Resultado de imagen de tcp datagram

Podemos ver que la cabecera del datagrama TCP es mucho mayor que la de UDP. Igualmente tenemos puerto origen y destino, pero varias cosas más o varios bytes más.

  • Numero de Secuencia: es un número que elige el host para esa conexión.
  • Numero de acuse de recibo: Un número mayor al que el número de secuencia espera.
  • Cabecera: Especifica la longitud de cabecera.
  • Reservado: Se pone a 0, para usos futuros.
  • Flags: Protege de mensajes maliciosos y saturaciones en la red.
  • Tamaño de Ventana: Número máximo que puede meterse en el buffer.
  • Checksum: Suma de verificación.
  • Puntero urgente: Indica la urgencia del mensaje.
  • Opciones: adicionales que no entran en la cabecera.
  • Relleno: Se usa para que la cabecera acabe con un múltiplo de 32 Bits.

Resumen

En Internet la capa 4 es la primera que es de nuestro control al 100% entre las dos máquinas que se comunican, para evitar fallos en las redes IP, que no aseguran la recepción del mensajes ni la conexión, TCP nos ayuda, pero en aquellas conexiones donde la velocidad es fundamental usamos UDP, como streaming de audio o vídeo o donde vamos a mandar menos información que las propias cabeceras TCP.

La siguiente capa se complica, pero digamos que esta capa indica que programa se comunica con cual, el Navegador con un Servidor web, el primero por un socket aleatorio y el segundo por el 443.

Leave a Reply

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.