Re: [IPFIX] RFC5101: time first flow dropped and time last flow dropped

Andrew Feren <andrewf@plixer.com> Thu, 22 September 2011 02:47 UTC

Return-Path: <andrewf@plixer.com>
X-Original-To: ipfix@ietfa.amsl.com
Delivered-To: ipfix@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9071021F8B12 for <ipfix@ietfa.amsl.com>; Wed, 21 Sep 2011 19:47:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.598
X-Spam-Level:
X-Spam-Status: No, score=-2.598 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id QmoGSWV0rACK for <ipfix@ietfa.amsl.com>; Wed, 21 Sep 2011 19:47:11 -0700 (PDT)
Received: from smtp.plixer.com (smtp.plixer.com [66.186.184.193]) by ietfa.amsl.com (Postfix) with ESMTP id 99EF221F8B18 for <ipfix@ietf.org>; Wed, 21 Sep 2011 19:47:10 -0700 (PDT)
Received: from [192.168.1.25] ([70.109.142.16]) by smtp.plixer.com over TLS secured channel with Microsoft SMTPSVC(6.0.3790.4675); Wed, 21 Sep 2011 22:49:38 -0400
Message-ID: <4E7AA240.4020506@plixer.com>
Date: Wed, 21 Sep 2011 22:49:36 -0400
From: Andrew Feren <andrewf@plixer.com>
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.21) Gecko/20110831 Lightning/1.0b2 Thunderbird/3.1.13
MIME-Version: 1.0
To: ipfix@ietf.org
References: <4A8015DF.6040903@cisco.com> <4E78A0EC.9030003@cisco.com> <4E7A397B.3080802@net.in.tum.de> <4E7A6F1B.5010600@cisco.com>
In-Reply-To: <4E7A6F1B.5010600@cisco.com>
Content-Type: multipart/alternative; boundary="------------040609040606070200030107"
X-OriginalArrivalTime: 22 Sep 2011 02:49:38.0489 (UTC) FILETIME=[451CEA90:01CC78D2]
Subject: Re: [IPFIX] RFC5101: time first flow dropped and time last flow dropped
X-BeenThere: ipfix@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: IPFIX WG discussion list <ipfix.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ipfix>, <mailto:ipfix-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/ipfix>
List-Post: <mailto:ipfix@ietf.org>
List-Help: <mailto:ipfix-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ipfix>, <mailto:ipfix-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 22 Sep 2011 02:47:12 -0000

Hi Benoit,

I had the same thought about using

322    observationTimeSeconds
323    observationTimeMilliseconds
324    observationTimeMicroseconds
325    observationTimeNanoseconds

The problem is that you need two timestamps in the same record (first
and last).  How does that work with the above?

-Andrew

On 09/21/2011 07:11 PM, Benoit Claise wrote:
> Hi Gerhard,
>
> Thanks for your reply.
> See in line.
>>
>> Hi Benoit,
>>
>> See comments inline.
>>
>> On 20.09.2011 16:19, Benoit Claise wrote:
>>> Dear all,
>>>
>>> [this email addresses
>>> draft-claise-ipfix-protocol-rfc5101bis-00.txt,  TO DO -> "time first
>>> flow dropped" and "time last flow dropped" inconsistency.  See the
>>> discussion on the list.]
>>>
>>> Paul Aitken discovered this issue.,
>>>
>>> From [RFC5101], section 4.3. The Exporting Process Reliability
>>> Statistics Option Template
>>>
>>> time first flow dropped
>>>                         The timestamp of the first _Flow _was
>>> dropped by
>>>                         the Metering Process.  For this timestamp, any
>>>                         of the "flowStart" timestamp Information
>>>                         Elements flowStartMilliseconds,
>>>                         flowStartMicroseconds, flowStartNanoseconds,
>>> and
>>>                         flowStartDeltaMicroseconds can be used.
>>>
>>> time last flow dropped
>>>                         The timestamp of the last _IP packet_ that was
>>>                         ignored by the Metering Process.  For this
>>>                         timestamp, any of the "flowEnd" timestamp
>>>                         Information Elements flowEndMilliseconds,
>>>                         flowEndMicroseconds, flowEndNanoseconds, and
>>>                         flowEndDeltaMicroseconds can be used.
>>>
>>>
>>> Firstly, these definitions are inconsistent since the names and the
>>> first definition say "flow" while the second definition says "IP
>>> packet". Obviously "IP packet" != "flow" :-o
>>>
>>> Secondly, "The timestamp of the first Flow was dropped by the
>>> Metering Process." is bad English: at least it's missing "that".
>>>
>>> Thirdly, the section 4.2 doesn't take into account a metering
>>> process id. Indeed, what if we have multiple caches on the exporter?
>>>
>>> Here is a proposal for 4.2 and 4.3. The underlined parts are new
>>>
>>>
>>>       4.2. The Metering Process Reliability Statistics Option Template
>>>
>>>
>>>
>>>    The Metering Process Reliability Option Template specifies the
>>>    structure of a Data Record for reporting lack of reliability in the
>>>    Metering Process.  It SHOULD contain the following Information
>>>    Elements that are defined in [RFC5102 <http://tools.ietf.org/html/rfc5102>]:
>>>
>>>    observationDomainId
>>>                            An identifier of an Observation Domain that
>>>                            is locally unique to the Exporting Process.
>>>                            This Information Element MUST be defined as a
>>>                            Scope Field.
>>>
>>>     
>>> _   meteringProcessId (*)
>>>                            The identifier of the Metering Process for
>>>                            which lack of reliability is reported.  There
>>>                            This Information Element MUST be defined as a 
>>>                            Scope Field._
>>>
>>>    ignoredPacketTotalCount
>>>                            The total number of IP packets that the
>>>                            Metering Process did not process.
>>>
>>>    ignoredOctetTotalCount
>>>                            The total number of octets in observed IP
>>>                            packets that the Metering Process did not
>>>                            process.
>>>
>>>    time first _packet _ignored
>>>                            The timestamp of the first IP packet that was
>>>                            ignored by the Metering Process.  For this
>>>                            timestamp, any of the "flowStart" timestamp
>>>                            Information Elements flowStartMilliseconds,
>>>                            flowStartMicroseconds, flowStartNanoseconds,
>>>                            and flowStartDeltaMicroseconds can be used.
>>>
>>>    time last _packet _ignored
>>>                            The timestamp of the last IP packet that was
>>>                            ignored by the Metering Process.  For this
>>>                            timestamp, any of the "flowEnd" timestamp
>>>                            Information Elements flowEndMilliseconds,
>>>                            flowEndMicroseconds, flowEndNanoseconds, and
>>>                            flowEndDeltaMicroseconds can be used.
>>
>> I do not find these IEs in RFC5102.
> Which ones?  flowEndMilliseconds, flowEndMicroseconds,
> flowEndNanoseconds, and flowEndDeltaMicroseconds
> There are in http://www.iana.org/assignments/ipfix/ipfix.xml
> However, re-reading
>    time first _packet _ignored
>                            The timestamp of the first IP packet that was
>                            ignored by the Metering Process.  For this
>                            timestamp, any of the "flowStart" timestamp
>                            Information Elements flowStartMilliseconds,
>                            flowStartMicroseconds, flowStartNanoseconds,
>                            and flowStartDeltaMicroseconds can be used.
>
>    time last _packet _ignored
>                            The timestamp of the last IP packet that was
>                            ignored by the Metering Process.  For this
>                            timestamp, any of the "flowEnd" timestamp
>                            Information Elements flowEndMilliseconds,
>                            flowEndMicroseconds, flowEndNanoseconds, and
>                            flowEndDeltaMicroseconds can be used.
> And http://www.iana.org/assignments/ipfix/ipfix.xml for the "flowEnd"
> timestamp IE,
> I now believe that we should be using this series of IEs
>
>     322    observationTimeSeconds
>     323    observationTimeMilliseconds
>     324    observationTimeMicroseconds
>     325    observationTimeNanoseconds
>
>
>>
>>>       4.3. The Exporting Process Reliability Statistics Option Template
>>>
>>>
>>>    The Exporting Process Reliability Option Template specifies the
>>>    structure of a Data Record for reporting lack of reliability in the
>>>    Exporting process.  It SHOULD contain the following Information
>>>    Elements that are defined in [RFC5102 <http://tools.ietf.org/html/rfc5102>]:
>>>
>>>    Exporting Process ID
>>>                         The identifier of the Exporting Process for
>>>                         which lack of reliability is reported.  There
>>>                         are three Information Elements specified in
>>>                         [RFC5102 <http://tools.ietf.org/html/rfc5102>] that can be used for this purpose:
>>>                         exporterIPv4Address, exporterIPv6Address, or
>>>                         exportingProcessId.  This Information Element
>>>                         MUST be defined as a Scope Field.
>>>
>>>    notSentFlowTotalCount
>>>                         The total number of Flows that were generated by
>>>                         the Metering Process and dropped by the Metering
>>>                         Process or by the Exporting Process instead of
>>>                         being sent to the Collecting Process.
>>>
>>>    notSentPacketTotalCount
>>>                         The total number of packets in Flow Records that
>>>                         were generated by the Metering Process and
>>>                         dropped by the Metering Process or by the
>>>                         Exporting Process instead of being sent to the
>>>                         Collecting Process.
>>>
>>>    notSentOctetTotalCount
>>>                         The total number of octets in packets in Flow
>>>                         Records that were generated by the Metering
>>>                         Process and dropped by the Metering Process or
>>>                         by the Exporting Process instead of being sent
>>>                         to the Collecting Process.
>>>
>>>    time first flow dropped
>>>   _                      The time at which the first Flow Record was dropped by
>>>                         the __Exporting Process._  For this timestamp, any
>>>                         of the "flowStart" timestamp Information
>>>                         Elements flowStartMilliseconds,
>>>                         flowStartMicroseconds, flowStartNanoseconds, and
>>>                         flowStartDeltaMicroseconds can be used.
>>>
>>>    time last flow dropped
>>>                         _The time at which the last Flow Record was
>>>                         dropped by the Exporting Process_.  For this
>>>                         timestamp, any of the "flowEnd" timestamp
>>>                         Information Elements flowEndMilliseconds,
>>>                         flowEndMicroseconds, flowEndNanoseconds, and
>>>                         flowEndDeltaMicroseconds can be used.
>>
>> Again, I do not find these IEs in RFC5102.
> Same remark, I believe we should be using for the two previous IEs
>
>     322    observationTimeSeconds
>     323    observationTimeMilliseconds
>     324    observationTimeMicroseconds
>     325    observationTimeNanoseconds
>
> Regards, Benoit.
>>
>>>    The Exporting Process SHOULD export the Data Record specified by the
>>>    Exporting Process Reliability Statistics Option Template on a regular
>>>    basis or based on some export policy.  This periodicity or export
>>>    policy SHOULD be configurable.
>>>
>>>
>>>
>>>
>>> (*) regarding the meteringProcessId, we were hesitating between the
>>> meteringProcessId and the cache id
>>> 1. there is a meteringProcessId in IPFIX IANA while there is no cache id
>>
>> meteringProcessId should do the job.
>>
>>> 2. if the IPFIX exporter is configured from [IPFIX-CONF], what
>>> should be the value in meteringProcessId?
>>>     [IPFIX-CONF] doesn't mention the meteringProcessId, but a cache
>>> name.
>>>     From figure 1 and 2, it seems that there is a one to one
>>> matching between the cache and the metering process.
>>>     If this is the case, a solution could be to add a
>>> meteringProcess inside the cache in the figure 12 in [IPFIX-CONF] below
>>
>> See reply to Pauls mail.
>>
>> Regards,
>> Gerhard
>>
>>>
>>>       4.3. Cache Class
>>>
>>>
>>>     +-----------------------------------+
>>>     | Cache                             |
>>>     +-----------------------------------+        1 +------------------+
>>>     | name                              |<>--------| immediateCache/  |
>>>     | dataRecords {readOnly}            |          | timeoutCache/    |
>>>     | cacheDiscontinuityTime {readOnly} |          | naturalCache/    |
>>>     |                                   |          | permanentCache   |
>>>     |                                   |          +------------------+
>>>     |                                   |
>>>     |                                   |     0..* +------------------+
>>>     |                                   |--------->| ExportingProcess |
>>>     +-----------------------------------+          +------------------+
>>>
>>>                           Figure 12: Cache class
>>> What do you think? Do you see another way?
>>>
>>> Regards, Paul & Benoit.
>>>
>>>
>>> _______________________________________________
>>> IPFIX mailing list
>>> IPFIX@ietf.org
>>> https://www.ietf.org/mailman/listinfo/ipfix
>
>
> _______________________________________________
> IPFIX mailing list
> IPFIX@ietf.org
> https://www.ietf.org/mailman/listinfo/ipfix