tcp ip model with different layers
Una guía completa de las capas del modelo TCP / IP:
Aprendimos todo sobre Seguridad del cortafuegos en nuestro tutorial anterior. Aquí, en este tutorial, aprenderemos sobre el modelo TCP / IP.
El modelo TCP / IP se refiere al protocolo de control de transmisión y al protocolo de Internet.
El modelo de Internet actual utiliza este modelo de red con fines de comunicación. Lea el Tutoriales de formación sobre redes para una comprensión clara del concepto.
Estos protocolos son simplemente una combinación de las reglas que regulan cada comunicación a través de la red. Estos, a su vez, deciden el camino a seguir para la comunicación entre el origen y el destino o Internet.
El modelo TCP / IP consta de cuatro capas que concluyen el proceso de comunicación general. En este tutorial, analizaremos en profundidad la funcionalidad de cada capa.
Como probador de software, es necesario empatizar con el modelo TCP / IP, ya que las aplicaciones de software funcionan en la capa superior, es decir, la capa de aplicación de este modelo.
Lo que vas a aprender:
lista de empresas que utilizan la computación en la nube
Red de arquitectura
La arquitectura de cuatro capas es la siguiente:
Los protocolos y redes utilizados en este modelo de red se muestran en la siguiente figura:
Resumamos los protocolos y usos principales de cada capa en el modelo TCP / IP con la ayuda del diagrama siguiente.
Funciones de cada capa en el modelo TCP / IP
A continuación se enumeran las diversas funciones de cada capa en el modelo TCP / IP.
Capa de acceso a la red
Las funciones de la capa de acceso a la red se indican a continuación:
- Esta es la capa inferior del modelo TCP / IP e incluye toda la funcionalidad de la capa física y la capa de enlace de datos del modelo de referencia OSI.
- Por tanto, caracteriza los protocolos, hardware y medios que se utilizarán para la comunicación.
- Los paquetes de datos de la capa de Internet se pasan a esta capa para enviarlos al destino a través de un medio físico.
- La tarea principal de esta capa es combinar los bytes de datos en tramas y proporcionar algún mecanismo para la transmisión de tramas de datos IP a través del medio físico.
- Punto a punto (PPP) es el protocolo que se utiliza para establecer un enlace punto a punto en las líneas arrendadas. También se implementa para proporcionar conectividad entre el usuario final y los proveedores de servicios de Internet a través de módems. También admite el aprovisionamiento de direcciones IP a través de enlaces PPP.
- La mayoría de los usuarios finales prefieren un enlace Ethernet que funcione solo en el protocolo de enlace de datos Ethernet. Así se crea PPP sobre Ethernet que permite que las tramas de datos encapsuladas se envíen dentro de las tramas Ethernet.
- PPPoE inicialmente crea un túnel entre los dispositivos de red del usuario final, como el enrutador y el enrutador del ISP. Luego, el enrutador envía tramas PPP a través de ese túnel, ya que el túnel funciona como un enlace punto a punto entre los enrutadores. Ahora los datos también se transmiten a través de redes WAN gracias a esta tecnología.
- PPP también utiliza el proceso de autenticación para verificar la responsabilidad del uso de datos con los ISP. Los métodos incluyen el protocolo de autenticación de contraseña (PAP) y el protocolo de autenticación de protocolo de enlace de canal (CHAP).
Capa de Internet
- La segunda capa desde abajo es la capa de Internet.
- Una vez que los datos están segmentados por TCP o UDP agregando los encabezados correspondientes en el paquete de datos, los enviará a la capa inferior para una mayor comunicación.
- El host de destino al que está destinado el paquete de datos puede residir en alguna otra red cuya ruta se puede alcanzar pasando por varios enrutadores. Es deber de la capa de Internet asignar las direcciones lógicas y enrutar los paquetes de datos de manera eficiente a la red de destino.
- La capa de Internet (IP) es el protocolo más popular que se utiliza para realizar esta tarea.
protocolo de Internet
El propósito de este protocolo es enrutar los paquetes de datos al destino según la información en el encabezado del paquete siguiendo un conjunto de protocolos.
Al agregar un encabezado que tiene la dirección IP del origen y el destino, el segmento recibido de TCP o UDP se convierte en una PDU conocida como paquete. Cuando el paquete llega al enrutador, mira la dirección de destino en el encabezado y luego reenvía el paquete en consecuencia al siguiente enrutador para llegar al destino.
Entendamos esto con un ejemplo:
En la siguiente figura, cuando el host A desea comunicarse con el host B, no utilizará ningún protocolo de enrutamiento ya que ambos están en el mismo rango de red y tienen las direcciones IP del mismo conjunto.
Pero si el Host A quiere enviar un paquete al Host C, entonces, con la ayuda del protocolo, descubre que el host de destino pertenece a otra red. Por lo tanto, el formato anterior buscará en la tabla de enrutamiento para encontrar la dirección del próximo salto para llegar al destino.
En este caso, el host A llegará al host C a través del enrutador A, B y C.Como el enrutador C está conectado directamente a una red de destino a través de un conmutador, el paquete se entrega al Host C.
El enrutador obtiene toda la información relacionada con el enrutamiento de los campos de encabezado IP. La capa de red de TCP / IP (capa de enlace de datos) será responsable de la entrega de un extremo a otro de los paquetes de datos.
Flujo de paquetes en Protocolo de Internet
Encabezado IPV4
- Versión: El IPV4 tiene la versión número 4.
- Longitud del encabezado: Muestra el tamaño del encabezado.
- Campo DS: El campo DS significa campo de servicios diferenciados y se implementa para construir paquetes.
- Largo total: Denota el tamaño del encabezado más el tamaño del paquete de datos.
- Identificación: Este campo se utiliza para la fragmentación de paquetes de datos y para asignar cada campo y, por lo tanto, ayuda a construir el paquete de datos original.
- Banderas: Se usa para denotar el procedimiento de fragmentación.
- Desplazamiento de fragmento: Indica el número de fragmento y el host de origen que los usa para reorganizar los datos fragmentados en el orden correcto.
- Hora de irse: Esto se establece en el extremo del host de origen.
- Protocolo: Denota el protocolo que está utilizando para transmitir datos. TCP tiene el número de protocolo como 6 y UDP tiene el número de protocolo como 17.
- Suma de comprobación del encabezado: Este campo se utiliza para la detección de errores.
- Dirección IP origen: Guarda la dirección IP del host final de origen.
- Dirección IP de destino: Guarda la dirección IP del host de destino.
Discutiremos esto en detalle en nuestros próximos tutoriales.
Capa de transporte
- Esta es la tercera capa desde abajo, ya que es responsable de la transferencia general de datos y es útil para establecer una conectividad lógica de extremo a extremo entre el host de origen y destino y los dispositivos en una red.
- Se utilizan dos protocolos para realizar estas tareas:
- Primero está el Protocolo de control de transmisión (TCP), que es un protocolo confiable y basado en conexiones.
- El segundo es el protocolo de datagramas de usuario (UDP), que es un protocolo sin conexión.
- Antes de explorar estos dos protocolos en profundidad, analizaremos el concepto de NÚMERO DE PUERTO que utilizan ambos protocolos.
Número de puerto:
En una red, un dispositivo anfitrión puede enviar o recibir tráfico de varias fuentes al mismo tiempo.
En tal situación, el sistema no reconocerá a cuál de las aplicaciones pertenecen los datos. Los protocolos TCP y UDP resuelven estos problemas colocando un número de puerto en sus encabezados. Los protocolos de capa de aplicación conocidos se asignan con el número de puerto del rango de 1 a 1024.
En el extremo de origen, a cada sesión TCP o UDP se le asigna un número de puerto aleatorio. La dirección IP, el número de puerto y el tipo de protocolo utilizados en combinación reforman un socket tanto en el origen como en el destino. Como cada socket es exclusivo, varios hosts pueden enviar o recibir tráfico en el mismo intervalo de tiempo.
La siguiente tabla muestra el número de puerto asignado a varios protocolos de la capa de aplicación correspondientes al protocolo de la capa de transporte.
Protocolo de aplicación | Protocolo de transporte | Número de puerto |
---|---|---|
DNS | TCP, UDP | 53 |
HTTP | TCP | 80 |
HTTPS | TCP | 443 |
FTP(control) | TCP | 21 |
FTP (datos) | TCP | 20 |
SSH | TCP | 22 |
Telnet | TCP | 23 |
SMTP | TCP | 25 |
TFTP | UDP | 69 |
Sesión múltiple usando el número de puerto
TCP
- Siempre que la capa de aplicación necesita hacer circular el flujo de gran tráfico o datos, lo envía a la capa de transporte en la que el TCP realiza toda la comunicación de extremo a extremo entre redes.
- TCP configuró inicialmente un proceso de enlace de tres vías entre el origen y el destino y luego divide los datos en pequeños fragmentos conocidos como segmentos, e incluye un encabezado en cada segmento y luego lo reenvía a la capa de Internet.
La siguiente figura muestra el formato del encabezado TCP.
- Apretón de manos de tres vías: Es el proceso implementado por TCP para establecer una conexión entre el host de origen y el de destino en la red. Se utiliza para realizar una transmisión de datos confiable. Implementa banderas SYN y ACK de bits de código del encabezado TCP para realizar la tarea. Proporciona comunicación confiable al realizar un reconocimiento positivo con retransmisión y también se conoce como PAR. El sistema que usa PAR retransmitirá el segmento de datos hasta que reciba el ACK. Siempre que el receptor descarta los datos, el remitente tiene que volver a transmitir los datos hasta que reciba el ACK positivo del receptor.
Hay 3 pasos de protocolo de enlace de tres vías, que son los siguientes:
- Paso 1: El host de origen A quiere establecer una conexión con el host de destino B, transmite un segmento con el SYN y el número de secuencia, que denota que el host A quiere iniciar una sesión de comunicación con el Host B y con qué número de secuencia está definido en ese segmento.
- Paso 2: El host B responde a la solicitud del host A con SYN y ACK configurados en el bit de señal. ACK denota la respuesta del segmento recibido y SYN denota el número de secuencia.
- Paso 3: El host A reconoce la respuesta del host B y ambos establecen una conexión segura entre ellos y luego comienzan la transmisión de datos a través de él.
Como se describe en la siguiente figura, en el proceso de protocolo de enlace de tres vías, en primer lugar, el host de origen envía un encabezado TCP al host de destino estableciendo el indicador SYN. En respuesta, recupera el SYN y el indicador de reconocimiento establecido. El host de destino practica el número de secuencia recibido más 1 como número de reconocimiento.
TCP IP admite el modelo cliente-servidor del sistema de comunicación.
Proceso de apretón de manos de tres vías
- Segmentación de datos :
- Ésta es una de las características del protocolo TCP. La capa de aplicación envía una gran cantidad de datos para su transmisión al destino a la capa de transporte. Pero la capa de transporte limita el tamaño de los datos que se envían de una vez. Esto se hace dividiendo los datos en pequeños segmentos.
- Para reconocer la secuencia de segmentos de datos, se utiliza un número de secuencia en el encabezado TCP y que describe el número de bytes de todo el segmento de datos.
- Control de flujo:
- El host de origen enviará los datos en un grupo de segmentos. El encabezado TCP que tiene un bit de ventana se usa para averiguar el recuento de los segmentos que se pueden enviar en una instancia de tiempo. Se utiliza para eludir el tráfico insignificante en el extremo de destino.
- Cuando se inicia la sesión, el tamaño de la ventana es pequeño, pero a medida que aumenta el tráfico con el tiempo, el tamaño de la ventana puede volverse enorme. El host de destino puede ajustar la ventana de acuerdo con el control del flujo. Por tanto, la ventana se llama ventana deslizante.
- La fuente solo puede transmitir la cantidad de segmentos permitidos por la ventana. Para enviar más segmentos, primero esperará un acuse de recibo del extremo receptor una vez que reciba el ACK, y luego podrá mejorar el tamaño de la ventana según su necesidad.
- En la siguiente figura, el host de destino está mejorando el tamaño de 500 a 600 y luego a 800 después de enviar el ACK de vuelta al host de origen.
- Entrega confiable y recuperación de errores :
- Una vez que el destino recibe el último segmento de la ventana decidida, debe enviar un ACK al extremo de origen. La bandera ACK se establece en el encabezado TCP y el número ACK se coloca como el número de secuencia del byte siguiente supuesto. Si el destino no recibe los segmentos en el orden correcto, no transmitirá el ACK de vuelta a la fuente.
- Esto explica la fuente de que pocos de los segmentos se pierden durante la transmisión y retransmitirá todos los segmentos.
- En la siguiente figura, se ha ilustrado que cuando la fuente no ha recibido el ACK para el segmento con el número de SEQ 200, entonces está retransmitiendo los datos y después de recibir el ACK está enviando la siguiente secuencia del segmento de datos en de acuerdo con el tamaño de la ventana.
- Entrega ordenada :
- El TCP asegura la entrega secuencial de datos al destino. Entrega los datos en el orden en que los recibe de la capa de aplicación para entregarlos al host de destino. Por tanto, para mantener la entrega ordenada, utiliza el número de secuencia durante la transmisión de segmentos de datos.
- Terminación de conexión :
- Cuando se completa la transmisión de datos entre el origen y el destino, el TCP concluirá la sesión enviando banderas FIN y ACK y utiliza un protocolo de enlace de cuatro vías para cerrarla.
Ventana deslizante de TCP y entrega confiable
¿Qué significa referencia indefinida en c ++?
Protocolo de datagramas de usuario (UDP):
Es el protocolo no confiable y sin conexión para la transmisión de datos. En este protocolo, a diferencia de TCP, no genera ningún indicador ACK, por lo que el host de origen no esperará una respuesta del extremo de destino y transmitirá los datos sin demora y esperará el ACK.
En un escenario de tiempo real, se utiliza UDP ya que se elige la eliminación de los paquetes de datos en lugar de esperar a que los paquetes se retransmitan. Por lo tanto, se usa más ampliamente en juegos, ver videos en línea, chatear, etc., donde el reconocimiento de datos no es una preocupación. En estos escenarios, la verificación y corrección de errores se llevan a cabo en la capa de aplicación.
Encabezado UDP:
- Puerto de origen: Clasifica la información del paquete final de origen que tiene un tamaño de 16 bits.
- Puerto de destino : También tiene un tamaño de 16 bits y se utiliza para clasificar el tipo de servicio de datos en el nodo de destino.
- Largo : Indica el tamaño total del datagrama UDP. El tamaño máximo del campo de longitud puede ser el tamaño total del propio encabezado UDP.
- Suma de comprobación : Guarda el valor de suma de comprobación evaluado por el extremo de origen antes de la transmisión. Si no tiene ningún valor, entonces todos sus bits se ponen a cero.
Aplicaciones UDP :
- Proporciona datagramas, por lo que es apropiado para sistemas de archivos de red y túneles IP.
- De uso simple, por lo tanto, se utiliza en DHCP y en el protocolo de transferencia de archivos trivial.
- Ser apátrida lo hace eficiente para aplicaciones de transmisión de medios como IPTV.
- También es adecuado para programas de transmisión de voz sobre IP y en tiempo real.
- Respalda la multidifusión, por lo que es apropiado para servicios de transmisión como Bluetooth y el protocolo de información de enrutamiento.
Capa de aplicación
(i) Esta es la capa superior del modelo TCP / IP.
(ii) Realiza todas las tareas de una capa de sesión, capa de presentación y capa de aplicación del modelo TCP / IP.
cómo ejecutar el archivo jar de Java
(iii) Combina las funciones de interfaz con varias aplicaciones, codificación de datos, traducción de datos y proporciona acceso para que los usuarios se comuniquen con varios sistemas de redes.
Los protocolos de capa de aplicación más comunes se definen a continuación:
# 1) TELNET: Significa protocolo de emulación de terminal. Por lo general, practica el acceso a las aplicaciones del extremo remoto. El servidor telnet que actúa como host inicia una aplicación de servidor telnet para establecer una conexión con el host remoto conocido como cliente telnet.
Una vez establecida la conexión, se presenta al sistema operativo del servidor telnet. Las personas en el extremo del servidor usan su teclado y mouse para operar y acceder al host remoto a través de TELNET.
#2) HTTP: Significa protocolo de transferencia de hipertexto. Es la base de la World Wide Web (WWW). Este protocolo se utiliza para intercambiar el hipertexto entre diferentes sistemas. Es un tipo de protocolo de solicitud-respuesta.
Por ejemplo, Un navegador web como Internet Explorer o Mozilla actúa como un cliente web y la aplicación que se transmite en la PC que aloja el sitio web actuará como un servidor web.
Por lo tanto, el servidor que aprovisiona los recursos como archivos HTML y otras funciones solicitadas por el cliente devuelve un mensaje de respuesta al cliente que tiene el contenido de los datos del estado de finalización y los datos solicitados en la línea del mensaje.
Los recursos HTTP se reconocen y colocan en la red mediante localizadores de recursos uniformes (URL) que implementan los métodos de identificadores de recursos uniformes (URI) HTTP y https.
#3) FTP: Significa protocolo de transferencia de archivos. Se utiliza para compartir o transferir archivos entre dos hosts. El host que ejecuta la aplicación FTP se comporta como el servidor FTP mientras que el otro se comporta como el cliente FTP.
El host del cliente que solicita el uso compartido de archivos requiere la autenticación del servidor para acceder a los datos. Una vez autorizado, puede acceder a cualquier tipo de archivos desde el servidor, enviar o recibir archivos.
# 4) SMTP: El protocolo simple de transporte de correo es un ejercicio para enviar correos electrónicos. Cuando configuramos el host para enviar correos electrónicos, usamos SMTP.
# 5) DNS: Cada uno de los dispositivos host de cualquier red tiene una dirección lógica única denominada dirección IP. Como ya se ha comentado, las direcciones IP son un grupo de tantos números y no es fácil de memorizar. Cuando escribimos cualquier dirección web en un navegador web como Google.com, en realidad estamos solicitando un host que tenga una dirección IP.
Pero no necesitamos memorizar la dirección IP de la página web que estamos solicitando, ya que DNS (servidor de nombres de dominio) asigna un nombre a cada dirección IP lógica y la almacena.
Por lo tanto, cuando escribimos en el navegador de cualquier página web, envía la consulta DNS a su servidor DNS para asignar la dirección IP al nombre. Una vez que obtiene la dirección, se crea una sesión HTTP con la dirección IP.
# 6) DHCP: Cada uno de los dispositivos host de cualquier red requiere una dirección IP para comunicarse con los demás dispositivos de la red. Obtiene esta dirección mediante configuración manual o mediante un protocolo de configuración dinámica de host (DHCP). Si usa DHCP, al host se le asignará automáticamente una dirección IP.
Suponga que una red está compuesta por 10,000 dispositivos host. Luego, asignar la dirección IP manualmente a cada host es muy difícil y también toma tiempo, por lo que usamos el protocolo DHCP para asignar una dirección IP y otra información a los dispositivos host conectados, como la máscara de subred IP o la puerta de enlace.
Los programas de prueba de software funcionarán en esta capa del modelo TCP / IP, ya que proporciona a los usuarios finales para probar los diversos servicios y utilizar esos servicios.
Conclusión
Hemos visto los diferentes protocolos que se utilizan en cada capa del modelo TCP / IP para realizar las tareas asociadas a la capa y sus beneficios en un sistema de comunicación.
Todos los protocolos definidos anteriormente tienen su propio significado y diferentes roles en la prueba y aplicación de las herramientas de software.
PREV Tutorial | SIGUIENTE Tutorial
Lectura recomendada
- Todo sobre los conmutadores de capa 2 y capa 3 en el sistema de red
- Una guía completa de firewall: cómo construir un sistema de red seguro
- Todo sobre los enrutadores: tipos de enrutadores, tabla de enrutamiento y enrutamiento IP
- ¿Qué es la red de área amplia (WAN): ejemplos de redes WAN en vivo?
- ¿Qué son los protocolos HTTP (Protocolo de transferencia de hipertexto) y DHCP?
- Protocolos importantes de la capa de aplicación: protocolos DNS, FTP, SMTP y MIME
- IPv4 vs IPv6: cuál es la diferencia exacta
- ¿Cuál es mi dirección IP y ubicación? (Verifique su IP real aquí)