Hi Yaron,

If Responder receives IKE Fragment Message after it received, successfully verified and processed regular message with the same Message ID, it means that response message didn't reach Initiator and it activated IKE Fragmentation. If Fragment Number in Encrypted Fragment Payload in this message is equal to 1, Responder MUST fragment its response and retransmit it back to Initiator in fragmented form.

I think the MUST in the second sentence is incorrect. Assume the sender switched to fragmented form, but the responder knows that it sent a very short response. The response got lost, but this is unrelated to fragmentation. So the responder should simply retransmit it as-is, and there's no reason to fragment it.

The idea is that it is Initiator who decides whether to use fragmentation or not, as only he/she is responsible for retransmissions. Responder is just a "slave". And for simplicity we assume that either both use fragmentation or both don't. It is stated in the beginning of Page 5: "Responder MUST send response message
in the same form (fragmented or not) as corresponded request message."
You are right that it may lead (and actually leads) to "false positive"
decisions to use fragmentation in situations when it actually can't help.

We may change this logic as follows:

   Responder MUST fragment its response if it is greater than
   Responder's fragmentation threshold and SHOULD NOT do it otherwise.

Is it OK? In this case the requirement for Responder to use the same
form should also be changed to SHOULD (or removed completely).

Also I'm not happy with the first part of the new text (last paragraph of Sec. 2), which adds complexity for both sender and responder. The sender must ensure that when it re-fragments the message, the fragment count is indeed higher (so it cannot use a simple table of possible fragment sizes). And the receiver must add the number of fragments into its IKE-level retransmit logic. I understand why this might be needed sometimes, but is the added flexibility (allowing to retry different fragment sizes) worth the complexity?

That is the question. This is only for PMTU discovery. Still waiting for WG members to discuss whether it is needed. And anyway all this functionality is marked as MAY.

"MUST" for ensuring that fragments number is increased after
refragmenting is just for fo desire "to be on the safe side" - in real life
it will almost always be increased as IKE PMTU discovery is coarse-grained:
if you decrease fragment size in half you will get twice as many fragments.
And there's no need for IKE to perform fine-grained PMTU discovery, if any.

What about the need for responder to take fragments number
into consideration, - I don't think it will complicate implementation,
just one more field to compare.

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

Reply via email to