Subject: RE: I-D ACTION:draft-huitema-v6ops-teredo-00.txt

From: "Christian Huitema" <[email-masked]>
Date: Tue, 10 Jun 2003 08:50:41 -0700

> I am not sure that I like the idea that traffic originating as IPv4
TCP
> traffic will be transported by UDP across tunnels to obtain IPv6
> connectivity.
> 
> This requires that the tredo "server" will know to ask for retransmits
> should anything fail to reach it's destination.

Did you actually read the draft? The stack would be
(transport)/IPv6/UDP/IPv4, which gives by and large the same kind of
reliability as (transport)/IPv6/IPv4, i.e. the other form of tunneling.
Also, only a small fraction of the packets actually go through the
server.

-- Christian Huitema

---

From: Pekka Savola <[email-masked]>
Date: Tue, 10 Jun 2003 19:52:44 +0300 (EEST)

On Tue, 10 Jun 2003, Christian Huitema wrote:
[...]
> Also, only a small fraction of the packets actually go through the

One thing to note here: in addition to "Server", the Teredo architecture
also includes "Relay".  And while only a small fraction of packets go
through the server (AFAIR), a large number of them could go through Relay
(which are probably often one and the same).

So, in practical purposes I believe Eric's comment about "server" can be 
generalized to be "server or relay".

In that vein, please remember that people MAY NOT deploy Teredo as some
may envision it, to be used mainly between Teredo hosts only -- but 
between the hosts and *the rest of the IPv6 Internet*.

If you want to deploy IPv6 Internet and IPv6 Teredo Internet separately, 
you're certainly correct: few packets pass through servers/relays.

I do not have that deployment scenario in mind; quite the opposite :-).

-- 
Pekka Savola                 "You each name yourselves king, yet the
Netcore Oy                    kingdom bleeds."
Systems. Networks. Security. -- George R.R. Martin: A Clash of Kings

---

From: "EricLKlein" <[email-masked]>
Date: Wed, 11 Jun 2003 10:26:02 +0300

> I am not sure that I like the idea that traffic originating as IPv4 TCP

From: "Christian Huitema"

Yes i did read through the RFC, but as pointed out by Robert Elz :
> Reachability is one thing, but you may have to wait for TCP timeouts.
> RFC1122, section 4.2.3.5  TCP Connection Failures
> Says that the initial SYN has to wait at least 3 minutes...
> Note that I've seen some implementation ignoring this
> MUST and setting the timer to 12 or 25 seconds,
> but never to 100ms.

If I am running a TCP connection over IPv4 the retransmit functionality is
built into the TCP protocol stack. But if I am then transporting this across
a UDP tunnel who handles the TCP retransmits on timeout? The originating TCP
application is expecting a response from the distant end host, as that host
sees only the UDP it will never know to retransmit.

Thus you have a few possibilities:
  1. The packets are never acknowledged by the end host so are retransmitted
even if they got through and then you get low through put and high bandwidth
consumption as everything is always retransmitted.
  2. The teredo server handles the acknowledgement as it puts the packet in
the tunnel and then you never know if it really made it or not, i.e. your
TCP is now really acting as UDP.
  3. The end host sends the acknowledgement and thus your UDP is acting like
TCP (unlikely option as it is UDP transport).
  4. All applications that will use this will have at the application layer
acknowledgement / retransmit functionality built into them as the protocol
stack by definition does not (also unlikely as it would mean rewriting all
applications to check the transport to know if they need to acknowledge or
would double acknowledge when using true TCP).

Again looking at the applications of this I am most concerned with those
applications that are very time sensitive. Think about the problems related
voice over IP, it is by default UDP. So if a packet is lost you get a pause
or dead air in the conversation. This is fine, but as we start to add more
complex applications over IP we will have interconnections between IPv4 and
IPv6 (as described in this draft) for quite a while. I would hate to have a
telemedicine application running over TCP crossing one of these tunnels.
Eric

---

From: Gert Doering <[email-masked]>
Date: Wed, 11 Jun 2003 09:56:41 +0200

Hi,

> sees only the UDP it will never know to retransmit.

Nah, that's wrong.  There is *still* a TCP packet inside the UDP, so the
TCP protocol works as usual.  It's no different from any other possibly
unreliable transport, and especially doesn't mean "TCP mysteriously turns 
into UDP and looses reliability".

Before worrying too much, try to understand "tunneling".

Gert Doering
        -- NetMaster
-- 
Total number of prefixes smaller than registry allocations:  55295  (54837)

SpaceNet AG                 Mail: [email-masked]
Joseph-Dollinger-Bogen 14   Tel : +49-89-32356-0
80807 Muenchen              Fax : +49-89-32356-299