draft-ietf-opsawg-ipfix-bgp-community-06.txt   draft-ietf-opsawg-ipfix-bgp-community-07.txt 
opsawg Z. Li opsawg Z. Li
Internet-Draft R. Gu Internet-Draft R. Gu
Intended status: Standards Track China Mobile Intended status: Standards Track China Mobile
Expires: September 23, 2018 J. Dong Expires: November 13, 2018 J. Dong
Huawei Technologies Huawei Technologies
March 22, 2018 May 12, 2018
Export BGP community information in IP Flow Information Export (IPFIX) Export BGP community information in IP Flow Information Export (IPFIX)
draft-ietf-opsawg-ipfix-bgp-community-06 draft-ietf-opsawg-ipfix-bgp-community-07
Abstract Abstract
This draft introduces several information elements (IEs) to enable By introducing new Information Elements (IEs), this draft extends the
IPFIX [RFC7011] to export the BGP community information, including existing BGP related IEs to enable IPFIX [RFC7011] to export the BGP
the information of BGP standard community [RFC1997], BGP extended community information, including the information of BGP standard
community [RFC4360], and BGP large community [RFC8092]. Network community [RFC1997], BGP extended community [RFC4360], and BGP large
traffic information can then be accumulated and analysed at the BGP community [RFC8092]. Network traffic information can then be
community granularity, which represents the traffic of different accumulated and analysed at the BGP community granularity, which
kinds of customers, services, or geographical regions according to represents the traffic of different kinds of customers, services, or
the network operator's BGP community planning. Network traffic geographical regions according to the network operator's BGP
information at the BGP community granularity is useful for network community planning. Network traffic information at the BGP community
traffic analysis and engineering. granularity is useful for network traffic analysis and engineering.
To clarify, no new BGP community attribute is defined in this To clarify, no new BGP community attribute is defined in this
document and this document has no purpose to replace BGP Monitoring document and this document has no purpose to replace BGP Monitoring
Protocol (BMP) defined in RFC7854. The IEs introduced in this Protocol (BMP) defined in RFC7854. The IEs introduced in this
document are used by IPFIX together with other IEs to facilitate the document are used by IPFIX together with other IEs to facilitate the
IPFIX collector analyzing the network traffic at the BGP community IPFIX collector analyzing the network traffic at the BGP community
granularity without running the heavy BGP protocol. granularity without running the heavy BGP protocol. When needed, the
mediator or collector can use the IEs introduced in this document to
report the BGP community related traffic flow information it gets
either from exporters or through local correlation to other IPFIX
devices.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on September 23, 2018. This Internet-Draft will expire on November 13, 2018.
Copyright Notice Copyright Notice
Copyright (c) 2018 IETF Trust and the persons identified as the Copyright (c) 2018 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 25 skipping to change at page 2, line 29
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5
3. BGP Community based Traffic Collection . . . . . . . . . . . 5 3. BGP Community based Traffic Collection . . . . . . . . . . . 5
4. IEs for BGP Standard Community . . . . . . . . . . . . . . . 6 4. IEs for BGP Standard Community . . . . . . . . . . . . . . . 7
4.1. bgpCommunity . . . . . . . . . . . . . . . . . . . . . . 7 4.1. bgpCommunity . . . . . . . . . . . . . . . . . . . . . . 7
4.2. bgpSourceCommunityList . . . . . . . . . . . . . . . . . 7 4.2. bgpSourceCommunityList . . . . . . . . . . . . . . . . . 7
4.3. bgpDestinationCommunityList . . . . . . . . . . . . . . . 8 4.3. bgpDestinationCommunityList . . . . . . . . . . . . . . . 8
5. IEs for BGP Extended Community . . . . . . . . . . . . . . . 8 5. IEs for BGP Extended Community . . . . . . . . . . . . . . . 8
5.1. bgpExtendedCommunity . . . . . . . . . . . . . . . . . . 8 5.1. bgpExtendedCommunity . . . . . . . . . . . . . . . . . . 9
5.2. bgpSourceExtendedCommunityList . . . . . . . . . . . . . 9 5.2. bgpSourceExtendedCommunityList . . . . . . . . . . . . . 9
5.3. bgpDestinationExtendedCommunityList . . . . . . . . . . . 9 5.3. bgpDestinationExtendedCommunityList . . . . . . . . . . . 10
6. IEs for BGP Large Community . . . . . . . . . . . . . . . . . 10 6. IEs for BGP Large Community . . . . . . . . . . . . . . . . . 10
6.1. bgpLargeCommunity . . . . . . . . . . . . . . . . . . . . 10 6.1. bgpLargeCommunity . . . . . . . . . . . . . . . . . . . . 11
6.2. bgpSourceLargeCommunityList . . . . . . . . . . . . . . . 11 6.2. bgpSourceLargeCommunityList . . . . . . . . . . . . . . . 11
6.3. bgpDestinationLargeCommunityList . . . . . . . . . . . . 11 6.3. bgpDestinationLargeCommunityList . . . . . . . . . . . . 12
7. Operational Considerations . . . . . . . . . . . . . . . . . 12 7. Operational Considerations . . . . . . . . . . . . . . . . . 12
8. Security Considerations . . . . . . . . . . . . . . . . . . . 13 8. Security Considerations . . . . . . . . . . . . . . . . . . . 13
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14
10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 15 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 16
11. References . . . . . . . . . . . . . . . . . . . . . . . . . 15 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 16
11.1. Normative References . . . . . . . . . . . . . . . . . . 15 11.1. Normative References . . . . . . . . . . . . . . . . . . 16
11.2. Informative References . . . . . . . . . . . . . . . . . 16 11.2. Informative References . . . . . . . . . . . . . . . . . 16
Appendix A. Encoding Example . . . . . . . . . . . . . . . . . . 17 Appendix A. Encoding Example . . . . . . . . . . . . . . . . . . 18
A.1. Template Record . . . . . . . . . . . . . . . . . . . . . 18 A.1. Template Record . . . . . . . . . . . . . . . . . . . . . 18
A.2. Data Set . . . . . . . . . . . . . . . . . . . . . . . . 18 A.2. Data Set . . . . . . . . . . . . . . . . . . . . . . . . 19
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 20 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 20
1. Introduction 1. Introduction
IP Flow Information Export (IPFIX) [RFC7011] provides network IP Flow Information Export (IPFIX) [RFC7011] provides network
administrators with traffic flow information using the information administrators with traffic flow information using the Information
elements (IEs) defined in [IANA-IPFIX] registries. Based on the Elements (IEs) defined in [IANA-IPFIX] registries. Based on the
traffic flow information, network administrators know the amount and traffic flow information, network administrators know the amount and
direction of the traffic in their network, then they can optimize direction of the traffic in their network, then they can optimize
their network when needed. For example, they can shift some flows their network when needed. For example, they can shift some flows
from the congested links to the low utilized links through a SDN from the congested links to the low utilized links through a SDN
controller or PCE [RFC4655]. controller or PCE [RFC4655].
[IANA-IPFIX] has already defined the following IEs for traffic flow [IANA-IPFIX] has already defined the following IEs for traffic flow
information exporting in different granularities: sourceIPv4Address, information exporting in different granularities: sourceIPv4Address,
sourceIPv4Prefix, destinationIPv4Address, destinationIPv4Prefix, sourceIPv4Prefix, destinationIPv4Address, destinationIPv4Prefix,
bgpSourceAsNumber, bgpDestinationAsNumber, bgpNextHopIPv4Address, bgpSourceAsNumber, bgpDestinationAsNumber, bgpNextHopIPv4Address,
skipping to change at page 3, line 32 skipping to change at page 3, line 32
operators' backbone networks, traffic flow information based on these operators' backbone networks, traffic flow information based on these
IEs may not be suitable. Flow information based on IP address or IP IEs may not be suitable. Flow information based on IP address or IP
prefix may provide much too fine granularity for a large network. On prefix may provide much too fine granularity for a large network. On
the contrary, flow information based on AS number may be too coarse. the contrary, flow information based on AS number may be too coarse.
BGP community is a BGP path attribute defined in IDR (Inter Domain BGP community is a BGP path attribute defined in IDR (Inter Domain
Routing) working group. The already defined BGP community attribute Routing) working group. The already defined BGP community attribute
includes the standard community defined in [RFC1997], the extended includes the standard community defined in [RFC1997], the extended
community defined in [RFC4360], and the large community defined in community defined in [RFC4360], and the large community defined in
[RFC8092]. BGP community attribute has a variety of use cases, one [RFC8092]. BGP community attribute has a variety of use cases, one
common practice of which for the operators is to use BGP community practice of which is to use BGP community with planned specific
with planned specific values in their field networks to represent the values to represent the groups of customers, services, geographical
groups of customers, services, geographical and topological regions. and topological regions, which is used by a lot of operators in their
Please refer to [RFC4384], [RFC8195] and Section 3 of this document field networks. Please refer to [RFC4384], [RFC8195] and Section 3
for the detailed examples. To know the traffic generated by differnt of this document for the detailed examples. To know the traffic
kinds of customers, from differnt geographical or topological generated by differnt kinds of customers, from differnt geographical
regions, by differnt kinds of customers in differnt regions, we need or topological regions, by differnt kinds of customers in differnt
the corresponding community information related to the traffic flow regions, we need the corresponding community information related to
exported by IPFIX. Netwok traffic statistic at the BGP community the traffic flow exported by IPFIX. Netwok traffic statistic at the
granularity is useful not only for the traffic analyzing, but also BGP community granularity is useful not only for the traffic
can then be used by other applications, such as the traffic analyzing, but also can then be used by other applications, such as
optimization applications located in IPFIX collector, SDN controller the traffic optimization applications located in IPFIX collector, SDN
or PCE. [Community-TE] also states analyzing network traffic controller or PCE. [Community-TE] also states analyzing network
information at the BGP community granularity is prefered for inbound traffic information at the BGP community granularity is prefered for
traffic engineering. However, there is no IE defined for BGP inbound traffic engineering. However, there is no IE defined for BGP
community attribute in [IANA-IPFIX] yet. community attribute in [IANA-IPFIX] yet.
Flow information based on BGP community may be collected by a Flow information based on BGP community may be collected by a
mediator defined in [RFC6183]. Mediator is responsible for the mediator defined in [RFC6183]. Mediator is responsible for the
correlation between flow information and BGP community. However no correlation between flow information and BGP community. However no
IEs are defined in [RFC6183] for exporting BGP community information IEs are defined in [RFC6183] for exporting BGP community information
in IPFIX. Furthermore, to correlate the BGP community with the flow in IPFIX. Furthermore, to correlate the BGP community with the flow
information, mediator needs to learn BGP routes and perform lookup in information, mediator needs to learn BGP routes and perform lookup in
the BGP routing table to get the matching entry for a specific flow. the BGP routing table to get the matching entry for a specific flow.
Neither BGP route learning nor routing table lookup is trivial for a Neither BGP route learning nor routing table lookup is trivial for a
mediator. Mediator is mainly introduced to release the performance mediator. Mediator is mainly introduced to release the performance
requirement for the exporter [RFC5982]. In fact, to obtain the requirement for the exporter [RFC5982]. In fact, to obtain the
information for BGP related IEs that have already been defined, such information for the already defined BGP related IEs, such as
as bgpSourceAsNumber, bgpDestinationAsNumber, and bgpSourceAsNumber, bgpDestinationAsNumber, and bgpNextHopIPv4Address,
bgpNextHopIPv4Address, etc, exporter has to hold the up-to-date BGP etc, the exporter has to hold the up-to-date BGP routing table and
routing table and perform lookup in the BGP routing table. The perform lookup in the BGP routing table. The exporter can obtain the
exporter can obtain the BGP community information in the same BGP community information in the same procedure, thus the additional
procedure, thus exporting BGP community information adds no more load added by exporting BGP community information is minimal if the
requirement for exporter. It is RECOMMENDED that the BGP community exporter is already exporting the existing BGP related IEs. It is
information be exported by the exporter directly using IPFIX. RECOMMENDED that the BGP community information be exported by the
exporter directly using IPFIX.
Through running BGP [RFC4271] or BMP [RFC7854] and performing lookup Through running BGP [RFC4271] or BMP [RFC7854] and performing lookup
in the BGP routing table to get the matching entry for a specific in the BGP routing table to get the matching entry for a specific
flow (we call it correlation), IPFIX collectors and other flow (we call it correlation), IPFIX collectors and other
applications, such as SDN controller or PCE, can figure up the applications, such as SDN controller or PCE, can figure up the
network traffic at the BGP community granularity. However, neither network traffic at the BGP community granularity. However, neither
running BGP or BMP protocol nor routing table lookup is trivial for running BGP or BMP protocol nor routing table lookup is trivial for
the IPFIX collectors and other applications. Moreover correlation the IPFIX collectors and other applications. Moreover correlation
between IPFIX flow information and the BGP RIB on the exporter (such between IPFIX flow information and the BGP RIB on the exporter (such
as router) is more accurate, compared to the correlation on a as router) is more accurate, compared to the correlation on a
skipping to change at page 4, line 41 skipping to change at page 4, line 42
information in the same procedure when it obtains other BGP related information in the same procedure when it obtains other BGP related
informaiton. So exporting the BGP community information directly by informaiton. So exporting the BGP community information directly by
the exporter to the collector is the efficient and accurate way. If the exporter to the collector is the efficient and accurate way. If
the IPFIX collectors and other applications only want to figure up the IPFIX collectors and other applications only want to figure up
the network traffic at the BGP community granularity, they do not the network traffic at the BGP community granularity, they do not
need to run the heavy BGP or BMP protocol when the BGP community need to run the heavy BGP or BMP protocol when the BGP community
information can be obtained by IPFIX. However, we have to clarify, information can be obtained by IPFIX. However, we have to clarify,
the BMP protocol has its own application scenario, the mechanisum the BMP protocol has its own application scenario, the mechanisum
introduced in this document has no purpose to replace it. introduced in this document has no purpose to replace it.
This draft introduces new IEs to enable IPFIX [RFC7011] to export the By introducing new IEs, this draft extends the existing BGP related
BGP community information, including BGP standard community defined IEs to enable IPFIX [RFC7011] to export the BGP community
in [RFC1997], BGP extended community defined in [RFC4360], and BGP information, including BGP standard community defined in [RFC1997],
large community defined in [RFC8092]. Flow information, including BGP extended community defined in [RFC4360], and BGP large community
packetDeltaCount, octetDeltaCount [RFC7012] etc, can then be defined in [RFC8092]. Flow information, including packetDeltaCount,
accumulated and analysed by the collector or other applications, such octetDeltaCount [RFC7012] etc, can then be accumulated and analysed
as SDN controller or PCE [RFC4655], at the BGP community granularity, by the collector or other applications, such as SDN controller or PCE
which is useful for knowing the traffic generted by different kinds [RFC4655], at the BGP community granularity, which is useful for
of customers, from differnt geographical or topological regions knowing the traffic generted by different kinds of customers, from
according to the operator's BGP community plan, and can then be used differnt geographical or topological regions according to the
by the traffic engineering or traffic optimization applications, operator's BGP community plan, and can then be used by the traffic
especially in the backbone network. To clarify, no new BGP community engineering or traffic optimization applications, especially in the
attribute is defined in this document, IDR (Inter Domain Routing) backbone network.
working group is the right place to define new community attributes
for the BGP protocol.
The IEs introduced in this document are applicable for both IPv4 and The IEs introduced in this document are applicable for both IPv4 and
IPv6 traffic. Both exporter and mediator can use these IEs to export IPv6 traffic. Both the exporter and the mediator can use these IEs
BGP community information in IPFIX. to export BGP community information in IPFIX. When needed, the
mediator or collector can use these IEs to report the BGP community
related traffic flow information it gets either from exporters or
through local correlation to other IPFIX devices.
To clarify, no new BGP community attribute is defined in this
document, IDR (Inter Domain Routing) working group is the right place
to define new community attributes for the BGP protocol.
Note that this document does not update the IPFIX specification Note that this document does not update the IPFIX specification
[RFC7011] and the Information Model [RFC7012] because IANA's IPFIX [RFC7011] and the Information Model [RFC7012] because IANA's IPFIX
registry [IANA-IPFIX] is the ultimate Information Element reference, registry [IANA-IPFIX] is the ultimate Information Element reference,
per Section 1 of [RFC7012]. per Section 1 of [RFC7012].
Please refer [IANA-IPFIX] for the whole list of the already defined
BGP related IEs.
Please refer Appendix A for the encoding example and Section 3 for a Please refer Appendix A for the encoding example and Section 3 for a
detailed use case. detailed use case.
2. Terminology 2. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119]. document are to be interpreted as described in [RFC2119].
3. BGP Community based Traffic Collection 3. BGP Community based Traffic Collection
skipping to change at page 9, line 14 skipping to change at page 9, line 24
---------------------------------------------------------------------- ----------------------------------------------------------------------
| ElementID | to be assigned by IANA | | ElementID | to be assigned by IANA |
|--------------------------------------------------------------------| |--------------------------------------------------------------------|
| Name | bgpExtendedCommunity | | Name | bgpExtendedCommunity |
|--------------------------------------------------------------------| |--------------------------------------------------------------------|
| Data Type | octetArray | | Data Type | octetArray |
|--------------------------------------------------------------------| |--------------------------------------------------------------------|
| Data Type Semantics | default | | Data Type Semantics | default |
|--------------------------------------------------------------------| |--------------------------------------------------------------------|
| |BGP Extended Community as defined in [RFC4360]| | |BGP Extended Community as defined in [RFC4360]|
| Description |The size of this Information Element is 8 | | Description |The size of this Information Element MUST be 8|
| |octets. | | |octets. |
|--------------------------------------------------------------------| |--------------------------------------------------------------------|
| Units | none | | Units | none |
|--------------------------------------------------------------------| |--------------------------------------------------------------------|
Figure 5: bgpExtendedCommunity Figure 5: bgpExtendedCommunity
5.2. bgpSourceExtendedCommunityList 5.2. bgpSourceExtendedCommunityList
---------------------------------------------------------------------- ----------------------------------------------------------------------
| ElementID | to be assigned by IANA | | ElementID | to be assigned by IANA |
|--------------------------------------------------------------------| |--------------------------------------------------------------------|
| Name | bgpSourceExtendedCommunityList | | Name | bgpSourceExtendedCommunityList |
|--------------------------------------------------------------------| |--------------------------------------------------------------------|
| Data Type | basicList, as specified in [RFC6313] | | Data Type | basicList, as specified in [RFC6313] |
|--------------------------------------------------------------------| |--------------------------------------------------------------------|
| Data Type Semantics | list | | Data Type Semantics | list |
|--------------------------------------------------------------------| |--------------------------------------------------------------------|
| | zero or more BGP Extended Communities | | | zero or more BGP Extended Communities |
skipping to change at page 11, line 14 skipping to change at page 11, line 29
---------------------------------------------------------------------- ----------------------------------------------------------------------
| ElementID | to be assigned by IANA | | ElementID | to be assigned by IANA |
|--------------------------------------------------------------------| |--------------------------------------------------------------------|
| Name | bgpLargeCommunity | | Name | bgpLargeCommunity |
|--------------------------------------------------------------------| |--------------------------------------------------------------------|
| Data Type | octetArray | | Data Type | octetArray |
|--------------------------------------------------------------------| |--------------------------------------------------------------------|
| Data Type Semantics | default | | Data Type Semantics | default |
|--------------------------------------------------------------------| |--------------------------------------------------------------------|
| | BGP Large Community as defined in [RFC8092] | | | BGP Large Community as defined in [RFC8092] |
| Description | The size of this Information Element is 12 | | Description | The size of this Information Element MUST be |
| | octets. | | | 12 octets. |
|--------------------------------------------------------------------| |--------------------------------------------------------------------|
| Units | none | | Units | none |
|--------------------------------------------------------------------- |---------------------------------------------------------------------
Figure 8: bgpLargeCommunity Figure 8: bgpLargeCommunity
6.2. bgpSourceLargeCommunityList 6.2. bgpSourceLargeCommunityList
---------------------------------------------------------------------- ----------------------------------------------------------------------
| ElementID | to be assigned by IANA | | ElementID | to be assigned by IANA |
|--------------------------------------------------------------------| |--------------------------------------------------------------------|
| Name | bgpSourceLargeCommunityList | | Name | bgpSourceLargeCommunityList |
|--------------------------------------------------------------------| |--------------------------------------------------------------------|
| Data Type | basicList, as specified in [RFC6313] | | Data Type | basicList, as specified in [RFC6313] |
|--------------------------------------------------------------------| |--------------------------------------------------------------------|
| Data Type Semantics | list | | Data Type Semantics | list |
|--------------------------------------------------------------------| |--------------------------------------------------------------------|
| | zero or more BGP Large Communities | | | zero or more BGP Large Communities |
skipping to change at page 13, line 12 skipping to change at page 13, line 32
only export some specific communities,or not to export some specific only export some specific communities,or not to export some specific
communities. communities.
If needed, we may consider to extend the message length of IPFIX If needed, we may consider to extend the message length of IPFIX
[RFC7011] from 16 bits to 32 bits to solve this problem completely. [RFC7011] from 16 bits to 32 bits to solve this problem completely.
The detailed mechanism is out of the scope of this document. The detailed mechanism is out of the scope of this document.
To align with the size of BGP extended community and large community, To align with the size of BGP extended community and large community,
the size of IE bgpExtendedCommunity and bgpLargeCommunity is 8 octets the size of IE bgpExtendedCommunity and bgpLargeCommunity is 8 octets
and 12 octets respectively. In the event that the and 12 octets respectively. In the event that the
bgpExtendedCommunity or bgpLargeCommunity Elements are not of their bgpExtendedCommunity or bgpLargeCommunity IE is not of its expected
expected sizes (8 and 12 octets, respectively), the IPFIX collector size, the IPFIX collector SHOULD ignore it. This is intended to
SHOULD ignore them. This is intended to protect implementations protect implementations using BGP logic from calling their parsing
using BGP logic from calling their parsing routines with invalid routines with invalid lengths.
lengths.
For the proper processing of the exporter, when it receives the For the proper processing of the exporter, when it receives the
template requesting to report the BGP community information (refer template requesting to report the BGP community information (refer
Appendix A for an example), the exporter SHOULD obtain the Appendix A for an example), the exporter SHOULD obtain the
corresponding BGP community information through BGP lookup using the corresponding BGP community information through BGP lookup using the
corresponding source or destination IP of the specific traffic flow. corresponding source or destination IP of the specific traffic flow.
When exporting the IPFIX information to the collector, the exporter When exporting the IPFIX information to the collector, the exporter
SHOULD include the corresponding BGP communities in the IPFIX SHOULD include the corresponding BGP communities in the IPFIX
message. message.
8. Security Considerations 8. Security Considerations
This document only defines three new IEs for IPFIX. This document This document only defines new IEs for IPFIX. This document itself
itself does not directly introduce security issues. The same does not directly introduce security issues. The same security
security considerations as for the IPFIX Protocol Specification considerations as for the IPFIX Protocol Specification [RFC7011] and
[RFC7011] and Information Model [RFC7012] apply. Information Model [RFC7012] apply.
As the BGP community information is deducible by other means, there As the BGP community information is deducible by other means, there
are no increased privacy concerns, neither. are no increased privacy concerns, neither.
9. IANA Considerations 9. IANA Considerations
This draft specifies the following IPFIX IEs to export BGP community This draft specifies the following IPFIX IEs to export BGP community
information along with other flow information. information along with other flow information.
The Element IDs for these IEs are solicited to be assigned by IANA. The Element IDs for these IEs are solicited to be assigned by IANA.
skipping to change at page 14, line 34 skipping to change at page 15, line 5
|--------------------------------------------------------------------| |--------------------------------------------------------------------|
| TBA1 | BGP community as defined in [RFC1997] | | | TBA1 | BGP community as defined in [RFC1997] | |
|--------------------------------------------------------------------| |--------------------------------------------------------------------|
| TBA2 | zero or more BGP communities corresponding | | | TBA2 | zero or more BGP communities corresponding | |
| | with source IP address of a specific flow | | | | with source IP address of a specific flow | |
|--------------------------------------------------------------------| |--------------------------------------------------------------------|
| TBA3 | zero or more BGP communities corresponding | | | TBA3 | zero or more BGP communities corresponding | |
| |with destination IP address of a specific flow| | | |with destination IP address of a specific flow| |
|--------------------------------------------------------------------| |--------------------------------------------------------------------|
| TBA4 |BGP Extended Community as defined in [RFC4360]| | | TBA4 |BGP Extended Community as defined in [RFC4360]| |
| |The size of this IE is 8 octets | | | |The size of this IE MUST be 8 octets | |
|--------------------------------------------------------------------| |--------------------------------------------------------------------|
| | zero or more BGP Extended Communities | | | | zero or more BGP Extended Communities | |
| TBA5 | corresponding with source IP address of | | | TBA5 | corresponding with source IP address of | |
| | a specific flow | | | | a specific flow | |
|--------------------------------------------------------------------| |--------------------------------------------------------------------|
| | zero or more BGP Extended communities | | | | zero or more BGP Extended communities | |
| TBA6 | corresponding with destination IP address | | | TBA6 | corresponding with destination IP address | |
| | of a specific flow | | | | of a specific flow | |
|--------------------------------------------------------------------| |--------------------------------------------------------------------|
| TBA7 | BGP Large Community as defined in [RFC8092] | | | TBA7 | BGP Large Community as defined in [RFC8092] | |
| | The size of this IE is 12 octets. | | | | The size of this IE MUST be 12 octets. | |
|--------------------------------------------------------------------| |--------------------------------------------------------------------|
| | zero or more BGP Large Communities | | | | zero or more BGP Large Communities | |
| TBA8 | corresponding with source IP address | | | TBA8 | corresponding with source IP address | |
| | of a specific flow | | | | of a specific flow | |
|--------------------------------------------------------------------| |--------------------------------------------------------------------|
| | zero or more BGP Large communities | | | | zero or more BGP Large communities | |
| TBA9 | corresponding with destination IP address | | | TBA9 | corresponding with destination IP address | |
| | of a specific flow | | | | of a specific flow | |
|--------------------------------------------------------------------| |--------------------------------------------------------------------|
skipping to change at page 18, line 5 skipping to change at page 18, line 17
2017, <https://www.rfc-editor.org/info/rfc8195>. 2017, <https://www.rfc-editor.org/info/rfc8195>.
Appendix A. Encoding Example Appendix A. Encoding Example
In this section, we give an example to show the encoding format for In this section, we give an example to show the encoding format for
the new introduced IEs. the new introduced IEs.
Flow information including BGP communities is shown in the below Flow information including BGP communities is shown in the below
table. Suppose we want all the fields to be reported by IPFIX. table. Suppose we want all the fields to be reported by IPFIX.
----------------------------------------------------------------------- ----------------------------------------------------------------------
|Source ip|Destination ip |Source BGP community| Destination BGP | | Source |Destination| BGP community | BGP community |
| | | | community | | IP | IP | corresponding with | corresponding with |
----------------------------------------------------------------------- | | | Source IP | Destination IP |
| 1.1.1.1 | 2.2.2.2 |1:1001,1:1002,8:1001| 2:1002,8:1001 | ----------------------------------------------------------------------
----------------------------------------------------------------------- | 1.1.1.1 | 2.2.2.2 | 1:1001,1:1002,8:1001 | 2:1002,8:1001 |
| 3.3.3.3 | 4.4.4.4 |3:1001,3:1002,8:1001| 4:1001,8:1001 | ----------------------------------------------------------------------
----------------------------------------------------------------------- | 3.3.3.3 | 4.4.4.4 | 3:1001,3:1002,8:1001 | 4:1001,8:1001 |
----------------------------------------------------------------------
Figure 12: Flow information including BGP communities Figure 12: Flow information including BGP communities
A.1. Template Record A.1. Template Record
0 1 2 3 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 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SET ID = 2 | Length = 24 | | SET ID = 2 | Length = 24 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Template ID = 256 | Field Count = 4 | | Template ID = 256 | Field Count = 4 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0| SourceIPv4Address = 8 | Field length = 4 | |0| SourceIPv4Address = 8 | Field length = 4 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0| DestinationIPv4Address = 12 | Field length = 4 | |0| DestinationIPv4Address = 12 | Field length = 4 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0| bgpSourceCommunityList = 459| Field length = 0xFFFF | |0| bgpSourceCommunityList= TBA2| Field length = 0xFFFF |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0| bgpDestinationCommunityList | Field length = 0xFFFF | |0| bgpDestinationCommunityList | Field length = 0xFFFF |
| | = 460 | | | | = TBA3 | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 13: Template Record Encoding Format Figure 13: Template Record Encoding Format
In this example, the Template ID is 256, which will be used in the In this example, the Template ID is 256, which will be used in the
data record. The field length for bgpSourceCommunityList and Data Record. The field length for bgpSourceCommunityList and
bgpDestinationCommunityList is 0xFFFF, which means the length of this bgpDestinationCommunityList is 0xFFFF, which means the length of this
IE is variable, the actual length of this IE is indicated by the list IE is variable, the actual length of this IE is indicated by the list
length field in the basic list format as per [RFC6313]. length field in the basic list format as per [RFC6313].
A.2. Data Set A.2. Data Set
The data set is represented as follows: The data set is represented as follows:
0 1 2 3 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 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SET ID = 256 | Length = 92 | | SET ID = 256 | Length = 92 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SourceIPv4Address = 1.1.1.1 | | SourceIPv4Address = 1.1.1.1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| DestinationIPv4Address = 2.2.2.2 | | DestinationIPv4Address = 2.2.2.2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 255 | List length = 17 |semantic=allof | | 255 | List length = 17 |semantic=allof |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| bgpCommunity = 458 | Field Len = 4 | | bgpCommunity = TBA1 | Field Len = 4 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| BGP Source Community Value 1 = 1:1001 | | BGP Source Community Value 1 = 1:1001 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| BGP Source Community Value 2 = 1:1002 | | BGP Source Community Value 2 = 1:1002 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| BGP Source Community Value 3 = 8:1001 | | BGP Source Community Value 3 = 8:1001 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 255 | List length = 13 |semantic =allof| | 255 | List length = 13 |semantic =allof|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| bgpCommunity = 458 | Field Len = 4 | | bgpCommunity = TBA1 | Field Len = 4 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| BGP Destination Community Value 1 = 2:1002 | | BGP Destination Community Value 1 = 2:1002 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| BGP Destination Community Value 2 = 8:1001 | | BGP Destination Community Value 2 = 8:1001 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SourceIPv4Address = 3.3.3.3 | | SourceIPv4Address = 3.3.3.3 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| DestinationIPv4Address = 4.4.4.4 | | DestinationIPv4Address = 4.4.4.4 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 255 | List length = 17 |semantic =allof| | 255 | List length = 17 |semantic =allof|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| bgpCommunity = 458 | Field Len = 4 | | bgpCommunity = TBA1 | Field Len = 4 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| BGP Source Community Value 1 = 3:1001 | | BGP Source Community Value 1 = 3:1001 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| BGP Source Community Value 2 = 3:1002 | | BGP Source Community Value 2 = 3:1002 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| BGP Source Community Value 3 = 8:1001 | | BGP Source Community Value 3 = 8:1001 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 255 | List length = 13 |semantic =allof| | 255 | List length = 13 |semantic =allof|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| bgpCommunity = 458 | Field Len = 4 | | bgpCommunity = TBA1 | Field Len = 4 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| BGP Destination Community Value 1 = 4:1001 | | BGP Destination Community Value 1 = 4:1001 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| BGP Destination Community Value 2 = 8:1001 | | BGP Destination Community Value 2 = 8:1001 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 14: Data Set Encoding Format Figure 14: Data Set Encoding Format
Authors' Addresses Authors' Addresses
 End of changes. 36 change blocks. 
99 lines changed or deleted 110 lines changed or added

This html diff was produced by rfcdiff 1.46. The latest version is available from http://tools.ietf.org/tools/rfcdiff/