Capa de aplicación de red informática

1 modelo de aplicación de red

1.1 Resumen

1.2 Modelo de aplicación de red

1.2.1 Modelo cliente / servidor (cliente / servidor)

1.2.2 Modelo P2P (Peer-to-Peer)

En el modelo P2P, cada computadora no tiene una división fija de clientes y servidores. Por el contrario, cualquier par de computadoras se llama una por una 对等方(Peer), comunicándose directamente entre sí.

2 DNS del sistema de nombres de dominio

DNS es una base de datos distribuida que proporciona servicios para convertir entre nombres de host y direcciones IP. La base de datos distribuida aquí significa que cada sitio solo retiene su propia parte de los datos.

2.1 Nombre de dominio

因特网采用层次树状结构的命名方法. Con este método de denominación, cualquier host o enrutador conectado a Internet tiene un nombre jerárquico único, es decir 域名(Domain Name).

Los nombres de dominio tienen una estructura jerárquica, de arriba a abajo: nombre de dominio raíz, nombre de dominio de nivel superior y nombre de dominio de segundo nivel.

DNS puede usar UDP o TCP para la transmisión, y el número de puerto usado es 53. En la mayoría de los casos, DNS usa UDP para la transmisión, lo que requiere que los resolutores de nombres de dominio y los servidores de nombres de dominio manejen los tiempos de espera y las retransmisiones para garantizar la confiabilidad. En dos casos, se utiliza TCP para la transmisión:

  • Si la respuesta devuelta supera los 512 bytes (UDP solo admite hasta 512 bytes de datos).
  • Transferencia de zona (la transferencia de zona es la parte de los datos que el servidor de nombres de dominio primario transmite al servidor de nombres de dominio secundario).

2.2 Servidor de nombres de dominio

因特网的域名系统被设计成一个联机分布式的数据库系统,并采用客户/服务器模型. Hay muchos servidores DNS, que se dividen en tres capas de acuerdo con la estructura jerárquica, el servidor de nombres de dominio raíz, el servidor de nombres de dominio superior y el servidor de nombres de dominio de autoridad.

2.3 Proceso de resolución de nombres de dominio

La resolución de nombres de dominio se refiere al proceso de asignar nombres de dominio a direcciones IP o asignar direcciones IP a nombres de dominio. El primero se denomina análisis directo y el segundo, análisis inverso.

  • Cuando el cliente necesita una resolución de nombre de dominio, construye uno a través del cliente DNS local DNS请求报文y se lo UDP数据报envía por medio 本地域名服务器.
  • Hay dos formas de resolución de nombres de dominio: consulta recursiva y consulta que combina recursividad e iteración .

3 Protocolo de transferencia de archivos FTP

El Protocolo de transferencia de archivos (FTP) es el protocolo de transferencia de archivos más utilizado en Internet.

  • Proporcionar capacidades de transferencia de archivos entre diferentes tipos de sistemas host (los sistemas de hardware y software pueden ser diferentes).
  • Proporcione a los usuarios la capacidad de administrar archivos en el servidor FTP remoto mediante la administración de la autoridad del usuario.
  • 公用文件共享La capacidad de proporcionar FTP anónimo .

FTP usa TCP para conectarse y requiere dos conexiones paralelas para transferir un archivo:

  • Conexión de control: El servidor abre el puerto número 21 y espera la conexión del cliente. Después de que el cliente establece activamente la conexión, utiliza esta conexión para transmitir el comando del cliente al servidor y devolver la respuesta del servidor.
  • Conexión de datos: se utiliza para transmitir datos de un archivo, el número de puerto es 20.

Según si la conexión de datos se establece activamente en el lado del servidor, FTP tiene dos modos: activo y pasivo:

  • Modo activo: el servidor establece activamente una conexión de datos. El número de puerto en el lado del servidor es 20 y el número de puerto en el lado del cliente es aleatorio, pero debe ser mayor que 1024, porque 0 ~ 1023 son números de puerto bien conocidos.

  • Modo pasivo: el cliente establece activamente una conexión de datos, donde el número de puerto del cliente lo especifica el cliente y el número de puerto del servidor es aleatorio.

El modo activo requiere que el cliente abra el número de puerto al servidor y se debe configurar el firewall del cliente. El modo pasivo solo necesita abrir el número de puerto en el lado del servidor y no se requiere firewall en el lado del cliente. Pero el modo pasivo debilitará la seguridad en el lado del servidor, porque se abren demasiados números de puerto.

4 Protocolo de configuración dinámica de host DHCP

DHCP (Protocolo de configuración dinámica de host) proporciona un modo de red plug-and-play, y los usuarios ya no necesitan configurar manualmente direcciones IP y otra información.

El contenido de la configuración DHCP no es solo la dirección IP, sino también la máscara de subred y la dirección IP de la puerta de enlace.

El proceso de trabajo de DHCP es el siguiente:

  1. El cliente envía un mensaje Discover. La dirección de destino del mensaje es 255.255.255.255:67 y la dirección de origen es 0.0.0.0:68. El mensaje se coloca en UDP y el mensaje se transmite a todos los hosts en la misma subred. Si el cliente y el servidor DHCP no están en la misma subred, se requiere un agente de retransmisión.
  2. Después de recibir el mensaje Descubrir, el servidor DHCP envía un mensaje Oferta al cliente, que contiene la información que el cliente necesita. Dado que el cliente puede recibir información de varios servidores DHCP, el cliente debe tomar una decisión.
  3. Si el cliente selecciona la información proporcionada por un servidor DHCP, envía un mensaje de solicitud al servidor DHCP.
  4. El servidor DHCP envía un mensaje Ack, indicando que el cliente puede usar la información que se le proporciona en este momento.

5 Acuerdo de correo electrónico

El correo electrónico es un método de comunicación asincrónico y la comunicación no requiere que ambas partes estén presentes al mismo tiempo. El correo electrónico envía el correo al servidor de correo utilizado por el destinatario y lo coloca en el buzón del destinatario, que puede acceder al servidor de correo utilizado por él mismo para leer en cualquier momento.

Un sistema de correo electrónico consta de tres partes: agente de usuario, servidor de correo y protocolo de correo .

El protocolo de correo incluye un protocolo de envío y un protocolo de lectura. El protocolo de envío se usa comúnmente SMTP, y el protocolo de lectura se usa comúnmente POP3 e IMAP.

5.1 Protocolo simple de transferencia de correo SMTP

Dado que SMTP solo puede enviar códigos ASCII, la extensión de correo de Internet MIME puede enviar archivos binarios. MIME no cambió ni reemplazó a SMTP, pero aumentó la estructura del cuerpo del correo y definió reglas de codificación no ASCII.

5.2 Protocolo de oficina postal POP3

La característica de POP3 es que mientras el usuario lea el correo del servidor, el correo se borrará. Pero la última versión de POP3 no puede eliminar el correo.

5.3 Protocolo de acceso a mensajes de Internet IMAP

El Protocolo de acceso a mensajes de Internet (IMAP) es mucho más complicado que POP. IMAP proporciona a los usuarios comandos para crear carpetas, mover correo entre diferentes carpetas y consultar el correo en carpetas remotas IMAP服务器维护了会话用户的状态信息.

Otra característica de IMAP es 允许用户代理只获取报文的某些部分que, por ejemplo, solo se puede leer el encabezado de un mensaje o una parte de un mensaje MIME de varias partes.

En el protocolo IMAP, los correos del cliente y del servidor se mantienen sincronizados. Si los correos no se eliminan manualmente, los correos del servidor no se eliminarán. IMAP permite a los usuarios acceder al correo en el servidor en cualquier momento y lugar.

6 Protocolo HTTP y World Wide Web

6.1 Descripción general de la World Wide Web

La World Wide Web (WWW) es un espacio de datos en el que: una cosa útil se denomina "recurso" y se identifica mediante un "Localizador uniforme de recursos" (URL) global. Estos recursos se transmiten a los usuarios a través del Protocolo de transferencia de hipertexto (HTTP) y los recursos se obtienen haciendo clic en el enlace.

6.2 Protocolo de transferencia de hipertexto HTTP

HTTP define cómo el navegador (proceso del cliente web) solicita un documento web del servidor web y cómo el servidor transmite el documento al navegador.

Desde un punto de vista jerárquico, HTTP es un protocolo de capa de aplicación orientado a transacciones, que especifica el formato y las reglas de la solicitud y la respuesta entre el navegador y el servidor, y es capaz de intercambiar archivos de manera confiable (incluido el texto) en la World Wide Web. , Sonido, imágenes y otros archivos multimedia).

6.2.1 Funciones

Tanto las conexiones no persistentes como las conexiones persistentes se producen cuando TCP establece el tercer apretón de manos de la conexión .

Para conexiones no persistentes , 每个网页元素对象(如JPEG图形、Flash 等)的传输都需要单独建立一个TCP连接como se muestra en la figura (el tercer segmento de reconocimiento lleva la solicitud del cliente para el documento World Wide Web). En otras palabras, el tiempo requerido para solicitar un documento de la World Wide Web es el tiempo de transmisión del documento (proporcional al tamaño del documento) más el doble del tiempo de ida y vuelta RTT (un RTT se usa para conexiones TCP y el otro RTT se usa para solicitar y recibir documentos) .

Conexión persistente significa que el servidor web aún mantiene esta conexión después de enviar una respuesta, de modo que el mismo cliente y servidor pueden continuar transmitiendo mensajes de respuesta y solicitud HTTP posteriores en esta conexión.

持久连接Está dividido 非流水线y 流水线de dos formas.
Para el 非流水线método, el cliente puede enviar la siguiente solicitud después de recibir la respuesta anterior;
el método predeterminado de HTTP / 1.1 es usar 流水线una conexión persistente. En este caso, el cliente emite inmediatamente una solicitud cada vez que encuentra una referencia de objeto, por lo que el cliente puede emitir solicitudes continuamente para cada objeto referenciado una por una. Si todas las solicitudes y respuestas se envían continuamente, todos los objetos referenciados experimentan un retraso total de 1 RTT, en lugar de un método no canalizado, cada referencia debe tener 1 retraso RTT.

6.2.2 Estructura del mensaje HTTP

HTTP está orientado a texto, por lo que cada campo del mensaje es una cadena de códigos ASCII y la longitud de cada campo es incierta. Hay dos tipos de mensajes HTTP:

  • Solicitar mensaje de solicitud de mensaje enviado desde el cliente al servidor
  • Respuesta mensaje-respuesta del servidor al cliente

P.ej:

7 puertos de uso común

solicitud Protocolo de capa de aplicación El número de puerto Protocolo de la capa de transporte Observaciones
DNS DNS 53 UDP / TCP Utilice TCP cuando la longitud supere los 512 bytes
protocolo de configuración huésped dinámico DHCP 67/68 UDP
Protocolo Simple de Manejo de Red SNMP 161/162 UDP
Protocolo de transferencia de archivos FTP 20/21 TCP Conexión de control 21, conexión de datos 20
Protocolo de terminal remoto TELNET 23 TCP
Protocolo de Transferencia de Hipertexto HTTP 80 TCP
Protocolo simple de transferencia de correo SMTP 25 TCP
Protocolo de lectura de correo POP3 110 TCP
Protocolo de acceso a mensajes de Internet IMAP 143 TCP

8 Proceso de solicitud de página web

8.1 Información del host de configuración de DHCP

  • Suponiendo que el host no tiene una dirección IP y otra información al principio, primero debe usar DHCP para obtenerla.

  • El host genera un mensaje de solicitud DHCP y coloca este mensaje en un segmento de mensaje UDP con el puerto de destino 67 y el puerto de origen 68.

  • El segmento de mensaje se coloca en un datagrama IP con una dirección IP de destino de transmisión (255.255.255.255) y una dirección IP de origen (0.0.0.0).

  • El datagrama se coloca en una trama MAC, que tiene una dirección de destino de FF: FF: FF: FF: FF: FF, y se transmitirá a todos los dispositivos conectados al conmutador.

  • Después de recibir la trama de transmisión, el servidor DHCP conectado al conmutador se descompone continuamente hacia arriba para obtener datagramas IP, segmentos UDP y mensajes de solicitud DHCP, y luego genera un mensaje DHCP ACK, que contiene la siguiente información: dirección IP, servidor DNS Dirección IP, dirección IP y máscara de subred del enrutador de puerta de enlace predeterminado. El mensaje se coloca en el segmento de mensaje UDP, el segmento de mensaje UDP se coloca en el datagrama IP y, finalmente, en la trama MAC.

  • La dirección de destino de la trama es la dirección MAC del host solicitante, porque el conmutador tiene capacidad de autoaprendizaje. Después de que el host envía una trama de transmisión antes, registra la entrada de la tabla de intercambio de la dirección MAC en su interfaz de reenvío, por lo que ahora el conmutador puede saber directamente a cuál ir La interfaz envía la trama.

  • Una vez que el host recibe la trama, descompone continuamente el mensaje DHCP. Luego configure su dirección IP, máscara de subred y dirección IP del servidor DNS, e instale la puerta de enlace predeterminada en su tabla de reenvío de IP.

8.2 ARP resuelve la dirección MAC

  • El host genera un socket TCP a través del navegador y el socket envía una solicitud HTTP al servidor HTTP. Para generar el socket, el host necesita conocer la dirección IP correspondiente al nombre de dominio del sitio web.

  • El host genera un mensaje de consulta de DNS, que tiene el puerto 53 porque el número de puerto del servidor DNS es 53.

  • El mensaje de consulta DNS se coloca en un datagrama IP cuya dirección de destino es la dirección IP del servidor DNS.

  • El datagrama IP se coloca en una trama de Ethernet, que se enviará al enrutador de la puerta de enlace.

  • El proceso DHCP solo conoce la dirección IP del enrutador de la puerta de enlace.Para obtener la dirección MAC del enrutador de la puerta de enlace, se requiere el protocolo ARP.

  • El host genera un mensaje de consulta ARP que contiene la dirección IP del enrutador de la puerta de enlace y coloca el mensaje de consulta ARP en una trama Ethernet con una dirección de destino de transmisión (FF: FF: FF: FF: FF: FF), y Envíe la trama Ethernet al conmutador y el conmutador reenvía la trama a todos los dispositivos conectados, incluido el enrutador de la puerta de enlace.

  • Después de recibir la trama, el enrutador de la puerta de enlace descompone continuamente el paquete ARP hacia arriba y encuentra que la dirección IP que contiene coincide con la dirección IP de su interfaz, por lo que envía un paquete de respuesta ARP que contiene su dirección MAC y lo envía de vuelta al host.

8.3 DNS resolver nombre de dominio

  • Después de conocer la dirección MAC del enrutador de la puerta de enlace, puede continuar con el proceso de resolución de DNS.

  • Una vez que el enrutador de la puerta de enlace recibe la trama de Ethernet que contiene el mensaje de consulta de DNS, extrae el datagrama de IP y determina el enrutador al que se debe reenviar el datagrama de IP de acuerdo con la tabla de reenvío.

  • Debido a que el enrutador tiene dos protocolos de enrutamiento, el protocolo de puerta de enlace interno (RIP, OSPF) y el protocolo de puerta de enlace externa (BGP), la tabla de enrutamiento se ha configurado con el enrutador de puerta de enlace al servidor DNS.

  • Después de llegar al servidor DNS, el servidor DNS extrae el mensaje de consulta DNS y busca en la base de datos DNS el nombre de dominio a resolver.

  • Después de encontrar el registro DNS, envíe un mensaje de respuesta DNS, coloque el mensaje de respuesta en el segmento de mensaje UDP y luego colóquelo en el datagrama IP, y reenvíelo al enrutador de la puerta de enlace a través del enrutador en la dirección inversa, y llegue al host a través del conmutador Ethernet.

8.4 página de solicitud HTTP

  • Con la dirección IP del servidor HTTP, el host puede generar un socket TCP, que se utilizará para enviar paquetes HTTP GET al servidor web.

  • Antes de generar un socket TCP, se debe realizar un protocolo de enlace de tres vías con el servidor HTTP para establecer una conexión. Genere un segmento TCP SYN con el puerto de destino 80 y envíe el segmento al servidor HTTP.

  • Después de recibir el segmento, el servidor HTTP genera un segmento TCP SYN ACK y lo envía de vuelta al host.

  • Una vez establecida la conexión, el navegador genera un mensaje HTTP GET y lo envía al servidor HTTP.

  • El servidor HTTP lee el mensaje HTTP GET del socket TCP, genera un mensaje de respuesta HTTP, coloca el contenido de la página web en el cuerpo del mensaje y lo envía de vuelta al host.

  • Una vez que el navegador recibe el mensaje de respuesta HTTP, extrae el contenido de la página web y luego lo representa para mostrar la página web.

referencia

Red de computadoras

Supongo que te gusta

Origin blog.csdn.net/KAIZ_LEARN/article/details/109754837
Recomendado
Clasificación