Subject: (ngtrans) teredo prefix question ?

From: "Mohan Parthasarathy" <[email-masked]>
Date: Fri, 4 Oct 2002 13:17:41 -0700

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

thanks
-mohan

---

From: "Christian Huitema" <[email-masked]>
Date: Sat, 5 Oct 2002 13:26:59 -0700

> 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 ?

The Teredo relays do indeed advertise the Global Teredo Prefix. However,
the Teredo relay can only send the packet directly to the destination if
the destination is behind a "cone NAT". In the other case, the relay
must first make sure that the destination "prepare the NAT" by sending a
bubble to the specific relay. They can only do that by forwarding a
first bubble through the server chosen by the client, and for that they
need to somehow learn the server's address.

In theory, we could place the server's IPv4 address anywhere in the
client's address. Placing it in the prefix has a big advantage: servers
are forced to relay some IPv6 packets that come from their clients; the
relation between server and client, and ingress filtering, is easier if
the server's IPv4 address is part of the prefix.

> 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
?

You miss the requirement that relays identify the server chosen by the
client to send the first bubble.

-- Christian Huitema