Subject: [rddp] MPA Mode Frame "Negotiation"

From: Caitlin Bestler <[email-masked]>
Date: Tue, 3 Jun 2003 12:49:08 -0500

There seems to be an impression that MPA options will
require a round-trip. This is not the case. All of the MPA
Options discussed to data can be implemented "for free"
within the MPA Mode frame that was mandated to ensure
that MPA/TCP connections could not be confused with TCP
connections.

Assuming that the MPA Mode frame will itself be an
MPA frame, it would contain the following:

-- Whatever "signature" is deemed necessary to state
   "yes, I really know this is going to be an MPA Mode
   connection".
-- Marker Mode bits (previously outlined in other emails)
-- CRC Suppression preferred: if set, this end would prefer
   to suppress CRCs for this connection.
   
MPA allows multiple frames to be bundled in a single TCP
segment. So it is possible for the first send to be packed
with the MPA Mode frame and sent immediately, even without
having seen the remote end's MPA Mode frame.

This is totally save because:

-- If the Marker Mode bits do not match the connection will
   be torn down anyway.
-- Calculating a CRC does no harm if the other side, after
   reading your CRC Suppression flag, ignores the CRC field.
   
Each sound is "announcing" their MPA mode, and proceeding.
There is nothing to "negotiate". There is no round-trip
required.

Now of course, you SHOULD wait for the other ends MPA Mode
frame before sending the first request if you have no way
of predicting their Marker mode. I would expect that servers
that have short sessions, such as web servers, to advertise
their mode and/or work in either mode to avoid this problem.

As for CRC suppression, well you *could* wait to find out
whether calculating a CRC32c was necessary. But if waiting
really makes more sense then you have an amazingly
underpowered processor.

Caitlin Bestler
http://asomi.com/CaitlinBestler/
_______________________________________________
rddp mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/rddp