Network byte order reads the most-significant byte first. The rule matters most when the high byte is non-zero.

highlighted = computed this step

Why byte order matters

Network byte order makes a multi-byte number unambiguous. The left byte is the high byte, so it is multiplied before the right byte is added.

multiplier=256\text{multiplier}=256

Network byte order

The two bytes 0x003c are read left to right. The left byte is 0x00; the right byte is 0x3c.

0x003c=600x003c=60
Big endian fieldA two-byte field is read most-significant byte first.Total length16 bits / 2 bytes0x003cbyte 0byte 10000000000111100total-length60

Byte arithmetic

0x00 times 256 plus 0x3c equals 60. Here the high byte is 0, so this value would fit in one byte; the ×256 is what matters once the high byte is non-zero.

0x00×256+0x3c=600x00\times256+0x3c=60
Big endian fieldA two-byte field is read most-significant byte first.Total length16 bits / 2 bytes0x003cbyte 0byte 10000000000111100total-length60

Decode it again

For 0x05dc, the high byte 0x05 times 256 plus 0xdc equals 1500. This is the classic Ethernet MTU, and here the high byte actually matters.

0x05×256+0xdc=15000x05\times256+0xdc=1500
Big endian field againThis value needs the high byte.Another total length16 bits / 2 bytes0x05dcbyte 0byte 10000010111011100total-length1500

Summary

Big-endian decoding is a rule for turning ordered bytes into one integer. Byte layout only; timing/throughput is not modeled here. Timing/throughput is not modeled here — only the exact byte layout.

total length=60\text{total length}=60
Big endian fieldA two-byte field is read most-significant byte first.Total length16 bits / 2 bytes0x003cbyte 0byte 10000000000111100total-length60