45 lines
1.5 KiB
Plaintext
45 lines
1.5 KiB
Plaintext
digraph G {
|
|
node [ shape=box ]
|
|
rankdir=LR;
|
|
|
|
label="GeoDNS\nAnswering DNS based on Source IP of the clients\nUsually different IPs per Pop"
|
|
|
|
geodns [ label="DNS server with GeoDNS policies enabled" shape=oval ]
|
|
|
|
subgraph cluster_pop1 {
|
|
label="Pop 1"
|
|
router1 [ label="Our router" ];
|
|
upstreamrouter1 [ label="Upstream router" ];
|
|
router1->upstreamrouter1 [ label="Announces A.B.1.D/24" ]
|
|
}
|
|
clients1 [ label="Client set 1" ]
|
|
clients1->geodns [ label="Q: Where is domain example.com?" ]
|
|
geodns->clients1 [ label="A: On an IP of Pop 1" ]
|
|
clients1->router1 [ label="Using Pop 1 via pop specific IPs" ]
|
|
|
|
subgraph cluster_pop2 {
|
|
label="Pop 2"
|
|
router2 [ label="Our router" ];
|
|
upstreamrouter2 [ label="Upstream router" ];
|
|
router2->upstreamrouter2 [ label="Announces A.B.2.D/24" ]
|
|
}
|
|
clients2 [ label="Client set 2" ]
|
|
clients2->geodns [ label="Q: Where is domain example.com?" ]
|
|
geodns->clients2 [ label="A: On an IP of Pop 2" ]
|
|
clients2->router2 [ label="Using Pop 2 via pop specific IPs" ]
|
|
|
|
subgraph cluster_pop3 {
|
|
label="Pop 3"
|
|
router3 [ label="Our router" ];
|
|
upstreamrouter3 [ label="Upstream router" ];
|
|
router3->upstreamrouter3 [ label="Announces A.B.3.D/24" ]
|
|
}
|
|
clients3 [ label="Client set 3" ]
|
|
clients3->geodns [ label="Q: Where is domain example.com?" ]
|
|
geodns->clients3 [ label="A: On an IP of Pop 3" ]
|
|
clients3->router3 [ label="Using Pop 3 via pop specific IPs" ]
|
|
|
|
|
|
|
|
}
|