[Standards] XEP-0176: transport protocols
stpeter at jabber.org
Tue Apr 17 16:24:30 UTC 2007
Justin Karneges suggested to me off-list that each Jingle transport
needs to specify whether it is reliable (a la TCP) or lossy (a la UDP)
and that each content type needs to specify whether it should use a
reliable transport (e.g., file transfer) or a lossy transport (e.g.,
audio). This seems like a good idea, so the next versions of the Jingle
specs will include this information.
The ICE transport in XEP-0176 is an outlier here. ICE gives you ways to
traverse NATs but it is agnostic about the nature of the transport used.
The main ICE I-D assumes you will end up using UDP, but there is also an
ICE-TCP draft. Furthermore, XEP-0176 lists the following protocols:
- ssltcp (Google's PseudoTCP stuff)
- tcp-act (ICE-TCP variant)
- tcp-pass (ICE-TCP variant)
- tcp-so (ICE-TCP variant)
- udp ("standard" ICE)
For the purpose of specifying which transports are appropriate for a
given content type, it's not good for the transport protocol to be
buried in the 'protocol' attribute of the <candidate/> element.
Therefore I think we need to define several different ICE transports,
such as "ice-udp" and "ice-tcp" (and perhaps also "ice-pseudotcp").
XEP-0176 would define "ice-udp" and "ice-tcp" (tracking the ICE and
ICE-TCP I-Ds) and "ice-pseudotcp" would be defined in a future spec.
This way, we can define that ice-udp is lossy and ice-tcp is reliable,
and content types can specify which of these they can use.
XMPP Standards Foundation
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 7358 bytes
Desc: S/MIME Cryptographic Signature
More information about the Standards