digraph G { node [ shape=box ] # rankdir=LR; upstreamrouter1 [ label="Upstream Router 1\nStateless routing" ]; upstreamrouter2 [ label="Upstream Router 2\nStateless routing" ]; router1 [ label="Internal Router 1\nStateful routing" ]; router2 [ label="Internal Router 2\nStateful routing" ]; servers [ label="Servers" ] internet [ label="Internet" shape=oval ] servers->{router1,router2} [ label="Use as default router\nSend packets via either" ] {router1,router2}->{upstreamrouter1,upstreamrouter2} [ label="Announce 2001:db8::/64\n via BGP\nUse as default router" ] {upstreamrouter1,upstreamrouter2}->internet [ label="Forward packets" ] internet->{upstreamrouter1,upstreamrouter2} [ label="Send answers" ] {upstreamrouter1,upstreamrouter2}->{router1,router2} [ label="Return anwers from the Internet" ] {router1,router2}->servers [ label="Forward the answer" ] }