Python que aprende la programación de 34 redes 02

 Capa de transporte

El origen de la capa de transporte: la IP de la capa de red nos ayuda a encontrar la red molecular, el mac de la capa de Ethernet nos ayuda a encontrar el host, y luego todos usan aplicaciones, y su computadora puede abrir qq, tormenta de video, etc. Procedimiento,

Luego encontramos un host específico a través de ip y mac, cómo identificar la aplicación en este host, la respuesta es el puerto, el puerto es el número asociado con la tarjeta de red de la aplicación.

Función de capa de transporte: establecer comunicación de puerto a puerto

Suplemento: el rango de puertos 0-65535, 0-1023 está ocupado por el sistema

protocolo tcp:

Transmisión confiable, los paquetes de datos TCP no tienen límite de longitud, en teoría pueden ser infinitamente largos, pero para garantizar la eficiencia de la red, por lo general, la longitud de los paquetes de datos TCP no excederá la longitud de los paquetes de datos IP para garantizar que no sea necesario dividir un solo paquete de datos TCP.

Cabecera Ethernet encabezado ip               encabezado tcp               Datos                                                    

 

protocolo udp:

Transmisión no confiable, la parte del "encabezado" solo tiene un total de 8 bytes, la longitud total no excede los 65.535 bytes, solo se coloca en un paquete de datos IP.

Cabecera Ethernet encabezado ip                      udp head                            Datos                                           

 

mensaje tcp

TCP apretón de manos tres veces y agitar cuatro veces

2.3.5 Capa de aplicación

El origen de la capa de aplicación: los usuarios usan aplicaciones, todos trabajan en la capa de aplicación, se desarrolla Internet, todos pueden desarrollar sus propias aplicaciones, los datos son diversos, debe especificar la organización de datos 

Función de capa de aplicación: especifica el formato de datos de la aplicación.

Ejemplo: el protocolo TCP puede transferir datos para varios programas, como correo electrónico, WWW, FTP, etc. Luego, debe haber diferentes protocolos que estipulen el formato de correo electrónico, páginas web y datos FTP, y estos protocolos de aplicación constituyen la "capa de aplicación".

 

 enchufe

Sabemos que si dos procesos necesitan comunicarse, la premisa más básica es poder marcar un proceso de manera única. En la comunicación de procesos local, podemos usar PID para marcar un proceso de manera única, pero PID es solo localmente, dos procesos en la red Existe una gran posibilidad de conflicto PID. En este momento, necesitamos encontrar otra forma. Sabemos que la dirección IP de la capa IP puede identificar de manera única al host, y el protocolo de la capa TCP y el número de puerto pueden identificar de manera única un proceso del host, para que podamos usar la dirección IP + El número de puerto de protocolo + identifica de forma exclusiva un proceso en la red.

Después de poder identificar de forma exclusiva los procesos en la red, pueden usar sockets para comunicarse. ¿Qué es un socket? Con frecuencia traducimos sockets en sockets. Los sockets son una capa de abstracción entre la capa de aplicación y la capa de transporte. Resume las operaciones complejas de la capa TCP / IP en varias interfaces simples para que la capa de suministro llame al proceso implementado en la red.中 通信。 Comunicaciones chinas.

Socket se originó en UNIX. Según la filosofía de Unix de que todo es un archivo, el socket es una implementación del modo "abrir-leer / escribir-cerrar". El servidor y el cliente mantienen cada uno un "archivo". Después de establecer y abrir la conexión, puede Escriba contenido en su propio archivo para que la otra parte lea o lea el contenido de la otra parte y cierre el archivo cuando finalice la comunicación.

Resumen

El diagrama de resumen es el siguiente:

 

El diagrama de transmisión de datos es el siguiente:

3. Comunicación de red

Para lograr la comunicación de red, cada host debe tener cuatro elementos

  • Dirección IP de esta máquina
  • Máscara de subred
  • Dirección IP de la puerta de enlace
  • Dirección IP de DNS

Hay dos formas de obtener estos cuatro elementos.

1. Adquisición estática

Configuración manual

2. Adquisición dinámica

Obtener a través de dhcp

Cabecera Ethernet encabezado ip udp head paquete dhcp

 

 

(1) El primer "encabezado Ethernet" establece la dirección MAC del remitente (esta máquina) y la dirección MAC del receptor (servidor DHCP). La primera es la dirección MAC de la tarjeta de red local, la segunda no sabe en este momento, complete una dirección de transmisión: FF-FF-FF-FF-FF-FF.

 

(2) El "encabezado IP" en la parte posterior establece la dirección IP del remitente y la dirección IP del receptor. En este momento, la máquina no sabe sobre ambos. Por lo tanto, la dirección IP del remitente se establece en 0.0.0.0 y la dirección IP del receptor se establece en 255.255.255.255.

 

(3) El último "encabezado UDP" establece el puerto del remitente y el puerto del receptor. Esta parte está especificada por el protocolo DHCP. El remitente es el puerto 68 y el receptor es el puerto 67.

 

Después de que se construye el paquete de datos, se puede enviar. Se transmite Ethernet, y cada computadora en la misma subred ha recibido este paquete. Debido a que la dirección MAC del receptor es FF-FF-FF-FF-FF-FF, no puede ver a quién fue enviado, por lo que cada computadora que recibe este paquete también debe analizar la dirección IP de este paquete para determinar si es No por ti mismo. Cuando la dirección IP del remitente es 0.0.0.0 y el receptor es 255.255.255.255, el servidor DHCP sabe "este paquete me fue enviado", y otras computadoras pueden descartar este paquete.

 

Luego, el servidor DHCP lee el contenido de datos de este paquete, asigna una dirección IP y envía un paquete de "respuesta DHCP". La estructura de este paquete de respuesta es similar. La dirección MAC del encabezado Ethernet es la dirección de la tarjeta de red de ambas partes. La dirección IP del encabezado IP es la dirección IP del servidor DHCP (remitente) y 255.255.255.255 (receptor). El encabezado UDP Los puertos son 67 (remitente) y 68 (receptor). La dirección IP asignada al solicitante y los parámetros específicos de esta red se incluyen en la sección Datos.

 

La computadora recién unida recibe este paquete de respuesta, por lo que conoce su dirección IP, máscara de subred, dirección de puerta de enlace, servidor DNS y otros parámetros

4. Proceso de comunicación de red.

1. Adquisición local

  • La dirección IP de esta máquina: 192.168.1.100
  • Máscara de subred: 255.255.255.0
  • Dirección IP de la puerta de enlace: 192.168.1.1
  • Dirección IP de DNS: 8.8.8.8

2. Abra el navegador y quiera visitar Google, ingrese la URL en la barra de direcciones: www.google.com.

3.dns protocolo (basado en el protocolo udp)

 

13 dns raíz:

A.root-Server.net198.41.0.4 Estados Unidos
B.root-Server.net192.228.79.201 Estados Unidos (también es compatible con IPv6 )
C.root-Server.net192.33.4.12 Francia
D.root-Server.net128.8.10 .90 EE
. UU. Raíz-servidores.net192.203.230.10 EE. UU.
Raíz-servidores.net192.5.5.241 EE. UU. (También es compatible con IPv6 )
G.root-servidores.net192.112.36.4 EE.
UU. Servidores raíz. net128.63.2.53 EE. UU. (también es compatible con IPv6 )
I.root-servers.net192.36.148.17 Suecia
J.root-servers.net192.58.128.30 EE
. UU. K.root-Server.net193.0.14.129 Reino Unido (otro soporte IPv6)
L.root-Server.net198.32.64.12 EE. UU.
M.root-Server.net202.12.27.33 Japón (también es compatible con IPv6)

 

Definición del nombre de dominio: http://jingyan.baidu.com/article/1974b289a649daf4b1f774cb.html

Los nombres de dominio de nivel superior: .com, .net, .org, .cn, etc. pertenecen a nombres de dominio de nivel superior internacional. De acuerdo con el actual sistema internacional de nombres de dominio de Internet, los nombres de dominio de nivel superior internacionales se dividen en dos categorías: nombres de dominio de nivel superior de categoría (gTLD) y nombres de dominio de nivel superior geográfico (ccTLD) ) Dos. Los nombres de dominio de nivel superior de categoría son nombres de dominio que terminan en "COM", "NET", "ORG", "BIZ", "INFO", etc., todos administrados por empresas extranjeras. El nombre de dominio de nivel superior geográfico es un nombre de dominio que termina con un código de país o área, como "CN" para China y "Reino Unido" para el Reino Unido. Los nombres de dominio de nivel superior geográficos generalmente son administrados por varios países o regiones.

Nombre de dominio de segundo nivel: el nombre de dominio de segundo nivel es un nombre de dominio geográfico basado en el nombre de dominio de nivel superior, que es análogo a los dominios de segundo nivel en China. El nombre de subdominio del nombre de dominio principal es análogo al nombre de dominio principal es abc.com, el nombre de subdominio es www.abc.com o * .abc.com.
En general, el nombre de dominio de segundo nivel es un registro del nombre de dominio, por ejemplo, alidiedie.com es un nombre de dominio, www.alidiedie.com es uno de los registros más utilizados. Generalmente se usa por defecto, pero los nombres de dominio como * .alidiedie.com se conocen como el segundo nivel de alidiedie.com

 

 

4. El contenido de la parte HTTP es similar al siguiente:

 

GET / HTTP / 1.1
Host: www.google.com
Conexión: keep-alive
Usuario-Agente: Mozilla / 5.0 (Windows NT 6.1) ......
Aceptar: text / html, application / xhtml + xml, application / xml; q = 0.9 , * / *; q = 0.8
Codificación de aceptación: gzip, deflate, sdch
Idioma de aceptación: zh-CN, zh; q = 0.8
Conjunto de caracteres de aceptación: GBK, utf-8; q = 0.7, *; q = 0.3
Cookie : ... ...

 

Suponemos que la longitud de esta parte es de 4960 bytes, se integrará en el paquete TCP.

 

5 protocolo TCP

 

Los paquetes de datos TCP deben establecer el puerto. El puerto HTTP del receptor (Google) es 80 de manera predeterminada, y el puerto del remitente (local) es un entero generado aleatoriamente entre 1024 y 65535, suponiendo 51775.

La longitud del encabezado del paquete de datos TCP es de 20 bytes, más el paquete de datos integrado en HTTP, la longitud total se convierte en 4980 bytes.

 

6 protocolo IP

 

Luego, el paquete de datos TCP se incrusta en el paquete de datos IP. Los paquetes IP deben establecer las direcciones IP de ambas partes. Esto se conoce. El remitente es 192.168.1.100 (local) y el receptor es 172.1941.72.105 (Google).

La longitud del encabezado del paquete de datos IP es de 20 bytes, más el paquete de datos TCP incorporado, la longitud total se convierte en 5000 bytes.

 

7 protocolo Ethernet

 

Finalmente, los paquetes de datos IP están integrados en los paquetes de datos Ethernet. Los paquetes de datos de Ethernet deben establecer las direcciones MAC de ambas partes: el remitente es la dirección MAC de la tarjeta de red local y el receptor es la dirección MAC de la puerta de enlace 192.168.1.1 (obtenida mediante el protocolo ARP).

La longitud máxima de la porción de datos del paquete de datos Ethernet es de 1500 bytes, y la longitud del paquete de datos IP actual es de 5000 bytes. Por lo tanto, el paquete de datos IP debe dividirse en cuatro paquetes. Como cada paquete tiene su propio encabezado IP (20 bytes), las longitudes de los paquetes IP de los cuatro paquetes son 1500, 1500, 1500 y 560, respectivamente.

 

 

8 Respuesta del lado del servidor

 

Después de ser reenviado por múltiples puertas de enlace, el servidor 172.194.72.105 de Google recibió estos cuatro paquetes de datos Ethernet.

Según el número de serie del encabezado IP, Google reúne cuatro paquetes, saca el paquete de datos TCP completo y luego lee la "solicitud HTTP", luego realiza una "respuesta HTTP" y la envía de vuelta utilizando el protocolo TCP.

Después de que la máquina recibe la respuesta HTTP, puede mostrar la página web y completar una comunicación de red.

Supongo que te gusta

Origin www.cnblogs.com/heirenxilou/p/12723015.html
Recomendado
Clasificación