idnits 2.17.1 draft-ietf-mboned-interdomain-peering-bcp-03.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 : ---------------------------------------------------------------------------- ** The document seems to lack an Introduction section. (A line matching the expected section header was found, but with an unexpected indentation: ' 2. Overview of Inter-domain Multicast Application Transport' ) ** The document seems to lack a Security Considerations section. (A line matching the expected section header was found, but with an unexpected indentation: ' 6. Security Considerations' ) ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) (A line matching the expected section header was found, but with an unexpected indentation: ' 7. IANA Considerations' ) ** There are 19 instances of too long lines in the document, the longest one being 2 characters in excess of 72. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == Line 113 has weird spacing: '...Catalog all ...' == Line 364 has weird spacing: '...Ability to s...' == Line 377 has weird spacing: '...tically selec...' == Line 436 has weird spacing: '...Ability to s...' == Line 646 has weird spacing: '...plement compa...' == (4 more instances...) == The document seems to contain a disclaimer for pre-RFC5378 work, but was first submitted on or after 10 November 2008. The disclaimer is usually necessary only for documents that revise or obsolete older RFCs, and that take significant amounts of text from those RFCs. If you can contact all authors of the source material and they are willing to grant the BCP78 rights to the IETF Trust, you can and should remove the disclaimer. Otherwise, the disclaimer is needed and you can ignore this comment. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (June 1, 2016) is 2885 days in the past. Is this intentional? Checking references for intended status: Best Current Practice ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) -- Missing reference section? 'RFC4607' on line 1120 looks like a reference -- Missing reference section? 'RFC4604' on line 1115 looks like a reference -- Missing reference section? 'RFC2784' on line 1109 looks like a reference -- Missing reference section? 'IETF-ID-AMT' on line 1112 looks like a reference -- Missing reference section? 'BCP38' on line 1126 looks like a reference -- Missing reference section? 'MDH-04' on line 1136 looks like a reference -- Missing reference section? 'Traceroute' on line 1139 looks like a reference -- Missing reference section? 'RFC3618' on line 1123 looks like a reference Summary: 4 errors (**), 0 flaws (~~), 8 warnings (==), 9 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 MBONED Working Group Percy S. Tarapore 2 Internet Draft Robert Sayko 3 Intended status: BCP AT&T 4 Expires: December 1, 2016 Greg Shepherd 5 Toerless Eckert 6 Cisco 7 Ram Krishnan 8 Brocade 9 June 1, 2016 11 Use of Multicast Across Inter-Domain Peering Points 12 draft-ietf-mboned-interdomain-peering-bcp-03.txt 14 Status of this Memo 16 This Internet-Draft is submitted in full conformance with the 17 provisions of BCP 78 and BCP 79. 19 Internet-Drafts are working documents of the Internet Engineering 20 Task Force (IETF). Note that other groups may also distribute 21 working documents as Internet-Drafts. The list of current Internet- 22 Drafts is at http://datatracker.ietf.org/drafts/current/. 24 Internet-Drafts are draft documents valid for a maximum of six 25 months and may be updated, replaced, or obsoleted by other documents 26 at any time. It is inappropriate to use Internet-Drafts as 27 reference material or to cite them other than as "work in progress." 29 This Internet-Draft will expire on December 1, 2016. 31 Copyright Notice 33 Copyright (c) 2016 IETF Trust and the persons identified as the 34 document authors. All rights reserved. 36 This document is subject to BCP 78 and the IETF Trust's Legal 37 Provisions Relating to IETF Documents 38 (http://trustee.ietf.org/license-info) in effect on the date of 39 publication of this document. Please review these documents 40 carefully, as they describe your rights and restrictions with 41 respect to this document. Code Components extracted from this 42 document must include Simplified BSD License text as described in 43 Section 4.e of the Trust Legal Provisions and are provided without 44 warranty as described in the Simplified BSD License. 46 This document may contain material from IETF Documents or IETF 47 Contributions published or made publicly available before November 48 10, 2008. The person(s) controlling the copyright in some of this 49 material may not have granted the IETF Trust the right to allow 50 modifications of such material outside the IETF Standards Process. 51 Without obtaining an adequate license from the person(s) controlling 52 the copyright in such materials, this document may not be modified 53 outside the IETF Standards Process, and derivative works of it may 54 not be created outside the IETF Standards Process, except to format 55 it for publication as an RFC or to translate it into languages other 56 than English. 58 Abstract 60 This document examines the use of multicast across inter-domain 61 peering points. The objective is to describe the setup process for 62 multicast-based delivery across administrative domains and document 63 supporting functionality to enable this process. 65 Table of Contents 67 1. Introduction...................................................3 68 2. Overview of Inter-domain Multicast Application Transport.......4 69 3. Inter-domain Peering Point Requirements for Multicast..........5 70 3.1. Native Multicast..........................................5 71 3.2. Peering Point Enabled with GRE Tunnel.....................7 72 3.3. Peering Point Enabled with an AMT - Both Domains Multicast 73 Enabled........................................................8 74 3.4. Peering Point Enabled with an AMT - AD-2 Not Multicast 75 Enabled.......................................................10 76 3.5. AD-2 Not Multicast Enabled - Multiple AMT Tunnels Through 77 AD-2..........................................................12 78 4. Supporting Functionality......................................13 79 4.1. Network Interconnection Transport and Security Guidelines14 80 4.2. Routing Aspects and Related Guidelines...................14 81 4.2.1 Native Multicast Routing Aspects..................15 82 4.2.2 GRE Tunnel over Interconnecting Peering Point.....16 83 4.2.3 Routing Aspects with AMT Tunnels.....................16 84 4.3. Back Office Functions - Billing and Logging Guidelines...18 85 4.3.1 Provisioning Guidelines...........................19 86 4.3.2 Application Accounting Billing Guidelines.........20 87 4.3.3 Log Management Guidelines.........................20 88 4.4. Operations - Service Performance and Monitoring Guidelines21 89 4.5. Client Reliability Models/Service Assurance Guidelines...24 90 5. Troubleshooting and Diagnostics...............................24 91 6. Security Considerations.......................................25 92 7. IANA Considerations...........................................26 93 8. Conclusions...................................................26 94 9. References....................................................26 95 9.1. Normative References.....................................26 96 9.2. Informative References...................................27 97 10. Acknowledgments..............................................27 99 1. Introduction 101 Several types of applications (e.g., live video streaming, software 102 downloads) are well suited for delivery via multicast means. The use 103 of multicast for delivering such applications offers significant 104 savings for utilization of resources in any given administrative 105 domain. End user demand for such applications is growing. Often, 106 this requires transporting such applications across administrative 107 domains via inter-domain peering points. 109 The objective of this Best Current Practices document is twofold: 110 o Describe the technical process and establish guidelines for 111 setting up multicast-based delivery of applications across inter- 112 domain peering points via a set of use cases. 113 o Catalog all required information exchange between the 114 administrative domains to support multicast-based delivery. This 115 enables operators to initiate necessary processes to support 116 inter-domain peering with multicast. 118 The scope and assumptions for this document are stated as follows: 120 o Administrative Domain 1 (AD-1) is enabled with native 121 multicast. A peering point exists between AD-1 and AD-2. 122 o It is understood that several protocols are available for this 123 purpose including PIM-SM, Protocol Independent Multicast - 124 Source Specific Multicast (PIM-SSM) [RFC4607], Internet Group 125 Management Protocol (IGMP) [RFC4604], Multicast Listener 126 Discovery (MLD) [RFC4604]. In the case of inter-domain 127 peering, it is recommended to use only SSM protocols. 128 o AD-1 and AD-2 are assumed to adopt compatible protocols. The 129 use of different protocols is beyond the scope of this 130 document. 131 o It is assumed that an AMT Relay will be available to a client 132 for multicast delivery. The selection of an optimal AMT relay 133 by a client is out of scope for this document. Note that AMT 134 use is necessary only when native multicast is unavailable in 135 the peering point (Use Case 3.3) or in the downstream 136 administrative domain (Use Cases 3.4, and 3.5). 137 o The collection of billing data is assumed to be done at the 138 application level and is not considered to be a networking 139 issue. The settlements process for end user billing and/or 140 inter-provider billing is out of scope for this document. 141 o Inter-domain network connectivity troubleshooting is only 142 considered within the context of a cooperative process between 143 the two domains. 145 This document also attempts to identify ways by which the peering 146 process can be improved. Development of new methods for improvement 147 is beyond the scope of this document. 149 2. Overview of Inter-domain Multicast Application Transport 151 A multicast-based application delivery scenario is as follows: 152 o Two independent administrative domains are interconnected via a 153 peering point. 154 o The peering point is either multicast enabled (end-to-end 155 native multicast across the two domains) or it is connected by 156 one of two possible tunnel types: 157 o A Generic Routing Encapsulation (GRE) Tunnel [RFC2784] 158 allowing multicast tunneling across the peering point, or 159 o An Automatic Multicast Tunnel (AMT) [IETF-ID-AMT]. 160 o The application stream originates at a source in Domain 1. 161 o An End User associated with Domain 2 requests the application. 162 It is assumed that the application is suitable for delivery via 163 multicast means (e.g., live steaming of major events, software 164 downloads to large numbers of end user devices, etc.) 165 o The request is communicated to the application source which 166 provides the relevant multicast delivery information to the EU 167 device via a "manifest file". At a minimum, this file contains 168 the {Source, Group} or (S,G) information relevant to the 169 multicast stream. 170 o The application client in the EU device then joins the 171 multicast stream distributed by the application source in 172 domain 1 utilizing the (S,G) information provided in the 173 manifest file. The manifest file may also contain additional 174 information that the application client can use to locate the 175 source and join the stream. 177 Note that domain 2 may be an independent network domain (e.g., Tier 178 1 network operator domain) or it could also be an Enterprise network 179 operated by a single customer. The peering point architecture and 180 requirements may have some unique aspects associated with the 181 Enterprise case. 183 The Use Cases describing various architectural configurations for 184 the multicast distribution along with associated requirements is 185 described in section 3. Unique aspects related to the Enterprise 186 network possibility will be described in this section. A 187 comprehensive list of pertinent information that needs to be 188 exchanged between the two domains to support various functions 189 enabling the application transport is provided in section 4. 191 3. Inter-domain Peering Point Requirements for Multicast 193 The transport of applications using multicast requires that the 194 inter-domain peering point is enabled to support such a process. 195 There are five possible Use Cases for consideration. 197 3.1. Native Multicast 199 This Use Case involves end-to-end Native Multicast between the two 200 administrative domains and the peering point is also native 201 multicast enabled - Figure 1. 203 ------------------- ------------------- 204 / AD-1 \ / AD-2 \ 205 / (Multicast Enabled) \ / (Multicast Enabled) \ 206 / \ / \ 207 | +----+ | | | 208 | | | +------+ | | +------+ | +----+ 209 | | AS |------>| BR |-|---------|->| BR |-------------|-->| EU | 210 | | | +------+ | I1 | +------+ |I2 +----+ 211 \ +----+ / \ / 212 \ / \ / 213 \ / \ / 214 ------------------- ------------------- 216 AD = Administrative Domain (Independent Autonomous System) 217 AS = Application (e.g., Content) Multicast Source 218 BR = Border Router 219 I1 = AD-1 and AD-2 Multicast Interconnection (e.g., MBGP or BGMP) 220 I2 = AD-2 and EU Multicast Connection 222 Figure 1 - Content Distribution via End to End Native Multicast 224 Advantages of this configuration are: 226 o Most efficient use of bandwidth in both domains 228 o Fewer devices in the path traversed by the multicast stream when 229 compared to unicast transmissions. 231 From the perspective of AD-1, the one disadvantage associated with 232 native multicast into AD-2 instead of individual unicast to every EU 233 in AD-2 is that it does not have the ability to count the number of 234 End Users as well as the transmitted bytes delivered to them. This 235 information is relevant from the perspective of customer billing and 236 operational logs. It is assumed that such data will be collected by 237 the application layer. The application layer mechanisms for 238 generating this information need to be robust enough such that all 239 pertinent requirements for the source provider and the AD operator 240 are satisfactorily met. The specifics of these methods are beyond 241 the scope of this document. 243 Architectural guidelines for this configuration are as follows: 245 a. Dual homing for peering points between domains is recommended as 246 a way to ensure reliability with full BGP table visibility. 248 b. If the peering point between AD-1 and AD-2 is a controlled network 249 environment, then bandwidth can be allocated accordingly by the 250 two domains to permit the transit of non-rate adaptive multicast 251 traffic. If this is not the case, then it is recommended that the 252 multicast traffic should support rate-adaption. 254 c. The sending and receiving of multicast traffic between two domains 255 is typically determined by local policies associated with each 256 domain. For example, if AD-1 is a service provider and AD-2 is an 257 enterprise, then AD-1 may support local policies for traffic 258 delivery to, but not traffic reception from AD-2. Another example 259 is the use of a policy by which AD-1 delivers specified content 260 to AD-2 only if such delivery has been accepted by contract. 262 d. Relevant information on multicast streams delivered to End Users 263 in AD-2 is assumed to be collected by available capabilities in 264 the application layer. The precise nature and formats of the 265 collected information will be determined by directives from the 266 source owner and the domain operators. 268 e. The interconnection of AD-1 and AD-2 should minimally follow 269 guidelines for traffic filtering between autonomous systems 270 [BCP38]. Filtering guidelines specific to the multicast control- 271 plane and data-plane are described in section 6. 273 3.2. Peering Point Enabled with GRE Tunnel 275 The peering point is not native multicast enabled in this Use Case. 276 There is a Generic Routing Encapsulation Tunnel provisioned over the 277 peering point. In this case, the interconnection I1 between AD-1 and 278 AD-2 in Figure 1 is multicast enabled via a Generic Routing 279 Encapsulation Tunnel (GRE) [RFC2784] and encapsulating the multicast 280 protocols across the interface. The routing configuration is 281 basically unchanged: Instead of BGP (SAFI2) across the native IP 282 multicast link between AD-1 and AD-2, BGP (SAFI2) is now run across 283 the GRE tunnel. 285 Advantages of this configuration: 287 o Highly efficient use of bandwidth in both domains although not as 288 efficient as the fully native multicast Use Case. 290 o Fewer devices in the path traversed by the multicast stream when 291 compared to unicast transmissions. 293 o Ability to support only partial IP multicast deployments in AD-1 294 and/or AD-2. 296 o GRE is an existing technology and is relatively simple to 297 implement. 299 Disadvantages of this configuration: 301 o Per Use Case 3.1, current router technology cannot count the 302 number of end users or the number bytes transmitted. 304 o GRE tunnel requires manual configuration. 306 o The GRE must be established prior to stream starting. 308 o The GRE tunnel is often left pinned up 310 Architectural guidelines for this configuration include the 311 following: 313 Guidelines (a) through (d) are the same as those described in Use 314 Case 3.1. Two additional guidelines are as follows: 316 e. GRE tunnels are typically configured manually between peering 317 points to support multicast delivery between domains 319 f. It is recommended that the GRE tunnel (tunnel server) 320 configuration in the source network is such that it only 321 advertises the routes to the application sources and not to the 322 entire network. This practice will prevent unauthorized delivery 323 of applications through the tunnel (e.g., if application - e.g., 324 content - is not part of an agreed inter-domain partnership). 326 3.3. Peering Point Enabled with an AMT - Both Domains Multicast 327 Enabled 329 Both administrative domains in this Use Case are assumed to be 330 native multicast enabled here; however the peering point is not. The 331 peering point is enabled with an Automatic Multicast Tunnel. The 332 basic configuration is depicted in Figure 2. 334 ------------------- ------------------- 335 / AD-1 \ / AD-2 \ 336 / (Multicast Enabled) \ / (Multicast Enabled) \ 337 / \ / \ 338 | +----+ | | | 339 | | | +------+ | | +------+ | +----+ 340 | | AS |------>| AR |-|---------|->| AG |-------------|-->| EU | 341 | | | +------+ | I1 | +------+ |I2 +----+ 342 \ +----+ / \ / 343 \ / \ / 344 \ / \ / 345 ------------------- ------------------- 347 AR = AMT Relay 348 AG = AMT Gateway 349 I1 = AMT Interconnection between AD-1 and AD-2 350 I2 = AD-2 and EU Multicast Connection 352 Figure 2 - AMT Interconnection between AD-1 and AD-2 354 Advantages of this configuration: 356 o Highly efficient use of bandwidth in AD-1. 358 o AMT is an existing technology and is relatively simple to 359 implement. Attractive properties of AMT include the following: 361 o Dynamic interconnection between Gateway-Relay pair across 362 the peering point. 364 o Ability to serve clients and servers with differing 365 policies. 367 Disadvantages of this configuration: 369 o Per Use Case 3.1 (AD-2 is native multicast), current router 370 technology cannot count the number of end users or the number of 371 bytes transmitted to all end users. 373 o Additional devices (AMT Gateway and Relay pairs) may be introduced 374 into the path if these services are not incorporated in the 375 existing routing nodes. 377 o Currently undefined mechanisms for the AG to automatically select 378 the optimal AR. 380 Architectural guidelines for this configuration are as follows: 382 Guidelines (a) through (d) are the same as those described in Use 383 Case 3.1. In addition, 385 e. It is recommended that AMT Relay and Gateway pairs be 386 configured at the peering points to support multicast delivery 387 between domains. AMT tunnels will then configure dynamically 388 across the peering points once the Gateway in AD-2 receives the 389 (S, G) information from the EU. 391 3.4. Peering Point Enabled with an AMT - AD-2 Not Multicast Enabled 393 In this AMT Use Case, the second administrative domain AD-2 is not 394 multicast enabled. This implies that the interconnection between AD- 395 2 and the End User is also not multicast enabled as depicted in 396 Figure 3. 398 ------------------- ------------------- 399 / AD-1 \ / AD-2 \ 400 / (Multicast Enabled) \ / (Non-Multicast \ 401 / \ / Enabled) \ 402 | +----+ | | | 403 | | | +------+ | | | +----+ 404 | | AS |------>| AR |-|---------|-----------------------|-->|EU/G| 405 | | | +------+ | | |I2 +----+ 406 \ +----+ / \ / 407 \ / \ / 408 \ / \ / 409 ------------------- ------------------- 411 AS = Application Multicast Source 412 AR = AMT Relay 413 EU/G = Gateway client embedded in EU device 414 I2 = AMT Tunnel Connecting EU/G to AR in AD-1 through Non-Multicast 415 Enabled AD-2. 417 Figure 3 - AMT Tunnel Connecting AD-1 AMT Relay and EU Gateway 419 This Use Case is equivalent to having unicast distribution of the 420 application through AD-2. The total number of AMT tunnels would be 421 equal to the total number of End Users requesting the application. 422 The peering point thus needs to accommodate the total number of AMT 423 tunnels between the two domains. Each AMT tunnel can provide the 424 data usage associated with each End User. 426 Advantages of this configuration: 428 o Highly efficient use of bandwidth in AD-1. 430 o AMT is an existing technology and is relatively simple to 431 implement. Attractive properties of AMT include the following: 433 o Dynamic interconnection between Gateway-Relay pair across 434 the peering point. 436 o Ability to serve clients and servers with differing 437 policies. 439 o Each AMT tunnel serves as a count for each End User and is also 440 able to track data usage (bytes) delivered to the EU. 442 Disadvantages of this configuration: 444 o Additional devices (AMT Gateway and Relay pairs) are introduced 445 into the transport path. 447 o Assuming multiple peering points between the domains, the EU 448 Gateway needs to be able to find the "correct" AMT Relay in AD- 449 1. 451 Architectural guidelines for this configuration are as follows: 453 Guidelines (a) through (c) are the same as those described in Use 454 Case 3.1. 456 d. It is recommended that proper procedures are implemented such 457 that the AMT Gateway at the End User device is able to find the 458 correct AMT Relay in AD-1 across the peering points. The 459 application client in the EU device is expected to supply the (S, 460 G) information to the Gateway for this purpose. 462 e. The AMT tunnel capabilities are expected to be sufficient for 463 the purpose of collecting relevant information on the multicast 464 streams delivered to End Users in AD-2. 466 3.5. AD-2 Not Multicast Enabled - Multiple AMT Tunnels Through AD-2 468 This is a variation of Use Case 3.4 as follows: 470 ------------------- ------------------- 471 / AD-1 \ / AD-2 \ 472 / (Multicast Enabled) \ / (Non-Multicast \ 473 / \ / Enabled) \ 474 | +----+ | |+--+ +--+ | 475 | | | +------+ | ||AG| |AG| | +----+ 476 | | AS |------>| AR |-|-------->||AR|------------->|AR|-|-->|EU/G| 477 | | | +------+ | I1 ||1 | I2 |2 | |I3 +----+ 478 \ +----+ / \+--+ +--+ / 479 \ / \ / 480 \ / \ / 481 ------------------- ------------------- 483 AS = Application Source 484 AR = AMT Relay in AD-1 485 AGAR1 = AMT Gateway/Relay node in AD-2 across Peering Point 486 I1 = AMT Tunnel Connecting AR in AD-1 to GW in AGAR1 in AD-2 487 AGAR2 = AMT Gateway/Relay node at AD-2 Network Edge 488 I2 = AMT Tunnel Connecting Relay in AGAR1 to GW in AGAR2 489 EU/G = Gateway client embedded in EU device 490 I3 = AMT Tunnel Connecting EU/G to AR in AGAR2 492 Figure 4 - AMT Tunnel Connecting AD-1 AMT Relay and EU Gateway 494 Use Case 3.4 results in several long AMT tunnels crossing the entire 495 network of AD-2 linking the EU device and the AMT Relay in AD-1 496 through the peering point. Depending on the number of End Users, 497 there is a likelihood of an unacceptably large number of AMT tunnels 498 - and unicast streams - through the peering point. This situation 499 can be alleviated as follows: 501 o Provisioning of strategically located AMT nodes at the edges of 502 AD-2. An AMT node comprises co-location of an AMT Gateway and an 503 AMT Relay. One such node is at the AD-2 side of the peering point 504 (node AGAR1 in Figure 4). 506 o Single AMT tunnel established across peering point linking AMT 507 Relay in AD-1 to the AMT Gateway in the AMT node AGAR1 in AD-2. 509 o AMT tunnels linking AMT node AGAR1 at peering point in AD-2 to 510 other AMT nodes located at the edges of AD-2: e.g., AMT tunnel I2 511 linking AMT Relay in AGAR1 to AMT Gateway in AMT node AGAR2 in 512 Figure 4. 514 o AMT tunnels linking EU device (via Gateway client embedded in 515 device) and AMT Relay in appropriate AMT node at edge of AD-2: 516 e.g., I3 linking EU Gateway in device to AMT Relay in AMT node 517 AGAR2. 519 The advantage for such a chained set of AMT tunnels is that the 520 total number of unicast streams across AD-2 is significantly reduced 521 thus freeing up bandwidth. Additionally, there will be a single 522 unicast stream across the peering point instead of possibly, an 523 unacceptably large number of such streams per Use Case 3.4. However, 524 this implies that several AMT tunnels will need to be dynamically 525 configured by the various AMT Gateways based solely on the (S,G) 526 information received from the application client at the EU device. A 527 suitable mechanism for such dynamic configurations is therefore 528 critical. 530 Architectural guidelines for this configuration are as follows: 532 Guidelines (a) through (c) are the same as those described in Use 533 Case 3.1. 535 d. It is recommended that proper procedures are implemented such 536 that the various AMT Gateways (at the End User devices and the AMT 537 nodes in AD-2) are able to find the correct AMT Relay in other AMT 538 nodes as appropriate. The application client in the EU device is 539 expected to supply the (S, G) information to the Gateway for this 540 purpose. 542 e. The AMT tunnel capabilities are expected to be sufficient for 543 the purpose of collecting relevant information on the multicast 544 streams delivered to End Users in AD-2. 546 4. Supporting Functionality 548 Supporting functions and related interfaces over the peering point 549 that enable the multicast transport of the application are listed in 550 this section. Critical information parameters that need to be 551 exchanged in support of these functions are enumerated along with 552 guidelines as appropriate. Specific interface functions for 553 consideration are as follows. 555 4.1. Network Interconnection Transport and Security Guidelines 557 The term "Network Interconnection Transport" refers to the 558 interconnection points between the two Administrative Domains. The 559 following is a representative set of attributes that will need to be 560 agreed to between the two administrative domains to support 561 multicast delivery. 563 o Number of Peering Points 565 o Peering Point Addresses and Locations 567 o Connection Type - Dedicated for Multicast delivery or shared with 568 other services 570 o Connection Mode - Direct connectivity between the two AD's or via 571 another ISP 573 o Peering Point Protocol Support - Multicast protocols that will be 574 used for multicast delivery will need to be supported at these 575 points. Examples of protocols include eBGP, BGMP, and MBGP. 577 o Bandwidth Allocation - If shared with other services, then there 578 needs to be a determination of the share of bandwidth reserved 579 for multicast delivery. 581 o QoS Requirements - Delay/latency specifications that need to be 582 specified in an SLA. 584 o AD Roles and Responsibilities - the role played by each AD for 585 provisioning and maintaining the set of peering points to support 586 multicast delivery. 588 4.2. Routing Aspects and Related Guidelines 590 The main objective for multicast delivery routing is to ensure that 591 the End User receives the multicast stream from the "most optimal" 592 source [INF_ATIS_10] which typically: 594 o Maximizes the multicast portion of the transport and minimizes 595 any unicast portion of the delivery, and 597 o Minimizes the overall combined network(s) route distance. 599 This routing objective applies to both Native and AMT; the actual 600 methodology of the solution will be different for each. Regardless, 601 the routing solution is expected to be: 603 o Scalable 605 o Avoid/minimize new protocol development or modifications, and 607 o Be robust enough to achieve high reliability and automatically 608 adjust to changes/problems in the multicast infrastructure. 610 For both Native and AMT environments, having a source as close as 611 possible to the EU network is most desirable; therefore, in some 612 cases, an AD may prefer to have multiple sources near different 613 peering points, but that is entirely an implementation issue. 615 4.2.1 Native Multicast Routing Aspects 617 Native multicast simply requires that the Administrative Domains 618 coordinate and advertise the correct source address(es) at their 619 network interconnection peering points(i.e., border routers). An 620 example of multicast delivery via a Native Multicast process across 621 two administrative Domains is as follows assuming that the 622 interconnecting peering points are also multicast enabled: 624 o Appropriate information is obtained by the EU client who is a 625 subscriber to AD-2 (see Use Case 3.1). This is usually done via 626 an appropriate file transfer - this file is typically known as 627 the manifest file. It contains instructions directing the EU 628 client to launch an appropriate application if necessary, and 629 also additional information for the application about the source 630 location and the group (or stream) id in the form of the "S,G" 631 data. The "S" portion provides the name or IP address of the 632 source of the multicast stream. The file may also contain 633 alternate delivery information such as specifying the unicast 634 address of the stream. 636 o The client uses the join message with S,G to join the multicast 637 stream [RFC4604]. 639 To facilitate this process, the two AD's need to do the following: 641 o Advertise the source id(s) over the Peering Points 643 o Exchange relevant Peering Point information such as Capacity and 644 Utilization (Other??) 646 o Implement compatible multicast protocols to ensure proper 647 multicast delivery across the peering points. 649 4.2.2 GRE Tunnel over Interconnecting Peering Point 651 If the interconnecting peering point is not multicast enabled and 652 both ADs are multicast enabled, then a simple solution is to 653 provision a GRE tunnel between the two ADs - see Use Case 3.2.2. 654 The termination points of the tunnel will usually be a network 655 engineering decision, but generally will be between the border 656 routers or even between the AD 2 border router and the AD 1 source 657 (or source access router). The GRE tunnel would allow end-to-end 658 native multicast or AMT multicast to traverse the interface. 659 Coordination and advertisement of the source IP is still required. 661 The two AD's need to follow the same process as described in 4.2.1 662 to facilitate multicast delivery across the Peering Points. 664 4.2.3 Routing Aspects with AMT Tunnels 666 Unlike Native (with or without GRE), an AMT Multicast environment is 667 more complex. It presents a dual layered problem because there are 668 two criteria that should be simultaneously met: 670 o Find the closest AMT relay to the end-user that also has 671 multicast connectivity to the content source and 673 o Minimize the AMT unicast tunnel distance. 675 There are essentially two components to the AMT specification: 677 o AMT Relays: These serve the purpose of tunneling UDP multicast 678 traffic to the receivers (i.e., End Points). The AMT Relay will 679 receive the traffic natively from the multicast media source and 680 will replicate the stream on behalf of the downstream AMT 681 Gateways, encapsulating the multicast packets into unicast 682 packets and sending them over the tunnel toward the AMT Gateway. 683 In addition, the AMT Relay may perform various usage and 684 activity statistics collection. This results in moving the 685 replication point closer to the end user, and cuts down on 686 traffic across the network. Thus, the linear costs of adding 687 unicast subscribers can be avoided. However, unicast replication 688 is still required for each requesting endpoint within the 689 unicast-only network. 691 o AMT Gateway (GW): The Gateway will reside on an on End-Point - 692 this may be a Personal Computer (PC) or a Set Top Box (STB). The 693 AMT Gateway receives join and leave requests from the 694 Application via an Application Programming Interface (API). In 695 this manner, the Gateway allows the endpoint to conduct itself 696 as a true Multicast End-Point. The AMT Gateway will encapsulate 697 AMT messages into UDP packets and send them through a tunnel 698 (across the unicast-only infrastructure) to the AMT Relay. 700 The simplest AMT Use Case (section 3.3) involves peering points that 701 are not multicast enabled between two multicast enabled ADs. An AMT 702 tunnel is deployed between an AMT Relay on the AD 1 side of the 703 peering point and an AMT Gateway on the AD 2 side of the peering 704 point. One advantage to this arrangement is that the tunnel is 705 established on an as needed basis and need not be a provisioned 706 element. The two ADs can coordinate and advertise special AMT Relay 707 Anycast addresses with each other - though they may alternately 708 decide to simply provision Relay addresses, though this would not be 709 an optimal solution in terms of scalability. 711 Use Cases 3.4 and 3.5 describe more complicated AMT situations as 712 AD-2 is not multicast enabled. For these cases, the End User device 713 needs to be able to setup an AMT tunnel in the most optimal manner. 714 Using an Anycast IP address for AMT Relays allows for all AMT 715 Gateways to find the "closest" AMT Relay - the nearest edge of the 716 multicast topology of the source. An example of a basic delivery 717 via an AMT Multicast process for these two Use Cases is as follows: 719 o The manifest file is obtained by the EU client application. This 720 file contains instructions directing the EU client to an ordered 721 list of particular destinations to seek the requested stream and, 722 for multicast, specifies the source location and the group (or 723 stream) ID in the form of the "S,G" data. The "S" portion provides 724 the URI (name or IP address) of the source of the multicast stream 725 and the "G" identifies the particular stream originated by that 726 source. The manifest file may also contain alternate delivery 727 information such as the address of the unicast form of the content 728 to be used, for example, if the multicast stream becomes 729 unavailable. 731 o Using the information in the manifest file, and possibly 732 information provisioned directly in the EU client, a DNS query is 733 initiated in order to connect the EU client/AMT Gateway to an AMT 734 Relay. 736 o Query results are obtained, and may return an Anycast address or a 737 specific unicast address of a relay. Multiple relays will 738 typically exist. The Anycast address is a routable "pseudo- 739 address" shared among the relays that can gain multicast access to 740 the source. 742 o If a specific IP address unique to a relay was not obtained, the 743 AMT Gateway then sends a message (e.g., the discovery message) to 744 the Anycast address such that the network is making the routing 745 choice of particular relay - e.g., closest relay to the EU. (Note 746 that in IPv6 there is a specific Anycast format and Anycast is 747 inherent in IPv6 routing, whereas in IPv4 Anycast is handled via 748 provisioning in the network. Details are out of scope for this 749 document.) 751 o The contacted AMT Relay then returns its specific unicast IP 752 address (after which the Anycast address is no longer required). 753 Variations may exist as well. 755 o The AMT Gateway uses that unicast IP address to initiate a three- 756 way handshake with the AMT Relay. 758 o AMT Gateway provides "S,G" to the AMT Relay (embedded in AMT 759 protocol messages). 761 o AMT Relay receives the "S,G" information and uses the S,G to join 762 the appropriate multicast stream, if it has not already subscribed 763 to that stream. 765 o AMT Relay encapsulates the multicast stream into the tunnel 766 between the Relay and the Gateway, providing the requested content 767 to the EU. 769 Note: Further routing discussion on optimal method to find "best AMT 770 Relay/GW combination" and information exchange between AD's to be 771 provided. 773 4.3. Back Office Functions - Provisioning and Logging Guidelines 775 Back Office refers to the following: 777 o Servers and Content Management systems that support the delivery 778 of applications via multicast and interactions between ADs. 780 o Functionality associated with logging, reporting, ordering, 781 provisioning, maintenance, service assurance, settlement, etc. 783 4.3.1 Provisioning Guidelines 785 Resources for basic connectivity between ADs Providers need to be 786 provisioned as follows: 788 o Sufficient capacity must be provisioned to support multicast-based 789 delivery across ADs. 790 o Sufficient capacity must be provisioned for connectivity between 791 all supporting back-offices of the ADs as appropriate. This 792 includes activating proper security treatment for these back- 793 office connections (gateways, firewalls, etc) as appropriate. 794 o Routing protocols as needed, e.g. configuring routers to support 795 these. 797 Provisioning aspects related to Multicast-Based inter-domain 798 delivery are as follows. 800 The ability to receive requested application via multicast is 801 triggered via the manifest file. Hence, this file must be provided 802 to the EU regarding multicast URL - and unicast fallback if 803 applicable. AD-2 must build manifest and provision capability to 804 provide the file to the EU. 806 Native multicast functionality is assumed to be available across 807 many ISP backbones, peering and access networks. If however, native 808 multicast is not an option (Use Cases 3.4 and 3.5), then: 810 o EU must have multicast client to use AMT multicast obtained either 811 from Application Source (per agreement with AD-1) or from AD-1 or 812 AD-2 (if delegated by the Application Source). 813 o If provided by AD-1/AD-2, then the EU could be redirected to a 814 client download site (note: this could be an Application Source 815 site). If provided by the Application Source, then this Source 816 would have to coordinate with AD-1 to ensure the proper client is 817 provided (assuming multiple possible clients). 818 o Where AMT Gateways support different application sets, all AD-2 819 AMT Relays need to be provisioned with all source & group 820 addresses for streams it is allowed to join. 821 o DNS across each AD must be provisioned to enable a client GW to 822 locate the optimal AMT Relay (i.e. longest multicast path and 823 shortest unicast tunnel) with connectivity to the content's 824 multicast source. 826 Provisioning Aspects Related to Operations and Customer Care are 827 stated as follows. 829 Each AD provider is assumed to provision operations and customer 830 care access to their own systems. 832 AD-1's operations and customer care functions must have visibility 833 to what is happening in AD-2's network or to the service provided by 834 AD-2, sufficient to verify their mutual goals and operations, e.g. 835 to know how the EU's are being served. This can be done in two ways: 837 o Automated interfaces are built between AD-1 and AD-2 such that 838 operations and customer care continue using their own systems. This 839 requires coordination between the two AD's with appropriate 840 provisioning of necessary resources. 841 o AD-1's operations and customer care personnel are provided access 842 directly to AD-2's system. In this scenario, additional provisioning 843 in these systems will be needed to provide necessary access. 844 Additional provisioning must be agreed to by the two AD-2s to support 845 this option. 847 4.3.2 Application Accounting Guidelines 849 All interactions between pairs of ADs can be discovered and/or be 850 associated with the account(s) utilized for delivered applications. 851 Supporting guidelines are as follows: 853 o A unique identifier is recommended to designate each master 854 account. 855 o AD-2 is expected to set up "accounts" (logical facility generally 856 protected by login/password/credentials) for use by AD-1. Multiple 857 accounts and multiple types/partitions of accounts can apply, e.g. 858 customer accounts, security accounts, etc. 860 4.3.3 Log Management Guidelines 862 Successful delivery of applications via multicast between pairs of 863 interconnecting ADs requires that appropriate logs will be exchanged 864 between them in support. Associated guidelines are as follows. 866 AD-2 needs to supply logs to AD-1 per existing contract(s). Examples 867 of log types include the following: 869 o Usage information logs at aggregate level. 870 o Usage failure instances at an aggregate level. 871 o Grouped or sequenced application access 872 performance/behavior/failure at an aggregate level to support 873 potential Application Provider-driven strategies. Examples of 874 aggregate levels include grouped video clips, web pages, and sets 875 of software download. 876 o Security logs, aggregated or summarized according to agreement 877 (with additional detail potentially provided during security 878 events, by agreement). 879 o Access logs (EU), when needed for troubleshooting. 880 o Application logs (what is the application doing), when needed for 881 shared troubleshooting. 882 o Syslogs (network management), when needed for shared 883 troubleshooting. 885 The two ADs may supply additional security logs to each other as 886 agreed to by contract(s). Examples include the following: 888 o Information related to general security-relevant activity which 889 may be of use from a protective or response perspective, such as 890 types and counts of attacks detected, related source information, 891 related target information, etc. 892 o Aggregated or summarized logs according to agreement (with 893 additional detail potentially provided during security events, by 894 agreement) 896 4.4. Operations - Service Performance and Monitoring Guidelines 898 Service Performance refers to monitoring metrics related to 899 multicast delivery via probes. The focus is on the service provided 900 by AD-2 to AD-1 on behalf of all multicast application sources 901 (metrics may be specified for SLA use or otherwise). Associated 902 guidelines are as follows: 904 o Both AD's are expected to monitor, collect, and analyze service 905 performance metrics for multicast applications. AD-2 provides 906 relevant performance information to AD-1; this enables AD-1 to 907 create an end-to-end performance view on behalf of the multicast 908 application source. 910 o Both AD's are expected to agree on the type of probes to be used 911 to monitor multicast delivery performance. For example, AD-2 may 912 permit AD-1's probes to be utilized in the AD-2 multicast service 913 footprint. Alternately, AD-2 may deploy its own probes and relay 914 performance information back to AD-1. 916 o In the event of performance degradation (SLA violation), AD-1 may 917 have to compensate the multicast application source per SLA 918 agreement. As appropriate, AD-1 may seek compensation from AD-2 919 if the cause of the degradation is in AD-2's network. 921 Service Monitoring generally refers to a service (as a whole) 922 provided on behalf of a particular multicast application source 923 provider. It thus involves complaints from End Users when service 924 problems occur. EU's direct their complaints to the source provider; 925 in turn the source provider submits these complaints to AD-1. The 926 responsibility for service delivery lies with AD-1; as such AD-1 927 will need to determine where the service problem is occurring - its 928 own network or in AD-2. It is expected that each AD will have tools 929 to monitor multicast service status in its own network. 931 o Both AD's will determine how best to deploy multicast service 932 monitoring tools. Typically, each AD will deploy its own set of 933 monitoring tools; in which case, both AD's are expected to inform 934 each other when multicast delivery problems are detected. 936 o AD-2 may experience some problems in its network. For example, 937 for the AMT Use Cases, one or more AMT Relays may be experiencing 938 difficulties. AD-2 may be able to fix the problem by rerouting 939 the multicast streams via alternate AMT Relays. If the fix is not 940 successful and multicast service delivery degrades, then AD-2 941 needs to report the issue to AD-1. 943 o When problem notification is received from a multicast 944 application source, AD-1 determines whether the cause of the 945 problem is within its own network or within the AD-2 domain. If 946 the cause is within the AD-2 domain, then AD-1 supplies all 947 necessary information to AD-2. Examples of supporting information 948 include the following: 950 o Kind of problem(s) 952 o Starting point & duration of problem(s). 954 o Conditions in which problem(s) occur. 956 o IP address blocks of affected users. 958 o ISPs of affected users. 960 o Type of access e.g., mobile versus desktop. 962 o Locations of affected EUs. 964 o Both AD's conduct some form of root cause analysis for multicast 965 service delivery problems. Examples of various factors for 966 consideration include: 968 o Verification that the service configuration matches the 969 product features. 971 o Correlation and consolidation of the various customer 972 problems and resource troubles into a single root service 973 problem. 975 o Prioritization of currently open service problems, giving 976 consideration to problem impact, service level agreement, 977 etc. 979 o Conduction of service tests, including one time tests or a 980 series of tests over a period of time. 982 o Analysis of test results. 984 o Analysis of relevant network fault or performance data. 986 o Analysis of the problem information provided by the customer 987 (CP). 989 o Once the cause of the problem has been determined and the problem 990 has been fixed, both AD's need to work jointly to verify and 991 validate the success of the fix. 993 o Faults in service could lead to SLA violation for which the 994 multicast application source provider may have to be compensated 995 by AD-1. Subsequently, AD-1 may have to be compensated by AD-2 996 based on the contract. 998 4.5. Client Reliability Models/Service Assurance Guidelines 1000 There are multiple options for instituting reliability 1001 architectures, most are at the application level. Both AD's should 1002 work those out with their contract/agreement and with the multicast 1003 application source providers. 1005 Network reliability can also be enhanced by the two AD's by 1006 provisioning alternate delivery mechanisms via unicast means. 1008 5. Troubleshooting and Diagnostics 1010 Any service provider supporting multicast delivery of content should 1011 have the capability to collect diagnostics as part of multicast 1012 troubleshooting practices and resolve network issues accordingly. 1013 Issues may become apparent or identified either through network 1014 monitoring functions or by customer reported problems as described 1015 in section 4.4. 1017 It is expected that multicast diagnostics will be collected 1018 according to currently established practices [MDH-04]. However, 1019 given that inter-domain creates a significant interdependence of 1020 proper networking functionality between providers there does exist a 1021 need for providers to be able to signal/alert each other if there 1022 are any issues noted by either one. 1024 Service providers may also wish to allow limited read-only 1025 administrative access to their routers via a looking-glass style 1026 router proxy to facilitate the debugging of multicast control state 1027 and peering status. Software implementations for this purpose is 1028 readily available [Traceroute] and can be easily extended to provide 1029 access to commonly-used multicast troubleshooting commands in a 1030 secure manner. 1032 The specifics of the notification and alerts are beyond the scope of 1033 this document, but general guidelines are similar to those described 1034 in section 4.4 (Service Performance and Monitoring). Some general 1035 communications issues are stated as follows. 1037 o Appropriate communications channels will be established between 1038 the customer service and operations groups from both AD's to 1039 facilitate information sharing related to diagnostic 1040 troubleshooting. 1042 o A default resolution period may be considered to resolve open 1043 issues. Alternately, mutually acceptable resolution periods 1044 could be established depending on the severity of the 1045 identified trouble. 1047 6. Security Considerations 1049 From a security perspective, normal security procedures are expected 1050 to be followed by each AD to facilitate multicast delivery to 1051 registered and authenticated end users. Additionally: 1053 o Encryption - Peering point links may be encrypted per agreement 1054 if dedicated for multicast delivery. 1056 o Security Breach Mitigation Plan - In the event of a security 1057 breach, the two AD's are expected to have a mitigation plan for 1058 shutting down the peering point and directing multicast traffic 1059 over alternated peering points. It is also expected that 1060 appropriate information will be shared for the purpose of securing 1061 the identified breach. 1063 DRM and Application Accounting, Authorization and Authentication 1064 should be the responsibility of the multicast application source 1065 provider and/or AD-1. AD-1 needs to work out the appropriate 1066 agreements with the source provider. 1068 Network has no DRM responsibilities, but might have authentication 1069 and authorization obligations. These though are consistent with 1070 normal operations of a CDN to insure end user reliability, security 1071 and network security. 1073 AD-1 and AD-2 should have mechanisms in place to ensure proper 1074 accounting for the volume of bytes delivered through the peering 1075 point and separately the number of bytes delivered to EUs. For 1076 example, [BCP38] style filtering could be deployed by both AD's to 1077 ensure that only legitimately sourced multicast content is exchanged 1078 between them. 1080 If there are problems related to failure of token authentication 1081 when end-users are supported by AD-2, then some means of validating 1082 proper working of the token authentication process (e.g., back-end 1083 servers querying the multicast application source provider's token 1084 authentication server are communicating properly) should be 1085 considered. Details will have to be worked out during implementation 1086 (e.g., test tokens or trace token exchange process). 1088 7. IANA Considerations 1090 8. Conclusions 1092 This Best Current Practice document provides detailed Use Case 1093 scenarios for the transmission of applications via multicast across 1094 peering points between two Administrative Domains. A detailed set of 1095 guidelines supporting the delivery is provided for all Use Cases. 1097 For Use Cases involving AMT tunnels (cases 3.4 and 3.5), it is 1098 recommended that proper procedures are implemented such that the 1099 various AMT Gateways (at the End User devices and the AMT nodes in 1100 AD-2) are able to find the correct AMT Relay in other AMT nodes as 1101 appropriate. Section 4.3 provides an overview of one method that 1102 finds the optimal Relay-Gateway combination via the use of an 1103 Anycast IP address for AMT Relays. 1105 9. References 1107 9.1. Normative References 1109 [RFC2784] D. Farinacci, T. Li, S. Hanks, D. Meyer, P. Traina, 1110 "Generic Routing Encapsulation (GRE)", RFC 2784, March 2000 1112 [IETF-ID-AMT] G. Bumgardner, "Automatic Multicast Tunneling", draft- 1113 ietf-mboned-auto-multicast-13, April 2012, Work in progress 1115 [RFC4604] H. Holbrook, et al, "Using Internet Group Management 1116 Protocol Version 3 (IGMPv3) and Multicast Listener Discovery 1117 Protocol Version 2 (MLDv2) for Source Specific Multicast", RFC 4604, 1118 August 2006 1120 [RFC4607] H. Holbrook, et al, "Source Specific Multicast", RFC 4607, 1121 August 2006 1123 [RFC3618] B. Fenner, et al, "Multicast Source Discovery Protocol", 1124 RFC 3618, October 2003 1126 [BCP38] P. Ferguson, et al, "Network Ingress Filtering: Defeating 1127 Denial of Service Attacks which employ IP Source Address Spoofing", 1128 BCP: 38, May 2000 1130 9.2. Informative References 1132 [INF_ATIS_10] "CDN Interconnection Use Cases and Requirements in a 1133 Multi-Party Federation Environment", ATIS Standard A-0200010, 1134 December 2012 1136 [MDH-04] D. Thaler, et al, "Multicast Debugging Handbook", IETF I-D 1137 draft-ietf-mboned-mdh-04.txt, May 2000 1139 [Traceroute] http://traceroute.org/#source%20code 1141 10. Acknowledgments 1142 Authors' Addresses 1144 Percy S. Tarapore 1145 AT&T 1146 Phone: 1-732-420-4172 1147 Email: tarapore@att.com 1149 Robert Sayko 1150 AT&T 1151 Phone: 1-732-420-3292 1152 Email: rs1983@att.com 1154 Greg Shepherd 1155 Cisco 1156 Phone: 1157 Email: shep@cisco.com 1159 Toerless Eckert 1160 Cisco 1161 Phone: 1162 Email: eckert@cisco.com 1164 Ram Krishnan 1165 Brocade 1166 Phone: 1167 Email: ramk@brocade.com