MODELO TCP/IP
Qué es TCP/IP
Modelo de red TCP/IP
TCP/IP significa Protocolo de Control de Transmisión/Protocolo de Internet en español. Hablamos de TCP/IP unidos para referirnos a un modelo de red el cual fue desarrollado por Vinton Cerf y Robert E. Kahn en 1970. Fueron dos de los pesos pesados que trabajaron sobre la red ARPANET, la primera red de intercambio de datos de área amplia o WAN que fue un encargo del Departamento de Defensa de los estados Unidos.
TCP/IP identifica los protocolos utilizamos en las redes y describe el conjunto de guías y reglas generales que hacen posible que un equipo sea capaz de intercambiar información en una red. El modelo asegura una conexión punto a punto y define como deben ser formateados, direccionados transmitidos y enrutados los datos.
El modelo TCP/IP se divide en 4 capas distintas que se definen así:
Capa 1 o de acceso al medio
Esta capa define el acceso físico de los equipos conectados a la red y los protocolos que en él intervienen. También se denomina capa de enlace de red porque incluye todos los hosts accesibles en una red de área local. Esta también define la topología de la red, estrella, malla, anillo, etc, y como se mueven los paquetes entre las interfaces de la capa de Internet.
A pesar de que está definido sobre una red de área local, TCP/IP es extensible a toda la red global, por estar diseñado de forma independiente del hardware que compone la red. Por ello redes de cables de pares trenzados, coaxiales, fibra óptica o incluso redes inalámbricas entran dentro de este modelo y utilizando estos protocolos.
Esta capa de enlace tiene las mismas funciones que la capa 2 o capa de enlace del modelo OSI, no por anda se llaman igual.
Capa 2 o de Internet
Una de las capas más importantes en el modelo por ocuparse de la estructura del paquete de datos básico que circula por la red y de cómo enviarlos a través de la red. La capa de Internet define entonces cómo será el enrutamiento de los datagramas a partir de la administración de las direcciones IP.
Por esto la otra función básica de la capa es la identificación del host en la red mediante una dirección y el direccionamiento de estos datagramas dando saltos entre enrutadores hasta llegar al destino. Es aquí en donde trabaja el protocolo IP, así como otros protocolos muy conocidos como IGMP, ICMP o ARP.
Esta capa hace las mismas funciones que la capa 3 del modelo OSI, también llamada capa de red.
Capa 3 o de transporte
En la capa de transporte es donde tienen protagonismo los puertos lógicos de un router, ya que es la capa que establece los canales básicos que utilizarán las aplicaciones para intercambiar información entre dos puntos. Por tanto, la capa define como será la conexión de un host a otro, asociando un puerto a un tipo de aplicación a su vez con un tipo de datos.
En esta capa hay protocolos que se encargan de la segmentación de paquetes, del control de errores y el control de flujo de estos. El protocolo TCP opera en esta capa, siendo un de tipo orientado a conexión, mientras que el otro quizás más importante es el UDP que no es orientado a conexión. Veremos luego sus diferencias.
Esta capa de transporte hace más o menos las mismas funciones que la capa de transporte del modelo OSI.
Capa 4 o de aplicación
Esta es la capa más cercana al usuario, y la que define los protocolos que usarán las aplicaciones que proporcionan servicios al usuario. Estas aplicaciones se comunican entre ellas con la estructura definida en las 3 capas inferiores, proporcionando su propio encapsulamiento según tipo de aplicación que sea y el tipo de dato con el que trabaja.
En esta capa es donde encontramos algunos protocolos muy famosos como son el HTTP de las páginas web, el FTP para la transferencia de archivos, DHCP como protocolo de configuración dinámica de host o el SMTP para la transferencia de correos.
Corresponde a las capas 5, 6 y 7 del modelo OSI.
Diferencias con las capas del modelo OSI
El modelo TCP/IP es muy conocido sin duda, pero el modelo de referencia es el establecido por la organización ISO (International Organization for Standarization). El objetivo es el mismo, definir el acceso a la red de los equipos y establecer las pautas de funcionamiento mediante capas.
En este caso tenemos un total de 7 capas, 3 más que en el caso anterior para desglosar aún más las funciones de una red de intercambio de datos.
- Capa física: OSI llega más abajo y defina también una capa para los elementos físicos de la conexión. Gestiona los procedimientos a nivel electrónico en el enlace, como por ejemplo el modem.
- Capa de enlace: corresponde a la capa de acceso al medio de TCP/IP
- Capa de red: hace las mismas funciones que la capa de Internet de TCP/IP
- Capa de transporte: esta se corresponde a la capa de transporte del otro modelo
- Capa de sesión: aquí comienzan las capas orientadas a aplicación, siendo esta la que se encarga de controlar y mantener activo el enlace de los hosts y así poder entregar la información
- Capa de presentación: esta asegura que los datos entregados sean de nuevo ensamblados y presentados de forma coherente al usuario
- Capa de aplicación: en esta capa se definen las aplicaciones que permiten al usuario ejecutar acciones y comandos que resultan en una transmisión a través de la red.
Definiendo el Protocolo IP
Protocolo IP o Internet Protocol es el encargado de proporcionar una dirección IP a todos los equipos conectados a una red, ya sean hosts cliente, servidores o incluso el propio router. Opera en la capa de red OSI o de Internet en TCP/IP y es un protocolo no orientado a conexión, por lo que en definitiva se encarga de llevar de datos de un punto a otro.
No orientado a conexión quiere decir que el intercambio de datos se puede hacer sin un acuerdo previo entre cliente y servidor o emisor y receptor. Esto significa que el paquete de datos buscará el camino más rápido por la red hasta llegar al destino, dando saltos de enrutador en enrutador. Este protocolo no asegura que los paquetes lleguen a su destino, ni tampoco que lo hagan en orden. Aunque en esto intervendrán otros protocolos como TCP que asegurarán este hecho.
IP se implementó en 1981 y lo que hace a nivel de red es añadir cabecera al paquete de datos o datagrama para que sea capaz de circular por la red hasta llegar a su destino, dando saltos de enrutador en enrutador por el camino más corto. Este identificar se denomina cabecera IP y en ella se incluye la dirección IP de origen y destino entre otras cosas.
Pero lo más importante para el usuario normal es que identifica a los hosts en la red a través de una dirección IP que puede ser IPv4 o IPv6. IPv4 es un código de 32 bits dividido en 4 octetos separados por puntos que se representa de forma decimal desde el 0 hasta el 255 en cada octeto. IPv6 es su actualización formado por 128 bits separados en grupos de 16 bits separados por dos puntos y representado en formato hexadecimal. Mientras que IPv4 es capaz de direccionar unos 4 mil millones de hosts, IPv6 llega hasta unos cientos de miles de billones.
Protocolo TCP
Ahora vamos al siguiente protocolo que define el modelo, el TCP o Protocolo de Control de Transmisión en español. Se trata de unos de los protocolos fundamentales de Internet habiendo sido creado en 1974 por los fundadores de ARPANET como ya se comentó el principio.
Este protocolo es el encargado de establecer y permitir la conexión entre dos hosts y asegurar el intercambio de datos entre ellos. TCP asegura además una comunicación segura entre los dos puntos, ya que cuenta con acuse de recibo independiente de las capas inferiores. TCP básicamente coge un datagrama IP y le añade su propio encapsulado y cabecera para asegurar su correcto transporte.
Obviamente interviene en la capa de transporte tanto de OSI como TCP/IP y es un protocolo orientado a la conexión a diferencia de IP. Esto significa que los dos equipos que intervienen deben aceptar la conexión antes de efectuar el intercambio de datos. Esto es muy importante para asegurar que los datos llegan y toda la comunicación de estas características:
- La comunicación empieza y finaliza de forma cordial y sin roturas
- Asegura el transporte fiable de datos para que todos lleguen al destino
- Ordena los segmentos de datos cuando llevan a través del protocolo IP
- Los datos pueden formar segmentos de longitud variable
- Puede monitorizar el flujo de datos para no saturar la red, lo que vendría siendo un QoS (Quality of Service)
- Permite circular datos simultáneamente, aunque vengan de distintas funciones, lo que se llama multiplexación
En la capa que interviene TCP hemos hablado de puertos lógicos, también llamados puertos TCP y puertos UDP. En definitiva, son los mismos, y son los que utilizan estos protocolos para efectuar la transmisión de datos.
Cabecera o Segmento TCP
Veamos con más detalle cómo está formada la cabecera TCP. Esta MTU normalmente tiene un tamaño de 1500 bytes, denominándose las de mayor tamaño como Jumbo Frames.
- Puerto de origen y destino: cada uno de ellos ocupa 16 bits, y obviamente identifican el puerto emisor y el receptor que no necesariamente tienen que ser el mismo.
- Número de secuencia: ocupa 32 bits e indica cual es el primer byte de datos del segmento de dato.
- Número de acuse de recibo (ACK): otros 32 bits para indicar el valor del siguiente número de secuencia que recibirá el emisor.
- Longitud de cabecera TCP: son 4 bits para especificar el tamaño de la cabecera.
- Reservado: se definen con tres bits puestos a 0 por ahora.
- Flasg: ocupan 9 bits y hay varios códigos de los cuales no entraremos en detalle.
- Ventana: 16 bits para especificar el número de bytes que se pueden meter en el buffer de recepción. Básicamente es para controlar el flujo.
- Checksum: 16 bits para la comprobación de errores en cabecera y datos.
- Puntero de urgencia: otros 16 bits para indicar qué datos son urgentes.
- Opciones y relleno: asegura que la cabecera termina con un tamaño múltiplo de 32 bits.
Diferencias entre TCP y UDP
Los protocolos TCP y UDP suelen generar dudas a los usuarios tanto si los están estudiando como si están realizando una apertura de puertos en el router, ya podemos abrirlos como UDP o como TCP.
El protocolo UDP trabaja exactamente en la misma capa que el TCP, pero su principal diferencia es que es un protocolo no orientado a conexión. Esto significa que el emisor y receptor no necesitan haber establecido una comunicación previa entre ellos para comenzar el intercambio de datos.
Esto significa que no asegura un transporte fiable de datagramas entre los dos puntos, ya que no realiza ningún tipo de seguimiento de los datos enviados ni el orden en que llegarán. Esto provoca que los datagramas sean mucho más livianos y rápidos, pero menos fiables, así que lo utilizan aplicaciones como NFS y programas P2P. También se utiliza en la transmisión de audio y vídeo por la red y en juegos online para disminuir latencia y aumentar la velocidad de la transmisión.
Estas son las principales ventajas que tienen frente al TCP, mayor velocidad y paquetes más ligeros, pero no asegura que todos los paquetes lleguen ni que lo hagan en un orden correcto.
Comentarios
Publicar un comentario