I think this is a really good idea; although, it could be a bridge too far.  It 
certainly won’t get implemented quickly.  I still remember implementing path 
MTU discovery thinking about the big performance win I was going to get in IPv6 
from 9K packets (vs 1500 byte packets) only to discover that certain router 
vendors had interpreted one of the RFCs to mean they didn’t have to send 
packet-too-big messages if the packet in question was larger then 1500 bytes 
(because one of the RFCs stated that IPv6 implementations only have to support 
1500 bytes).  Yes, the RFCs could be interpreted that way, but that 
interpretation clearly violates the intent (to make path MTU reliable).  The 
real world upshot of that is that anything over 1500 bytes is still a black 
hole and using path MTU can really only get you a whopping 300 bytes (from 1200 
to 1500).  Not trying to be negative, but 4M parcels are really looking to the 
future and that's only a good thing if we realize what we are doing.

Getting into the details:

Using "segment" as the term to describe the individual parcel contents is 
probably not a good idea, because TCP has segments but most other ULPs do not.

I don't completely follow the description as to exactly how one forms a parcel. 
 For example, does each segment include in IPvX header?  I think I read no, but 
it could be a little clearer.

I think that requiring all the segments to be exactly the same size (except the 
last one) is a problem.  It's definitely a problem for UDP.  Even with TCP, it 
becomes difficult to use exactly N bytes in a packet -- It involves a very 
fragile dance between the ULP and the IP layer to communicate the exact size of 
the options being used.  Things like IPSec make it impossible to use some MTU 
values and one needs to go a little under (so does fragmentation; although, 
that doesn't apply here).  Given how difficult and fragile is it for an 
implementation to completely fill up to the MTU (or "L" in the context of your 
document), a reasonable design choice would be to make worse case assumptions 
when they tell ULP how many bytes it has to work with.  

If a packet is longer than 1500 bytes, some routers will not return ICMPv6 
messages.  You shouldn't depend on that for performance.
_______________________________________________
Int-area mailing list
Int-area@ietf.org
https://www.ietf.org/mailman/listinfo/int-area

Reply via email to