Static Routing with the IPv6 Protocol for the Windows .NET Server 2003 family and Windows XP

The IPv6 protocol for the Windows .NET Server 2003 family and Windows XP supports static routing. You can configure a computer running Windows XP or a member of the Windows .NET Server 2003 family as a static IPv6 router by enabling forwarding on the computer's interfaces and then configuring it to advertise network prefixes to local hosts.

Figure 10-5 shows an example network using a simple static routing configuration consisting of three subnets, three host computers running Windows XP or a member of the Windows .NET Server 2003 family (Host A, Host B, and Host C), and two router computers running Windows XP or a member of the Windows .NET Server 2003 family (Router 1 and Router 2).

Figure 10-5. Static routing with the IPv6 protocol for the Windows .NET Server family and Windows XP

After the IPv6 protocol is installed on all computers on this example network, you must enable forwarding and advertising over the two network adapters of Router 1. Use the following command:

netsh interface ipv6 set interface InterfaceName|InterfaceIndex forwarding=enabled advertise=enabled

where InterfaceName is the name of the network connection in the Network Connections folder and InterfaceIndex is the interface index number from the display of the netsh interface ipv6 show interface command. You can use either the interface name or its index number.

For example, for Router 1, if the interface index of the network adapter connected to Subnet 1 is 4 and the interface index of the network adapter connected to Subnet 2 is 5, the commands would be:

netsh int ipv6 set int 4 forw=enabled adv=enabled

netsh int ipv6 set int 5 forw=enabled adv=enabled

Each netsh parameter can be abbreviated to its shortest unambiguous form.

After forwarding and advertising are enabled, the routers must be configured with the address prefixes for their attached subnets. For the IPv6 protocol for the Windows .NET Server 2003 family and Windows XP, this is done by adding routes to the router's routing table with instructions to advertise the route. Use the following command:

netsh interface ipv6 set route Address/PrefixLength InterfaceName|InterfaceIndex publish=yes

where Address is the address portion of the prefix and PrefixLength is the prefix length portion of the prefix.

To publish a route (to include it in a router advertisement), you can specify publish=yes, which, in the absence of the validlifetime and preferredlifetime parameters, advertises the prefix with infinite preferred and valid lifetimes (in the initial release of Windows XP, these infinite lifetimes must be explicitly implemented by specifying publish=immortal).

For example, for Router 1 using the example interface indexes, the commands are:

netsh int ipv6 set rou fec0:0:0:1::/64 4 pub=yes

netsh int ipv6 set rou fec0:0:0:2::/64 5 pub=yes

The result of this configuration is the following:

  • Router 1 sends Router Advertisement messages on Subnet 1 that contain a Prefix Information option to autoconfigure addresses for Subnet 1 (FEC0:0:0:1::/64), an MTU option for the link MTU of Subnet 1, and a Route Information option for the subnet prefix of Subnet 2 (FEC0:0:0:2::/64). By default, the MTU of the link is advertised.
  • Router 1 sends Router Advertisement messages on Subnet 2 that contain a Prefix Information option to autoconfigure addresses for Subnet 2 (FEC0:0:0:2::/64), an MTU option for the link MTU of Subnet 2, and a Route Information option for the subnet prefix of Subnet 1 (FEC0:0:0:1::/64).

When Host A receives the Router Advertisement message, it automatically configures a site-local address on its network adapter interface with the prefix FEC0:0:0:1::/64 and an EUI-64-derived interface identifier. It also adds a route for the locally attached Subnet 1 (FEC0:0:0:1::/64) and a route for Subnet 2 (FEC0:0:0:2::/64) with the next-hop address of the link-local address of Router 1's interface on Subnet 1 to its routing table.

When Host B receives the Router Advertisement message, it automatically configures a site-local address on its network adapter interface with the prefix FEC0:0:0:2::/64 and an EUI-64-derived interface identifier. It also adds a route for the locally attached Subnet 2 (FEC0:0:0:2::/64) and a route for Subnet 1 (FEC0:0:0:1::/64) with the next-hop address of the link-local address of Router 1's interface on Subnet 2 to its routing table.

Notice that in this configuration, Router 1 does not advertise itself as a default router (the Router Lifetime field in the Router Advertisement message is set to 0) and there is no default route in the routing tables of either Host A or Host B. A computer running the IPv6 protocol for the Windows .NET Server 2003 family or Windows XP will not advertise itself as a default router unless there is a default route that is configured to be published.

To continue this example configuration, the interface index of Router 2's network adapter connected to Subnet 2 is 4 and the interface index of Router 2's network adapter connected to Subnet 3 is 5. To provide connectivity between Subnet 2 and Subnet 3, the commands issued on Router 2 are:

netsh int ipv6 set int 4 forw=enabled adv=enabled

netsh int ipv6 set int 5 forw=enabled adv=enabled

netsh int ipv6 set rou fec0:0:0:2::/64 4 pub=yes

netsh int ipv6 set rou fec0:0:0:3::/64 5 pub=yes

The result of this configuration is the following:

  • Router 2 sends Router Advertisement messages on Subnet 2 that contain a Prefix Information option to autoconfigure addresses for Subnet 2 (FEC0:0:0:2::/64), an MTU option for the link MTU of Subnet 2, and a Route Information option for the subnet prefix of Subnet 3 (FEC0:0:0:3::/64).
  • Router 2 sends Router Advertisement messages on Subnet 3 that contain a Prefix Information option to autoconfigure addresses for Subnet 3 (FEC0:0:0:3::/64), an MTU option for the link MTU of Subnet 3, and a Route Information option for the subnet prefix of Subnet 2 (FEC0:0:0:2::/64).

When Host B receives the Router Advertisement message from Router 2, it does not automatically configure a site-local address using the FEC0:0:0:2::/64 prefix, because a site-local address with that prefix already exists. Host B also adds a route for Subnet 3 (FEC0:0:0:3::/64) with the next-hop address of the link-local address of Router 2's interface on Subnet 2 to its routing table.

When Host C receives the Router Advertisement message, it automatically configures a site-local address on its network adapter interface with the prefix FEC0:0:0:3::/64 and an EUI-64-derived interface identifier. It also adds a route for the locally attached subnet (Subnet 3) (FEC0:0:0:3::/64) and a route for Subnet 2 (FEC0:0:0:2::/64) with the next-hop address of the link-local address of Router 2's interface on Subnet 3 to its routing table.

The result of this configuration is that, although Host B can communicate with both Host A and Host C, Host A and Host C cannot communicate because there are no routes on Host A to Subnet 3 and no routes on Host C to Subnet 1. There are two solutions to this problem:

  1. Configure Router 1 to publish a route to Subnet 3 with the next-hop address of Router 2's link-local address on Subnet 2 and configure Router 2 to publish a route to Subnet 1 with the next-hop address of Router 1's link-local address on Subnet 2.
  2. Configure Router 1 to publish a default route with the next-hop address of Router 2's link-local address on Subnet 2 and configure Router 2 to publish a default route with the next-hop address of Router 1's link-local address on Subnet 2.

In solution 1, Router 1 will advertise two Route Information options on Subnet 1—one for Subnet 2 and one for Subnet 3. Therefore, Host A will add two routes to its routing table—one for FEC0:0:0:2::/64 and a second for FEC0:0:0:3::/64. Router 1 will continue to advertise only one Route Information option (for Subnet 1) on Subnet 2. Similarly, Router 2 will advertise two Route Information options on Subnet 3—one for Subnet 1 and one for Subnet 2. Therefore, Host C will add two routes to its routing table—one for FEC0:0:0:1::/64 and a second for FEC0:0:0:2::/64. Router 2 will continue to advertise only one Route Information option (for Subnet 3) on Subnet 2. The result of this configuration is that all the hosts and all the routers have specific routes to all the subnets.

In solution 2, Router 1 will advertise itself as a default router with one Route Information option (for Subnet 2) on Subnet 1. Therefore, Host A will add two routes to its routing table—one for the default route ::/0 and one for FEC0:0:0:2::/64. Similarly, Router 2 will advertise itself as a default router with one Route Information option (for Subnet 2) on Subnet 3. Therefore, Host C will add two routes to its routing table—one for the default route ::/0 and one for FEC0:0:0:2::/64. The result of this configuration is that all the hosts and all the routers have a combination of specific and general routes to all the subnets, with the exception of Host B, which has only specific routes to all the subnets. The problem with solution 2 is that Router 1 and Router 2 have default routes pointing to each other. Any non-link-local traffic sent from Host A or Host C that does not match the prefixes FEC0:0:0:1::/64, FEC0:0:0:2::/64, and FEC0:0:0:3::/64 is sent in a routing loop between Router 1 and Router 2.

This network of three subnets and two routers can be extended to include more subnets and more routers; however, the administrative overhead to manage the configuration of the static routers does not scale. At some point, you may want to consider the use of an IPv6 routing protocol.



Understanding IPv6
Understanding Ipv6
ISBN: 0735612455
EAN: 2147483647
Year: 2005
Pages: 124
Authors: Joseph Davies

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net