HTTP Overload Control Mechanism
draft-asveren-dispatch-http-overload-control-00

Document Type Active Internet-Draft (individual)
Last updated 2018-04-14
Stream (None)
Intended RFC status (None)
Formats plain text xml pdf html bibtex
Stream Stream state (No stream defined)
Consensus Boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date
Responsible AD (None)
Send notices to (None)
DISPATCH                                                      T. Asveren
Internet-Draft                                                    Ribbon
Intended status: Standards Track                          April 13, 2018
Expires: October 15, 2018

                    HTTP Overload Control Mechanism
            draft-asveren-dispatch-http-overload-control-00

Abstract

   This document specifies a generic overload control mechanism for
   HTTP/HTTPS applications.

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 October 15, 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
   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.

Asveren                 Expires October 15, 2018                [Page 1]
Internet-Draft            HTTP Overload Control               April 2018

Table of Contents

   1.  Overview  . . . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Requirements Language . . . . . . . . . . . . . . . . . . . .   3
   3.  Overload Control Mechanism  . . . . . . . . . . . . . . . . .   3
     3.1.  Algorithm . . . . . . . . . . . . . . . . . . . . . . . .   3
     3.2.  Capability Negotiation  . . . . . . . . . . . . . . . . .   3
     3.3.  Overload-Control Header . . . . . . . . . . . . . . . . .   4
     3.4.  Procedures at the Client  . . . . . . . . . . . . . . . .   4
     3.5.  Procedures at the Server  . . . . . . . . . . . . . . . .   5
     3.6.  Procedures at the Proxy . . . . . . . . . . . . . . . . .   5
   4.  Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . .   5
   5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   5
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .   5
   7.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .   5
   8.  Appendix A: Example Message Flow  . . . . . . . . . . . . . .   6
   9.  Informative References  . . . . . . . . . . . . . . . . . . .   6
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .   7

1.  Overview

   HTTP is used between clients and servers for request/response based
   interaction in the context of many different applications.  Some of
   these applications have tight timing requirements for receiving a
   response.  For example, a signing request done toward a Signing
   Server in the context of STIR RFC 8224 [RFC8224] usually is
   associated with a real time session setup procedure which needs to
   complete in a given time frame.  For such applications it is
   imperative to consider the actual load on a server to meet the timing
   requirements.  Current HTTP overload control relies on using 503 with
   a Retry-After header indicating for how long no request should be
   sent to a server.  This, although sufficient for certain
   applications, does not always provide satisfactory results as it
   allows only binary control of the load following a step function
   pattern.  TCP congestion window does not address this issue either as
   it does not allow an application direct control and is impacted by
   network conditions like latency, jitter, packet loss.  Therefor there
   is a need for a mechanism which can address the overload control
   needs of HTTP applications in general for which existing mechanisms
   are not sufficient.  Similar phenomena is observed for other
   protocols as well.  For example, for SIP the issue is addressed by
   defining a specific mechanism in RFC 7339 [RFC7339].  Therefore This
   document specifies a generic overload control mechanism for HTTP/
   HTTPS applications.

   The notion of applying different drop probabilities for separate
   categories is supported as well.  A category is an abstract construct
   as far as this specification is concerned.  It pertains to different

Show full document text