[xcp] Embedding XCP signalling in IP header
John Wroclawski
jtw at lcs.mit.edu
Thu Aug 19 07:09:21 PDT 2004
At 7:14 AM -0400 8/19/04, Tim Shepard wrote:
>> Of course we should. But we should also not ignore that IPv4 is
>>here to stay,
>> and that the lack of compatibility with current IPv4/TCP stacks equals the
>> inability to interact with any of the existing systems / applications. If we
>> could gain that compatibility, XCP would certainly see a much
>>faster path for
>> wide deployment and acceptance. That's what my proposal was all about...
>
>
>I don't see how your proposal is better than putting the XCP header
>between the IPv4 header and the TCP header.
>
>In either case, there must be a mechanism that lets each end determine
>if the other end can switch in to our new special XCP mode (an extra
>header or your re-use of IPv4 fragmentation-related fields). Once
>you've determined that the other end can handle XCP packets, then it
>hardly matters which method is used to carry the XCP information.
>
One possible counter to this (although not the strongest one in the
world) is that reusing v4 header fields in a way that doesn't kick
the packet out of the fast path of existing routers is, other things
being equal, a pragmatically better decision than almost any other
choice, which might.
This argument is based on two assumptions:
- like any congestion control mechanism, XCP needs to be implemented
only at intermediate nodes where resources are actually scarce - some
people will choose the alternative approach of significant
overcapacity and simpler hardware.
- any "odd" IP thing, such as use of a per-hop next-header mechanism
borrowed from v6, will kick the packet out of the fast path.
I think that both of these assumptions aren't blanket truth, but both
also may have some validity.
- Particularly during any (long..) transition to an XCP world, it's
critical that non-xcp nodes not arbitrarily be 1/100 as fast at
forwarding xcp-bearing pkts as non-xcp pkts. This is independent of
whether or not you believe that in the fullness of time there might
still be non-xcp routers at places where congestion is "impossible".
- It's interesting to look at other contexts and see how narrow the
fast-path processing gets. People really do optimize only the cases
that they *know* already matter *today*. It seems to me that a very
likely scenario is that a box that understands next-header mechanisms
at all, but isn't specifically optimized for XCP, will put in first
level hardware a simple test: "might I need to think more about this
packet", kicking the pkt to slow processing if the answer is yes. So
again a next-header based mechanism for XCP might cause these packets
to be processed much more slowly at some routers than a field-reuse
mechanism.
(Another way to say this is that people may assume that once a router
decides it cares about a next-header at all, it's for a control
message, and so should definitely be slow-path)
cheers,
john
More information about the xcp
mailing list