Red de Respuestas Legales - Derecho empresarial - Patente de división de propiedad intelectual

Patente de división de propiedad intelectual

Introducción a los principios de paquetización y reensamblaje en el protocolo TCP/IP

La fragmentación es la encarnación de la conmutación de paquetes y uno de los dos principales problemas que resuelve el protocolo IP. El algoritmo de fragmentación en el protocolo IP resuelve principalmente los problemas de transmisión causados ​​por las diferencias en la unidad máxima de transmisión (MTU) de diferentes redes físicas. Sin embargo, la continua fragmentación y reensamblaje de paquetes de datos durante el proceso de transmisión generará una gran carga de trabajo y aumentará algunos factores de inseguridad. En este breve artículo, discutiremos las causas, los principios, la implementación y los problemas de seguridad de la fragmentación de la propiedad intelectual.

1. ¿Qué es la fragmentación de IP?

La fragmentación de IP es un medio técnico para transmitir paquetes IP en la red. Al transmitir un paquete de datos, el protocolo IP divide el paquete de datos en varios fragmentos para su transmisión y los vuelve a ensamblar en el sistema de destino. Este proceso se llama fragmentación.

2. ¿Por qué la IP está fragmentada?

Cada red física especificará la longitud máxima de la trama de datos de la capa de enlace, que se denomina MTU (unidad de transmisión máxima) de la capa de enlace. En el protocolo IP, al transmitir un paquete de datos, si la longitud del datagrama IP después de agregar el encabezado de la trama de datos es mayor que la MTU, el paquete de datos se dividirá en varios bloques para su transmisión y se volverá a ensamblar en el sistema de destino. Por ejemplo, el tamaño máximo de mensaje IP (MTU) que se puede transmitir en un entorno Ethernet es 1500 bytes. Si el tamaño de la trama de datos a transmitir excede los 1500 bytes, es decir, la longitud del datagrama IP es mayor que 1472 (1500-20-8 = 1472, datagrama ordinario) bytes, es necesario fragmentarlo antes de la transmisión.

3. Principio y análisis de la fragmentación de la propiedad intelectual

El proceso de fragmentación y reensamblaje es transparente para la capa de transporte, porque una vez fragmentado el datagrama IP, solo se puede volver a ensamblar cuando llega a la estación de destino, completado por la capa IP en el destino. Los datagramas fragmentados también se pueden fragmentar nuevamente si es necesario.

Los fragmentos de IP y los paquetes IP completos tienen casi el mismo encabezado IP y el campo de ID de cada fragmento es consistente, de modo que se puede identificar el mismo paquete IP durante el reensamblaje del texto. En el encabezado de IP, el número de identificación de 16 bits registra de forma única la ID de un paquete IP, y los fragmentos de IP con la misma ID se volverán a ensamblar; el desplazamiento de 13 bits registra la posición del fragmento de IP en relación con todo el paquete; estas dos tablas El indicador de 3 bits indica si hay un nuevo fragmento después de este fragmento. Estos tres indicadores constituyen toda la información de fragmentación de IP (se presentará más adelante), y el receptor puede usar esta información para reorganizar los datos de IP.

1. El papel del campo de bandera

El campo de bandera juega un papel importante en los datagramas segmentados. Cuando se fragmenta un datagrama, su valor se copia en el campo de indicadores de cada fragmento con un bit llamado bit "sin fragmentación" y un bit que se usa para indicar "más fragmentos". Este bit debe establecerse en 1 para cada datagrama excepto el último datagrama. El campo de desplazamiento de corte se refiere al desplazamiento de corte desde el comienzo del datagrama original. Además, cuando se fragmenta un datagrama, el valor de longitud total de cada fragmento debe cambiarse al valor de longitud de ese fragmento. Si el bit del campo de banderas se establece en 1, IP no fragmentará el datagrama. Si es necesario fragmentarlo en un enrutador intermedio, descartará el datagrama y enviará un mensaje de error ICMP inalcanzable al host de origen. No debe establecerse en 1 a menos que exista una necesidad especial; el bit 1 más a la derecha indica que el mensaje no es el último fragmento de IP. Enviar deliberadamente algunos fragmentos de IP, pero no todos, hará que el host de destino espere a que los fragmentos consuman y ocupen recursos del sistema. Algunos ataques de tormentas de fragmentación se basan en este principio. Aquí tomamos Ethernet como ejemplo. Debido a las limitaciones eléctricas de la transmisión Ethernet, el tamaño mínimo de cada trama Ethernet es de 64 bytes y el tamaño máximo es de 1518 bytes. Deseche el encabezado al final de la trama Ethernet (dirección MAC de destino DMAC 48 bits = 6 bytes + dirección MAC de origen SMAC 48 bits = 6 bytes + campo de tipo 2 bytes) 14 bytes y verificación CRC parte 4 bytes, luego el lugar restante para transportar el protocolo de capa superior los campos de datos solo pueden tener un máximo de 1500 Bytes, que es el valor de MTU mencionado anteriormente. Esto también es algo que preocupa mucho al protocolo de la capa de red, porque el protocolo IP de la capa de red decidirá si fragmentar los datos transmitidos por la capa superior en función de este valor. Así como un trozo grande de pan no cabe en una caja, debemos cortar el pan en trozos y colocarlos en varias cajas.

El siguiente es el formato de los bits de bandera en el encabezado IP y el significado de cada bandera:

Identificación

Raro

DF

Frecuencia intermedia

Desplazamiento de fragmento

r: dejar sin usar; DF: no fragmentado, el bit de "no fragmentado", si este bit está configurado en 1. La capa IP no fragmentará el datagrama; MF: más fragmento, "más fragmentos", excepto el último fragmento, todos los demás fragmentos que componen el datagrama deben establecer el bit en 1. Desplazamiento del fragmento: el fragmento es del; datos originales La posición inicial del paquete está desplazada. El número de bytes a compensar es este valor multiplicado por 8.

2. Principio MTU

Cuando dos PC remotas necesitan comunicarse, sus datos deben pasar a través de muchos enrutadores y varios medios de red para llegar al extremo opuesto. Las MTU de diferentes medios en la red son diferentes, al igual que una tubería de agua larga, que se compone de tuberías de agua de diferentes espesores (diferentes MTU).

La cantidad máxima de agua que pasa por esta sección de tubería está determinada por la tubería más pequeña en el medio.

Para los protocolos de la capa superior de la capa de red (aquí, tomemos la familia de protocolos TCP/IP como ejemplo), no les importa el grosor de la "tubería de agua". una cuestión de la capa de red. El protocolo IP de la capa de red verificará el tamaño de cada paquete del protocolo de la capa superior y decidirá si "fragmentar" según el tamaño de la MTU local. La mayor desventaja de la fragmentación es el rendimiento reducido de la transmisión. Lo que se puede hacer una vez se hace varias veces, por lo que esto a menudo se nota en la implementación de una capa superior de la capa de red (es decir, la capa de transporte). Algunos ejecutivos me preguntarán si este pan no se puede rebanar por alguna razón. Quiero que el pan esté completo, así que agregaré una etiqueta al encabezado de IP: DF (no fragmentado). De esta manera, cuando se transmite un paquete IP en una red de sección grande (dentro de una tubería de agua), si la MTU es más pequeña que el paquete IP, el dispositivo de reenvío descartará el paquete según sea necesario. Luego se devuelve un mensaje de error al remitente. Esto tiende a causar algunos problemas de comunicación, pero afortunadamente la mayoría de los enlaces de red tienen una MTU de 1500 o superior (sólo 576 en redes X.25 y 296 en redes punto a punto son menores que 1500).

Para el protocolo UDP, este protocolo en sí es un protocolo sin conexión. No le importa el orden de llegada de los paquetes de datos ni si llegan correctamente, por lo que las aplicaciones UDP generales no tienen requisitos especiales de fragmentación.

El protocolo TCP es diferente. Es un protocolo orientado a conexión. Para el protocolo TCP, nos preocupa mucho el orden de llegada de los paquetes de datos y si hay errores en la transmisión. Por lo tanto, algunas aplicaciones TCP requieren Fragmentación-Fragmentación-Libre (DF).

3. Principio de MSS

Mss (tamaño máximo de señalización) es el segmento de datos más grande que un paquete TCP puede transmitir al mismo tiempo. Para lograr la mejor eficiencia de transmisión, el protocolo TCP generalmente negocia el valor MSS de ambas partes al establecer una conexión. Este valor a menudo se reemplaza por el valor MTU cuando se implementa el protocolo TCP (es necesario restar 20 bytes del tamaño del encabezado del paquete IP y del encabezado del segmento de datos TCP), por lo que el valor MSS suele ser 1460. Las partes comunicantes determinarán el valor MSS máximo de esta conexión en función del valor MSS mínimo proporcionado por ambas partes.

Cuando se fragmenta un datagrama IP, cada fragmento se convierte en un paquete con su propio encabezado IP y es independiente de otros paquetes a la hora de enrutarse. De esta manera, cuando estos datagramas llegan a su destino, pueden estar desordenados, pero hay suficiente información en el encabezado IP para que el receptor pueda ensamblar estos datagramas correctamente.

Aunque el proceso de fragmentación de IP parece transparente, una cosa que la gente no quiere usar es que incluso si solo se pierde un dato, se debe retransmitir el datagrama completo. Debido a que la capa IP en sí no tiene un mecanismo de tiempo de espera y retransmisión, las capas superiores son responsables de los tiempos de espera y las retransmisiones (TCP tiene un mecanismo de tiempo de espera y retransmisión, UDP no. Algunas aplicaciones UDP realizan tiempos de espera y retransmisiones por sí mismas). Cuando se pierde un fragmento en un segmento TCP, TCP reenviará el segmento TCP completo después de un tiempo de espera, lo que corresponde a un datagrama IP. No hay forma de reenviar sólo uno de los datagramas. De hecho, si el datagrama es fragmentado por un enrutador intermedio en lugar del sistema de origen, entonces el sistema de origen no tiene forma de saber cómo se fragmentó el datagrama. Por esta razón, a menudo es necesario evitar la fragmentación.

IV. Principio del algoritmo de fragmentación de IP

El reensamblaje de fragmentación es el trabajo más importante de la capa IP. Su idea principal es: cuando un paquete de datos ingresa a otra red desde una red A B. , si el paquete de datos de la red original es más largo que la longitud de MTU de otra red o interfaz, es necesario fragmentarlo (si DF se establece en 1, el paquete se descarta y se devuelve un mensaje de error ICMP inalcanzable). Por lo tanto, hay varios campos de identificación en el encabezado del paquete IP para indicar el mismo número de identificación del paquete fragmentado, el desplazamiento del fragmento, si es el último fragmento y si se permite la fragmentación. La puerta de enlace durante la transmisión utiliza estos campos de identificación para volver a fragmentar, de modo que el host pueda volver a ensamblar los fragmentos recibidos para recuperar los datos. Por lo tanto, cuando un paquete de datos fragmentado pasa a través de equipos de monitoreo de red, equipos de seguridad y equipos de administración de sistemas, es necesario fragmentar o reensamblar el paquete de datos para obtener información y procesar datos.

Verbo (abreviatura de verbo) Problemas de seguridad de la fragmentación de IP

La fragmentación de IP es una tecnología comúnmente utilizada para transmitir mensajes IP en la red, pero existen algunos riesgos de seguridad. Durante el proceso de reorganización de fragmentos de IP, ataques como Ping of Death y Teardrop pueden provocar que algunos sistemas se apaguen o se reinicien. Además de los ataques de denegación de servicio, algunos ataques de fragmentación de IP se utilizan a menudo como medio para eludir los cortafuegos o los sistemas de detección de intrusiones en la red. Debido a la falta de fragmentación y reensamblaje de IP, algunos enrutadores o sistemas de detección de intrusiones basados ​​en red (NIDS) no pueden realizar un filtrado o detección normal.

Introducción a los ataques de microfragmentación:

Los ataques de microfragmentación se refieren a ataques que eluden los sistemas de filtrado de paquetes o los sistemas de detección de intrusiones enviando pequeños fragmentos a través de operaciones maliciosas. Un atacante puede distribuir maliciosamente el encabezado TCP (normalmente 20 bytes) en dos fragmentos para que el número de puerto de destino se incluya en el segundo fragmento. Para equipos de filtrado de paquetes o sistemas de detección de intrusiones, las medidas de permitir/no permitir primero se toman determinando el número de puerto de destino. Sin embargo, dado que el número de puerto de destino se encuentra en el segundo fragmento mediante fragmentación maliciosa, el dispositivo de filtrado de paquetes determina si permite que pasen los fragmentos posteriores juzgando el primer fragmento.

Sin embargo, estos fragmentos pueden provocar varios ataques después de volver a ensamblarse en el host de destino. Este método puede eludir algunos sistemas de detección de intrusiones y algunos sistemas de filtrado de seguridad. Actualmente, algunos dispositivos inteligentes de filtrado de paquetes descartan directamente fragmentos que no contienen información del puerto en el encabezado.