UNIX System Administration Handbook - Evi Nemeth [171]
On the other hand, assigning IPv6 addresses should be easier than assigning IPv4 addresses since you need only keep track of the subnet address. The hosts can configure themselves—or at least, that’s the theory.
The format prefix identifies the type of IPv6 address: unicast, multicast, or anycast. Unicast addresses set FP to 001 (binary). The TLA and NLA IDs identify your top-level IP backbone carrier and the local ISPs up the chain to your backbone provider.
Most vendors have IPv6 stacks either in development or already deployed. Table 13.9 shows the IPv6 readiness of some common OS and router vendors. (Switches don’t really care about IPv6 because they don’t make routing decisions and don’t look inside the IP header.)
Table 13.9 IPv6 readiness for some common vendors
a FreeBSD 3.4 does not ship with IPv6, but third-party implementations from INRIA, KAME, and the U.S. Naval Research Lab run on FreeBSD.
b Will probably move to the fast path if customers demand it
To see the full scoop on IPv6 implementation status, check
http://playground.sun.com/pub/ipng/html/ipng-implementations.html
More than 30 host implementations and 10 router implementations are listed.
The address registries have just begun allocating IPv6 address space. At the moment, ARIN will only allocate space to large ISPs who plan to implement an IPv6 network within 12 months. These ISPs can then allocate subspaces to their customers.
Here are some useful sources of IPv6 information:
• www.6bone.net – the IPv6 testbed; uses tunnels to bypass IPv4 routers
• www.6ren.net – a world-wide IPv6 research and education network
• www.ipv6.org – FAQs and technical information
• www.ipv6forum.com – marketing folks and IPv6 propaganda
One major advantage of IPv6 is that it solves the renumbering issue. In the IPv4 world, ISPs allocate address space to customers, but the addresses are not portable; when customers leave an ISP, they must return their addresses and renumber with addresses from their new ISP. With IPv6, the new ISP gives you an address prefix that you simply prepend to the local parts of your addresses, probably at your border router. This scheme is similar to that of NAT for IPv4 addressing, but without any of NAT’s little problems.
13.5 ROUTING
Routing is the process of directing a packet through the maze of networks that stand between its source and its destination. In the TCP/IP system, it is similar to asking for directions in an unfamiliar country. The first person you talk to might point you toward the right city. Once you were a bit closer to your destination, the next person might be able to tell you how to get to the right street. Eventually, you get close enough that someone can identify the building you’re looking for.
TCP/IP routing information takes the form of rules (“routes”) such as, “To reach network A, send packets through machine C.” There can also be a default route that tells what to do with packets bound for a network to which there is no explicit route.
Routing information is stored in a table in the kernel. Each table entry has several parameters, including a netmask for each listed network (once optional but now required if the default netmask is not correct). To route a packet to a particular address, the kernel picks the most specific of the matching routes (that is, the one with the longest netmask). If the kernel finds no relevant route and no default route, then it returns a “network unreachable” ICMP error to the sender.
The word “routing” is commonly used to mean two distinct things:
• Looking up a network address in the routing table to forward a packet toward its destination
• Building