One document matched: draft-ietf-ipfix-testing-00.txt
IPFIX Working Group C. Schmoll
Internet-Draft Fraunhofer Institute Fokus
Expires: April 19, 2007 P. Aitken
Cisco Systems
October 16, 2006
IP Flow Information eXport (IPFIX) Testing
draft-ietf-ipfix-testing-00.txt
Status of this Memo
By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on April 19, 2007.
Copyright Notice
Copyright (C) The Internet Society (2006).
Abstract
This document presents a list of tests which implementers of IP Flow
Information Export (IPFIX) compliant systems are encouraged to
perform on their IPFIX system. This document has been created to
help implementers test the functionality of their IPFIX Exporter
and/or Collector. The goal of these tests is to ensure that all
important functions are covered by tests and thereby to gain a level
of confidence in the system which allows the implementer to perform
Schmoll & Aitken Expires April 19, 2007 [Page 1]
Internet-Draft IPFIX Test Recommendations October 2006
interoperability or plug tests with other IPFIX systems.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 Document Scope . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Related Documents . . . . . . . . . . . . . . . . . . . . 4
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . 6
3. Test Specifications . . . . . . . . . . . . . . . . . . . . 7
3.1 Exporter/Collector Connectivity Tests . . . . . . . . . . 7
3.1.1 Connectivity Tests between Exporter and Collector . . 7
3.2 Data Template and Data Transmission Tests . . . . . . . . 7
3.2.1 Transmission of Simple Data Template and Data . . . . 7
3.2.2 Transmission of Data Template with variable-length
IEs and Data . . . . . . . . . . . . . . . . . . . . . 7
3.2.3 Flowsets with Padding . . . . . . . . . . . . . . . . 8
3.3 IE Tests . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.3.1 Enterprise-specific IEs . . . . . . . . . . . . . . . 8
3.3.2 Reduced-size Encoding of IEs . . . . . . . . . . . . . 8
3.3.3 Multiple use of the same IE in one Template . . . . . 8
3.4 Options Templates . . . . . . . . . . . . . . . . . . . . 9
3.4.1 Using any IEs as Scope . . . . . . . . . . . . . . . . 9
3.4.2 Using multiple Scopes . . . . . . . . . . . . . . . . 9
3.4.3 Metering Process (MP) Statistics Option Template . . . 9
3.4.4 Metering Process (MP) Reliability Statistics Option
Template . . . . . . . . . . . . . . . . . . . . . . . 9
3.4.5 Exporting Process (EP) Reliability Statistics
Option Template . . . . . . . . . . . . . . . . . . . 10
3.4.6 Flow Keys Option Template . . . . . . . . . . . . . . 10
3.5 Stress/Load Tests . . . . . . . . . . . . . . . . . . . . 10
3.5.1 Large Number of Records for one Template . . . . . . . 10
3.5.2 High Rate of incoming Data Records . . . . . . . . . . 11
3.5.3 Large Templates with high Number of IEs . . . . . . . 11
3.5.4 Many new Templates within Data Template timeout
interval . . . . . . . . . . . . . . . . . . . . . . . 11
3.5.5 Multiple Exporters sending to one Collector . . . . . 11
3.5.6 Export from one Exporter to multiple Collectors . . . 11
3.6 Error Handling . . . . . . . . . . . . . . . . . . . . . . 11
3.6.1 Temporary Network Disconnect . . . . . . . . . . . . . 11
3.6.2 Exporter Termination and Restart during Data
Transmission . . . . . . . . . . . . . . . . . . . . . 12
3.6.3 Collector Termination and Restart during Data
Transmission . . . . . . . . . . . . . . . . . . . . . 12
3.6.4 Incorrect Template Records . . . . . . . . . . . . . . 12
3.6.5 Incorrect Data Record . . . . . . . . . . . . . . . . 14
3.6.6 Export of non-matching Template and Data . . . . . . . 15
3.6.7 Incorrect Set IDs . . . . . . . . . . . . . . . . . . 15
Schmoll & Aitken Expires April 19, 2007 [Page 2]
Internet-Draft IPFIX Test Recommendations October 2006
3.6.8 Flowsets with Invalid Padding . . . . . . . . . . . . 15
3.6.9 Re-using the same Template ID inside the Template
Expiry Time . . . . . . . . . . . . . . . . . . . . . 15
3.6.10 Re-using the same Template ID after the Template
Expiry Time . . . . . . . . . . . . . . . . . . . . 15
3.6.11 Sending of a Template Withdrawal Message . . . . . . 15
3.6.12 Re-sending an existing Template ID without
withdrawal . . . . . . . . . . . . . . . . . . . . . 16
4. Security Considerations . . . . . . . . . . . . . . . . . . 17
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . 18
6. Normative References . . . . . . . . . . . . . . . . . . . . 18
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . 18
Intellectual Property and Copyright Statements . . . . . . . 20
Schmoll & Aitken Expires April 19, 2007 [Page 3]
Internet-Draft IPFIX Test Recommendations October 2006
1. Introduction
The IPFIX protocol has been developed for the purpose of exporting IP
flow information from devices such as routers or measurement stations
to mediation, accounting, and network management systems. It is
intended for the purposes of Internet research, QoS and traffic
measurement, attack and intrusion detection reporting, accounting,
and billing.
The IPFIX architecture [I-D.ietf-ipfix-architecture] defines the
different components which are involved in this data export process.
For a testable IPFIX software toolkit one needs at least the IPFIX
Exporter and Collector. The Exporter communicates information
regarding flows from the Metering Process to the Collector via SCTP,
TCP, or UDP. The Collector may then e.g., store this data into a
database or transfer it directly to an application for further
processing.
An implementation of these IPFIX components in software, firmware, or
hardware needs to be tested thoroughly in order to check its
robustness and the conformity to the IPFIX drafts it is based on.
This document suggests tests which should be run in order to check
the system and to gain a high confidence in the conformity,
robustness, and correct behavior of such implementation.
1.1 Motivation
The main driving force for preparing this document is the observation
that protocols for data exchange often fail to work properly when
implementations from different companies or organizations are in use
together. In many cases this even holds true when tests had
previously been performed successfully using an Exporter and
Collector from a single implementer. The tests listed here can form
a valuable common basis for implementers involved in interoperability
testing when all of them use these tests to check their own Exporter
and Collector first.
1.2 Document Scope
This document lists tests intended to be performed between an
implementation of an IPFIX Exporter and an IPFIX Collector. For some
tests multiple instances of each of those components are involved.
The tests cover basic application connectivity, export of Template
and Data Records, high load, and error condition situations.
1.3 Related Documents
This draft refers to the following draft documents: "Information
Schmoll & Aitken Expires April 19, 2007 [Page 4]
Internet-Draft IPFIX Test Recommendations October 2006
Model for IP Flow Information Export" [I-D.ietf-ipfix-info] and
"IPFIX Protocol Specification" [I-D.ietf-ipfix-protocol].
Schmoll & Aitken Expires April 19, 2007 [Page 5]
Internet-Draft IPFIX Test Recommendations October 2006
2. Terminology
The terminology used in this document is fully aligned with the
terminology defined in [I-D.ietf-ipfix-architecture] and [I-D.ietf-
ipfix-protocol].
In the remainder of this document IE means Information Element.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119].
Schmoll & Aitken Expires April 19, 2007 [Page 6]
Internet-Draft IPFIX Test Recommendations October 2006
3. Test Specifications
The following tests SHOULD be performed using an IPFIX Exporting
Process on one host and an IPFIX Collecting Process on a different
host. The network configuration and software component setup SHOULD
be recorded. The test results SHOULD be recorded per test performed.
3.1 Exporter/Collector Connectivity Tests
This section lists the basic tests which must succeed as a
precondition for the more complex tests in later sections.
3.1.1 Connectivity Tests between Exporter and Collector
Set up one Exporting and one Collecting Process. Configure the
Exporting Process to send to the Collecting Process. Configure a
minimal Data Set so that the Exporter will initiate a connection.
Detect whether a connection was established (in case of SCTP and TCP)
and whether data was exchanged. The transmitted data might be
observed on-line with an appropriate tool such as Ethereal
(www.ethereal.com).
Perform the test for all the supported combinations of IPv4 and IPv6
transports, and UDP, SCTP, and TCP transmission protocols.
3.2 Data Template and Data Transmission Tests
This section lists the important tests for checking the correct
transmission of IPFIX Templates and Data Sets.
3.2.1 Transmission of Simple Data Template and Data
Create and export an IPFIX Template and Data Record for a few fixed-
size IEs over the transports in Section 3.1. Verify the correct
reception and decoding of the Template and data. Use various IEs so
that each data type (octet, unsigned16, unsigned32 ...) is used in at
least one test.
3.2.2 Transmission of Data Template with variable-length IEs and Data
Create and export Templates and Data Records for a mixture of fixed-
sized and variable-length IEs over the transports in Section 3.1.
The various Templates should contain:
o a single variable-length IE
o a single variable length IE followed by a fixed length IE
Schmoll & Aitken Expires April 19, 2007 [Page 7]
Internet-Draft IPFIX Test Recommendations October 2006
o a fixed length IE followed by a variable length IE
o multiple variable-length IEs
Verify the correct reception and decoding of all Templates and data.
3.2.3 Flowsets with Padding
Create and send Data Records which contain padding (i.e. which use
the PaddingOctets IE). Test with various padding sizes, including
padding to boundaries other than 4 or 8 octets. Make sure the
implementation captures the (illegal) case where the Data Records are
so short that the padding is equal to or longer than the length of
the record, so the padding might otherwise be interpreted as another
record (e.g. 1 bytes TOS plus 3 bytes of padding). Test fixed-size
padding (e.g. 12 bytes of data plus 2 bytes of padding) and variable-
length padding (e.g. export a string and a variable number of padding
bytes afterwards to align the next data element to a 4 byte
boundary).
3.3 IE Tests
This section lists the tests which cover the use of Information
Elements.
3.3.1 Enterprise-specific IEs
Export a Template and Data Set which makes use of Enterprise-specific
IEs as defined in [I-D.ietf-ipfix-info] and check correct reception
and decoding. Verify correct reception of IEs which are unknown to
the Collector. Ensure that such IEs are not silently discarded.
3.3.2 Reduced-size Encoding of IEs
Generate export and test reception of IEs which have been transmitted
using a reduced-size encoding as defined in section 6.2 of [I-D.ietf-
ipfix-protocol]. Make sure that the Collector is aware of the real
size of each IE and not only the length used for its transmission.
3.3.3 Multiple use of the same IE in one Template
Create and export a Template containing multiple instances of the
same IE, either consecutively or with other IEs in between. Verify
that the Collector is able to parse the message contents and stores
all values received for all the IEs which appeared multiple times in
the Template definition.
Schmoll & Aitken Expires April 19, 2007 [Page 8]
Internet-Draft IPFIX Test Recommendations October 2006
3.4 Options Templates
This section lists the tests which cover the correct transfer of
IPFIX Options Templates.
3.4.1 Using any IEs as Scope
Options Templates contain a scope field which gives the context of
the reported IEs in the corresponding Data Records. The scope is an
IE specified in [I-D.ietf-ipfix-info].
Export Options Template Records containing various different IEs in
their scope fields, and export a Data Record using each Template.
Verify the correct reception of the Templates and Data Records at the
Collector. Verify whether the Collector accepts an unknown IE in the
scope field. Verify whether the Collector accepts an Enterprise
specific IE in the scope field.
The Scope Field Count MAY NOT be zero. Verify that the Collector
does not accept an Options Template with no scope fields.
3.4.2 Using multiple Scopes
Multiple scope fields MAY be present in the Options Template Record.
If the order of the scope fields is relevant, the order of the scope
fields MUST be used.
Export an Options Template Record containing multiple scope fields,
and a Data Record using that Template. Verify the correct reception
of the Template and Data Record at the Collector.
Note that the Scope Field Count MAY NOT be zero. Verify that the
Collector does not accept an Options Template with no scope fields.
3.4.3 Metering Process (MP) Statistics Option Template
Check that the Collector can handle the reception and decoding of
Options Template Records in general and that it is able to receive
and decode MP Statistics Option Templates as defined in section 4.1
of [I-D.ietf-ipfix-protocol]. Note that not all fields listed there
might be present in a received MP Statistics Option Data Record.
Also check that the optional meteringProcessId Scope Field is
supported by the implementation.
3.4.4 Metering Process (MP) Reliability Statistics Option Template
Check that the Collector can handle the reception and decoding of MP
Reliability Statistics Option Data Records as defined in section 4.2
Schmoll & Aitken Expires April 19, 2007 [Page 9]
Internet-Draft IPFIX Test Recommendations October 2006
of [I-D.ietf-ipfix-protocol]. Note that not all fields listed there
might be present in a received MP Reliability Statistics Option Data
Record. Also check that the optional meteringProcessId Scope Field
is supported by the implementation.
3.4.5 Exporting Process (EP) Reliability Statistics Option Template
Check that the Collector can handle the reception and decoding of EP
Reliability Statistics Option Data Records as defined in section 4.3
of [I-D.ietf-ipfix-protocol]. Note that not all fields listed there
might be present in a received EP Reliability Statistics Option Data
Record.
3.4.6 Flow Keys Option Template
Check that the Collector can handle the reception and decoding of
Flow Keys Option Template Data Records as defined in section 4.4 of
[I-D.ietf-ipfix-protocol]. Note that not all fields listed there
might be present in a received Flow Keys Data Record. Make sure that
the implementation also properly handles the case where the
transmitted templateId incorrectly refers to a non-existing Template.
3.5 Stress/Load Tests
Stress tests are used to check correct behavior and robustness of an
IPFIX Collector implementation when a number of Data Records arrive
very quickly. This is especially important when IPFIX over UDP is
used, since in that case a slow Collector must not block the IPFIX
Exporter(s) from sending, since UDP is not congestion aware. Such
stress tests may not be applicable to the devices being tested. The
tests may be dependent upon the hardware and transports technology in
use. Therefore the tests may need to be scaled up or down to meet
the needs of the particular implementation. However, the implementer
SHOULD verify that his implementation is stable under excessive
traffic conditions, for whatever definition of "excessive" applies at
their intended installation.
The implementer MUST verify the correct operation of his Exporter
and/or Collector when the Collector is incapable of processing
records at the rate which they are received.
3.5.1 Large Number of Records for one Template
Export many records to the Collector. Depending on what that process
does (save to file, store to database, analyze the data) the
Collector may use up a lot of memory. Verify that if it runs out of
memory, it terminates the connection gracefully but remains available
to receive data on other connections.
Schmoll & Aitken Expires April 19, 2007 [Page 10]
Internet-Draft IPFIX Test Recommendations October 2006
3.5.2 High Rate of incoming Data Records
If possible, export to the Collector with an increasing records per
second export rate. For TCP or SCTP export this should stall the
exporter once the Collector becomes fully loaded. For UDP export,
the Collector should drop records gracefully as it becomes
overloaded.
3.5.3 Large Templates with high Number of IEs
Create and export Templates with the maximum possible number of IEs.
Create and export matching Data Records. Note that, for the
implementation, these Data Records might be smaller or larger than
the Template Records depending on the type of IEs inside and the
presence of variable-length IEs.
3.5.4 Many new Templates within Data Template timeout interval
Create and export a large number of Templates using different
Template IDs, to stress test the Collector's memory consumption.
Ensure that the Collector gracefully discards Templates (i.e. logs
warnings) if it's running in a system with insufficient memory
resources.
3.5.5 Multiple Exporters sending to one Collector
Set up multiple Exporters to export Templates and Data to the same
Collector at the same time. Observe correct reception and decoding
of all the information at the Collector. Check that no Exporter
stalls or disconnects completely.
3.5.6 Export from one Exporter to multiple Collectors
If possible, configure the Exporter to export Data Records in
parallel to different IPFIX Collectors. Use simple and complex
Templates and/or a mixture of them and check for correct reception.
3.6 Error Handling
This section lists and describes a number of problems which might
occur in either the network or data transmission or related to wrong
information encoding, and which the IPFIX system must be capable of
handling in a graceful way. It is intended to test the robustness
and fault tolerance of the IPFIX system.
3.6.1 Temporary Network Disconnect
Due to network failures (either physical or logical, e.g. defective
Schmoll & Aitken Expires April 19, 2007 [Page 11]
Internet-Draft IPFIX Test Recommendations October 2006
routing) the connectivity between an IPFIX Exporter and Collector
might be disrupted. The IPFIX system MUST be able to handle such
events in a deterministic and graceful way if they should occur
during an IPFIX export. When connection oriented transmission
protocols (TCP/SCTP) are in use, such a failure may or may not be
signaled to the Exporter and Collector by the operating system
depending on the type of network adapter, driver software and
operating system in use. The effect might be the direct signaling of
an error when IP packet read/write system functions are invoked
(signaling connection reset by peer) or there might be an OS-
dependent connection timeout. An implementer should check the
behavior of his/her IPFIX system upon such interruptions of data
transmission. For TCP- and SCTP-based connections, short disconnects
and long disconnects should be tested. For UDP-based data export
there is no noticeable connection loss, but data received with non-
consecutive sequence numbers indicates data loss and should be
recognized and reported by the Collector per section 3.1 of
[I-D.ietf-ipfix-protocol].
3.6.2 Exporter Termination and Restart during Data Transmission
An IPFIX Collector might be confronted with a faulty Exporter
implementation which suddenly crashes, dropping any open connections.
The Exporter may be restarted again soon after the crash. Kill a
running and exporting Exporter Process. Check that the associated
Collector gracefully closes all connections associated to that
Exporter. Start the Exporting Process again. The Collector must be
able to correctly receive from the new Exporter instance at the same
source host.
3.6.3 Collector Termination and Restart during Data Transmission
An IPFIX Exporter might be confronted with a faulty Collector
implementation which suddenly crashes, dropping any open connections.
That Collector may be restarted again soon after the crash. Kill a
running Collector while collecting. Check that the Exporter
gracefully closes all connections associated with that Collector.
Restart the Collector. Check that the Exporter is able to export
correctly to the new Collector instance.
3.6.4 Incorrect Template Records
IPFIX Template records contain a Message Length field, an overall
Field Count and a Scope Field Count. The Field Count is the number
of all fields in the Template Record, including the Scope Fields if
present. The Scope Field Count MAY NOT be zero.
Verify the Collector's operation when it receives a Template Record
Schmoll & Aitken Expires April 19, 2007 [Page 12]
Internet-Draft IPFIX Test Recommendations October 2006
with an invalid message length.
Consider the following example Template Record. This Template Record
is missing one IE ID and one IE length field. There's insufficient
data in the Set for the specified Set length, and the overall record
is four octets too short for the specified total length. Therefore
the Template must be dropped by the IPFIX Collector.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Version = 10 | Total Length = 32 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Export Time = 1155202151 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sequence Number = 0x12345678 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Observation Domain ID = 0x33334444 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Set ID = 2 | Set Length = 12 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Template ID = 257 | Field Count = 2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0| IE Identifier = 8 | Field Length = 4 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The following different erroneous records should also be tested:
(a) consider above IPFIX Template with Total Length = 28. In that
case the Template has to be rejected because Field Count = 2 and
there is no second IE record present in the Set. The available data
is exhausted after reading the first IE record.
(b) consider above IPFIX Template with Total Length = 26. In that
case the Template has to be rejected because the IPFIX message length
is too short. After the first IE the message data is exhausted
according to the Total Length information.
(c) consider above IPFIX Template with Field Count = 01. In that
case the packet must be rejected because Total Length is too large
and does not match the amount of data available.
(d) finally when using above IPFIX Template extended by
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0| IE Identifier = 12 | Field Length = 4 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Schmoll & Aitken Expires April 19, 2007 [Page 13]
Internet-Draft IPFIX Test Recommendations October 2006
is correct and MUST be stored by an IPFIX Collector.
Verify the Collector's operation when it receives an Options Template
where the Scope Field Count is zero.
The following example Template record MUST be dropped because the
Scope Field Count = 0.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Version = 10 | Total Length = 30 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Export Time = 1155202151 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sequence Number = 0x12345678 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Observation Domain ID = 0x33334444 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Set ID = 3 | Set Length = 14 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Template ID = 257 | Field Count = 1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Scope Field Count = 0 |0| IE Identifier = 8 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Field Length = 4 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Also verify the Collector's operation when it receives an Options
Template where the Field Count is less than the Scope Field Count.
To check the handling of such error use the above IPFIX Options
Template with Scope Field Count = 2.
3.6.5 Incorrect Data Record
Check that the Collector successfully drops all those Data Records
which are not correct IPFIX messages. Potential errors include but
are not limited to:
o IPFIX message too short
o illegal use of reduced size encoding
o invalid length specification in case of variable length IEs
Schmoll & Aitken Expires April 19, 2007 [Page 14]
Internet-Draft IPFIX Test Recommendations October 2006
3.6.6 Export of non-matching Template and Data
Check that the Collector successfully drops all those Data Records
which do not match with their corresponding Template. Potential
errors include but are not limited to:
o too few IEs in Data Record
o too many IEs in Data Record
3.6.7 Incorrect Set IDs
Check that Template Sets, Options Template Sets, and Data Sets with
an incorrect Set ID are discarded by the IPFIX Collector. As of
[I-D.ietf-ipfix-protocol] version 23 only the Set ID values 2 and 3
denote valid sets.
3.6.8 Flowsets with Invalid Padding
Check that the IPFIX Collector gracefully handles flowsets which have
invalid padding, i.e. when the number of padding bytes is incorrect,
or when the padding is not composed of NUL character(s). The
Collector MAY accept the Data Records only for the latter case.
3.6.9 Re-using the same Template ID inside the Template Expiry Time
Check how the Collector handles the case where a Template definition
is received via UDP export with a Template ID which is still in use,
i.e. not yet timed out. This is a valid behavior if the Template is
the same as the previous one. Sending a different Template with the
same ID within the Template expiry time however is not allowed and
should be reported by the Collector.
3.6.10 Re-using the same Template ID after the Template Expiry Time
Check that the Collector successfully handles the case where a
Template definition is received via UDP with a Template ID that was
in use but has expired.
Also check and ensure that the Collector drops Data Records which
refer to a Template after its expiry (or withdrawal in the case of
SCTP).
3.6.11 Sending of a Template Withdrawal Message
Send a Template Withdrawal Message for (a) a Template which had been
sent before, (b) for a Template which has never been sent, and (c)
Schmoll & Aitken Expires April 19, 2007 [Page 15]
Internet-Draft IPFIX Test Recommendations October 2006
for a Template which was previously sent and already withdrawn. The
first case (a) does not represent an error. Check correct behavior
of the Collector when receiving Data Records before and after the
Template Withdrawal. IPFIX Template management is defined in chapter
8 of [I-D.ietf-ipfix-protocol].
3.6.12 Re-sending an existing Template ID without withdrawal
[I-D.ietf-ipfix-protocol] states in section 8 that a Template MUST
NOT be sent more than once during the lifetime of an SCTP
association. Create and export a Template multiple times using SCTP
based data transmission. Ensure that the Collector gracefully
discards any but the first Template Record. The Collector should log
a warning about such error observed from an Exporter, and MUST shut
down the SCTP association (if any).
Schmoll & Aitken Expires April 19, 2007 [Page 16]
Internet-Draft IPFIX Test Recommendations October 2006
4. Security Considerations
This memo raises no security issues.
Schmoll & Aitken Expires April 19, 2007 [Page 17]
Internet-Draft IPFIX Test Recommendations October 2006
5. IANA Considerations
This memo raises no IANA Considerations.
6. Normative References
[I-D.ietf-ipfix-architecture]
Sadasivan, G., "Architecture for IP Flow Information
Export", draft-ietf-ipfix-architecture-12 (work in
progress), September 2006.
[I-D.ietf-ipfix-info]
Quittek, J., "Information Model for IP Flow Information
Export", draft-ietf-ipfix-info-13 (work in progress),
September 2006.
[I-D.ietf-ipfix-protocol]
Claise, B., "Specification of the IPFIX Protocol for the
Exchange of IP Traffic Flow Information",
draft-ietf-ipfix-protocol-23 (work in progress),
October 2006.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
Authors' Addresses
Carsten Schmoll
Fraunhofer Institute Fokus
Kaiserin-Augusta-Allee 31
Berlin D-10589
Germany
Phone: +49 30 3463 7136
Email: schmoll@fokus.fraunhofer.de
URI: http://www.fokus.fraunhofer.de
Schmoll & Aitken Expires April 19, 2007 [Page 18]
Internet-Draft IPFIX Test Recommendations October 2006
Paul Aitken
Cisco Systems
96 Commercial Quay
Edinburgh EH6 6LX
Scotland
Phone: +44 131 561 3616
Email: paitken@cisco.com
URI: http://www.cisco.com
Schmoll & Aitken Expires April 19, 2007 [Page 19]
Internet-Draft IPFIX Test Recommendations October 2006
Intellectual Property Statement
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Disclaimer of Validity
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Copyright Statement
Copyright (C) The Internet Society (2006). This document is subject
to the rights, licenses and restrictions contained in BCP 78, and
except as set forth therein, the authors retain all their rights.
Acknowledgment
Funding for the RFC Editor function is currently provided by the
Internet Society.
Schmoll & Aitken Expires April 19, 2007 [Page 20]
| PAFTECH AB 2003-2026 | 2026-04-23 08:47:21 |