Subject: (ngtrans) RE: Issues about Teredo draft 8

From: "Christian Huitema" <[email-masked]>
Date: Mon, 24 Mar 2003 13:47:00 -0800

>        But in my opinion, If the destination address of a Teredo 
> packet is not a Terdo IPv6 address (Eg. global IPv6 addr), this 
> packet should be discarded during step 2 because it's not a bubble 
> or an ICMPv6 message! Do you think it's a self-contradiction, or 
> just a difference of the word "MUST' and "should"?

According to the specification, Teredo clients will sent to the server 
ICMP packets or bubbles whose destination is a native IPv6 address. 
The server will relay these packets to IPv6.

>     2. I want to implement the Teredo server (also with Teredo 
> relay function, since the burden of a Teredo server is not too heavy) 
> on the linux platform. Do you have some suggestion for us during our 
> implementation? Any kind is appreciated. :-)

Sorry, but I don't have much experience developing on Linux.

You can however certainly develop a Teredo server as a socket application, using a regular UDP socket for receiving packets from clients and relays, and using a raw IPv6 socket to send packets to IPv6. Since the Teredo server never initiates transmission, the only thing you have to do is loop on "recvfrom", get a packet, process it and send the response either over the UDP socket (sendto) or over the raw IPv6 socket.

>    3. Do you think it's reasonable to add mobility support to 
> Teredo specification? You know I come from China, where most of 
> the terminals behind NAT are GRPS terminals. I mean that maybe mobile 
> users are the most urgent to get IPv6 connectivity bypass NAT(s) in 
> the near future. I think about the mobility issue of Teredo service, 
> but it seems too complicated. :-( Do you have some comment?

AFAIK, most GPRS system provides you with an address that remains constant for the duration of the GPRS session. This should normally also result in a Teredo address that remains constant for that session.

-- Christian Huitema