IPv6

Overview

Internet Protocol version 6 (IPv6) is a network layer protocol for packet-switched internetworks. It is designated as the successor of IPv4, the current version of the Internet Protocol, for general use on the Internet.

This page provides an overview of PersonalTelco IPv6 deployment.

Goals

There are several reasons this is being done:

  1. Leading-edge technology - IPv6 is probably the most advanced network protocol available. If you're into that sort of thing, it's pretty frelling cool.

  2. Address space - Since they are carved out of a carefully planned 128-bit space rather than the ancient 32-bit space of IPv4, global-scope IPv6 addresses are much easier to come by than their dotted-quad counterparts.

    • In IPv4, a global-scope 8-bit subnet (/24 in CIDR notation; up to 254 hosts) is virtually impossible to obtain. Even large companies are often forced to make do with only a single address or a tiny subnet of 6 bits or less; individual addresses are frequently sold for $10/month or more.

    • In contrast, IPv6 providers generally hand out a global-scope 64-bit subnet (/64 in CIDR notation; up to 2**64 == 18,446,744,073,709,551,616 hosts) by default for each site. Many providers also offer a global-scope 80-bit subnet (/80 in CIDR notation; up to 2**80 == 1,208,925,819,614,629,174,706,176 hosts). Even a massive allocation such as that would generally be provided free of charge.

    • As a result of this improvement, the need for NAT is virtually eliminated.
  3. Improved performance - Although it is often true that IPv6 introduces slightly more overhead than IPv4, primarily due to the presence of larger source and destination addresses in packet headers, there are exceptional cases where the elimination of IPv4 cruft can actually improve matters.

  4. Availability - 6to4 is far from ideal; TunnelBroker connections tend to be unreliable and often suffer from high latency. These problems could be reduced or eliminated by the deployment of IPv6 over PTPnet.

Status

A complete list of hosts with IPv6 support is available on the IPv6Addresses page. Performance data is available from SmokePing.

SixXS

SixXS (Six Access) is a free, non-profit, non-cost service for Local Internet Registries (LIR's) and endusers.

This service is the primary source of global IPv6 connectivity for PersonalTelco networks.

6to4

6to4 is a system that allows IPv6 packets to be transmitted over an IPv4 network (ie. the Internet) without the need to configure explicit tunnels.

Currently, this system is not being used on PersonalTelco networks. See 6to4 for more information.

Services

Servers

At this point, all services on CoreServer systems should be available over IPv6 just as they are over IPv4. Please contact the NetworkOperationsTeam if you notice anything that is not working correctly with both IP versions.

Nodes

Automatic configuration

All nodes which offer IPv6 connectivity should support ND (network discovery) to provide IPv6-capable neighbors (hosts) with network prefix and router address information. Neighbors can use this information to assign themselves addresses and configure routes. On Linux-based IPv6 routers, ND service is generally provided by running radvd, the router advertisement daemon.

Only global-scope prefixes should be advertised. Although it should be harmless to announce ULA prefixes or other differently-scoped prefixes in addition to at least one global-scope prefix, such announcements are generally superfluous and potentially confusing. Extra prefixes also have the potential to cause problems with some IPv6 implementations.

Recursive DNS service

By default, most IPv6 implementations do not provide any form of RDNSS autoconfiguration. On hosts running both IP versions, the RDNSS configuration provided by normal IPv4 DHCP is adequate.

For hosts which run IPv6 exclusively, DHCPv6 (DHCP for IPv6) can be used to perform RDNSS autoconfiguration. Note that this is not a common configuration; disabling IPv4 is often non-trivial, and DHCPv6 client software (such as dibbler-client) must be installed and configured explicitly.

Regardless, DHCPv6 service should be provided if possible. On Linux, this can be accomplished with the dibbler-server package. The configuration is fairly simple and it does a few interesting things other than RDNSS autoconfiguration. It is also recommended that you include the ND option for RDNSS in RAs, which can be done in radvd.conf.

If you're announcing IPv6 RDNSS addresses in any way, make sure that your name servers will answer IPv6 queries. BIND 9 can be configured to do so.

See RFC 4339 for more information about IPv6 host configuration of DNS server information.

Captive portals

The majority of services on nodes should handle the transition just as smoothly as the services on the CoreServer systems, but there is at least one notable exception: NoCatAuth does not currently include any IPv6 support whatsoever. IPv6 traffic will be completely ignored by captive portals.

Concerns

Backward compatibility

An important factor in the design and implementation of IPv6 was that it should never interfere with IPv4 operation. Systems on which IPv6 is not enabled should not be affected by it in any way. Please contact the NetworkOperationsTeam if you notice anything that is not working correctly with both IP versions.

Deployment

You should always be extremely careful when updating configuration: enabling IPv6 support can cause a variety of issues with some services, which can be dangerously subtle. It's a good idea to test your changes with both protocols at every turn, and keep in mind that IPv4 still carries the vast majority of traffic that people care about.

Client misconfiguration

It is also worth noting that strange connection problems sometimes manifest on IPv6-enabled hosts which are only partially configured. This is most commonly seen with the Linux kernel, but other platforms may be affected as well.

These problems can be resolved either by disabling IPv6 support or by configuring it correctly. You can determine if your configuration is working properly by visiting a well-known IPv6 website; see "handy tools" in the "links" section below.

General information:

Handy tools:

Some IPv6 projects:


CategoryGlossary CategoryDocumentation CategoryEducation CategoryMan CategoryNetwork CategoryDamnYouKeegan

IPv6 (last edited 2007-11-23 18:02:55 by localhost)