Brian,

On Apr 14, 2010, at 3:26 PM, Brian E Carpenter wrote:

> Hi,
> 
> Common practice in network monitoring and in QoS technologies
> is to identify a flow of packets by the 5-tuple
> {source address, dest address, source port, dest port, protocol #}.
> This is relatively trivial at line speed in IPv4 since
> these things are at fixed locations in the header. But in IPv6,
> the protocol number is at the end of a linked list of "next
> headers." Even if the normal case is only one item in the linked
> list, any implementation (hardware or software) that extracts
> the 5-tuple has to follow the linked list to the end.

Do we have any data on what percentage of packets have the next header a 
transport header vs. something else?  It would be good to know how often it's 
the non-trivial case.

I agree that an implementation will have to know how to at least check what the 
next header is.  

> 
> As Mark Smith said in relation to draft-carpenter-6man-flow-update-02
> 
>>> Secondly, for IPv6 packets with a number of extension headers before
>>> the transport layer header, I think this rule could impact forwarding
>>> performance. While I'm not sure if it is that practical, however it'd
>>> be good if flow classification could be done using only fixed headers
>>> in the IPv6 packet, or a fixed portion of the fixed header bits.
> 
> The problem is, only the protocol number is diagnostic of an individual
> flow. The earlier next headers are not guaranteed to be the same for
> all packets in a transport session, and they might be the same for packets
> in different transport sessions between the same two hosts.
> 
> So it seems to me that we are stuck with identifying IPv6 flows by
> the 5-tuple, even though it means following the linked list to the
> end. Or we can forget about identifying individual transport flows,
> and identify all traffic between the same two hosts via the 4-tuple
> {source address, dest address, source port, dest port}.
> 
> Or we can strongly recommend that all hosts set the flow label, so
> that we can use the 3-tuple {source address, dest address, flow label}.
> 
> What do people think?


That would make a lot of sense to me.  It would also have an advantage of 
allowing a set of TCP connections between two hosts to be associated as a 
single flow where the hosts wanted them to be treated in the same manner.  It's 
hard to do that with IPv4 as the port numbers will be different for each TCP 
connection.

Bob


--------------------------------------------------------------------
IETF IPv6 working group mailing list
[email protected]
Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6
--------------------------------------------------------------------

Reply via email to