 Discovery Protocol (NDP) [41]. The IPv6 Neighbor Discovery is used to find other nodes and routers that reside on the same link as an IPv6 node. The key functions, which are covered in following sections, make use of five different ICMPv6 packet types: Router Solicitation: A node may multicast a Router Solicitation message to the link in order to trigger routers to send Router Advertisement messages faster. Router Advertisement: A router sends Router Advertisement messages either periodically, or solicited after receiving a Router Solicitation message. This message contains information that a node needs to configure various IPv6 parameters, such as default router and the node's IPv6 address itself. Neighbor Solicitation: A node uses Neighbor Solicitation to find a link-layer address of a neighbor, to check the presence of a neighbor, and for DAD. Neighbor Advertisement: A node sends Neighbor Advertisement as a response to the Neighbor Solicitation sent for the node, or to announce changes in the node's link-layer addresses. Redirect: Routers may send a Redirect message when a more suitable next hop device is available than the receiving router itself. The used link type has implications for Neighbor Discovery procedures, and these are addressed in Section 3.6. One of the key benefits of IPv6, in addition to increased address space, is its improved capability for host address autoconfiguration. The SLAAC system is build around Neighbor Discovery Protocol and in particular around the ICMPv6 Router Advertisement message. We have dedicated the whole Section 3.5 to addressing this topic. 3.4.1 Router Discovery Each node is required to learn information about at least one router in order to be able to communicate beyond the link to which the node is attached. The node finds routers by either listening to the unsolicited Router Advertisement messages sent periodically by routers on the link, or by explicitly soliciting for Router Advertisements by sending a Router Solication messages. Attacks with Router Advertisements