Vijay Amritraj wrote:
Quoting from the RFC 3261::

Making TCP mandatory for the UA is a substantial change from RFC
      2543.  It has arisen out of the need to handle larger messages,
                                              ^^^^^^^^^^^^^^^^^^^^^^^
      which MUST use TCP, as discussed below.  Thus, even if an element
      never sends large messages, it may receive one and needs to be
able to handle them. However, TCP is needed for TLS. [for the size consideration, the MTU that is in 3261 is quite okay type for all situation, (i am only guessing !!)] TLS looks like inevitable requirement today for tomorrow.

A datagram compatible variation of TLS is available for UDP as well.
(See http://www.ietf.org/internet-drafts/draft-rescorla-dtls-05.txt,
about to become an RFC.)

Historically speaking, UDP was the preferred protocol.  rfc2543
uses it as the default protocol.  It's advantages were speed (no
3-way handshake to setup and tear down connections a la TCP),
better control on retransmission intervals, scalability (you
could be parsimonious with socket descriptors), and simplicity (of
course, one could argue that the retransmission logic actually
made an UDP implementation more complex).

What was not forseen was that the burgeoning message size would
lead to problems down the road, and that unlike TCP, the UDP
retransmission algorithm did not take in account the network RTT
delay to fine tune its retransmission intervals.  So maybe using a
congestion controlled and stream-oriented transport like TCP was
not a bad idea.  Plus TCP provided encryption in the form of TLS,
an advantage that is now mitigated with DTLS.

We haven't even talked about SCTP yet ;-)

- vijay
_______________________________________________
Sip-implementors mailing list
[email protected]
http://lists.cs.columbia.edu/mailman/listinfo/sip-implementors

Reply via email to