Protocolo de red de capa 5 de red informática

introducción

Las redes informáticas son una parte inseparable de nuestra vida diaria y nos permiten comunicarnos entre nosotros, transferir datos rápidamente y lograr grandes logros en diversos campos. Para lograr esta comunicación eficiente, los protocolos de red se vuelven cruciales. Los protocolos de red son las reglas y convenciones para la comunicación entre computadoras, que garantizan la transmisión fluida de datos en la red. Entre los protocolos de red, se utiliza ampliamente el protocolo de red de 5 capas, que es una arquitectura que divide todo el proceso de comunicación de la red en 5 capas. Cada capa es responsable de diferentes tareas, coopera entre sí y finalmente logra una transmisión de datos eficiente. Este artículo brindará una introducción detallada al concepto, la función y el papel del protocolo de red de cinco capas y lo llevará a explorar los misterios del protocolo de red.

1. Modelo OSI de siete capas

OSIEl modelo ( Open Systems Interconnection) es un modelo de referencia teórico de un protocolo de comunicación de red , que se utiliza para describir y planificar funciones de comunicación en diferentes niveles en un sistema informático. Fue lanzado por la Organización Internacional de Normalización (ISO) en 1984 y es una arquitectura de comunicación de red estándar.

El modelo OSI divide la comunicación de red en siete capas diferentes, cada capa es responsable de funciones y tareas específicas y se comunica con las capas superior e inferior a través de interfaces . La siguiente es una descripción detallada de cada nivel:

  1. Capa física ( Physical Layer): La capa física es responsable de la transmisión de flujos de bits, es decir, la transmisión de señales de voltaje, corriente u ópticas a través de medios físicos. Define el tipo de cable, especificación de interfaz, distancia de transmisión, etc.

  2. Capa de enlace de datos ( Data Link Layer): La capa de enlace de datos es responsable de dividir el flujo de bits proporcionado por la capa física en tramas de datos y maneja la detección y corrección de errores. Define el formato de trama, MACdirecciones, etc.

  3. Capa de red ( Network Layer): La capa de red es responsable del enrutamiento y reenvío de datos, así como de la resolución de direcciones y el direccionamiento lógico. Define IPdirecciones, protocolos de enrutamiento, etc.

  4. Capa de transporte ( Transport Layer): la capa de transporte proporciona funciones de segmentación de datos y transmisión confiable de un extremo a otro. Define el protocolo de transporte (p. ej. TCP) y el número de puerto, etc.

  5. Capa de sesión ( Session Layer): La capa de sesión es responsable de establecer, administrar y finalizar conexiones de sesión entre dos aplicaciones. Define el mecanismo de control de sesiones y las reglas de sincronización.

  6. Capa de presentación ( Presentation Layer): la capa de presentación maneja la conversión de formato, el cifrado y descifrado de datos para garantizar la compatibilidad de datos entre diferentes sistemas. Define compresión de datos, cifrado y conversión de formato, entre otros.

  7. Capa de aplicación ( Application Layer): La capa de aplicación proporciona la interfaz entre los servicios de red y las aplicaciones para satisfacer las necesidades específicas de los usuarios. Define muchos protocolos de capa de aplicación, como HTTP、FTPetc.SMTP

        +------------------------+
      7 |   Application Layer    |
        +------------------------+
          
        +------------------------+
      6 |   Presentation Layer   |
        +------------------------+
          
        +------------------------+
      5 |      Session Layer     |
        +------------------------+
          
        +------------------------+
      4 |    Transport Layer     |
        +------------------------+
          
        +------------------------+
      3 |      Network Layer     |
        +------------------------+
          
        +------------------------+
      2 |   Data Link Layer      |
        +------------------------+
          
        +------------------------+
      1 |    Physical Layer      |
        +------------------------+

Cada capa funciona de forma independiente y solo intercambia información con capas adyacentes sin involucrar los detalles de implementación específicos de otras capas. Este diseño en capas hace que el desarrollo, mantenimiento y actualización de protocolos de red sean más simplificados y confiables. Además, debido a que las funciones y responsabilidades de cada capa son claras, diferentes proveedores pueden desarrollar e implementar capas específicas de forma independiente, promoviendo así el rápido desarrollo y la interoperabilidad de la tecnología de red.

2. Modelo de referencia TCP/IP

El modelo de referencia TCP/IP es un TCP/IPmodelo que divide la pila de protocolos en diferentes niveles y se utiliza para explicar y describir las funciones y funciones de cada nivel en la comunicación de red. Es la base de la familia de protocolos de comunicación de Internet y también es un protocolo de red ampliamente utilizado.

El modelo de referencia TCP/IP generalmente se divide en cinco capas, de arriba a abajo son la capa de aplicación, la capa de transporte, la capa de red, la capa de enlace de datos y la capa física . Cada capa tiene diferentes funciones y tareas, y trabajan juntas para lograr una transmisión confiable de datos del remitente al receptor.

  1. Capa de aplicación : la capa de aplicación es la capa más cercana al usuario y es responsable de manejar la comunicación entre las aplicaciones de red. Define una serie de estándares y protocolos de comunicación, como HTTP、FTPetc. SMTPLos datos en la capa de aplicación se denominan paquete.

  2. Capa de transporte : la capa de transporte es responsable de procesar la transmisión de datos de un extremo a otro y proporcionar servicios de transmisión de datos confiables. Utiliza un protocolo de capa de transporte (como TCPy UDP) para dividir los datos en un tamaño apropiado y transmitirlos entre el remitente y el receptor.

  3. Capa de red : la capa de red es responsable de la comunicación de datos entre redes y proporciona funciones de direccionamiento y enrutamiento a través del protocolo IP. Empaqueta datos en paquetes para transmitirlos a través de la red hasta su destino.

  4. Capa de enlace de datos : la capa de enlace de datos es responsable de transmitir paquetes de datos en un medio físico, convertir paquetes de datos en flujos de bits y proporcionar funciones de detección y corrección de errores.

  5. Capa física : la capa física define cómo se transmite un flujo de bits de datos a través de un medio físico, como cables, fibras ópticas o señales inalámbricas.

La siguiente figura muestra el proceso de transmisión de datos desde la capa de aplicación a la capa física:

------------------------------------
|      应用层       |
------------------------------------
|              发送数据              |
------------------------------------
                |
------------------------------------
|      传输层       |
------------------------------------
|          TCP/UDP协议          |
|              分割数据              |
|              添加头部              |
|              端口号              |
|              检查差错              |
------------------------------------
                |
------------------------------------
|      网络层       |
------------------------------------
|              IP协议              |
|              寻址              |
|              路由              |
|              打包成数据包              |
------------------------------------
                |
------------------------------------
|      数据链路层       |
------------------------------------
|         数据链路协议          |
|             转换为比特流             |
|      添加帧头和帧尾(开始和结束标记)       |
|            物理层传输            |
------------------------------------

3. El concepto y función del protocolo de red.

网络协议Se refiere a la colección de normas y reglas que se siguen durante la comunicación de datos entre dispositivos de comunicación y computadoras en una red informática . Define el formato de transmisión de datos, los pasos de transmisión y la información de control, etc., para garantizar una comunicación efectiva entre varios dispositivos y aplicaciones en la red informática.

protocolo de redefecto principaltener:

  1. Especificación de transmisión de datos : el protocolo de red define el formato y la estructura de la transmisión de datos en la red, asegurando que diferentes dispositivos puedan analizar y procesar datos correctamente.

  2. Gestión de conexiones de red : el protocolo de red define cómo establecer, mantener y desconectar conexiones de red, incluido el proceso de protocolo de enlace, el control de flujo de transmisión de datos y el manejo de errores.

  3. Seguridad y verificación de datos : los protocolos de red pueden proporcionar mecanismos de cifrado, autenticación y verificación de datos para garantizar la seguridad e integridad de los datos.

  4. Gestión de recursos de red : los protocolos de red pueden definir y gestionar la asignación y programación de recursos de red, incluida la asignación de direcciones IP, la selección de rutas y el control del ancho de banda.

  5. Garantía de calidad de servicio : los protocolos de red pueden definir y gestionar la prioridad, la asignación de ancho de banda y el control de congestión de diferentes aplicaciones y servicios para brindar una mejor calidad de servicio.

En resumen, el protocolo de red es la base de la comunicación en red informática, que proporciona las especificaciones y reglas necesarias para una comunicación efectiva y confiable entre dispositivos de comunicación y computadoras. La implementación y aplicación correcta de los protocolos de red puede garantizar el funcionamiento normal de la comunicación de la red y la transmisión segura de datos.

Los siguientes son los protocolos correspondientes a cada capa del modelo TCP/IP:

nivel protocolo
capa de aplicación HTTP, FTP, SMTP, Telnet, DNS
capa de transporte TCP、UDP
Capa de red IP, ICMP, ARP
capa de enlace Ethernet、PPP

Cabe señalar que la tabla solo enumera algunos protocolos comunes correspondientes a cada capa, de hecho, cada capa contiene más protocolos.

4. Introducción detallada de cada capa del modelo de referencia TCP/IP

1. Capa física

La capa física en el modelo TCP/IP es la capa más baja en la arquitectura de la red, que es responsable de la transmisión de datos real y transmite flujos de bits (es decir, señales eléctricas de 0 y 1) en el medio de la red . Proporciona la interfaz física que convierte el flujo de bits en una señal transportable.

Las principales responsabilidades de la capa física incluyen:

  1. Codificación y decodificación de datos : la capa física convierte señales digitales en señales analógicas y decodifica las señales analógicas transmitidas en señales digitales en el extremo receptor para garantizar una transmisión de datos correcta.

  2. Método de transmisión de datos : la capa física define el método utilizado para transmitir datos en el medio físico, que puede ser transmisión en serie o transmisión en paralelo. También define parámetros como la velocidad de transmisión, el ancho de banda y el voltaje de la señal.

  3. Establecimiento y desmontaje de conexiones físicas : la capa física es responsable de establecer y deshacer conexiones físicas entre los dispositivos emisores y receptores para garantizar una transmisión de datos eficiente.

  4. Estándares de interfaz de medios físicos : la capa física define los estándares de interfaz de los medios físicos (como cables de red, fibras ópticas, etc.) que conectan dispositivos para garantizar la interoperabilidad entre diferentes dispositivos.

  5. Equipos de transmisión básicos : La capa física incluye diversos equipos de transmisión, como repetidores, concentradores, etc., que se utilizan para amplificar y transmitir señales y mejorar la cobertura de la red.

En general, la tarea principal de la capa física es proporcionar un mecanismo para la transmisión confiable de flujos de bits y proporcionar conexiones físicas y medios de transmisión confiables para protocolos de nivel superior.

Analogía con la explicación del caso real.:
La función de la capa física se puede comparar con la de un sistema postal. El sistema de correo es responsable de entregar una carta o paquete del remitente al destinatario y garantizar que la carta no se dañe ni se pierda durante el transporte. En esta analogía, la carta o paquete son los datos, y el sistema postal entre el remitente y el destinatario es la capa física.. La capa física es responsable de empaquetar la carta o paquete, seleccionar el material de empaque apropiado y el método de transmisión (como método de envío postal, método de mensajería) y garantizar que el artículo se entregue al destinatario de manera eficiente y confiable durante el proceso de transmisión, al tiempo que proporciona El servicio de seguimiento y confirmación garantiza la precisión .

2. Capa de enlace de datos

1. Conceptos básicos

La capa de enlace de datos es la segunda capa del modelo TCP/IP y es la principal responsable de convertir el datagrama IP transmitido por la capa de red en un flujo de bits que puede transmitirse a través del enlace físico y garantizar la confiabilidad de la transmisión del canal y la integridad de los datos sexo.

en la capa de enlace de datosIdea principalincluir:

  1. Control de acceso a medios ( Media Access Control,MAC): Define los métodos y reglas para la transmisión de datos entre múltiples dispositivos en un medio compartido, así como el método de identificación de direcciones de los dispositivos. Los protocolos comunes MACson Ethernet CSMA/CD(acceso multipunto con detección de portadora/detección de colisiones) y LAN inalámbrica CSMA/CA(acceso multipunto con detección de portadora/evitación de colisiones).

  2. Control de enlace lógico ( Logical Link Control,LLC): Proporciona una interfaz orientada a servicios de comunicación que permite a la capa superior de red acceder de forma transparente a diferentes medios físicos.

  3. Encapsulación de tramas : la capa de enlace de datos encapsula los datagramas recibidos de la capa de red en tramas y agrega información de control al principio y al final de cada trama, como bits de sincronización, caracteres de inicio y fin de trama, sumas de verificación, etc., para que La El receptor identifica y analiza correctamente los datos.

Por analogía con un caso real, la capa de enlace de datos se puede comparar con el trabajo de clasificación y embalaje de la oficina de correos. Para entregar el correo, en la función de capa de enlace de datos, la oficina postal empaqueta el correo (datagrama de capa de red), pega la dirección correcta (dirección MAC) y el número (número de secuencia de trama) correctos, y luego lo encapsula en un paquete (marco), con etiquetas de apertura y cierre y otra información de control. La oficina de correos del destinatario analiza el paquete, comprueba que la dirección sea correcta y entrega el correo al destinatario correcto (capa de red superior).

El objetivo principal de la capa de enlace de datos es garantizar que los datos se puedan transmitir con precisión en el enlace físico y proporcionar algunos mecanismos para lidiar con errores y retransmisiones que puedan ocurrir durante la transmisión de datos para garantizar una transmisión de datos confiable.

2.Dirección MAC

MACLa dirección ( Media Access Control address), también conocida como dirección física o dirección de hardware, es un identificador único que se utiliza para identificar dispositivos de red informática . A cada dispositivo de red (como una computadora, enrutador, conmutador, impresora de red, etc.) se le asigna una MACdirección única cuando se fabrica.

MACLas direcciones constan de 48 dígitos binarios, normalmente expresados ​​en hexadecimal. Está dividido en 6 grupos, cada grupo contiene 8 o 16 números binarios. Por ejemplo: 00-1A-2B-3C-4D-5E.

MACUna dirección consta de dos partes: un identificador único global ( OUI) y un identificador único de dispositivo ( NIC). OUIes un identificador de 3 bytes asignado a cada fabricante por IEEE( ), utilizado para indicar la identidad del fabricante. Es un identificador de 3 bytes asignado por el propio fabricante, que se utiliza para identificar el valor único del dispositivo del fabricante.Institute of Electrical and Electronics EngineersNIC

MACLas direcciones desempeñan un papel vital en las redes informáticas. En la capa de enlace de datos, cuando un dispositivo de red recibe un paquete de datos, utilizará la MACdirección de destino para determinar si los datos se envían a sí mismo o a otros dispositivos y los procesará en consecuencia. Por lo tanto, MAClas direcciones se utilizan principalmente para direccionar y controlar la transmisión de paquetes de datos.

MACLas direcciones son únicas en todo el mundo, lo que significa que los dispositivos de diferentes fabricantes salen de fábrica MACcon direcciones diferentes. Y MACla dirección es fija durante todo el ciclo de vida del dispositivo, incluso si la ubicación o conexión del dispositivo físico cambia en el entorno de red.

Aunque MACla dirección es única, sólo es LANválida dentro del rango LAN ( ). En el caso de cruzar diferentes redes, es necesario utilizar direcciones de nivel superior, como IPdirecciones

Cabe señalar que MACla dirección se puede modificar, lo que puede ser necesario en algunos casos específicos, pero en general se debe evitar modificar MACla dirección para evitar problemas de comunicación en la red.

3.Protocolo ARP

ARP( Address Resolution Protocol) es un protocolo para IPasignar direcciones a MACdirecciones físicas . En una red informática, cuando un host necesita enviar datos a otro host, necesita conocer MACla dirección del host de destino. Sin embargo, los hosts sólo pueden IPser abordados mediante direcciones, no directamente MAC.

La función del protocolo ARP es resolver la relación de mapeo entre direcciones IP y direcciones MAC . Cuando un host quiere enviar datos a un host de destino, primero verifica la ARPtabla de caché local ( ARP Cache), que registra algunas IPdirecciones conocidas y MAClas direcciones correspondientes.

Si la IPdirección de destino no ARPencuentra la dirección correspondiente MACen la tabla de caché, el host emisor enviará un ARPpaquete de solicitud de transmisión ( ARP Request) para transmitir a otros hosts en la LAN. Este ARPpaquete de solicitud contiene IPla dirección y MACla dirección del host de origen y IPla dirección del host de destino.

Cuando el host de destino recibe ARPel paquete de solicitud, verifica IPsi su propia dirección IPcoincide con la dirección de destino. Si hay una coincidencia, el host de destino envía un ARPpaquete de respuesta de unidifusión ( ARP Reply) al host de origen, que contiene su propia IPdirección y MACdirección.

Cuando el host de origen reciba ARPel paquete de respuesta, agregará la IPdirección y la dirección del host de destino a la tabla de caché para comunicaciones futuras.MACARP

En resumen, el protocolo consiste en determinar la dirección del host de destino ARPa través de la transmisión y los paquetes de solicitud y respuesta correspondientes , de modo que se pueda establecer la relación de mapeo entre direcciones y direcciones , a fin de realizar la entrega correcta de los paquetes de datos.ARPMACIPMAC

3. Capa de red

1. Conceptos básicos

La capa de red es la tercera capa en el modelo TCP/IP, responsable de enrutar y reenviar paquetes de datos entre diferentes redes. Sus funciones principales incluyen la asignación de direcciones IP, el enrutamiento y el reenvío de paquetes de datos .

Por analogía con el caso real, se puede imaginar que la capa de red es como un sistema de oficina de correos. Cuando una persona necesita enviar una carta a un amigo en otra ciudad, primero escribe la dirección del amigo (dirección IP) y luego entrega la carta a su oficina de correos local. El trabajo del sistema de correos es distribuir estas cartas a diferentes ciudades y asegurarse de que sigan la ruta correcta hasta su destino.

En este ejemplo, la capa de red actúa como un sistema de oficina postal. Sus tareas específicas incluyen:

  1. Asignación de dirección IP : La capa de red es responsable de asignar una dirección IP única a cada dispositivo. Así como el sistema de la oficina de correos asigna a todos una dirección única, la capa de red asigna direcciones IP únicas a los dispositivos conectados a la red para que puedan reconocerse y comunicarse entre sí.

  2. Enrutamiento : la capa de red determina la ruta de transmisión de paquetes de datos entre diferentes redes mediante el uso de protocolos de enrutamiento. Así como el sistema de la oficina de correos elige la mejor ruta para las cartas según el sistema de código postal, la capa de red utiliza protocolos de enrutamiento para determinar la mejor ruta para que los paquetes de datos viajen entre diferentes redes.

  3. Paquetización y reenvío de datos : la capa de red divide los datos proporcionados por la capa de transporte superior en paquetes de datos más pequeños (también llamados paquetes de datos) y los agrega al encabezado del paquete en el encabezado de la capa de red. Estos paquetes de datos se reenviarán a través de nodos de red apropiados de acuerdo con la tabla de enrutamiento en la capa de red para garantizar que los paquetes de datos lleguen al destino con la ruta correcta.

A través del proceso anterior, la capa de red desempeña el papel de conectar diferentes redes, de modo que, en teoría, toda la red puede comunicarse sin problemas. El trabajo de la capa de red puede ayudar a realizar la distribución, el reenvío y el enrutamiento de datos, y garantizar la transmisión precisa de los datos y llegar al servicio de red objetivo.

2. protocolo IP

El protocolo IP se refiere al Protocolo de Transmisión de Internet ( Internet Protocol), que es uno de los protocolos más importantes en las redes informáticas. IPEl protocolo utiliza un método de intercambio de paquetes de datos para realizar la comunicación de red, que define el formato, las reglas y los mecanismos de transmisión de datos en la red.

El protocolo IP es principalmente responsable de dos funciones importantes: direccionamiento y enrutamiento . El direccionamiento se refiere a IPla identificación única de dispositivos o hosts en la red a través de direcciones, a través de las cuales IPse pueden enviar datos a los dispositivos de destino. El enrutamiento se refiere al IPproceso de seleccionar una ruta adecuada de acuerdo con la dirección de destino para transmitir el paquete de datos al dispositivo de destino.

IPEl protocolo utiliza un método de comunicación sin conexión, lo que significa que cada paquete de datos es independiente durante la transmisión y no se establece ninguna conexión a largo plazo. Los paquetes de datos pueden pasar a través de múltiples nodos de red durante la transmisión, y estos nodos seleccionan la ruta de transmisión de acuerdo con la tabla de enrutamiento. IPEl protocolo es responsable de transmitir paquetes de datos desde la dirección de origen a la dirección de destino, pero no garantiza que los paquetes de datos lleguen en orden, no se pierdan ni se repitan. Estos problemas deben resolverse en protocolos de capa superior (como TCP) .

IPEl protocolo utiliza una dirección de 32 bits IPpara identificar un dispositivo o host, IPv4utilizando notación decimal con puntos (como 192.168.0.1 ) y IPv6un espacio de direcciones de 128 bits (como 2001:db8:0:1234:0:567:8:1). Además IPde la dirección, IPel protocolo también define otros campos, como versión, longitud del encabezado, tipo de servicio, longitud total, identificador, bandera, desplazamiento del segmento, tiempo de vida, protocolo, suma de verificación del encabezado, dirección IP de origen y dirección IP de destino. esperar.

versión IP formato de dirección IP
IPv4 Cuatro números decimales, cada uno de los cuales va del 0 al 255, separados por puntos, como 192.168.0.1
IPv6 Ocho grupos de números hexadecimales de cuatro dígitos, separados por dos puntos, como 2001:0db8:85a3:0000:0000:8a2e:0370:7334

Una dirección IPv4 consta de números binarios de 32 bits, generalmente expresados ​​en notación decimal con puntos. Cada dígito decimal representa el valor de un número binario de 8 bits. Una dirección IPv4 se divide en una parte de red y una parte de host, donde la parte de red representa la identidad de la red y la parte de host representa la identidad de un host específico.

Una dirección IPv6 consta de números binarios de 128 bits. Para reducir la redundancia, IPv6 utiliza reglas de abreviatura, como eliminar los ceros iniciales, combinar ceros consecutivos y usar dos puntos dobles para representar un grupo de ceros, etc. El aumento de direcciones IPv6 es para solucionar la escasez de direcciones IPv4.

IPEl protocolo es el protocolo central de la red informática, que hace posible la comunicación por Internet. A través IPdel protocolo, diferentes tipos de dispositivos y hosts pueden intercambiar datos e información entre sí, realizando una transmisión global por Internet.

3. Máscara de subred

Una máscara de subred es un método utilizado para dividir direcciones de red. Está representado por un número binario de 32 bits y tiene la misma estructura que una dirección IP. Una máscara de subred divide una red indicando qué bits de una dirección IP se utilizan para la identificación de la red y qué bits se utilizan para la identificación del host .

En una red informática, una dirección IP consta de dos partes: la dirección de red y la dirección del host. Una máscara de subred divide una dirección IP en dos partes: un identificador de red y un identificador de host. El identificador de red se utiliza para indicar la red donde se encuentra la dirección IP y el identificador de host se utiliza para identificar un host específico en la red. El bit 1 en la máscara de subred representa la identificación de la red y el bit 0 representa la identificación del host.

Se puede juzgar si las dos direcciones IP están en la misma red de área local comparando si las partes de identificación de red de las dos direcciones IP son las mismas . Los pasos específicos son los siguientes:

  1. Obtenga las máscaras de subred de dos direcciones IP.
  2. Realice una operación lógica AND en las dos direcciones IP y la máscara de subred.
  3. Al comparar los resultados, si los resultados de la operación lógica Y de las dos direcciones IP y máscaras de subred son los mismos, significa que están en la misma LAN; de lo contrario, no están en la misma LAN.

Por ejemplo, supongamos que hay dos direcciones IP: 192.168.1.100 y 192.168.1.200 con una máscara de subred de 255.255.255.0. Realice una operación lógica AND en las dos direcciones IP y la máscara de subred para obtener los siguientes resultados:

El resultado de la operación AND lógica entre 192.168.1.100 y 255.255.255.0 es 192.168.1.0
El resultado de la operación AND lógica entre 192.168.1.200 y 255.255.255.0 es 192.168.1.0

Se puede ver que el resultado de la operación lógica AND entre las dos direcciones IP y la máscara de subred es el mismo, por lo que están en la misma LAN.

Cabe señalar que si las máscaras de subred de dos direcciones IP son diferentes, incluso si sus partes de identificación de red son las mismas, no necesariamente están en la misma LAN. Por lo tanto, al juzgar si dos direcciones IP están en la misma LAN, además de comparar la parte de identificación de la red, también es necesario considerar si la máscara de subred es la misma.

4. Capa de transporte

1. Conceptos básicos

La capa de transporte en las redes informáticas es una capa en la jerarquía de la red que gestiona la transmisión y conexión de datos. La función principal de la capa de transporte es proporcionar servicios de comunicación de un extremo a otro entre el host de origen y el host de destino .

Las principales tareas de la capa de transporte incluyen:

  1. Segmentación y reensamblaje : la capa de transporte divide los datos de la capa de aplicación en fragmentos más pequeños de datos llamados segmentos y vuelve a ensamblar estos segmentos en el host de destino para restaurar los datos originales. Este proceso de segmentación y reensamblaje puede resolver el problema de la limitación de tamaño y la falta de confiabilidad en la transmisión de la red .

  2. Identificación de puerto : la capa de transporte utiliza números de puerto para identificar aplicaciones en comunicación. Cada aplicación puede utilizar un número de puerto único para que la capa de transporte pueda entregar con precisión los datos recibidos a la aplicación de destino .

  3. Control de transmisión : la capa de transporte garantiza una transmisión de datos confiable mediante la implementación de mecanismos como detección y corrección de errores, control de flujo y control de congestión. Estos mecanismos garantizan la integridad de los datos, la entrega en orden y la confiabilidad .

  4. Multiplexación y demultiplexación : la capa de transporte puede compartir conexiones de red entre múltiples aplicaciones, empaquetando los datos de múltiples aplicaciones en una conexión de capa de transporte para su transmisión y luego descomponiendo los datos en aplicaciones individuales.

Una aplicación práctica de la analogía es el servicio de correo. La capa de transporte se puede comparar con una oficina de correos, que es responsable de gestionar y controlar el proceso de transmisión del correo. Específicamente, la Oficina Postal aborda las limitaciones del tamaño del correo dividiendo el correo en sobres más pequeños (fragmentación y reensamblaje). Cada sobre tiene una dirección única (identificación de puerto) para garantizar que el correo se entregue exactamente al destinatario previsto. Además, Correos proporcionará mecanismos de detección y reparación de errores para garantizar la integridad y confiabilidad del correo. Cuando varias personas utilizan la oficina de correos al mismo tiempo, la oficina de correos puede procesar el correo de diferentes personas mediante multiplexación y demultiplexación para garantizar que todos puedan recibir su propio correo.

En resumen, la capa de transporte es como una capa de servicios clave que lleva a cabo la segmentación de datos, el control del transporte y la gestión de conexiones. Garantiza la confiabilidad y confiabilidad de la transmisión de la red a través de varios mecanismos.

2. Acuerdo

La capa de transporte en las redes informáticas implica los siguientes protocolos de red:

protocolo describir
tcp El Protocolo de control de transmisión (Protocolo de control de transmisión) es un protocolo orientado a la conexión que proporciona una transmisión de datos confiable. Garantiza la confiabilidad de los datos a través del número de secuencia, el mecanismo de confirmación y retransmisión, y realiza el control de flujo y el control de la congestión a través del mecanismo de ventana deslizante. TCP es el protocolo más utilizado en la capa de transporte.
UDP El Protocolo de datagramas de usuario (Protocolo de datagramas de usuario) es un protocolo sin conexión que no ofrece garantías de confiabilidad. Solo proporciona funciones básicas de transmisión de datos y la eficiencia de transmisión es alta. UDP es adecuado para aplicaciones con altos requisitos en tiempo real, como transmisión de video y transmisión de audio.
SCTP El Stream Control Transmission Protocol (Protocolo de Transmisión de Control de Transmisión) es un protocolo orientado a mensajes con garantías de confiabilidad e integridad de los mensajes. SCTP admite transferencias de múltiples transmisiones, conexiones de múltiples hosts y transferencias ordenadas opcionales. SCTP es adecuado para aplicaciones que requieren una transmisión de datos confiable y ordenada.

Estos protocolos desempeñan diferentes roles y funciones en la capa de transporte de las redes informáticas y proporcionan diferentes métodos de transmisión de datos y garantías de confiabilidad. En aplicaciones prácticas, según los requisitos del programa de aplicación y los diferentes entornos de red, se selecciona un protocolo de capa de transporte apropiado para la transmisión de datos.

Además de los protocolos anteriores, existen otros protocolos de capa de transporte, como el Protocolo de control de congestión de datagramas (DCCP) y la Seguridad de la capa de transporte (TLS). Estos protocolos desempeñan diferentes funciones en las redes informáticas y satisfacen las necesidades de diferentes aplicaciones.

3. TCP (apretón de enlace de tres vías y onda de cuatro vías)

TCP (Protocolo de control de transmisión) es un protocolo de capa de transporte basado en flujo de bytes, confiable y orientado a la conexión. Es parte de la pila de protocolos de Internet que se utiliza para transmitir datos en la red .

protocolo TCPefecto principalEs para proporcionar una transmisión de datos confiable . Garantiza la confiabilidad de los datos mediante:

  1. Se establece un canal virtual para cada conexión para garantizar que los datos se transmitan en el orden correcto.
  2. La fiabilidad de los datos se garantiza mediante mecanismos de confirmación y retransmisión. Después de enviar datos cada vez, el receptor enviará un mensaje de confirmación al remitente. Si el remitente no recibe el mensaje de confirmación, reenviará los datos.
  3. Proporcione un mecanismo de control de flujo para evitar que el remitente envíe demasiado rápido y el receptor no pueda procesarlo.

TCPAcuerdoProceso de trabajocomo sigue:

  1. Establecer una conexión : antes de transmitir datos, el remitente y el receptor deben establecer una conexión. El proceso de establecer una conexión se denomina protocolo de enlace de tres vías. El remitente envía un mensaje solicitando una conexión, el receptor responde con un mensaje de confirmación después de recibirlo y el remitente responde con un mensaje de confirmación final.
  2. Transferencia de datos : una vez establecida la conexión, el remitente puede comenzar a enviar datos al receptor. Los paquetes se transmiten en el orden especificado y el receptor envía un acuse de recibo al remitente.
  3. Cerrar la conexión : una vez completada la transferencia de datos, el remitente y el receptor pueden cerrar la conexión. El proceso de cerrar la conexión se llama cuatro ondas. El remitente envía un mensaje solicitando cerrar la conexión, el receptor responde con un mensaje de confirmación, luego el receptor envía un mensaje solicitando cerrar la conexión y el remitente responde con un mensaje de confirmación final.

El proceso de protocolo de enlace de tres vías para establecer una conexión es el siguiente:

  1. El cliente envía un SYNmensaje (sincrónico) al servidor, indicando que el cliente solicita establecer una conexión.
  2. Después de recibir SYNel mensaje, el servidor envía un SYN + ACKmensaje (sincronización + confirmación) como respuesta, indicando que se puede establecer la conexión.
  3. Después de que el cliente recibe SYN + ACKel mensaje del servidor, envía un ACKmensaje (de confirmación), indicando que el cliente confirma que se puede establecer la conexión.
    Una vez establecida la conexión, ambas partes pueden realizar la transmisión de datos.
客户端                  服务器
  |                       |
  |     SYN报文发送        |
  |---------------------> |
  |                       |
  |  SYN + ACK报文发送    |
  | <---------------------|
  |                       |
  |     ACK报文发送        |
  |---------------------> |
  |       连接建立         |
  |                       |

El proceso de cerrar la conexión agitando cuatro veces es el siguiente:

  1. El cliente envía un FINmensaje (fin), indicando que desea cerrar la conexión.
  2. Después de recibir FINel mensaje, el servidor envía un ACKmensaje como respuesta para confirmar la solicitud de cierre de la conexión.
  3. El servidor envía un FINmensaje indicando que el servidor también desea cerrar la conexión.
  4. FINDespués de recibir el mensaje del servidor, el cliente envía un ACKmensaje como respuesta para confirmar que la conexión está cerrada.
客户端                            服务器
  |                                 |
  |  FIN报文发送                    |
  |------------------------------>  |
  |                                 |
  |      ACK报文发送                 |
  | <------------------------------- |
  |                                 |
  |  FIN报文发送                    |
  |------------------------------>  |
  |                                 |
  |      ACK报文发送                 |
  | <------------------------------- |
  |        连接关闭                 |
  |                                 |

La conexión se establece mediante un protocolo de enlace de tres vías y un protocolo de enlace de cuatro vías para cerrar la conexión, TCPlo que garantiza la confiabilidad de la transmisión de datos y el correcto establecimiento y cierre de la conexión.

+--------+                     +-----------+
| 客户端 |                     | 服务器   |
+--------+                     +-----------+
     |                                 |
     |    SYN=1,seq=x                |
     |------------------------------>|
     |                                 |
     |    SYN=1,ACK=1,seq=y, ack=x+1 |
     |<------------------------------|
     |                                 |
     |    ACK=1,seq=x+1, ack=y+1      |
     |------------------------------>|
     |                                 |
     |       请求连接建立             |
     |                                 |
     |                                 |
     |    FIN=1,seq=x                |
     |------------------------------>|
     |                                 |
     |   ACK=1,seq=y, ack=x+1         |
     |<------------------------------|
     |                                 |
     |      通知结束连接              |
     |                                 |
     |    FIN=1,ACK=1,seq=y+1, ack=x |
     |<------------------------------|
     |                                 |
     |    ACK=1,seq=x, ack=y+1        |
     |------------------------------>|
     |                                 |

En resumen, TCPel protocolo es un protocolo de transmisión confiable que garantiza la confiabilidad de los datos mediante el establecimiento de conexiones, mecanismos de confirmación y retransmisión y control de flujo. Es uno de los protocolos de transporte más utilizados en Internet.

4.UDP

UDP(User Datagram Protocol)Es un protocolo de transporte poco confiable y sin conexión para enviar datagramas a través de una red. A diferencia de TCP, UDPno es necesario establecer una conexión antes de transmitir datos y no existe garantía de confiabilidad ni verificación de datos.

UDPEl protocolo funciona de la siguiente manera:

  1. La aplicación encapsula los datos en un paquete ( Datagram) y especifica la dirección IP de destino y el número de puerto.
  2. Los paquetes de datos viajan a través de la red, pero no hay garantía del orden de los paquetes, de su integridad o de si llegan a su destino.
  3. La aplicación receptora recibe el paquete a través de la red.
  4. La aplicación receptora procesa el paquete en función de su dirección IP de origen y número de puerto.
  5. El programa de aplicación extrae los datos del paquete de datos y realiza las operaciones correspondientes.

UDPLas características del acuerdo incluyen:

  1. Sin conexión: el remitente no necesita establecer una conexión con el receptor por adelantado y puede enviar paquetes de datos directamente.
  2. Falta de confiabilidad: el remitente no puede saber si el paquete de datos ha llegado al destino ni puede garantizar el orden del paquete de datos, por lo que no es adecuado para escenarios que requieren una alta confiabilidad en la transmisión de datos.
  3. Rapidez: dado que no es necesario establecer una conexión y garantizar la confiabilidad, UDPla velocidad de transmisión de datos es relativamente rápida.
  4. Simplicidad: TCPen comparación con, UDPel encabezado del protocolo es más pequeño y simple, por lo que es más UDPadecuado en algunas aplicaciones que son sensibles a la sobrecarga de la red, como la transmisión de video en tiempo real, la comunicación de voz, etc.

UDPComúnmente utilizado en las siguientes situaciones:

  1. Aplicaciones en tiempo real: como transmisión de audio y video, comunicación en tiempo real, etc., debido a UDPsu velocidad y simplicidad pueden proporcionar un menor retraso.
  2. Aplicaciones de difusión y multidifusión: UDPlos paquetes de datos se pueden enviar a varios receptores al mismo tiempo.
  3. DNSResolución: la resolución de nombres de dominio se utiliza para UDPenviar solicitudes.

Cabe señalar que debido a UDPla falta de confiabilidad del protocolo, algunos paquetes de datos pueden perderse en algunos casos, por lo que se recomienda utilizar el protocolo en el caso de una transmisión de datos importante o altos requisitos de integridad de datos TCP.

5. Capa de aplicación

1. Introducción básica

La capa de aplicación es la capa más alta de la red informática y proporciona la interfaz entre el programa de aplicación de la red y la capa de transporte de la red. La capa de aplicación es la principal responsable de manejar los servicios de comunicación de las aplicaciones de usuario, permitiendo que las aplicaciones en diferentes redes se comuniquen entre sí e intercambien datos.

El trabajo principal de la capa de aplicación incluye los siguientes aspectos:

  1. Definición de protocolo de aplicación : La capa de aplicación define el formato y las reglas para el intercambio de datos entre aplicaciones, como HTTP, SMTP, FTP y otros protocolos. Estos protocolos describen la estructura, codificación y métodos de transmisión de datos, así como varios detalles de la comunicación. .

  2. Codificación de datos y conversión de formato : la capa de aplicación es responsable de convertir los datos generados por la aplicación a un formato adecuado para la transmisión a través de la red y, en el extremo receptor, a un formato reconocible por la aplicación. Por ejemplo, convierta datos a código ASCII o código Unicode, o convierta datos como audio y video a un formato adecuado para la transmisión.

  3. Segmentación y reensamblaje de datos : cuando la cantidad de datos es demasiado grande, la capa de aplicación es responsable de segmentar los datos y reorganizarlos en datos completos en el extremo receptor. La segmentación mejora la eficiencia de la transferencia al tiempo que garantiza la integridad de los datos.

  4. Control de transmisión de datos : la capa de aplicación es responsable de controlar la transmisión de datos, incluida la velocidad de transmisión, la seguridad, la confiabilidad, etc. Por ejemplo, aumente la velocidad de transmisión estableciendo múltiples conexiones paralelas, garantice la seguridad de los datos mediante el uso de tecnología de cifrado y garantice una transmisión de datos confiable mediante el uso de mecanismos de confirmación y retransmisión.

  5. Autenticación y autorización de usuario : la capa de aplicación puede proporcionar servicios de autenticación y autorización de usuario para garantizar que solo los usuarios legítimos puedan acceder a los recursos de la red y controlar los derechos de operación del usuario. Este tipo de servicio generalmente se implementa mediante métodos de autenticación como nombre de usuario y contraseña.

En resumen, la capa de aplicación es un enlace clave en la red informática responsable de realizar la comunicación entre el programa de aplicación del usuario y la capa de transporte de la red, define las reglas y formatos de comunicación del programa de aplicación y proporciona funciones como el control de la transmisión de datos. , conversión y procesamiento de datos.

2. URL de suma de URI

URI (Uniform Resource Identifier)y URL (Uniform Resource Locator)son ambas formas de identificar y acceder a los recursos de la red. Existe una cierta relación entre ellos, URI es una forma especial de URL. La siguiente tabla muestra sus explicaciones y descripciones:

vocabulario explicar ilustrar
URI Identificador uniforme de recursos (Identificador uniforme de recursos) Se utiliza para identificar y localizar un recurso único, que puede ser cualquier recurso accesible en la red, como páginas web, archivos, etc.
URL Localizador uniforme de recursos (Localizador uniforme de recursos) Es una forma específica de URI, que contiene la dirección completa que apunta a un recurso específico y se puede abrir directamente en el navegador.
Formato Los URI pueden tener muchos formatos diferentes, incluidos URL, URN, etc. La URL es el formato de URI más común utilizado para localizar recursos y especificar cómo acceder a ellos.
usar Se utiliza para identificar y acceder a recursos en la red. Se puede utilizar URI o URL para localizar con precisión recursos en la red, como páginas web, imágenes, vídeos, etc.
relación de contención URL es una implementación concreta de URI y es un subconjunto de URI La URL es una URI en un formato específico, que contiene información de ubicación de los recursos. Por tanto, todas las URL son URI, pero no todas las URI son URL.
ejemplo http://www.ejemplo.com/index.html Esta es una URL típica que indica un enlace a una página de un sitio web bajo el protocolo HTTP.
archivo:///ruta/a/archivo.txt Esta también es una URL que representa la ruta de un archivo local.
urna:isbn:0-486-27557-4 Se trata de una URN que identifica de forma única un número de libro estándar internacional (ISBN). Aunque es un URI, no es una URL porque no especifica una forma específica (como un protocolo de red) para acceder al recurso.

Cabe señalar que, aunque los conceptos de URI y URL son diferentes, a menudo se usan indistintamente en el uso real y el término URL se usa a menudo para referirse a un identificador único de un recurso.

La URL (localizador uniforme de recursos) consta de las siguientes partes:

  1. Protocolo (Protocolo): la primera parte de la URL es el protocolo, que se utiliza para especificar el protocolo de comunicación entre el cliente y el servidor. Los protocolos comunes son: HTTP (para acceso a páginas web), HTTPS (acceso a páginas web cifradas), FTP (protocolo de transferencia de archivos), etc. Ejemplo: http://

  2. Nombre de dominio (nombre de dominio): la segunda parte de la URL es el nombre de dominio, que se utiliza para especificar el servidor donde se encuentra el recurso al que se accederá. Un nombre de dominio se compone de varias partes separadas por puntos (.) y los niveles superiores de nombre de dominio se indican de derecha a izquierda. Ejemplo: www.ejemplo.com

  3. Número de puerto (Puerto): la tercera parte de la URL es el número de puerto, que se utiliza para especificar el puerto que escucha en el servidor. Si no se especifica explícitamente, se utilizará el número de puerto predeterminado. El puerto predeterminado para HTTP es 80 y el puerto predeterminado para HTTPS es 443. Ejemplo: :8080

  4. Ruta (Ruta): La cuarta parte de la URL es la ruta, que se utiliza para especificar la ruta o directorio donde se encuentra el recurso al que se accederá. Las rutas pueden ser absolutas (comenzando con /) o relativas. Ejemplo: /ruta/al/recurso

  5. Parámetros de consulta (Parámetros de consulta): la quinta parte de la URL es el parámetro de consulta, que se utiliza para pasar información adicional o solicitar parámetros al servidor. Los parámetros comienzan con ? y varios parámetros están separados por &. Cada parámetro consta de un par clave-valor, y la clave y el valor están conectados con =. Ejemplo: ?param1=valor1¶m2=valor2

  6. Ancla : la última parte de la URL es el ancla, que se utiliza para especificar una ubicación específica en la página. Los puntos de anclaje comienzan con # seguido de un identificador específico. Ejemplo: #sección1

Suponga que desea acceder a una publicación de blog en su sitio web con una URL de https://www.example.com/blog/article?id=123#comments.

componente ejemplo ilustrar
plan https:// Utilice el protocolo HTTPS para la comunicación de red
nombre de dominio www.ejemplo.com El nombre de dominio del sitio web visitado es www.ejemplo.com
El número de puerto 443 De forma predeterminada, el número de puerto predeterminado 443 se utiliza para HTTPS.
camino /blog/artículo La ruta del recurso al que se accede es /blog/article
parámetros de consulta ?id=123 El valor del parámetro id pasado en el URI es 123
identificador de fragmento #comentarios Navegue a la parte específicamente identificada como comentarios dentro del recurso.

3. protocolo http

1. Introducción básica

HTTP(Hypertext Transfer Protocol)Es un protocolo de capa de aplicación para transmitir hipertexto, que es la base de la comunicación web. El trabajo principal del protocolo HTTP es transmitir información entre el cliente y el servidor, permitiendo al cliente solicitar y recibir recursos web en el servidor .

La forma en que funciona el protocolo HTTP se basa en un modelo de solicitud-respuesta . El cliente envía HTTPun mensaje que contiene la solicitud al servidor y el servidor envía HTTPun mensaje que contiene la respuesta al cliente. El mensaje de solicitud incluye el método de solicitud, solicitud URI(Uniform Resource Identifier), la versión del protocolo, el encabezado de la solicitud y los datos de la solicitud, etc., mientras que el mensaje de respuesta incluye la versión del protocolo, el código de estado, el encabezado de la respuesta y los datos de la respuesta, etc.

El protocolo HTTP tiene las siguientes características:

  1. Sin conexión: cada interacción solicitud-respuesta es independiente y el servidor no guarda ninguna información de estado sobre el cliente. Esto es beneficioso para que el servidor procese múltiples solicitudes de clientes, pero también hace que se establezca una nueva conexión para cada solicitud, lo que aumenta cierta cantidad de sobrecarga.

  2. Sin estado: el servidor no guarda ninguna información de solicitudes anteriores y cada solicitud es independiente. Si necesita mantener el estado del cliente, puede utilizar Cookieel mecanismo necesario para lograrlo.

Las principales tareas del protocolo HTTP incluyen:

  1. Establecer una conexión: cuando el cliente inicia una solicitud al servidor, primero debe establecer TCPuna conexión. Mediante el proceso de protocolo de enlace de tres vías, se establece un vínculo de comunicación confiable entre el cliente y el servidor.

  2. Enviar solicitud: el cliente envía una solicitud HTTP al servidor, incluido el método solicitado ( GET、POSTetc.),URI la versión solicitada y del protocolo , etc. La solicitud puede contener información de encabezado adicional y datos de solicitud, como parámetros de solicitud , Cookieetc.

  3. URIProcesamiento de solicitud: después de recibir la solicitud, el servidor realiza el procesamiento correspondiente de acuerdo con la solicitud y la información del método, como consultar la base de datos, leer archivos, etc. El servidor podrá verificar la legitimidad de la solicitud y generar datos de respuesta.

  4. Enviar una respuesta: el servidor genera un mensaje de respuesta, que incluye la versión del protocolo, el código de estado, el encabezado de la respuesta y los datos de la respuesta . Luego envíe la respuesta al cliente.

  5. Recibir respuesta: después de recibir el mensaje de respuesta enviado por el servidor, el cliente lo analiza según la versión del protocolo y el código de estado. El cliente puede obtener los datos de respuesta y realizar el procesamiento correspondiente, como analizar HTML, representar páginas, etc.

El protocolo HTTP juega un papel clave en la comunicación web, que permite al cliente interactuar con el servidor y obtener los recursos web necesarios. Define las reglas y formatos de comunicación y proporciona un mecanismo de extensión flexible que permite a las aplicaciones web transmitir datos de forma rápida y confiable.

2. Solicitar mensaje

El mensaje de solicitud HTTP consta de tres partes: línea de solicitud, encabezado de solicitud y cuerpo de solicitud.

  1. Línea de solicitud: la línea de solicitud contiene el método de solicitud, la URL solicitada y la versión del protocolo HTTP. Los métodos de solicitud comunes incluyen GET, POST, PUT, DELETE, etc. Por ejemplo:

    GET /index.html HTTP/1.1
    
  2. Encabezado de la solicitud: el encabezado de la solicitud contiene información adicional sobre la solicitud, presentada en forma de pares clave-valor. Los encabezados de solicitud comunes incluyen Host, User-Agent, Accept, Content-Type, etc.

campo de encabezado de solicitud describir ejemplo
Anfitrión Especifica el nombre de dominio y el número de puerto del servidor solicitado. Anfitrión: www.ejemplo.com
Agente de usuario Identifica el agente de usuario que envía la solicitud. Agente de usuario: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, como Gecko) Chrome/88.0.4324.190 Safari/537.36
Aceptar Dígale al servidor qué tipos de contenido de respuesta son aceptables Aceptar: texto/html,aplicación/xhtml+xml,aplicación/xml;q=0.9,imagen/webp, / ;q=0.8
Accept-Language 告诉服务器可接受的响应内容语言 Accept-Language: en-US,en;q=0.9
Accept-Encoding 告诉服务器可接受的响应内容的压缩方法 Accept-Encoding: gzip, deflate, br
Connection 维持持久连接,或关闭连接 Connection: keep-alive
Referer 告诉服务器发送请求的前一页URL Referer: http://www.example.com/page1.html
Cookie 包含之前由服务器设置的cookie Cookie: name=value; name2=value2
Authorization 用于身份验证的凭证信息 Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Content-Type 请求体的媒体类型 Content-Type: application/json
Content-Length 请求体的字节数 Content-Length: 348
If-None-Match 如果资源的ETag与请求头中指定的一致,则返回304 Not Modified If-None-Match: “686897696a7c876b7e”
If-Match 如果资源的ETag与请求头中指定的一致,则进行请求处理 If-Match: “686897696a7c876b7e”

例如:

Host: www.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Content-Type: application/json
  1. 请求主体:请求主体可选,用于传输请求的数据,例如表单数据或JSON数据。在POST请求中常见的请求主体就是要发送的数据。例如:
    {
      "username": "example_user",
      "password": "123456"
    }
    

综合示例:

POST /login HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Content-Type: application/json

{
  "username": "example_user",
  "password": "123456"
}

以上示例是一个使用POST方法向www.example.com/login路径发送JSON数据的HTTP请求报文。

3. 响应报文

HTTP的响应报文是服务器向客户端返回的数据格式,它由三部分组成:响应行、响应头和响应体。下面对每个部分进行详细的介绍,并举例说明。

  1. 响应行:
    响应行包含了响应的状态码和状态码的文本描述,格式为“HTTP版本 状态码 状态码文本描述”。例如:HTTP/1.1 200 OK
  • HTTP版本指明服务器所使用的HTTP协议的版本。
  • 状态码代表了请求的处理结果的状态。常见的状态码有:
    • 200:请求成功
    • 404:资源未找到
    • 500:服务器内部错误

以下是常见的HTTP响应状态码表格说明:

状态码 状态码描述 说明
200 OK 请求成功
201 Created 请求已成功处理,并且已创建了一个新的资源
204 No Content 请求已成功处理,但响应报文中无返回内容
301 Moved Permanently 资源的URL被永久移动到了另一个位置
302 Found 资源的URL被临时移动到了另一个位置
304 Not Modified 资源自从上次请求后未发生过修改,可使用客户端缓存的版本
400 Bad Request 客户端请求的语法错误或无法被服务器理解
401 Unauthorized 请求缺乏有效的身份验证凭证
403 Forbidden 服务器理解请求,但拒绝执行操作,权限不足或者对资源的访问被禁止
404 Not Found 请求的资源在服务器上不存在
500 Internal Server Error 服务器在执行请求时遇到了无法处理的错误
503 Service Unavailable 服务器暂时无法处理请求,一般为过载或维护
  1. 响应头:
    响应头包含了关于响应的一些补充信息,格式为“名称: 值”。常见的消息报头有:
  • Content-Type:指明了响应正文的MIME类型。例如:Content-Type: text/html
  • Content-Length:指明了响应正文的字节长度。例如:Content-Length: 1024
  • Server:指明了服务器的软件信息。例如:Server: Apache/2.4.29 (Unix)
  1. 响应体:
    响应体是服务器返回给客户端的实际数据,它可以是文本、HTML、XML、JSON等格式。请求成功时,响应正文会包含所请求资源的内容;而出现错误时,响应正文可能包含出错信息或者空白。

下面是一个简单的例子:

HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 1024
Server: Apache/2.4.29 (Unix)

<!DOCTYPE html>
<html>
<head>
   <title>Example Page</title>
</head>
<body>
   <h1>Hello, World!</h1>
   <p>This is an example page.</p>
</body>
</html>

在这个例子中,状态行指明了响应的状态是200 OK,消息报头指明了响应正文的MIME类型为text/html,响应正文是一个简单的HTML页面。

4.DNS服务器

1. 基本概念

DNS服务器是一个专门用于域名系统(DNS)的服务器。它的主要功能是将域名解析成相应的IP地址,并将网络请求路由到正确的服务器上。DNS服务器保存着域名和IP地址的对应关系,当用户在浏览器中输入一个域名时,DNS服务器会根据域名查询DNS解析记录,并返回相应的IP地址给用户的计算机,从而使用户能够访问目标网站。DNS服务器也可以进行其他功能,如缓存DNS解析结果以提高解析速度、执行反向DNS解析等。

2. 域名

域名是指用于在互联网上标识和定位网站的字符串。它由多个部分组成,包括顶级域名(TLD)、二级域名(SLD)和子域名(Subdomain)等。

以下是域名的组成及其说明:

组成 说明 示例
协议 域名所使用的网络协议或协议组合 http://或https://
子域 可选的域名部分 blog.
主域 域名的主要部分 example
顶级域 域名的最高级部分 .com

例如,对于URL “http://blog.example.com”,其域名的组成如下:

  • 协议:http://://
  • 子域:blog.
  • 主域:example
  • 顶级域:.com

通过域名,用户可以更容易地记住和访问网站,而不需要记住复杂的IP地址。

以下是一些常见的顶级域名

顶级域名 说明
.com 商业领域,普遍用于商业网站
.org 非营利组织,常用于非盈利性质的组织或个人
.net 网络,常用于网络相关的网站
.edu 教育,主要用于教育机构或学术机构
.gov 政府,用于政府或政府机构
.mil 军事,用于军事组织或军方机构
.int 国际组织,用于国际性组织
.info 信息,常用于提供信息的网站
.biz 商务,用于商务相关的网站
.name 个人名称,用于个人网站
.pro 专业人士,常用于专业人士的网站
.coop 合作社,常用于合作社或合作组织
.museum 博物馆,用于博物馆相关的网站
.aero 航空运输业,用于航空运输业
.int 网际,常用于国际性的互联网机构
.travel 旅游,用于旅游业相关的网站
.jobs 就业机会,用于提供就业机会
.mobi 移动互联网,用于移动互联网相关的网站
.asia 亚洲,用于亚洲地区的网站
.cat 加泰罗尼亚语,用于加泰罗尼亚语言的网站
.eu 欧洲联盟,用于欧洲联盟成员国
.tel 电话号码,用于电话号码相关的网站
.xxx 含有成人内容的网站
.cn 中国,用于中国地区的网站

3. DNS解析域名的过程

域名系统(DNS)通过将域名解析为相应的IP地址来帮助计算机在互联网上定位其他计算机。以下是DNS通过域名查找IP地址的过程:

  1. 用户在浏览器中输入一个域名(例如www.example.com)。
  2. 本地计算机首先检查它的本地DNS缓存,看看是否已经解析过这个域名。如果有,它将返回对应的IP地址,并跳到第6步。
  3. 如果本地缓存没有相应的解析记录,计算机将发送一个DNS查询到本地网络的DNS服务器。
  4. 本地DNS服务器检查它的缓存,如果没有相应的解析记录,它将发起一个迭代查询,开始解析这个域名。
  5. 本地DNS服务器首先询问根域名服务器,根域名服务器知道所有的顶级域名服务器的IP地址。根域名服务器告诉本地DNS服务器.com顶级域名服务器的IP地址。
  6. 本地DNS服务器接着向.com顶级域名服务器发送一个查询请求。
  7. .com顶级域名服务器根据请求返回相应的权威域名服务器的IP地址。权威域名服务器是负责保存特定域名解析记录的服务器。
  8. 本地DNS服务器在知道权威域名服务器的IP地址后,发送一个查询请求给权威域名服务器。
  9. 权威域名服务器检查自己的数据库,找到对应的域名解析记录,并将IP地址返回给本地DNS服务器。
  10. 本地DNS服务器将IP地址存储在缓存中,并将IP地址返回给用户的计算机。
  11. 用户的计算机通过获取到的IP地址与目标计算机建立连接,并开始进行通信。

5. DHCP

Dynamic Host Configuration Protocol (DHCP)是一种网络协议,用于自动分配IP地址、子网掩码、默认网关和DNS服务器的配置给连接到网络上的设备。

DHCP服务是在网络中提供自动IP地址分配和其他网络配置设置的服务。当设备连接到网络时,它会向DHCP服务器发送请求,DHCP服务器会为设备分配一个可用的IP地址,并提供其他网络配置信息。这样,设备就可以自动获得所需的网络配置,而不需要手动配置。DHCP服务可以大大简化网络管理员的工作,同时提供更方便和高效的网络管理。

DHCP服务的工作原理如下:

  1. 设备加入网络时,向网络中的DHCP服务器发送一个DHCP请求。
  2. DHCP服务器收到请求后,在可用的IP地址池中分配一个可用的IP地址,并将其回复给设备。
  3. 设备收到DHCP服务器分配的IP地址,并使用该地址进行网络通信。
  4. DHCP服务器还可以提供其他网络配置信息,如子网掩码、默认网关和DNS服务器的IP地址等。
  5. 设备接受到其他网络配置信息后,可以根据配置信息进行网络设置,以正常使用网络服务。

通过使用DHCP服务,网络管理员可以更方便地管理整个网络,而不需要手动为每个设备分配IP地址和其他网络配置。同时,DHCP还支持IP地址的动态分配和租用,可以在设备不再需要时将分配给它的IP地址回收,以供其他设备使用。这使得网络中的IP地址使用更加高效。

总而言之,DHCP服务是一种自动分配IP地址和其他网络配置的服务,它提供了简化和高效的网络管理方式,使设备能够更方便地连接到网络并使用网络服务。

6. 在浏览器地址栏里输入一个URL,到这个页面呈现出来,中间会发生

以下是从输入URL到页面呈现的基本流程:

  1. 用户在浏览器地址栏中输入URL(统一资源定位符)。
  2. 浏览器通过URL解析出主机名(例如 www.example.com)。
  3. 浏览器使用DNS(域名系统)解析器将主机名转换为IP地址,该IP地址对应于服务器,以便能够建立与服务器的连接。
  4. 浏览器使用HTTP(超文本传输协议)建立与服务器的TCP(传输控制协议)连接。
  5. 建立连接后,浏览器发送一个HTTP请求到服务器,该请求包含请求的资源(例如网页、图像等)的详细信息。
  6. 服务器接收到请求后,根据请求的资源,生成相应的HTTP响应。
  7. 服务器将HTTP响应发送回浏览器。
  8. 浏览器接收到HTTP响应后,解析响应并获取所请求资源的数据。
  9. 浏览器将获取到的数据渲染为用户可见的页面。
  10. 页面呈现完成后,浏览器会继续解析页面上的其他资源(例如脚本、样式表等)并进行相应的处理。

整个过程涉及到多个步骤和技术,包括URL解析、DNS解析、建立连接、发送请求、接收响应、解析和渲染等。这些步骤之间的具体实现可能因浏览器的不同而有所变化,但基本流程是大致相同的。

总结

通过本篇文章的介绍,我们对计算机网络中的五层网络协议有了更深入的了解。首先,我们了解了网络协议的概念以及为什么需要将网络协议分为不同的层次。接着,我们详细介绍了每一层网络协议的功能和作用,从物理层到应用层,每一层都扮演着重要的角色。我们了解了数据在每一层传输的方式以及相应的协议。同时,我们也了解了网络协议的分层模型,如OSI模型和TCP/IP模型,并了解了它们之间的关系。最后,我们讨论了网络协议在实际应用中的作用,如网络安全和网络性能优化。通过学习五层网络协议,我们对计算机网络的运行机制和原理有了更加深入的了解,这对我们在网络相关的工作和学习中都非常有帮助。

Supongo que te gusta

Origin blog.csdn.net/jieyucx/article/details/132560363
Recomendado
Clasificación