Encabezado de paquete IP, revisión de formato de encabezado de paquete TCP

Estructura del paquete de datos IPV4 :

1-1 dígitos de la versión 4 : indica el número de versión, actualmente el más extenso es IPv4 = B 0100 , creo que IPv6 = B0110

1-2 Longitud del encabezado 4 bits: la longitud del encabezado del paquete. Indica cuántos enteros largos de 32 bits se incluyen en el encabezado del paquete, es decir, cuántos datos de 4 bytes. Ninguna opción es 5 (parte roja).

1-3 Tipo de servicio: incluyendo 8 bits binarios, el significado de cada bit es el siguiente:

       Campo de proceso: 3 bits, establece la importancia del paquete de datos, cuanto mayor es el valor, más importantes son los datos, el rango de valores es: 0 (normal) ~ 7 (control de red)

       Campo de retardo: 1 bit, valor: 0 (normal), 1 (retardo extra bajo)

       Campo de flujo: 1 bit, valor: 0 (normal), 1 (flujo extra alto)

       Campo de confiabilidad: 1 bit, valor: 0 (normal), 1 (confiabilidad extra alta)

       Campo de costo: 1 dígito, valor: 0 (normal), 1 (costo mínimo del período)

       Campo reservado: 1 bit, sin usar

1-4 Longitud total 16 bits: la longitud total del paquete IP actual, en bytes. Por supuesto, el máximo solo puede ser 65535 o 63 KB.

2-1 Identificador de reorganización de 16 bits: el orden de los paquetes enviados por el remitente, incrementado en 1 en secuencia, si los paquetes recibidos por el cliente están fuera de servicio. Según este tipo, por ejemplo

 

2-2 3 bits:

  Primer lugar: campo reservado

  Segundo dígito: Valor: 0 (segmentación de datagramas permitida), 1 (segmentación de datagramas no permitida)

  Tercer lugar: si hay más fragmentos detrás, valor: 0 (no hay paquete después del paquete de datos, el paquete es el último paquete), 1 (hay más paquetes después del paquete de datos)

Desplazamiento de 2-3 segmentos de 13 bits: combinado con más bits de segmento para ayudar al receptor a combinar mensajes segmentados, en bytes.

[Muestra de la captura de Wirehark bit estándar + desplazamiento total 16 bits]

3-1 Tiempo de supervivencia de 8 bits: este es el TTL (Tiempo de vida) que suele ver el comando ping. Este valor disminuye en uno cada vez que pasa a través de un enrutador y se descarta a cero.

3-2 Código de protocolo de 8 bits: indica que se utiliza el protocolo de capa superior del paquete, como TCP = 6, ICMP = 1, UDP = 17, etc.

[TCP de muestra]

3-3 Suma de comprobación del encabezado IP 16 bits : es la suma de comprobación del encabezado del paquete IPv4.

El campo de suma de verificación del encabezado IP (16 bits, 2 bytes) solo calcula la suma de verificación de todos los campos en el encabezado IP, no calcula los datos después del encabezado. 

Remitente: para calcular la suma de verificación del encabezado IP de un datagrama, primero debe establecer este campo de suma de verificación en 0. Luego, los 16 bits (2 bytes) en el encabezado se suman en binario inverso (todo el encabezado se considera como una cadena de palabras de 16 bits), y el resultado se almacena en el campo de suma de verificación.

Destinatario: después de recibir un datagrama IP, los 16 bits (2 bytes) en el encabezado se suman en binario inverso. Dado que el receptor incluye la suma de verificación del encabezado existente del remitente en el proceso de cálculo, si el encabezado no tiene ningún error durante la transmisión, el cálculo del receptor debe ser todo. Si el resultado no son todos (es decir, error de suma de comprobación), entonces IP descarta el datagrama recibido. Sin embargo, no se genera ningún mensaje de error, y la capa superior encuentra el datagrama perdido y lo retransmite.

4-1 Dirección de origen: 32 bits = 4 bytes, la IP que vemos a menudo es separar cada byte con un punto (.), Eso es todo.

 

 

 5-1 Dirección de destino: 32 bits, igual que el anterior.

6-1 Opción opcional: se utiliza principalmente para algunas situaciones especiales. A menudo, el enrutamiento seguro se filtrará como un ataque. El enrutamiento TL-ER5110 de TP_LINK puede hacer esto.

7-1. Datos del usuario.

 

Estructura del paquete TCP :

 

1-1 puerto primordial 16: ahora sabe por qué rango de puertos TCP es 0 - 65535 de ella .

1-2 Puerto de destino: igual que el anterior.

2-1 Número de secuencia de datos de 32 bits: TCP codifica un número para cada byte enviado, donde se almacena el número de secuencia del primer byte de los datos del paquete actual.

3-1 Confirme el número de secuencia de 32 bits: por seguridad, TCP le dice al receptor que quiere el número de secuencia del primer byte del paquete de datos recibido la próxima vez . Al mismo tiempo, también confirma que ha recibido este número de serie -1 byte de datos.

4-1 La longitud del encabezado es de 4 bits: similar a IP ---> indica cuántos 32 bits (unos cuatro bytes) son los datos del encabezado. 20 bytes, luego 5

4-2 6 bits reservados: sin usar, debe establecerse en cero.

4-3 Urgente bit URG: cuando URG = 1, indica que el campo de puntero urgente es válido. Le dice al sistema que hay datos urgentes en este segmento, que deben transmitirse lo antes posible (equivalente a datos de alta prioridad).

4-4 Bit de confirmación ACK: el campo del número de confirmación solo es válido cuando ACK = 1. Cuando ACK = 0, el número de confirmación no es válido. Consulte el protocolo de enlace de tres vías TCP

4-5 PSH: indica que la otra parte solicita que la aplicación se entregue a la aplicación inmediatamente después de recibir los datos , en lugar de almacenar en búfer hasta que el búfer esté lleno. Generalmente 1.

4-6 Restablecer bit RST (Restablecer): cuando RST = 1, indica que hay un error grave en la conexión TCP (como debido a un bloqueo del host u otros motivos), la conexión debe liberarse y luego se restablece la conexión de transporte. Consulte el protocolo de enlace de tres vías TCP

4-7 Bit de sincronización SYN: cuando el bit de sincronización SYN se establece en 1, indica que se trata de una solicitud de conexión o un mensaje de aceptación de conexión. Consulte el protocolo de enlace de tres vías TCP

4-8 Bit de terminación FIN (FINal): se utiliza para liberar una conexión. Cuando FIN = 1, indica que se han enviado los datos del extremo emisor de este segmento y requiere la liberación de la conexión de transporte.

4-9 Campo de ventana 16 bits: el campo de ventana se usa para controlar la cantidad de datos enviados por la otra parte, en bytes. Un extremo de la conexión TCP determina su propio tamaño de ventana de recepción de acuerdo con el tamaño de espacio del búfer establecido, y luego informa a la otra parte para determinar el límite superior de la ventana de envío de la otra parte.

5-1. Suma de comprobación de paquetes de 16 bits, incluidos encabezado y datos. Al calcular la suma de verificación, se agrega un pseudo encabezado de 12 bytes antes del segmento TCP. El rango de verificación incluye encabezados TCP, contenido de datagramas y pseudo encabezados conceptuales.

El pseudo encabezado conceptual incluye la IP de origen, la IP de destino y el número de protocolo TCP.

 

 

5-2 Puntero de emergencia de 16 bits El puntero de emergencia indica el número de secuencia del último byte de datos de emergencia en este segmento: apunta al siguiente byte del último byte de datos de emergencia en el datagrama.

6-1. La opción opcional de 24 bits, similar a IP, es una opción opcional.

6-2 Complete 8 bits para hacer la opción 32 bits.

7-1. Datos del usuario ...

====================== EL FINAL ========================== ========

 

Supongo que te gusta

Origin www.cnblogs.com/zhangmingda/p/12683149.html
Recomendado
Clasificación