digraph G { node [ shape=box ] upstream [ label="Upstream Router" ]; upstreamswitch [ label="Upstream Switch" ]; router1 [ label="Router1" ]; router2 [ label="Router2" ]; clients [ label="Clients" ]; upstreamswitch->{router1,router2} [ label="Receive packets from 'outside'" ] {router1,router2}->upstream [ label="BGP peering" ] clients->{router1,router2} [ label="Connect to either router via 'virtual' IP address" ] router1->router2 [ label="Exchange of session database" ] router2->router1 [ label="Exchange of session database" ] }