2009-12-04 16 views
26

lo que es el tamaño de un datagrama UDP vacío? ¿Y el de un paquete TCP vacío?Tamaño del paquete vacío UDP y TCP?

sólo puedo encontrar informaciones sobre la MTU, pero quiero saber cuál es el tamaño de la "base" de éstos, con el fin de estimar el consumo de ancho de banda para los protocolos en la parte superior de ellos.

Gracias de antemano por informaciones.

+6

Wikipedia te dice todo lo que necesitas saber en este caso ... – Artelius

+1

¿Qué capa de servidor? UDP en IP puede usar ** muchas ** capas de servidor, una de las cuales es Ethernet pero también hay MPLS, PBT, Frame Relay, ATM, POS, etc. – jldupont

Respuesta

64

de trama Ethernet - 24 Bytes
Tamaño de la cabecera IPv4 (sin opciones) - 20 bytes
Tamaño de la cabecera TCP (sin opciones) - 20 bytes
tamaño Así total de vacío datagrama TCP - 24 + 20 + 20 = 64 bytes

tamaño de cabecera UDP - 8 bytes
tamaño Así total de datagrama UDP vacío - 24 + 20 + 8 = 52 bytes

+2

esto (modulo posibles errores :) fue de hecho el resultado general que estaba buscando de hecho! – puccio

+5

Creo que la trama de ethernet mínima es de 64 bytes (la carga útil debe tener un mínimo de 46 bytes). – Useless

+1

No obstante, no todos los TCP y UDP se llevan encima de Ethernet, de hecho, el mismo paquete puede transportarse en varias capas físicas diferentes durante su tránsito a través de varias redes. – caf

8

Ver User Datagram Protocol. El encabezado UDP tiene 8 bytes (64 bits) de longitud.

El tamaño mimimum de la cabecera TCP desnudo es 5 palabras (palabra de 32 bits), mientras que el tamaño máximo de una cabecera TCP es de 15 palabras.

mejores deseos, Fabian

1

Artelius y Halfdan son correctos, pero que se está perdiendo algo: UDP y TCP ambos se ejecutan en la parte superior de una parte del transporte físico. Por ejemplo, si estás usando UDP sobre ethernet, también debe incluir el tamaño del tamaño ethernet frame

+0

Bueno ... y por supuesto, el marco IP si lo desea ser enrutado – halfdan

+0

No existe un "cuadro de IP": probablemente desee hacer referencia a un "paquete de IP". – jldupont

13

La respuesta de Himanshus es perfectamente correcta.

Lo que podría ser engañoso cuando se mira la estructura de una trama Ethernet [ver más información], es que sin carga el tamaño mínimo de una trama Ethernet sería de 18 bytes: Dst Mac (6) + Src Mac (6) + Longitud (2) + FCS (4), la adición de tamaño mínimo de IPv4 (20) y TCP (20) nos da un total de 58 bytes.

Lo que no se ha mencionado aún es que la carga mínima de una trama Ethernet es de 46 bytes, por lo que los 20 + 20 bytes de IPv4 y TCP no son suficientes. Esto significa que se deben rellenar 6 bytes, de ahí viene el total de 64 bytes.

18 (min. Ethernet campos "cabecera") + 6 (relleno) + 20 (IPv4) + 20 (TCP) = 64 bytes

Hope esto aclare las cosas un poco.

Lectura adicional:

+2

¿Esto también significa lo siguiente? 18 (campos de "encabezado" Ethernet mínimo) + 18 (relleno) + 20 (IPv4) + 8 (UDP) = 64 bytes? En total 18 + 20 + 8 = 46 bytes para la carga útil IP + UDP. – Ali

+3

¡Sí! Aquí nuevamente 20 + 8 (= 28) no es suficiente para la carga útil mínima de ethernet, por lo que se necesitan 18 bytes de relleno (20 + 8 + 18 = 46). – Felix

+0

En caso de que se pregunte cómo distinguir un paquete TCP vacío de uno con 1-6 bytes de carga en un ethernet, esto se hace usando el campo "longitud total" en el encabezado IP. –

0

Si va a calcular el consumo de ancho de banda y relacionarlos con la máxima velocidad de su red (como de 1 Gb/s o 10 Gb/s), es necesario, como se señala en Useless, agregar el Ethernet framing overhead at layer 1 a los números calculados por Felix y otros, a saber

  • 7 bytes de preámbulo
  • 1 de byte de comienzo de trama delimitador
  • 12 bytes intervalo inter

es decir, un total de 20 bytes más consumidos por paquete.

Cuestiones relacionadas