2021-02-24 16:21:05 +00:00
|
|
|
digraph G {
|
|
|
|
node [ shape=box ]
|
2021-03-05 15:38:36 +00:00
|
|
|
# rankdir=LR;
|
2021-02-24 16:21:05 +00:00
|
|
|
|
|
|
|
label="Hostnames for IPv6 only hosts"
|
|
|
|
|
|
|
|
serverv6 [ label="Server (IPv6 only)" ];
|
|
|
|
proxy [ label="Proxy (IPv4+IPv6)" ];
|
|
|
|
|
|
|
|
http [ label="HTTP(s) for\nwww.example.com" ]
|
|
|
|
dns [ label="DNS for www.example.com" ]
|
|
|
|
|
|
|
|
dnsv6 [ label="v6.example.com" ]
|
|
|
|
dnsv6->serverv6 [ label="Only AAAA entry configured" ]
|
|
|
|
|
|
|
|
clientv4 [ label="IPv4 client" ];
|
|
|
|
clientv6 [ label="IPv6 client" ];
|
|
|
|
clientdual [ label="Dual Stack client" ];
|
|
|
|
|
2021-03-05 15:38:36 +00:00
|
|
|
dns->proxy [ label="A entry points to proxy" style=dashed ]
|
|
|
|
dns->serverv6 [ label="AAAA entry points to the server" style=dashed ]
|
2021-02-24 16:21:05 +00:00
|
|
|
|
2021-03-05 15:38:36 +00:00
|
|
|
{clientv4,clientv6,clientdual}->dns [ label="1. perform a DNS lookup" ]
|
2021-02-24 16:21:05 +00:00
|
|
|
|
2021-03-05 15:38:36 +00:00
|
|
|
clientdual->{proxy,serverv6} [ label="2. Accesses either way" style=dashed ]
|
2021-02-24 16:21:05 +00:00
|
|
|
|
2021-03-05 15:38:36 +00:00
|
|
|
clientv4->proxy [ label="2. Accesses server via proxy" ]
|
|
|
|
clientv6->serverv6 [ label="2. Accesses server directly" ]
|
2021-02-24 16:21:05 +00:00
|
|
|
|
|
|
|
proxy->serverv6 [ label="Forwards HTTP/HTTPS requests" ]
|
|
|
|
serverv6->http [ label="Serves content for" ]
|
|
|
|
|
2021-03-05 15:38:36 +00:00
|
|
|
{clientv6,clientdual}->serverv6 [ label="3. Access via\nv6.example.com\nAlways directly" ]
|
2021-02-24 16:21:05 +00:00
|
|
|
|
|
|
|
|
|
|
|
}
|