ungleich-graphviz/ipv4-as-a-service.dot

61 lines
1.8 KiB
Plaintext

digraph G {
node [ shape=box, fontcolor="#ffffff", color="#40a9e3", style="filled" ]
label="IPv4 as a service\nby ungleich.ch"
# rankdir=LR
#
# Merge double edges into single one
# concentrate=true
# allow edges to subgraphs
# compound=true
# subgraph cluster_endpoints {
# label="IPv6 and IPv4 reachable hosts"
client [ label="Notebook, Desktop,\nServer, IoT device" color="#ee1100" ]
// notebook [ label="Notebook" color="#ee1100" ]
// desktop [ label="Desktop" color="#ee1100" ]
// ipv6onlyvm [ label="IPv6 only VM" color="#ee1100" ]
# }
// subgraph cluster_roadwarrior {
// label="Roadwarrior"
// notebook [ label="Notebook" color="#ee1100" ]
// }
# subgraph cluster_internet {
# label="The Internet"
ipv4internet [ label="IPv4 Internet" shape=oval ]
ipv6internet [ label="IPv6 Internet" shape=oval ]
# }
subgraph cluster_dcl {
label="Data Center Light in Switzerland"
vpnserver [ label="VPN Server" ]
nat64t [ label="NAT64 translator (inbound)" ]
nat64tout [ label="NAT64 translator (outbound)" ]
}
ipv4internet->client [ label="Access via NAT64 translator" style=dashed ]
ipv4internet->nat64t [ label="Access via IPv4" ]
ipv6internet->client [ label="Access via IPv6" style=dashed ]
ipv6internet->vpnserver [ label="Access via VPN server" ]
client->ipv4internet [ label="Access IPv4 Internet\nvia 2a0a:e5c0:1e:c001::a.b.c.d/96" style=dashed ]
client->nat64tout [ label="IPv4 via IPv6 access" ]
nat64tout->ipv4internet [ label="Translate mapped IPv4 to native IPv4" ]
client->vpnserver [ label="Connects to" ]
nat64t->vpnserver [ label="Translate IPv4 traffic to IPv6" ]
vpnserver->client [ label="Route IPv6 network" ]
}