idnits 2.17.1 draft-ietf-opsawg-ipfix-bgp-community-04.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 (December 4, 2017) is 2307 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: June 7, 2018 Huawei Technologies 7 December 4, 2017 9 Export BGP community information in IP Flow Information Export (IPFIX) 10 draft-ietf-opsawg-ipfix-bgp-community-04 12 Abstract 14 This draft updates RFC7012 IPFIX information model by introducing 15 several information elements 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 Status of This Memo 26 This Internet-Draft is submitted in full conformance with the 27 provisions of BCP 78 and BCP 79. 29 Internet-Drafts are working documents of the Internet Engineering 30 Task Force (IETF). Note that other groups may also distribute 31 working documents as Internet-Drafts. The list of current Internet- 32 Drafts is at https://datatracker.ietf.org/drafts/current/. 34 Internet-Drafts are draft documents valid for a maximum of six months 35 and may be updated, replaced, or obsoleted by other documents at any 36 time. It is inappropriate to use Internet-Drafts as reference 37 material or to cite them other than as "work in progress." 39 This Internet-Draft will expire on June 7, 2018. 41 Copyright Notice 43 Copyright (c) 2017 IETF Trust and the persons identified as the 44 document authors. All rights reserved. 46 This document is subject to BCP 78 and the IETF Trust's Legal 47 Provisions Relating to IETF Documents 48 (https://trustee.ietf.org/license-info) in effect on the date of 49 publication of this document. Please review these documents 50 carefully, as they describe your rights and restrictions with respect 51 to this document. Code Components extracted from this document must 52 include Simplified BSD License text as described in Section 4.e of 53 the Trust Legal Provisions and are provided without warranty as 54 described in the Simplified BSD License. 56 Table of Contents 58 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 59 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 60 3. BGP Community based Traffic Collection . . . . . . . . . . . 4 61 4. IEs for BGP Standard Community . . . . . . . . . . . . . . . 5 62 4.1. bgpCommunity . . . . . . . . . . . . . . . . . . . . . . 6 63 4.2. bgpSourceCommunityList . . . . . . . . . . . . . . . . . 6 64 4.3. bgpDestinationCommunityList . . . . . . . . . . . . . . . 6 65 5. IEs for BGP Extended Community . . . . . . . . . . . . . . . 7 66 5.1. bgpExtendedCommunity . . . . . . . . . . . . . . . . . . 7 67 5.2. bgpSourceExtendedCommunityList . . . . . . . . . . . . . 8 68 5.3. bgpDestinationExtendedCommunityList . . . . . . . . . . . 8 69 6. IEs for BGP Large Community . . . . . . . . . . . . . . . . . 9 70 6.1. bgpLargeCommunity . . . . . . . . . . . . . . . . . . . . 9 71 6.2. bgpSourceLargeCommunityList . . . . . . . . . . . . . . . 10 72 6.3. bgpDestinationLargeCommunityList . . . . . . . . . . . . 10 73 7. Operational Considerations . . . . . . . . . . . . . . . . . 11 74 8. Security Considerations . . . . . . . . . . . . . . . . . . . 12 75 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 76 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 14 77 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 14 78 11.1. Normative References . . . . . . . . . . . . . . . . . . 14 79 11.2. Informative References . . . . . . . . . . . . . . . . . 15 80 Appendix A. Encoding Example . . . . . . . . . . . . . . . . . . 16 81 A.1. Template Record . . . . . . . . . . . . . . . . . . . . . 16 82 A.2. Data Set . . . . . . . . . . . . . . . . . . . . . . . . 17 83 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 18 85 1. Introduction 87 IP Flow Information Export (IPFIX) [RFC7011] provides network 88 administrators with traffic flow information using the information 89 elements (IEs) defined in [IANA-IPFIX] registries. Based on the 90 traffic flow information, network administrators know the amount and 91 direction of the traffic in their network, then they can optimize 92 their network when needed. For example, they can shift some flows 93 from the congested links to the low utilized links through a SDN 94 controller or PCE [RFC4655]. 96 [IANA-IPFIX] has already defined the following IEs for traffic flow 97 information exporting in different granularities: sourceIPv4Address, 98 sourceIPv4Prefix, destinationIPv4Address, destinationIPv4Prefix, 99 bgpSourceAsNumber, bgpDestinationAsNumber, bgpNextHopIPv4Address, 100 etc. In some circumstances, however, especially when traffic 101 engineering and optimization are executed in the Tier 1 or Tier 2 102 operators' backbone networks, traffic flow information based on these 103 IEs may not be suitable. Flow information based on IP address or IP 104 prefix may provide much too fine granularity for a large network. On 105 the contrary, flow information based on AS number may be too coarse. 106 BGP community [RFC1997], which describes a group of routes sharing 107 some common properties, is preferably used for traffic engineering at 108 the proper granularity [Community-TE] [RFC4384]. There is no IE 109 defined for BGP community information in [IANA-IPFIX] yet. 111 Flow information based on BGP community may be collected by a 112 mediator defined in [RFC6183]. Mediator is responsible for the 113 correlation between flow information and BGP community. However no 114 IEs are defined in [RFC6183] for exporting BGP community information 115 in IPFIX. Furthermore, to correlate the BGP community with the flow 116 information, mediator needs to learn BGP routes and perform lookup in 117 the BGP routing table to get the matching entry for specific flow. 118 Neither BGP route learning nor routing table lookup is trivial for a 119 mediator. Mediator is mainly introduced to release the performance 120 requirement for the exporter [RFC5982]. In fact, to obtain the 121 information for BGP related IEs that have already been defined, such 122 as bgpSourceAsNumber, bgpDestinationAsNumber, and 123 bgpNextHopIPv4Address, etc, exporter has to hold the up-to-date BGP 124 routing table and perform lookup in the BGP routing table. The 125 exporter can obtain the BGP community information in the same 126 procedure, thus exporting BGP community information adds no more 127 requirement for exporter. It is RECOMMENDED that the BGP community 128 information be exported by the exporter directly using IPFIX. 130 This draft introduces new IEs to extend the IPFIX information model 131 defined in [RFC7012] to export the BGP community information, 132 including BGP standard community defined in [RFC1997], BGP extended 133 community defined in [RFC4360], and BGP large community defined in 134 [RFC8092]. Flow information, including packetDeltaCount, 135 octetDeltaCount [RFC7012] etc, can then be accumulated and analysed 136 by the collector or other applications, such as SDN controller or PCE 137 [RFC4655], at the granularity specified by BGP community , which is 138 useful for traffic engineering or traffic optimization applications, 139 especially in the backbone network. 141 The IEs introduced in this document are applicable for both IPv4 and 142 IPv6 traffic. Both exporter and mediator can use these IEs to export 143 BGP community information in IPFIX. 145 Please refer Appendix A for the encoding example and Section 3 for a 146 detailed use case. 148 2. Terminology 150 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 151 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 152 document are to be interpreted as described in [RFC2119]. 154 3. BGP Community based Traffic Collection 156 [RFC4384] introduces the mechanism of using BGP standard communities 157 and extended communities to collect the geographical and topological 158 related information in BGP routing system. The traffic flow 159 information corresponding to BGP standard communities and extended 160 communities are also useful for service providers to analyze and 161 optimize the network traffic between different regions in the 162 network. This section gives a use case in which network operator 163 uses the BGP community based traffic information to adjust the 164 network paths for different traffic flows. 166 Considering the following scenario, AS C provides transit connection 167 between AS A and B, the routes of AS A and B are categorized into 168 several groups respectively, which are tagged using different BGP 169 communities, for example community A:X and A:Y are used in routes 170 originated from different regions of AS A, and community B:M and B:N 171 are used with routes originated from different regions of AS B . By 172 default, all traffic originated from AS A and destinated to AS B (we 173 call it traffic A-B) goes through path C1-C2-C3 (call it Path-1) in 174 AS C. When the link between C1 and C2 is congested, we cannot simply 175 steer all the traffic A-B from Path-1 to Path C1-C4-C3 (call it Path- 176 2), which will cause congestion in Path-2. 178 +----------+ 179 | PCE/SDN | 180 +-------|Controller|-------+ 181 | +----------+ | 182 | | 183 | AS C | 184 | | +----------+ | | 185 | | +---|Router C2 |---+ | | 186 | | | +----------+ | | | 187 AS A | | |100 50| | | AS B 188 +--------+ | +---------+ +---------+ | +--------+ 189 |Router A|--|--|Router C1| |Router C3|--|--|Router B| 190 +--------+ | +---------+ +---------+ | +--------+ 191 Community: | |100 100| | Community: 192 A:X | | +----------+ | | B:M 193 A:Y | +---|Router C4 |---+ | B:N 194 +----------+ 196 Figure 1: BGP Community based Traffic Collection 198 If the network operator can obtain the traffic statistics at BGP 199 community granularity, based on this traffic statistics information 200 and the utilization of different paths, the PCE/SDN controller can 201 steer some traffic related to some BGP communities, or some BGP 202 community pairs from Path-1 to Path-2. The BGP community pairs are 203 used when both the source and destination of the traffic are taken 204 into consideration. Consider both the source and the destination of 205 the traffic from AS A to AS B, the traffic can be categorized into 4 206 groups as indicated by 4 BGP community pairs, (A:X, B:M), (A:X, 207 B:N),(A:Y, B:M), (A:Y, B:N). IPFIX can be used to export the traffic 208 information of particular BGP community, or BGP community pairs to 209 the collector. Then the accumulated traffic information at BGP 210 community granularity can be used by the PCE/SDN controller to steer 211 a subset of the traffic from AS A to AS B to go through Path-2. 213 4. IEs for BGP Standard Community 215 [RFC1997] defines the BGP Communities attribute, called BGP Standard 216 Community in this document, which describes a group of routes sharing 217 some common properties. BGP Standard Communities are treated as 32 218 bit values as stated in[RFC1997]. 220 In order to export BGP standard community information along with 221 other flow information defined by IPFIX, three new IEs are 222 introduced. One is bgpCommunity, which is used to identify that the 223 value in this IE is a BGP standard community. The other two are 224 bgpSourceCommunityList and bgpDestinationCommunityList, which are 225 both basicList [RFC6313] of bgpCommunity, and are used to export BGP 226 standard community information corresponding to a specific flow's 227 source IP and destination IP respectively. 229 The detailed information of the three new IEs are shown in the 230 following sections. 232 4.1. bgpCommunity 234 ---------------------------------------------------------------------- 235 | ElementID | to be assigned by IANA | 236 |--------------------------------------------------------------------| 237 | Name | bgpCommunity | 238 |--------------------------------------------------------------------| 239 | Data Type | unsigned32 | 240 |--------------------------------------------------------------------| 241 | Data Type Semantics | identifier | 242 |--------------------------------------------------------------------| 243 | Description | BGP community as defined in [RFC1997] | 244 |--------------------------------------------------------------------| 245 | Units | none | 246 |--------------------------------------------------------------------| 248 Figure 2: bgpCommunity 250 4.2. bgpSourceCommunityList 252 ---------------------------------------------------------------------- 253 | ElementID | to be assigned by IANA | 254 |--------------------------------------------------------------------| 255 | Name | bgpSourceCommunityList | 256 |--------------------------------------------------------------------| 257 | Data Type | basicList, as specified in [RFC6313] | 258 |--------------------------------------------------------------------| 259 | Data Type Semantics | list | 260 |--------------------------------------------------------------------| 261 | Description | zero or more BGP communities corresponding | 262 | | with source IP address of a specific flow | 263 |--------------------------------------------------------------------| 264 | Units | none | 265 |--------------------------------------------------------------------| 267 Figure 3: bgpSourceCommunityList 269 4.3. bgpDestinationCommunityList 270 --------------------------------------------------------------------- 271 | ElementID | to be assigned by IANA | 272 |--------------------------------------------------------------------| 273 | Name | bgpDestinationCommunityList | 274 |--------------------------------------------------------------------| 275 | Data Type | basicList, as specified in [RFC6313] | 276 |--------------------------------------------------------------------| 277 | Data Type Semantics | list | 278 |--------------------------------------------------------------------| 279 | Description | zero or more BGP communities corresponding | 280 | |with destination IP address of a specific flow| 281 |--------------------------------------------------------------------| 282 | Units | none | 283 |--------------------------------------------------------------------| 285 Figure 4: bgpDestinationCommunityList 287 5. IEs for BGP Extended Community 289 [RFC4360] defines the BGP Extended Communities attribute, which 290 provides a mechanism for labeling the information carried in BGP. 291 Each Extended Community is encoded as an 8-octet quantity with the 292 format defined in [RFC4360]. 294 In order to export BGP Extended Community information together with 295 other flow information by IPFIX, three new IEs are introduced. The 296 first one is bgpExtendedCommunity, which is used to identify that the 297 value in this IE is a BGP Extended Community. The other two are 298 bgpSourceExtendedCommunityList and 299 bgpDestinationExtendedCommunityList, which are both basicList 300 [RFC6313] of bgpExtendedCommunity, and are used to export the BGP 301 Extended Community information corresponding to a specific flow's 302 source IP and destination IP respectively. 304 The detailed information of the three new IEs are shown in the 305 following sections. 307 5.1. bgpExtendedCommunity 308 ---------------------------------------------------------------------- 309 | ElementID | to be assigned by IANA | 310 |--------------------------------------------------------------------| 311 | Name | bgpExtendedCommunity | 312 |--------------------------------------------------------------------| 313 | Data Type | octetArray | 314 |--------------------------------------------------------------------| 315 | Data Type Semantics | default | 316 |--------------------------------------------------------------------| 317 | |BGP Extended Community as defined in [RFC4360]| 318 | Description |The size of this Information Element is 8 | 319 | |octets. | 320 |--------------------------------------------------------------------| 321 | Units | none | 322 |--------------------------------------------------------------------| 324 Figure 5: bgpExtendedCommunity 326 5.2. bgpSourceExtendedCommunityList 328 ---------------------------------------------------------------------- 329 | ElementID | to be assigned by IANA | 330 |--------------------------------------------------------------------| 331 | Name | bgpSourceExtendedCommunityList | 332 |--------------------------------------------------------------------| 333 | Data Type | basicList, as specified in [RFC6313] | 334 |--------------------------------------------------------------------| 335 | Data Type Semantics | list | 336 |--------------------------------------------------------------------| 337 | | zero or more BGP Extended Communities | 338 | Description | corresponding with source IP address | 339 | | of a specific flow | 340 |--------------------------------------------------------------------| 341 | Units | none | 342 |--------------------------------------------------------------------| 344 Figure 6: bgpSourceExtendedCommunityList 346 5.3. bgpDestinationExtendedCommunityList 347 ---------------------------------------------------------------------- 348 | ElementID | to be assigned by IANA | 349 |--------------------------------------------------------------------| 350 | Name | bgpDestinationExtendedCommunityList | 351 |--------------------------------------------------------------------| 352 | Data Type | basicList, as specified in [RFC6313] | 353 |--------------------------------------------------------------------| 354 | Data Type Semantics | list | 355 |--------------------------------------------------------------------| 356 | | zero or more BGP Extended communities | 357 | Description | corresponding with destination IP address | 358 | | of a specific flow | 359 |--------------------------------------------------------------------| 360 | Units | none | 361 |--------------------------------------------------------------------| 363 Figure 7: bgpDestinationExtendedCommunityList 365 6. IEs for BGP Large Community 367 [RFC8092] defines the BGP Large Communities attribute, which is 368 suitable for use with all Autonomous System Numbers (ASNs) including 369 four-octet ASNs. Each BGP Large Community is encoded as a 12-octet 370 quantity with the format defined in [RFC8092]. 372 In order to export BGP Large Community information together with 373 other flow information by IPFIX, three new IEs are introduced. The 374 first one is bgpLargeCommunity, which is used to identify that the 375 value in this IE is a BGP Large Community. The other two are 376 bgpSourceLargeCommunityList and bgpDestinationLargeCommunityList, 377 which are both basicList [RFC6313] of bgpLargeCommunity, and are used 378 to export the BGP Large Community information corresponding to a 379 specific flow's source IP and destination IP respectively. 381 The detailed information of the three new IEs are shown in the 382 following sections. 384 6.1. bgpLargeCommunity 385 ---------------------------------------------------------------------- 386 | ElementID | to be assigned by IANA | 387 |--------------------------------------------------------------------| 388 | Name | bgpLargeCommunity | 389 |--------------------------------------------------------------------| 390 | Data Type | octetArray | 391 |--------------------------------------------------------------------| 392 | Data Type Semantics | default | 393 |--------------------------------------------------------------------| 394 | | BGP Large Community as defined in [RFC8092] | 395 | Description | The size of this Information Element is 12 | 396 | | octets. | 397 |--------------------------------------------------------------------| 398 | Units | none | 399 |--------------------------------------------------------------------- 401 Figure 8: bgpLargeCommunity 403 6.2. bgpSourceLargeCommunityList 405 ---------------------------------------------------------------------- 406 | ElementID | to be assigned by IANA | 407 |--------------------------------------------------------------------| 408 | Name | bgpSourceLargeCommunityList | 409 |--------------------------------------------------------------------| 410 | Data Type | basicList, as specified in [RFC6313] | 411 |--------------------------------------------------------------------| 412 | Data Type Semantics | list | 413 |--------------------------------------------------------------------| 414 | | zero or more BGP Large Communities | 415 | Description | corresponding with source IP address | 416 | | of a specific flow | 417 |--------------------------------------------------------------------| 418 | Units | none | 419 |--------------------------------------------------------------------| 421 Figure 9: bgpSourceLargeCommunityList 423 6.3. bgpDestinationLargeCommunityList 424 ---------------------------------------------------------------------- 425 | ElementID | to be assigned by IANA | 426 |--------------------------------------------------------------------| 427 | Name | bgpDestinationLargeCommunityList | 428 |--------------------------------------------------------------------| 429 | Data Type | basicList, as specified in [RFC6313] | 430 |--------------------------------------------------------------------| 431 | Data Type Semantics | list | 432 |--------------------------------------------------------------------| 433 | Description | zero or more BGP Large communities | 434 | | corresponding with destination IP address | 435 | | of a specific flow | 436 |--------------------------------------------------------------------| 437 | Units | none | 438 |--------------------------------------------------------------------| 440 Figure 10: bgpDestinationLargeCommunityList 442 7. Operational Considerations 444 The maximum length of an IPFIX message is 65535 bytes as per 445 [RFC7011] , and the maximum length of a normal BGP message is 4096 446 bytes as per [RFC4271]. Since BGP communities, including standard, 447 extended, and large communities , are BGP path attributes carried in 448 BGP Update messages, the total length of these attributes can not 449 exceed the length of a BGP message, i.e. 4096 bytes. So one IPFIX 450 message with maximum length of 65535 bytes has enough space to fit 451 all the communities related to a specific flow, both the source IP 452 and the destination IP related. 454 [I-D.ietf-idr-bgp-extended-messages] extends the maximum size of a 455 BGP Update message to 65535 bytes. Then theoretically the BGP 456 community information related to a specific flow may exceed the 457 length one IPFIX message. However, according to the information 458 about the networks in the field, the number of BGP communities in one 459 BGP route is usually no more than 10. Nevertheless, BGP speakers 460 that support the extended message SHOULD be careful to export the BGP 461 communities in the IPFIX message properly, such as only convey as 462 many communities as possible in the IPFIX message. The collector 463 which receives an IPFIX message with maximum length and BGP 464 communities contained in its data set SHOULD be aware that the BGP 465 communities may be truncated due to limited message space. In this 466 case, it is RECOMMENDED to configure export policy of BGP communities 467 on the exporter to limit the BGP communities to be exported, so as to 468 only export some specific communities,or not to export some specific 469 communities. 471 If needed, we may consider to extend the message length of IPFIX 472 [RFC7011] from 16 bits to 32 bits to solve this problem completely. 473 The detailed mechanism is out of the scope of this document. 475 8. Security Considerations 477 This document only defines three new IEs for IPFIX. This document 478 itself does not directly introduce security issues. The same 479 security considerations as for the IPFIX Protocol Specification 480 [RFC7011] and Information Model [RFC7012] apply. 482 As the BGP community information is deducible by other means, there 483 are no increased privacy concerns, neither. 485 9. IANA Considerations 487 This draft specifies the following IPFIX IEs to export BGP community 488 information along with other flow information. 490 The Element IDs for these IEs are solicited to be assigned by IANA. 491 The following table is for IANA's reference to put in each field in 492 the registry. 494 ---------------------------------------------------------------------- 495 |ElementID| Name | Data Type|Data Type Semantics| 496 |--------------------------------------------------------------------| 497 | TBA1 | bgpCommunity |unsigned32| identifier | 498 |--------------------------------------------------------------------| 499 | TBA2 | bgpSourceCommunityList | basicList| list | 500 |--------------------------------------------------------------------| 501 | TBA3 |bgpDestinationCommunityList| basicList| list | 502 |--------------------------------------------------------------------| 503 | TBA4 | bgpExtendedCommunity |octetArray| default | 504 |--------------------------------------------------------------------| 505 | TBA5 | bgpSourceExtended | | | 506 | | CommunityList | basicList| list | 507 |--------------------------------------------------------------------| 508 | TBA6 | bgpDestinationExtended | | | 509 | | CommunityList | basicList| list | 510 |--------------------------------------------------------------------| 511 | TBA7 | bgpLargeCommunity |octetArray| default | 512 |--------------------------------------------------------------------| 513 | TBA8 |bgpSourceLargeCommunityList| basicList| list | 514 |--------------------------------------------------------------------| 515 | TBA9 | bgpDestinationLarge | | | 516 | | CommunityList | basicList| list | 517 |--------------------------------------------------------------------| 518 ---------------------------------------------------------------------- 519 |ElementID| Description | Units | 520 |--------------------------------------------------------------------| 521 | TBA1 | BGP community as defined in [RFC1997] | | 522 |--------------------------------------------------------------------| 523 | TBA2 | zero or more BGP communities corresponding | | 524 | | with source IP address of a specific flow | | 525 |--------------------------------------------------------------------| 526 | TBA3 | zero or more BGP communities corresponding | | 527 | |with destination IP address of a specific flow| | 528 |--------------------------------------------------------------------| 529 | TBA4 |BGP Extended Community as defined in [RFC4360]| | 530 | |The size of this IE is 8 octets | | 531 |--------------------------------------------------------------------| 532 | | zero or more BGP Extended Communities | | 533 | TBA5 | corresponding with source IP address of | | 534 | | a specific flow | | 535 |--------------------------------------------------------------------| 536 | | zero or more BGP Extended communities | | 537 | TBA6 | corresponding with destination IP address | | 538 | | of a specific flow | | 539 |--------------------------------------------------------------------| 540 | TBA7 | BGP Large Community as defined in [RFC8092] | | 541 | | The size of this IE is 12 octets. | | 542 |--------------------------------------------------------------------| 543 | | zero or more BGP Large Communities | | 544 | TBA8 | corresponding with source IP address | | 545 | | of a specific flow | | 546 |--------------------------------------------------------------------| 547 | | zero or more BGP Large communities | | 548 | TBA9 | corresponding with destination IP address | | 549 | | of a specific flow | | 550 |--------------------------------------------------------------------| 552 ---------------------------------------------------------------------- 553 |ElementID| Range | References | Requester | Revision | date | 554 |--------------------------------------------------------------------| 555 | TBA1 | | RFC1997 |this draft | 0 | | 556 |--------------------------------------------------------------------| 557 | TBA2 | |RFC6313,RFC1997|this draft | 0 | | 558 |--------------------------------------------------------------------| 559 | TBA3 | |RFC6313,RFC1997|this draft | 0 | | 560 |--------------------------------------------------------------------| 561 | TBA4 | | RFC4360 |this draft | 0 | | 562 |--------------------------------------------------------------------| 563 | TBA5 | |RFC6313,RFC4360|this draft | 0 | | 564 |--------------------------------------------------------------------| 565 | TBA6 | |RFC6313,RFC4360|this draft | 0 | | 566 |--------------------------------------------------------------------| 567 | TBA7 | | RFC8092 |this draft | 0 | | 568 |--------------------------------------------------------------------| 569 | TBA8 | |RFC6313,RFC8092|this draft | 0 | | 570 |--------------------------------------------------------------------| 571 | TBA9 | |RFC6313,RFC8092|this draft | 0 | | 572 |--------------------------------------------------------------------| 574 Figure 11: IANA Considerations 576 10. Acknowledgements 578 The authors would like to thank Benoit Claise and Paul Aitken for 579 their comments and suggestions to promote this document. 580 Appreciations are given to Tianran Zhou, Warren Kumari, Jeffrey Haas, 581 Ignas Bagdonas, Stewart Bryant, Paolo Lucente, Job Snijders, Jared 582 Mauch, Rudiger Volk, etc, for their discussion, comments and 583 suggestions in the face to face meetings and in the mail list. 585 11. References 587 11.1. Normative References 589 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 590 Requirement Levels", BCP 14, RFC 2119, 591 DOI 10.17487/RFC2119, March 1997, 592 . 594 [RFC6313] Claise, B., Dhandapani, G., Aitken, P., and S. Yates, 595 "Export of Structured Data in IP Flow Information Export 596 (IPFIX)", RFC 6313, DOI 10.17487/RFC6313, July 2011, 597 . 599 [RFC7011] Claise, B., Ed., Trammell, B., Ed., and P. Aitken, 600 "Specification of the IP Flow Information Export (IPFIX) 601 Protocol for the Exchange of Flow Information", STD 77, 602 RFC 7011, DOI 10.17487/RFC7011, September 2013, 603 . 605 [RFC7012] Claise, B., Ed. and B. Trammell, Ed., "Information Model 606 for IP Flow Information Export (IPFIX)", RFC 7012, 607 DOI 10.17487/RFC7012, September 2013, 608 . 610 11.2. Informative References 612 [Community-TE] 613 Shao, W., Devienne, F., Iannone, L., and JL. Rougier, "On 614 the use of BGP communities for fine-grained inbound 615 traffic engineering", Computer Science 27392(1):476-487, 616 November 2015. 618 [I-D.ietf-idr-bgp-extended-messages] 619 Bush, R., Patel, K., and D. Ward, "Extended Message 620 support for BGP", draft-ietf-idr-bgp-extended-messages-24 621 (work in progress), November 2017. 623 [IANA-IPFIX] 624 "IP Flow Information Export (IPFIX) Entities", 625 . 627 [RFC1997] Chandra, R., Traina, P., and T. Li, "BGP Communities 628 Attribute", RFC 1997, DOI 10.17487/RFC1997, August 1996, 629 . 631 [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A 632 Border Gateway Protocol 4 (BGP-4)", RFC 4271, 633 DOI 10.17487/RFC4271, January 2006, 634 . 636 [RFC4360] Sangli, S., Tappan, D., and Y. Rekhter, "BGP Extended 637 Communities Attribute", RFC 4360, DOI 10.17487/RFC4360, 638 February 2006, . 640 [RFC4384] Meyer, D., "BGP Communities for Data Collection", BCP 114, 641 RFC 4384, DOI 10.17487/RFC4384, February 2006, 642 . 644 [RFC4655] Farrel, A., Vasseur, J., and J. Ash, "A Path Computation 645 Element (PCE)-Based Architecture", RFC 4655, 646 DOI 10.17487/RFC4655, August 2006, 647 . 649 [RFC5982] Kobayashi, A., Ed. and B. Claise, Ed., "IP Flow 650 Information Export (IPFIX) Mediation: Problem Statement", 651 RFC 5982, DOI 10.17487/RFC5982, August 2010, 652 . 654 [RFC6183] Kobayashi, A., Claise, B., Muenz, G., and K. Ishibashi, 655 "IP Flow Information Export (IPFIX) Mediation: Framework", 656 RFC 6183, DOI 10.17487/RFC6183, April 2011, 657 . 659 [RFC8092] Heitz, J., Ed., Snijders, J., Ed., Patel, K., Bagdonas, 660 I., and N. Hilliard, "BGP Large Communities Attribute", 661 RFC 8092, DOI 10.17487/RFC8092, February 2017, 662 . 664 Appendix A. Encoding Example 666 In this section, we give an example to show the encoding format for 667 the new introduced IEs. 669 Flow information including BGP communities is shown in the below 670 table. Suppose we want all the fields to be reported by IPFIX. 672 ----------------------------------------------------------------------- 673 |Source ip|Destination ip |Source BGP community| Destination BGP | 674 | | | | community | 675 ----------------------------------------------------------------------- 676 | 1.1.1.1 | 2.2.2.2 |1:1001,1:1002,8:1001| 2:1002,8:1001 | 677 ----------------------------------------------------------------------- 678 | 3.3.3.3 | 4.4.4.4 |3:1001,3:1002,8:1001| 4:1001,8:1001 | 679 ----------------------------------------------------------------------- 681 Figure 12: Flow information including BGP communities 683 A.1. Template Record 685 0 1 2 3 686 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 687 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 688 | SET ID = 2 | Length = 24 | 689 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 690 | Template ID = 256 | Field Count = 4 | 691 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 692 |0| SourceIPv4Address = 8 | Field length = 4 | 693 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 694 |0| DestinationIPv4Address = 12 | Field length = 4 | 695 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 696 |0| bgpSourceCommunityList = 459| Field length = 0xFFFF | 697 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 698 |0| bgpDestinationCommunityList | Field length = 0xFFFF | 699 | | = 460 | | 700 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 702 Figure 13: Template Record Encoding Format 704 In this example, the Template ID is 256, which will be used in the 705 data record. The field length for bgpSourceCommunityList and 706 bgpDestinationCommunityList is 0xFFFF, which means the length of this 707 IE is variable, the actual length of this IE is indicated by the list 708 length field in the basic list format as per [RFC6313]. 710 A.2. Data Set 712 The data set is represented as follows: 714 0 1 2 3 715 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 716 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 717 | SET ID = 256 | Length = 92 | 718 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 719 | SourceIPv4Address = 1.1.1.1 | 720 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 721 | DestinationIPv4Address = 2.2.2.2 | 722 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 723 | 255 | List length = 17 |semantic=allof | 724 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 725 | bgpCommunity = 458 | Field Len = 4 | 726 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 727 | BGP Source Community Value 1 = 1:1001 | 728 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 729 | BGP Source Community Value 2 = 1:1002 | 730 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 731 | BGP Source Community Value 3 = 8:1001 | 732 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 733 | 255 | List length = 13 |semantic =allof| 734 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 735 | bgpCommunity = 458 | Field Len = 4 | 736 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 737 | BGP Destination Community Value 1 = 2:1002 | 738 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 739 | BGP Destination Community Value 2 = 8:1001 | 740 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 741 | SourceIPv4Address = 3.3.3.3 | 742 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 743 | DestinationIPv4Address = 4.4.4.4 | 744 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 745 | 255 | List length = 17 |semantic =allof| 746 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 747 | bgpCommunity = 458 | Field Len = 4 | 748 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 749 | BGP Source Community Value 1 = 3:1001 | 750 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 751 | BGP Source Community Value 2 = 3:1002 | 752 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 753 | BGP Source Community Value 3 = 8:1001 | 754 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 755 | 255 | List length = 13 |semantic =allof| 756 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 757 | bgpCommunity = 458 | Field Len = 4 | 758 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 759 | BGP Destination Community Value 1 = 4:1001 | 760 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 761 | BGP Destination Community Value 2 = 8:1001 | 762 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 764 Figure 14: Data Set Encoding Format 766 Authors' Addresses 768 Zhenqiang Li 769 China Mobile 770 32 Xuanwumen West Ave, Xicheng District 771 Beijing 100053 772 China 774 Email: li_zhenqiang@hotmail.com 776 Rong Gu 777 China Mobile 778 32 Xuanwumen West Ave, Xicheng District 779 Beijing 100053 780 China 782 Email: gurong_cmcc@outlook.com 784 Jie Dong 785 Huawei Technologies 786 Huawei Campus, No. 156 Beiqing Rd. 787 Beijing 100095 788 China 790 Email: jie.dong@huawei.com