Hello,

I have read through the TCP-ENO draft and have a few comments:


First, am wondering whether there might be an issue when the third ACK gets 
lost.

Specifically, the draft says that a host MUST disable ENO if the following 
condition is met:

   4.  The first ACK segment received by a host does not contain an ENO
       option.

So, if this ACK gets lost, and the client goes on with sending (encrypted) 
data, the server won't be able to know whether ENO has been successfully 
negotiated or not and how to interpret the data.

To overcome this, one possible way would be to include the ENO-option in every 
data-segment that a host is sending after the 3-way handshake until successful 
use of ENO has been confirmed by the receiver.

But even then, there might be a middlebox that removes the ENO-option from 
non-SYN segments (assuming that we want to support such kind of middleboxes). 
The sender will thus send encrypted data with the ENO-option. The receiver 
receives this encrypted data without the ENO-option (due to the middlebox 
stripping the option) and thus will assume that the data is unencrypted. (for 
the background, this kind of behavior is the reason why MPTCP makes sure to 
only send in-order data in the first few segments, until middlebox-support has 
been confirmed as it allows to fallback to regular TCP) 

This kind of means that we would need to do a 4-way handshake where data can 
only be sent after it has been confirmed on non-SYN segments that ENO is 
enabled. Maybe there is a better solution to it?



Second, there are loadbalancers out there (used by baidu.com 
<http://baidu.com/> in particular) that echo unknown TCP options. As far as I 
can tell, TCP-ENO won't be able to handle this situation gracefully, as an 
active opener will interpret the ECHO'd option as valid. The P-bit seems to 
allow to resolve this situation as the client would receive a TCP-ENO option 
with the P-bit set on a SYN/ACK segment. But, the P-bit is currently not part 
of the option thus I think it would be good to include it.


Cheers,
Christoph
_______________________________________________
Tcpinc mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/tcpinc

Reply via email to