A dotted address is just four bytes displayed in decimal. Each octet is decoded independently from one byte.

highlighted = computed this step

Why four octets

An address field is four independent bytes displayed in decimal. The dots are presentation; the strip still stores byte values.

address bytes=4\text{address bytes}=4

Bytes become dotted octets

0xac becomes 172, 0x10 becomes 16, 0x0a becomes 10, and 0x63 becomes 99.

172.16.10.99172.16.10.99
Address bytesEach byte of the address becomes one dotted-quad octet.Source address32 bits / 4 bytes0xac100a63byte 0byte 1byte 2byte 310101100000100000000101001100011source-address172.16.10.99

The address is byte arithmetic

The displayed address is 172.16.10.99, recomputed from the four bytes.

0xac0x100x0a0x630xac\,0x10\,0x0a\,0x63
Address bytesEach byte of the address becomes one dotted-quad octet.Source address32 bits / 4 bytes0xac100a63byte 0byte 1byte 2byte 310101100000100000000101001100011source-address172.16.10.99

Decode it again

For the public DNS example, each byte is 0x08, so each dotted octet is 8. The same four-independent-octets rule gives 8.8.8.8.

8.8.8.88.8.8.8
Another addressFour bytes become four dotted octets again.Public DNS address32 bits / 4 bytes0x08080808byte 0byte 1byte 2byte 300001000000010000000100000001000source-address8.8.8.8

Summary

A dotted address is four byte values, not one free-form string. Byte layout only; timing/throughput is not modeled here. Timing/throughput is not modeled here — only the exact byte layout.

address bytes=4\text{address bytes}=4
Address bytesEach byte of the address becomes one dotted-quad octet.Source address32 bits / 4 bytes0xac100a63byte 0byte 1byte 2byte 310101100000100000000101001100011source-address172.16.10.99