IPFIX working group EDITORS: K.C. Norseth
Internet Draft Enterasys Networks
draft-ietf-ipfix-data-00.txt Paul Calato
Expires: August 2002 Riverstone Networks Inc
IPFIX Data Model
Data Model for IP Flow Information Export
draft-ietf-ipfix-data-00.txt
Status of this Memo
This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026 [1].
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.
Abstract
This document defines an information and daqta model for
scalable monitoring, measuring and exporting IP flow information
to collectors.
Conventions used in this document
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 RFC-2119 [ ].
1. Introduction 3
2. Scope 3
3. Terminology 3
4. Flow Type and Flow Definition 3
4.1. Observation Point 5
4.2. Unidirectional and Bidirectional Flows 5
5. Metering Process Function 6
5.1. Flow Classification 6
IPFIX Working Group Expires August 2002 [Page 1]
INTERNET-DRAFT draft-ietf-ipfix-data-00.txt Feb. 22, 2002
5.2. Selection Criteria Of Packets 6
5.2.1. Function on properties that determines a flow type (Fi) 7
5.2.2. Sampling packets on a flow type (Si) 7
5.3. Selection Criteria of flows for export 7
5.4. Flow Expiration 7
6. Information Model 8
6.1. Attributes related to IP Packet Header 8
6.2. Attributes Related to Measurement 9
6.3. Attributes Related to Flow Definition 9
6.4. Attributes related to Upper Layers 9
7. Information Elements 9
7.1. IP Address 9
7.1.1. Source Address 9
7.1.2. Destination Address 10
7.1.3. NEXT_HOP_IP 10
7.2. Time Stamps 10
7.2.1. Flow Creation Time 10
7.2.2. Flow End Time 10
7.2.3. Flow Start UTC Time 11
7.2.4. Flow End UTC Time 11
7.2.5. Flow Update Start Time 11
7.2.6. Flow Update End Time 11
7.2.7. Flow Update Delta Time 11
7.3. Service Types 11
7.3.1. Class of Service 11
7.3.2. TCP Control Bits 12
7.3.3. Protocol Identifier 12
7.3.4. Source Exporter Address 12
7.4. Flow End State 13
7.5. Statistical Elements 13
7.5.1. Byte Count 13
7.5.2. Packet Count 13
7.5.3. Dropped Byte Count 14
7.5.4. Dropped Packet Count 14
7.5.5. IPM_DPKTS 14
7.5.6. IPM_DOCTETS 14
7.6. Port Information 14
7.6.1. Source Port 14
7.6.2. Destination Port 14
7.7. Autonomous System (AS) 15
7.7.1. Source AS 15
7.7.2. Destination AS 15
7.7.3. Next Hop AS 15
7.8. IfIndexes and Interfaces 15
7.8.1. Ingress Port 15
7.8.2. Egress Port 15
7.8.3. Egress ATM Subinterface 16
7.8.4. EGRESS_FRAME_RELAY_SUBINTERFACE 16
7.9. NetMasks 16
7.9.1. Source Address Netmask 16
7.9.2. Destination Address Netmask 16
7.10. BGP & Vlan 's 16
7.10.1. Destination BGP Community 16
7.10.2. Source BGP Community 17
IPFIX Working Group Expires August 2002 [Page 2]
INTERNET-DRAFT draft-ietf-ipfix-data-00.txt Feb. 22, 2002
7.10.3. BGP_NEXT_HOP 17
7.10.4. Source VLAN ID 17
7.10.5. Destination VLAN ID 17
7.11. Virtual Information 17
7.11.1. Source Virtual Address 17
7.11.2. Source Virtual Port 18
7.11.3. Destination Virtual Address 18
7.11.4. Destination Virtual Port 18
7.12. Vendor Specific 19
7.13. Misc. Information Elements 19
7.13.1. Flow Label 19
7.13.2. Flow Direction 19
7.13.3. Fragment ID 19
7.13.4. Internal queue priority 19
7.13.5. Global VPN Identifier 20
7.13.6. ICMP_TYPE 20
7.13.7. IGMP_TYPE 20
7.14. Sampling 20
7.14.1. SAMPLING_INTERVAL 20
7.14.2. SAMPLING_ALGO 20
8. IANA Consideration 20
9. Security Section 20
10. References 21
11. Acknowledgements 22
12. Author's Addresses 23
13. Full Copyright Statement 24
14. To Add 24
1. Introduction
Many applications e.g., Intrusion detection, traffic
engineering, require the monitoring, measuring of IP traffic
flows. It is hence important to have a standard way of exporting
information related to IP flows. This document defines the data,
which may be used by the exporter for IP traffic flow monitoring
an measuring.
2. Scope
This document defines information data model for IPFIX[3].
Specifically, this document describes a general purpose flow
definition along with the data elements which may be exported.
3. Terminology
To be filled out
4. Flow Type and Flow Definition
As defined in the requirement draft [1],
"A flow is a set of packets passing an observation point in
IPFIX Working Group Expires August 2002 [Page 3]
INTERNET-DRAFT draft-ietf-ipfix-data-00.txt Feb. 22, 2002
the network during a certain time interval. All packets
belonging to a particular flow have a set of common
properties derived from the data contained in the packet and
from the packet treatment at the observation point."
In this draft we define the flow more specifically. A flow is
defined as a set of packets passing an observation point in the
network during a certain time interval. All packets belonging to a
particular flow have a set of common properties. Each property is
defined as the result of applying a function to the values of:
A. one or more of packet header fields (e.g. destination IP
address)
B. one or more properties of the packet itself (e.g. packet
length)
C. one or more of fields derived from packet treatment (e.g. AS
number)
A packet is defined to belong to a flow if it matches all the
defined properties of the flow. Flows can be defined in multiple
ways. Some examples are:
Example 1:
To create flows, we define the different fields to distinguish
flows. The different combination of the field values creates
unique flows. If the keys are defined as {source IP address,
destination IP address, TOS}, then all of these are different
flows.
1. {192.1.40.1, 171.6.23.5, 4}
2. {192.1.40.23, 171.6.23.67, 4}
3. {192.1.40.23, 171.6.23.67, 2}
4. {198.20.9.200, 171.6.23.67, 4}
Example 2:
To create flows, we can apply a match function to all the packets
that pass through an observation point, in order to aggregate some
values. This could be done by defining the keys as {source IP
address, destination IP address, TOS} like in the example 1, and
applying the function which masks the least significant 8 bits of
the source IP address and destination IP address (i.e. the
resultant is a /24 address). The 4 flows from example 1 would now
be aggregated into 3 flows, by merging the flows 1. and 2. into a
single flow.
1. {192.1.40.0/24, 171.6.23.0/24, 4}
2. {192.1.40.0/24, 171.6.23.0/24, 2}
3. {198.20.9.0/24, 171.6.23.0/24, 4}
Example 3:
IPFIX Working Group Expires August 2002 [Page 4]
INTERNET-DRAFT draft-ietf-ipfix-data-00.txt Feb. 22, 2002
To create flows, we can filter some field values on all packets
that pass the observation point, in order to select only certain
flows. The filter is defined by choosing fixed values for specific
fields from the packet.
All the packets that go from a customer network 192.1.40.0/24 to
another customer network 171.6.23.0/24 with TOS value of 4 define
a flow. All other combinations don't define a flow and are not
taken into account. The 3 flows from example 2 would now be
reduced to 1 flow, by filtering away the second and the third
flow. {192.1.40.0/24, 171.6.23.0/24, 4}.
The above example can be thought of as a function F takes as input
{source IP address, destination IP address, TOS}. The function
selects only the packets which satisfy all the 3 conditions which
are:
* mask the least significant 8 bits of source IP address,
compare against 192.1.40.0.
* mask the least significant 8 bits of destination IP address,
compare against 171.6.23.0.
* tos value equal to 4.
Depending on the values of {source IP address, destination IP
address, TOS} of the different observed packets, the metering
process function F would choose/filter/aggregate different sets of
packets, which would create different flows. In other words,
based on various combination of values of {source IP address,
destination IP address, TOS}, F(source IP address, destination IP
address, TOS) would result in the definition of one or more flows.
The function F is referred to as Flow Type.
4.1. Observation Point
For definition refer to section 1.2. A flow is uniquely defined by
the way it gets measured at an observation point.
Example:
The flow defined in the example 1 of section 2., can be used at 2
different observation points 'a' and 'b' in 2 different ways.
Observation point 'a' measures the packets that match the flow
{192.1.40.0/8, 171.6.23.0/8, 4} at a sampling rate of 1 in 10 and
'b' measures packets that match the same flow with a sampling rate
of 1 in 100.
4.2. Unidirectional and Bidirectional Flows
A flow defined by the above terms is unidirectional. In case the
exporter has got the knowledge of the bi-directional flows and in
case the bi-directional information make sense, the exporter MAY
choose to export in the same Template/Flow Record, along with
IPFIX Working Group Expires August 2002 [Page 5]
INTERNET-DRAFT draft-ietf-ipfix-data-00.txt Feb. 22, 2002
bidirectional accounting information. This would save some
bandwidth as the exporter won't have to send two unidirectional
flow records.
Let {KF1,KF2.., KFn} define the set of fields consisting of at
least one of :
a. one or more of packet header fields
b. one or more properties of the packet itself
c. one or more of fields derived from packet treatment
The corresponding flow is F(KF1,KF2.., KFn). If the flow has any
characteristics which pertain to a direction w.r.t to the wire,
then it is a uni-directional flow. Say <KFi, KFj> forms a pair
which defines the <source, destination> characteristic in a
direction w.r.t wire. If <KFj, KFi> defines the <source,
destination> in the other direction w.r.t the wire, then Bi-
directional flow can be defined as
F(KF1,.. <KFj,KFi | KFi,KFJ> , ...KFn).
Where "|" means "OR" and <> just delimits the internal set.
5. Metering Process Functions
5.1. Flow Classification
The collector MUST be able to map the flow to the corresponding
property types defined by the flow type. This can be done only if
the collector has a mapping from flow type identifier (carried in
each flow record) to its actual structure. More details of how
this can be achieved are described in section 5.???
In addition the collector, when it receives the flow records, MAY
need the following interpreting the flow records further:
A. Observation Point.
B. Selection Criteria of Packets
As mentioned in section 2.1, a flow record can be better analyzed
if the Observation Point from which it is measured is known. As
such it is recommended that the flow record carry the Observation
Point information along with the flow records when exported. In
cases where there is a single observation point or where the
observation point information is not relevant, the exporter MAY
choose not to add this to the flow records.
5.2. Selection Criteria Of Packets
The measurement device MAY define rules so that only certain
packets within a flow can be chosen for measurement at an
IPFIX Working Group Expires August 2002 [Page 6]
INTERNET-DRAFT draft-ietf-ipfix-data-00.txt Feb. 22, 2002
observation point. This MAY be done by one of the two types of
methods defined below or a combination of them. A combination of
each of these ways can be adopted to select the packets .i.e. one
can define a set of methods {F1, S1, F2, S2, S3} executed in
certain sequence at an observation point to collect flows of a
particular type.
5.2.1. Function on properties that determines a flow type (Fi)
Packets that satisfy a function on the fields defined by the
packet header fields or fields obtained while doing the packet
processing or the properties of the packet itself.
Example:
Mask/Match of the fields that define a filter. The filter may be
defined as {Protocol == TCP, Destination Port between 80 and 120}.
Multiple such filters could be used in any sequence to select
packets.
5.2.2. Sampling packets on a flow type (Si)
Packets that satisfy the sampling criteria for this flow type.
Example:
Sample every 100th packet that was received at an observation
point and collect the flow information for a particular flow type.
choosing all the packets is a special case where sampling rate is
1:1.
5.3. Selection Criteria of flows for export
The measurement device MAY define additional rules so that only
certain flows records are picked up for export. This MAY be done
by either one of the two types of methods defined in 2.3.1 and
2.3.2 or a combination of them.
Example:
The flow records which meet the following selection criteria are
only exported.
1 All flow records whose destination IP address matches
{20.3.1.5}.
2 Every other (.i.e. sampling rate 1 in 2) flow record whose
destination IP address matches {160.0.1.30}.
IPFIX Working Group Expires August 2002 [Page 7]
INTERNET-DRAFT draft-ietf-ipfix-data-00.txt Feb. 22, 2002
5.4. Flow Expiration
A flow is considered to be inactive if no packets of this flow has
been observed at the observation point for a given timeout
interval. The flow can be exported under the following conditions:
1. If the exporter can deduce the end of a flow, the exporter
SHOULD export the flow records when the end of the flow is
detected. For example: flow generated by TCP type of traffic
where the FIN or RST bits indicate the end of the flow
2. If the flow has been inactive for a certain period of time.
This inactivity timeout SHOULD be configurable. For
example: flow generated by UDP type of traffic.
3. For long aging flows, the exporter SHOULD export the flow
records on regular basis, in order to:
a. report the flow records periodic accounting information
to the collector
b. avoid counter wrapping This activity timeout SHOULD be
configurable
4. If the exporter experiences resources constraints, a flow
MAY be prematurely expired (example: memory)
6. Information Model
The IPFIX information model is listed in the IPFIX requirement
document. The information model consists of the set of attributes
that an IPFIX exporting device should be able to export. In
conjunction with IP flow definitions, they provide locally
accurate information about a flow.
This section presents a rigorous definition and sufficient
statistics for these attributes.
6.1. Attributes related to IP Packet Header
The following attributes are obtained directly from IP packet
header belonging to a flow:
* IP Version Number
* Source Address
* Destination Address
* Source Port (e.g. TCP port number)
* Destination Port (e.g. TCP port number)
* Protocol Type
* TOS (for version 4)
* Flow Label (for version 6)
* DSCP (if DiffServ is supported)
IPFIX Working Group Expires August 2002 [Page 8]
INTERNET-DRAFT draft-ietf-ipfix-data-00.txt Feb. 22, 2002
6.2. Attributes Related to Measurement
The following attributes relates to measurements and measuring
methodology:
* Packet Counter
* Dropped Packet Counter
* Byte Counter
* Dropped Byte Counter
* Timestamp of the First Packet Observed
* Timestamp of the Last Packet Observed
* Timeout Indication
* Sampling Method
* Sampling Parameters
6.3. Attributes Related to Flow Definition
The following attributes relates to IP flow definitions.
* Incoming Interface
* Outgoing Interface
* Packet Treatment
* Unique ID of the Observation Point
* Unique ID of the Measuring Device
6.4. Attributes related to Upper Layers
The following attributes provides information of lower layer
protocols.
* MPLS Label (if MPLS is supported)
7. Information Elements
All element descriptions contain the following information:
Field Type:
This is the type of element the field is. All values are defined
in the TEXTUAL CONVENTIONS in the IETF rfcs. For example, a
source address is defined as field defined IpAddress from SNMPv2-
SMI (RFC 1443).
[This needs to be filled in on all the fields]
Size:
The size of the Data FlowSet including FlowSet ID and the Length .
7.1.IP Address
7.1.1. Source Address
IPFIX Working Group Expires August 2002 [Page 9]
INTERNET-DRAFT draft-ietf-ipfix-data-00.txt Feb. 22, 2002
Source address taken from the packet header. Addresses can be of
any type as described in RFC 1700 [note - we need a new reference
here, 1700 has been obsoleted]
[ Do we want to be even more specific and say
"taken from the IP packet header"
Is there a reason to report L2 addresses? ]
Field Type: ### Size: ###
7.1.2. Destination Address
Destination address taken from the packet header. Address is
defined the same as for Source Address.
Field Type: ### Size: ###
7.1.3. NEXT_HOP_IP
Address of the next hop. address is defined the same as for Source
Address .
Field Type: ### Size: ###
7.2.Time Stamps
[ Note - there are several concepts in the time
section. We certainly can and will argue
about whether there is unnecessary
duplication or not.
For now I just wanted to get the ideas down
]
7.2.1. Flow Creation Time
The time at which the flow was created. The time is a
SNMPv2 TimeStamp [1443].
Field Type: ### Size: ###
7.2.2. Flow End Time
The time at which the flow was deleted. The time is a SNMPv2
TimeStamp [1443].
[ Do we need a reason code? e.g. inactivity,
detected TCP FIN.
]
IPFIX Working Group Expires August 2002 [Page 10]
INTERNET-DRAFT draft-ietf-ipfix-data-00.txt Feb. 22, 2002
Field Type: ### Size: ###
7.2.3. Flow Start UTC Time
The time in seconds since 00:00:00 UTC, January 1, 1970 associated
with the status/statistics observed or other events. If both Time
and UTC_TIME are present, UTC Time takes precedence.
Field Type: ### Size: ###
7.2.4. Flow End UTC Time
The time in seconds since 00:00:00 UTC, January 1, 1970 associated
with the status/statistics observed or other events.
[ Need to define what happens if more If both Time IE is
present ]
Field Type: ### Size: ###
7.2.5. Flow Update Start Time
Defines the time at the start of the flow Update. The time is a
SNMPv2 TimeStamp [1443].
Field Type: ### Size: ###
7.2.6. Flow Update End Time
Defines the time at the end of the flow Update. The time is a
SNMPv2 TimeStamp [1443].
Field Type: ### Size: ###
7.2.7. Flow Update Delta Time
The time covered by the update (e.g. update end -
update_start).The time is in 100ths of seconds.
Field Type: ### Size: ###
7.3.Service Types
7.3.1. Class of Service
The class of service associated with a flow.
Class of Service Received
Class of Service Transmitted
IPFIX Working Group Expires August 2002 [Page 11]
INTERNET-DRAFT draft-ietf-ipfix-data-00.txt Feb. 22, 2002
1. IPv4, CoS value is defined by ToS in RFC 791
2. IPv6, CoS value is defined by Traffic Class in RFC 2460
3. MPLS, CoS value is defined by Exp in RFC 3032
4. VLAN, CoS value is defined by user_priority in
IEEE802.1q[802.1q] and IEEE 802.1p[802.1p]
[Can more than one Class of Service can be present???]
Field Type: ### Size: ###
7.3.2.TCP Control Bits
The TCP control bits seen for this flow. Note a 0 value for each
bit only indicates that the flag was not detected (i.e. it may
have occurred but was not detected by the reporting CCE). TCP
Control Bits are defined by RFC 793.
[ Do we need another field with a more definitive
meaning for 0??
]
Field Type: ### Size: ###
7.3.3.Protocol Identifier
e.g. TCP/UDP [ need an RFC reference here. PAC]
Field Type: ### Size: ###
7.3.4. Source Exporter [ is that the right term?? PAC] Address
Source Exporter address is the address of the Exporter reporting
the flow, Address is same as is as shown for Source Address. This
information is used by applications to later correlate the
ingress/egress port with a specific Exporter. It is also used to
maintain the source Exporter information when there is an
intermediate proxy. For example, given the picture below:
SW1 -------- P1 ------ Collector
^
|
SW2---------- |
Flows coming from SW1 and SW2 through proxy P1 would look to the
Collector [ is this the right term??? PAC] like the same Exporter
connection. With the Source Exporter in the message the original
Exporter address is maintained.
[ Does this belong here or in the Arch doc? I think
in the arch doc.
]
IPFIX Working Group Expires August 2002 [Page 12]
INTERNET-DRAFT draft-ietf-ipfix-data-00.txt Feb. 22, 2002
Field Type: ### Size: ###
7.4. Flow End State
The reason the flow has ended.
1. Inactivity timeout
2. End of flow detected (e.g. TCP FIN)
3. Forced end ????
4. Cache full
Field Type: ### Size: ###
7.5.Statistical Elements
To be expanded
7.5.1. Byte Count
Contains the count of octets sent and received associated with the
identified flow.
The byte count can be for bytes received (towards source) or bytes
sent (towards destination) or both (bi-directional flow).
The byte count can be a running counter and is the count from the
beginning of the flow establishment.
The byte count can be a delta counter and is the count since the
last report for this flow.
Field Type: ### Size: ###
7.5.2. Packet Count
Contains the count of packets sent and received associated with
the identified flow.
The packet count can be for packets received (towards source) or
packets sent (towards destination) or both (bi-directional flow).
The packet count can be a running counter and is the count from
the beginning of the flow establishment.
The packet count can be a delta counter and is the count since the
last report for this flow.
Field Type: ### Size: ###
IPFIX Working Group Expires August 2002 [Page 13]
INTERNET-DRAFT draft-ietf-ipfix-data-00.txt Feb. 22, 2002
7.5.3. Dropped Byte Count
Contains the count of octets dropped at the observation point
associated with the identified flow.
The dropped byte count can be a running counter and is the count
from the beginning of the flow establishment.
The byte count can be a delta counter and is the count since the
last report for this flow.
Field Type: ### Size: ###
7.5.4. Dropped Packet Count
Contains the count of packets dropped at the observation point
associated with the identified flow.
The dropped packet count can be a running counter and is the count
from the beginning of the flow establishment.
The dropped packet count can be a delta counter and is the count
since the last report for this flow.
Field Type: ### Size: ###
7.5.5. IPM_DPKTS
Packet count for IP Multicast
Field Type: ### Size: ###
7.5.6. IPM_DOCTETS
Octet (byte) count for IP Multicast
Field Type: ### Size: ###
7.6.Port Information
To be added
7.6.1. Source Port
This information element is used to report UDP source port [see
RFC 768] or TCP source port [see RFC 793] as taken from the IP
header.
Field Type: ### Size: ###
IPFIX Working Group Expires August 2002 [Page 14]
INTERNET-DRAFT draft-ietf-ipfix-data-00.txt Feb. 22, 2002
7.6.2. Destination Port
This information element is used to report UDP destination port
[see RFC 768] or TCP destination port [see RFC 793] as taken from
the IP header.
Field Type: ### Size: ###
7.7.Autonomous System (AS)
To be added
Field Type: ### Size: ###
7.7.1. Source AS
The Autonomous System (AS) numbers for the source address
associated with a flow. Autonomous System (AS) number is defined
by RFC 1930 and RFC 1771 (BGP-4):
Field Type: ### Size: ###
7.7.2. Destination AS
The Autonomous System (AS) numbers for the destination address
associated wit a flow. Autonomous System (AS) number is defined by
RFC 1930 and RFC 1771 (BGP-4).
Field Type: ### Size: ###
7.7.3.Next Hop AS
The Autonomous System (AS) numbers for the next hop IP. Autonomous
System (AS) number is defined by RFC 1930 and RFC 1771 (BGP-4).
Field Type: ### Size: ###
7.8.IfIndexes and Interfaces
To be added
7.8.1. Ingress Port
The ifIndex where the packets for the flow are being received.
ifIndex is defined by RFC 2233.
Field Type: ### Size: ###
IPFIX Working Group Expires August 2002 [Page 15]
INTERNET-DRAFT draft-ietf-ipfix-data-00.txt Feb. 22, 2002
7.8.2. Egress Port
The ifIndex where the packets for the flow are exiting. ifIndex is
defined by RFC 2233.
[ Do multi-cast flow cause us to possible have
more than one of these??
PAC
]
Field Type: ### Size: ###
7.8.3. Egress ATM Subinterface
The egress vpi/vci for the flow is provided in this Information
element. vpi/vci id defined by the ATM Forum UNI 3.1
specification:
Field Type: ### Size: ###
7.8.4. EGRESS_FRAME_RELAY_SUBINTERFACE
The egress DLCI for the flow is provided in this Information
element. ITU Q.922 defines the DLCI range. The frDlcmiState is
defined in RFC 2115 and defines the specific values of the DLCI.
Field Type: ### Size: ###
7.9.NetMasks
7.9.1. Source Address Netmask
The number of bits in the CIDR netmask, as defined in RFC 1519,
for the source address.
Field Type: ### Size: ###
7.9.2. Destination Address Netmask
The CIDR netmask, as defined in RFC 1519, for the destination
address.
Field Type: ### Size: ###
7.10.BGP & Vlan 's
7.10.1. Destination BGP Community
The BGP community number for the destination address. BGP
IPFIX Working Group Expires August 2002 [Page 16]
INTERNET-DRAFT draft-ietf-ipfix-data-00.txt Feb. 22, 2002
community number is defined by RFC 1997:
Field Type: ### Size: ###
7.10.2. Source BGP Community
The BGP community number for the source address.
Field Type: ### Size: ###
7.10.3. BGP_NEXT_HOP
Next-hop router in the BGP domain
Field Type: ### Size: ###
7.10.4. Source VLAN ID
The Source VLAN ID associated with the flow. VLAN ID is defined by
IEEE standard 802.1q - 1998[802.1q].
[ Is this ultimate source VLAN or the source vlan of the port
where the packet came in? Or do we need a way to represent
both? ]
Field Type: ### Size: ###
7.10.5. Destination VLAN ID
The destination VLAN ID associated with the flow. VLAN ID is
defined by IEEE standard 802.1q - 1998[802.1q].
[ Is this ultimate destination VLAN or the destination vlan of
the port where the packet went out? Or do we need a way to
represent both?]
Field Type: ### Size: ###
7.11.Virtual Information
7.11.1. Source Virtual Address
An Exporter may be involved in redirecting flows. This information
element captures information needed for proper accounting of
redirected flows. The Source Virtual information element contains
the source address of the flow as transmitted by the Exporter. It
is generally different than the source address information
element, which contains the address of the actual source of the
message.
IPFIX Working Group Expires August 2002 [Page 17]
INTERNET-DRAFT draft-ietf-ipfix-data-00.txt Feb. 22, 2002
A type field would contain the type of translation performed on
the source address. The following types are currently available:
1 - NAT
2 - LSNAT
3 - Web Cache
The address is defined the same as for Source Address.
Field Type: ### Size: ###
7.11.2. Source Virtual Port
A CCE may be involved in redirecting flows. This information
element captures information needed for proper accounting of
redirected flows. The Source Virtual port information element
contains the source port of the flow as transmitted by the CCE. It
may be different than the source port information element, which
contains the port of the actual source of the flow. An IP
Protocol field is present and is defined by the IP protocol spec
[RFC 791] (e.g. TCP/UDP). The fields indicate how to interpret the
port value field.
A type field contains the type of translation performed on the
source port. The following types are currently available:
1 - NAT
2 - LSNAT
3 - Web Cache
Field Type: ### Size: ###
7.11.3. Destination Virtual Address
The Destination Virtual information element contains the
destination address of the flow as received by the Exporter. It is
generally different than the destination port number, which
contains the actual destination address of the flow.
Field Type: ### Size: ###
7.11.4. Destination Virtual Port
The Destination Virtual port information element contains the
destination port of the flow as received by the Exporter. It may
be different than the destination port recorded in the destination
port, which contains the actual destination port of the flow.
Field Type: ### Size: ###
IPFIX Working Group Expires August 2002 [Page 18]
INTERNET-DRAFT draft-ietf-ipfix-data-00.txt Feb. 22, 2002
7.12. Vendor Specific
Vendors may add their own information to the protocol. Information
contained in this information element is vendor specific. OID and
OID Value are defined by ITU X.680.X683 (1997) and are encoded as
defined by ITU X.690.691(1997). This information element MUST not
contain any information which cannot be safely ignored by the
Exporter or Collector. If multiple Vendor Specific information
element's with the same OID occur, then the vendor defines
semantics of ordering.
Field Type: ### Size: ###
7.13.Misc. Information Elements
7.13.1.Flow Label
The Flow Label information element contains the IPV6 Flow Label
information as defined by RFC 2460.
Field Type: ### Size: ###
7.13.2. Flow Direction
The direction of the flow observed at the observation point. If
the observation point is a set of interface(s) the direction is
w.r.t the wire.
Field Type: ### Size: ###
7.13.3. Fragment ID
The fragment ID associated with the flow. RFC 791 and RFC 2460
define fragment ID.
Field Type: ### Size: ###
7.13.4. Internal queue priority
A switch may map several of its internal priority queues into a
Premium, High, Medium or Low category.
[ This section needs more]
Field Type: ### Size: ###
7.13.5.Global VPN Identifier
IPFIX Working Group Expires August 2002 [Page 19]
INTERNET-DRAFT draft-ietf-ipfix-data-00.txt Feb. 22, 2002
The VPN identifier associated with the flow as defined in RFC
2685.
Field Type: ### Size: ###
7.13.6. ICMP_TYPE
ICMP Packet Type. This is reported as (ICMP Type * 256) + ICMP
code
[We need a spec reference.]
Field Type: ### Size: ###
7.13.7. IGMP_TYPE
IGMP Packet Type
[We need a spec reference.]
Field Type: ### Size: ###
7.14.Sampling
7.14.1. SAMPLING_INTERVAL
When using Sampling, the rate at which packets is sampled. For
example, a value of 100 indicates that one of every hundred
packets is sampled.
Field Type: ### Size: ###
7.14.2. SAMPLING_ALGO
The type of algorithm used for sampling data. Currently, the only
sampling algorithm defined is:
0x02 packet-sampling
Field Type: ### Size: ###
8. IANA Consideration
To be filled out.
9. Security Section
To be filled out.
IPFIX Working Group Expires August 2002 [Page 20]
INTERNET-DRAFT draft-ietf-ipfix-data-00.txt Feb. 22, 2002
10. References
3. J. Quittek ,et al.," Requirements for IP Flow Information
Export ", (work in progress) ,Internet Draft, Internet
Engineering Task Force, <draft-ietf-ipfix-reqs-00.txt>,
November 2001
4. M. Wood ,et al.," Intrusion Detection Message Exchange
Requirements",(work in progress), Internet Draft, Internet
Engineering Task Force, draft-ietf-idwg-requirements-
06,February 2002.
5. Daniel O. Awduche, et. al.," Overview and Principles of
Internet Traffic Engineering", (work in progress), Internet
Draft, Internet Engineering Task Force, draft-ietf-tewg-
principles-02.txt, May 2002
[Brow00] Nevil Brownlee: Packet Matching for NeTraMet
Distributions,
http://www2.auckland.ac.nz/net//Internet/rtfm/meetings/47-
adelaide/pp-dist/
[DeCi01] C. Demichelis, P. Cimento: IP Packet Delay Variation
Metric for IPPM,
<draft-ietf-ippm-ipdv-08.txt>, November 2001
[RFC2680] G. Almes, S. Kalidindi, M. Zekauskas: A One-way Packet
Loss Metric for IPPM, September 1999
[ClPB93] K.C. Claffy, George C Polyzos, Hans-Werner Braun:
Application of Sampling Methodologies to Network Traffic
Characterization, Proceedings of ACM SIGCOMM'93,
San Francisco, CA, USA, September 13 - 17, 1993
[GrDM98] Ian D. GRAHAM, Stephen F. DONNELLY, Stele MARTIN, Jed
MARTENS, John G. CLEARY:
Nonintrusive and Accurate Measurement of Unidirectional Delay and
Delay Variation on
the Internet, INET'98, Geneva, Switzerland, 21-24 July, 1998
[DuGr00] Nick Duffield, Matthias Grossglauser: "Trajectory
Sampling for Direct Traffic
Observation", Proceedings of ACM SIGCOMM 2000, Stockholm, Sweden,
August 28 -
September 1, 2000.
[RFC2679] G. Almes, S. Kalidindi, M. Zekauskas: A One-way Delay
Metric for IPPM,
Request for Comments: 2679, September 1999
[ZsZC01] Tanja Zseby, Sebastian Zander, Georg Carle:
IPFIX Working Group Expires August 2002 [Page 21]
INTERNET-DRAFT draft-ietf-ipfix-data-00.txt Feb. 22, 2002
Evaluation of Building Blocks
for Passive One-way-delay Measurements, Proceedings of Passive and
Active Measurement
Workshop (PAM 2001), Amsterdam, The Netherlands, April 23-24, 2001
(PAM 2001)
[MCFW] Srisuresh, S. et al. "Middlebox Communication Architecture
and framework," work in progress. October 2001.
[NAT-TERM] Srisuresh, P. and M. Holdrege, "IP Network Address
Translator (NAT) Terminology and Considerations", RFC 2663, August
1999.
[NAT-TRAD] Srisuresh, P. and K. Egevang, "Traditional IP Network
Address Translator (Traditional NAT)", RFC 3022, January 2001.
[PPVPN-FR] Callon, R., Suzuki, M., et al. "A Framework for
Provider Provisioned Virtual Private Networks ", work in progress,
<draft-ietf-ppvpn-framework-03.txt>, January 2002.
[VPN-L2] Rosen, E., "An Architecture for L2VPNs," Internet-draft
<draft-ietf-ppvpn-l2vpn-00.txt>, July 2001.
[RFC2475] Black, D., Blake, S., Carlson, M., Davies, E., Wang, Z.
and W. Weiss, "An Architecture for Differentiated Services", RFC
2475, December 1998.
[1] Requirements for IP Flow Export, <draft-ietf-ipfx-req-00.txt>
<http://www.ietf.org/html.charters/ipfix-charter.html>
[2] K.Zhang, et al., "Common Reliable Accounting for Network
Element (CRANE)", <draft-kzhang-crane-protocol-02.txt>, February
2002
[3] G. Sadasivan, et al., "Flow Export Architecture", <draft-
cisco-ipfix-arch-00.txt>, January 2002
[4] Carlson, James, "PPP Design, Implementation and Debugging",
Second Edition .
11. Acknowledgements
We like to thank all the people contributing to the requirements
discussion on the mailing list, and the design teams for a lot of
valuable comments.
George Carle
Tanja Zseby
Paul Calato
Dave Plonka
Kevin Zhang
KC Norseth
Benoit Claise
IPFIX Working Group Expires August 2002 [Page 22]
INTERNET-DRAFT draft-ietf-ipfix-data-00.txt Feb. 22, 2002
Ganesh Sadasivan
Vamsi Valluri
Ram Gopal
Jc Martin
Carter Bullard
Juergen Quittek
Reinaldo Penno
Nevil Brownlee
Simon Leinen
12. Author's Addresses
Benoit Claise
Cisco Systems
De Kleetlaan 6a b1
1831 Diegem
Belgium
Phone: +32 2 704 5622
Email: bclaise@cisco.com
Paul Calato
Riverstone Networks, Inc.
5200 Great America Parkway
Santa Clara, CA 95054 USA
Phone: +1 (603) 557-6913
Email: calato@riverstonenet.com
Ganesh Sadasivan
Cisco Systems, Inc.
170 W. Tasman Dr.
San Jose, CA 95134
USA
Phone: +1 (408) 527-0251
Email: gsadasiv@cisco.com
Ram Gopal
Nokia
5 Wayside Road,
Burlington, MA 01803
Phone:+1 781 993 3685
Email: ram.gopal@nokia.com
Man Li
Nokia
5 Wayside Road,
Burlington, MA 01803
Phone: +1 781 993 3923
Email: man.m.li@nokia.com
K.C. Norseth
Enterasys Networks
2691 S. Decker Lake Lane
Salt Lake City, Utah 84119
IPFIX Working Group Expires August 2002 [Page 23]
INTERNET-DRAFT draft-ietf-ipfix-data-00.txt Feb. 22, 2002
Phone: +1 801 887 9823
Email: knorseth@enterasys.com
Reinaldo Penno
Nortel Networks, Inc.
2305 Mission College Boulevard
Building SC9-B1240
Santa Clara, CA 95134
Email: rpenno@nortelnetworks.com
Juergen Quittek
NEC Europe Ltd.
Adenauerplatz 6
69115 Heidelberg
Germany
Phone: +49 6221 90511-15
EMail: quittek@ccrle.nec.de
Kevin Zhang
XACCT Technologies, Inc.
2900 Lakeside Drive
Santa Clara, CA 95054
Phone +1 301 992 4697
Email: kevin.zhang@xacct.com
Tanja Zseby
GMD FOKUS
Kaiserin-Augusta-Allee 31
10589 Berlin, Germany
Phone: +49 30 3463 7153
Email: zseby@fokus.gmd.de
13. Full Copyright Statement
"Copyright (C) The Internet Society (date). All Rights Reserved.
This document and translations of it may be copied and furnished
to others, and derivative works that comment on or otherwise
explain it or assist in its implementation may be prepared,
copied, published and distributed, in whole or in part, without
restriction of any kind, provided that the above copyright
notice and this paragraph are included on all such copies and
derivative works. However, this document itself may not be
modified in any way, such as by removing the copyright notice or
references to the Internet Society or other Internet
organizations, except as needed for the purpose of developing
Internet standards in which case the procedures for copyrights
defined in the Internet Standards process must be followed, or
as required to translate it into.
14. To Add
We should have as example of how the flow packet works. A good
IPFIX Working Group Expires August 2002 [Page 24]
INTERNET-DRAFT draft-ietf-ipfix-data-00.txt Feb. 22, 2002
example is what a NetFlow v5 packet looks like with this data
model.
IPFIX Working Group Expires August 2002 [Page 25]