On 18 mei 2009, at 23:17, Joe Touch wrote:

Not necessarily. PMTUD for tunnels is just an optimization. There is no
reason why you couldn't take full size inner packets and encapsulate
them in an outer packet that is then fragmented.

You wouldn't know to do that unless you had a different idea of the MTU at the endpoint. Or are you suggesting that ROHC do this (I don't think
it would)...

Suppose the MTU is 1500, IPsec takes 50 bytes and ROHC may add 4 bytes worst case but saves 32 bytes on average (completely made up numbers). Now:

- packets smaller than 1500 - 50 - 4 = 1446 bytes can always be carried without trouble, so nothing special happens

- packets larger than 1500 - 50 + 32 = 1482 bytes can never be carried without fragmentation, so send a too big message.

- packets between 1446 and 1482 bytes will usually compress to something that can be carried without fragmentation, so we don't send a too big message. However, they may not compress, in which case the resulting packet is larger than 1500 bytes. We then fragment the packet upon sending and reassemble before detunneling.

The whole thing can be made dynamic so in the range 1446 - 1482 we don't always fragment but rather when we see that we fragment too much, we lower the MTU value reported back to sources until the level of fragmentation is within reason.

Reply via email to