Lathack

Modelo en capas TCP/IP

Modelo en capas TCP/IP

Introducción

El primer modelo de protocolo en capas para comunicaciones de internet se creó a principios de la década de los setenta y se conoce con el nombre de modelo de Internet. Como todo protocolo, describe un conjunto de guías generales de operación para permitir que un equipo pueda comunicarse en una red.

El modelo en capas TCP/IP define cuatro categorías de funciones que deben tener lugar para que las comunicaciones sean exitosas. Además, provee conectividad de extremo a extremo especificando cómo los datos deberían ser formateados, direccionados, transmitidos, enrutados y recibidos por el destinatario. modelo tcp

A diferencia del modelo anterior. El modelo TCP/IP posee 4 capas:

Modelo en capas TCP/IP

Capa 4: APLICACIÓN

Esta capa describe los protocolos utilizados por la mayor parte de las aplicaciones para proporcionar servicios de usuario o intercambiar datos de aplicaciones a través de las conexiones de red establecidas por los protocolos de las capas inferiores. Esto puede incluir servicios básicos de soporte de red, como protocolos de enrutamiento y configuración de host. Ejemplos de estos pueden ser protocolos HTTP, FTP, SMTP, DHCP, etc.

Relación Cliente-Servidor

Dentro del modelo en capas tcp/ip existe lo que conocemos como «relación cliente-servidor», es decir, el dispositivo que solicita información se denomina cliente y el dispositivo que responde a la solicitud se denomina servidor.

El cliente comienza el intercambio solicitando los datos al servidor, que responde enviando uno o más streams de datos al cliente. Por ejemplo, si buscamos www.lathack.com nosotros como clientes le estamos pidiendo al servidor a través de una URL ingresar a dicha dirección. Cuyo resultado será devolvernos, por parte del servidor, el sitio web. Los protocolos de capa de Aplicación describen el formato de las solicitudes y respuestas entre clientes y servidores.

Además de la transferencia real de datos, este intercambio puede requerir de información adicional, como la autenticación del usuario y la identificación de un archivo de datos a transferir. Y no solo ocurre en los sitios web, en una red LAN un host puede compartir archivos a otros hosts en red. Funcionando este primero como servidor y los demás como Clientes.

En otras palabras, la capa de aplicación del modelo TCP/IP es similar a las capas 5, 6 y 7 combinadas del modelo OSI, con la función de reunir todo lo que tenga que ver con la generación y formateado del mensaje y cómo se comunican las aplicaciones entre sí.

Capa 3: TRANSPORTE

Sabiendo la relación que existe entre cliente y servidor, hay que tener en cuenta que en esta capa los datos se segmentan con una dirección, tanto de origen y de destino. Aquí es donde entra en juego los Puertos de red.

Puertos de Red

Los servicios basados en TCP y UDP mantienen un seguimiento de las varias aplicaciones que se comunican. Para diferenciar los segmentos y datagramas para cada aplicación, tanto TCP como UDP cuentan con campos de encabezado que pueden identificar de manera exclusiva estas aplicaciones. Estos identificadores únicos son los números de los puertos.

Headers

En el encabezado o Headers de cada segmento hay información relevante para garantizar la integridad del mensaje, los puertos de origen y puertos destino y estados de conexión, entre otros…

El número de puerto de origen es el número para realizar la comunicación, asociado con la aplicación que la origina en el host local. El número de puerto de destino es el número para realizar la comunicación, asociado con la aplicación de destino en el host remoto.

Socket

La combinación del número de puerto de la capa de Transporte y de la dirección IP de la capa de Red asignada al host identifica de manera exclusiva un proceso en particular que se ejecuta en un dispositivo host específico. Esta combinación dentro del modelo en capas tcp/ip se conoce como socket.

Por ejemplo, una solicitud de página Web HTTP que se envía a un servidor Web (puerto 80) y que se ejecuta en un host con una dirección IPv4 de Capa 3 192.168.1.20 será destinada al socket 192.168.1.20:80.

Si el explorador Web que solicita la página Web se ejecuta en el host 192.168.100.48 y el número de puerto dinámico asignado al explorador Web es 49.152, el socket para la página Web será 192.168.100.48:49152

Tipos de Puertos

La cantidad de puertos son 65535 y se dividen en tres tipos:

Puertos bien conocidos (Números del 0 al 1023):

Estos números se reservan para servicios y aplicaciones. Por lo general, se utilizan para aplicaciones como HTTP (80), FTP (21), SSH (22), etc. Al definir estos puertos conocidos para las aplicaciones del servidor, las aplicaciones del cliente pueden ser programadas para solicitar una conexión a un puerto específico y su servicio asociado.

Puertos Registrados (Números 1024 al 49151):

Estos números de puertos están asignados a procesos o aplicaciones del usuario. Cuando no se utilizan para un recurso del servidor, estos puertos también pueden utilizarse si un usuario los selecciona de manera dinámica como puerto de origen

Puertos dinámicos o privados (Números del 49152 al 65535):

También conocidos como puertos efímeros, se suelen asignar de manera dinámica a aplicaciones de cliente cuando se inicia una conexión. Sin embargo, no es muy común que un cliente se conecte a un servicio utilizando un puerto dinámico o privado.

Modelo en capas TCP/IP

Diferencias entre TCP y UDP

Debemos tener en cuenta que en el transporte de datos con respecto al modelo en capas tcp/ip, no solo encontramos  TCP, el cual, esta orientado a la conexión y seguridad del mismo. No obstante, a diario y en muchas comunicaciones, se encuentra el protocolo UDP. El mismo esta orientado a la velocidad, sin importar si se pierden algunos paquetes en el camino. A continuación detallaremos sus funciones.

Conexión TCP

Cada segmento de TCP posee 20 bytes de carga en el encabezado, que encapsulan los datos de la capa de Aplicación, mientras que cada segmento UDP sólo posee 8 bytes de carga. Las funciones adicionales especificadas por TCP están en el mismo orden de entrega y de control de flujo.

Veamos un ejemplo:

En algunas culturas, cuando dos personas se conocen, generalmente se saludan dándose la mano. Ambas culturas entienden el acto de darse la mano como señal de un saludo amigable. Las conexiones en la red son similares. En las conexiones TCP, el cliente del host establece la conexión con el servidor.

Una conexión TCP se establece en tres pasos llamado “Saludo de 3 vías” o “3 way handshake”:

  1. El emisor envía un segmento con el campo o flag ‘SYN’ activado.
  2. El receptor recibe la solicitud y la aprueba devolviendo un segmento con el flag ‘ACK’ activado, y simultáneamente solicita conexión al emisor con el flag ‘SYN’ activado.
  3. El emisor recibe la confirmación de conexión aprobada por el receptor y responde la solicitud de conexión del receptor con un segmento con el flag ‘ACK’ activado.

En este punto la conexión se encuentra establecida y ambos hosts proceden al intercambio de datos. Cuando el intercambio finaliza, se procede a la desconexión, un proceso similar al ‘SYN-ACK/SYN-ACK’ pero con el flag ‘FIN’.

Modelo en capas TCP/IP

Algunas aplicaciones que utilizan TCP son:

  • Exploradores Web
  • E-mail
  • Transferencia de archivos. (FTP, puertos TCP 20 y 21)
Conexión UDP

UDP es un protocolo simple que proporciona las funciones básicas de la capa de transporte. Tiene una sobrecarga mucho menor que TCP, ya que no está orientado a la conexión como tal, y no proporciona los mecanismos sofisticados de retransmisión, secuenciación y control de flujo que ofrecen confiabilidad. Esto no significa que las aplicaciones que utilizan UDP sean siempre poco confiables ni que UDP sea un protocolo inferior. Solo quiere decir que estas funciones no las proporciona. En caso de ser necesario, se deberían implementar aparte.

Hay tres tipos de aplicaciones que son las más adecuadas para UDP:

Aplicaciones multimedia y vídeo en vivo: Pueden tolerar cierta pérdida de datos, pero requieren retrasos cortos o que no haya retrasos. Los ejemplos incluyen VoIP y la transmisión de vídeo en vivo.

Aplicaciones con solicitudes y respuestas simples: Aplicaciones con transacciones simples en las que un host envía una solicitud y existe la posibilidad de que reciba una respuesta o no. Por ejemplo, DNS y DHCP.

Aplicaciones que manejan la confiabilidad por su cuenta: Comunicaciones unidireccionales que no requieran control de flujo, detección de errores, reconocimientos ni recuperación de errores o que puedan ser manejados por la aplicación. Por ejemplo, SNMP.

Capa 2: INTERNET

Este protocolo es el que «marca la diferencia» dentro del modelo en capas tcp/ip, ya que es el componente principal de la capa de Internet. El mismo, define el funcionamiento de los «Paquetes de Datos» y el «Direccionamiento» para identificar los hosts y ubicarlos en la red.

En esta capa es donde los segmentos generados en la capa de transporte son direccionados hacia los hosts correspondientes, tanto dentro de la red como fuera. A cada segmento se le indica una dirección IP de origen y otra de destino, y así como los segmentos poseen una cabecera con puerto de origen y puerto destino, en el caso de la capa de internet los segmentos son encapsulados en lo que se denomina “datagrama”.

Paquetes de Datos

Cuando hablamos de «Paquetes de datos» nos referimos al conjunto de datagramas y cabeceras IP que conforman un mensaje. Estos paquetes podemos dividirlo en 3 elementos:

  1. Una cabecera que contiene generalmente la información necesaria para trasladar el paquete desde el emisor hasta el receptor.
  2. El área que contiene los datos (payload) que se desean trasladar.
  3. La cola (trailer) que comúnmente incluye código de detección de errores.
Direccionamiento

El direccionamiento se divide en dos partes. Dirección de origen y destino.

Para comprender mejor el proceso de envío y recepción de los mensajes podemos hacer la siguiente analogía:

  1. Una persona escribe una carta (Capa de aplicación).
  2. La carta se divide en varias hojas y se organiza en un orden correlativo o segmentos (Capa de transporte)
  3. La carta se guarda en un sobre (paquete de datos) y se indica en el sobre el remitente (dirección origen) y destinatario (dirección de destino)-Capa de internet.
Enrutamiento

En una red de datos existen varios mecanismos para que la entrega se realice. Para el transporte de estos paquetes hacen falta protocolos de enrutamiento y mecanismos físicos.

El paquete, por otra parte, no depende de las otras capas, un paquete de datos no está determinado por lo que transporte. Un paquete no sabe cómo ir del punto A al punto B, solo contiene la información desde dónde parte y dónde quiere llegar. La entrega de paquetes se logra de varias formas y depende del destino, si está dentro o fuera del segmento lógico y el tipo de topología física.

¿Cómo se envían los paquetes en la misma Red Lógica?

Los paquetes se establecen en la red a través de un adaptador LAN (NIC) y los mecanismos físicos están determinados por el tipo de red y la tecnología de interconexión de nodos. En una red LAN, cuyos hosts están interconectados por un switch, los paquetes se entregan directamente al host destino. Tanto las NICs como los switches guardan información que relaciona la dirección IP y MAC de cada NIC de la red, de esta forma el conmutador cierra circuitos de host a host.

Cuando hablamos de enrutamiento nos referimos al proceso de selección de una ruta a través de una o más redes y, aunque es llevado a cabo por todos los equipos, es realizado principalmente por routers, que no son más que hardware especializados en recibir y enviar paquetes por diferentes interfaces de red con el fin de:

  • Proveer una mayor redundancia en el camino.
  • Proporcionar opciones de seguridad.
  • Establecer un uso eficiente en la utilización de recursos.
¿Cómo se envían los paquetes a otra Red?

Aquí es donde entra el concepto de «Gateway» que no hace más que referencia a un dispositivo (Router) que traduce paquetes que vienen de una red y se dirigen a otra. Este posee varias interfaces de red (NICs) asociadas a redes distintas. Es decir, un router puede tener una NIC para las direcciones «192.168.0.0/24» donde va a enviar los paquetes a otra red, mediante otra NIC cuya dirección puede ser «10.0.0.0/24».

Podemos contar con varios protocolos para generar estos caminos de red, no solo el IP, también el RIP, RDISC, RIPng ,ND, etc..

Modelo en capas TCP/IP

Capa 1: ACCESO A LA RED

Esta capa es la encargada de poder volcar la información de un paquete IP a través de un enlace físico NIC a NIC.

Las funciones de esta capa se pueden dividir en dos subcapas: Control de enlace lógico(LLC) y control de acceso al medio(MAC).

Control de enlace lógico (LLC)

La subcapa LLC de Ethernet se ocupa de la comunicación entre las capas superiores e inferiores. Generalmente, esta comunicación se produce entre el software de red y el hardware del dispositivo. La misma, toma los datos del protocolo de red (IP) y agrega información de control para ayudar a entregar el paquete al nodo de destino.

El LLC se implementa en software, y el mismo no depende del hardware. En el caso de una PC, se puede considerar como el controlador de la NIC. Este es un programa que interactúa directamente con el hardware de la NIC para transmitir los datos entre la subcapa MAC y los medios físicos.

Entonces, sus funciones son:

  • Establecer conexión con las capas superiores.
  • Encapsular en tramas los paquetes de red.
  • Identificar el protocolo de la capa de red.
Control de Acceso al Medio (MAC)

La dirección MAC, también llamada dirección física, posee un formato «10-fe-ed-bf-4c-9c» conformada por 6 números hexadecimales.

Los mensajes fueron pasando desde su generación en la capa de aplicación, segmentación en la capa de transporte y el empaquetado en la capa de internet. Finalmente, ese paquete debe volcarse a un medio físico, dicho paquete ahora se encapsula en lo que se denomina «trama». La subcapa mac se encargará de determinar el destino físico de la trama y cuándo y cómo utilizar el medio.

La NIC es quien permitirá convertir los bits en pulsos eléctricos en el caso de un medio de cobre.

Protocolo ARP

Este protocolo se establece en cuatro casos referentes a la comunicación.

Con respecto al Host:

  • Cuando están en la misma red y uno quiere enviar un paquete a otro.
  • Cuando están sobre redes diferentes y deben usar un gateway o router para alcanzar otro host.

Con respecto al Router:

  • Cuando un router necesita enviar un paquete a un host de la misma red.
  • Cuando un router necesita enviar un paquete a un host a través de otro router (en otr red).

Si estamos en un entorno windows, podemos poner en el cmd o terminal lo siguiente: arp –a. Esto pedirá los datos de protocolo y las entradas ARP actuales.

Conclusión
  1. El paquete de datos se convierte en trama en la subcapa LLC.
  2. La trama obtiene direcciones de origen y destino a través de la subcapa MAC. Es decir, el control de acceso al medio se fija en su tabla ARP qué dirección física está asociada a dicha IP.
  3. Se vuelca la trama al medio físico direccionada a la interfaz física (módem, tarjeta de red, conexiones inalámbricas, etc) correspondiente.

 Modelo en capas TCP/IP

Deja una respuesta

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

1 × 2 =

Lathack
Scroll al inicio