diff --git a/examples/two-node-udp/README.md b/examples/two-node-udp/README.md index b75d94d..6996164 100644 --- a/examples/two-node-udp/README.md +++ b/examples/two-node-udp/README.md @@ -7,31 +7,7 @@ can `ping6` between nodes using raw IPv6 addresses. ## Network Diagram -```text - Namespace: fips-a Namespace: fips-b - ┌─────────────────────┐ ┌─────────────────────┐ - │ │ │ │ - │ ┌───────────────┐ │ │ ┌───────────────┐ │ - │ │ FIPS Node A │ │ │ │ FIPS Node B │ │ - │ │ │ │ │ │ │ │ - │ │ fd69:e08d:.. │ │ │ │ fd8e:302c:.. │ │ - │ └──┬─────────┬──┘ │ │ └──┬─────────┬──┘ │ - │ │ │ │ │ │ │ │ - │ ┌──┴──┐ ┌───┴──┐ │ │ ┌──┴──┐ ┌───┴──┐ │ - │ │fips0│ │ DNS │ │ │ │fips0│ │ DNS │ │ - │ │ TUN │ │:5354 │ │ │ │ TUN │ │:5354 │ │ - │ └─────┘ └──────┘ │ │ └─────┘ └──────┘ │ - │ │ │ │ - │ ┌────────────────┐ │ │ ┌────────────────┐ │ - │ │ veth-a │ │ UDP :4000 │ │ veth-b │ │ - │ │ 10.0.0.1/24 ├─┼──────────────┼─┤ 10.0.0.2/24 │ │ - │ └────────────────┘ │ │ └────────────────┘ │ - └─────────────────────┘ └─────────────────────┘ - - Transport layer: UDP over IPv4 veth pair (10.0.0.0/24) - Data plane: IPv6 over FIPS mesh (fd::/8 via fips0 TUN) - DNS: .fips → FIPS IPv6 address (127.0.0.1:5354) -``` +![Two-Node UDP](two-node-udp.svg) ## Prerequisites diff --git a/examples/two-node-udp/two-node-udp.svg b/examples/two-node-udp/two-node-udp.svg new file mode 100644 index 0000000..d72a3e8 --- /dev/null +++ b/examples/two-node-udp/two-node-udp.svg @@ -0,0 +1,110 @@ + + + + + + + + Two-Node UDP Example + Network namespaces with veth pair transport + + + + Namespace: fips-a + + + + FIPS Node A + fd69:e08d:65cc:3a6b:9c2c:2ac4:bd40:5e4b + npub1sjlh2c...awh57m + + + + fips0 + TUN device + + + + DNS + 127.0.0.1:5354 + + + + + + + + veth-a + 10.0.0.1/24 + + + + + + + Namespace: fips-b + + + + FIPS Node B + fd8e:302c:287e:b48d:6268:122f:da76:0b77 + npub1tdwa4v...d84le + + + + fips0 + TUN device + + + + DNS + 127.0.0.1:5354 + + + + + + + + veth-b + 10.0.0.2/24 + + + + + + + UDP :4000 + + + + Encrypted session + + + + + + Transport layer: UDP over IPv4 veth pair + + + Data plane: IPv6 over FIPS mesh (fd::/8 via fips0 TUN) + + + DNS: <npub>.fips → FIPS IPv6 address +