Subject: RE: (ngtrans) teredo prefix question ?

From: "Christian Huitema" <[email-masked]>
Date: Fri, 4 Oct 2002 16:25:34 -0700

> Why does Teredo require the prefix to be 32 bits (unlike 6t04 which 
> is 16 bits, just the FP and TLA) ? 

Thread lightly, don't contribute to depletion of the IPv6 address space,
that sort of things. 

More to the point: we needed to get rid of the IPv4 anycast address --
that was very clear from the feedback from the IESG reviewers. Multiple
Teredo servers, which will will use different IPv4 addresses. For the
system to work, the first packet in any exchange must be routed through
the specific server chosen by the client, which implies that the IPv6
prefix must identify the server. There are two ways to do that: we can
use 32 bits in the prefix to encode the IPv4 address of the server; or
we can use a lesser number of bits and essentially use the IPv6 routing
tables to direct the first packet to the right server.

Consider now that the address of the Teredo host must also encode the
mapped address and mapped port of the host, which requires 48 bits. In
practice, that leaves us with two interesting design points:

1) use 16 bits to identify the server, and place the mapped address and
port in the remaining 48 bits of the prefix. Each Teredo host obtains a
/64 prefix.

2) encode the server IPv4 address in the prefix, the mapped address and
mapped port in the user identifier. Each Teredo host obtains a /128.

I do not believe that allocating a /16 prefix to each Teredo server is a
good design, which pretty much forces us into the second choice. In that
case, since we only require 32 bits to encode the address of the server,
we can just as well use a /32 prefix for the Teredo service.

-- Christian Huitema

---

From: "Mohan Parthasarathy" <[email-masked]>
Date: Sat, 5 Oct 2002 12:56:22 -0700

>prefix must identify the server. There are two ways to do that: we can

I thought Teredo relays advertise the Global Teredo Prefix which does
not include the server's address and the relay retrieves the server
address from the teredo address. Why does the server address need
to be part of the prefix ?

>good design, which pretty much forces us into the second choice. In that

Why do you need one /16 prefix for each server ? In 6to4, relays advertise
just one prefix 2002::/16 and they tunnel the packets that are destined to
a 6to4 address. I am not sure why the same would not work here. Just one
/16 prefix and the teredo relays do the same job i.e it has the client
mapped
address, server address etc. given a teredo address. what am i missing ?

>-- Christian Huitema
-mohan