24 lines
973 B
Markdown
24 lines
973 B
Markdown
# What is NAT64?
|
|
|
|
IPv4 and IPv6 are two different versions of the Internet Protocol that, while being similar in many ways, are not directly compatible (largely due to their differing header structure).
|
|
|
|
|
|
## Addressing
|
|
|
|
IPv4 addresses are 32-bit numbers (represented as `xxx.xxx.xxx.xxx`), while IPv6 addresses are 128-bit numbers (represented as `xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx`).
|
|
|
|
When an IPv4 packet is sent from one host to another, the sender embeds both the sending and receiving address into the packet header (just like a destination and return address on physical mail). This means that a packet traveling from `192.0.2.1` to `192.0.2.2` would be marked as such in the packet header:
|
|
|
|
```mermaid
|
|
graph LR
|
|
HostA((Host A)) -->|src: 192.0.2.1\ndst: 192.0.2.2| HostB((Host B))
|
|
```
|
|
|
|
And a response to that packet would be marked with the opposite addresses:
|
|
|
|
```mermaid
|
|
graph RL
|
|
HostB((Host B)) -->|src: 192.0.2.2\ndst: 192.0.2.1| HostA((Host A))
|
|
```
|
|
|