digraph G {
    node [ shape="box"];
   rankdir="LR";



    v6host1 [ label="IPv6 only host (fe80::1 and 2001:db8::1)"];
    v6host2 [ label="IPv6 only host (fe80::2 and 2001:db8::2)"];
    v4host1 [ label="IPv4 only host (192.0.2.1)"];
    v4host2 [ label="IPv4 only host (192.0.2.2)"];

    subgraph cluster_v6 {

    v6host1->v6host2 [ label="ICMP6 neighbor solicitation, who has 2001:db8::2? [Multicast]" ];
    v6host2->v6host1 [ label="ICMP6 Neighbor Advertisement: 2001:db8::2 has 00:00:0a:00:00:42' [Unicast]" ];

    }
    subgraph cluster_v4 {

    v4host1->v4host2 [ label="ARP who has 192.0.2.2? [Broadcast]" ];
    v4host2->v4host1 [ label="ARP 192.0.2.2 is at 00:00:0a:00:00:22' [Unicast]" ];

    }

}
