El protocolo TCP/IP no se corresponde exactamente con el modelo OSI. En vez de tener siete niveles, sólo utiliza cuatro. Normalmente conocido como Conjunto de protocolos de Internet, TCP/IP se divide en estos cuatro niveles:

Nivel de interfaz de red.

Nivel Internet.

Nivel de transporte.

Nivel de aplicación.

Cada uno de estos niveles se corresponde con uno o más niveles del modelo OSI.

Nivel de interfaz de red

El nivel de interfaz de red, que se corresponde con los niveles físico y de enlace de datos del modelo OSI se comunica directamente con la red. Proporciona la interfaz entre la arquitectura de red (como Token Ring, Ethernet) y el nivel Internet.

Nivel Internet

El nivel internet, que se corresponde con el nivel de red del modelo OSI, utiliza varios protocolos para encaminar y entregar los paquetes. Los routers son dependientes del protocolo. Funcionan a este nivel del modelo y se utilizan para enviar paquetes de una red a otra o de un segmento a otro. En el nivel de red trabajan varios protocolos.

Protocolo Internet (IP)
El Protocolo Internet (IP) es un protocolo de conmutación de paquetes que realiza direccionamiento y encaminamiento. Cuando se transmite un paquete, este protocolo añade una cabecera al paquete, de forma que pueda enviarse a través de la red utilizando las tablas de encaminamiento dinámico. IP es un protocolo no orientado a la conexión y envía paquetes sin esperar la señal de confirmación por parte del receptor. Además, IP es el responsable del empaquetado y división de los paquetes requerido por los niveles físico y de enlace de datos del modelo OSI. Cada paquete IP está compuesto por una dirección de origen y una de destino, un identificador de protocolo, un checksum (un valor calculado) y un TTL (tiempo de vida, del inglés time to live). El TTL indica a cada uno de los routers de la red entre el origen y el destino cuánto tiempo le queda al paquete por estar en la red. Funciona como un contador o reloj de cuenta atrás. Cuando el paquete pasa por el router, éste reduce el valor en una unidad (un segundo) o el tiempo que llevaba esperando para ser entregado. Por ejemplo, si un paquete tiene un TTL de 128, puede estar en la red durante 128 segundos o 128 saltos (cada parada, o router, en la red), o una combinación de los dos. El propósito del TTL es prevenir que los paquetes perdidos o dañados (como correos electrónicos con una dirección equivocada) estén vagando en la red. Cuando la cuenta TTL llega a cero, se retira al paquete de la red.

Otro método utilizado por IP para incrementar la velocidad de transmisión es el conocido como «ANDing». La idea del ANDing es determinar si la dirección es de un sitio local o remoto. Si la dirección es local, IP preguntará al Protocolo de resolución de direcciones (ARP) por la dirección hardware de la máquina de destino. Si la dirección es remota, el IP comprueba su tabla de encaminamiento local para encaminarlo al destino. Si existe un camino, el paquete se envía por ahí. Si no existe el camino, el paquete se envía a través del gateway a su destino.

Un AND es una operación lógica que combina los valores de dos bits (0, 1) o dos valores lógicos (verdadero, falso) y devuelve un 1 (verdadero) si los valores de ambas entradas son 1 (verdadero) y devuelve 0 (falso) en caso contrario.

Protocolo de resolución de direcciones (ARP)
Antes de enviar un paquete IP a otro host se tiene que conocer la dirección hardware de la máquina receptora. El ARP determina la dirección hardware (dirección MAC) que corresponde a una dirección IP. Si ARP no contiene la dirección en su propia caché, envía una petición por toda la red solicitando la dirección. Todos los hosts de la red procesan la petición y, si contienen un valor para esa dirección, lo devuelven al solicitante. A continuación se envía el paquete a su destino y se guarda la información de la nueva dirección en la caché del router.

Protocolo inverso de resolución de direcciones (RARP)
Un servidor RARP mantiene una base de datos de números de máquina en la forma de una tabla (o caché) ARP que está creada por el administrador del sistema. A diferencia de ARP, el protocolo RARP proporciona una dirección IP a una petición con dirección de hardware. Cuando el servidor RARP recibe una petición de un número IP desde un nodo de la red, responde comprobando su tabla de encaminamiento para el número de máquina del nodo que realiza la petición y devuelve la dirección IP al nodo que realizó la petición.

Protocolo de mensajes de control de Internet (ICMP)
El ICMP es utilizado por los protocolos IP y superiores para enviar y recibir informes de estado sobre la información que se está transmitiendo. Los routers suelen utilizar ICMP para controlar el flujo, o velocidad, de datos entre ellos. Si el flujo de datos es demasiado rápido para un router, pide a los otros routers que reduzcan la velocidad de transmisión.

Los dos tipos básicos de mensajes ICMP son el de informar de errores y el de enviar preguntas.

Nivel de transporte

El nivel de transporte, que se corresponde con el nivel de transporte del modelo OSI, es el responsable de establecer y mantener una comunicación entre dos hosts. El nivel de transporte proporciona notificación de la recepción, control de flujo y secuenciación de paquetes. También gestiona las retransmisiones de paquetes. El nivel de transporte puede utilizar los protocolos TCP o el Protocolo de datagramas de usuario (UDP) en función de los requerimientos de la transmisión.

Protocolo de control de transmisión (TCP)
El TCP es el responsable de la transmisión fiable de datos desde un nodo a otro. Es un protocolo orientado a la conexión y establece una conexión (también conocida como una sesión, circuito virtual o enlace) entre dos máquinas antes de transferir ningún dato. Para establecer una conexión fiable, TCP utiliza lo que se conoce como «acuerdo en tres pasos». Establece el número de puerto y los números de secuencia de inicio desde ambos lados de la transmisión. El acuerdo consta de tres pasos:

El solicitante envía al servidor un paquete especificando el número de puerto que él planea utilizar y el número de secuencia inicial (ISN).

El servidor responde con su ISN, que consiste en el ISN del solicitante más uno.

El solicitante responde a la respuesta del servidor con el ISN del servidor más uno.

En orden a mantener una conexión fiable, cada paquete tiene que contener:

Un número de puerto TCP origen y destino.

Un número de secuencia para mensajes que tienen que dividirse en partes más pequeñas.

Un checksum que asegura que la información se ha recibido sin error.

Un número de confirmación que indica a la máquina origen qué partes de la información han llegado.

Ventanas deslizantes (Sliding Windows) TCP.

Puertos, sockets y ventanas deslizantes (sliding windows)
Los números de puerto del protocolo se utilizan para hacer referencia a la localización de una aplicación o proceso en particular en cada máquina (en el nivel de aplicación). Al igual que una dirección IP identifica la dirección de un host de la red, el número de puerto identifica la aplicación a nivel de transporte, por lo que proporciona una conexión completa de una aplicación de un host a una aplicación de otro host. Las aplicaciones y servicios (como servicios de archivos e impresión o telnet) pueden configurar hasta 65.536 puertos. Las aplicaciones y servicios TCP/IP suele utilizar los primeros 1.023 puertos. La Internet Assigned Numbers Authority (IANA) los ha asignado como estándar, o puertos por omisión. Cualquier aplicación cliente puede asignar números de puerto dinámicamente cuando sea necesario. Un puerto y una dirección de nodo forman un socket.

Los servicios y las aplicaciones utilizan sockets para establecer conexiones con otro host. Si las aplicaciones necesitan garantizar la entrega de datos, el socket elige el servicio orientado a conexión (TCP). Si la aplicación no necesita garantizar la entrega de los datos, el socket elige el servicio no orientado a la conexión (UDP).

TCP utiliza una ventana deslizante para transferir datos entre hosts. Regula cuánta información puede pasarse a través de una conexión IP antes de que el host de destino envíe una confirmación. Cada equipo tiene una ventana de envío y de recepción que utiliza a modo de búfer para guardar los datos y hacer más eficiente el proceso de comunicación. Una ventana deslizante permite al equipo origen transmitir una serie de paquetes sin tener que esperar a que le sea confirmada la llegada de cada paquete. Esto permite al equipo de destino que pueda recibir los paquetes en otro orden al enviado, y si no se recibe una confirmación en un período de tiempo, se reenvían los paquetes.

Protocolo de datagramas de usuario (UDP)
UDP es un protocolo no orientado a la conexión y es el responsable de la comunicación de datos extremo a extremo. En cambio, a diferencia de TCP, UDP no establece una conexión. Intenta enviar los datos e intenta comprobar que el host de destino recibe los datos. UDP se utiliza para enviar pequeñas cantidades de datos que no necesitan una entrega garantizada. Aunque UDP utiliza puertos, son distintos de los puertos TCP; así pues, pueden utilizar los mismos números sin interferirse.

Nivel de aplicación

El nivel de aplicación se corresponde con los niveles de sesión, presentación y aplicación del modelo OSI, y conecta las aplicaciones a la red. Dos interfaces de programación de aplicaciones (API) proporcionan acceso a los protocolos de transporte TCP/IP, los sockets de Windows y NetBIOS.

Interfaz de sockets de Windows
Los sockets de Windows (WinSock) son una API de red diseñada para facilitar la comunicación entre aplicaciones y jerarquías de protocolos TCP/IP diferentes. Se definió para que las aplicaciones que utilizasen TCP/IP pudiesen escribir en una interfaz estándar. WinSock se deriva de los sockets originales que creó la API para el sistema operativo Unix BSD. WinSock proporciona una interfaz común para las aplicaciones y protocolos que existen cerca de la cima del modelo de referencia TCP/IP. Cualquier programa o aplicación escrito utilizando la API de WinSock se puede comunicar con cualquier protocolo TCP/IP, y viceversa.

TCP/IP y el modelo OSI
Atras
Subir
Hosted by www.Geocities.ws

1