Victor Duchovni wrote:

SMTP does not need TCP to provide reliability for the tail of the session,
the application-level "." (end-of-data) and server "250" response complete
a transaction, everything after that is optional, so for example Postfix
will send (when PIPELINING).

        DATA<CRLF>                354 Go ahead
        Message-Content         Lots of acks
        .<CRLF>QUIT<CRLF>   250 Ok

and will disconnect after reading the "250 response" without waiting
for the 221 response. The TCP 3-way shutdown (FIN, FIN-ACK, ACK) happens
in the kernel in the background, the SMTP server and client are by that
point handling different connections. So the reliable shutdown latency
is of no consequence for application throughput.

A pipelined SMTP delivery can be completed over TCP in 5 RTTs not 7.

        0. SYN                  SYN-ACK
        1. ACK                  220
        2. EHLO                 250
        3. MAIL RCPT DATA       250 250 354
        4. MSG . QUIT           250 221
        5. close socket

TCP is fine, latency is primarily the result of application protocol
details, not TCP overhead. The only TCP overhead above is 1 extra RTT
for the connection setup. Everything else is SMTP not TCP, and running
SMTP over UDP (with ideal conditions and no lost packets, ...) would
save just 1 RTT.

re:
http://www.garlic.com/~lynn/aadsm28.htm#21 Dutch Transport Card Broken

sorry, I didn't say that TCP required seven round-trips for reliable exchange;
the statement was that minimum TCP operation was seven packet
exchange (for reliable operation) .... sort of 3.5 round-trips. That
VMTP (rfc 1045) reduced that to minimum of five packet exchange
(sort of 2.5 round-tips) ... and that XTP got it to a minimum of three
packet exchange (sort of 1.5 round-trips) for reliable operation.

from my RFC index
http://www.garlic.com/~lynn/rfcietff.htm

rfc 1045 summary
http://www.garlic.com/~lynn/rfcidx3.htm#1045

1045 E
 VMTP: Versatile Message Transaction Protocol: Protocol specification,
 Cheriton D., 1988/02/01 (123pp) (.txt=264928) (Refs 955, 966, 969)
 (Ref'ed By 1050, 1072, 1105, 1106, 1190, 1263, 1323, 1453, 1458,
 1700, 2018, 2375, 2757) (VMTP)

as always, clicking on the ".txt=nnn" field (in rfc summary) retrieves the actual RFC.


If there is more than minimum amount of data ... TCP might involve more
than seven packet exchange ... but the minimum packet exchange is
seven packets (not round-trips).

---------------------------------------------------------------------
The Cryptography Mailing List
Unsubscribe by sending "unsubscribe cryptography" to [EMAIL PROTECTED]

Reply via email to