opsawg                                                             Z. Li, Ed. Li
Internet-Draft                                                     R. Gu, Ed. Gu
Intended status: Standards Track                            China Mobile
Expires: September 8, December 22, 2017                                       J. Dong
                                                     Huawei Technologies
                                                           March 7,
                                                           June 20, 2017

 Export BGP community information in IP Flow Information Export (IPFIX)
                draft-ietf-opsawg-ipfix-bgp-community-01
                draft-ietf-opsawg-ipfix-bgp-community-02

Abstract

   This draft specifies an extension to the introduces several information elements in IPFIX
   information model
   defined in [RFC7012] to enable IPFIX [RFC7011] to export the
   BGP community [RFC1997]
   information.  Three information elements, bgpCommunity,
   bgpSourceCommunityList and bgpDestinationCommunityList, are
   introduced information, including standard community defined in this document to carry the BGP
   [RFC1997], extended community information.
   bgpCommunity, containing exactly one BGP defined in [RFC4360], large community value, is used to
   consist the list
   defined in bgpSourceCommunityList and
   bgpDestinationCommunityList, which are corresponding to a specific
   flow's source IP and destination IP respectively. [RFC8092], community container defined in
   [I-D.ietf-idr-wide-bgp-communities].

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on September 8, December 22, 2017.

Copyright Notice

   Copyright (c) 2017 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   3
   3.  IEs for BGP Standard Community Information Elements  . . . . . . . . . . . . . . .   4
     3.1.  bgpCommunity  . . . . . . . . . . . . . . . . . . . . . .   4
     3.2.  bgpSourceCommunityList  . . . . . . . . . . . . . . . . .   4
     3.3.  bgpDestinationCommunityList . . . . . . . . . . . . . . .   5
   4.  Security Considerations  IEs for BGP Extended Community  . . . . . . . . . . . . . . .   5
     4.1.  bgpExtendedCommunity  . . . . . .   5
   5.  IANA Considerations . . . . . . . . . . . .   6
     4.2.  bgpSourceExtendedCommunityList  . . . . . . . . . . . . .   6
   6.  Acknowledgements
     4.3.  bgpDestinationExtendedCommunityList . . . . . . . . . . .   7
   5.  IEs for BGP Large Community . . . . . . . . . . . . . . . . .   7
     5.1.  bgpLargeCommunity . . . . . . . . . . . . . . . . . . . .   8
     5.2.  bgpSourceLargeCommunityList . . . . . . . . . . . . . . .   8
     5.3.  bgpDestinationLargeCommunityList  . . . . . . . . . . . .   9
   6.  IEs for BGP Community Container . . . . . . . . . . . . . . .   9
   7.  References  Message Length Considerations . . . . . . . . . . . . . . . .  10
   8.  Security Considerations . . . . . . . . .   7
     7.1.  Normative References . . . . . . . . . .  10
   9.  IANA Considerations . . . . . . . .   7
     7.2.  Informative References . . . . . . . . . . . . .  10
   10. Acknowledgements  . . . .   7
   Appendix A.  Application Example . . . . . . . . . . . . . . . .   8
     A.1.  Template Record . .  12
   11. References  . . . . . . . . . . . . . . . . . . .   8
     A.2.  Data Set . . . . . .  12
     11.1.  Normative References . . . . . . . . . . . . . . . . . .   9
   Authors' Addresses  12
     11.2.  Informative References . . . . . . . . . . . . . . . . .  13
   Appendix A.  Application Example  . . . . . .  10

1.  Introduction

   IP Flow Information Export (IPFIX) [RFC7011] provides network
   administrators with traffic flow information using the information
   elements (IEs) defined in [IANA-IPFIX] registries.  Based on the
   traffic flow information, network . . . . . . . . . .  14
     A.1.  Template Record . . . . . . . . . . . . . . . . . . . . .  14
     A.2.  Data Set  . . . . . . . . . . . . . . . . . . . . . . . .  15
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  16

1.  Introduction

   IP Flow Information Export (IPFIX) [RFC7011] provides network
   administrators with traffic flow information using the information
   elements (IEs) defined in [IANA-IPFIX] registries.  Based on the
   traffic flow information, network administrators know the amount and
   direction of the traffic in their network, then they can optimize
   their network when needed.  For example, they can steer some flows
   from the congested links to the low utilized links.

   [IANA-IPFIX] has already defined the following IEs for traffic flow
   information exporting in different grain: sourceIPv4Address,
   sourceIPv4Prefix, destinationIPv4Address, destinationIPv4Prefix,
   bgpSourceAsNumber, bgpDestinationAsNumber, bgpNextHopIPv4Address,
   etc.  In some circumstances, however, especially when traffic
   engineering and optimization are used in the Tier 1 or Tier 2
   operators' backbone networks, traffic flow information based on these
   IEs is not suitable.  Flow information based on IP address or IP
   prefix is much more mediculous.  On the contrary, flow information
   based on AS number is too coarse.  BGP community [RFC1997], which
   describes a group of routes sharing some common properties, is
   preferablely
   preferably used for fine granularity traffic engineering
   [Community-TE] [RFC4384].  Unfortunately, [IANA-IPFIX] has no IE
   defined for BGP community information, yet.

   Flow information based on BGP community can be collected by a
   mediator defined in [RFC6183].  Mediator is responsible for the
   correlation between flow information and BGP community.  However no
   IEs are defined in [RFC6183] for exporting BGP community information
   in IPFIX.  Furthermore, to correlate the BGP community with the flow
   information, mediator needs to learn BGP routes and lookup in the BGP
   routing table to get the matching entry for the specific flow.
   Neither BGP route learning nor routing table lookup is trivial for a
   mediator.  Mediator is mainly introduced to release the performance
   requirement for the exporter [RFC5982].  In fact, to obtain the
   information for BGP related IEs that have already been defined, such
   as bgpSourceAsNumber, bgpDestinationAsNumber, and
   bgpNextHopIPv4Address, etc, exporter has to hold the up-to-date BGP
   routing table and look up in the BGP routing table.  The exporter can
   get the community information in the same procedure.  So, getting BGP
   community information adds no more requirement for exporter.  Some
   vendors have already implemented this feature in their exporters
   using private IEs.  So, exporter is RECOMMENDED to export the BGP
   community information in IPFIX directly, other than the mediator.

   This draft specifies an extension introduces new IEs to extend the IPFIX information model
   defined in [RFC7012] to export the BGP community information.  Three
   IEs, bgpCommunity, bgpSourceCommunityList information,
   including standard community defined in [RFC1997], extended community
   defined in [RFC4360], large community defined in [RFC8092], and
   bgpDestinationCommunityList, are introduced to complete this task.
   bgpCommunity contains one BGP
   community value.
   BgpSourceCommunityList consists of a list of bgpCommunity
   corresponding with the source IP address of a specific flow, container defined in [I-D.ietf-idr-wide-bgp-communities].
   Flow information, such as packetDeltaCount, octetDeltaCount [RFC7012]
   etc, can then be accumulated and
   bgpDestinationCommunityList consists of a list of bgpCommunity
   corresponding with analysed by the destination IP address of a specific flow.

   BgpCommunity, bgpSourceCommunityList and bgpDestinationCommunityList collector or other
   applications based on BGP community.

   The IEs introduced in this document are applicable for both IPv4 and
   IPv6 traffic.  Both exporter and mediator can use these three IEs to export
   BGP community information in IPFIX.

2.  Terminology

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in [RFC2119].

3.  IEs for BGP Standard Community Information Elements

   [RFC1997] defines the BGP Communities attribute, called BGP Standard
   Community in this document, which describes a group of routes sharing
   some common properties.  BGP Standard Communities are treated as 32
   bit values as stated in in [RFC1997].

   In order to export BGP standard community information along with
   other flow information defined by IPFIX, we need to introduce three new IEs. IEs are
   introduced.  One is bgpCommunity, which is used to identify that the
   value in this IE is a BGP community [RFC1997]. standard community.  The other two are
   bgpSourceCommunityList and bgpDestinationCommunityList.  They both bgpDestinationCommunityList, which are
   both basicList [RFC6313] of bgpCommunity.  bgpSourceCommunityList bgpCommunity, and
   bgpDestinationCommunityList are used to export BGP
   standard community information corresponding to a specific flow's
   source IP and destination IP respectively.  Flow

   The detailed information based on BGP community
   can then be accumulated and analysed by the collector or other
   applications.

   The details of these the three new introduced IEs are illustrated below,
   including name, ID, type, semantics, description and units. shown in the
   following sections.

3.1.  bgpCommunity

  ----------------------------------------------------------------------
  |      ElementID      |            to be assigned by IANA, 458 is suggested IANA            |
  ----------------------------------------------------------------------
  |--------------------------------------------------------------------|
  |         Name        |                 bgpCommunity                 |
  |---------------------------------------------------------------------
  |--------------------------------------------------------------------|
  |      Data Type      |                  unsigned32                  |
  |---------------------------------------------------------------------
  |--------------------------------------------------------------------|
  | Data Type Semantics |                  identifier                  |
  ----------------------------------------------------------------------
  |--------------------------------------------------------------------|
  |      Description    |    BGP community as defined in [RFC1997]     |
  ----------------------------------------------------------------------
  |--------------------------------------------------------------------|
  |         Units       |                     none                     |
  |---------------------------------------------------------------------
  |--------------------------------------------------------------------|

                          Figure 1: bgpCommunity

3.2.  bgpSourceCommunityList
  ----------------------------------------------------------------------
  |      ElementID      |           to be assigned by IANA, 459 is suggested 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 2: bgpSourceCommunityList

3.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 3: bgpDestinationCommunityList

4.  IEs for BGP Extended Community

   [RFC4360] defines the BGP Extended Communities attribute, which
   provides a mechanism for labeling information carried in BGP.  Each
   Extended Community is encoded as an 8-octet quantity with the format
   defined in [RFC4360].

   In order to export BGP Extended Community information together with
   other flow information by IPFIX, three new IEs are introduced.  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
   bgpSourceExtendedCommunityList and
   bgpDestinationExtendedCommunityList, which are both basicList
   [RFC6313] of bgpExtendedCommunity, and are used to export the BGP
   Extended Community information corresponding to a specific flow's
   source IP and destination IP respectively.

   The detailed information of the three new IEs are shown in the
   following sections.

4.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 is 8     |
  |                     |octets.                                       |
  |--------------------------------------------------------------------|
  |         Units       |                     none                     |
  |--------------------------------------------------------------------|

                      Figure 4: bgpExtendedCommunity

4.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 5: bgpSourceExtendedCommunityList

4.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 6: bgpDestinationExtendedCommunityList

5.  IEs for BGP Large Community

   [RFC8092] defines the BGP Large Communities attribute, which is
   suitable for use with all Autonomous System Numbers (ASNs) including
   four-octet ASNs.  Each BGP Large Community is encoded as a 12-octet
   quantity with the format defined in [RFC8092].

   In order to export BGP Large Community information together with
   other flow information by IPFIX, three new IEs are introduced.  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
   bgpSourceLargeCommunityList and bgpDestinationLargeCommunityList,
   which are both basicList [RFC6313] of bgpLargeCommunity, and are used
   to export the BGP Large Community information corresponding to a
   specific flow's source IP and destination IP respectively.

   The detailed information of the three new IEs are shown in the
   following sections.

5.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 is 12   |
  |                     | octets.                                      |
  |--------------------------------------------------------------------|
  |         Units       |                     none                     |
  |---------------------------------------------------------------------

                        Figure 7: bgpLargeCommunity

5.2.  bgpSourceLargeCommunityList
  ----------------------------------------------------------------------
  |      ElementID      |           to be assigned by IANA             |
  ----------------------------------------------------------------------
  |--------------------------------------------------------------------|
  |         Name        |           bgpSourceCommunityList        bgpSourceLargeCommunityList           |
  |---------------------------------------------------------------------
  |--------------------------------------------------------------------|
  |      Data Type      |      basicList, as specified in [RFC6313]    |
  |---------------------------------------------------------------------
  |--------------------------------------------------------------------|
  | Data Type Semantics |                       list                   |
  ----------------------------------------------------------------------
  |--------------------------------------------------------------------|
  |      Description                     |     zero or more BGP communities corresponding Large Communities       |
  |       Description   |    corresponding with source IP address      |
  |                     |             of a specific flow               |
  ----------------------------------------------------------------------
  |--------------------------------------------------------------------|
  |         Units       |                     none                     |
  |---------------------------------------------------------------------
  |--------------------------------------------------------------------|

                   Figure 2: bgpSourceCommunityList

3.3.  bgpDestinationCommunityList 8: bgpSourceLargeCommunityList

5.3.  bgpDestinationLargeCommunityList

  ----------------------------------------------------------------------
  |      ElementID      |             to be assigned by IANA, 460 is suggested IANA           |
  ----------------------------------------------------------------------
  |--------------------------------------------------------------------|
  |         Name        |          bgpDestinationCommunityList       bgpDestinationLargeCommunityList       |
  |---------------------------------------------------------------------
  |--------------------------------------------------------------------|
  |      Data Type      |      basicList, as specified in [RFC6313]    |
  |---------------------------------------------------------------------
  |--------------------------------------------------------------------|
  | Data Type Semantics |                       list                   |
  ----------------------------------------------------------------------
  |--------------------------------------------------------------------|
  |      Description    |     zero or more BGP Large communities corresponding       |
  |                     |with                     |   corresponding with destination IP address  |
  |                     |              of a specific flow|
  ---------------------------------------------------------------------- flow              |
  |--------------------------------------------------------------------|
  |         Units       |                     none                     |
  |---------------------------------------------------------------------
  |--------------------------------------------------------------------|

                Figure 3: bgpDestinationCommunityList

4. 9: bgpDestinationLargeCommunityList

6.  IEs for BGP Community Container

   TBD.

7.  Message Length Considerations

   The maximum length of one IPFIX message is 65535 bytes as per
   [RFC7011] and 4096 bytes for one BGP message as per [RFC4271].  Since
   BGP communities, including standard, extended, large and container,
   are BGP path attributes distributed in update messages, the length of
   them can not exceed the length of a BGP message, i.e. 4096.  So one
   IPFIX message with maximum length of 65535 has enough space to fit
   all the communities related to a specific flow, both the source IP
   and the destination IP related.

   [I-D.ietf-idr-bgp-extended-messages], however, extends the maximum
   update message size of BGP beyond 4096 bytes to 65535 bytes.  BGP
   speakers that support the extended message SHOULD take care to handle
   the IPFIX message properly, such as only convey as many communities
   as possible in the IPFIX message.  The collector who receives an
   IPFIX message with maximum length and BGP communities contained in
   its data set SHOULD be aware of the BGP communities may be truncated
   due to limited message space.  In this case, it is RECOMMENDED to
   configure export policy on the exporter to limit the BGP communities
   to be exported, to export only some specific communities, for
   example, or not to export some communities.

   To solve this problem completely, a separate document will be
   submitted to extend the message length of IPFIX [RFC7011] to 32 bits.

8.  Security Considerations

   This document only defines three new IEs for IPFIX.  So, this
   document itself does not directly introduce security issues.  The
   same security considerations as for the IPFIX Protocol Specification
   [RFC7011] and Information Model [RFC7012] apply.

   As the BGP community information is deducible by other means, there
   are no increased privacy concerns.

5. concerns, neither.

9.  IANA Considerations

   This draft specifies three new the following IPFIX IEs, bgpCommunity,
   bgpSourceCommunityList and bgpDestinationCommunityList, IEs to export BGP community
   information along with other flow information.

   The Element IDs for these three IEs are solicited to be assigned by IANA.
   The following table is for IANA's reference to put in each field in
   the registry.

  ----------------------------------------------------------------------
  |ElementID|            Name           | Data Type|Data Type Semantics|
  ----------------------------------------------------------------------
  |--------------------------------------------------------------------|
  |   TBA1  |        bgpCommunity       |unsigned32|     identifier    |
  |---------------------------------------------------------------------
  |--------------------------------------------------------------------|
  |   TBA2  |  bgpSourceCommunityList   | basicList|        list       |
  |---------------------------------------------------------------------
  |--------------------------------------------------------------------|
  |   TBA3  |bgpDestinationCommunityList| basicList|        list       |
  |--------------------------------------------------------------------|
  |   TBA4  |     bgpExtendedCommunity  |octetArray|       default     |
  |--------------------------------------------------------------------|
  |   TBA5  |      bgpSourceExtended    |          |                   |
  |         |        CommunityList      | basicList|        list       |
  |--------------------------------------------------------------------|
  |   TBA6  |  bgpDestinationExtended   |          |                   |
  |         |       CommunityList       | basicList|        list       |
  |--------------------------------------------------------------------|
  |   TBA7  |     bgpLargeCommunity     |octetArray|       default     |
  |--------------------------------------------------------------------|
  |   TBA8  |bgpSourceLargeCommunityList| basicList|        list       |
  |--------------------------------------------------------------------|
  |   TBA9  |    bgpDestinationLarge    |          |                   |
  |         |       CommunityList       |   TBA3  |bgpDestinationCommunityList| basicList|        list       |
  ----------------------------------------------------------------------
  |--------------------------------------------------------------------|

  ----------------------------------------------------------------------
  |ElementID|                 Description                  |   Units   |
  ----------------------------------------------------------------------
  |--------------------------------------------------------------------|
  |   TBA1  |    BGP community as defined in [RFC1997]     |           |
  |---------------------------------------------------------------------
  |--------------------------------------------------------------------|
  |   TBA2  |  zero or more BGP communities corresponding  |           |
  |         |  with source IP address of a specific flow   |           |
  |---------------------------------------------------------------------
  |--------------------------------------------------------------------|
  |   TBA3  |  zero or more BGP communities corresponding  |           |
  |         |with destination IP address of a specific flow|           |
  ----------------------------------------------------------------------
  |--------------------------------------------------------------------|
  |   TBA4  |BGP Extended Community as defined in [RFC4360]|           |
  |         |The size of this IE is 8 octets               |           |
  |--------------------------------------------------------------------|
  |         |    zero or more BGP Extended Communities     |           |
  |   TBA5  | corresponding with source IP address of      |           |
  |         |               a specific flow                |           |
  |--------------------------------------------------------------------|
  |         |    zero or more BGP Extended communities     |           |
  |   TBA6  |  corresponding with destination IP address   |           |
  |         |              of a specific flow              |           |
  |--------------------------------------------------------------------|
  |   TBA7  | BGP Large Community as defined in [RFC8092]  |           |
  |         | The size of this IE is 12 octets.            |           |
  |--------------------------------------------------------------------|
  |         |     zero or more BGP Large Communities       |           |
  |   TBA8  |    corresponding with source IP address      |           |
  |         |             of a specific flow               |           |
  |--------------------------------------------------------------------|
  |         |     zero or more BGP Large communities       |           |
  |   TBA9  |   corresponding with destination IP address  |           |
  |         |              of a specific flow              |           |
  |--------------------------------------------------------------------|

  ----------------------------------------------------------------------
  |ElementID|  Range  |   References  | Requester | Revision |   date  |
  ----------------------------------------------------------------------
  |--------------------------------------------------------------------|
  |   TBA1  |         |    RFC1997    |this draft |    0     |         |
  |---------------------------------------------------------------------
  |--------------------------------------------------------------------|
  |   TBA2  |         |RFC6313,RFC1997|this draft |    0     |         |
  |---------------------------------------------------------------------
  |--------------------------------------------------------------------|
  |   TBA3  |         |RFC6313,RFC1997|this draft |    0     |         |
  ----------------------------------------------------------------------
  |--------------------------------------------------------------------|
  |   TBA4  |         |    RFC4360    |this draft |    0     |         |
  |--------------------------------------------------------------------|
  |   TBA5  |         |RFC6313,RFC4360|this draft |    0     |         |
  |--------------------------------------------------------------------|
  |   TBA6  |         |RFC6313,RFC4360|this draft |    0     |         |
  |--------------------------------------------------------------------|
  |   TBA7  |         |    RFC8092    |this draft |    0     |         |
  |--------------------------------------------------------------------|
  |   TBA8  |         |RFC6313,RFC8092|this draft |    0     |         |
  |--------------------------------------------------------------------|
  |   TBA9  |         |RFC6313,RFC8092|this draft |    0     |         |
  |--------------------------------------------------------------------|

                      Figure 4

6. 10: IANA Considerations

10.  Acknowledgements

   The authors would like to thank Benoit Claise and Paul Aitken for
   their comments and suggestions to promote this document.
   Appreciations are given to Tianran Zhou, Jeffrey Haas, Ignas
   Bagdonas, Stewart Bryant, Paolo Lucente, Job Snijders, Jared Mauch,
   etc, for their discussion in the mail list.

7.

11.  References

7.1.

11.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <http://www.rfc-editor.org/info/rfc2119>.

   [RFC6313]  Claise, B., Dhandapani, G., Aitken, P., and S. Yates,
              "Export of Structured Data in IP Flow Information Export
              (IPFIX)", RFC 6313, DOI 10.17487/RFC6313, July 2011,
              <http://www.rfc-editor.org/info/rfc6313>.

   [RFC7011]  Claise, B., Ed., Trammell, B., Ed., and P. Aitken,
              "Specification of the IP Flow Information Export (IPFIX)
              Protocol for the Exchange of Flow Information", STD 77,
              RFC 7011, DOI 10.17487/RFC7011, September 2013,
              <http://www.rfc-editor.org/info/rfc7011>.

   [RFC7012]  Claise, B., Ed. and B. Trammell, Ed., "Information Model
              for IP Flow Information Export (IPFIX)", RFC 7012,
              DOI 10.17487/RFC7012, September 2013,
              <http://www.rfc-editor.org/info/rfc7012>.

7.2.

11.2.  Informative References

   [Community-TE]
              Shao, W., Devienne, F., Iannone, L., and JL. Rougier, "On
              the use of BGP communities for fine-grained inbound
              traffic engineering", Computer Science 27392(1):476-487,
              November 2015.

   [I-D.ietf-idr-bgp-extended-messages]
              Bush, R., Patel, K., and D. Ward, "Extended Message
              support for BGP", draft-ietf-idr-bgp-extended-messages-21
              (work in progress), March 2017.

   [I-D.ietf-idr-wide-bgp-communities]
              Raszuk, R., Haas, J., Lange, A., Decraene, B., Amante, S.,
              and P. Jakma, "BGP Community Container Attribute", draft-
              ietf-idr-wide-bgp-communities-04 (work in progress), March
              2017.

   [IANA-IPFIX]
              "IP Flow Information Export (IPFIX) Entities",
              <http://www.iana.org/assignments/ipfix/>.

   [RFC1997]  Chandra, R., Traina, P., and T. Li, "BGP Communities
              Attribute", RFC 1997, DOI 10.17487/RFC1997, August 1996,
              <http://www.rfc-editor.org/info/rfc1997>.

   [RFC4271]  Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A
              Border Gateway Protocol 4 (BGP-4)", RFC 4271,
              DOI 10.17487/RFC4271, January 2006,
              <http://www.rfc-editor.org/info/rfc4271>.

   [RFC4360]  Sangli, S., Tappan, D., and Y. Rekhter, "BGP Extended
              Communities Attribute", RFC 4360, DOI 10.17487/RFC4360,
              February 2006, <http://www.rfc-editor.org/info/rfc4360>.

   [RFC4384]  Meyer, D., "BGP Communities for Data Collection", BCP 114,
              RFC 4384, DOI 10.17487/RFC4384, February 2006,
              <http://www.rfc-editor.org/info/rfc4384>.

   [RFC5982]  Kobayashi, A., Ed. and B. Claise, Ed., "IP Flow
              Information Export (IPFIX) Mediation: Problem Statement",
              RFC 5982, DOI 10.17487/RFC5982, August 2010,
              <http://www.rfc-editor.org/info/rfc5982>.

   [RFC6183]  Kobayashi, A., Claise, B., Muenz, G., and K. Ishibashi,
              "IP Flow Information Export (IPFIX) Mediation: Framework",
              RFC 6183, DOI 10.17487/RFC6183, April 2011,
              <http://www.rfc-editor.org/info/rfc6183>.

   [RFC8092]  Heitz, J., Ed., Snijders, J., Ed., Patel, K., Bagdonas,
              I., and N. Hilliard, "BGP Large Communities Attribute",
              RFC 8092, DOI 10.17487/RFC8092, February 2017,
              <http://www.rfc-editor.org/info/rfc8092>.

Appendix A.  Application Example

   In this section, we give an example to show the encoding format for
   the three new introduced IEs.

   Flow information including BGP communities is shown in the below
   table.  Suppose we want all the fields to be reported by IPFIX.

--------------------------------------------------------------------------
|Source ip|Destination ip |Source BGP community|Destination BGP community|
--------------------------------------------------------------------------
| 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       |
--------------------------------------------------------------------------

           Figure 5: 11: Flow information including BGP communities

A.1.  Template Record
    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |          SET ID = 2           |       Length = 24             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |      Template ID = 256        |        Field Count = 4        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |0|    SourceIPv4Address = 8    |        Field length = 4       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |0| DestinationIPv4Address = 12 |        Field length = 4       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |0| bgpSourceCommunityList = 459|      Field length = 0xFFFF    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |0| bgpDestinationCommunityList |      Field length = 0xFFFF    |
   | |         = 460               |                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                Figure 6: 12: Template Record Encoding Format

   In this example, the Template ID is 256, which will be used in the
   data record.  The field length for bgpSourceCommunityList and
   bgpDestinationCommunityList is 0xFFFF, which means the length of this
   IE is variable, the actual length of this IE is indicated by the list
   length field in the basic list format as per [RFC6313].

A.2.  Data Set

   The data set is represented as follows:

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         SET ID = 256          |           Length = 92         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                  SourceIPv4Address = 1.1.1.1                  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |               DestinationIPv4Address = 2.2.2.2                |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |      255      |        List length = 17       |semantic=allof |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |      bgpCommunity = 458       |          Field Len = 4        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        BGP Source Community Value 1 = 1:1001                  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        BGP Source Community Value 2 = 1:1002                  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        BGP Source Community Value 3 = 8:1001                  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     255       |        List length = 13       |semantic =allof|
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |      bgpCommunity = 458       |          Field Len = 4        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         BGP Destination Community Value 1 = 2:1002            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         BGP Destination Community Value 2 = 8:1001            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                  SourceIPv4Address = 3.3.3.3                  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |               DestinationIPv4Address = 4.4.4.4                |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     255       |        List length = 17       |semantic =allof|
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |      bgpCommunity = 458       |          Field Len = 4        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        BGP Source Community Value 1  = 3:1001                 |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        BGP Source Community Value 2  = 3:1002                 |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        BGP Source Community Value 3  = 8:1001                 |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     255       |        List length = 13       |semantic =allof|
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |      bgpCommunity = 458       |          Field Len = 4        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         BGP Destination Community Value 1 = 4:1001            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         BGP Destination Community Value 2 = 8:1001            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                    Figure 7: 13: Data Set Encoding Format

Authors' Addresses

   Zhenqiang Li (editor)
   China Mobile
   32 Xuanwumen West Ave, Xicheng District
   Beijing  100053
   China

   Email: lizhenqiang@chinamobile.com li_zhenqiang@hotmail.com
   Rong Gu (editor)
   China Mobile
   32 Xuanwumen West Ave, Xicheng District
   Beijing  100053
   China

   Email: gurong_cmcc@outlook.com

   Jie Dong
   Huawei Technologies
   Huawei Campus, No. 156 Beiqing Rd.
   Beijing  100095
   China

   Email: jie.dong@huawei.com