The Quality for Service (Q4S) Protocol
RFC 8802
Document | Type |
RFC - Informational
(July 2020; No errata)
Was draft-aranda-dispatch-q4s (individual)
|
|
---|---|---|---|
Authors | Jose Aranda , Monica Cortes , Joaquin Salvachua , Tecnalia Innovation , Inaki Sarriegui | ||
Last updated | 2020-07-29 | ||
Stream | ISE | ||
Formats | plain text html xml pdf htmlized bibtex | ||
IETF conflict review | conflict-review-aranda-dispatch-q4s | ||
Stream | ISE state | Published RFC | |
Consensus Boilerplate | Unknown | ||
Document shepherd | Adrian Farrel | ||
Shepherd write-up | Show (last changed 2019-05-25) | ||
IESG | IESG state | RFC 8802 (Informational) | |
Telechat date | |||
Responsible AD | (None) | ||
Send notices to | Adrian Farrel <rfc-ise@rfc-editor.org> | ||
IANA | IANA review state | Version Changed - Review Needed | |
IANA action state | No IANA Actions |
Independent Submission J.J. Aranda Request for Comments: 8802 M. Cortés Category: Informational Nokia ISSN: 2070-1721 J. Salvachúa Univ. Politecnica de Madrid M. Narganes Tecnalia I. Martínez-Sarriegui Optiva Media July 2020 The Quality for Service (Q4S) Protocol Abstract This memo describes an application-level protocol for the communication of end-to-end QoS compliance information based on the HyperText Transfer Protocol (HTTP) and the Session Description Protocol (SDP). The Quality for Service (Q4S) protocol provides a mechanism to negotiate and monitor latency, jitter, bandwidth, and packet loss, and to alert whenever one of the negotiated conditions is violated. Implementation details on the actions to be triggered upon reception/ detection of QoS alerts exchanged by the protocol are out of scope of this document; it is either application dependent (e.g., act to increase quality or reduce bit-rate) or network dependent (e.g., change connection's quality profile). This protocol specification is the product of research conducted over a number of years; it is presented here as a permanent record and to offer a foundation for future similar work. It does not represent a standard protocol and does not have IETF consensus. Status of This Memo This document is not an Internet Standards Track specification; it is published for informational purposes. This is a contribution to the RFC Series, independently of any other RFC stream. The RFC Editor has chosen to publish this document at its discretion and makes no statement about its value for implementation or deployment. Documents approved for publication by the RFC Editor are not candidates for any level of Internet Standard; see Section 2 of RFC 7841. Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at https://www.rfc-editor.org/info/rfc8802. Copyright Notice Copyright (c) 2020 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. Table of Contents 1. Introduction 1.1. Scope 1.2. Motivation 1.3. Summary of Features 1.4. Differences from OWAMP/TWAMP 2. Terminology 3. Overview of Operation 4. Q4S Messages 4.1. Requests 4.2. Responses 4.3. Header Fields 4.3.1. Common Q4S Header Fields 4.3.2. Specific Q4S Request Header Fields 4.3.3. Specific Q4S Response Header Fields 4.4. Bodies 4.4.1. Encoding 5. Q4S Method Definitions 5.1. BEGIN 5.2. READY 5.3. PING 5.4. BWIDTH 5.5. Q4S-ALERT 5.6. Q4S-RECOVERY 5.7. CANCEL 6. Response Codes 6.1. 100 Trying 6.2. Success 2xx 6.2.1. 200 OK 6.3. Redirection 3xx 6.4. Request Failure 4xx 6.4.1. 400 Bad Request 6.4.2. 404 Not Found 6.4.3. 405 Method Not Allowed 6.4.4. 406 Not Acceptable 6.4.5. 408 Request Timeout 6.4.6. 413 Request Entity Too Large 6.4.7. 414 Request-URI Too Long 6.4.8. 415 Unsupported Media Type 6.4.9. 416 Unsupported URI Scheme 6.5. Server Failure 5xx 6.5.1. 500 Server Internal Error 6.5.2. 501 Not Implemented 6.5.3. 503 Service Unavailable 6.5.4. 504 Server Time-Out 6.5.5. 505 Version Not Supported 6.5.6. 513 Message Too Large 6.6. Global Failures 6xx 6.6.1. 600 Session Does Not Exist 6.6.2. 601 Quality Level Not Allowed 6.6.3. 603 Session Not Allowed 6.6.4. 604 Authorization Not Allowed 7. Protocol 7.1. Protocol Phases 7.2. SDP Structure 7.2.1. "qos-level" Attribute 7.2.2. "alerting-mode" Attribute 7.2.3. "alert-pause" Attribute 7.2.4. "recovery-pause" Attribute 7.2.5. "public-address" Attributes 7.2.6. "latency" Attribute 7.2.7. "jitter" Attribute 7.2.8. "bandwidth" Attribute 7.2.9. "packetloss" Attribute 7.2.10. "flow" Attributes 7.2.11. "measurement" AttributesShow full document text