Hi Eric,

I just finished reading this document. Some comments below.
- You have a uniform 16 bit length field followed by a 4 byte all-zeros
   sentinel value to indicate that a packet is IKE rather than ESP.
   Given that in S 3 graf 2 you have a SHOULD-level requirement
   to use typical UDP payload lengths, why not instead explicitly
   limit lengths to 15 bits and use the top bit to indicate IKE versus
   ESP. This would be slightly more efficient and seems simpler.
   I suppose that the counterargument is that IKE over UDP behaves
   differently, but in terms of implementation, that doesn't seem like
  much of an argument.

That won't work. An application protocol running over UDP
is free to send messages up to 64Kbytes. While in tunnel mode we can
first fragment these messages and then apply ESP (so that each ESP
packet is rather small) , in transport mode it's impossible, and the ESP
datagram can reach 64Kbytes in size. I agree that in wild there are few protocols that send such long UDP messages, but it is not prohibited.

- It seems like IKE associations can span TCP connections (S 6)
  so why not instead of doing UDP first then TCP, do happy eyeballs.

I don't think it's a good idea. The TCP encapsulation has a lot of drawbacks in terms of performance (see Section 12), so it is considered as a last resort if UDP doesn't work. In general UDP (or no encapsulation) is a preferred transport. If we start trying TCP and UDP in parallel, then in some cases TCP will win even if UDP works, resulting in non-efficient connection, even when UDP could be used.
-Ekr

Regards,
Valery Smyslov.

_______________________________________________
IPsec mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/ipsec

_______________________________________________
IPsec mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/ipsec

Reply via email to