2009-06-15 15 views
14

¿En qué orden de bytes ocurre la transferencia de datos en la red? ¿Es Little Endian o Big Endian? ¿Cómo se convierte al orden de bytes respectivo una vez que los datos llegan al host?Big endian o Little endian en la red?

+0

puede explicar un poco más? tcp/udp? –

+0

llega al host desde donde/cómo? –

Respuesta

20

"Orden de bytes de red" es Big Endian, y protocolos como TCP usan esto para campos enteros (por ejemplo, números de puertos). Las funciones como htons y ntohs se pueden usar para realizar la conversión.

Los datos en sí no tienen endianness, están completamente definidos por la aplicación, a menos que esté usando un Presentation Layer como XDR.

2

Se transfiere en el orden que lo envíe.

Tradicionalmente, los protocolos de Internet usan big endian, porque las máquinas que realizaban la mayor parte de la comunicación eran big endian.

Sin embargo, si define sus propias estructuras para enviar a través de la red, no hay necesidad de seguir esa convención.

Con la programación en C, por lo general, uno a menudo usa las macros htons o ntohs para realizar la conversión.

Cuestiones relacionadas