 please see RFC 4821 [42]. Fragmentation is required if a host has to transmit packets larger than the Path MTU. In IPv6 the fragmentation is always performed by the sending host. Effectively, a host splits the transport layer packet into pieces that with IPv6 headers do not exceed the Path MTU. A receiving node will then reassemble the fragments before passing the transport protocol payload to the upper layers. In some cases a network node such as firewall may perform the reassembly as well, for example, for Deep Packet Inspection (DPI) reasons. The original IPv6 specification allowed fragments to overlap, which introduced security issues. To fix these issues IETF decided to explicitly forbid overlapping fragments and standardized this in RFC 5722 [43]. While today link MTUs in the Internet are rarely larger than 1500 bytes, the IPv6 Jumbogram standard RFC 2675 [29] allows the creation of link types with MTUs up to 4,294,967,295 octets. The extended packet size is communicated in a Hop-by-hop Jumbo Payload option. The Jumbo Payload option is very rarely used and unlikely to be seen in the Internet and in the 3GPP networks. 3.2.4 Multicast While in the Internet-scale multicast use for applications, or applications protocols, has not taken off too well, multicast functionality plays a key role in IPv6. Specifically, many of IPv6's major functions rely on multicast: Neighbor Discovery (see Section 3.4), Stateless Address Autoconfiguration (SLAAC) (see Section 3.5.1), and Dynamic Host Configuration Protocol version 6 (DHCPv6) (see Section 3.5.2). Multicast Listener Discovery Protocol for multicast functionality is described in 'Multicast Listener Discovery (MLD) for IPv6' [44], updated in 'Multicast Listener Discovery version 2 (MLDv2)' [45], and further tuned up in RFC 3590 [46], RFC 4604 [47], and RFC 4607 [48]. The MLD protocol takes place only on the directly connected a link, where nodes tell the router which multicast addresses they are listening to. The router then uses any multicast routing protocol (such as