digraph G { node [ shape=box ] rankdir=LR; client1 [ label="IPv4 client 1\nPrivate IP" ]; client2 [ label="IPv4 client 2\nPrivate IP" ]; nat_gw [ label="NAT gateway\nPublic IP" ]; cgnat1 [ label="CGNAT gateway\nPrivate IP" ]; cgnat2 [ label="CGNAT gateway\nPublic IP" ]; target [ label="The Internet\nPublic IP" ]; client1->nat_gw->target; client2->cgnat1->cgnat2->target; }