RE: teredo prefix question ?
"Christian Huitema" <[email protected]> Fri, 4 Oct 2002 16:25:34 -0700
| Newsgroups | gmane.ietf.ngtrans |
|---|---|
| Message-ID | <F66A04C29AD9034A8205949AD0C9010401C0E6BB@win-msg-02.wingroup.windeploy.ntdev.microsoft.com> |
> 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