Internet DRAFT - draft-purkayastha-bier-multicast-http

draft-purkayastha-bier-multicast-http







Network Working Group                                     D. Purkayastha
Internet-Draft                                                 A. Rahman
Intended status: Informational                                D. Trossen
Expires: September 2, 2018              InterDigital Communications, LLC
                                                           March 1, 2018


                       Multicast HTTP using BIER
                draft-purkayastha-bier-multicast-http-00

Abstract

   HTTP Level multicast, using BIER, is described in the working group
   use case document.  Specifically, it describes how individual HTTP
   responses can utilize a single BIER multicast response, utilizing an
   edge-based service routing components on top of the BIER transport.
   In order to enable the use case, the document describes additional
   functions in the ingress and egress nodes to the BIER network.  These
   functions are assumed to be part of the BIER multicast overlay.

Status of This Memo

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

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

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

   This Internet-Draft will expire on September 2, 2018.

Copyright Notice

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

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (https://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must



Purkayastha, et al.     Expires September 2, 2018               [Page 1]

Internet-Draft               HTTP Multicast                   March 2018


   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Conventions used in this document . . . . . . . . . . . . . .   2
   3.  Background  . . . . . . . . . . . . . . . . . . . . . . . . .   3
     3.1.  Applicability . . . . . . . . . . . . . . . . . . . . . .   3
     3.2.  State Of The Art  . . . . . . . . . . . . . . . . . . . .   4
   4.  Requirements  . . . . . . . . . . . . . . . . . . . . . . . .   6
   5.  HTTP Multicast Overlay Components . . . . . . . . . . . . . .   6
   6.  HTTP Multicast Overlay Operations . . . . . . . . . . . . . .   7
   7.  Required Protocol Changes . . . . . . . . . . . . . . . . . .   9
   8.  Next Steps  . . . . . . . . . . . . . . . . . . . . . . . . .   9
   9.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   9
   10. Security Considerations . . . . . . . . . . . . . . . . . . .   9
   11. Informative References  . . . . . . . . . . . . . . . . . . .   9
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  10

1.  Introduction

   BIER Use Cases document [I-D.ietf-bier-use-cases] describes an "HTTP
   Level Multicast" scenario, where HTTP Responses are carried over a
   BIER multicast infrastructure to multiple clients.  HTTP-level
   clients benefit from the dynamic multicast group formation enabled by
   BIER.  For this, the server side Service Router (SR), creates a list
   of outstanding client side Service Router (SR) requests for the same
   HTTP resource.  When a response is available, BIER forwarding
   information is retrieved and used to send the HTTP response.

   In this draft, we introduce the requirements for a BIER multicast
   overlay realizing this use case.  It also describes the necessary
   functions that form the BIER multicast overlay and the operations
   that enable the desired "HTTP Level Multicast" behavior.  We describe
   a list of protocols needed for the realization of the individual
   operations.

   We conclude with future steps and seek input from the WG.

2.  Conventions used in this document

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





Purkayastha, et al.     Expires September 2, 2018               [Page 2]

Internet-Draft               HTTP Multicast                   March 2018


3.  Background

3.1.  Applicability

   With the extensive use of "web technology", "distributed services"
   and availability of heterogeneous network, HTTP has effectively
   transitioned into the common transport for E2E communication across
   the web.  HTTP request and response is used in media streaming and
   delivery applications.  In such scenarios, where semi-synchronous
   access to the same resource occurs (such as watching prominent videos
   over Netflix or similar platforms or liveTV over HTTP), traffic grows
   linearly with the number of viewers since the HTTP-based server will
   provide an HTTP response to each individual viewer.  This poses a
   significant burden on operators in terms of costs and on users in
   terms of likely degradation of quality.  BIER can greatly reduce this
   burden, as described in the use case [I-D.ietf-bier-use-cases], by
   utilizing the BIER routing overlay to transport a single HTTP
   response to several edge nodes.  Edge nodes may have additional logic
   to 'route' the HTTP-based service from and to the individual clients.
   The path-based routing applied in BIER is particularly appealing
   since it will allow for building those multicast relations per HTTP
   request/response relation in an ad-hoc manner, thereby improving
   flexibility and utilization even further.

   Applicability of "HTTP Level Multicast" is not only restricted for
   Video streaming and delivery.  It may be applied in other use cases
   such as Virtual Reality, V2X where users may access, in semi-
   synchronous way, the same resource.

   Consider a virtual reality use case where several users are joining a
   VR session at the same time, e.g., centered around a joint event.
   Hence, due to the temporal correlation of the VR sessions, we can
   assume that multiple requests are sent for the same content at any
   point, particularly when viewing angles of VR clients are similar or
   the same.  The "HTTP Level Multicast" use case allows reducing the
   load on the network and faster delivery of content.

   In a V2X scenario, at a particular location, as many vehicles enters,
   they may request geo-location, safety related information from the
   same content server.  The requests may be semi-synchronous or close
   in chronological order.  "HTTP Level Multicast" will reduce the flood
   of HTTP response and latency in delivering the information to the
   vehicles.

   As part of POINT/RIFE EU Horizon 2020 project, HTTP Level Multicast
   use case has been executed on SDN based and ICN based underlay
   network, as described in the [I-D.irtf-icnrg-deployment-guidelines].
   "HTTP multicast" demonstrated benefits in HTTP-level streaming video



Purkayastha, et al.     Expires September 2, 2018               [Page 3]

Internet-Draft               HTTP Multicast                   March 2018


   delivery, when deployed on POINT test bed with 80+ nodes.  This draft
   [I-D.irtf-icnrg-deployment-guidelines] also describes protocol
   requirements to enable HTTP multicast to work on ICN underlay.

   This use case completely works as an overlay on BIER.  The multicast
   here is ad-hoc, i.e., the multicast relations are built at the level
   of each HTTP response and can therefore vary from one request/
   response transaction to others.  Returning to our VR scenario above,
   the multicast relations are being formed for each request for a VR
   video chunk.  If more than one VR client has requested said chunk at
   the time defined by the response delay for delivering the chunk from
   the video server, BIER multicast relations are formed in an ad-hoc
   manner and the response is sent to the clients with outstanding
   requests to the same chunk via a BIER-level multicast.  Note that
   these multicast relations are highly dynamic.  For instance, in the
   case of the VR scenario, changes in viewing angles by VR clients will
   result in completely access patterns to chunks at the next retrieval.
   This differs from edge multicast flow aggregators which assume stable
   multicast relations that can be mapped onto, e.g., IP multicast.

3.2.  State Of The Art

   This use case describes how a single HTTP Response, which represents
   N number of responses for the same resource, can be directed towards
   correct ingress point in a fast and dynamic way.  The routing
   decision is abstracted at HTTP level, instead of the traditional
   approach where routing decision for a service request is made at
   Layer 3 after resolution of the service name onto a locator such as
   an IP address.  This means HTTP requests and responses are routed
   based on the URI associated with the request.  URI is simply put,
   name of a resource.  Using URI to identify Source and Destination,
   HTTP requests are routed using a path-based forwarding.  To
   summarize, routing of HTTP request/response can be done based on
   named services and HTTP is used as a special named (application
   layer) service.  The routing of those request in done via a service
   router (as shown in Fig. 1), which utilizes a path-based approach to
   forwarding.














Purkayastha, et al.     Expires September 2, 2018               [Page 4]

Internet-Draft               HTTP Multicast                   March 2018


                                                   +--------------+
                                                   |              |
                                       /images/*  /| Image server |
                                                 / |   pool       |
            +---------+           +----------+  /  |              |
            |         | xyz.com   |          | /   +--------------+
            |  Users  |----------\| Service  |/
            |         |----------/| Router   |\
            +---------+           |          | \
                                  +----------+  \  +-------------+
                                                 \ |             |
                                        /video/*  \| Video server|
                                                   |   pool      |
                                                   |             |
                                                   +-------------+


                       Figure 1: Path Based Routing

   This service router is configured with rules to forward requests
   based on the URL path.  E.g in case of multiple micro-services being
   run, traffic can be routed to multiple back-end services using path-
   based routing.  For example, general requests are routed to one
   target group and requests to render images to another target group.

   "HTTP Level multicast" may work on existing transport technology
   using SDN based forwarding [Reed2016].  This option utilizes path-
   based forwarding through SDN-based wildcard matching fields,
   supported with OF1.2+ [Reed2016].  It can be embedded into slicing
   approach of underlying transport infrastructure by leaving typical
   slicing fields available (e.g., VLAN tags).  The forwarding utilizes
   the Ethernet frame format at Layer 2, representing the topological
   links of a specific forwarding path in the transport network as
   unique bits in a fixed size bit array.  For the latter, the approach
   utilizes the IPv6 source and destination fields for storing the bit
   array information (in a simple version for this forwarding, this
   limits the topology to 256 links but extensions schemes are possible,
   which are left out of this document at this stage).  AS mentioned,
   the SDN forwarding action is a simple wildcard matching, supported
   with OF1.2+, with the wildcard representing the unique bit of a
   switch-specific output port.  With that, the switch needs to consider
   as many forwarding rules as switch local output ports, see [Reed2016]
   for more information.








Purkayastha, et al.     Expires September 2, 2018               [Page 5]

Internet-Draft               HTTP Multicast                   March 2018


4.  Requirements

   A realization for the "HTTP multicast" use case may have the
   following requirements:

   o  MUST support multiple FQDN-based service endpoints to exist in the
      overlay

   o  MUST send FQDN-based service requests at the network level to a
      suitable FQDN-based service endpoint via policy-based selection of
      appropriate path information

   o  MUST allow for multicast delivery of HTTP response to same HTTP
      request URI

   o  MUST provide direct path mobility, where the path between the
      egress and ingress Service Routers(SR) can be determined as being
      optimal (e.g., shortest path or direct path to a selected
      instance), is needed to avoid the use of anchor points and further
      reduce service-level latency

5.  HTTP Multicast Overlay Components

   Let us formulate the architecture of the BIER multicast overlay for
   the scenario outlined in [I-D.ietf-bier-use-cases].  This overlay is
   shown in Figure 2 below.

   The multicast overlay is formed by the BFIR and BFER of the BIER
   layer and the additional SR and PCE elements shown in the figure.
   When connecting to a standard IP routed peering network, a special SR
   is utilized, shown as the border GW in the figure.




















Purkayastha, et al.     Expires September 2, 2018               [Page 6]

Internet-Draft               HTTP Multicast                   March 2018


   +---------+   +---------+
   |         |   |         |
   +IP only  +---+  SR     +--------|
   |receiver |   |         |        |
   |UE       |   +---------+        |
   +---------+                      |
                               +----------+   +---------+
                               |          |   |         |
                               |  BFER    |---|  BFR    |------|
                               |          |   |         |      |
                               +----------+   +---------+      |
                                                           +-------+
                                                   |-------| BFER  |
                               +---------+    +----|--+    +---|---+
                               |         |----| BFR   |        |
                               |   BFIR  |    +-------+    +--------+
                               |         |                 |  SR    |
                               +---------+                 +--------+
   +---------+   +---------+         |                          |
   |         |   |         |         |                          |
   +IP only  +---+  SR     +---------|                +----------------+
   |sender UE|   |         |                          | IP only sender |
   +---------+   +---------+                          | and receiver   |
                                                      |     UE         |
                                                      +----------------+



       Figure 2: BIER Multicast Overlay for HTTP Multicast Use case

6.  HTTP Multicast Overlay Operations

   As shown in Figure 2, the multicast overlay includes a function
   called PCE (Path Computation Element function), which is responsible
   for selecting the correct multicast end point and possibly realizing
   path policy enforcement.  The result of the selection is a BIER path
   identifier, which is delivered to the SR upon initial path
   computation request (i.e., when sending a request to or response for
   a specific URL for the first time).  The path identifier is utilized
   for any future request for a given URL-based request.  All service
   end points indicate availability to the PCE through a registration
   procedure, the PCE will instruct all SRs to invalidate previous path
   identifiers to the specific URL.  This may result in an initial path
   computation request at the next service request forwarding.  Through
   this, the newly registered service endpoint might be utilized if the
   policy-governed path computation selects said service instance.





Purkayastha, et al.     Expires September 2, 2018               [Page 7]

Internet-Draft               HTTP Multicast                   March 2018


   In the architecture of Figure 2, an HTTP request is sent by an IP-
   based device towards the FQDN of the server defined in the HTTP
   request.

   At the client facing SR, the HTTP request is terminated at the HTTP
   level at a local HTTP proxy.  We assume termination on the client
   side at Layer 3 and above protocols, such as TCP.  Server side SR at
   the egress, terminates any transport protocol on the outgoing
   (server) side.  These terminating functions are assumed to be part of
   the client/server SR.

   If no local BIER forwarding information exists to the server SR, a
   path computation entity (PCE) is consulted, which calculates a
   unicast path from the BFIR to which the client SR is connected to the
   BFER to which the server SR is connected.  The PCE provides the
   forwarding information to the client SR, which in turn caches the
   result.

   Ultimately, the HTTP request is forwarded by the client SR towards
   the server-facing SR via the local BFIR.  We assume a (TCP-friendly)
   transport protocol being used for the transmission between client and
   server SR while not mandating the use of TCP for this transmission.

   Upon arrival of an HTTP request at the server SR, the server SR proxy
   forwards the HTTP request as a well-formed HTTP request locally to
   the server.

   If no BIER forwarding information exists for the reverse direction
   towards the requesting client SR, this information is requested from
   the PCE, similar to the operation in forward direction.

   Upon arrival of any further client SR request at the server SR to an
   HTTP request whose response is still outstanding, the client SR is
   added to an internal request table.  Optionally, the request is
   suppressed from being sent to the server.

   Upon arrival of an HTTP response at the server SR, the server SR
   consults its internal request table for any outstanding HTTP requests
   to the same request.  The server SR retrieves the stored BIER
   forwarding information for the reverse direction for all outstanding
   HTTP requests and determines the path information to all client SRs
   through a binary OR over all BIER forwarding identifiers with the
   same SI field.  This newly formed joint BIER multicast response
   identifier is used to send the HTTP response across the network.







Purkayastha, et al.     Expires September 2, 2018               [Page 8]

Internet-Draft               HTTP Multicast                   March 2018


7.  Required Protocol Changes

   For the operations outlined in the previous section, we foresee the
   following protocol changes may be required:

   o  SR-to-SR protocol for HTTP: Map HTTP to BIER message exchange
      between client and server SRs

   o  SR-PCE protocol: Used for path computation and delivery of BIER
      routing information as well as path updates

   o  Registration protocol: Used to register FQDN service endpoints

8.  Next Steps

   Given the importance of HTTP-based services, we therefore suggest to
   include an additional Applicability Statement documenting how BIER
   can be applied to aggregate HTTP responses over a BIER infrastructure
   (which we term as "HTTP Multicast").  This new proposed Applicability
   Statement document will describe how BIER can be applied to implement
   efficient, dynamic multicast support for the delivery of HTTP
   responses to individual HTTP requests for the same resource.

9.  IANA Considerations

   This document requests no IANA actions.

10.  Security Considerations

   TBD.

11.  Informative References

   [I-D.ietf-bier-use-cases]
              Kumar, N., Asati, R., Chen, M., Xu, X., Dolganow, A.,
              Przygienda, T., Gulko, A., Robinson, D., Arya, V., and C.
              Bestler, "BIER Use Cases", draft-ietf-bier-use-cases-06
              (work in progress), January 2018.

   [I-D.irtf-icnrg-deployment-guidelines]
              Rahman, A., Trossen, D., Kutscher, D., and R. Ravindran,
              "Deployment Considerations for Information-Centric
              Networking (ICN)", draft-irtf-icnrg-deployment-
              guidelines-00 (work in progress), February 2018.







Purkayastha, et al.     Expires September 2, 2018               [Page 9]

Internet-Draft               HTTP Multicast                   March 2018


   [Reed2016]
              Reed, M., Al-Naday, M., Thomas, N., Trossen, D.,
              Petropoulos, G., and S. Spirou, "Stateless multicast
              switching in software defined networks", ICC 2016, 2016.

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

Authors' Addresses

   Debashish Purkayastha
   InterDigital Communications, LLC
   Conshohocken
   USA

   Email: Debashish.Purkayastha@InterDigital.com


   Akbar Rahman
   InterDigital Communications, LLC
   Montreal
   Canada

   Email: Akbar.Rahman@InterDigital.com


   Dirk Trossen
   InterDigital Communications, LLC
   64 Great Eastern Street, 1st Floor
   London  EC2A 3QR
   United Kingdom

   Email: Dirk.Trossen@InterDigital.com
   URI:   http://www.InterDigital.com/















Purkayastha, et al.     Expires September 2, 2018              [Page 10]