La segmentación de paquetes es la división de datos en unidades de datos de protocolo más pequeñas antes de su transmisión a través de una red informática . En el conjunto de protocolos de Internet , el término se usa con mayor frecuencia para la paquetización del lado del remitente en la capa de transporte , como dividir un flujo de bytes TCP en segmentos o fragmentar un mensaje de usuario SCTP grande en múltiples fragmentos y paquetes de datos. [ 1 ] [ 2 ] La segmentación generalmente está limitada por la unidad de transmisión máxima (MTU) de la ruta y por límites específicos del protocolo, como el tamaño máximo del segmento (MSS). [ 3 ] [ 4 ] [ 5 ]
La segmentación de paquetes es distinta de la fragmentación IP , que subdivide un paquete IP ya formado en la capa de red , y de la fragmentación de la capa de enlace realizada por debajo de IP en algunos medios. [ 6 ] [ 7 ]
Descripción general
Los estándares de Internet suelen hablar de segmentación en términos de una capa de empaquetización : el protocolo de nivel de transporte o aplicación responsable de elegir los límites de los paquetes, como los tamaños de los segmentos. [ 8 ] En TCP , las aplicaciones intercambian un flujo de bytes ordenado en lugar de mensajes discretos; TCP empaqueta ese flujo según sea necesario y no conserva los límites entre las operaciones de escritura de la aplicación. [ 9 ] [ 10 ] El RFC 1122 señala además que el indicador TCP PSH no es un marcador de registro y es independiente de los límites de los segmentos. [ 10 ]
La segmentación se utiliza normalmente para que las unidades transmitidas se ajusten a la MTU de la ruta, permitiendo al mismo tiempo que el protocolo de transporte aplique sus propios mecanismos de fiabilidad , secuenciación y control de congestión . [ 8 ] [ 1 ] Para transportes fiables, el receptor reensambla las unidades transmitidas en el servicio esperado por la aplicación. En TCP, esto significa reconstruir un flujo de bytes ordenado en lugar de restaurar las llamadas de escritura originales del remitente. [ 9 ] [ 10 ]
Relación con MTU
El tamaño de los segmentos o paquetes transmitidos está limitado por la MTU del enlace de salida y, más importante aún, por la MTU más pequeña en la ruta de extremo a extremo. [ 4 ] [ 5 ] El descubrimiento clásico de MTU de ruta permite a los puntos finales descubrir ese límite para IPv4 e IPv6 . [ 4 ] [ 5 ] Para reducir la dependencia de la retroalimentación ICMP únicamente, el IETF estandarizó posteriormente el descubrimiento de MTU de ruta de la capa de empaquetamiento (PLPMTUD) y el descubrimiento de MTU de ruta de la capa de empaquetamiento de datagramas (DPLPMTUD), en los que TCP u otra capa de empaquetamiento sondea la ruta con paquetes progresivamente más grandes y ajusta su tamaño máximo efectivo de paquete en consecuencia. [ 8 ] [ 11 ]
En TCP, el extremo receptor puede anunciar una opción MSS durante el establecimiento de la conexión. El MSS es el tamaño máximo del segmento recibido en el extremo TCP que envía la opción. Las recomendaciones actuales indican que el MSS anunciado debe derivarse de la MTU efectiva menos los tamaños fijos de las cabeceras IP y TCP, mientras que los datos reales transportados en un segmento transmitido deben reducirse aún más cuando existen opciones IP o TCP. [ 1 ] [ 3 ]
Funcionamiento en protocolos comunes
TCP
TCP es un protocolo de flujo de bytes ordenado y confiable . Cada segmento lleva un número de secuencia que identifica su primer octeto de datos , y los acuses de recibo indican el siguiente octeto que espera el receptor. [ 1 ] Los datos perdidos se recuperan mediante retransmisión, incluso después de que expire el tiempo de espera de retransmisión . [ 1 ] Debido a que TCP proporciona un flujo de bytes en lugar de un servicio orientado a registros, el reensamblaje restaura los bytes ordenados y no los límites del mensaje original del remitente. [ 9 ] [ 10 ]
UDP y otros protocolos de transporte de datagramas
UDP es un protocolo de transporte de paso de mensajes mínimo , y cada datagrama UDP se transporta en un único paquete IP. [ 12 ] [ 13 ] Los datagramas UDP grandes a menudo requieren fragmentación IP, lo que las directrices de uso de UDP describen como una disminución de la fiabilidad y la eficiencia de la comunicación; por lo tanto, las directrices recomiendan evitar la fragmentación cuando sea posible. [ 12 ] Los protocolos y aplicaciones modernos de transporte de datagramas suelen utilizar PMTUD o DPLPMTUD para mantener los datagramas dentro de los límites de la ruta en lugar de depender de la fragmentación. [ 5 ] [ 11 ]
SCTP y QUIC
SCTP está orientado a mensajes en lugar de a flujos de bytes. Al convertir mensajes de usuario en fragmentos de DATOS, un punto final SCTP debe fragmentar los mensajes de usuario grandes en múltiples fragmentos de DATOS; el receptor normalmente vuelve a ensamblar el mensaje fragmentado antes de entregarlo a la aplicación. SCTP también puede agrupar múltiples fragmentos de DATOS o de control en un único paquete SCTP, siempre que el paquete no exceda la PMTU actual. [ 2 ]
QUIC se ejecuta sobre datagramas UDP, pero define sus propios paquetes y tramas por encima de UDP. El RFC 9000 establece que los paquetes QUIC se transportan en datagramas UDP, que uno o más paquetes QUIC pueden encapsularse en un único datagrama UDP y que todos los paquetes QUIC enviados en un datagrama deben ajustarse al tamaño máximo del datagrama. [ 14 ] La extensión QUIC DATAGRAM es explícitamente no fragmentable: el RFC 9221 establece que las tramas DATAGRAM no pueden fragmentarse, por lo que las aplicaciones que las utilizan deben gestionar los límites de tamaño impuestos por los parámetros de transporte y la MTU de la ruta. [ 15 ]
Distinción de la fragmentación
En los estándares de Internet , la segmentación y la fragmentación se refieren a mecanismos y capas diferentes. IPv4 permite que los datagramas de gran tamaño se fragmenten en la capa IP para su transmisión a través de redes de paquetes más pequeños, con el reensamblaje realizado por el destino. [ 6 ] IPv6 ya no permite que los enrutadores fragmenten el tráfico en tránsito: solo el nodo de origen puede enviar fragmentos, y la RFC 8200 desaconseja esto para aplicaciones que pueden ajustar sus paquetes a la MTU de ruta medida. [ 7 ]
RFC 8200 también requiere que cada enlace IPv6 admita una MTU de al menos 1280 octetos. Si un enlace no puede transportar un paquete de 1280 octetos de una sola pieza, se debe proporcionar fragmentación y reensamblaje específicos del enlace por debajo de IPv6. [ 7 ] Como resultado, una descripción moderna de la segmentación de paquetes debe distinguir la paquetización de la capa de transporte o de la capa de aplicación tanto de la fragmentación IP como de los mecanismos de fragmentación de capas inferiores. [ 8 ] [ 7 ]
Implementación moderna
En los sistemas operativos y adaptadores de red contemporáneos , la segmentación a menudo se pospone hasta el final de la ruta de transmisión. El kernel de Linux documenta la descarga de segmentación TCP (TSO), la descarga de segmentación genérica (GSO), la descarga de recepción genérica (GRO) y mecanismos relacionados que reducen la sobrecarga de procesamiento por paquete al transportar grandes búferes a través de gran parte de la pila y dividirlos en tramas del tamaño de la MTU posteriormente en software o hardware. [ 16 ] Microsoft documenta descargas de tareas comparables, incluyendo la descarga de envío grande para TCP y la descarga de segmentación UDP, en la que el sistema operativo proporciona un paquete grande más metadatos de segmentación a la interfaz de red para la división final. [ 17 ] [ 18 ]
Véase también
Referencias
- 1 2 3 4 5 "RFC 9293: Protocolo de control de transmisión (TCP)" . Editor de RFC . Agosto de 2022. Consultado el 6 de julio de 2026 .
- 1 2 "RFC 9260: Protocolo de transmisión de control de flujo" . Editor de RFC . Diciembre de 2021. Consultado el 6 de julio de 2026 .
- 1 2 "RFC 6691: Opciones TCP y tamaño máximo de segmento (MSS)" . Editor de RFC . Julio de 2012. Recuperado el 6 de julio de 2026 .
- 1 2 3 "RFC 1191: Descubrimiento de MTU de ruta" . Editor de RFC . Noviembre de 1990. Recuperado el 6 de julio de 2026 .
- 1 2 3 4 "RFC 8201: Descubrimiento de MTU de ruta para IP versión 6" . Editor de RFC . Julio de 2017. Recuperado el 6 de julio de 2026 .
- 1 2 "RFC 791: Protocolo de Internet" . Editor de RFC . Septiembre de 1981. Consultado el 6 de julio de 2026 .
- 1 2 3 4 "RFC 8200: Especificación del protocolo de Internet, versión 6 (IPv6)" . Editor de RFC . Julio de 2017. Consultado el 6 de julio de 2026 .
- 1 2 3 4 "RFC 4821: Descubrimiento de MTU de ruta de capa de empaquetamiento" . Editor de RFC . Marzo de 2007. Recuperado el 6 de julio de 2026 .
- 1 2 3 "RFC 1180: Un tutorial de TCP/IP" . Editor de RFC . Enero de 1991. Recuperado el 6 de julio de 2026 .
- 1 2 3 4 "RFC 1122: Requisitos para hosts de Internet – Capas de comunicación" . Editor de RFC . Octubre de 1989. Recuperado el 6 de julio de 2026 .
- 1 2 "RFC 8899: Descubrimiento de MTU de ruta de capa de empaquetamiento para transportes de datagramas" . Editor de RFC . Septiembre de 2020. Recuperado el 6 de julio de 2026 .
- 1 2 "RFC 8085: Directrices de uso de UDP" . Editor de RFC . Marzo de 2017. Consultado el 6 de julio de 2026 .
- ↑ "RFC 768: Protocolo de datagramas de usuario" . Editor de RFC . Agosto de 1980. Consultado el 6 de julio de 2026 .
- ↑ "RFC 9000: QUIC: Un transporte seguro y multiplexado basado en UDP" . Editor de RFC . Mayo de 2021. Consultado el 6 de julio de 2026 .
- ↑ "RFC 9221: Una extensión de datagramas no confiables para QUIC" . Editor de RFC . Marzo de 2022. Consultado el 6 de julio de 2026 .
- ↑ "Descargas de segmentación" . Documentación del kernel de Linux . Consultado el 6 de julio de 2026 .
- ↑ "Descripción general de la descarga de tareas TCP/IP" . Microsoft Learn . 27 de septiembre de 2024. Consultado el 6 de julio de 2026 .
- ↑ "Descargar la segmentación de paquetes TCP grandes" . Microsoft Learn . 31 de enero de 2025. Consultado el 6 de julio de 2026 .
- Paquetes (tecnología de la información)