Author: Roque Gagliano, LACNIC.
Abstract:
This document provides a description of IPv6 deployment in Internet Exchange Points (IXP). It includes information about the switch fabric configuration, the addressing plan options and general organizational tasks to be performed. IXP are mainly a layer 2 device (the switching fabric) and in many case the best recommendations state that IPv6 traffic and management should not be handled differently than in IPv4.
Index:
1- Introduction.
2- Switch fabric Configuration.
3- Addressing.
4- Reverse DNS.
5- Route Server Configuration.
6- Internal and External Services support.
7- IXP Policies and IPv6.
8- Multicast IPv6.
9- Acknowledge.
10- References.
1- Introduction
Most Internet Exchange Points (IXP) work on the Layer 2 level, making the adoption of IPv6 an easy task. However, IXPs normally implement additional services such as statistics, route servers, looking glasses, broadcast control and others that may be impacted by the implementation of IPv6. In many case the best recommendations state that IPv6 traffic and management should not be handled differently than in IPv4. This document gives some tips and guidance on the impact of IPv6 on a new or existing IXP that may or may not fit any particular implementation. As of late-2008 there are plenty of operational IPv6 IXÕs in the world and hence their practical experience has been incorporated into this document. This document assumes an Ethernet switch fabric, algthouh other layer 2 devices can be deployed.
2- Switch fabric Configuration
The switch fabric is a Layer 2 device, therefore the switching of IPv6 traffic happens in the same way as in IPv4. However, some functionalities in the management plane require support for IPv6 extensions. Such functionalities may include: switch management, SNMP support and flow analysis tools.
There are two common configurations of IXP switch ports to support IPv6:
The "independent VLAN" configuration provides a physical separation for IPv4 and IPv6 traffic. This simplifies separate analysis for IPv4 and IPv6 traffic. However, it can be more costly in both capital expends (if new ports are needed) and operational expends.
On the other side, the dual stack implementation allows a quick and capital cost-free start-up for IPv6 support in the IXP, and allows the IXP to avoid transforming access mode ports into tagged ports. In this implementation, traffic split for statistical analysis may be done using flows techniques considering the different ether-types (0x0800 for IPv4 and 0x86DD for IPv6).
The support for jumbo frames MTU should be evaluated. The only technical requirement for IPv6 referring the MTU is that it needs to be greater than or equal to 1280 bytes [RFC 2460]. Typical option for MTU size are: 1500bytes, 4470bytes or 9216bytes).
3- Addressing
All five Regional Internet Registries (RIRs) have specific address policies to assign Provider Independent (PI) IPv6 address to IXPs. These assignments are usually /48 prefixes [RIR_IXP_POLICIES]. Depending on the country and region of operation, address allocations may be provided by NIR (National Internet Registries).
Links to the RIR websites and their coverage regions can be found online at: http://www.nro.net/about/internet-registries.html
From the assigned /48 prefix, following the recommendations of RFC 4291 [RFC4291], a /64 prefix should be assigned for each of the exchange point Local Area Networks (LANs). A /48 prefix allows the addressing of 65536 LANs. Longer prefixes (/65-/127), are technically feasible using static address configuration, but should be avoided, in order to keep EUI-64 and CGA (Cryptographically Generated Addresses) [RFC3972]. In this document we will assume a /64 prefix in every LAN.
The common practice for Interface Identifiers (IID) configuration is to use static configuration, disallowing auto-configuration on every interface. Also, on a LAN where all its participants are typically routers, itÕs important that every node has itÕs router advertisement protocol [RFC4861] turned off. The goal is that none of the remaining routers configure it-selves as a default ICMPv6 route by accident. A scanning device can be set up at the IXP LANs to monitor link-local multicast traffic (addresses ff02::/16), allowing only ICMPv6 Neighbor Solicitation and Neighbor Advertisement messages. Particularly rogue ICMPv6 route advertisements should be monitored.
When selecting the use of static IIDs, there are different options on how to "intelligently" fill its 64 bits (or 16 hexadecimal characters). A non exhausted list of possible IID selection mechanisms follows:
The current practice that applies to IPv4 about publishing IXP allocations to the DFZ (default free zone) also applies to the IPv6 allocation (normally a /48 prefix). IXP external services (such as dns, web pages, ftp servers) could be part of this prefix. Beware that a /48 may not be routed globally due to strict prefix length filtering.
4- Reverse DNS
PTR records for all addresses assigned to participants should be included in the IXP reverse zone under "ip6.arpa".
5- Route Server Configuration
Some IXPs may offer a Route Server service, either for Multi-Lateral Peering Agreements (MLPA) or for a looking glass service. IPv6 support needs to be added to the router used as BGP end point. The equipment should be able to transport IPv6 traffic and to support Multi-protocol BGP (MP-BGP) extensions for IPv6 address family (RFC 2545 and RFC 4760).
A good practice is to have IPv6 reachability information carried over sessions established also on top of the IPv6 IP/TCP stack and independently of the IPv4 sessions. This configuration allows that in the event of IPv6 reachability issues to any IPv6 peer, the specific session will be turned down (state changes to "Active") and the IPv4 session to the same peer will not be affected. Please consider the use of MD5 (even better IPSEC) to authenticate the BGP sessions.
The Router-Server or Looking Glass external service should be available for external IPv6 access, either by an IPv6 enabled web page or an IPv6 enabled console server.
6- Internal and External Services support
We already mentioned some external services that need to have IPv6 support, such as Traffic Graphics, DNS, FTP, Web and Looking Glass. Other external services such as NTP servers, or SIP Gateways need to be evaluated as well. In general, each service that is accessed through IPv4 or that handle IPv4 addresses should be compatible with IPv6.
Internal services are also important when considering IPv6 adoption at an IXP. Such services may not deal with IPv6 traffic but may handle IPv6 addresses; that is the case of provisioning systems, logging tools and statistics analysis tools. Databases and tools needs to be evaluated to determinate its IPv6 support level.
7- IXP Policies and IPv6
IXP Policies may need to be revised as any mention of IP should be clarified if it refers to IPv4, IPv6 or both. The current interpretation is that IP refers to the Internet Protocol, independently of the its version (i.e. both IPv4 and IPv6). In any case contracts and policies should be reviewed for any occurrence of IP and/or IPv4 and replace it with the appropriate IP, IPv4 and/or IPv6 language.
Specific IPv6 policies may be needed, particularly in IXP that control rogue ICMPv6 Router Advertisements and link-local multicast traffic from its participants or for MLPA (Multi Lateral Peering Agreement).
As with IPv4, the very success of an IPv6 IX is measured by the number of participants and/or the amount of traffic flowing across the switch. In order to acquire participants, itÕs important to market the fact that IPv6 is available on the IX.
Marketing is also important. The following steps will help promote IPv6 peering and traffic on an IX community:
8- Multicast IPv6
Multicast IPv6 is not different from an IXP perspective than Multicast IPv4. Again, the IXP may decide to use a reserved VLAN for multicast traffic or to exchange that traffic in the same VLAN as the unicast traffic. As it was already mentioned, link-local multicast traffic could be monitored to detect bad behaviors or configuration problems. This traffic should be reduced to ICMPv6 neighbor discovery [RFC4861] and MLD (Multicast Listener Discovery) Protocol (MLDv2) [RFC 3810].
9 - Acknowledges
I would like to thank the contributions from Martin Levy (Hurricane Electric), Carlos Friaas of FCCN (GIGAPIX), Arien Vijn (AMS-IX), Louis Lee (Equinix) and Bill Woodcock (PCH).
10 - References
[RIR_IXP_POLICIES] RIRs Allocations Policies for IXP. NRO Comparison matrix: http://www.nro.net/documents/comp-pol.html#3-4-2.
[RFC2460] S. Deering, R. Hinden, "Internet Protocol, Version 6 (IPv6) Specification", RFC 2460, December 1998.
[RFC3810] L. Costa, Ed, "Multicast Listener Discovery Version 2 (MLDv2) for IPv6", RFC 3810, June 2004.
[RFC3972] Aura, T., "Cryptographically Generated Addresses (CGA)", RFC 3972, March 2005.
[RFC4291] Hinden, R. and S. Deering, "IP Version 6 Addressing Architecture", RFC 4291, February 2006.
[RFC4861] T. Narten, E. Nordmark, W. Simpson, H. Soliman, "Neighbor Discovery for IP version 6 (IPv6)", RFC 4861, September 2007.
The field ‘Total Lengh’which is part of the IPv4 header, is not found in the IPv6 header. Its function was to count the size of the packet payload plus the size of a variable lenght header. As the IPv6 header has a fixed size, the presence of this field is unnecessary.