Programación de red Android (1) introducción de protocolo y capas de red

1 Descripción general

MR / ISA

En 1978, la Organización Internacional de Normalización (ISO) propuso el "Modelo de referencia de interconexión de sistema abierto", el conocido modelo OSI / RM (Interconexión de sistema abierto / Modelo de referencia). Desde entonces, las computadoras de diferentes fabricantes pueden comunicarse entre sí y establecer una red informática. OSI / RM divide el protocolo de comunicación de la arquitectura de red informática en siete capas, de abajo hacia arriba: capa física, capa de enlace de datos, capa de red, capa de transmisión, capa de sesión, capa de presentación, capa de aplicación.

TCP / IP

Debido a que el modelo OSI / RM es demasiado complicado y difícil de implementar, el modelo TCP / IP se usa ampliamente en la realidad. Es una arquitectura de red y especificación de protocolo introducida por ARPA de 1977 a 1979. TCP / IP es un conjunto de protocolos que no se refieren a TCP e IP. En muchos casos, es un término general para el grupo de protocolos que debe usarse al comunicarse con IP. Específicamente, IP o ICMP, TCP o UDP, TELNET o FTP y HTTP son todos protocolos TCP / IP. Su estrecha relación con TCP o IP es una parte esencial de Internet. El término TCP / IP se refiere a estos protocolos en general, por lo que TCP / IP a veces se denomina Grupo de protocolo de Internet. Cuando se comunica en Internet, se requiere el protocolo de red correspondiente. TCP / IP fue originalmente una familia de protocolos desarrollada para el uso de Internet. Por lo tanto, el protocolo de Internet es TCP / IP, y TCP / IP es el protocolo de Internet.

El modelo TCP / IP también es un modelo en capas, dividido en 4 capas. La jerarquía de referencia del modelo OSI / RM y el modelo TCP / IP se muestra en la figura:

Capa de aplicación : es la capa utilizada por los programas más comunes relacionados con la red para comunicarse con otros programas a través de la red. En la capa de aplicación, los datos se transmiten en el formato utilizado internamente por la aplicación y luego se codifican en un formato de protocolo estándar. Como el protocolo HTTP, el protocolo FTP, el protocolo POP3 e IMAP para recibir correo electrónico, el protocolo SMTP para enviar correo y SSH y Telnet para inicio de sesión remoto. Por lo tanto, los usuarios suelen interactuar con la capa de aplicación.

Capa de transporte : proporciona una transmisión de datos transparente entre dos hosts. Por lo general, se utiliza para conexión de extremo a extremo, control de flujo o recuperación de errores. Los dos protocolos más importantes en esta capa son TCP (Protocolo de control de transmisión) y UDP (Protocolo de datagramas de usuario).

Capa de red : proporciona la entrega de paquetes de extremo a extremo. Es responsable del envío de paquetes desde el origen al destino. Las tareas incluyen enrutamiento de red, control de errores y direccionamiento IP. Los protocolos importantes incluidos en esta capa son IP (versión 4 y versión 6), ICMP (Protocolo de mensajes de control de Internet, Protocolo de mensajes de control de Internet) e IPSec (Seguridad de protocolos de Internet, Seguridad de protocolos de Internet).

Capa de interfaz de red : responsable de enviar y recibir datagramas IP a través de la red; permitiendo que el host use una variedad de tecnologías populares y listas para usar cuando se conecta a la red, como Ethernet, red de token, frame relay, ATM, X.25, DDN, SDH, WDM, etc.

 

Un aplicaciones de capa de aplicación suelen utilizar dos capa de transporte de un protocolo: orientado a la conexión TCP Protocolo de control de transmisión y una conexión UDP Protocolo de datagramas de usuario . A continuación se presentan brevemente los protocolos HTTP, TCP, UDP e IP comúnmente utilizados en la pila de protocolos TCP / IP.

2 protocolo HTTP

El protocolo HTTP (Protocolo de transporte de hipertexto) es el estándar de protocolo de red más utilizado en Internet. Es un protocolo de capa de aplicación adecuado para sistemas de información hipermedia distribuidos. Fue introducido en 1990 y ahora se usa ampliamente y se mejora y se expande continuamente. HTTP es el resultado de la cooperación entre el World Wide WebConsortium y el Internet Engineering Task Force. Su historia es la siguiente:

HTTP 0.9 : la primera versión lanzada en 1991, solo hay un comando GET, el servidor solo puede responder a cadenas de formato HTML.

HTTP 1.0 : la versión lanzada en 1996, la cantidad de contenido ha aumentado considerablemente. Además de los comandos GET, también se introducen los comandos POST y HEAD. Además de la parte de datos de la solicitud HTTP y el formato de respuesta, cada comunicación debe incluir información de encabezado para describir algunos metadatos.

HTTP 1.1 : la versión lanzada en 1997, que mejoró aún más el protocolo HTTP, sigue siendo la versión más popular hasta ahora. HTTP1.1 estipula el uso de una conexión larga (conexión persistente), de modo que se pueden enviar múltiples solicitudes en la misma conexión TCP, compensando que HTTP1.0 cada solicitud para volver a crear la conexión conduce al consumo de rendimiento y al retraso, y también a la canalización propuesta (Canalización) para optimizar la desventaja de enviar múltiples solicitudes en una sola conexión TCP sin esperar la respuesta correspondiente, aunque el servidor aún enviará la respuesta en el orden de las solicitudes recibidas.

SPDY : un protocolo desarrollado por Google en 2009 para resolver el problema de la baja eficiencia de HTTP 1.1.

HTTP 2 : la versión recién lanzada en 2015, las características principales del protocolo SPDY también están en esta versión, Google también anunció planes para eliminar la compatibilidad con SPDY, adoptar HTTP / 2 y entrará en vigencia en Chrome 51. HTTP 2.0 propone multiplexación (Multiplexing) para lograr múltiples solicitudes simultáneamente en una conexión, evitando el problema de que múltiples respuestas como HTTP1.1 pueden ser bloqueadas.

3 protocolo HTTPS

HTTPS es establecer una capa de encriptación SSL (Secure Sockets Layer) en HTTP , y encriptar los datos transmitidos, es una versión segura del protocolo HTTP . Las solicitudes HTTPS son seguras, por lo que no hay espionaje inicial, manipulación o suplantación durante el proceso de solicitud.

En un escenario típico de uso de SSL, se utiliza un certificado para configurar el servidor con una clave pública y una clave privada coincidente. Deje que el cliente también tenga uno o más conjuntos de certificados en los que confía. Si la dirección URL solicitada encuentra que el certificado no está en este conjunto, no se confiará en el servidor y la solicitud fallará.

El servidor generalmente está configurado con certificados emitidos por un emisor conocido (llamado autoridad de certificación (CA)). La plataforma host generalmente contiene una lista de CA bien conocidas en las que confía. A partir de Android 4.2 (Jelly Bean), Android actualmente incluye más de 100 CA actualizadas en cada versión. La CA tiene un certificado y una clave privada, que es similar al servidor. Al emitir certificados para el servidor, la CA utiliza su clave privada para firmar el certificado del servidor. El cliente puede verificar que el servidor tenga un certificado emitido por una CA conocida por la plataforma. Las diferencias entre
HTTPS y HTTP son: HTTPS es un protocolo de transmisión encriptado, HTTP es un protocolo de transmisión de nombre y texto; HTTPS requiere un certificado SSL , pero HTTP no se utiliza; Puerto estándar HTTPS 443 , puerto estándar HTTP 80, etc.

SSL / TLS

De hecho, SSL es TLS. Aquí hay una historia:

En 1994, NetScape diseñó la versión 1.0 del protocolo SSL, pero no se lanzó.

En 1995, NetScape lanzó SSL versión 2.0, y pronto descubrió que había vulnerabilidades serias.

En 1996, salió la versión 3.0 de SSL y fue ampliamente utilizada.

En 1999, la Organización de Normalización de Internet ISOC sucedió a NetScape y lanzó la versión actualizada TLS (Seguridad de la capa de transporte) 1.0 de SSL.

En 2006 y 2008, TLS se actualizó dos veces, a saber, TLS versión 1.1 y TLS versión 1.2. El último cambio es la revisión de 2011 de TLS 1.2.

En la actualidad, el más utilizado es TLS 1.0, seguido de SSL 3.0. Sin embargo, los navegadores convencionales ya han implementado el soporte TLS 1.2. TLS 1.0 generalmente se etiqueta SSL 3.1, TLS 1.1 es SSL 3.2 y TLS 1.2 es SSL 3.3.

4 protocolo TCP

El Protocolo de control de transmisión (TCP) es un protocolo de comunicación de capa de transporte, confiable y orientado a la conexión basado en el flujo de bytes. Secuencia se refiere a una estructura de datos ininterrumpida. Cuando la aplicación utiliza TCP para enviar mensajes, aunque se puede garantizar el orden de envío, todavía es como si no hubiera un intervalo de secuencia de datos enviada al extremo receptor. Para proporcionar una transmisión confiable, TCP puede realizar el control de retransmisión cuando se pierden paquetes, y también puede implementar un mecanismo de control secuencial para paquetes fuera de servicio. Además, debido a que TCP es un protocolo orientado a la conexión, los datos se envían solo cuando se confirma el par de la comunicación y, por lo tanto, tiene muchas funciones como "control de flujo", "control de congestión" y una mejor utilización de la red. El famoso protocolo de enlace de tres vías se refiere al establecimiento de una conexión TCP que requiere que el cliente y el servidor envíen un total de tres paquetes para confirmar el establecimiento de la conexión, mientras que la finalización de la conexión TCP es de cuatro cambios, lo que requiere que el cliente y el servidor envíen un total de cuatro paquetes para confirmar Desconexión

5 protocolo UDP

Protocolo de datagramas de usuario ( el User Datagram Protocol , UDP) es una conexión orientada protocolo de capa de transporte del modelo TCP / IP proporciona servicio de mensajería orientado a transacciones simplemente poco fiable. El protocolo UDP es básicamente la interfaz entre el protocolo IP y el protocolo de la capa superior. El protocolo UDP es adecuado para múltiples aplicaciones con puertos que se ejecutan en el mismo dispositivo. A diferencia de TCP, UDP no proporciona un mecanismo confiable para el protocolo IP, el control de flujo y las funciones de recuperación de errores. No necesita establecer una conexión antes de la transmisión de datos. Como UDP es relativamente simple, el encabezado UDP contiene muy pocos bytes, por lo que consume menos que la carga TCP. UDP es adecuado para situaciones que no requieren un mecanismo TCP confiable, por ejemplo, cuando los protocolos o aplicaciones de alto nivel proporcionan funciones de control de flujo y error. UDP sirve muchos protocolos de capa de aplicación conocidos, incluidos el Sistema de archivos de red (NFS), el Protocolo simple de administración de redes (SNMP), el Sistema de nombres de dominio (DNS) y el Sistema simple de transferencia de archivos (Archivo trivial Protocolo de transferencia, TFTP).

6 protocolo IP

El Protocolo de Internet (IP) es un protocolo orientado a datos utilizado en redes de intercambio de mensajes. IP es el protocolo principal de la capa de red en el protocolo TCP / IP. La tarea es transferir datos de acuerdo con las direcciones del host de origen y el host de destino. Para lograr esto, IP define el método de direccionamiento y la estructura de encapsulación de datagramas. La versión principal de la primera arquitectura, ahora conocida como IPv4, sigue siendo el protocolo de Internet más importante. Actualmente, IPv6 se está implementando activamente en todo el mundo.

 

106 artículos originales publicados · elogiados 37 · 80,000 visitas

Supongo que te gusta

Origin blog.csdn.net/lyz_zyx/article/details/96326534
Recomendado
Clasificación