Hi,
I recently migrated the j-flow generation and export from Routing Processor to 
Multiservice PICs, to be able to use a higher sampling rate (I moved from 
1/1000 to 1/100).
My routers are mainly T-series, with JUNOS 9.1R4.4
I'm nothing now the following behaviour associated with long lasting flows, 
i.e. flows continuously receiving traffic for a long time and whose information 
get exported via the "active-timeout". At each export time (e.g. for my routers 
it is 300s) I get a flow record with the packets and bytes received by the flow 
since the previous export (so, it's "delta" information),  but the "flow start 
time" information is kept fixed at the time the first packet of the flow was 
received (in other words, the flow creation time in the flow cache).

This, IMO, creates problem for whatever collector is receiving and analysing 
this information: regular exports of long lasting flows are useful to timely 
update all the necessary flow
aggregations that are used to keep control of the network (e.g. per prefix, per 
router, per protocol, per AS, per application, etc.). When I receive an update, 
I have to attribute the traffic update to a time bin in the recent past (I 
believe most flow-analysis applications use this time-binning concept). With 
the information exported as I described, I don't know exactly to which time 
span flow information refers to (I know the time of the last packet of the 
reported information, but the time of the start is NOT the time of the first 
packet of the reported information, it is the time of the flow creation in the 
cache, that can be way back in the past!).

A collector will be forced to "guess" this start time by subtracting the  
active-timeout value from the time of the last export, but  this is error prone 
for several reasons:
- juniper themselves say that this export time is not exactly the configured 
active-timeout, but the upper minute boundary
(http://www.juniper.net/techpubs/software/junos/junos91/swconfig-services/configuringtimers.html#id-11344779)
-if the long lasting flow is expired and exported for other reasons than 
active-timeout expiration (e.g. for inactive-timeout expiration), the export 
can happen well before the expected time (e.g. well before the next 300s, in my 
case....) so I will make a mistake!
In addition to that, I need to keep my flow collector application in sync with 
the active-timeout definition plus any implementation-specific drift from it 
(e.g.. the one-minute upper boundary mentioned above).

I'd appreciate comments from people having faced this issue. I also believe 
that the above behaviour was NOT appearing when I was using the  Routing 
Processor export, so anybody planning the migration should be aware of this 
issue.

Regards,
Maurizio

--
______________________________________________________________________

Maurizio Molina
Network Engineer

DANTE - www.dante.net<http://www.dante.net/>

Tel: +44 (0)1223 371 300
Fax: +44 (0)1223 371 371
Email: maurizio.mol...@dante.net<mailto:maurizio.mol...@dante.org.uk>
PGP Key ID: 3FF58D51

City House, 126-130 Hills Road
Cambridge CB2 1PQ
UK
_____________________________________________________________________


_______________________________________________
juniper-nsp mailing list juniper-nsp@puck.nether.net
https://puck.nether.net/mailman/listinfo/juniper-nsp

Reply via email to