Red informática: capítulo dos, capa de aplicación

1. Descripción general del protocolo de la capa de aplicación

应用层对应用程序的通信提供服务

Definición del protocolo de la capa de aplicación

El tipo de mensaje intercambiado por el proceso de solicitud, solicitud o respuesta.

La sintaxis de varios tipos de mensajes, como cada campo del mensaje y su descripción detallada.

La semántica del campo, es decir, el significado de la información incluida en el campo.

Cuándo y cómo el proceso envía mensajes y las reglas para responder a los mensajes.

Funciones principales y protocolos correspondientes de la capa de aplicación.

Transferencia de archivos, gestión de accesos. (FTP)
correo electrónico (SMTP, POP3) servicio de consulta de
terminal virtual (HTTP)
, inicio de sesión remoto (DNS)

Modelo cliente-servidor (C / S)

Servidor: un dispositivo que proporciona servicios informáticos, proporciona servicios y accede a direcciones / nombres de dominio.

Cliente: el anfitrión que solicita los servicios informáticos. Comuníquese con el host, utilice el servicio proporcionado por el servidor, acceda a la red de forma intermitente, utilice una dirección IP dinámica y no se comunique directamente con otros clientes.

Modelo P2P

Inserte la descripción de la imagen aquí

P2P puede entenderse como una Internet de igual a igual. En el modelo P2P, los participantes de la red comparten algunos de los recursos que poseen. Estos recursos brindan servicios y contenido a través de la red y otros nodos pares pueden acceder a ellos directamente. Los nodos pueden cambiar sus direcciones IP. Los participantes de la red son ambos proveedores de servicios (servidores) .), también es el adquirente de recursos (cliente).

Comunicación de proceso

La comunicación es en realidad el hilo.Los procesos en los dos sistemas finales diferentes se comunican entre sí mediante el intercambio de mensajes a través de la red informática. El proceso de envío genera y envía mensajes a la red, y el proceso de recepción recibe estos mensajes y puede responder devolviéndolos.

Procesos de cliente y servidor

Las aplicaciones de red se componen de pares de procesos que se envían mensajes entre sí a través de la red.

Para cada par de procesos de comunicación, generalmente identificamos uno de estos dos procesos como cliente y el otro proceso como servidor. En un escenario de sesión de comunicación dado entre un par de procesos, el proceso que inicia la comunicación (es decir, inicia el contacto con otros procesos al comienzo de la sesión) se identifica como el cliente, y el proceso que espera ser contactado al comienzo. de la sesión es el servidor.

Para la Web, el navegador es un proceso de cliente y el servidor Web es un proceso de servidor. Para el intercambio de archivos PP, el par que descarga el archivo se identifica como el cliente y el par que carga el archivo se identifica como el servidor.

Interfaz de proceso y red informática

Los mensajes enviados de un proceso a otro deben pasar a través de la siguiente red, y el proceso 套接字envía y recibe mensajes a la red a través de una interfaz de software llamada .

Dado que el conector es una interfaz programable para establecer aplicaciones de red, el conector también se denomina interfaz de programación de aplicaciones entre la aplicación y la red (Application Programming Interface,API). Los desarrolladores de aplicaciones pueden controlar todo en la capa de aplicación del socket, pero casi no tienen control sobre la capa de transporte del socket. El control de los desarrolladores de aplicaciones sobre la capa de transporte se limita a

①Seleccione el protocolo de la capa de transporte

②Puede poder configurar varios parámetros de la capa de transporte, como el búfer máximo y la longitud máxima del segmento, etc.

Una vez que el desarrollador de la aplicación selecciona un protocolo de la capa de transporte, la aplicación se basa en los servicios de la capa de transporte proporcionados por el protocolo.

Direccionamiento de procesos

Para que un proceso que se ejecuta en un host envíe paquetes a un proceso que se ejecuta en otro host, el proceso de recepción debe tener una dirección. Para identificar el proceso de recepción, es necesario definir dos tipos de información:

①La dirección del
host ②Defina el identificador del proceso de recepción en el host de destino.

Inserte la descripción de la imagen aquí

nombre de dominio

Servidor de nombres de dominio

Inserte la descripción de la imagen aquí

Proceso de resolución de nombres de dominio

Inserte la descripción de la imagen aquí

Dos, protocolo HTTP

Visión general

El protocolo de la capa de aplicación de la Web es el Protocolo de transferencia de hipertexto (HTTP). HTTP define la forma en que un cliente web solicita una página web de un servidor web y la forma en que el servidor transmite una página web al cliente.

Las páginas web están compuestas por objetos y un objeto es un archivo. El servidor web implementa el servidor HTTP, que se utiliza para almacenar objetos web, y cada objeto es direccionado por URL.

HTTP utiliza TCP como protocolo de transmisión de soporte. El cliente HTTP primero inicia una conexión TCP con el servidor. Una vez que se establece la conexión, el navegador y el proceso del servidor pueden acceder a TCP a través de la interfaz de socket.

Nota : El servidor envía el archivo solicitado al cliente sin almacenar ninguna información de estado sobre el cliente. Entonces HTTP es uno 无状态协议. (Las partes de la comunicación no necesitan establecer una conexión HTTP cuando intercambian mensajes HTTP) El servidor web siempre está abierto y tiene una dirección IP fija.

Inserte la descripción de la imagen aquí

Conexiones persistentes y no persistentes

En muchas aplicaciones de Internet, el cliente y el servidor se comunican durante un período de tiempo bastante largo, donde el cliente emite una serie de solicitudes y el servidor responde a cada solicitud. Esta serie de solicitudes se pueden enviar una tras otra de forma periódica o intermitente a intervalos regulares. Cuando este tipo de interacción cliente-servidor se realiza a través de TCP. Luego, cada par de solicitud / respuesta se envía a través de una conexión TCP separada, o todas las solicitudes y respuestas se envían a través de la misma conexión TCP.

El primer método se llama conexión no persistente y el último método se llama conexión persistente.

Desventajas de las conexiones no persistentes: se debe establecer y mantener una nueva conexión para cada objeto solicitado. Para cada una de estas conexiones, el cliente y el servidor deben asignar búferes de TCP y mantener las variables de TCP, lo que supone una gran carga para el servidor web.

Inserte la descripción de la imagen aquí

Estructura del mensaje

Los mensajes HTTP están orientados al texto, por lo que cada campo es una cadena de códigos ASCII.

Inserte la descripción de la imagen aquí

El siguiente es un mensaje de solicitud típico:
GET /somedir/page.html HTTP / 1.1
Host: www.someschool.edu
Conexión: cerrar
User-agent: Mozilla / 5.0 Accept-language: fr

La primera línea se llama línea de solicitud y el resto se llama línea de encabezado. El host indica el host donde está ubicado el objeto. Connection: close le dice al servidor que no continúe conectándose y lo cierra después de que se transfiera la página. Usuario-agente, indica el usuario-agente.

响应 报 文
HTTP / 1.1 200 OK
Conexión:
Fecha de cierre : martes, 09 de agosto de 2011 15: 44: 04
Servidor GMT : Apache / 2.2.3 (centos)
Última modificación: martes, 09 de agosto de 2011 15:11:03
Contenido GMT- Longitud: 6821
Tipo de contenido: texto / html

Una línea de estado inicial, 6 líneas de encabezado y luego el cuerpo de la entidad.
El servidor utiliza la línea de encabezado Connection: close para decirle al cliente que la conexión TCP se cerrará después de enviar el mensaje.
Fecha: la línea del encabezado indica la fecha y hora en que el servidor generó y envió el mensaje de respuesta.
Servidor: la línea de encabezado indica que el mensaje lo genera un servidor web Apache. Similar al User-agent en el mensaje de solicitud.
Última modificación: la primera línea indica la fecha y hora en que el objeto fue creado o modificado por última vez.
Longitud del contenido: la línea de encabezado indica el número de bytes del objeto que se envía.
Tipo de contenido: la línea de encabezado indica que el objeto en el cuerpo de la entidad es texto HTML.

Galleta

La tecnología de cookies tiene 4 componentes

  • Una línea de encabezado de cookie en el mensaje de respuesta HTT
  • Una línea de encabezado de cookie en el mensaje de solicitud HTTP
  • Un archivo de cookies se guarda en el sistema del cliente y es administrado por el navegador del usuario.
  • Una base de datos de back-end ubicada en el sitio web.

Las cookies se pueden utilizar para identificar a un usuario. Cuando un usuario visita un sitio por primera vez, es posible que deba proporcionar una identificación de usuario. En sesiones posteriores, el navegador pasa un encabezado de cookie al servidor, identificando así al usuario al servidor. Por lo tanto, las cookies pueden establecer una capa de sesión de usuario sobre HTTP sin estado.

caché web

El servidor de caché web es un servidor proxy, que es una entidad de red que puede satisfacer las solicitudes HTTP en nombre del servidor web inicial.

Si el navegador solicita un objeto, ocurrirá lo siguiente:

  • El navegador establece una conexión TCP a la caché web y envía una solicitud HTTP al objeto en la caché web.
  • La caché web comprueba si hay una copia del objeto almacenada localmente. Si es así, la caché web devuelve el objeto al navegador del cliente con un mensaje de respuesta HTTP.
  • Si el objeto no está en la caché web, abre una conexión TCP con el servidor original del objeto. La caché web envía una solicitud HTTP al objeto en la conexión TCP desde la caché al servidor. Después de recibir la solicitud. El servidor inicial envía una respuesta HTTP con el objeto a la caché web.
  • Cuando la caché web recibe el objeto, almacena una copia en el espacio de almacenamiento local y envía la copia al navegador del cliente con un mensaje de respuesta HTTP (a través de la conexión TCP existente entre el navegador del cliente y la caché web)).

Tres, protocolo de transferencia de archivos FTP

En una sesión FTP, un usuario transfiere (o recibe) archivos de un host remoto en un host (host local). Para que un usuario pueda acceder a su cuenta remota, el usuario debe proporcionar una identificación de usuario y una contraseña. Después de proporcionar esta información de autorización, el usuario puede transferir archivos del sistema de archivos local al sistema de archivos del host remoto.

Tanto HTTP como FTP son protocolos de transferencia de archivos y tienen muchas características en común, por ejemplo, ambos se ejecutan en TCP. Sin embargo, estos dos protocolos de capa de aplicación también tienen algunas diferencias importantes. Uno de los más notables es que FTP utiliza dos conexiones TCP paralelas para transferir archivos, una es la conexión de control y la otra es la conexión de datos.

La conexión de control se utiliza para transferir información de control entre dos hosts, como ID de usuario, contraseñas, comandos para cambiar directorios remotos y comandos para "poner" y "obtener" archivos. La conexión de datos se utiliza para enviar un archivo.

Inserte la descripción de la imagen aquí

El servidor FTP debe conservar el estado del usuario durante toda la sesión y el servidor debe asociar una cuenta de usuario específica con la conexión de control.

Una gran parte de los servidores FTP de Internet se denominan servidores FTP "anónimos". El propósito de este tipo de servidor es brindar servicios de copia de archivos al público, y no requiere que los usuarios se registren en el servidor con anticipación, ni necesitan obtener la autorización del servidor FTP.

Transferencia de archivos anónimos) permite a los usuarios establecer una conexión con un host remoto y copiar archivos del host remoto con una identidad anónima, sin ser un usuario registrado del host remoto. Los usuarios inician sesión en el servicio FTP con el nombre de usuario especial "anónimo", y luego pueden acceder a los archivos públicos en el host remoto.

4. Sistema de correo electrónico

El sistema de correo electrónico consta principalmente de tres componentes: agente de usuario, servidor de correo y protocolo simple de transferencia de correo.

Estructura de composición

Inserte la descripción de la imagen aquí

Un proceso de envío típico es:

  • A partir del agente de usuario del remitente, se transmite al servidor de correo del remitente y luego se transmite al servidor de correo del destinatario y luego se distribuye al buzón del destinatario aquí.
  • Cuando el destinatario desea leer el mensaje en su buzón, el servidor de correo que contiene su buzón (utilizando el nombre de usuario y la contraseña) autenticará al destinatario.
  • Si el servidor del remitente puede entregar el correo al servidor del destinatario, el servidor de envío mantiene el mensaje en una cola de mensajes y lo intenta más tarde. Si falla unos días más tarde, el servidor elimina el mensaje y lo envía al servidor del destinatario. Informe al remitente por correo electrónico.

Protocolo SMTP

SMTP es el núcleo de las aplicaciones de correo electrónico de Internet.

SMTP especifica cómo se debe intercambiar información entre dos procesos SMTP que se comunican entre sí. El proceso SMTP responsable de enviar correo es el cliente SMTP y el proceso responsable de recibir correo es el servidor SMTP.

SMTP proporciona 14 comandos (varias letras) y 21 mensajes de respuesta (código de tres dígitos + descripción de texto simple).

SMTP está limitado a código ASCII de 7 bits. Si aparece un archivo binario, como un idioma o una imagen que no sea el inglés, es necesario volver a codificarlo en código ASCII de 7 bits. Al mismo tiempo, pone todos los objetos en un mensaje. Sin embargo, HTTP encapsula cada objeto en un mensaje de respuesta HTTP.

Número de puerto de conexión TCP 25 C / S

Tres etapas de la comunicación SMTP:连接建立,邮件传送,释放连接

Inserte la descripción de la imagen aquí

MÍMICA

Desventajas de SMTP: SMTP no puede transmitir archivos ejecutables u otros objetos binarios (se requiere codificación). El instrumento SMTP está limitado a transmitir códigos ASCII de 7 bits y no puede transmitir otros idiomas que no sean el inglés. El servidor SMTP rechazará los correos electrónicos que excedan una cierta longitud.

Entonces MIME es la extensión universal de correo de Internet

Inserte la descripción de la imagen aquí

POP3

POP3 es un protocolo de acceso al correo extremadamente simple, definido por RFC 1939. Debido a que el protocolo es muy simple, su función es bastante limitada. Cuando el agente de usuario (cliente) abre una conexión TCP al puerto 110 del servidor de correo (servidor), POP3 comienza a funcionar. Con el establecimiento de una conexión TCP, POP3 funciona en tres etapas.

特许( authorization)、事务处理以及更新。

En la primera etapa, la etapa de autorización, el agente de usuario envía (en texto claro) el nombre de usuario y la contraseña para autenticar al usuario.

En la segunda etapa, la etapa de procesamiento de transacciones, el agente de usuario recupera el mensaje de respuesta; al mismo tiempo, el agente de usuario también puede realizar las siguientes operaciones en esta etapa, marcar el mensaje para su eliminación, cancelar la marca de eliminación del mensaje y obtener la información estadística del mensaje.

En la tercera fase, la fase de actualización, aparece después de que el cliente ha emitido el comando quit para finalizar la sesión POP3. En este momento, el servidor de correo elimina los mensajes marcados como eliminados.

Durante el procesamiento de transacciones POP3, el agente de usuario emite algunos comandos y el servidor responde a cada comando. Puede haber dos respuestas: + OK (a veces seguido de datos de servidor a cliente), que es utilizado por el servidor para indicar que el comando anterior es normal. -ERR, utilizado por el servidor para indicar que ocurrieron algunos errores en el comando anterior.

Durante la sesión POP3 entre el agente de usuario y el servidor de correo, el servidor POP3 retiene cierta información de estado. En particular, registra qué mensajes de usuario están marcados como eliminados. Sin embargo, el servidor POP3 no incluye información de estado durante la sesión POP3.

IMAP

El protocolo IMAP es más complicado que el protocolo POP. Cuando el programa cliente IMAP en la PC del usuario abre el buzón del servidor IMAP, el usuario puede ver el encabezado del buzón. Si el usuario necesita abrir un correo electrónico, el correo electrónico se carga en la computadora del usuario.

El servidor IMAP asocia cada mensaje con una carpeta. Cuando el mensaje llega al servidor por primera vez, se asocia con la carpeta INBOX del destinatario. El destinatario puede mover el mensaje a una nueva carpeta creada por el usuario, leer el mensaje, eliminar el mensaje, etc. El protocolo IMAP proporciona a los usuarios comandos para crear carpetas y mover el correo de una carpeta a otra. IMAP también proporciona a los usuarios comandos para consultar el correo en carpetas remotas.

IMAP permite a los usuarios usar diferentes computadoras en diferentes lugares para leer y procesar correos electrónicos en cualquier momento, y también permite que solo se lea una cierta parte del correo electrónico.

Supongo que te gusta

Origin blog.csdn.net/weixin_45605341/article/details/108628845
Recomendado
Clasificación