summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc7657.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/rfc/rfc7657.txt')
-rw-r--r--doc/rfc/rfc7657.txt1459
1 files changed, 1459 insertions, 0 deletions
diff --git a/doc/rfc/rfc7657.txt b/doc/rfc/rfc7657.txt
new file mode 100644
index 0000000..95228ee
--- /dev/null
+++ b/doc/rfc/rfc7657.txt
@@ -0,0 +1,1459 @@
+
+
+
+
+
+
+Internet Engineering Task Force (IETF) D. Black, Ed.
+Request for Comments: 7657 EMC
+Category: Informational P. Jones
+ISSN: 2070-1721 Cisco
+ November 2015
+
+
+ Differentiated Services (Diffserv) and Real-Time Communication
+
+Abstract
+
+ This memo describes the interaction between Differentiated Services
+ (Diffserv) network quality-of-service (QoS) functionality and real-
+ time network communication, including communication based on the
+ Real-time Transport Protocol (RTP). Diffserv is based on network
+ nodes applying different forwarding treatments to packets whose IP
+ headers are marked with different Diffserv Codepoints (DSCPs).
+ WebRTC applications, as well as some conferencing applications, have
+ begun using the Session Description Protocol (SDP) bundle negotiation
+ mechanism to send multiple traffic streams with different QoS
+ requirements using the same network 5-tuple. The results of using
+ multiple DSCPs to obtain different QoS treatments within a single
+ network 5-tuple have transport protocol interactions, particularly
+ with congestion control functionality (e.g., reordering). In
+ addition, DSCP markings may be changed or removed between the traffic
+ source and destination. This memo covers the implications of these
+ Diffserv aspects for real-time network communication, including
+ WebRTC.
+
+Status of This Memo
+
+ This document is not an Internet Standards Track specification; it is
+ published for informational purposes.
+
+ This document is a product of the Internet Engineering Task Force
+ (IETF). It represents the consensus of the IETF community. It has
+ received public review and has been approved for publication by the
+ Internet Engineering Steering Group (IESG). Not all documents
+ approved by the IESG are a candidate for any level of Internet
+ Standard; see Section 2 of RFC 5741.
+
+ Information about the current status of this document, any errata,
+ and how to provide feedback on it may be obtained at
+ http://www.rfc-editor.org/info/rfc7657.
+
+
+
+
+
+
+
+Black & Jones Informational [Page 1]
+
+RFC 7657 Diffserv and RT Communication November 2015
+
+
+Copyright Notice
+
+ Copyright (c) 2015 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
+ (http://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.
+
+Table of Contents
+
+ 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
+ 2. Real-Time Communications . . . . . . . . . . . . . . . . . . 3
+ 2.1. RTP Background . . . . . . . . . . . . . . . . . . . . . 4
+ 2.2. RTP Multiplexing . . . . . . . . . . . . . . . . . . . . 6
+ 3. Differentiated Services (Diffserv) . . . . . . . . . . . . . 7
+ 3.1. Diffserv Per-Hop Behaviors (PHBs) . . . . . . . . . . . . 10
+ 3.2. Traffic Classifiers and DSCP Remarking . . . . . . . . . 10
+ 4. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 12
+ 5. Diffserv Interactions . . . . . . . . . . . . . . . . . . . . 13
+ 5.1. Diffserv, Reordering, and Transport Protocols . . . . . . 13
+ 5.2. Diffserv, Reordering, and Real-Time Communication . . . . 15
+ 5.3. Drop Precedence and Transport Protocols . . . . . . . . . 16
+ 5.4. Diffserv and RTCP . . . . . . . . . . . . . . . . . . . . 17
+ 6. Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . 18
+ 7. Security Considerations . . . . . . . . . . . . . . . . . . . 19
+ 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 20
+ 8.1. Normative References . . . . . . . . . . . . . . . . . . 20
+ 8.2. Informative References . . . . . . . . . . . . . . . . . 22
+ Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 26
+ Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 26
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Black & Jones Informational [Page 2]
+
+RFC 7657 Diffserv and RT Communication November 2015
+
+
+1. Introduction
+
+ This memo describes the interactions between Differentiated Services
+ (Diffserv) network quality-of-service (QoS) functionality [RFC2475]
+ and real-time network communication, including communication based on
+ the Real-time Transport Protocol (RTP) [RFC3550]. Diffserv is based
+ on network nodes applying different forwarding treatments to packets
+ whose IP headers are marked with different Diffserv Codepoints
+ (DSCPs) [RFC2474]. In the past, distinct RTP streams have been sent
+ over different transport-level flows, sometimes multiplexed with the
+ RTP Control Protocol (RTCP). WebRTC applications, as well as some
+ conferencing applications, are now using the Session Description
+ Protocol (SDP) [RFC4566] bundle negotiation mechanism [SDP-BUNDLE] to
+ send multiple traffic streams with different QoS requirements using
+ the same network 5-tuple. The results of using multiple DSCPs to
+ obtain different QoS treatments within a single network 5-tuple have
+ transport protocol interactions, particularly with congestion control
+ functionality (e.g., reordering). In addition, DSCP markings may be
+ changed or removed between the traffic source and destination. This
+ memo covers the implications of these Diffserv aspects for real-time
+ network communication, including WebRTC traffic [WEBRTC-OVERVIEW].
+
+ The memo is organized as follows. Background is provided in
+ Section 2 on real-time communications and Section 3 on Differentiated
+ Services. Section 4 describes some examples of Diffserv usage with
+ real-time communications. Section 5 explains how use of Diffserv
+ features interacts with both transport and real-time communications
+ protocols and Section 6 provides guidance on Diffserv feature usage
+ to control undesired interactions. Security considerations are
+ discussed in Section 7.
+
+2. Real-Time Communications
+
+ Real-time communications enables communication in real time over an
+ IP network using voice, video, text, content sharing, etc. It is
+ possible to use more than one of these modes concurrently to provide
+ a rich communication experience.
+
+ A simple example of real-time communications is a voice call placed
+ over the Internet where an audio stream is transmitted in each
+ direction between two users. A more complex example is an immersive
+ videoconferencing system that has multiple video screens, multiple
+ cameras, multiple microphones, and some means of sharing content.
+ For such complex systems, there may be multiple media and non-media
+ streams transmitted via a single IP address and port or via multiple
+ IP addresses and ports.
+
+
+
+
+
+Black & Jones Informational [Page 3]
+
+RFC 7657 Diffserv and RT Communication November 2015
+
+
+2.1. RTP Background
+
+ The most common protocol used for real-time media is RTP [RFC3550].
+ RTP defines a common encapsulation format and handling rules for
+ real-time data transmitted over the Internet. Unfortunately, RTP
+ terminology usage has been inconsistent. For example, RFC 7656
+ [RFC7656] on RTP terminology observes that:
+
+ RTP [RFC3550] uses media stream, audio stream, video stream, and a
+ stream of (RTP) packets interchangeably, which are all RTP
+ streams.
+
+ Terminology in this memo is based on that RTP terminology document
+ with the following terms being of particular importance (see that
+ terminology document for full definitions):
+
+ Source Stream: A reference clock synchronized, time progressing,
+ digital media stream.
+
+ RTP Stream: A stream of RTP packets containing media data, which may
+ be source data or redundant data. The RTP stream is identified by
+ an RTP synchronization source (SSRC) belonging to a particular RTP
+ session. An RTP stream may be a secured RTP stream when RTP-based
+ security is used.
+
+ In addition, this memo follows [RFC3550] in using the term "SSRC" to
+ designate both the identifier of an RTP stream and the entity that
+ sends that RTP stream.
+
+ Media encoding and packetization of a source stream results in a
+ source RTP stream plus zero or more redundancy RTP streams that
+ provide resilience against loss of packets from the source RTP stream
+ [RFC7656]. Redundancy information may also be carried in the same
+ RTP stream as the encoded source stream, e.g., see Section 7.2 of
+ [RFC5109]. With most applications, a single media type (e.g., audio)
+ is transmitted within a single RTP session. However, it is possible
+ to transmit multiple, distinct source streams over the same RTP
+ session as one or more individual RTP streams. This is referred to
+ as RTP multiplexing. In addition, an RTP stream may contain multiple
+ source streams, e.g., components or programs in an MPEG Transport
+ Stream [H.221].
+
+ The number of source streams and RTP streams in an overall real-time
+ interaction can be surprisingly large. In addition to a voice source
+ stream and a video source stream, there could be separate source
+ streams for each of the cameras or microphones on a videoconferencing
+ system. As noted above, there might also be separate redundancy RTP
+ streams that provide protection to a source RTP stream, using
+
+
+
+Black & Jones Informational [Page 4]
+
+RFC 7657 Diffserv and RT Communication November 2015
+
+
+ techniques such as forward error correction. Another example is
+ simulcast transmission, where a video source stream can be
+ transmitted as high resolution and low resolution RTP streams at the
+ same time. In this case, a media processing function might choose to
+ send one or both RTP streams onward to a receiver based on bandwidth
+ availability or who the active speaker is in a multipoint conference.
+ Lastly, a transmitter might send the same media content concurrently
+ as two RTP streams using different encodings (e.g., video encoded as
+ VP8 [RFC6386] in parallel with H.264 [H.264]) to allow a media
+ processing function to select a media encoding that best matches the
+ capabilities of the receiver.
+
+ For the WebRTC protocol suite [WEBRTC-TRANSPORTS], an individual
+ source stream is a MediaStreamTrack, and a MediaStream contains one
+ or more MediaStreamTracks [W3C.WD-mediacapture-streams-20130903]. A
+ MediaStreamTrack is transmitted as a source RTP stream plus zero or
+ more redundant RTP streams, so a MediaStream that consists of one
+ MediaStreamTrack is transmitted as a single source RTP stream plus
+ zero or more redundant RTP streams. For more information on use of
+ RTP in WebRTC, see [RTP-USAGE].
+
+ RTP is usually carried over a datagram protocol, such as UDP
+ [RFC768], UDP-Lite [RFC3828], or the Datagram Congestion Control
+ Protocol (DCCP) [RFC4340]; UDP is most commonly used, but a non-
+ datagram protocol (e.g., TCP [RFC793]) may also be used. Transport
+ protocols other than UDP or UDP-Lite may also be used to transmit
+ real-time data or near-real-time data. For example, the Stream
+ Control Transmission Protocol (SCTP) [RFC4960] can be utilized to
+ carry application-sharing or whiteboarding information as part of an
+ overall interaction that includes real-time media. These additional
+ transport protocols can be multiplexed with an RTP session via UDP
+ encapsulation, thereby using a single pair of UDP ports.
+
+ The WebRTC protocol suite encompasses a number of forms of
+ multiplexing:
+
+ 1. Individual source streams are carried in one or more individual
+ RTP streams. These RTP streams can be multiplexed onto a single
+ transport-layer flow or sent as separate transport-layer flows.
+ This memo only considers the case where the RTP streams are to be
+ multiplexed onto a single transport-layer flow, forming a single
+ RTP session as described in [RFC3550];
+
+ 2. RTCP (see [RFC3550]) may be multiplexed onto the same transport-
+ layer flow as the RTP streams with which it is associated, as
+ described in [RFC5761], or it may be sent on a separate
+ transport-layer flow;
+
+
+
+
+Black & Jones Informational [Page 5]
+
+RFC 7657 Diffserv and RT Communication November 2015
+
+
+ 3. An RTP session could be multiplexed with a single SCTP
+ association over Datagram Transport Layer Security (DTLS) and
+ with both Session Traversal Utilities for NAT (STUN) [RFC5389]
+ and TURN [RFC5766] traffic into a single transport-layer flow as
+ described in [RFC5764] with the updates in [SRTP-DTLS]. The STUN
+ [RFC5389] and Traversal Using Relays around NAT (TURN) [RFC5766]
+ protocols provide NAT/FW (Network Address Translator / Firewall)
+ traversal and port mapping.
+
+ The resulting transport-layer flow is identified by a network
+ 5-tuple, i.e., a combination of two IP addresses (source and
+ destination), two ports (source and destination), and the transport
+ protocol used (e.g., UDP). SDP bundle negotiation restrictions
+ [SDP-BUNDLE] limit WebRTC to using at most a single DTLS session per
+ network 5-tuple. In contrast to WebRTC use of a single SCTP
+ association with DTLS, multiple SCTP associations can be directly
+ multiplexed over a single UDP 5-tuple as specified in [RFC6951].
+
+ The STUN and TURN protocols were originally designed to use UDP as a
+ transport; however, TURN has been extended to use TCP as a transport
+ for situations in which UDP does not work [RFC6062]. When TURN
+ selects use of TCP, the entire real-time communications session is
+ carried over a single TCP connection (i.e., 5-tuple).
+
+ For IPv6, addition of the flow label [RFC6437] to network 5-tuples
+ results in network 6-tuples (or 7-tuples for bidirectional flows),
+ but in practice, use of a flow label is unlikely to result in a
+ finer-grain traffic subset than the corresponding network 5-tuple
+ (e.g., the flow label is likely to represent the combination of two
+ ports with use of the UDP protocol). For that reason, discussion in
+ this document focuses on UDP 5-tuples.
+
+2.2. RTP Multiplexing
+
+ Section 2.1 explains how source streams can be multiplexed in a
+ single RTP session, which can in turn be multiplexed over UDP with
+ packets generated by other transport protocols. This section
+ provides background on why this level of multiplexing is desirable.
+ The rationale in this section applies both to multiplexing of source
+ streams in a single RTP session and multiplexing of an RTP session
+ with traffic from other transport protocols via UDP encapsulation.
+
+ Multiplexing reduces the number of ports utilized for real-time and
+ related communication in an overall interaction. While a single
+ endpoint might have plenty of ports available for communication, this
+ traffic often traverses points in the network that are constrained on
+ the number of available ports or whose performance degrades as the
+ number of ports in use increases. A good example is a NAT/FW device
+
+
+
+Black & Jones Informational [Page 6]
+
+RFC 7657 Diffserv and RT Communication November 2015
+
+
+ sitting at the network edge. As the number of simultaneous protocol
+ sessions increases, so does the burden placed on these devices to
+ provide port mapping.
+
+ Another reason for multiplexing is to help reduce the time required
+ to establish bidirectional communication. Since any two
+ communicating users might be situated behind different NAT/FW
+ devices, it is necessary to employ techniques like STUN and TURN
+ along with Interactive Connectivity Establishment (ICE) [RFC5245] to
+ get traffic to flow between the two devices [WEBRTC-TRANSPORTS].
+ Performing the tasks required by these protocols takes time,
+ especially when multiple protocol sessions are involved. While tasks
+ for different sessions can be performed in parallel, it is
+ nonetheless necessary for applications to wait for all sessions to be
+ opened before communication between two users can begin. Reducing
+ the number of STUN/ICE/TURN steps reduces the likelihood of loss of a
+ packet for one of these protocols; any such loss adds delay to
+ setting up a communication session. Further, reducing the number of
+ STUN/ICE/TURN tasks places a lower burden on the STUN and TURN
+ servers.
+
+ Multiplexing may reduce the complexity and resulting load on an
+ endpoint. A single instance of STUN/ICE/TURN is simpler to execute
+ and manage than multiple instances STUN/ICE/TURN operations happening
+ in parallel, as the latter require synchronization and create more
+ complex failure situations that have to be cleaned up by additional
+ code.
+
+3. Differentiated Services (Diffserv)
+
+ The Diffserv architecture [RFC2475][RFC4594] is intended to enable
+ scalable service discrimination in the Internet without requiring
+ each node in the network to store per-flow state and participate in
+ per-flow signaling. The services may be end to end or within a
+ network; they include both those that can satisfy quantitative
+ performance requirements (e.g., peak bandwidth) and those based on
+ relative performance (e.g., "class" differentiation). Services can
+ be constructed by a combination of well-defined building blocks
+ deployed in network nodes that:
+
+ o classify traffic and set bits in an IP header field at network
+ boundaries or hosts,
+
+ o use those bits to determine how packets are forwarded by the nodes
+ inside the network, and
+
+ o condition the marked packets at network boundaries in accordance
+ with the requirements or rules of each service.
+
+
+
+Black & Jones Informational [Page 7]
+
+RFC 7657 Diffserv and RT Communication November 2015
+
+
+ Traffic conditioning may include changing the DSCP in a packet
+ (remarking it), delaying the packet (as a consequence of traffic
+ shaping), or dropping the packet (as a consequence of traffic
+ policing).
+
+ A network node that supports Diffserv includes a classifier that
+ selects packets based on the value of the DS field in IP headers (the
+ Diffserv codepoint or DSCP), along with buffer management and packet
+ scheduling mechanisms capable of delivering the specific packet
+ forwarding treatment indicated by the DS field value. Setting of the
+ DS field and fine-grain conditioning of marked packets need only be
+ performed at network boundaries; internal network nodes operate on
+ traffic aggregates that share a DS field value, or in some cases, a
+ small set of related values.
+
+ The Diffserv architecture [RFC2475] maintains distinctions among:
+
+ o the QoS service provided to a traffic aggregate,
+
+ o the conditioning functions and per-hop behaviors (PHBs) used to
+ realize services,
+
+ o the DSCP in the IP header used to mark packets to select a per-hop
+ behavior, and
+
+ o the particular implementation mechanisms that realize a per-hop
+ behavior.
+
+ This memo focuses on PHBs and the usage of DSCPs to obtain those
+ behaviors. In a network node's forwarding path, the DSCP is used to
+ map a packet to a particular forwarding treatment, or to a per-hop
+ behavior (PHB) that specifies the forwarding treatment.
+
+ The specification of a PHB describes the externally observable
+ forwarding behavior of a network node for network traffic marked with
+ a DSCP that selects that PHB. In this context, "forwarding behavior"
+ is a general concept - for example, if only one DSCP is used for all
+ traffic on a link, the observable forwarding behavior (e.g., loss,
+ delay, jitter) will often depend only on the loading of the link. To
+ obtain useful behavioral differentiation, multiple traffic subsets
+ are marked with different DSCPs for different PHBs for which node
+ resources such as buffer space and bandwidth are allocated. PHBs
+ provide the framework for a Diffserv network node to allocate
+ resources to traffic subsets, with network-scope Differentiated
+ Services constructed on top of this basic hop-by-hop resource
+ allocation mechanism.
+
+
+
+
+
+Black & Jones Informational [Page 8]
+
+RFC 7657 Diffserv and RT Communication November 2015
+
+
+ The codepoints (DSCPs) may be chosen from a small set of fixed values
+ (the class selector codepoints), from a set of recommended values
+ defined in PHB specifications, or from values that have purely local
+ meanings to a specific network that supports Diffserv; in general,
+ packets may be forwarded across multiple such networks between source
+ and destination.
+
+ The mandatory DSCPs are the class selector codepoints as specified in
+ [RFC2474]. The class selector codepoints (CS0-CS7) extend the
+ deprecated concept of IP Precedence in the IPv4 header; three bits
+ are added, so that the class selector DSCPs are of the form 'xxx000'.
+ The all-zero DSCP ('000000' or CS0) is always assigned to a Default
+ PHB that provides best-effort forwarding behavior, and the remaining
+ class selector codepoints are intended to provide relatively better
+ per-hop-forwarding behavior in increasing numerical order, but:
+
+ o A network endpoint cannot rely upon different class selector
+ codepoints providing Differentiated Services via assignment to
+ different PHBs, as adjacent class selector codepoints may use the
+ same pool of resources on each network node in some networks.
+ This generalizes to ranges of class selector codepoints, but with
+ limits -- for example, CS6 and CS7 are often used for network
+ control (e.g., routing) traffic [RFC4594] and hence are likely to
+ provide better forwarding behavior under network load to
+ prioritize network recovery from disruptions. There is no
+ effective way for a network endpoint to determine which PHBs are
+ selected by the class selector codepoints on a specific network,
+ let alone end to end.
+
+ o CS1 ('001000') was subsequently designated as the recommended
+ codepoint for the Lower Effort (LE) PHB [RFC3662]. An LE service
+ forwards traffic with "lower" priority than best effort and can be
+ "starved" by best-effort and other "higher" priority traffic. Not
+ all networks offer an LE service, hence traffic marked with the
+ CS1 DSCP may not receive lower effort forwarding; such traffic may
+ be forwarded with a different PHB (e.g., the Default PHB),
+ remarked to another DSCP (e.g., CS0) and forwarded accordingly, or
+ dropped. A network endpoint cannot rely upon the presence of an
+ LE service that is selected by the CS1 DSCP on a specific network,
+ let alone end to end. Packets marked with the CS1 DSCP may be
+ forwarded with best-effort service or another "higher" priority
+ service; see [RFC2474]. See [RFC3662] for further discussion of
+ the LE PHB and service.
+
+
+
+
+
+
+
+
+Black & Jones Informational [Page 9]
+
+RFC 7657 Diffserv and RT Communication November 2015
+
+
+3.1. Diffserv Per-Hop Behaviors (PHBs)
+
+ Although Differentiated Services is a general architecture that may
+ be used to implement a variety of services, three fundamental
+ forwarding behaviors (PHBs) have been defined and characterized for
+ general use. These are:
+
+ 1. Default Forwarding (DF) for elastic traffic [RFC2474]. The
+ Default PHB is always selected by the all-zero DSCP and provides
+ best-effort forwarding.
+
+ 2. Assured Forwarding (AF) [RFC2597] to provide Differentiated
+ Service to elastic traffic. Each instance of the AF behavior
+ consists of three PHBs that differ only in drop precedence, e.g.,
+ AF11, AF12, and AF13; such a set of three AF PHBs is referred to
+ as an AF class, e.g., AF1x. There are four defined AF classes,
+ AF1x through AF4x, with higher numbered classes intended to
+ receive better forwarding treatment than lower numbered classes.
+ Use of multiple PHBs from a single AF class (e.g., AF1x) does not
+ enable network traffic reordering within a single network
+ 5-tuple, although such reordering may occur for other transient
+ reasons (e.g., routing changes or ECMP rebalancing).
+
+ 3. Expedited Forwarding (EF) [RFC3246] intended for inelastic
+ traffic. Beyond the basic EF PHB, the VOICE-ADMIT PHB [RFC5865]
+ is an admission-controlled variant of the EF PHB. Both of these
+ PHBs are based on preconfigured limited forwarding capacity;
+ traffic in excess of that capacity is expected to be dropped.
+
+3.2. Traffic Classifiers and DSCP Remarking
+
+ DSCP markings are not end to end in general. Each network can make
+ its own decisions about what PHBs to use and which DSCP maps to each
+ PHB. While every PHB specification includes a recommended DSCP, and
+ RFC 4594 [RFC4594] recommends their end-to-end usage, there is no
+ requirement that every network support any PHBs (aside from the
+ Default PHB for best-effort forwarding) or use any specific DSCPs,
+ with the exception of the support requirements for the class selector
+ codepoints (see RFC 2474 [RFC2474]). When Diffserv is used, the edge
+ or boundary nodes of a network are responsible for ensuring that all
+ traffic entering that network conforms to that network's policies for
+ DSCP and PHB usage, and such nodes may change DSCP markings on
+ traffic to achieve that result. As a result, DSCP remarking is
+ possible at any network boundary, including the first network node
+ that traffic sent by a host encounters. Remarking is also possible
+ within a network, e.g., for traffic shaping.
+
+
+
+
+
+Black & Jones Informational [Page 10]
+
+RFC 7657 Diffserv and RT Communication November 2015
+
+
+ DSCP remarking is part of traffic conditioning; the traffic
+ conditioning functionality applied to packets at a network node is
+ determined by a traffic classifier [RFC2475]. Edge nodes of a
+ Diffserv network classify traffic based on selected packet header
+ fields; typical implementations do not look beyond the traffic's
+ network 5-tuple in the IP and transport protocol headers (e.g., for
+ SCTP or RTP encapsulated in UDP, header-based classification is
+ unlikely to look beyond the outer UDP header). As a result, when
+ multiple DSCPs are used for traffic that shares a network 5-tuple,
+ remarking at a network boundary may result in all of the traffic
+ being forwarded with a single DSCP, thereby removing any
+ differentiation within the network 5-tuple downstream of the
+ remarking location. Network nodes within a Diffserv network
+ generally classify traffic based solely on DSCPs, but may perform
+ finer-grain traffic conditioning similar to that performed by edge
+ nodes.
+
+ So, for two arbitrary network endpoints, there can be no assurance
+ that the DSCP set at the source endpoint will be preserved and
+ presented at the destination endpoint. Rather, it is quite likely
+ that the DSCP will be set to zero (e.g., at the boundary of a network
+ operator that distrusts or does not use the DSCP field) or to a value
+ deemed suitable by an ingress classifier for whatever network 5-tuple
+ it carries.
+
+ In addition, remarking may remove application-level distinctions in
+ forwarding behavior - e.g., if multiple PHBs within an AF class are
+ used to distinguish different types of frames within a video RTP
+ stream, token-bucket-based remarkers operating in color-blind mode
+ (see [RFC2697] and [RFC2698] for examples) may remark solely based on
+ flow rate and burst behavior, removing the drop precedence
+ distinctions specified by the source.
+
+ Backbone and other carrier networks may employ a small number of
+ DSCPs (e.g., less than half a dozen) to manage a small number of
+ traffic aggregates; hosts that use a larger number of DSCPs can
+ expect to find that much of their intended differentiation is removed
+ by such networks. Better results may be achieved when DSCPs are used
+ to spread traffic among a smaller number of Diffserv-based traffic
+ subsets or aggregates; see [DIFFSERV-INTERCON] for one proposal.
+ This is of particular importance for MPLS-based networks due to the
+ limited size of the Traffic Class (TC) field in an MPLS label
+ [RFC5462] that is used to carry Diffserv information and the use of
+ that TC field for other purposes, e.g., Explicit Congestion
+ Notification (ECN) [RFC5129]. For further discussion on use of
+ Diffserv with MPLS, see [RFC3270] and [RFC5127].
+
+
+
+
+
+Black & Jones Informational [Page 11]
+
+RFC 7657 Diffserv and RT Communication November 2015
+
+
+4. Examples
+
+ For real-time communications, one might want to mark the audio
+ packets using EF and the video packets as AF41. However, a video
+ conference receiving the audio packets significantly ahead of the
+ video is not useful because lip sync is necessary between audio and
+ video. It may still be desirable to send audio with a PHB that
+ provides better service, because more reliable arrival of audio helps
+ assure smooth audio rendering, which is often more important than
+ fully faithful video rendering. There are also limits, as some
+ devices have difficulties in synchronizing voice and video when
+ packets that need to be rendered together arrive at significantly
+ different times. It makes more sense to use different PHBs when the
+ audio and video source streams do not share a strict timing
+ relationship. For example, video content may be shared within a
+ video conference via playback, perhaps of an unedited video clip that
+ is intended to become part of a television advertisement. Such
+ content sharing video does not need precise synchronization with
+ video conference audio, and could use a different PHB, as content
+ sharing video is more tolerant to jitter, loss, and delay.
+
+ Within a layered video RTP stream, ordering of frame communication is
+ preferred, but importance of frame types varies, making use of PHBs
+ with different drop precedences appropriate. For example, I-frames
+ that contain an entire image are usually more important than P-frames
+ that contain only changes from the previous image because loss of a
+ P-frame (or part thereof) can be recovered (at the latest) via the
+ next I-frame, whereas loss of an I-frame (or part thereof) may cause
+ rendering problems for all of the P-frames that depend on the missing
+ I-frame. For this reason, it is appropriate to mark I-frame packets
+ with a PHB that has lower drop precedence than the PHB used for
+ P-frames, as long as the PHBs preserve ordering among frames (e.g.,
+ are in a single AF class) - AF41 for I-frames and AF43 for P-frames
+ is one possibility. Additional spatial and temporal layers beyond
+ the base video layer could also be marked with higher drop precedence
+ than the base video layer, as their loss reduces video quality, but
+ does not disrupt video rendering.
+
+ Additional RTP streams in a real-time communication interaction could
+ be marked with CS0 and carried as best-effort traffic. One example
+ is real-time text transmitted as specified in RFC 4103 [RFC4103].
+ Best-effort forwarding suffices because such real-time text has loose
+ timing requirements; RFC 4103 recommends sending text in chunks every
+ 300 ms. Such text is technically real-time, but does not need a PHB
+ promising better service than best effort, in contrast to audio or
+ video.
+
+
+
+
+
+Black & Jones Informational [Page 12]
+
+RFC 7657 Diffserv and RT Communication November 2015
+
+
+ A WebRTC application may use one or more RTP streams, as discussed
+ above. In addition, it may use an SCTP-based data channel
+ [DATA-CHAN] whose QoS treatment depends on the nature of the
+ application. For example, best-effort treatment of data channels is
+ likely to suffice for messaging, shared white board, and guided
+ browsing applications, whereas latency-sensitive games might desire
+ better QoS for their data channels.
+
+5. Diffserv Interactions
+
+5.1. Diffserv, Reordering, and Transport Protocols
+
+ Transport protocols provide data communication behaviors beyond those
+ possible at the IP layer. An important example is that TCP [RFC793]
+ provides reliable in-order delivery of data with congestion control.
+ SCTP [RFC4960] provides additional properties such as preservation of
+ message boundaries, and the ability to avoid head-of-line blocking
+ that may occur with TCP.
+
+ In contrast, UDP [RFC768] is a basic unreliable datagram protocol
+ that provides port-based multiplexing and demultiplexing on top of
+ IP. Two other unreliable datagram protocols are UDP-Lite [RFC3828],
+ a variant of UDP that may deliver partially corrupt payloads when
+ errors occur, and DCCP [RFC4340], which provides a range of
+ congestion control modes for its unreliable datagram service.
+
+ Transport protocols that provide reliable delivery (e.g., TCP, SCTP)
+ are sensitive to network reordering of traffic. When a protocol that
+ provides reliable delivery receives a packet other than the next
+ expected packet, the protocol usually assumes that the expected
+ packet has been lost and updates the peer, which often causes a
+ retransmission. In addition, congestion control functionality in
+ transport protocols (including DCCP) usually infers congestion when
+ packets are lost. This creates additional sensitivity to significant
+ network packet reordering, as such reordering may be (mis)interpreted
+ as loss of the out-of-order packets, causing a congestion control
+ response.
+
+ This sensitivity to reordering remains even when ECN [RFC3168] is in
+ use, as ECN receivers are required to treat missing packets as
+ potential indications of congestion, because:
+
+ o Severe congestion may cause ECN-capable network nodes to drop
+ packets, and
+
+ o ECN traffic may be forwarded by network nodes that do not support
+ ECN and hence drop packets to indicate congestion.
+
+
+
+
+Black & Jones Informational [Page 13]
+
+RFC 7657 Diffserv and RT Communication November 2015
+
+
+ Congestion control is an important aspect of the Internet
+ architecture; see [RFC2914] for further discussion.
+
+ In general, marking packets with different DSCPs results in different
+ PHBs being applied at nodes in the network, making reordering very
+ likely due to use of different pools of forwarding resources for each
+ PHB. This should not be done within a single network 5-tuple for
+ current transport protocols, with the important exceptions of UDP and
+ UDP-Lite.
+
+ When PHBs that enable reordering are mixed within a single network
+ 5-tuple, the effect is to mix QoS-based traffic classes within the
+ scope of a single transport protocol connection or association. As
+ these QoS-based traffic classes receive different network QoS
+ treatments, they use different pools of network resources and hence
+ may exhibit different levels of congestion. The result for
+ congestion-controlled protocols is that a separate instance of
+ congestion control functionality is needed per QoS-based traffic
+ class. Current transport protocols support only a single instance of
+ congestion control functionality for an entire connection or
+ association; extending that support to multiple instances would add
+ significant protocol complexity. Traffic in different QoS-based
+ classes may use different paths through the network; this complicates
+ path integrity checking in connection- or association-based
+ protocols, as those paths may fail independently.
+
+ The primary example where usage of multiple PHBs does not enable
+ reordering within a single network 5-tuple is use of PHBs from a
+ single AF class (e.g., AF1x). Traffic reordering within the scope of
+ a network 5-tuple that uses a single PHB or AF class may occur for
+ other transient reasons (e.g., routing changes or ECMP rebalancing).
+
+ Reordering also affects other forms of congestion control, such as
+ techniques for RTP congestion control that were under development
+ when this memo was published; see [RMCAT-CC] for requirements. These
+ techniques prefer use of a common (coupled) congestion controller for
+ RTP streams between the same endpoints to reduce packet loss and
+ delay by reducing competition for resources at any shared bottleneck.
+
+ Shared bottlenecks can be detected via techniques such as correlation
+ of one-way delay measurements across RTP streams. An alternate
+ approach is to assume that the set of packets on a single network
+ 5-tuple marked with DSCPs that do not enable reordering will utilize
+ a common network path and common forwarding resources at each network
+ node. Under that assumption, any bottleneck encountered by such
+ packets is shared among all of them, making it safe to use a common
+ (coupled) congestion controller (see [COUPLED-CC]). This is not a
+ safe assumption when the packets involved are marked with DSCP values
+
+
+
+Black & Jones Informational [Page 14]
+
+RFC 7657 Diffserv and RT Communication November 2015
+
+
+ that enable reordering because a bottleneck may not be shared among
+ all such packets (e.g., when the DSCP values result in use of
+ different queues at a network node, but only one queue is a
+ bottleneck).
+
+ UDP and UDP-Lite are not sensitive to reordering in the network,
+ because they do not provide reliable delivery or congestion control.
+ On the other hand, when used to encapsulate other protocols (e.g., as
+ UDP is used by WebRTC; see Section 2.1), the reordering
+ considerations for the encapsulated protocols apply. For the
+ specific usage of UDP by WebRTC, every encapsulated protocol (i.e.,
+ RTP, SCTP, and TCP) is sensitive to reordering as further discussed
+ in this memo. In addition, [RFC5405] provides general guidelines for
+ use of UDP (and UDP-Lite); the congestion control guidelines in that
+ document apply to protocols encapsulated in UDP (or UDP-Lite).
+
+5.2. Diffserv, Reordering, and Real-Time Communication
+
+ Real-time communications are also sensitive to network reordering of
+ packets. Such reordering may lead to unneeded retransmission and
+ spurious retransmission control signals (such as NACK) in reliable
+ delivery protocols (see Section 5.1). The degree of sensitivity
+ depends on protocol or stream timers, in contrast to reliable
+ delivery protocols that usually react to all reordering.
+
+ Receiver jitter buffers have important roles in the effect of
+ reordering on real-time communications:
+
+ o Minor packet reordering that is contained within a jitter buffer
+ usually has no effect on rendering of the received RTP stream
+ because packets that arrive out of order are retrieved in order
+ from the jitter buffer for rendering.
+
+ o Packet reordering that exceeds the capacity of a jitter buffer can
+ cause user-perceptible quality problems (e.g., glitches, noise)
+ for delay-sensitive communication, such as interactive
+ conversations for which small jitter buffers are necessary to
+ preserve human perceptions of real-time interaction. Interactive
+ real-time communication implementations often discard data that is
+ sufficiently late so that it cannot be rendered in source stream
+ order, making retransmission counterproductive. For this reason,
+ implementations of interactive real-time communication often do
+ not use retransmission.
+
+ o In contrast, replay of recorded media can tolerate significantly
+ longer delays than interactive conversations, so replay is likely
+ to use larger jitter buffers than interactive conversations.
+ These larger jitter buffers increase the tolerance of replay to
+
+
+
+Black & Jones Informational [Page 15]
+
+RFC 7657 Diffserv and RT Communication November 2015
+
+
+ reordering by comparison to interactive conversations. The size
+ of the jitter buffer imposes an upper bound on replay tolerance to
+ reordering but does enable retransmission to be used when the
+ jitter buffer is significantly larger than the amount of data that
+ can be expected to arrive during the round-trip latency for
+ retransmission.
+
+ Network packet reordering has no effective upper bound and can exceed
+ the size of any reasonable jitter buffer. In practice, the size of
+ jitter buffers for replay is limited by external factors such as the
+ amount of time that a human is willing to wait for replay to start.
+
+5.3. Drop Precedence and Transport Protocols
+
+ Packets within the same network 5-tuple that use PHBs within a single
+ AF class can be expected to draw upon the same forwarding resources
+ on network nodes (e.g., use the same router queue), and hence use of
+ multiple drop precedences within an AF class is not expected to cause
+ latency variation. When PHBs within a single AF class are mixed
+ within a flow, the resulting overall likelihood that packets will be
+ dropped from that flow is a mix of the drop likelihoods of the PHBs
+ involved.
+
+ There are situations in which drop precedences should not be mixed.
+ A simple example is that there is little value in mixing drop
+ precedences within a TCP connection, because TCP's ordered delivery
+ behavior results in any drop requiring the receiver to wait for the
+ dropped packet to be retransmitted. Any resulting delay depends on
+ the RTT and not the packet that was dropped. Hence a single DSCP
+ should be used for all packets in a TCP connection.
+
+ As a consequence, when TCP is selected for NAT/FW traversal (e.g., by
+ TURN), a single DSCP should be used for all traffic on that TCP
+ connection. An additional reason for this recommendation is that
+ packetization for STUN/ICE/TURN occurs before passing the resulting
+ packets to TCP; TCP resegmentation may result in a different
+ packetization on the wire, breaking any association between DSCPs and
+ specific data to which they are intended to apply.
+
+ SCTP [RFC4960] differs from TCP in a number of ways, including the
+ ability to deliver messages in an order that differs from the order
+ in which they were sent and support for unreliable streams. However,
+ SCTP performs congestion control and retransmission across the entire
+ association, and not on a per-stream basis. Although there may be
+ advantages to using multiple drop precedence across SCTP streams or
+ within an SCTP stream that does not use reliable ordered delivery,
+ there is no practical operational experience in doing so (e.g., the
+ SCTP sockets API [RFC6458] does not support use of more than one DSCP
+
+
+
+Black & Jones Informational [Page 16]
+
+RFC 7657 Diffserv and RT Communication November 2015
+
+
+ for an SCTP association). As a consequence, the impacts on SCTP
+ protocol and implementation behavior are unknown and difficult to
+ predict. Hence a single DSCP should be used for all packets in an
+ SCTP association, independent of the number or nature of streams in
+ that association. Similar reasoning applies to a DCCP connection; a
+ single DSCP should be used because the scope of congestion control is
+ the connection and there is no operational experience with using more
+ than one DSCP. This recommendation may be revised in the future if
+ experiments, analysis, and operational experience provide compelling
+ reasons to change it.
+
+ Guidance on transport protocol design and implementation to provide
+ support for use of multiple PHBs and DSCPs in a transport protocol
+ connection (e.g., DCCP) or transport protocol association (e.g.,
+ SCTP) is out of scope for this memo.
+
+5.4. Diffserv and RTCP
+
+ RTCP [RFC3550] is used with RTP to monitor quality of service and
+ convey information about RTP session participants. A sender of RTCP
+ packets that also sends RTP packets (i.e., originates an RTP stream)
+ should use the same DSCP marking for both types of packets. If an
+ RTCP sender doesn't send any RTP packets, it should mark its RTCP
+ packets with the DSCP that it would use if it did send RTP packets
+ with media similar to the RTP traffic that it receives. If the RTCP
+ sender uses or would use multiple DSCPs that differ only in drop
+ precedence for RTP, then it should use the DSCP with the least
+ likelihood of drop for RTCP to increase the likelihood of RTCP packet
+ delivery.
+
+ If the SDP bundle extension [SDP-BUNDLE] is used to negotiate sending
+ multiple types of media in a single RTP session, then receivers will
+ send separate RTCP reports for each type of media, using a separate
+ SSRC for each media type; each RTCP report should be marked with the
+ DSCP corresponding to the type of media handled by the reporting
+ SSRC.
+
+ This guidance may result in different DSCP markings for RTP streams
+ and RTCP receiver reports about those RTP streams. The resulting
+ variation in network QoS treatment by traffic direction is necessary
+ to obtain representative round-trip time (RTT) estimates that
+ correspond to the media path RTT, which may differ from the transport
+ protocol RTT. RTCP receiver reports may be relatively infrequent,
+ and hence the resulting RTT estimates are of limited utility for
+ transport protocol congestion control (although those RTT estimates
+ have other important uses; see [RFC3550]). For this reason, it is
+ important that RTCP receiver reports sent by an SSRC receive the same
+ network QoS treatment as the RTP stream being sent by that SSRC.
+
+
+
+Black & Jones Informational [Page 17]
+
+RFC 7657 Diffserv and RT Communication November 2015
+
+
+6. Guidelines
+
+ The only use of multiple standardized PHBs and DSCPs that does not
+ enable network reordering among packets marked with different DSCPs
+ is use of PHBs within a single AF class. All other uses of multiple
+ PHBs and/or the class selector DSCPs enable network reordering of
+ packets that are marked with different DSCPs. Based on this and the
+ foregoing discussion, the guidelines in this section apply to use of
+ Diffserv with real-time communications.
+
+ Applications and other traffic sources (including RTP SSRCs):
+
+ o Should limit use of DSCPs within a single RTP stream to those
+ whose corresponding PHBs do not enable packet reordering. If this
+ is not done, significant network reordering may overwhelm
+ implementation assumptions about reordering limits, e.g., jitter
+ buffer size, causing poor user experiences (see Section 5.2).
+ This guideline applies to all of the RTP streams that are within
+ the scope of a common (coupled) congestion controller when that
+ controller does not use per-RTP-stream measurements for bottleneck
+ detection.
+
+ o Should use a single DSCP for RTCP packets, which should be a DSCP
+ used for RTP packets that are or would be sent by that SSRC (see
+ Section 5.4).
+
+ o Should use a single DSCP for all packets within a reliable
+ transport protocol session (e.g., TCP connection, SCTP
+ association) or DCCP connection (see Sections 5.1 and 5.3). For
+ SCTP, this requirement applies across the entire SCTP association,
+ and not just to individual streams within an association. When
+ TURN selects TCP for NAT/FW traversal, this guideline applies to
+ all traffic multiplexed onto that TCP connection, in contrast to
+ use of UDP for NAT/FW traversal.
+
+ o May use different DSCPs whose corresponding PHBs enable reordering
+ within a single UDP or UDP-Lite 5-tuple, subject to the above
+ constraints. The service differentiation provided by such usage
+ is unreliable, as it may be removed or changed by DSCP remarking
+ at network boundaries as described in Section 3.2 above.
+
+ o Cannot rely on end-to-end preservation of DSCPs as network node
+ remarking can change DSCPs and remove drop precedence distinctions
+ (see Section 3.2). For example, if a source uses drop precedence
+ distinctions within an AF class to identify different types of
+ video frames, using those DSCP values at the receiver to identify
+ frame type is inherently unreliable.
+
+
+
+
+Black & Jones Informational [Page 18]
+
+RFC 7657 Diffserv and RT Communication November 2015
+
+
+ o Should limit use of the CS1 codepoint to traffic for which best
+ effort forwarding is acceptable, as network support for use of CS1
+ to select a "less than best-effort" PHB is inconsistent. Further,
+ some networks may treat CS1 as providing "better than best-effort"
+ forwarding behavior.
+
+ There is no guidance in this memo on how network operators should
+ differentiate traffic. Networks may support all of the PHBs
+ discussed herein, classify EF and AFxx traffic identically, or even
+ remark all traffic to best effort at some ingress points.
+ Nonetheless, it is useful for applications and other traffic sources
+ to provide finer granularity DSCP marking on packets for the benefit
+ of networks that offer QoS service differentiation. A specific
+ example is that traffic originating from a browser may benefit from
+ QoS service differentiation in within-building and residential access
+ networks, even if the DSCP marking is subsequently removed or
+ simplified. This is because such networks and the boundaries between
+ them are likely traffic bottleneck locations (e.g., due to customer
+ aggregation onto common links and/or speed differences among links
+ used by the same traffic).
+
+7. Security Considerations
+
+ The security considerations for all of the technologies discussed in
+ this memo apply; in particular, see the security considerations for
+ RTP in [RFC3550] and Diffserv in [RFC2474] and [RFC2475].
+
+ Multiplexing of multiple protocols onto a single UDP 5-tuple via
+ encapsulation has implications for network functionality that
+ monitors or inspects individual protocol flows, e.g., firewalls and
+ traffic monitoring systems. When implementations of such
+ functionality lack visibility into encapsulated traffic (likely for
+ many current implementations), it may be difficult or impossible to
+ apply network security policy and associated controls at a finer
+ granularity than the overall UDP 5-tuple.
+
+ Use of multiple DSCPs that enable reordering within an overall real-
+ time communication interaction enlarges the set of network forwarding
+ resources used by that interaction, thereby increasing exposure to
+ resource depletion or failure, independent of whether the underlying
+ cause is benign or malicious. This represents an increase in the
+ effective attack surface of the interaction and is a consideration in
+ selecting an appropriate degree of QoS differentiation among the
+ components of the real-time communication interaction. See
+ Section 3.3.2.1 of [RFC6274] for related discussion of DSCP security
+ considerations.
+
+
+
+
+
+Black & Jones Informational [Page 19]
+
+RFC 7657 Diffserv and RT Communication November 2015
+
+
+ Use of multiple DSCPs to provide differentiated QoS service may
+ reveal information about the encrypted traffic to which different
+ service levels are provided. For example, DSCP-based identification
+ of RTP streams combined with packet frequency and packet size could
+ reveal the type or nature of the encrypted source streams. The IP
+ header used for forwarding has to be unencrypted for obvious reasons,
+ and the DSCP likewise has to be unencrypted to enable different IP
+ forwarding behaviors to be applied to different packets. The nature
+ of encrypted traffic components can be disguised via encrypted dummy
+ data padding and encrypted dummy packets, e.g., see the discussion of
+ traffic flow confidentiality in [RFC4303]. Encrypted dummy packets
+ could even be added in a fashion that an observer of the overall
+ encrypted traffic might mistake for another encrypted RTP stream.
+
+8. References
+
+8.1. Normative References
+
+ [RFC768] Postel, J., "User Datagram Protocol", STD 6, RFC 768,
+ DOI 10.17487/RFC0768, August 1980,
+ <http://www.rfc-editor.org/info/rfc768>.
+
+ [RFC793] Postel, J., "Transmission Control Protocol", STD 7,
+ RFC 793, DOI 10.17487/RFC0793, September 1981,
+ <http://www.rfc-editor.org/info/rfc793>.
+
+ [RFC2474] Nichols, K., Blake, S., Baker, F., and D. Black,
+ "Definition of the Differentiated Services Field (DS
+ Field) in the IPv4 and IPv6 Headers", RFC 2474,
+ DOI 10.17487/RFC2474, December 1998,
+ <http://www.rfc-editor.org/info/rfc2474>.
+
+ [RFC2475] Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z.,
+ and W. Weiss, "An Architecture for Differentiated
+ Services", RFC 2475, DOI 10.17487/RFC2475, December 1998,
+ <http://www.rfc-editor.org/info/rfc2475>.
+
+ [RFC2597] Heinanen, J., Baker, F., Weiss, W., and J. Wroclawski,
+ "Assured Forwarding PHB Group", RFC 2597,
+ DOI 10.17487/RFC2597, June 1999,
+ <http://www.rfc-editor.org/info/rfc2597>.
+
+ [RFC3246] Davie, B., Charny, A., Bennet, J., Benson, K., Le Boudec,
+ J., Courtney, W., Davari, S., Firoiu, V., and D.
+ Stiliadis, "An Expedited Forwarding PHB (Per-Hop
+ Behavior)", RFC 3246, DOI 10.17487/RFC3246, March 2002,
+ <http://www.rfc-editor.org/info/rfc3246>.
+
+
+
+
+Black & Jones Informational [Page 20]
+
+RFC 7657 Diffserv and RT Communication November 2015
+
+
+ [RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V.
+ Jacobson, "RTP: A Transport Protocol for Real-Time
+ Applications", STD 64, RFC 3550, DOI 10.17487/RFC3550,
+ July 2003, <http://www.rfc-editor.org/info/rfc3550>.
+
+ [RFC3662] Bless, R., Nichols, K., and K. Wehrle, "A Lower Effort
+ Per-Domain Behavior (PDB) for Differentiated Services",
+ RFC 3662, DOI 10.17487/RFC3662, December 2003,
+ <http://www.rfc-editor.org/info/rfc3662>.
+
+ [RFC3828] Larzon, L-A., Degermark, M., Pink, S., Jonsson, L-E., Ed.,
+ and G. Fairhurst, Ed., "The Lightweight User Datagram
+ Protocol (UDP-Lite)", RFC 3828, DOI 10.17487/RFC3828, July
+ 2004, <http://www.rfc-editor.org/info/rfc3828>.
+
+ [RFC4340] Kohler, E., Handley, M., and S. Floyd, "Datagram
+ Congestion Control Protocol (DCCP)", RFC 4340,
+ DOI 10.17487/RFC4340, March 2006,
+ <http://www.rfc-editor.org/info/rfc4340>.
+
+ [RFC4960] Stewart, R., Ed., "Stream Control Transmission Protocol",
+ RFC 4960, DOI 10.17487/RFC4960, September 2007,
+ <http://www.rfc-editor.org/info/rfc4960>.
+
+ [RFC5405] Eggert, L. and G. Fairhurst, "Unicast UDP Usage Guidelines
+ for Application Designers", BCP 145, RFC 5405,
+ DOI 10.17487/RFC5405, November 2008,
+ <http://www.rfc-editor.org/info/rfc5405>.
+
+ [RFC5865] Baker, F., Polk, J., and M. Dolly, "A Differentiated
+ Services Code Point (DSCP) for Capacity-Admitted Traffic",
+ RFC 5865, DOI 10.17487/RFC5865, May 2010,
+ <http://www.rfc-editor.org/info/rfc5865>.
+
+ [RFC6951] Tuexen, M. and R. Stewart, "UDP Encapsulation of Stream
+ Control Transmission Protocol (SCTP) Packets for End-Host
+ to End-Host Communication", RFC 6951,
+ DOI 10.17487/RFC6951, May 2013,
+ <http://www.rfc-editor.org/info/rfc6951>.
+
+ [RFC7656] Lennox, J., Gross, K., Nandakumar, S., Salgueiro, G., and
+ B. Burman, Ed., "A Taxonomy of Semantics and Mechanisms
+ for the Real-Time Transport Protocol (RTP) Sources",
+ RFC 7656, DOI 10.17487/RFC7656, November 2015,
+ <http://www.rfc-editor.org/info/rfc7656>.
+
+
+
+
+
+
+Black & Jones Informational [Page 21]
+
+RFC 7657 Diffserv and RT Communication November 2015
+
+
+8.2. Informative References
+
+ [COUPLED-CC]
+ Welzl, M., Islam, S., and S. Gjessing, "Coupled congestion
+ control for RTP media", Work in Progress,
+ draft-welzl-rmcat-coupled-cc-05, June 2015.
+
+ [DATA-CHAN]
+ Jesup, R., Loreto, S., and M. Tuexen, "WebRTC Data
+ Channels", Work in Progress, draft-ietf-rtcweb-data-
+ channel-13, January 2015.
+
+ [DIFFSERV-INTERCON]
+ Geib, R., Ed. and D. Black, "Diffserv interconnection
+ classes and practice", Work in Progress, draft-ietf-tsvwg-
+ diffserv-intercon-03, October 2015.
+
+ [H.221] ITU-T, "Frame structure for a 64 to 1920 kbit/s channel in
+ audiovisual teleservices", Recommendation H.221, March
+ 2009.
+
+ [H.264] ITU-T, "Advanced video coding for generic audiovisual
+ services", Recommendation H.264, February 2014.
+
+ [RFC2697] Heinanen, J. and R. Guerin, "A Single Rate Three Color
+ Marker", RFC 2697, DOI 10.17487/RFC2697, September 1999,
+ <http://www.rfc-editor.org/info/rfc2697>.
+
+ [RFC2698] Heinanen, J. and R. Guerin, "A Two Rate Three Color
+ Marker", RFC 2698, DOI 10.17487/RFC2698, September 1999,
+ <http://www.rfc-editor.org/info/rfc2698>.
+
+ [RFC2914] Floyd, S., "Congestion Control Principles", BCP 41,
+ RFC 2914, DOI 10.17487/RFC2914, September 2000,
+ <http://www.rfc-editor.org/info/rfc2914>.
+
+ [RFC3168] Ramakrishnan, K., Floyd, S., and D. Black, "The Addition
+ of Explicit Congestion Notification (ECN) to IP",
+ RFC 3168, DOI 10.17487/RFC3168, September 2001,
+ <http://www.rfc-editor.org/info/rfc3168>.
+
+ [RFC3270] Le Faucheur, F., Wu, L., Davie, B., Davari, S., Vaananen,
+ P., Krishnan, R., Cheval, P., and J. Heinanen, "Multi-
+ Protocol Label Switching (MPLS) Support of Differentiated
+ Services", RFC 3270, DOI 10.17487/RFC3270, May 2002,
+ <http://www.rfc-editor.org/info/rfc3270>.
+
+
+
+
+
+Black & Jones Informational [Page 22]
+
+RFC 7657 Diffserv and RT Communication November 2015
+
+
+ [RFC4103] Hellstrom, G. and P. Jones, "RTP Payload for Text
+ Conversation", RFC 4103, DOI 10.17487/RFC4103, June 2005,
+ <http://www.rfc-editor.org/info/rfc4103>.
+
+ [RFC4303] Kent, S., "IP Encapsulating Security Payload (ESP)",
+ RFC 4303, DOI 10.17487/RFC4303, December 2005,
+ <http://www.rfc-editor.org/info/rfc4303>.
+
+ [RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session
+ Description Protocol", RFC 4566, DOI 10.17487/RFC4566,
+ July 2006, <http://www.rfc-editor.org/info/rfc4566>.
+
+ [RFC4594] Babiarz, J., Chan, K., and F. Baker, "Configuration
+ Guidelines for DiffServ Service Classes", RFC 4594,
+ DOI 10.17487/RFC4594, August 2006,
+ <http://www.rfc-editor.org/info/rfc4594>.
+
+ [RFC5109] Li, A., Ed., "RTP Payload Format for Generic Forward Error
+ Correction", RFC 5109, DOI 10.17487/RFC5109, December
+ 2007, <http://www.rfc-editor.org/info/rfc5109>.
+
+ [RFC5127] Chan, K., Babiarz, J., and F. Baker, "Aggregation of
+ Diffserv Service Classes", RFC 5127, DOI 10.17487/RFC5127,
+ February 2008, <http://www.rfc-editor.org/info/rfc5127>.
+
+ [RFC5129] Davie, B., Briscoe, B., and J. Tay, "Explicit Congestion
+ Marking in MPLS", RFC 5129, DOI 10.17487/RFC5129, January
+ 2008, <http://www.rfc-editor.org/info/rfc5129>.
+
+ [RFC5245] Rosenberg, J., "Interactive Connectivity Establishment
+ (ICE): A Protocol for Network Address Translator (NAT)
+ Traversal for Offer/Answer Protocols", RFC 5245,
+ DOI 10.17487/RFC5245, April 2010,
+ <http://www.rfc-editor.org/info/rfc5245>.
+
+ [RFC5389] Rosenberg, J., Mahy, R., Matthews, P., and D. Wing,
+ "Session Traversal Utilities for NAT (STUN)", RFC 5389,
+ DOI 10.17487/RFC5389, October 2008,
+ <http://www.rfc-editor.org/info/rfc5389>.
+
+ [RFC5462] Andersson, L. and R. Asati, "Multiprotocol Label Switching
+ (MPLS) Label Stack Entry: "EXP" Field Renamed to "Traffic
+ Class" Field", RFC 5462, DOI 10.17487/RFC5462, February
+ 2009, <http://www.rfc-editor.org/info/rfc5462>.
+
+
+
+
+
+
+
+Black & Jones Informational [Page 23]
+
+RFC 7657 Diffserv and RT Communication November 2015
+
+
+ [RFC5761] Perkins, C. and M. Westerlund, "Multiplexing RTP Data and
+ Control Packets on a Single Port", RFC 5761,
+ DOI 10.17487/RFC5761, April 2010,
+ <http://www.rfc-editor.org/info/rfc5761>.
+
+ [RFC5764] McGrew, D. and E. Rescorla, "Datagram Transport Layer
+ Security (DTLS) Extension to Establish Keys for the Secure
+ Real-time Transport Protocol (SRTP)", RFC 5764,
+ DOI 10.17487/RFC5764, May 2010,
+ <http://www.rfc-editor.org/info/rfc5764>.
+
+ [RFC5766] Mahy, R., Matthews, P., and J. Rosenberg, "Traversal Using
+ Relays around NAT (TURN): Relay Extensions to Session
+ Traversal Utilities for NAT (STUN)", RFC 5766,
+ DOI 10.17487/RFC5766, April 2010,
+ <http://www.rfc-editor.org/info/rfc5766>.
+
+ [RFC6062] Perreault, S., Ed. and J. Rosenberg, "Traversal Using
+ Relays around NAT (TURN) Extensions for TCP Allocations",
+ RFC 6062, DOI 10.17487/RFC6062, November 2010,
+ <http://www.rfc-editor.org/info/rfc6062>.
+
+ [RFC6274] Gont, F., "Security Assessment of the Internet Protocol
+ Version 4", RFC 6274, DOI 10.17487/RFC6274, July 2011,
+ <http://www.rfc-editor.org/info/rfc6274>.
+
+ [RFC6386] Bankoski, J., Koleszar, J., Quillio, L., Salonen, J.,
+ Wilkins, P., and Y. Xu, "VP8 Data Format and Decoding
+ Guide", RFC 6386, DOI 10.17487/RFC6386, November 2011,
+ <http://www.rfc-editor.org/info/rfc6386>.
+
+ [RFC6437] Amante, S., Carpenter, B., Jiang, S., and J. Rajahalme,
+ "IPv6 Flow Label Specification", RFC 6437,
+ DOI 10.17487/RFC6437, November 2011,
+ <http://www.rfc-editor.org/info/rfc6437>.
+
+ [RFC6458] Stewart, R., Tuexen, M., Poon, K., Lei, P., and V.
+ Yasevich, "Sockets API Extensions for the Stream Control
+ Transmission Protocol (SCTP)", RFC 6458,
+ DOI 10.17487/RFC6458, December 2011,
+ <http://www.rfc-editor.org/info/rfc6458>.
+
+ [RMCAT-CC] Jesup, R. and Z. Sarker, "Congestion Control Requirements
+ for Interactive Real-Time Media", Work in Progress,
+ draft-ietf-rmcat-cc-requirements-09, December 2014.
+
+
+
+
+
+
+Black & Jones Informational [Page 24]
+
+RFC 7657 Diffserv and RT Communication November 2015
+
+
+ [RTP-USAGE]
+ Perkins, C., Westerlund, M., and J. Ott, "Web Real-Time
+ Communication (WebRTC): Media Transport and Use of RTP",
+ Work in Progress, draft-ietf-rtcweb-rtp-usage-25, June
+ 2015.
+
+ [SDP-BUNDLE]
+ Holmberg, C., Alvestrand, H., and C. Jennings,
+ "Negotiating Media Multiplexing Using the Session
+ Description Protocol (SDP)", Work in Progress, draft-ietf-
+ mmusic-sdp-bundle-negotiation-23, July 2015.
+
+ [SRTP-DTLS]
+ Petit-Huguenin, M. and G. Salgueiro, "Multiplexing Scheme
+ Updates for Secure Real-time Transport Protocol (SRTP)
+ Extension for Datagram Transport Layer Security (DTLS)",
+ Work in Progress, draft-petithuguenin-avtcore-rfc5764-mux-
+ fixes-02, March 2015.
+
+ [W3C.WD-mediacapture-streams-20130903]
+ Burnett, D., Bergkvist, A., Jennings, C., and A.
+ Narayanan, "Media Capture and Streams", World Wide Web
+ Consortium Recommendation WD-mediacapture-streams-
+ 20130903, September 2013, <http://www.w3.org/TR/2013/
+ WD-mediacapture-streams-20130903>.
+
+ [WEBRTC-OVERVIEW]
+ Alvestrand, H., "Overview: Real Time Protocols for
+ Browser-based Applications", Work in Progress,
+ draft-ietf-rtcweb-overview-14, June 2015.
+
+ [WEBRTC-TRANSPORTS]
+ Alvestrand, H., "Transports for WebRTC", Work in
+ Progress, draft-ietf-rtcweb-transports-10, October 2015.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Black & Jones Informational [Page 25]
+
+RFC 7657 Diffserv and RT Communication November 2015
+
+
+Acknowledgements
+
+ This memo is the result of many conversations that have occurred
+ within the DART working group and other working groups in the RAI and
+ Transport areas. Many thanks to Aamer Akhter, Harald Alvestrand,
+ Fred Baker, Richard Barnes, Erin Bournival, Ben Campbell, Brian
+ Carpenter, Spencer Dawkins, Keith Drage, Gorry Fairhurst, Ruediger
+ Geib, Cullen Jennings, Jonathan Lennox, Karen Nielsen, Colin Perkins,
+ James Polk, Robert Sparks, Tina Tsou, Michael Welzl, Dan York, and
+ the DART WG participants for their reviews and comments.
+
+Authors' Addresses
+
+ David Black (editor)
+ EMC
+ 176 South Street
+ Hopkinton, MA 01748
+ United States
+
+ Phone: +1 508 293-7953
+ Email: david.black@emc.com
+
+
+ Paul Jones
+ Cisco
+ 7025 Kit Creek Road
+ Research Triangle Park, NC 27502
+ United States
+
+ Phone: +1 919 476 2048
+ Email: paulej@packetizer.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Black & Jones Informational [Page 26]
+