Subject: (ngtrans) Shipworm IPv4 Anycast Question

From: "Eng Soo Guan" <[email-masked]>
Date: Thu, 18 Oct 2001 15:54:56 +0800

Dear All,

I want to investigate the implementation of a Relay for a IPv6 testbed.

I know that the Shipworm IPv4 Anycast address prefix is x.x.x.0/24. Let's
say the IPv4 Anycast prefix is 192.192.192.0/24.

If I configure my router connected to the Relay to perform ingress
filtering, then I will have to assign the same IPv4 Prefix to the interface
(say eth1).

So in my router's routing table, I may have an entry:

Network             Netmask          Interface
==========   ==========  =====
192.192.192.0  255.255.255.0  eth1

If a IPv4 packet with destination address 192.192.192.100 is received, the
router may forward the packet to the Relay.

Am I right?

SG
Soo Guan, Eng
Centre for Wireless Communications, NUS
http://www.cwc.nus.edu.sg
Tel (65) 8709330

---

From: "Christian Huitema" <[email-masked]>
Date: Thu, 18 Oct 2001 08:20:03 -0700

> Network             Netmask          Interface

That will work, but there are two issues. First, as you pointed out in
the previous exchange, if you advertise the Shipworm IPv4 prefix, you
must run a server as well as a relay. Second, you must deal with the
manageability issue, i.e. how to test that your system is working.

The spec specifies that the router advertising the shipworm prefix must
check that the server is up before advertising the prefix. The spec is
written with the assumption that the shipworm server is "multihomed",
with both the generic Shipworm IPv4 anycast address and a "regular" IPv4
address. The regular address must be specific, not an anycast address,
so that you can send test packets directly to the server; if you used
the anycast address, you would never be sure of which server can serve
the test packet.

In fact, the proper place to implement the Shipworm server and relay is,
within a router. This is fairly obvious for the relay, which should be
able to announce reachability of the shipworm prefix (xxxx::/16) in IPv6
routing. On a router, I would implement Shipworm in much the same way
6to4 is implemented, i.e. initially in a process inside the router's
CPU; an internal monitoring function can then be used to tie
announcement of the IPv4 and IPv6 prefixes to the status of the process.

This does not mean that you should not use a PC, a workstation or a
server platform, but it means that if you do so your computer must be
participating in the routing exchanges. If I implemented a server on a
workstation, I would attach the anycast address to a loopback interface,
not to an Ethernet interface.

-- Christian Huitema