draft-ietf-opsawg-ipfix-bgp-community-08.txt   draft-ietf-opsawg-ipfix-bgp-community-09.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: March 24, 2019 J. Dong Expires: March 29, 2019 J. Dong
Huawei Technologies Huawei Technologies
September 20, 2018 September 25, 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-08 draft-ietf-opsawg-ipfix-bgp-community-09
Abstract Abstract
By introducing new Information Elements (IEs), this draft extends the By introducing new Information Elements (IEs), this draft extends the
existing BGP related IEs to enable IPFIX [RFC7011] to export the BGP existing BGP related IEs to enable IPFIX [RFC7011] to export the BGP
community information, including the information of BGP standard community information, including the information of BGP standard
community [RFC1997], BGP extended community [RFC4360], and BGP large community [RFC1997], BGP extended community [RFC4360], and BGP large
community [RFC8092]. Network traffic information can then be community [RFC8092]. Network traffic information can then be
accumulated and analysed at the BGP community granularity, which accumulated and analysed at the BGP community granularity, which
represents the traffic of different kinds of customers, services, or represents the traffic of different kinds of customers, services, or
geographical regions according to the network operator's BGP geographical regions according to the network operator's BGP
community planning. Network traffic information at the BGP community community planning. Network traffic information at the BGP community
granularity is useful for network 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. When needed, the granularity without running the heavy BGP protocol. When needed, the
mediator or collector can use the IEs introduced in this document to IPFIX Mediator or Collector can use the IEs introduced in this
report the BGP community related traffic flow information it gets document to report the BGP community related traffic flow information
either from exporters or through local correlation to other IPFIX it gets either from Exporters or through local correlation to other
devices. 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 March 24, 2019. This Internet-Draft will expire on March 29, 2019.
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
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
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 . . . . . . . . . . . . . . . . . . . . . . . . 2
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 . . . . . . . . . . . . . . . 7 4. IEs for BGP Standard Community . . . . . . . . . . . . . . . 7
4.1. bgpCommunity . . . . . . . . . . . . . . . . . . . . . . 7 5. IEs for BGP Extended Community . . . . . . . . . . . . . . . 7
4.2. bgpSourceCommunityList . . . . . . . . . . . . . . . . . 7 6. IEs for BGP Large Community . . . . . . . . . . . . . . . . . 7
4.3. bgpDestinationCommunityList . . . . . . . . . . . . . . . 8 7. Operational Considerations . . . . . . . . . . . . . . . . . 8
5. IEs for BGP Extended Community . . . . . . . . . . . . . . . 8 8. Security Considerations . . . . . . . . . . . . . . . . . . . 9
5.1. bgpExtendedCommunity . . . . . . . . . . . . . . . . . . 9 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9
5.2. bgpSourceExtendedCommunityList . . . . . . . . . . . . . 9 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 11
5.3. bgpDestinationExtendedCommunityList . . . . . . . . . . . 10 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 11
6. IEs for BGP Large Community . . . . . . . . . . . . . . . . . 10 11.1. Normative References . . . . . . . . . . . . . . . . . . 11
6.1. bgpLargeCommunity . . . . . . . . . . . . . . . . . . . . 11 11.2. Informative References . . . . . . . . . . . . . . . . . 12
6.2. bgpSourceLargeCommunityList . . . . . . . . . . . . . . . 11 Appendix A. Encoding Example . . . . . . . . . . . . . . . . . . 13
6.3. bgpDestinationLargeCommunityList . . . . . . . . . . . . 12 A.1. Template Record . . . . . . . . . . . . . . . . . . . . . 13
7. Operational Considerations . . . . . . . . . . . . . . . . . 12 A.2. Data Set . . . . . . . . . . . . . . . . . . . . . . . . 14
8. Security Considerations . . . . . . . . . . . . . . . . . . . 13 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14
10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 16
11. References . . . . . . . . . . . . . . . . . . . . . . . . . 16
11.1. Normative References . . . . . . . . . . . . . . . . . . 16
11.2. Informative References . . . . . . . . . . . . . . . . . 16
Appendix A. Encoding Example . . . . . . . . . . . . . . . . . . 18
A.1. Template Record . . . . . . . . . . . . . . . . . . . . . 18
A.2. Data Set . . . . . . . . . . . . . . . . . . . . . . . . 19
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
skipping to change at page 3, line 37 skipping to change at page 3, line 28
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
practice of which is to use BGP community with planned specific practice of which is to use BGP community with planned specific
values to represent the groups of customers, services, geographical values to represent the groups of customers, services, geographical
and topological regions, which is used by a lot of operators in their and topological regions, which is used by a lot of operators in their
field networks. Please refer to [RFC4384], [RFC8195] and Section 3 field networks. Please refer to [RFC4384], [RFC8195] and Section 3
of this document for the detailed examples. To know the traffic of this document for the detailed examples. To know the traffic
generated by different kinds of customers, from differnt geographical generated by different kinds of customers, from different
or topological regions, by differnt kinds of customers in differnt geographical or topological regions, by different kinds of customers
regions, we need the corresponding community information related to in different regions, we need the corresponding community information
the traffic flow exported by IPFIX. Network traffic statistics at related to the traffic flow exported by IPFIX. Network traffic
the BGP community granularity is useful not only for the traffic statistics at the BGP community granularity is useful not only for
analyzing, but also can then be used by other applications, such as the traffic analyzing, but also can then be used by other
the traffic optimization applications located in IPFIX collector, SDN applications, such as the traffic optimization applications located
controller or PCE. [Community-TE] also states analyzing network in IPFIX Collector, SDN controller or PCE. [Community-TE] also
traffic information at the BGP community granularity is prefered for states analyzing network traffic information at the BGP community
inbound traffic engineering. However, there is no IE defined for BGP granularity is prefered for inbound traffic engineering. However,
community attribute in [IANA-IPFIX] yet. there is no IE defined for BGP 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 an IPFIX
mediator defined in [RFC6183]. Mediator is responsible for the Mediator defined in [RFC6183]. IPFIX 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, the mediator needs to learn BGP routes and perform information, the IPFIX Mediator needs to learn BGP routes and perform
lookup in the BGP routing table to get the matching entry for a lookup in the BGP routing table to get the matching entry for a
specific flow. Neither BGP route learning nor routing table lookup specific flow. Neither BGP route learning nor routing table lookup
is trivial for a mediator. The mediator is mainly introduced to is trivial for an IPFIX Mediator. The IPFIX Mediator is mainly
release the performance requirement for the exporter [RFC5982]. In introduced to release the performance requirement for the Exporter
fact, to obtain the information for the already defined BGP related [RFC5982]. In fact, to obtain the information for the already
IEs, such as bgpSourceAsNumber, bgpDestinationAsNumber, and defined BGP related IEs, such as bgpSourceAsNumber,
bgpNextHopIPv4Address, etc, the exporter has to hold the up-to-date bgpDestinationAsNumber, and bgpNextHopIPv4Address, etc, the Exporter
BGP routing table and perform lookup in the BGP routing table. The has to hold the up-to-date BGP routing table and perform lookup in
exporter can obtain the BGP community information in the same the BGP routing table. The Exporter can obtain the BGP community
procedure, thus the additional load added by exporting BGP community information in the same procedure, thus the additional load added by
information is minimal if the exporter is already exporting the exporting BGP community information is minimal if the Exporter is
existing BGP related IEs. It is RECOMMENDED that the BGP community already exporting the existing BGP related IEs. It is RECOMMENDED
information be exported by the exporter directly using IPFIX. 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 determine the applications, such as SDN controller or PCE, can determine 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
collector, since the BGP routing table may be updated when the IPFIX Collector, since the BGP routing table may be updated when the IPFIX
collectors and other applications reveive the IPFIX flow information. Collectors and other applications reveive the IPFIX flow information.
And as stated above, the exporter can obtain the BGP community And as stated above, the Exporter can obtain the BGP community
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 determine
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 mechanism the BMP protocol has its own application scenario, the mechanism
introduced in this document has no purpose to replace it. introduced in this document has no purpose to replace it.
By introducing new IEs, this draft extends the existing BGP related By introducing new IEs, this draft extends the existing BGP related
IEs to enable IPFIX [RFC7011] to export the BGP community IEs to enable IPFIX [RFC7011] to export the BGP community
information, including BGP standard community defined in [RFC1997], information, including BGP standard community defined in [RFC1997],
BGP extended community defined in [RFC4360], and BGP large community BGP extended community defined in [RFC4360], and BGP large community
defined in [RFC8092]. Flow information, including packetDeltaCount, defined in [RFC8092]. Flow information, including packetDeltaCount,
octetDeltaCount [RFC7012] etc, can then be accumulated and analysed octetDeltaCount [RFC7012] etc, can then be accumulated and analysed
by the collector or other applications, such as SDN controller or PCE by the Collector or other applications, such as SDN controller or PCE
[RFC4655], at the BGP community granularity, which is useful for [RFC4655], at the BGP community granularity, which is useful for
knowing the traffic generated by different kinds of customers, from knowing the traffic generated by different kinds of customers, from
differnt geographical or topological regions according to the different geographical or topological regions according to the
operator's BGP community plan, and can then be used by the traffic operator's BGP community plan, and can then be used by the traffic
engineering or traffic optimization applications, especially in the engineering or traffic optimization applications, especially in the
backbone network. backbone network.
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 the exporter and the mediator can use these IEs IPv6 traffic. Both the Exporter and the IPFIX Mediator can use these
to export BGP community information in IPFIX. When needed, the IEs to export BGP community information in IPFIX. When needed, the
mediator or collector can use these IEs to report the BGP community IPFIX Mediator or Collector can use these IEs to report the BGP
related traffic flow information it gets either from exporters or community related traffic flow information it gets either from
through local correlation to other IPFIX devices. Exporters or through local correlation to other IPFIX devices.
To clarify, no new BGP community attribute is defined in this To clarify, no new BGP community attribute is defined in this
document, IDR (Inter Domain Routing) working group is the right place document, IDR (Inter Domain Routing) working group is the right place
to define new community attributes for the BGP protocol. 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 to[IANA-IPFIX] for the whole list of the already defined Please refer to [IANA-IPFIX] for the whole list of the already
BGP related IEs. defined BGP related IEs.
Please refer Appendix A for the encoding example and Section 3 for a Please refer to Appendix A for the encoding example and Section 3 for
detailed use case. a 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].
IPFIX-specific terminology used in this document is defined in
Section 2 of the IPFIX protocol specification [RFC7011] and Section 2
of [RFC6183]
3. BGP Community based Traffic Collection 3. BGP Community based Traffic Collection
[RFC4384] introduces the mechanism of using BGP standard communities [RFC4384] introduces the mechanism of using BGP standard communities
and extended communities to collect the geographical and topological and extended communities to collect the geographical and topological
related information in BGP routing system. [RFC8195] gives some related information in BGP routing system. [RFC8195] gives some
examples about the application of BGP large communities to represent examples about the application of BGP large communities to represent
the geographical regions. Since the network traffic at the BGP the geographical regions. Since the network traffic at the BGP
community granularity represents the traffic generted by different community granularity represents the traffic generted by different
kinds of customers, from differnt geographical regions according to kinds of customers, from different geographical regions according to
the network operator's BGP community plan, it is useful for the the network operator's BGP community plan, it is useful for the
network operators to analyze and optimize the network traffic among network operators to analyze and optimize the network traffic among
different customers and regions. This section gives a use case in different customers and regions. This section gives a use case in
which the network operator uses the BGP community based traffic which the network operator uses the BGP community based traffic
information to adjust the network paths for different traffic flows. information to adjust the network paths for different traffic flows.
Considering the following scenario, AS C provides transit connection Considering the following scenario, AS C provides transit connection
between AS A and B. By tagging with different BGP communities, the between AS A and B. By tagging with different BGP communities, the
routes of AS A and B are categorized into several groups respectively routes of AS A and B are categorized into several groups respectively
with the operator's plan. For example community A:X and A:Y are used with the operator's plan. For example community A:X and A:Y are used
skipping to change at page 7, line 19 skipping to change at page 7, line 19
some common properties. BGP Standard Communities are treated as 32 some common properties. BGP Standard Communities are treated as 32
bit values as stated in[RFC1997]. bit values as stated in[RFC1997].
In order to export BGP standard community information along with In order to export BGP standard community information along with
other flow information defined by IPFIX, three new IEs are other flow information defined by IPFIX, three new IEs are
introduced. One is bgpCommunity, which is used to identify that the introduced. One is bgpCommunity, which is used to identify that the
value in this IE is a BGP standard community. The other two are value in this IE is a BGP standard community. The other two are
bgpSourceCommunityList and bgpDestinationCommunityList, which are bgpSourceCommunityList and bgpDestinationCommunityList, which are
both basicList [RFC6313] of bgpCommunity, and are used to export BGP both basicList [RFC6313] of bgpCommunity, and are used to export BGP
standard community information corresponding to a specific flow's standard community information corresponding to a specific flow's
source IP and destination IP respectively. source and destination IP address respectively.
The detailed information of the three new IEs are shown in the
following sections.
4.1. bgpCommunity
----------------------------------------------------------------------
| ElementID | to be assigned by IANA |
|--------------------------------------------------------------------|
| Name | bgpCommunity |
|--------------------------------------------------------------------|
| Data Type | unsigned32 |
|--------------------------------------------------------------------|
| Data Type Semantics | identifier |
|--------------------------------------------------------------------|
| Description | BGP community as defined in [RFC1997] |
|--------------------------------------------------------------------|
| Units | none |
|--------------------------------------------------------------------|
Figure 2: bgpCommunity
4.2. bgpSourceCommunityList
----------------------------------------------------------------------
| ElementID | to be assigned by IANA |
|--------------------------------------------------------------------|
| Name | bgpSourceCommunityList |
|--------------------------------------------------------------------|
| Data Type | basicList, as specified in [RFC6313] |
|--------------------------------------------------------------------|
| Data Type Semantics | list |
|--------------------------------------------------------------------|
| Description | zero or more BGP communities corresponding |
| | with source IP address of a specific flow |
|--------------------------------------------------------------------|
| Units | none |
|--------------------------------------------------------------------|
Figure 3: bgpSourceCommunityList
4.3. bgpDestinationCommunityList
---------------------------------------------------------------------
| ElementID | to be assigned by IANA |
|--------------------------------------------------------------------|
| Name | bgpDestinationCommunityList |
|--------------------------------------------------------------------|
| Data Type | basicList, as specified in [RFC6313] |
|--------------------------------------------------------------------|
| Data Type Semantics | list |
|--------------------------------------------------------------------|
| Description | zero or more BGP communities corresponding |
| |with destination IP address of a specific flow|
|--------------------------------------------------------------------|
| Units | none |
|--------------------------------------------------------------------|
Figure 4: bgpDestinationCommunityList The detailed information of the three new IEs are shown in Section 9
IANA Considerations.
5. IEs for BGP Extended Community 5. IEs for BGP Extended Community
[RFC4360] defines the BGP Extended Communities attribute, which [RFC4360] defines the BGP Extended Communities attribute, which
provides a mechanism for labeling the information carried in BGP. provides a mechanism for labeling the information carried in BGP.
Each Extended Community is encoded as an 8-octet quantity with the Each Extended Community is encoded as an 8-octet quantity with the
format defined in [RFC4360]. format defined in [RFC4360].
In order to export BGP Extended Community information together with In order to export BGP Extended Community information together with
other flow information by IPFIX, three new IEs are introduced. The other flow information by IPFIX, three new IEs are introduced. The
first one is bgpExtendedCommunity, which is used to identify that the first one is bgpExtendedCommunity, which is used to identify that the
value in this IE is a BGP Extended Community. The other two are value in this IE is a BGP Extended Community. The other two are
bgpSourceExtendedCommunityList and bgpSourceExtendedCommunityList and
bgpDestinationExtendedCommunityList, which are both basicList bgpDestinationExtendedCommunityList, which are both basicList
[RFC6313] of bgpExtendedCommunity, and are used to export the BGP [RFC6313] of bgpExtendedCommunity, and are used to export the BGP
Extended Community information corresponding to a specific flow's Extended Community information corresponding to a specific flow's
source IP and destination IP respectively. source and destination IP address respectively.
The detailed information of the three new IEs are shown in the
following sections.
5.1. bgpExtendedCommunity
----------------------------------------------------------------------
| ElementID | to be assigned by IANA |
|--------------------------------------------------------------------|
| Name | bgpExtendedCommunity |
|--------------------------------------------------------------------|
| Data Type | octetArray |
|--------------------------------------------------------------------|
| Data Type Semantics | default |
|--------------------------------------------------------------------|
| |BGP Extended Community as defined in [RFC4360]|
| Description |The size of this Information Element MUST be 8|
| |octets. |
|--------------------------------------------------------------------|
| Units | none |
|--------------------------------------------------------------------|
Figure 5: bgpExtendedCommunity
5.2. bgpSourceExtendedCommunityList
----------------------------------------------------------------------
| ElementID | to be assigned by IANA |
|--------------------------------------------------------------------|
| Name | bgpSourceExtendedCommunityList |
|--------------------------------------------------------------------|
| Data Type | basicList, as specified in [RFC6313] |
|--------------------------------------------------------------------|
| Data Type Semantics | list |
|--------------------------------------------------------------------|
| | zero or more BGP Extended Communities |
| Description | corresponding with source IP address |
| | of a specific flow |
|--------------------------------------------------------------------|
| Units | none |
|--------------------------------------------------------------------|
Figure 6: bgpSourceExtendedCommunityList
5.3. bgpDestinationExtendedCommunityList
----------------------------------------------------------------------
| ElementID | to be assigned by IANA |
|--------------------------------------------------------------------|
| Name | bgpDestinationExtendedCommunityList |
|--------------------------------------------------------------------|
| Data Type | basicList, as specified in [RFC6313] |
|--------------------------------------------------------------------|
| Data Type Semantics | list |
|--------------------------------------------------------------------|
| | zero or more BGP Extended communities |
| Description | corresponding with destination IP address |
| | of a specific flow |
|--------------------------------------------------------------------|
| Units | none |
|--------------------------------------------------------------------|
Figure 7: bgpDestinationExtendedCommunityList The detailed information of the three new IEs are shown in Section 9
IANA Considerations.
6. IEs for BGP Large Community 6. IEs for BGP Large Community
[RFC8092] defines the BGP Large Communities attribute, which is [RFC8092] defines the BGP Large Communities attribute, which is
suitable for use with all Autonomous System Numbers (ASNs) including suitable for use with all Autonomous System Numbers (ASNs) including
four-octet ASNs. Each BGP Large Community is encoded as a 12-octet four-octet ASNs. Each BGP Large Community is encoded as a 12-octet
quantity with the format defined in [RFC8092]. quantity with the format defined in [RFC8092].
In order to export BGP Large Community information together with In order to export BGP Large Community information together with
other flow information by IPFIX, three new IEs are introduced. The other flow information by IPFIX, three new IEs are introduced. The
first one is bgpLargeCommunity, which is used to identify that the first one is bgpLargeCommunity, which is used to identify that the
value in this IE is a BGP Large Community. The other two are value in this IE is a BGP Large Community. The other two are
bgpSourceLargeCommunityList and bgpDestinationLargeCommunityList, bgpSourceLargeCommunityList and bgpDestinationLargeCommunityList,
which are both basicList [RFC6313] of bgpLargeCommunity, and are used which are both basicList [RFC6313] of bgpLargeCommunity, and are used
to export the BGP Large Community information corresponding to a to export the BGP Large Community information corresponding to a
specific flow's source and destination IP address respectively. specific flow's source and destination IP address respectively.
The detailed information of the three new IEs are shown in the The detailed information of the three new IEs are shown in Section 9
following sections. IANA Considerations.
6.1. bgpLargeCommunity
----------------------------------------------------------------------
| ElementID | to be assigned by IANA |
|--------------------------------------------------------------------|
| Name | bgpLargeCommunity |
|--------------------------------------------------------------------|
| Data Type | octetArray |
|--------------------------------------------------------------------|
| Data Type Semantics | default |
|--------------------------------------------------------------------|
| | BGP Large Community as defined in [RFC8092] |
| Description | The size of this Information Element MUST be |
| | 12 octets. |
|--------------------------------------------------------------------|
| Units | none |
|---------------------------------------------------------------------
Figure 8: bgpLargeCommunity
6.2. bgpSourceLargeCommunityList
----------------------------------------------------------------------
| ElementID | to be assigned by IANA |
|--------------------------------------------------------------------|
| Name | bgpSourceLargeCommunityList |
|--------------------------------------------------------------------|
| Data Type | basicList, as specified in [RFC6313] |
|--------------------------------------------------------------------|
| Data Type Semantics | list |
|--------------------------------------------------------------------|
| | zero or more BGP Large Communities |
| Description | corresponding with source IP address |
| | of a specific flow |
|--------------------------------------------------------------------|
| Units | none |
|--------------------------------------------------------------------|
Figure 9: bgpSourceLargeCommunityList
6.3. bgpDestinationLargeCommunityList
----------------------------------------------------------------------
| ElementID | to be assigned by IANA |
|--------------------------------------------------------------------|
| Name | bgpDestinationLargeCommunityList |
|--------------------------------------------------------------------|
| Data Type | basicList, as specified in [RFC6313] |
|--------------------------------------------------------------------|
| Data Type Semantics | list |
|--------------------------------------------------------------------|
| Description | zero or more BGP Large communities |
| | corresponding with destination IP address |
| | of a specific flow |
|--------------------------------------------------------------------|
| Units | none |
|--------------------------------------------------------------------|
Figure 10: bgpDestinationLargeCommunityList
7. Operational Considerations 7. Operational Considerations
The maximum length of an IPFIX message is 65535 bytes as per The maximum length of an IPFIX message is 65535 bytes as per
[RFC7011] , and the maximum length of a normal BGP message is 4096 [RFC7011] , and the maximum length of a normal BGP message is 4096
bytes as per [RFC4271]. Since BGP communities, including standard, bytes as per [RFC4271]. Since BGP communities, including standard,
extended, and large communities , are BGP path attributes carried in extended, and large communities , are BGP path attributes carried in
BGP Update messages, the total length of these attributes can not BGP Update messages, the total length of these attributes can not
exceed the length of a BGP message, i.e. 4096 bytes. So one IPFIX exceed the length of a BGP message, i.e. 4096 bytes. So one IPFIX
message with maximum length of 65535 bytes has enough space to fit message with maximum length of 65535 bytes has enough space to fit
skipping to change at page 13, line 16 skipping to change at page 8, line 34
source and destination IP addresses. source and destination IP addresses.
[I-D.ietf-idr-bgp-extended-messages] extends the maximum size of a [I-D.ietf-idr-bgp-extended-messages] extends the maximum size of a
BGP Update message to 65535 bytes. Then theoretically the BGP BGP Update message to 65535 bytes. Then theoretically the BGP
community information related to a specific flow may exceed the community information related to a specific flow may exceed the
length of one IPFIX message. However, according to information about length of one IPFIX message. However, according to information about
networks in the field, the number of BGP communities in one BGP route networks in the field, the number of BGP communities in one BGP route
is usually no more than 10. Nevertheless, BGP speakers that support is usually no more than 10. Nevertheless, BGP speakers that support
the extended message SHOULD be careful to export the BGP communities the extended message SHOULD be careful to export the BGP communities
in the IPFIX message properly, such as only convey as many in the IPFIX message properly, such as only convey as many
communities as possible in the IPFIX message. The collector which communities as possible in the IPFIX message. The Collector which
receives an IPFIX message with maximum length and BGP communities receives an IPFIX message with maximum length and BGP communities
contained in its data set SHOULD be aware that the BGP communities contained in its data set SHOULD be aware that the BGP communities
may be truncated due to limited message space. In this case, it is may be truncated due to limited message space. In this case, it is
RECOMMENDED to configure the export policy of BGP communities to RECOMMENDED to configure the export policy of BGP communities to
limit the BGP communities by including or excluding specific limit the BGP communities by including or excluding 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 details of increasing IPFIX message length is out of scope of The details of increasing IPFIX message length is out of scope of
this document. 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 IE is not of its expected bgpExtendedCommunity or bgpLargeCommunity IE is not of its expected
size, the IPFIX collector SHOULD ignore it. This is intended to size, the IPFIX Collector SHOULD ignore it. This is intended to
protect implementations using BGP logic from calling their parsing protect implementations using BGP logic from calling their parsing
routines with invalid lengths. routines with invalid 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 to template requesting to report the BGP community information (refer to
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 address of the specific corresponding source or destination IP address of the specific
traffic flow. When exporting the IPFIX information to the collector, traffic flow. When exporting the IPFIX information to the Collector,
the exporter SHOULD include the corresponding BGP communities in the the Exporter SHOULD include the corresponding BGP communities in the
IPFIX message. IPFIX message.
8. Security Considerations 8. Security Considerations
This document only defines new IEs for IPFIX. This document itself This document only defines new IEs for IPFIX. This document itself
does not directly introduce security issues. The same security does not directly introduce security issues. The same security
considerations as for the IPFIX Protocol Specification [RFC7011] and considerations as for the IPFIX Protocol Specification [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
skipping to change at page 15, line 49 skipping to change at page 11, line 20
|--------------------------------------------------------------------| |--------------------------------------------------------------------|
| TBA6 | |RFC6313,RFC4360|this draft | 0 | | | TBA6 | |RFC6313,RFC4360|this draft | 0 | |
|--------------------------------------------------------------------| |--------------------------------------------------------------------|
| TBA7 | | RFC8092 |this draft | 0 | | | TBA7 | | RFC8092 |this draft | 0 | |
|--------------------------------------------------------------------| |--------------------------------------------------------------------|
| TBA8 | |RFC6313,RFC8092|this draft | 0 | | | TBA8 | |RFC6313,RFC8092|this draft | 0 | |
|--------------------------------------------------------------------| |--------------------------------------------------------------------|
| TBA9 | |RFC6313,RFC8092|this draft | 0 | | | TBA9 | |RFC6313,RFC8092|this draft | 0 | |
|--------------------------------------------------------------------| |--------------------------------------------------------------------|
Figure 11: IANA Considerations Figure 2: IANA Considerations
10. Acknowledgements 10. Acknowledgements
The authors would like to thank Benoit Claise and Paul Aitken for The authors would like to thank Benoit Claise and Paul Aitken for
their comments and suggestions to promote this document. their comments and suggestions to promote this document.
Appreciations are given to Tianran Zhou, Warren Kumari, Jeffrey Haas, Appreciations are given to Tianran Zhou, Warren Kumari, Jeffrey Haas,
Ignas Bagdonas, Stewart Bryant, Paolo Lucente, Job Snijders, Jared Ignas Bagdonas, Stewart Bryant, Paolo Lucente, Job Snijders, Jared
Mauch, Rudiger Volk, etc, for their discussion, comments and Mauch, Rudiger Volk, etc, for their discussion, comments and
suggestions in the face to face meetings and in the mail list. suggestions in the face to face meetings and in the mail list.
skipping to change at page 18, line 27 skipping to change at page 13, line 42
---------------------------------------------------------------------- ----------------------------------------------------------------------
| Source |Destination| BGP community | BGP community | | Source |Destination| BGP community | BGP community |
| IP | IP | corresponding with | corresponding with | | IP | IP | corresponding with | corresponding with |
| | | Source IP | Destination IP | | | | 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 3: 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 |
skipping to change at page 18, line 48 skipping to change at page 14, line 21
|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= TBA2| Field length = 0xFFFF | |0| bgpSourceCommunityList= TBA2| Field length = 0xFFFF |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0| bgpDestinationCommunityList | Field length = 0xFFFF | |0| bgpDestinationCommunityList | Field length = 0xFFFF |
| | = TBA3 | | | | = TBA3 | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 13: Template Record Encoding Format Figure 4: 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:
skipping to change at page 20, line 13 skipping to change at page 15, line 35
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 255 | List length = 13 |semantic =allof| | 255 | List length = 13 |semantic =allof|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| bgpCommunity = TBA1 | 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 5: Data Set Encoding Format
Authors' Addresses Authors' Addresses
Zhenqiang Li Zhenqiang Li
China Mobile China Mobile
32 Xuanwumen West Ave, Xicheng District 32 Xuanwumen West Ave, Xicheng District
Beijing 100053 Beijing 100053
China China
Email: li_zhenqiang@hotmail.com Email: li_zhenqiang@hotmail.com
 End of changes. 38 change blocks. 
269 lines changed or deleted 92 lines changed or added

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