Internet DRAFT - draft-irino-ipfix-ie-order
draft-irino-ipfix-ie-order
Network Working Group H. Irino
Internet-Draft NTT NS Lab.
Expires: August 28, 2008 Feb 25, 2008
Guidelines for the order of Information Elements
draft-irino-ipfix-ie-order-04
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 August 28, 2008.
Copyright Notice
Copyright (C) The IETF Trust (2008).
Irino Expires August 28, 2008 [Page 1]
Internet-Draft Order of Information Elements Feb 2008
Abstract
This draft provides guidelines for the order of Information Elements
for Templates of the IPFIX protocol. This draft would like to be
referred as supplementary document for implementations. This draft
provides the referential order for Information Elements in order to
increase efficiency of the Collecting Processes and Exporting
Processes.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Problem statement . . . . . . . . . . . . . . . . . . . . 3
1.2. Purposes of this draft . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Approach to the ordering of Information Elements . . . . . . . 5
3.1. Order of Information Element groups . . . . . . . . . . . 5
3.2. Padding . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.3. Enterprise-specific Information Elements . . . . . . . . . 7
4. Recommended order of Information Elements . . . . . . . . . . 8
5. Applications of order of Information Elements . . . . . . . . 17
5.1. Copy method for multiple adjacent Information Elements . . 17
5.2. Merging with two or more Templates . . . . . . . . . . . . 19
6. Security considerations . . . . . . . . . . . . . . . . . . . 20
7. IANA considerations . . . . . . . . . . . . . . . . . . . . . 21
8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Appendix A. Template composed with Information Elements
equivalent to the NetFlow Version 5 record . . . . . 23
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 25
Intellectual Property and Copyright Statements . . . . . . . . . . 26
Irino Expires August 28, 2008 [Page 2]
Internet-Draft Order of Information Elements Feb 2008
1. Introduction
This draft provides guidelines for the order of Information Elements
for Templates of the IPFIX protocol. This section states the problem
concerning the order and defines the purposes of this draft.
1.1. Problem statement
The IPFIX protocol provides high flexibility for exporting flow
information by Templates. On the other hand, the flexibility means
that different Templates could contain the same set of Information
Elements in different orders even though the information carried by
the Data Records based on those Templates is essentially the same.
Such a situation could introduce inefficiency into the Exporting
Process and Collecting Process.
For example, when a Mediator [IPFIX-Mediators] aggregates data
records that are based on templates containing the same set of
Information Elements placed in a different order, the Mediator must
change these orders to a unified order in order to export aggregated
data records with a unified template.
If all Exporters in a network could configure templates freely, then
network operators could avoid the above-mentioned problem by using
the same configuration for Templates for all exporters in the
network. However, there is no rule constraining all Exporters of
IPFIX to be freely configurable in terms of Template configuration.
If different Exporters that cannot configure the Template
configuration adopt a different order in the network, then there is a
high probability of the above-mentioned problem occurring with these
Exporters.
1.2. Purposes of this draft
This draft provides a unified referential order for Information
Elements to increase efficiency. Exporters have various
implementations for supported Information Elements and they have
flexibility in terms of template configuration. Therefore, if a
unified order is defined, there is no assurance that exporters will
export the same template. However, a unified order can reduce the
costs of normalizing data records.
Irino Expires August 28, 2008 [Page 3]
Internet-Draft Order of Information Elements Feb 2008
2. Terminology
The terminology used in this document is aligned with the terminology
defined in [RFC5101] and [RFC5102].
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].
Irino Expires August 28, 2008 [Page 4]
Internet-Draft Order of Information Elements Feb 2008
3. Approach to the ordering of Information Elements
This draft just defines the order among different Information
Elements. It does not define the order among the same Information
Elements. The order among the same Information Elements is
determined by logical order.
The orders of Information Elements in the Scope Fields in Option
Templates cannot be defined in this draft because the orders in Scope
Fields will have a logical meaning. Therefore, orders in Scope
Fields are outside the scope of this draft.
This draft uses the following policies to decide the order. The
first policy has the highest priority and the last one has the
lowest.
1. A unified order of Information Elements is recommended in this
draft.
2. Information Elements are placed separately according to the
Information Element groups defined in [RFC5102].
3. Information Elements derived from packet fields in groups 4-6 are
placed in the order of packet fields.
4. Information Elements are placed in the order described in
[RFC5102] in order to conform to future extensions of the
information model.
3.1. Order of Information Element groups
In this draft, the recommended order for Information Element groups,
except for the padding group defined in [RFC5102], is as follows:
1. Group 1: Identifiers
2. Group 2: Metering and Exporting Process Configuration
3. Group 6: Sub-IP Header Fields
4. Group 4: IP Header Fields
5. Group 5: Transport Header Fields
6. Group 7: Derived Packet Properties
7. Group 8: Min/Max Flow Properties
Irino Expires August 28, 2008 [Page 5]
Internet-Draft Order of Information Elements Feb 2008
8. Group 11: Miscellaneous Flow Properties
9. Group 9: Flow Time Stamps
10. Group 3: Metering and Exporting Process Statistics
11. Group 10: Per-Flow Counters
Some of the Information Elements in group 1 are used to limit the
Scopes, as described in section 5.1 of [RFC5102]. Scope Fields are
placed earlier than non-Scope Fields. Therefore, group 1 is the
earliest in the order.
Some of the Information Elements in group 2 could be used to limit
scopes. For example, exporterIPv4Address or exporterIPv6Address
could be used instead of exporterProcessId as the Scope in the
Exporting Process Reliability Statistics Option Template described in
section 4.3 of [RFC5101]. Therefore, group 2 follows group 1.
Information Elements in groups 4-7 can serve as Flow Keys used for
mapping packets to Flows, as described in section 5 of [RFC5102].
According to [RFC5102], all Flow Keys are among the first 64
Information Elements because the flowKeyIndicator contains only 64
bits. Therefore, Information Elements in groups 4-7 should be placed
earlier than ones in other groups.
Most of the Information Elements in groups 4, 5, and 6 are derived
from the header fields of observed packets. On the other hand,
Information Elements in group 7 are not derived from packet header
fields, but from packet treatment. In general, sub-IP header fields
are placed at the head of the observed packet, IP header fields
follow the sub-IP header, and transport header fields follow the IP
header fields. Therefore, the order of groups is 6, 4, and 5. And
group 7 follows afterward.
Other groups can be classified into three categories. Information
Elements in groups 8 and 11 provide other flow properties.
Information Elements in group 9 provide timestamps. Information
Elements in groups 3 and 10 provide counters for various purposes.
These groups have no priority for group order based on the
definitions in the protocol draft. However, the above-mentioned
group order is expediently provided in this draft to achieve the
purpose of this draft.
3.2. Padding
The Information Element, paddingOctets, can be placed freely to align
Information Elements within Data Records or to align entire Data
Irino Expires August 28, 2008 [Page 6]
Internet-Draft Order of Information Elements Feb 2008
Records to 4-octet or 8-octet boundaries.
3.3. Enterprise-specific Information Elements
This draft recommends that enterprise-specific Information Elements
derived from packet header fields, like IETF-defined Information
Elements in groups 4, 5, and 6, are placed in the order of packet
header fields. For example, if the enterprise-specific Information
Elements derived from the header fields of protocols of layers higher
than the transport protocol (e.g., RTP ssrc), these Information
Elements follow after group 5 (transport header fields).
This draft recommends that enterprise-specific Information Elements
that do not serve as Flow Keys are placed after similar IETF-defined
groups.
Irino Expires August 28, 2008 [Page 7]
Internet-Draft Order of Information Elements Feb 2008
4. Recommended order of Information Elements
This draft recommends that Information Elements in groups 4, 5, and 6
are placed in an order that corresponds to the order of packet header
fields. Information Elements that are not contained in a packet
header follow the set of Information Elements derived from packet
header fields.
However, Information Elements derived from fields of an IPv4 header,
Information Elements derived from fields of an IPv6 header,
Information Elements derived from fields of the headers of both
protocols, and Information Elements that are not contained in a
packet header are mixed in group 4. The recommended order cannot be
the same as the order of packet fields because some IPv4 header
fields and some IPv6 header fields are the same, and these fields are
placed in a different order. Therefore, the recommended order of
Information Elements refers mainly to the order of IPv4 header
fields.
This draft recommends that the order of Information Elements in
groups 1-3 and 7-12 should be the same as the order described in
[RFC5102].
Specifically, the recommended order is as follows:
1. Group 1
1. 141: lineCardId
2. 142: portId
3. 10: ingressInterface
4. 14: egressInterface
5. 143: meteringProcessId
6. 144: exportingProcessId
7. 145: templateId
8. 148: flowId
9. 149: observationDomainId
10. 138: observationPointId
Irino Expires August 28, 2008 [Page 8]
Internet-Draft Order of Information Elements Feb 2008
11. 137: commonPropertiesId
2. Group 2
1. 130: exporterIPv4Address
2. 131: exporterIPv6Address
3. 217: exporterTransportPort
4. 211: collectorIPv4Address
5. 212: collectorIPv6Address
6. 213: collectorInterface
7. 214: collectorProtocolVersion
8. 215: collectorTransportProtocol
9. 216: collectorTransportPort
10. 173: flowKeyIndicator
3. Group 6
1. 56: sourceMacAddress
2. 81: postSourceMacAddress
3. 80: destinationMacAddress
4. 57: postDestinationMacAddress
5. 58: vlanId
6. 59: postVlanId
7. 147: wlanSSID
8. 146: wlanChannelId
9. 70: mplsTopLabelStackSection
10. 203: mplsTopLabelExp
11. 237: postMplsTopLabelExp
Irino Expires August 28, 2008 [Page 9]
Internet-Draft Order of Information Elements Feb 2008
12. 200: mplsTopLabelTTL
13. 71: mplsLabelStackSection2
14. 72: mplsLabelStackSection3
15. 73: mplsLabelStackSection4
16. 74: mplsLabelStackSection5
17. 75: mplsLabelStackSection6
18. 76: mplsLabelStackSection7
19. 77: mplsLabelStackSection8
20. 78: mplsLabelStackSection9
21. 79: mplsLabelStackSection10
22. 202: mplsLabelStackDepth
23. 201: mplsLabelStackLength
24. 194: mplsPayloadLength
4. Group 4
1. 60: ipVersion
2. 207: ipv4IHL
3. 189: ipHeaderLength
4. 5: ipClassOfService
5. 55: postIpClassOfService
6. 195: ipDiffServCodePoint
7. 196: ipPrecedence
8. 31: flowLabelIPv6
9. 190: totalLengthIPv4
10. 224: ipTotalLength
Irino Expires August 28, 2008 [Page 10]
Internet-Draft Order of Information Elements Feb 2008
11. 191: payloadLengthIPv6
12. 54: fragmentIdentification
13. 197: fragmentFlags
14. 88: fragmentOffset
15. 192: ipTTL
16. 4: protocolIdentifier
17. 193: nextHeaderIPv6
18. 8: sourceIPv4Address
19. 12: destinationIPv4Address
20. 27: sourceIPv6Address
21. 28: destinationIPv6Address
22. 9: sourceIPv4PrefixLength
23. 29: sourceIPv6PrefixLength
24. 44: sourceIPv4Prefix
25. 170: sourceIPv6Prefix
26. 13: destinationIPv4PrefixLength
27. 30: destinationIPv6PrefixLength
28. 45: destinationIPv4Prefix
29. 169: destinationIPv6Prefix
30. 206: isMulticast
5. Group 5
1. 7: sourceTransportPort
2. 180: udpSourcePort
3. 182: tcpSourcePort
Irino Expires August 28, 2008 [Page 11]
Internet-Draft Order of Information Elements Feb 2008
4. 11: destinationTransportPort
5. 181: udpDestinationPort
6. 183: tcpDestinationPort
7. 205: udpMessageLength
8. 184: tcpSequenceNumber
9. 185: tcpAcknowledgementNumber
10. 186: tcpWindowSize
11. 238: tcpWindowScale
12. 187: tcpUrgentPointer
13. 188: tcpHeaderLength
14. 32: icmpTypeCodeIPv4
15. 176: icmpTypeIPv4
16. 177: icmpCodeIPv4
17. 139: icmpTypeCodeIPv6
18. 178: icmpTypeIPv6
19. 179: icmpCodeIPv6
20. 33: igmpType
6. Group 7
1. 204: ipPayloadLength
2. 15: ipNextHopIPv4Address
3. 62: ipNextHopIPv6Address
4. 16: bgpSourceAsNumber
5. 17: bgpDestinationAsNumber
6. 128: bgpNextAdjacentAsNumber
Irino Expires August 28, 2008 [Page 12]
Internet-Draft Order of Information Elements Feb 2008
7. 129: bgpPrevAdjacentAsNumber
8. 18: bgpNextHopIPv4Address
9. 63: bgpNextHopIPv6Address
10. 46: mplsTopLabelType
11. 47: mplsTopLabelIPv4Address
12. 140: mplsTopLabelIPv6Address
13. 90: mplsVpnRouteDistinguisher
7. Group 8
1. 25: minimumIpTotalLength
2. 26: maximumIpTotalLength
3. 52: minimumTTL
4. 53: maximumTTL
5. 208: ipv4Options
6. 64: ipv6ExtensionHeaders
7. 6: tcpControlBits
8. 209: tcpOptions
8. Group 11
1. 36: flowActiveTimeout
2. 37: flowIdleTimeout
3. 136: flowEndReason
4. 161: flowDurationMilliseconds
5. 162: flowDurationMicroseconds
6. 61: flowDirection
Irino Expires August 28, 2008 [Page 13]
Internet-Draft Order of Information Elements Feb 2008
9. Group 9
1. 150: flowStartSeconds
2. 151: flowEndSeconds
3. 152: flowStartMilliseconds
4. 153: flowEndMilliseconds
5. 154: flowStartMicroseconds
6. 155: flowEndMicroseconds
7. 156: flowStartNanoseconds
8. 157: flowEndNanoseconds
9. 158: flowStartDeltaMicroseconds
10. 159: flowEndDeltaMicroseconds
11. 160: systemInitTimeMilliseconds
12. 22: flowStartSysUpTime
13. 21: flowEndSysUpTime
10. Group 3
1. 41: exportedMessageTotalCount
2. 40: exportedOctetTotalCount
3. 42: exportedFlowRecordTotalCount
4. 163: observedFlowTotalCount
5. 164: ignoredPacketTotalCount
6. 165: ignoredOctetTotalCount
7. 166: notSentFlowTotalCount
8. 167: notSentPacketTotalCount
9. 168: notSentOctetTotalCount
Irino Expires August 28, 2008 [Page 14]
Internet-Draft Order of Information Elements Feb 2008
11. Group 10
1. 1: octetDeltaCount
2. 23: postOctetDeltaCount
3. 198: octetDeltaSumOfSquares
4. 85: octetTotalCount
5. 171: postOctetTotalCount
6. 199: octetTotalSumOfSquares
7. 2: packetDeltaCount
8. 24: postPacketDeltaCount
9. 86: packetTotalCount
10. 172: postPacketTotalCount
11. 132: droppedOctetDeltaCount
12. 133: droppedPacketDeltaCount
13. 134: droppedOctetTotalCount
14. 135: droppedPacketTotalCount
15. 19: postMCastPacketDeltaCount
16. 20: postMCastOctetDeltaCount
17. 174: postMCastPacketTotalCount
18. 175: postMCastOctetTotalCount
19. 218: tcpSynTotalCount
20. 219: tcpFinTotalCount
21. 220: tcpRstTotalCount
22. 221: tcpPshTotalCount
23. 222: tcpAckTotalCount
Irino Expires August 28, 2008 [Page 15]
Internet-Draft Order of Information Elements Feb 2008
24. 223: tcpUrgTotalCount
Irino Expires August 28, 2008 [Page 16]
Internet-Draft Order of Information Elements Feb 2008
5. Applications of order of Information Elements
When the order of Information Elements is different, these elements
have to be rearranged almost invariably, even if information in the
copy source and copy destination are essentially the same. On the
other hand, rearrangement will not be performed when the order of
Information Elements is the same. Information is copied from
observed packets to an internal Flow Record database (cache) in the
Metering Process, from Flow Records in an internal Flow Record
database to IPFIX Flow Records in the Exporting Process, and from
IPFIX Flow Record to various types of data storage in the Collecting
Process. IPFIX processes have to copy data for different reasons.
Therefore, the efficiency improvement of the copy becomes the
efficiency improvement of the IPFIX processing, and reducing the
number of rearrangements improves efficiency by reducing the number
of copies.
This section describes an example of effective usage of the
processing method using the order of Information Elements mentioned
above.
5.1. Copy method for multiple adjacent Information Elements
Values of Information Elements are copied in the Exporting Process
from the internal Flow Record database to IPFIX Data Records. When
the Collecting Process has to store collected Data Records in various
types of data storage, copies are performed in the Collecting
Process.
Reducing the number of copies increases the performance of these
processes. If the values of multiple Information Elements can be
copied at a time, number of copies is reduced. In the environment in
which each process uses a standard order, the method of copying
multiple adjacent Information Elements is achieved in the specified
order when the following conditions are satisfied.
Data length: The data length of multiple Information Elements in a
copy source and copy destination are the same.
Most Information Elements, whose values are derived from observed
packet header fields, have a fixed length without the reduced size
encoding.
Byte-order: The byte-order of data of multiple Information Elements
in the copy source and copy destination are the same.
When IPFIX devices have a big-endian architecture or data are
coded according to the network byte order, this condition can be
Irino Expires August 28, 2008 [Page 17]
Internet-Draft Order of Information Elements Feb 2008
satisfied easily. On the other hand, when IPFIX devices have a
little-endian architecture, the situations satisfying this
condition are restricted a little.
The Exporting Process can often satisfy this condition because
observed packets are coded according to the network byte order and
exported IPFIX messages are also coded according to the network
byte order. Characteristic properties of Flows are not needed to
convert the byte order even if the processor architecture of
Exporters is not the big-endian architecture.
If the Collecting Process is running on little-endian architecture
and using data coded according to the host byte order, satisfying
this condition on some Information Elements is difficult. On the
other hand, storing values coded according to the network byte
order is better than storing values according to the host byte
order on some Information Elements whose values could be converted
by POSIX functions related to DNS (e.g. inet_ntop).
In addition, although the data structure of Flow Records in an
internal Flow Record database is independents of the order of
Information Elements in Templates, the data structure makes the
comparison between observed packets and Flow Records efficient in the
Metering Process, when the data structure of Flow Records in an
internal Flow Record database is the same as that of packet headers.
The Metering Process has to be repeated to compare incoming packets
to Data Records in an internal Flow Record database to maintain that
database. Exporters that support all Information Elements in
[RFC5102] have to be able to store all fields in packet headers into
their database. It is reasonable that these Exporters adopt the data
structure that is the same as that of packet headers. If multiple
fields that are served as Flow Keys can be compared at a time, a
Metering Process comparing multiple fields at a time will work faster
than a Metering Process comparing a single field at a time.
This draft proposes the orders of packet header fields as criteria
for defining order. If only the data structure of an internal Flow
Record database in Exporter is the same as the data structure of
protocol headers (e.g., IPv4 header, TCP header) in packets, this
proposal enables a method for copying multiple Information Elements
and a method for comparing multiple Information Elements. A
comparison method for multiple Information Elements is achieved by
the following 2 steps:
1. Data masking
2. Comparing memory areas of arbitrary length like the memcmp
function in libc.
Irino Expires August 28, 2008 [Page 18]
Internet-Draft Order of Information Elements Feb 2008
5.2. Merging with two or more Templates
When two or more Templates are merged into a single Template or
single data structure, having the same order is better. That is
because the number of rearrangements of Information Elements can be
minimized. These are example cases:
Mediator exports single IPFIX Messages that are aggregated with
multiple IPFIX messages exported from multiple Exporters.
Collector normalizes Data Records to store them by their
proprietary data structure.
Irino Expires August 28, 2008 [Page 19]
Internet-Draft Order of Information Elements Feb 2008
6. Security considerations
This draft does not directly relate to or introduce any security
issues. The same security considerations as for the IPFIX
Information Model [RFC5102] apply.
Irino Expires August 28, 2008 [Page 20]
Internet-Draft Order of Information Elements Feb 2008
7. IANA considerations
This document has no actions for IANA.
Irino Expires August 28, 2008 [Page 21]
Internet-Draft Order of Information Elements Feb 2008
8. References
[IPFIX-Mediators]
Kobayashi, A., Ishibashi, K., Kondoh, T., and D.
Matsubara, "Reference Model for IPFIX Mediators,
draft-kobayashi-ipfix-mediator-model-01.txt, work in
progress", November 2007.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels, BCP 14, RFC 2119", March 1997.
[RFC5101] Claise, B., "Specification of the IPFIX Protocol for the
Exchange of IP Traffic Flow Information, RFC5101",
January 2008.
[RFC5102] Quittek, J., Bryant, S., Claise, B., Aitken, P., and J.
Meyer, "Information Model for IP Flow Information Export,
RFC5102", January 2008.
Irino Expires August 28, 2008 [Page 22]
Internet-Draft Order of Information Elements Feb 2008
Appendix A. Template composed with Information Elements equivalent to
the NetFlow Version 5 record
This section describes an example of an application of the above-
mentioned order through the building of a Template that has
Information Elements equivalent to fields of the NetFlow Version 5
record.
Irino Expires August 28, 2008 [Page 23]
Internet-Draft Order of Information Elements Feb 2008
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| FlowSet ID = 2 | Length = 48 bytes |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Any Template Number | Field Count = 19 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ingressInterface(10) | 2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| egressInterface(14) | 2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ipClassOfService(5) | 1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| protocolIdentifier(4) | 1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| sourceIPv4Address(8) | 4 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| destinationIPv4Address(12) | 4 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| sourceIPv4PrefixLength(9) | 1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|destinationIPv4PrefixLength(13)| 1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| sourceTransportPort(7) | 2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| destinationTransportPort(11) | 2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ipNextHopIPv4Address(15) | 4 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| bgpSourceAsNumber(16) | 2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| bgpDestinationAsNumber(17) | 2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| tcpControlBits(6) | 1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| paddingOctets(210) | 3 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| flowStartSysUpTime(22) | 4 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| flowEndSysUpTime(21) | 4 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| octetDeltaCount(1) | 4 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| packetDeltaCount(2) | 4 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: Template Record equivalent of the NetFlow Version 5 record
Irino Expires August 28, 2008 [Page 24]
Internet-Draft Order of Information Elements Feb 2008
Author's Address
Hitoshi Irino
NTT Network Service Systems Laboratories
9-11, Midori-Cho 3-Chome
Musashino-Shi, Tokyo 180-8585
Japan
Phone: +81 422 59 4403
Email: irino.hitoshi@lab.ntt.co.jp
Irino Expires August 28, 2008 [Page 25]
Internet-Draft Order of Information Elements Feb 2008
Full Copyright Statement
Copyright (C) The IETF Trust (2008).
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.
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, THE IETF TRUST 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.
Intellectual Property
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.
Acknowledgment
Funding for the RFC Editor function is provided by the IETF
Administrative Support Activity (IASA).
Irino Expires August 28, 2008 [Page 26]