unidades total reservado que puede protocolo para paquete máximo hasta fragmentos fragmentar ejemplo datos datagramas datagrama cuantas cual cabecera networking tcp network-programming

networking - total - protocolo ip



qué tipo de campos en paquetes de red se deben convertir a orden de bytes de red (1)

Sé que la endianess en los hosts y la red puede ser diferente, pero ¿por qué el orden de bytes es importante?

Creo que hay dos razones:

1 para que el enrutador verifique el encabezado de IP (como las direcciones), los enrutadores solo reconocen el orden de big-endian (orden de bytes de red) 2 para que el host receptor reconozca el orden de bytes de los paquetes. Dado que el host receptor no conoce el orden de bytes del host emisor, si el orden de bytes no se convierte en orden de bytes de red, no conoce el orden de bytes del paquete.

estoy en lo cierto?

por lo tanto, para los siguientes campos, que deben convertirse a orden de bytes, y ¿por qué?

1 TCP/UDP Header options, like MSS, timestamps 2 TCP/UDP header checksum 3 TCP sequence number 4 UDP/TCP data fields


Cada campo que se envía / almacena como datos binarios (no ASCII, en particular) que es más largo que un solo byte necesita tener un orden de bytes bien definido. De lo contrario, como indicó, el receptor no sabe cómo interpretar lo que envió el remitente.

La respuesta a su pregunta específica es que los números 1, 2 y 3 deben estar en orden de bytes de red. En cuanto a los campos en la carga UDP / TCP (n. ° 4), eso depende de usted. Se sugiere el orden de bytes de red (big endian), por coherencia con casi todos los demás protocolos, pero si está definiendo un protocolo, puede elegir little endian si lo desea. Algunos tienen.