idnits 2.17.1 draft-ietf-opsawg-ipfix-bgp-community-05.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- == There are 6 instances of lines with non-RFC6890-compliant IPv4 addresses in the document. If these are example addresses, they should be changed. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (March 5, 2018) is 2244 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Outdated reference: A later version (-36) exists of draft-ietf-idr-bgp-extended-messages-24 Summary: 0 errors (**), 0 flaws (~~), 3 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 opsawg Z. Li 3 Internet-Draft R. Gu 4 Updates: 7012 (if approved) China Mobile 5 Intended status: Standards Track J. Dong 6 Expires: September 6, 2018 Huawei Technologies 7 March 5, 2018 9 Export BGP community information in IP Flow Information Export (IPFIX) 10 draft-ietf-opsawg-ipfix-bgp-community-05 12 Abstract 14 This draft updates RFC7012 IPFIX information model by introducing 15 several information elements (IEs) to enable IPFIX to export the BGP 16 community information, including BGP standard community defined in 17 RFC1997, BGP extended community defined in RFC4360, and BGP large 18 community defined in RFC8092. Network traffic flow information can 19 then be accumulated and analysed at the granularity specified by the 20 BGP communities, which is suitable for and needed by some traffic 21 optimization applications located in IPFIX collector, SDN controller 22 or PCE (Path Computation Element). 24 To clarify, no new BGP community attribute is defined in this 25 document and this document has no purpose to replace BGP Monitoring 26 Protocol BMP defined in RFC7854. The IEs introduced in this document 27 are used by IPFIX together with other IEs to facilitate the IPFIX 28 collector analyzing the traffic in BGP community granularity without 29 running the heavy BGP protocol. 31 Status of This Memo 33 This Internet-Draft is submitted in full conformance with the 34 provisions of BCP 78 and BCP 79. 36 Internet-Drafts are working documents of the Internet Engineering 37 Task Force (IETF). Note that other groups may also distribute 38 working documents as Internet-Drafts. The list of current Internet- 39 Drafts is at https://datatracker.ietf.org/drafts/current/. 41 Internet-Drafts are draft documents valid for a maximum of six months 42 and may be updated, replaced, or obsoleted by other documents at any 43 time. It is inappropriate to use Internet-Drafts as reference 44 material or to cite them other than as "work in progress." 46 This Internet-Draft will expire on September 6, 2018. 48 Copyright Notice 50 Copyright (c) 2018 IETF Trust and the persons identified as the 51 document authors. All rights reserved. 53 This document is subject to BCP 78 and the IETF Trust's Legal 54 Provisions Relating to IETF Documents 55 (https://trustee.ietf.org/license-info) in effect on the date of 56 publication of this document. Please review these documents 57 carefully, as they describe your rights and restrictions with respect 58 to this document. Code Components extracted from this document must 59 include Simplified BSD License text as described in Section 4.e of 60 the Trust Legal Provisions and are provided without warranty as 61 described in the Simplified BSD License. 63 Table of Contents 65 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 66 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5 67 3. BGP Community based Traffic Collection . . . . . . . . . . . 5 68 4. IEs for BGP Standard Community . . . . . . . . . . . . . . . 6 69 4.1. bgpCommunity . . . . . . . . . . . . . . . . . . . . . . 7 70 4.2. bgpSourceCommunityList . . . . . . . . . . . . . . . . . 7 71 4.3. bgpDestinationCommunityList . . . . . . . . . . . . . . . 7 72 5. IEs for BGP Extended Community . . . . . . . . . . . . . . . 8 73 5.1. bgpExtendedCommunity . . . . . . . . . . . . . . . . . . 8 74 5.2. bgpSourceExtendedCommunityList . . . . . . . . . . . . . 9 75 5.3. bgpDestinationExtendedCommunityList . . . . . . . . . . . 9 76 6. IEs for BGP Large Community . . . . . . . . . . . . . . . . . 10 77 6.1. bgpLargeCommunity . . . . . . . . . . . . . . . . . . . . 10 78 6.2. bgpSourceLargeCommunityList . . . . . . . . . . . . . . . 11 79 6.3. bgpDestinationLargeCommunityList . . . . . . . . . . . . 11 80 7. Operational Considerations . . . . . . . . . . . . . . . . . 12 81 8. Security Considerations . . . . . . . . . . . . . . . . . . . 13 82 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 83 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 15 84 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 15 85 11.1. Normative References . . . . . . . . . . . . . . . . . . 15 86 11.2. Informative References . . . . . . . . . . . . . . . . . 16 87 Appendix A. Encoding Example . . . . . . . . . . . . . . . . . . 17 88 A.1. Template Record . . . . . . . . . . . . . . . . . . . . . 18 89 A.2. Data Set . . . . . . . . . . . . . . . . . . . . . . . . 18 90 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 20 92 1. Introduction 94 IP Flow Information Export (IPFIX) [RFC7011] provides network 95 administrators with traffic flow information using the information 96 elements (IEs) defined in [IANA-IPFIX] registries. Based on the 97 traffic flow information, network administrators know the amount and 98 direction of the traffic in their network, then they can optimize 99 their network when needed. For example, they can shift some flows 100 from the congested links to the low utilized links through a SDN 101 controller or PCE [RFC4655]. 103 [IANA-IPFIX] has already defined the following IEs for traffic flow 104 information exporting in different granularities: sourceIPv4Address, 105 sourceIPv4Prefix, destinationIPv4Address, destinationIPv4Prefix, 106 bgpSourceAsNumber, bgpDestinationAsNumber, bgpNextHopIPv4Address, 107 etc. In some circumstances, however, especially when traffic 108 engineering and optimization are executed in the Tier 1 or Tier 2 109 operators' backbone networks, traffic flow information based on these 110 IEs may not be suitable. Flow information based on IP address or IP 111 prefix may provide much too fine granularity for a large network. On 112 the contrary, flow information based on AS number may be too coarse. 114 BGP community is a BGP path attribute defined in IDR (Inter Domain 115 Routing) working group. The already defined BGP community attribute 116 includes the standard community defined in [RFC1997], the extended 117 community defined in [RFC4360], and the large community defined in 118 [RFC8092]. BGP community attribute has a variety of use cases, one 119 common practice of which for the operators is to use BGP community 120 with planned specific values in their field networks to represent the 121 groups of customers, peers, geographical and topological regions. 122 Please refer to [RFC4384], [RFC8195] and Section 3 of this document 123 for the detailed examples. To know the traffic generated by differnt 124 kinds of customers, from differnt geographical or topological 125 regions, by differnt kinds of customers in differnt regions, we need 126 the corresponding community information related to the traffic flow 127 exported by IPFIX. Netwok traffic statistic in BGP community 128 granularity is useful not only for the traffic analyzing, but also 129 can then be used by other applications, such as the traffic 130 optimization applications located in IPFIX collector, SDN controller 131 or PCE. [Community-TE] also states analyzing network traffic 132 information at the granularity specified by BGP community is prefered 133 for inbound traffic engineering. However, there is no IE defined for 134 BGP community attribute in [IANA-IPFIX] yet. 136 Flow information based on BGP community may be collected by a 137 mediator defined in [RFC6183]. Mediator is responsible for the 138 correlation between flow information and BGP community. However no 139 IEs are defined in [RFC6183] for exporting BGP community information 140 in IPFIX. Furthermore, to correlate the BGP community with the flow 141 information, mediator needs to learn BGP routes and perform lookup in 142 the BGP routing table to get the matching entry for a specific flow. 143 Neither BGP route learning nor routing table lookup is trivial for a 144 mediator. Mediator is mainly introduced to release the performance 145 requirement for the exporter [RFC5982]. In fact, to obtain the 146 information for BGP related IEs that have already been defined, such 147 as bgpSourceAsNumber, bgpDestinationAsNumber, and 148 bgpNextHopIPv4Address, etc, exporter has to hold the up-to-date BGP 149 routing table and perform lookup in the BGP routing table. The 150 exporter can obtain the BGP community information in the same 151 procedure, thus exporting BGP community information adds no more 152 requirement for exporter. It is RECOMMENDED that the BGP community 153 information be exported by the exporter directly using IPFIX. 155 Through running BGP [RFC4271] or BMP [RFC7854] and performing lookup 156 in the BGP routing table to get the matching entry for a specific 157 flow (we call it correlation), IPFIX collectors and other 158 applications, such as SDN controller or PCE, can figure up the 159 network traffic at BGP community granularity. However,neither 160 running BGP or BMP protocol nor routing table lookup is trivial for 161 the IPFIX collectors and other applications. Moreover correlation 162 between IPFIX flow information and the BGP RIB on the exporter (such 163 as router) is more accurate, compared to the correlation on a 164 collector, since the BGP routing table may be updated when the IPFIX 165 collectors and other applications reveive the IPFIX flow information. 166 And as stated above, the exporter can obtain the BGP community 167 information in the same procedure when it obtains other BGP related 168 informaiton. So exporting the BGP community information directly by 169 the exporter to the collector is the efficient and accurate way. If 170 the IPFIX collectors and other applications only want to figure up 171 the network traffic at BGP community granularity, they do not need to 172 run the heavy BGP or BMP protocol when the BGP community information 173 can be obtained by IPFIX. However, we have to clarify, the BMP 174 protocol has its own application scenario, the mechanisum introduced 175 in this document has no purpose to replace it. 177 This draft introduces new IEs to extend the IPFIX information model 178 defined in [RFC7012] to export the BGP community information, 179 including BGP standard community defined in [RFC1997], BGP extended 180 community defined in [RFC4360], and BGP large community defined in 181 [RFC8092]. Flow information, including packetDeltaCount, 182 octetDeltaCount [RFC7012] etc, can then be accumulated and analysed 183 by the collector or other applications, such as SDN controller or PCE 184 [RFC4655], at the granularity specified by BGP community , which is 185 useful for knowing the traffic generted by different kinds of 186 customers, from differnt geographical or topological regions 187 according to the operator's BGP community plan, and can then be used 188 by the traffic engineering or traffic optimization applications, 189 especially in the backbone network. To clarify, no new BGP community 190 attribute is defined in this document, IDR (Inter Domain Routing) 191 working group is the right place to define new community attributes 192 for the BGP protocol. 194 The IEs introduced in this document are applicable for both IPv4 and 195 IPv6 traffic. Both exporter and mediator can use these IEs to export 196 BGP community information in IPFIX. 198 Please refer Appendix A for the encoding example and Section 3 for a 199 detailed use case. 201 2. Terminology 203 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 204 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 205 document are to be interpreted as described in [RFC2119]. 207 3. BGP Community based Traffic Collection 209 [RFC4384] introduces the mechanism of using BGP standard communities 210 and extended communities to collect the geographical and topological 211 related information in BGP routing system. [RFC8195] gives some 212 examples about the application of BGP large communities to represent 213 the geographical regions. Since the network traffic at the BGP 214 community granularity represents the traffic generted by different 215 kinds of customers, from differnt geographical regions according to 216 the network operator's BGP community plan, it is useful for the 217 network operators to analyze and optimize the network traffic among 218 different customers and regions. This section gives a use case in 219 which the network operator uses the BGP community based traffic 220 information to adjust the network paths for different traffic flows. 222 Considering the following scenario, AS C provides transit connection 223 between AS A and B. By tagging with different BGP communities, the 224 routes of AS A and B are categorized into several groups respectively 225 with the operator's plan. For example community A:X and A:Y are used 226 for the routes originated from different geographical regions in AS 227 A, and community B:M and B:N are used for the routes representing the 228 different kinds of customers in AS B, such as B:M is for the mobile 229 customers and B:N is for the fixed line customers. By default, all 230 traffic originated from AS A and destinated to AS B (we call it 231 traffic A-B) goes through path C1-C2-C3 (call it Path-1) in AS C. 232 When the link between C1 and C2 is congested, we cannot simply steer 233 all the traffic A-B from Path-1 to Path C1-C4-C3 (call it Path-2), 234 becuse it will cause the congestion in Path-2. 236 +----------+ 237 | PCE/SDN | 238 +-------|Controller|-------+ 239 | +----------+ | 240 | | 241 | AS C | 242 | | +----------+ | | 243 | | +---|Router C2 |---+ | | 244 | | | +----------+ | | | 245 AS A | | |100 50| | | AS B 246 +--------+ | +---------+ +---------+ | +--------+ 247 |Router A|--|--|Router C1| |Router C3|--|--|Router B| 248 +--------+ | +---------+ +---------+ | +--------+ 249 Community: | |100 100| | Community: 250 A:X | | +----------+ | | B:M 251 A:Y | +---|Router C4 |---+ | B:N 252 +----------+ 254 Figure 1: BGP Community based Traffic Collection 256 If the PCE/SDN controller in AS C can obtain the network traffic 257 information at BGP community granularity, it can steer some traffic 258 related to some BGP communities (when we consider only the source or 259 destination of the traffic), or some BGP community pairs (when we 260 consider both the source and the destination of the traffic) from 261 Path-1 to Path-2 according to the utilization of different paths. 262 For instance, steer the traffic generated by community A:X from 263 Path-1 to Path-2 by deploying route policy at Router C1, or steer the 264 traffic from community A:Y to community B:M from Path-1 to Path-2. 265 Using the IEs defined in this document, IPFIX can export the BGP 266 community information related to a specific traffic flow togecher 267 with other flow information. The traffic information can then be 268 accumulated at BGP community granularity and used by the PCE/SDN 269 controller to steer the appropriate traffic from Path-1 to Path-2. 271 4. IEs for BGP Standard Community 273 [RFC1997] defines the BGP Communities attribute, called BGP Standard 274 Community in this document, which describes a group of routes sharing 275 some common properties. BGP Standard Communities are treated as 32 276 bit values as stated in[RFC1997]. 278 In order to export BGP standard community information along with 279 other flow information defined by IPFIX, three new IEs are 280 introduced. One is bgpCommunity, which is used to identify that the 281 value in this IE is a BGP standard community. The other two are 282 bgpSourceCommunityList and bgpDestinationCommunityList, which are 283 both basicList [RFC6313] of bgpCommunity, and are used to export BGP 284 standard community information corresponding to a specific flow's 285 source IP and destination IP respectively. 287 The detailed information of the three new IEs are shown in the 288 following sections. 290 4.1. bgpCommunity 292 ---------------------------------------------------------------------- 293 | ElementID | to be assigned by IANA | 294 |--------------------------------------------------------------------| 295 | Name | bgpCommunity | 296 |--------------------------------------------------------------------| 297 | Data Type | unsigned32 | 298 |--------------------------------------------------------------------| 299 | Data Type Semantics | identifier | 300 |--------------------------------------------------------------------| 301 | Description | BGP community as defined in [RFC1997] | 302 |--------------------------------------------------------------------| 303 | Units | none | 304 |--------------------------------------------------------------------| 306 Figure 2: bgpCommunity 308 4.2. bgpSourceCommunityList 310 ---------------------------------------------------------------------- 311 | ElementID | to be assigned by IANA | 312 |--------------------------------------------------------------------| 313 | Name | bgpSourceCommunityList | 314 |--------------------------------------------------------------------| 315 | Data Type | basicList, as specified in [RFC6313] | 316 |--------------------------------------------------------------------| 317 | Data Type Semantics | list | 318 |--------------------------------------------------------------------| 319 | Description | zero or more BGP communities corresponding | 320 | | with source IP address of a specific flow | 321 |--------------------------------------------------------------------| 322 | Units | none | 323 |--------------------------------------------------------------------| 325 Figure 3: bgpSourceCommunityList 327 4.3. bgpDestinationCommunityList 328 --------------------------------------------------------------------- 329 | ElementID | to be assigned by IANA | 330 |--------------------------------------------------------------------| 331 | Name | bgpDestinationCommunityList | 332 |--------------------------------------------------------------------| 333 | Data Type | basicList, as specified in [RFC6313] | 334 |--------------------------------------------------------------------| 335 | Data Type Semantics | list | 336 |--------------------------------------------------------------------| 337 | Description | zero or more BGP communities corresponding | 338 | |with destination IP address of a specific flow| 339 |--------------------------------------------------------------------| 340 | Units | none | 341 |--------------------------------------------------------------------| 343 Figure 4: bgpDestinationCommunityList 345 5. IEs for BGP Extended Community 347 [RFC4360] defines the BGP Extended Communities attribute, which 348 provides a mechanism for labeling the information carried in BGP. 349 Each Extended Community is encoded as an 8-octet quantity with the 350 format defined in [RFC4360]. 352 In order to export BGP Extended Community information together with 353 other flow information by IPFIX, three new IEs are introduced. The 354 first one is bgpExtendedCommunity, which is used to identify that the 355 value in this IE is a BGP Extended Community. The other two are 356 bgpSourceExtendedCommunityList and 357 bgpDestinationExtendedCommunityList, which are both basicList 358 [RFC6313] of bgpExtendedCommunity, and are used to export the BGP 359 Extended Community information corresponding to a specific flow's 360 source IP and destination IP respectively. 362 The detailed information of the three new IEs are shown in the 363 following sections. 365 5.1. bgpExtendedCommunity 366 ---------------------------------------------------------------------- 367 | ElementID | to be assigned by IANA | 368 |--------------------------------------------------------------------| 369 | Name | bgpExtendedCommunity | 370 |--------------------------------------------------------------------| 371 | Data Type | octetArray | 372 |--------------------------------------------------------------------| 373 | Data Type Semantics | default | 374 |--------------------------------------------------------------------| 375 | |BGP Extended Community as defined in [RFC4360]| 376 | Description |The size of this Information Element is 8 | 377 | |octets. | 378 |--------------------------------------------------------------------| 379 | Units | none | 380 |--------------------------------------------------------------------| 382 Figure 5: bgpExtendedCommunity 384 5.2. bgpSourceExtendedCommunityList 386 ---------------------------------------------------------------------- 387 | ElementID | to be assigned by IANA | 388 |--------------------------------------------------------------------| 389 | Name | bgpSourceExtendedCommunityList | 390 |--------------------------------------------------------------------| 391 | Data Type | basicList, as specified in [RFC6313] | 392 |--------------------------------------------------------------------| 393 | Data Type Semantics | list | 394 |--------------------------------------------------------------------| 395 | | zero or more BGP Extended Communities | 396 | Description | corresponding with source IP address | 397 | | of a specific flow | 398 |--------------------------------------------------------------------| 399 | Units | none | 400 |--------------------------------------------------------------------| 402 Figure 6: bgpSourceExtendedCommunityList 404 5.3. bgpDestinationExtendedCommunityList 405 ---------------------------------------------------------------------- 406 | ElementID | to be assigned by IANA | 407 |--------------------------------------------------------------------| 408 | Name | bgpDestinationExtendedCommunityList | 409 |--------------------------------------------------------------------| 410 | Data Type | basicList, as specified in [RFC6313] | 411 |--------------------------------------------------------------------| 412 | Data Type Semantics | list | 413 |--------------------------------------------------------------------| 414 | | zero or more BGP Extended communities | 415 | Description | corresponding with destination IP address | 416 | | of a specific flow | 417 |--------------------------------------------------------------------| 418 | Units | none | 419 |--------------------------------------------------------------------| 421 Figure 7: bgpDestinationExtendedCommunityList 423 6. IEs for BGP Large Community 425 [RFC8092] defines the BGP Large Communities attribute, which is 426 suitable for use with all Autonomous System Numbers (ASNs) including 427 four-octet ASNs. Each BGP Large Community is encoded as a 12-octet 428 quantity with the format defined in [RFC8092]. 430 In order to export BGP Large Community information together with 431 other flow information by IPFIX, three new IEs are introduced. The 432 first one is bgpLargeCommunity, which is used to identify that the 433 value in this IE is a BGP Large Community. The other two are 434 bgpSourceLargeCommunityList and bgpDestinationLargeCommunityList, 435 which are both basicList [RFC6313] of bgpLargeCommunity, and are used 436 to export the BGP Large Community information corresponding to a 437 specific flow's source IP and destination IP respectively. 439 The detailed information of the three new IEs are shown in the 440 following sections. 442 6.1. bgpLargeCommunity 443 ---------------------------------------------------------------------- 444 | ElementID | to be assigned by IANA | 445 |--------------------------------------------------------------------| 446 | Name | bgpLargeCommunity | 447 |--------------------------------------------------------------------| 448 | Data Type | octetArray | 449 |--------------------------------------------------------------------| 450 | Data Type Semantics | default | 451 |--------------------------------------------------------------------| 452 | | BGP Large Community as defined in [RFC8092] | 453 | Description | The size of this Information Element is 12 | 454 | | octets. | 455 |--------------------------------------------------------------------| 456 | Units | none | 457 |--------------------------------------------------------------------- 459 Figure 8: bgpLargeCommunity 461 6.2. bgpSourceLargeCommunityList 463 ---------------------------------------------------------------------- 464 | ElementID | to be assigned by IANA | 465 |--------------------------------------------------------------------| 466 | Name | bgpSourceLargeCommunityList | 467 |--------------------------------------------------------------------| 468 | Data Type | basicList, as specified in [RFC6313] | 469 |--------------------------------------------------------------------| 470 | Data Type Semantics | list | 471 |--------------------------------------------------------------------| 472 | | zero or more BGP Large Communities | 473 | Description | corresponding with source IP address | 474 | | of a specific flow | 475 |--------------------------------------------------------------------| 476 | Units | none | 477 |--------------------------------------------------------------------| 479 Figure 9: bgpSourceLargeCommunityList 481 6.3. bgpDestinationLargeCommunityList 482 ---------------------------------------------------------------------- 483 | ElementID | to be assigned by IANA | 484 |--------------------------------------------------------------------| 485 | Name | bgpDestinationLargeCommunityList | 486 |--------------------------------------------------------------------| 487 | Data Type | basicList, as specified in [RFC6313] | 488 |--------------------------------------------------------------------| 489 | Data Type Semantics | list | 490 |--------------------------------------------------------------------| 491 | Description | zero or more BGP Large communities | 492 | | corresponding with destination IP address | 493 | | of a specific flow | 494 |--------------------------------------------------------------------| 495 | Units | none | 496 |--------------------------------------------------------------------| 498 Figure 10: bgpDestinationLargeCommunityList 500 7. Operational Considerations 502 The maximum length of an IPFIX message is 65535 bytes as per 503 [RFC7011] , and the maximum length of a normal BGP message is 4096 504 bytes as per [RFC4271]. Since BGP communities, including standard, 505 extended, and large communities , are BGP path attributes carried in 506 BGP Update messages, the total length of these attributes can not 507 exceed the length of a BGP message, i.e. 4096 bytes. So one IPFIX 508 message with maximum length of 65535 bytes has enough space to fit 509 all the communities related to a specific flow, both the source IP 510 and the destination IP related. 512 [I-D.ietf-idr-bgp-extended-messages] extends the maximum size of a 513 BGP Update message to 65535 bytes. Then theoretically the BGP 514 community information related to a specific flow may exceed the 515 length one IPFIX message. However, according to the information 516 about the networks in the field, the number of BGP communities in one 517 BGP route is usually no more than 10. Nevertheless, BGP speakers 518 that support the extended message SHOULD be careful to export the BGP 519 communities in the IPFIX message properly, such as only convey as 520 many communities as possible in the IPFIX message. The collector 521 which receives an IPFIX message with maximum length and BGP 522 communities contained in its data set SHOULD be aware that the BGP 523 communities may be truncated due to limited message space. In this 524 case, it is RECOMMENDED to configure export policy of BGP communities 525 on the exporter to limit the BGP communities to be exported, so as to 526 only export some specific communities,or not to export some specific 527 communities. 529 If needed, we may consider to extend the message length of IPFIX 530 [RFC7011] from 16 bits to 32 bits to solve this problem completely. 531 The detailed mechanism is out of the scope of this document. 533 To align with the size of BGP extended community and large community, 534 the size of IE bgpExtendedCommunity and bgpLargeCommunity is 8 octets 535 and 12 octets respectively. In the event that the 536 bgpExtendedCommunity or bgpLargeCommunity Elements are not of their 537 expected sizes (8 and 12 octets, respectively), the IPFIX collector 538 SHOULD ignore them. This is intended to protect implementations 539 using BGP logic from calling their parsing routines with invalid 540 lengths. 542 For the proper processing of the exporter, when it receives the 543 template requesting to report the BGP community information (refer 544 Appendix A for an example), the exporter SHOULD obtain the 545 coressponding BGP community information through BGP lookup using the 546 corresponding source or destination IP of the specific traffic flow. 547 When exporting the IPFIX information to the collector, the exporter 548 SHOULD include the corresponding BGP communities in the IPFIX 549 message. 551 8. Security Considerations 553 This document only defines three new IEs for IPFIX. This document 554 itself does not directly introduce security issues. The same 555 security considerations as for the IPFIX Protocol Specification 556 [RFC7011] and Information Model [RFC7012] apply. 558 As the BGP community information is deducible by other means, there 559 are no increased privacy concerns, neither. 561 9. IANA Considerations 563 This draft specifies the following IPFIX IEs to export BGP community 564 information along with other flow information. 566 The Element IDs for these IEs are solicited to be assigned by IANA. 567 The following table is for IANA's reference to put in each field in 568 the registry. 570 ---------------------------------------------------------------------- 571 |ElementID| Name | Data Type|Data Type Semantics| 572 |--------------------------------------------------------------------| 573 | TBA1 | bgpCommunity |unsigned32| identifier | 574 |--------------------------------------------------------------------| 575 | TBA2 | bgpSourceCommunityList | basicList| list | 576 |--------------------------------------------------------------------| 577 | TBA3 |bgpDestinationCommunityList| basicList| list | 578 |--------------------------------------------------------------------| 579 | TBA4 | bgpExtendedCommunity |octetArray| default | 580 |--------------------------------------------------------------------| 581 | TBA5 | bgpSourceExtended | | | 582 | | CommunityList | basicList| list | 583 |--------------------------------------------------------------------| 584 | TBA6 | bgpDestinationExtended | | | 585 | | CommunityList | basicList| list | 586 |--------------------------------------------------------------------| 587 | TBA7 | bgpLargeCommunity |octetArray| default | 588 |--------------------------------------------------------------------| 589 | TBA8 |bgpSourceLargeCommunityList| basicList| list | 590 |--------------------------------------------------------------------| 591 | TBA9 | bgpDestinationLarge | | | 592 | | CommunityList | basicList| list | 593 |--------------------------------------------------------------------| 595 ---------------------------------------------------------------------- 596 |ElementID| Description | Units | 597 |--------------------------------------------------------------------| 598 | TBA1 | BGP community as defined in [RFC1997] | | 599 |--------------------------------------------------------------------| 600 | TBA2 | zero or more BGP communities corresponding | | 601 | | with source IP address of a specific flow | | 602 |--------------------------------------------------------------------| 603 | TBA3 | zero or more BGP communities corresponding | | 604 | |with destination IP address of a specific flow| | 605 |--------------------------------------------------------------------| 606 | TBA4 |BGP Extended Community as defined in [RFC4360]| | 607 | |The size of this IE is 8 octets | | 608 |--------------------------------------------------------------------| 609 | | zero or more BGP Extended Communities | | 610 | TBA5 | corresponding with source IP address of | | 611 | | a specific flow | | 612 |--------------------------------------------------------------------| 613 | | zero or more BGP Extended communities | | 614 | TBA6 | corresponding with destination IP address | | 615 | | of a specific flow | | 616 |--------------------------------------------------------------------| 617 | TBA7 | BGP Large Community as defined in [RFC8092] | | 618 | | The size of this IE is 12 octets. | | 619 |--------------------------------------------------------------------| 620 | | zero or more BGP Large Communities | | 621 | TBA8 | corresponding with source IP address | | 622 | | of a specific flow | | 623 |--------------------------------------------------------------------| 624 | | zero or more BGP Large communities | | 625 | TBA9 | corresponding with destination IP address | | 626 | | of a specific flow | | 627 |--------------------------------------------------------------------| 629 ---------------------------------------------------------------------- 630 |ElementID| Range | References | Requester | Revision | date | 631 |--------------------------------------------------------------------| 632 | TBA1 | | RFC1997 |this draft | 0 | | 633 |--------------------------------------------------------------------| 634 | TBA2 | |RFC6313,RFC1997|this draft | 0 | | 635 |--------------------------------------------------------------------| 636 | TBA3 | |RFC6313,RFC1997|this draft | 0 | | 637 |--------------------------------------------------------------------| 638 | TBA4 | | RFC4360 |this draft | 0 | | 639 |--------------------------------------------------------------------| 640 | TBA5 | |RFC6313,RFC4360|this draft | 0 | | 641 |--------------------------------------------------------------------| 642 | TBA6 | |RFC6313,RFC4360|this draft | 0 | | 643 |--------------------------------------------------------------------| 644 | TBA7 | | RFC8092 |this draft | 0 | | 645 |--------------------------------------------------------------------| 646 | TBA8 | |RFC6313,RFC8092|this draft | 0 | | 647 |--------------------------------------------------------------------| 648 | TBA9 | |RFC6313,RFC8092|this draft | 0 | | 649 |--------------------------------------------------------------------| 651 Figure 11: IANA Considerations 653 10. Acknowledgements 655 The authors would like to thank Benoit Claise and Paul Aitken for 656 their comments and suggestions to promote this document. 657 Appreciations are given to Tianran Zhou, Warren Kumari, Jeffrey Haas, 658 Ignas Bagdonas, Stewart Bryant, Paolo Lucente, Job Snijders, Jared 659 Mauch, Rudiger Volk, etc, for their discussion, comments and 660 suggestions in the face to face meetings and in the mail list. 662 11. References 664 11.1. Normative References 666 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 667 Requirement Levels", BCP 14, RFC 2119, 668 DOI 10.17487/RFC2119, March 1997, 669 . 671 [RFC6313] Claise, B., Dhandapani, G., Aitken, P., and S. Yates, 672 "Export of Structured Data in IP Flow Information Export 673 (IPFIX)", RFC 6313, DOI 10.17487/RFC6313, July 2011, 674 . 676 [RFC7011] Claise, B., Ed., Trammell, B., Ed., and P. Aitken, 677 "Specification of the IP Flow Information Export (IPFIX) 678 Protocol for the Exchange of Flow Information", STD 77, 679 RFC 7011, DOI 10.17487/RFC7011, September 2013, 680 . 682 [RFC7012] Claise, B., Ed. and B. Trammell, Ed., "Information Model 683 for IP Flow Information Export (IPFIX)", RFC 7012, 684 DOI 10.17487/RFC7012, September 2013, 685 . 687 11.2. Informative References 689 [Community-TE] 690 Shao, W., Devienne, F., Iannone, L., and JL. Rougier, "On 691 the use of BGP communities for fine-grained inbound 692 traffic engineering", Computer Science 27392(1):476-487, 693 November 2015. 695 [I-D.ietf-idr-bgp-extended-messages] 696 Bush, R., Patel, K., and D. Ward, "Extended Message 697 support for BGP", draft-ietf-idr-bgp-extended-messages-24 698 (work in progress), November 2017. 700 [IANA-IPFIX] 701 "IP Flow Information Export (IPFIX) Entities", 702 . 704 [RFC1997] Chandra, R., Traina, P., and T. Li, "BGP Communities 705 Attribute", RFC 1997, DOI 10.17487/RFC1997, August 1996, 706 . 708 [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A 709 Border Gateway Protocol 4 (BGP-4)", RFC 4271, 710 DOI 10.17487/RFC4271, January 2006, 711 . 713 [RFC4360] Sangli, S., Tappan, D., and Y. Rekhter, "BGP Extended 714 Communities Attribute", RFC 4360, DOI 10.17487/RFC4360, 715 February 2006, . 717 [RFC4384] Meyer, D., "BGP Communities for Data Collection", BCP 114, 718 RFC 4384, DOI 10.17487/RFC4384, February 2006, 719 . 721 [RFC4655] Farrel, A., Vasseur, J., and J. Ash, "A Path Computation 722 Element (PCE)-Based Architecture", RFC 4655, 723 DOI 10.17487/RFC4655, August 2006, 724 . 726 [RFC5982] Kobayashi, A., Ed. and B. Claise, Ed., "IP Flow 727 Information Export (IPFIX) Mediation: Problem Statement", 728 RFC 5982, DOI 10.17487/RFC5982, August 2010, 729 . 731 [RFC6183] Kobayashi, A., Claise, B., Muenz, G., and K. Ishibashi, 732 "IP Flow Information Export (IPFIX) Mediation: Framework", 733 RFC 6183, DOI 10.17487/RFC6183, April 2011, 734 . 736 [RFC7854] Scudder, J., Ed., Fernando, R., and S. Stuart, "BGP 737 Monitoring Protocol (BMP)", RFC 7854, 738 DOI 10.17487/RFC7854, June 2016, 739 . 741 [RFC8092] Heitz, J., Ed., Snijders, J., Ed., Patel, K., Bagdonas, 742 I., and N. Hilliard, "BGP Large Communities Attribute", 743 RFC 8092, DOI 10.17487/RFC8092, February 2017, 744 . 746 [RFC8195] Snijders, J., Heasley, J., and M. Schmidt, "Use of BGP 747 Large Communities", RFC 8195, DOI 10.17487/RFC8195, June 748 2017, . 750 Appendix A. Encoding Example 752 In this section, we give an example to show the encoding format for 753 the new introduced IEs. 755 Flow information including BGP communities is shown in the below 756 table. Suppose we want all the fields to be reported by IPFIX. 758 ----------------------------------------------------------------------- 759 |Source ip|Destination ip |Source BGP community| Destination BGP | 760 | | | | community | 761 ----------------------------------------------------------------------- 762 | 1.1.1.1 | 2.2.2.2 |1:1001,1:1002,8:1001| 2:1002,8:1001 | 763 ----------------------------------------------------------------------- 764 | 3.3.3.3 | 4.4.4.4 |3:1001,3:1002,8:1001| 4:1001,8:1001 | 765 ----------------------------------------------------------------------- 767 Figure 12: Flow information including BGP communities 769 A.1. Template Record 771 0 1 2 3 772 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 773 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 774 | SET ID = 2 | Length = 24 | 775 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 776 | Template ID = 256 | Field Count = 4 | 777 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 778 |0| SourceIPv4Address = 8 | Field length = 4 | 779 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 780 |0| DestinationIPv4Address = 12 | Field length = 4 | 781 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 782 |0| bgpSourceCommunityList = 459| Field length = 0xFFFF | 783 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 784 |0| bgpDestinationCommunityList | Field length = 0xFFFF | 785 | | = 460 | | 786 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 788 Figure 13: Template Record Encoding Format 790 In this example, the Template ID is 256, which will be used in the 791 data record. The field length for bgpSourceCommunityList and 792 bgpDestinationCommunityList is 0xFFFF, which means the length of this 793 IE is variable, the actual length of this IE is indicated by the list 794 length field in the basic list format as per [RFC6313]. 796 A.2. Data Set 798 The data set is represented as follows: 800 0 1 2 3 801 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 802 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 803 | SET ID = 256 | Length = 92 | 804 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 805 | SourceIPv4Address = 1.1.1.1 | 806 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 807 | DestinationIPv4Address = 2.2.2.2 | 808 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 809 | 255 | List length = 17 |semantic=allof | 810 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 811 | bgpCommunity = 458 | Field Len = 4 | 812 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 813 | BGP Source Community Value 1 = 1:1001 | 814 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 815 | BGP Source Community Value 2 = 1:1002 | 816 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 817 | BGP Source Community Value 3 = 8:1001 | 818 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 819 | 255 | List length = 13 |semantic =allof| 820 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 821 | bgpCommunity = 458 | Field Len = 4 | 822 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 823 | BGP Destination Community Value 1 = 2:1002 | 824 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 825 | BGP Destination Community Value 2 = 8:1001 | 826 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 827 | SourceIPv4Address = 3.3.3.3 | 828 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 829 | DestinationIPv4Address = 4.4.4.4 | 830 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 831 | 255 | List length = 17 |semantic =allof| 832 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 833 | bgpCommunity = 458 | Field Len = 4 | 834 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 835 | BGP Source Community Value 1 = 3:1001 | 836 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 837 | BGP Source Community Value 2 = 3:1002 | 838 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 839 | BGP Source Community Value 3 = 8:1001 | 840 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 841 | 255 | List length = 13 |semantic =allof| 842 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 843 | bgpCommunity = 458 | Field Len = 4 | 844 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 845 | BGP Destination Community Value 1 = 4:1001 | 846 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 847 | BGP Destination Community Value 2 = 8:1001 | 848 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 850 Figure 14: Data Set Encoding Format 852 Authors' Addresses 854 Zhenqiang Li 855 China Mobile 856 32 Xuanwumen West Ave, Xicheng District 857 Beijing 100053 858 China 860 Email: li_zhenqiang@hotmail.com 862 Rong Gu 863 China Mobile 864 32 Xuanwumen West Ave, Xicheng District 865 Beijing 100053 866 China 868 Email: gurong_cmcc@outlook.com 870 Jie Dong 871 Huawei Technologies 872 Huawei Campus, No. 156 Beiqing Rd. 873 Beijing 100095 874 China 876 Email: jie.dong@huawei.com