idnits 2.17.1 draft-ietf-bier-multicast-http-response-05.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (January 10, 2021) is 1195 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- == Outdated reference: A later version (-13) exists of draft-ietf-bier-te-arch-00 == Outdated reference: A later version (-15) exists of draft-ietf-httpbis-bcp56bis-05 Summary: 0 errors (**), 0 flaws (~~), 3 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group D. Trossen 3 Internet-Draft Huawei 4 Intended status: Informational A. Rahman 5 Expires: July 14, 2021 C. Wang 6 InterDigital Communications, LLC 7 T. Eckert 8 Futurewei 9 January 10, 2021 11 Applicability of BIER Multicast Overlay for Adaptive Streaming Services 12 draft-ietf-bier-multicast-http-response-05 14 Abstract 16 HTTP Level Multicast, using BIER, is described as a use case in the 17 BIER Use Cases document. HTTP Level Multicast is used in today's 18 video streaming and delivery services such as HLS, AR/VR, etc., 19 generally realized over IP Multicast as well as other use cases such 20 as software update delivery. A realization of "HTTP Multicast" over 21 "IP Multicast" is described for the video delivery use case. IP 22 Multicast is commonly used for IPTV services. DVB and BBF also 23 develope a reference architecture for IP Multicast service. A few 24 problems with IP Multicast, such as waste of transmission bandwidth, 25 increase in signaling when there are few users are described. 26 Realization over BIER, through a BIER Multicast Overlay Layer, is 27 described as an alternative. How BIER Multicast Overlay operation 28 improves over IP Multicast, such as reduction in signaling, dynamic 29 creation of multicast groups to reduce signaling and bandwidth 30 wastage is described. We conclude with a few next steps. 32 Status of This Memo 34 This Internet-Draft is submitted in full conformance with the 35 provisions of BCP 78 and BCP 79. 37 Internet-Drafts are working documents of the Internet Engineering 38 Task Force (IETF). Note that other groups may also distribute 39 working documents as Internet-Drafts. The list of current Internet- 40 Drafts is at https://datatracker.ietf.org/drafts/current/. 42 Internet-Drafts are draft documents valid for a maximum of six months 43 and may be updated, replaced, or obsoleted by other documents at any 44 time. It is inappropriate to use Internet-Drafts as reference 45 material or to cite them other than as "work in progress." 47 This Internet-Draft will expire on July 14, 2021. 49 Copyright Notice 51 Copyright (c) 2021 IETF Trust and the persons identified as the 52 document authors. All rights reserved. 54 This document is subject to BCP 78 and the IETF Trust's Legal 55 Provisions Relating to IETF Documents 56 (https://trustee.ietf.org/license-info) in effect on the date of 57 publication of this document. Please review these documents 58 carefully, as they describe your rights and restrictions with respect 59 to this document. Code Components extracted from this document must 60 include Simplified BSD License text as described in Section 4.e of 61 the Trust Legal Provisions and are provided without warranty as 62 described in the Simplified BSD License. 64 Table of Contents 66 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 67 1.1. Reference Deployment . . . . . . . . . . . . . . . . . . 3 68 2. Conventions used in this document . . . . . . . . . . . . . . 5 69 3. Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . 5 70 3.1. HTTP-based Steaming . . . . . . . . . . . . . . . . . . . 6 71 3.2. HTTP-based Software Updates . . . . . . . . . . . . . . . 7 72 4. Requirements . . . . . . . . . . . . . . . . . . . . . . . . 7 73 5. Realization over IP Multicast . . . . . . . . . . . . . . . . 8 74 5.1. Mapping to Requirements . . . . . . . . . . . . . . . . . 9 75 5.2. Problems . . . . . . . . . . . . . . . . . . . . . . . . 9 76 6. Realization over BIER . . . . . . . . . . . . . . . . . . . . 10 77 6.1. Description of a "BIER Multicast Overlay" to support HTTP 78 Multicast . . . . . . . . . . . . . . . . . . . . . . . . 10 79 6.1.1. BIER Multicast Overlay Components . . . . . . . . . . 11 80 6.1.2. BIER Multicast Overlay Operations . . . . . . . . . . 11 81 6.2. Achieving Multicast Responses . . . . . . . . . . . . . . 13 82 6.3. BIER Multicast Overlay Traffic Management . . . . . . . . 14 83 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14 84 8. Security Considerations . . . . . . . . . . . . . . . . . . . 14 85 9. Informative References . . . . . . . . . . . . . . . . . . . 15 86 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 16 88 1. Introduction 90 The BIER Use Cases document [I-D.ietf-bier-use-cases] describes an 91 "HTTP Level Multicast" scenario, where HTTP Responses are carried 92 over a BIER multicast infrastructure to multiple clients. Especially 93 rate-adaptive HTTP solutions can benefit from the dynamic multicast 94 group membership changes enabled by BIER. For this, the server-side 95 Network Attachment Point (NAP), creates a list of outstanding client- 96 side NAP requesting for the same HTTP resource. When the response is 97 available, the list of NAPs with outstanding client requests are 98 converted into the BIER or BIER-TE bitstring and used to send the 99 HTTP response. 101 In this draft, we describe use cases for such HTTP response multicast 102 capability. Specifically for HTTP-based video streaming, we describe 103 how this can be realized over IP Multicast and how the operation of 104 the video delivery use case can be improved if realized over BIER. 105 The realization over BIER is achieved through what is called "BIER 106 Multicast overlay" layer, i.e., the methods by which the sending BIER 107 router knows how to send other application packets. The requirements 108 for BIER Multicast overlay layer is described in this document. It 109 also describes the necessary functions that form the BIER multicast 110 overlay and the operations that enable the desired "HTTP Level 111 Multicast" behavior. One such operation is generating the PATH ID 112 (represents the path between BFIR and BFER) based on named service 113 relationship and translating it to appropriate BIER header. We 114 describe a list of protocols needed for the realization of the 115 individual operations. 117 1.1. Reference Deployment 119 Let us formulate the architecture of the BIER multicast overlay for 120 the scenario outlined in [I-D.ietf-bier-use-cases]. This overlay is 121 shown in Figure 1 below. 123 +---------+ +------------+ 124 | | | |/ 125 +IP only +---+ SH + BFER +-----| 126 |receiver | | (CNAP) |\ | 127 |UE | +----/\------+ | 128 +---------+ || | 129 || +----------+ +---------+ 130 || | | | | 131 |-------- | BFR |---| BFR |------| 132 | | | | | | 133 | +----------+ +---------+ | 134 +---------+ +-------+ 135 | |------------------------------------>| BFIR | 136 + BIER TE + | + | 137 | PCE | +---------+ +-------+ | SH | 138 | |--|| | |----| BFR |----|(SNAP) | 139 +---------+ || | BFR | +-------+ | | 140 || | | +-------+ 141 || +---------+ /|\ 142 +---------+ +------\/----+ | | 143 | | | |/ | | 144 +IP only +---+ SH + BFER +------| +----------+ 145 |receiver | | (CNAP) |\ | IP only | 146 +---------+ +------------+ | Sender | 147 |(Server) | 148 +----------+ 150 [SH : Service Handler, CNAP : Client Network Attachment Point] 151 [SNAP : Server Network Attachment Point] 152 [PCE : Path Computation Element] 154 Figure 1: Deployment over BIER 156 The multicast overlay is formed by the BFIR and BFER of the BIER 157 layer and the additional Service Handler (SH) and Path Computation 158 Element (PCE) elements shown in the figure. When interconnecting 159 with a non-BIER enabled IP routed peering network, a special SH, such 160 as Border Gateway may be used. 162 The Service Handler and BFER can be assumed to be collocated and can 163 be viewed as Client Network Attachment Point (CNAP). Clients sends 164 and receives HTTP transactions through CNAP. 166 On the server side, the Service handling function can be part of the 167 Server Network Attachment Point (SNAP). It includes the BFIR 168 function and SH. SNAP is responsible for aggregating the relevant 169 HTTP Requests and sending one or more BIER Multicast HTTP response to 170 multiple clients who requested the same content. 172 The SH function is assumed to be collocated with BFIR / BFER. The 173 BFIR and BFER is assumed to be normal router boxes in the network. 174 If the additional function of SH cannot be added to normal routers, 175 then SH can be deployed as a separate function outside the routers. 176 In such scenario an interface between SH and BFIR or BFER needs to be 177 defined. 179 As part of the POINT/RIFE/FLAME EU Horizon 2020 projects, HTTP Level 180 Multicast use case has been executed on SDN based and ICN based 181 underlay network, as described in the 182 [I-D.irtf-icnrg-deployment-guidelines]. 184 "HTTP multicast" demonstrated benefits in HTTP-level streaming video 185 delivery, when deployed on a POINT test bed with 80+ nodes. This 186 draft [I-D.irtf-icnrg-deployment-guidelines] also describes protocol 187 requirements to enable HTTP multicast to work on ICN underlay. 189 2. Conventions used in this document 191 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 192 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 193 document are to be interpreted as described in [RFC2119]. 195 3. Use Cases 197 With the extensive use of "web technology", "distributed services" 198 and availability of heterogeneous network, HTTP has effectively 199 transitioned into the common transport or session layer for E2E and 200 multi-hop communication across the web that is also called Service 201 signaling. Multi-hop when using a sequence of HTTP instance such as 202 HTTP caches. The draft "On the use of HTTP as a Substrate" 203 [I-D.ietf-httpbis-bcp56bis], describes how HTTP is commonly used 204 among service instances to communicate with each other, thus 205 abstracting the lower layer details to application developers. 207 For example, HTTP provides a common transport to support application 208 layer streaming (Section 3.1) for not only conventional TV 209 broadcasting, but also emerging Virtual Reality (VR) applications 210 like VR-based tourist guide. HTTP can also be leveraged to support 211 wide-area large-scale software updates (Section 3.2) such as for 212 Vehicle-to-Everything (V2X) or Internet of vehicles use case. In the 213 following, we present how such HTTP transport capability can be 214 extended with multicast delivery for HTTP responses in certain use 215 cases. 217 3.1. HTTP-based Steaming 219 Referring to the BIER Use Cases [I-D.ietf-bier-use-cases], multicast 220 is used to scale out HTTP Live Streaming (HLS) to a large number of 221 receivers that use HTTP. This is used today in solutions like DOCSIS 222 hybrid streaming [TR_IPMC_ABR]. Multicast can speed up both live and 223 high-demand VoD streaming. Adaptive Bit Rate IPMC [TR_IPMC_ABR] 224 describes use of IP Multicast towards the CMTS or a box beside it, 225 where the content is converted to HTTP/TCP to stream to the receivers 226 (e.g., homes). A server hosting the HLS content is shown as "NAP 227 Server". The gateways acting as receivers for the multicast from the 228 server are shown as "Client-NAP" (CNAP). Each CNAP can serve 229 multiple clients. 231 Dynamic Adaptive Streaming (DASH) [ISO_DASH] over HTTP is another 232 HTTP-based streaming approach. In DASH, each media is described by a 233 Media Presentation Description (MPD) file, through which a DASH 234 client (e.g. a media player) is instructed how to download, interpret 235 and play the media. The media content is encoded into fragments or 236 chunks at different bit rates. Both the MPD and media fragments are 237 stored at a server. The DASH client first needs to retrieve the MPD 238 file from the server; then it can start to retrieve media fragments 239 encoded at different bits rates from the server. DASH players may 240 use rate adaptation, i.e., switching the retrieval from one rate 241 chunks to another rate. Usually this rate adaptation is utilizing 242 delay measurements, resulting in TCP like behavior in terms of 243 backoff in case of increasing delay. DASH has been designed to reuse 244 most of existing Internet infrastructure and protocols and can run 245 over different underlying transports including HTTP. For example, 246 two major media service providers Netflix and Youtube use DASH over 247 HTTP as their streaming technology. 249 HTTP request and response used in media streaming services like HLS 250 and DASH over HTTP, use HTTP responses for delivery of content, i.e., 251 each chunk is returned as an HTTP response to the requesting client. 252 In such scenarios, where semi-synchronous access to the same resource 253 occurs (such as watching prominent videos over Netflix or similar 254 platforms or live TV over HTTP), traffic grows linearly with the 255 number of viewers since the HTTP-based server will provide an HTTP 256 response to each individual viewer. This poses a significant burden 257 on operators in terms of costs and on users in terms of likely 258 degradation of quality. 260 The use of HTTP-based streaming of video content is not limited to 261 traditional TV broadcasting. Consider a virtual reality use case 262 where several users are joining a VR session at the same time, e.g., 263 centered around a joint event. Hence, due to the temporal 264 correlation of the VR sessions, we can assume that multiple requests 265 are sent for the same content at any point, particularly when viewing 266 angles of VR clients are similar or the same. Due to availability of 267 virtual functions and cloud technology, the actual end point from 268 where content is delivered may change. 270 3.2. HTTP-based Software Updates 272 Various new types of devices such as vehicles and robots are being 273 connected to Internet. They could be physically located at or moving 274 between different places and connect to Internet via different 275 telecom operators. Software updates for these devices become 276 important and introduce point-to-multipoint traffic from a software 277 server to devices. Using V2X as an example, the software server 278 could be a part of telecom operators or maintained by car 279 manufacturers. In either case, the software server keeps vehicle 280 software or firmware images, which will be transmitted to many 281 vehicles across the global Internet, based on a pull or push model. 282 HTTP is commonly used for those software updates to provide an E2E 283 transport between the software server and each vehicle requesting 284 software updates. As a result, the traffic from the software server 285 to vehicles increases linearly with the number of connected vehicles 286 since each vehicle will establish a HTTP connection with the software 287 server. 289 4. Requirements 291 A realization for the "HTTP multicast" use case may have the 292 following requirements: 294 o MUST support multiple FQDN-based service endpoints to exist in the 295 overlay to allow for utilizing several service endpoints for 296 delivery and would therefore enable localization of content 297 delivery. 299 o MUST send FQDN-based service requests at the network level to a 300 suitable FQDN-based service endpoint via policy-based selection of 301 appropriate path information. 303 o MUST allow for multicast delivery of HTTP response to same HTTP 304 request URI. 306 o MUST provide direct path mobility, where the path between the 307 egress and ingress Service Routers(SR) can be determined as being 308 optimal (e.g., shortest path or direct path to a selected 309 instance), is needed to avoid the use of anchor points and further 310 reduce service-level latency. 312 5. Realization over IP Multicast 314 We now discuss the realization of chunk-based delivery over IP 315 Multicast delivery methods. We focus our presentation here on the 316 video streaming use case in Section 3.1. 318 IPTV or Internet video distribution in CDNs, uses HTTP Level 319 Multicast and realized over IP Multicast (IPMC). Many features of 320 the IPTV service uses IPMC Group dependent state. Besides popular 321 features like PIM, Mldp, in a variable bit rate encoded content 322 source, content consumption also depends on group state. 324 DVB released reference architecture [DVB_REF_ARCH] for an end-to-end 325 system to deliver linear content over IP networks in a scalable and 326 standards-compliant manner. It focuses on delivering Adaptive Bit 327 Rate unicast content over a IP Multicast network. 329 A Multicast gateway is deployed in a CPE, Upstream Network Edge 330 device or Terminal and provides multicast to unicast conversion 331 facilities for several homes. All in-scope traffic on the access 332 network between the Multicast Gateway (e.g. network edge device) and 333 the Terminal or home gateway device is unicast. The individual media 334 files are encapsulated into other protocols, so that they can be 335 recovered as discrete files, when they exit the multicast pipe, which 336 is terminated at Multicast Gateway. Interface "L" between Multicast 337 server and Content playback supports fetching of all specified types 338 of Content, Conditional request, Range request, Caching etc. BBF 339 also started similar work in October 2016, called WT-399. This work 340 is now coordinated with DVB. BBF focuses on developing the device 341 management model. 343 Assume clients that are consuming the same content (such as a TV 344 program) and that this content has for each block (typically segments 345 worth 2 seconds of content) a set of outstanding requests from its 346 clients. When IP Multicast is used in the domain, such as in 347 aforementioned pre-existing solutions like in Cablelabs/DOCSIS 348 [TR_IPMC_ABR], all possible blocks of the content have to be mapped 349 to some IP Multicast group, and the CNAP will need to know the 350 mapping of block to groups. For example, a live stream may have 11 351 different bitrates available. In the most simple Block to IP 352 Multicast group mapping scheme, there could be 11 multicast groups, 353 one for all the blocks of one bitrate (note that this is not 354 necessarily done in deployments of this solution, but we consider it 355 here for the purpose of explanation). 357 If the multicast domain and especially the links into the CNAP has 358 enough bandwidth, this solution work well with IP Multicast. As soon 359 as there is at least one Client connected to a CNAP for one 360 particular content, the CNAP would join all 11 multicast groups for 361 this content. 363 5.1. Mapping to Requirements 365 To realize "HTTP Level Multicast" over "IP Multicast", some 366 additional functions needs to be supported in an intermediate 367 (overlay) layer. 369 Support of mapping between FQDN based end points, Multicast Address. 370 Creating multicast group from FQDN based end points. 372 Control mechanism related to time when to start sending response as 373 the multicast group is created. It is required that the source 374 should not send response immediately to the Multicast address. Wait 375 for some time to build the group sufficiently and then send response. 377 Support of IGMP signaling between User device, NAPs and Multicast 378 Router. 380 5.2. Problems 382 If the number of clients on a CNAP for a particular program is large, 383 the approach will work fairly well, because the likelihood that each 384 of the 11 bitrates of a content is necessary for at least one Client 385 is then fairly high. 387 When the number of receivers is not very large, IP Multicast runs 388 into two issues. If all the bitrates for the content are sent across 389 the same group, then many of the bitrates may not be required and 390 would have to be received unnecessarily and dropped by the CNAP. If 391 each bitrate was sent on a different IP Multicast group, the CNAP 392 could dynamically join/leave each multicast group based on the known 393 receivers, but that would create an extremely high and undesirable 394 amount of IP Multicast signaling protocol activity (PIM/IGMP) that is 395 easily overloading the network 397 For efficiency reasons, the CNAP would need to dynamically join to 398 only those bitrate steams where it does have outstanding requests, 399 therefore achieving the best efficiency. This would mean in the 400 worst case that a CNAP would need to send for each new block, aka.: 401 every two second for every client one IGMP/PIM leave and one IGMP/PIM 402 join towards the upstream router to get a block for an appropriate 403 bitrate (or changed content) whenever bitrate or content on a client 404 have changed. This high rate of control-plane signaling between CNAP 405 and routers, and even between routers inside the multicast Domain is 406 a major pain point and may easily prohibit deployment of these 407 solutions because in many network devices, the performance of PIM/ 408 IGMP is not scaled for continuous change in forwarding. Even worse, 409 the limit may not simply be the CPU performance of the routers 410 control plane, but a limitation in the number of changes in 411 forwarding that the forwarding plane units (NPU/ASICs) can support. 413 6. Realization over BIER 415 6.1. Description of a "BIER Multicast Overlay" to support HTTP 416 Multicast 418 The Service Handler (as in Figure 1) in BIER Multicast Overlay, 419 process the FQDN in the service request. At the service level, e.g. 420 HTTP service, the fixed relationship among consumer and providers may 421 be abstracted using "Service Names", and the changing relationship at 422 the Service execution endpoints can be managed at the "multicast 423 overlay" level, handing out the exact locations where service request 424 or response needs to be sent to BIER layer. 426 +-------------+ +-----------+ +-----------+ 427 | | | | | PATH ID | 428 | Service name| | Multicast | | translates| 429 | [producer, |------->| Overlay |------>| to BIER | 430 | consumer] | | Layer | | header | 431 | | | | | | 432 +-------------+ +-----------+ +-----------+ 434 Figure 2: Service Name to Path ID Translation 436 We illustrate this using HTTP URI as service names. It should be 437 noted, other identifiers can also be used as service name, such as an 438 IP address. In the example illustration, other layers such as TCP, 439 IP has been terminated at the egress point. Outside BIER domain we 440 terminate TCP/IP session to extract the URI. The URI is processed by 441 the "multicast overlay" layer to generate PATH IDENTIFIER , which is 442 used as BIER header. 444 Path Identifier or PATH ID, is used in path-based approach, which 445 utilizes path information provided by the source of the packet for 446 forwarding said packet in the network. This is similar to segment 447 routing albeit differing in the type of information provided for such 448 source-based forwarding. 450 Once the BIER header is determined and added at the BFIR, the rest of 451 the transport layers is assumed to be any underlay technology as 452 supported by BIER. We assume TCP friendly transport, which can 453 assure reliable delivery. 455 6.1.1. BIER Multicast Overlay Components 457 With reference to Figure 1, the following components are part of BIER 458 Multicast Overlay Layer. 460 o Service Handler (SH): The Service handler terminates transport 461 level protocols, such as TCP, and extracts the URI. It processes 462 the URI in order to determine the PATH ID by contacting the PCE 463 for a suitable path resolution, which in turn is used to send the 464 HTTP Request. 466 o Optional PCE : Path Computation Element keeps track of all service 467 execution end points through a registration process. SH interacts 468 with the PCE to obtain PATH information by resolving the FQDN from 469 the incoming URI at the ingress SH to a suitable PATH ID. 471 o Interface functions to BFIR where the PATH ID is mapped to BIER 472 header. An Interface to the BFER is likely not required because 473 the BFER will only receive the traffic that they need and should 474 be able to derive from the BIER payload which subset of its 475 receivers need to get an HTTP encapsulated version of a particular 476 reply. 478 6.1.2. BIER Multicast Overlay Operations 480 As shown in Figure 3, the "Multicast overlay function" includes a 481 function called PCE (Path Computation Element function), which is 482 responsible for selecting the correct multicast end point and 483 possibly realizing path policy enforcement. The result of the 484 selection is a BIER path identifier, which is delivered to the SH 485 upon initial path computation request (or provided to the ingress 486 router BFIR to be added as BIER header ) (i.e., when sending a 487 request to or response for a specific URL for the first time). The 488 path identifier is utilized for any future request for a given URL- 489 based request. 491 All service end points indicate availability to the PCE through a 492 registration procedure, the PCE will instruct all SHs to invalidate 493 previous path identifiers to the specific URL that might exist. This 494 may result in an a renewed path computation request at the next 495 service request forwarding. Through this, the newly registered 496 service endpoint might be utilized if the policy-governed path 497 computation selects said service instance. Otherwise, a previously 498 resolved PATH ID for the URI determined at the ingress SH is being 499 used instead, removing any resolution latency to an SH-local lookup 500 of the PATH ID. 502 +-------+ +------+----+ +--------+ +----+-----+ 503 |Apps | |Apps----> | | PCE | | | APP | 504 |layer |--->|layer | SH | +---/\---+ | SH--> | 505 |prot | |prot | | || | | LYR | 506 +-------+ +------+----+ +---------+ +---------+ +----+-----+ 507 | L2 | | L2 |-->|Forwarder|-->|Forwarder|-->| L2 | 508 +-------+ +------+----+ +---------+ +---------+ +----------+ 509 |--------BIER DOMAIN -------| 511 Figure 3: Protocol for Multicast Overlay Layer 513 In the diagram shown above, an HTTP request is sent by an IP-based 514 device towards the FQDN of the server defined in the HTTP request. 516 At the client facing SH, the HTTP request is terminated at the TCP 517 level at a local HTTP proxy. The server side SH at the egress 518 terminates any transport protocol on the outgoing (server) side. 519 These terminating functions are assumed to be part of the client/ 520 server SH. As a consequence, the SH obtains the destination "Service 521 Name" from the received HTTP request. 523 If no local BIER forwarding information exists at the client side SH, 524 the path computation entity (PCE) is consulted, which calculates a 525 unicast path from the BFIR to which the client SH is connected to the 526 BFER to which the server SH is connected. The PCE provides the 527 forwarding information (Path ID) to the client SH, which in turn 528 caches the result. The Client SH may forward the Path ID to BFIR, 529 which creates the BIER header. 531 +-------------+--------------+ 532 | | | 533 | BIER HEADER | HTTP REQUEST | 534 | | [ENCODED IN | 535 | | TEXT] | 536 | | | 537 +-------------+--------------+ 539 Figure 4: Encapsulation of Service Request 541 Ultimately, the "HTTP Request" encapsulated by BIER header, as shown 542 in above diagram, is forwarded by the client SH towards the server- 543 facing SH via the local BFIR. We assume a (TCP-friendly) transport 544 protocol being used for the transmission between client and server 545 SH. The possibility of sending one HTTP response to several CNAPs 546 makes this a reliable multicast transport protocol. The exact nature 547 of this transport protocol is left for further studies. A suitable 548 transport or Layer 2 encapsulation, as supported by BIER layer, is 549 added to the above payload. 551 +-------------+-------------+--------------+ 552 | | | | 553 | Transport L2| BIER HEADER | HTTP REQUEST | 554 | HEADER | | [ENCODED IN | 555 | | | TEXT] | 556 | | | | 557 +-------------+-------------+--------------+ 559 Figure 5: Transport Encapsulation of BIER payload 561 Upon arrival of an HTTP request at the server SH, it forwards the 562 HTTP request as a well-formed HTTP request locally to the server, 563 awaiting an HTTP response for the reverse direction. 565 If no BIER forwarding information exists for the reverse direction 566 towards the requesting client SH, this information is requested from 567 the PCE, similar to the operation in forward direction. 569 6.2. Achieving Multicast Responses 571 Upon arrival of any further client SH request at the server SH to an 572 HTTP request whose response is still outstanding, the client SR is 573 added to an internal request table. Optionally, the request is 574 suppressed from being sent to the server. 576 Upon arrival of an HTTP response at the server SH, the server SH 577 consults its internal request table for any outstanding HTTP requests 578 to the same request. The server SH retrieves the stored BIER 579 forwarding information for the reverse direction for all outstanding 580 HTTP requests and determines the path information to all client SHs 581 through a binary OR over all BIER forwarding identifiers with the 582 same SI field. This newly formed joint BIER multicast response 583 identifier is used to send the HTTP response across the network. 585 BIER makes the solution scalable. Instead of IP Multicast with IGMP/ 586 PIM, BIER is being used between Server NAP (SNAP) and CNAP, the SNAP 587 simply coalesces the forwarded HTTP requests from the CNAP, and 588 determines for every requested block the set of CNAPs requesting it. 589 A set of CNAPs corresponds to a set of bits in the BIER-bitstring, 590 one bit per CNAP. The SNAP then sends the block into BIER with the 591 appropriate bitstring set. 593 This completely eliminates any dynamic multicast signaling between 594 CNAP and SNAP. It also avoids sending of any unnecessary data block, 595 which in the IP Multicast solution is pretty much unavoidable. 597 Furthermore, using the approach with BIER, the SNAP can also easily 598 control how long to delay sending of blocks. For example, it may 599 wait for some percentage of the time of a block (e.g, 50% = 1 600 second), therefore ensuring that it is coalescing as many requests 601 into one BIER multicast answer as possible. 603 6.3. BIER Multicast Overlay Traffic Management 605 BIER-TE (BIER Traffic Engineering [I-D.ietf-bier-te-arch]) forwards 606 and replicates packets like BIER based on a BitString in the packet 607 header. Where BIER forwards and replicates its packets on shortest 608 paths towards BFER, BIER-TE allows (and requires) to also use bits in 609 the bitstring to indicate the paths in the BIER domain across which 610 the BIER-TE packets are to be sent. This is done to support Traffic 611 Engineering for BIER packets via explicit hop-by-hop and/or loose hop 612 forwarding of BIER-TE packets. A BIER-TE controller calculates 613 explicit paths for this packet forwarding. 615 The Multicast Flow Overlay operates as in BIER. Instead of 616 interacting with the BIER layer, it interacts with the BIER-TE 617 Controller. 619 In this draft, "Name-based" service forwarding over BIER, is 620 described to handle changes in service execution end points and 621 manage adhoc relationship in a multicast group. BIER-TE is another 622 way of doing this, while integrated with BIER architecture. The PCE 623 function described earlier in the BIER Multicast Overlay, may become 624 part of BIER-TE Controller. The SH function in the CNAP and SNAP 625 communicates with BIER TE controller. SH sends the service name to 626 the controller, which process the request using the PCE function and 627 returns the "bitstring" to be used as BIER header for delivery of the 628 HTTP response to multiple clients. 630 7. IANA Considerations 632 This document requests no IANA actions. 634 8. Security Considerations 636 The operations in Section 6 consider the forwarding of HTTP packets 637 between ingress and egress points based on information derived from 638 the HTTP request. The support for HTTPS is foreseen to ensure 639 suitable encryption capability of such exchanges. For this to 640 happen, we expect certificate sharing agreements to exist between the 641 content provider and the BIER overlay provider, ensuring the 642 extraction of the suitable request parameters while allowing for the 643 re-encryption of the content for an encrypted delivery over the BIER 644 network. Since we liken the relationship between content and BIER 645 overlay provider to that between content and CDN provider, the 646 existence of certificate sharing agreements is similar to the 647 practice used for CDNs. 649 9. Informative References 651 [DVB_REF_ARCH] 652 DVB, "Adaptive media streaming over IP Multicast", DVB 653 Document A176, March 2018, 654 . 658 [I-D.ietf-bier-te-arch] 659 Eckert, T., Cauchie, G., Braun, W., and M. Menth, "Traffic 660 Engineering for Bit Index Explicit Replication (BIER-TE)", 661 draft-ietf-bier-te-arch-00 (work in progress), January 662 2018. 664 [I-D.ietf-bier-use-cases] 665 Nainar, N., Asati, R., Chen, M., Xu, X., Dolganow, A., 666 Przygienda, T., Gulko, A., Robinson, D., Arya, V., and C. 667 Bestler, "BIER Use Cases", draft-ietf-bier-use-cases-12 668 (work in progress), September 2020. 670 [I-D.ietf-httpbis-bcp56bis] 671 Nottingham, M., "On the use of HTTP as a Substrate", 672 draft-ietf-httpbis-bcp56bis-05 (work in progress), May 673 2018. 675 [I-D.irtf-icnrg-deployment-guidelines] 676 Rahman, A., Trossen, D., Kutscher, D., and R. Ravindran, 677 "Deployment Considerations for Information-Centric 678 Networking (ICN)", draft-irtf-icnrg-deployment- 679 guidelines-07 (work in progress), September 2019. 681 [ISO_DASH] 682 ISO, "Information technology -- Dynamic adaptive streaming 683 over HTTP (DASH) -- Part 1: Media presentation description 684 and segment formats", ISO/IEC 23009-1:2014, May 2014, 685 . 688 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 689 Requirement Levels", BCP 14, RFC 2119, 690 DOI 10.17487/RFC2119, March 1997, 691 . 693 [TR_IPMC_ABR] 694 CableLabs, "IP Multicast Adaptive Bit Rate Architecture 695 Technical Report", OC-TR-IP-MULTI-ARCH-V01-141112 C01, 696 October 2016, 697 . 701 Authors' Addresses 703 Dirk Trossen 704 Huawei Technologies Duesseldorf GmbH 705 205 Hansallee 706 Duesseldorf 40549 707 Germany 709 Email: dirk.trossen@huawei.com 710 URI: http://huawei-dialog.de/ 712 Akbar Rahman 713 InterDigital Communications, LLC 714 1000 Sherbrooke Street West 715 Montreal H3A 3G4 716 Canada 718 Email: Akbar.Rahman@InterDigital.com 720 Chonggang Wang 721 InterDigital Communications, LLC 722 1001 E Hector St 723 Conshohocken 19428 724 USA 726 Email: Chonggang.Wang@InterDigital.com 727 Toerless Eckert 728 Futurewei Technologies Inc. 729 2330 Central Expy 730 Santa Clara 95050 731 USA 733 Email: tte+ietf@cs.fau.de