1
0
mirror of https://github.com/becarpenter/book6.git synced 2024-05-07 02:54:53 +00:00
Brian E Carpenter 00f018ab5b Extended layer 2 section
Also a tweak in DHCPv6 section
2022-11-17 09:33:49 +13:00

3.6 KiB

Layer 2 functions

Every IPv6 packet has to be wrapped in a Layer 2 packet (or frame) for physical transmission on the "wire", which of course is more likely to be an optical fibre or a radio link in many cases. This statement needs two immediate qualifications:

  1. For hardware media with very small frame sizes, an IPv6 packet may need to be split between several Layer 2 packets. This is not fragmementation as far as IPv6 is concerned, because it is handled as a Layer 2 function (sometimes called an "adaptation layer"), whether hardware or software.

  2. For IPv6-in-IPv4 tunnels, it is IPv4 that serves as Layer 2; see 3. Tunnels.

There is a considerable difference between the mapping of IPv6 onto Ethernet-like links (including WiFi) and the mapping onto various forms of wireless mesh networks. An Ethernet-like link (including many point-to-point links) is one that send or receives one complete frame at a time with a raw size of at least 1500 bytes and a 48 bit IEEE MAC address at Layer 2. It must provide or emulate classical Ethernet multicasting. The IPv6 mapping then follows RFC2464 from 1998, except for some updates to multicast address details in RFC6085 and to the interface identifier in RFC8064. IPv6 has its own Ethertype field (0x86dd), so that IPv6 and IPv4 packets can be distinguished at driver level. Documents similar to RFC 2464 exist for several other hardware media and are often known as "IPv6-over-foo" documents.

Interestingly, there is no IPv6-over-WiFi document; IPv6 relies on WiFi completely emulating Ethernet, including multicast. This has consequences for the scaleability of IPv6 over WiFi which are discussed in RFC9119.

A consequence of the Ethernet legacy frame size of 1500 bytes is that the Internet-wide required minimum transmission unit size (MTU) for IPv6 is set at 1280 bytes (reduced from 1500 to allow for possible encapsulation overhead). Therefore, any IPv6-over-foo mechanism MUST provide at least this MTU, and this applies to every adaptation layer.

IPv6 can be transmitted over PPP (Point-to-Point Protocol) links [RFC5072, RFC5172]. Similarly, it can be transmitted using GRE (Generic Routing Encapsulation, RFC7676.

IPv6 can also be transmitted over MPLS infrastructure [RFC4029]. This is a complex topic that is hard to summarize. A common solution is to connect IPv6 networks over IPv4 MPLS via IPv6 Provider Edge routers (6PE) [RFC4798]. Interested readers can study a 125 page NANOG tutorial.

Mapping IPv6 to mesh networks, which have no native support for multicast and no simple model of a shared link like Ethernet, is rather different. RFC9119 is relevant here too, and RFC8376 provides general background on the challenges involved. Operational experience is limited today and best practices are not yet established.

Previous Next Chapter Contents