[e2e] number of flows per unit time in routers
Fred Baker
fred at cisco.com
Sat Oct 29 02:13:46 PDT 2005
The problem is that a flow is not an event, and when we talk about "X
per second", X is usually an event. So it sounds like it would make
more sense to talk about flow creations (installations of a flow data
record, whatever the implementation calls it, in the netflow
database) per second, flow expirations per second, or some such, and
btw, some statistic reporting typical flow duration. Of course, on
average over a longish interval one hopes that flows created per
second equals flow expirations per second, but on a shorter period
the rates will be skewed, with the number of flow records
simultaneously open alternately increasing for a while and then
decreasing for a while.
In our experience, the flow creation rate is predicted by the number
of packets per second crossing an interface and is modified by the
characteristics of the current definition of a "flow". Under
configuration control, the network manager can store data about IP
prefix pairs, IP address pairs, IP address pairs using the TCP
protocol, IP address pairs establishing individual TCP sessions
between them, etc etc etc. If you think about the dynamics of a web
page, opening a web page may mean that your machine starts accessing
files on a number of machines, usually mostly at the target site but
not necessarily the same machine. Clicking on a link can result in
the creation of a single IP prefix pair netflow entry, a few IP
address pair netflow entries, or a series of TCP-session-between-IP-
address-pair netflow entries. Therefore, the changing definition of a
flow can easily change the flow creation rate by an order of
magnitude. But if you know the average number of packets in a flow
(if you know, for example, that web tcp sessions are typically 10
packets each way and that is what you're tracking in netflow), then
the flow creation rate is proportional to the packet rate on the
interface.
Flow duration, btw, is generally proportional to the number of RTTs
necessary to support the flow. Speaking in round numbers, a mumble
packet web tcp session has an RTT for SYN/SYN-ACK, a second RTT for
the request packet burst, a third RTT for the first response packet
burst, potentially several more RTTs for more data, and then finally
an RTT for the closing exchange. So flow duration is not proportional
to line speed, but rather is proportional to some function of
exchange (file) size and RTT.
On Oct 28, 2005, at 1:41 PM, Craig Partridge wrote:
>
> Hi Bob:
>
> Sounds as if I need to provide a bit of context. If you are tracking
> flows (imagine a router keeping track of flows, using, say
> something like
> NetFlow), one question is how many flows do I need to keep track of.
> Another question is how fast may I have to create new flows or expire
> old flows. Yet another question, and the one I was aiming at, is that
> if I'm archiving flow records over time, at what rate do I have to
> archive?
>
> Note that for all but the first question, flows per second makes
> perfect
> sense.
>
> Thanks!
>
> Craig
>
> In message <200510281712.KAA11769 at gra.isi.edu>, Bob Braden writes:
>
>
>>
>> It seems to me that this question is ill-posed. It seems to make
>> sense to talk about the number of flows per time T only when average
>> flow duration << T. So, flows per hour might make since, assuming
>> few flows are longer than a few minutes, but flows per second makes
>> no sense.
>>
>> Bob Braden
>
--------------------------------------------------------------
"Don't worry about the world coming to an end today. It's already
tomorrow in Australia." (Charles Schulz )
More information about the end2end-interest
mailing list