Research : Explicit Congestion Notification for RTP
Explicit Congestion Notification (ECN) is getting attention as a method to minimise the impact of congestion on real-time multimedia traffic. When ECN is used, the network can signal to applications that congestion is occurring, whether that congestion is due to queuing at a congested link, limited resources and coverage on a radio link, or other reasons. This congestion signal allows applications to reduce their transmission rate in a controlled manner, rather than responding to uncontrolled packet loss, and so improves the user experience while benefiting the network.
The introduction of ECN into the Internet requires changes to both the network and transport layers. At the network layer, IP forwarding has to be updated to allow routers to mark packets, rather than discarding them in times of congestion. Transport protocols also need to be modified to inform that sender that ECN marked packets are being received, so it can respond to the congestion. TCP, SCTP, and DCCP have long been updated to support ECN. This project developed a standard specification for use of ECN with RTP running over UDP/IP transport, and is working to measure the usability of ECN with UDP in the public Internet.
We performed measurements to determine whether ECN is usable with UDP-based transport protocols in the public Internet. These validate the utility of our previous work on ECN for RTP over UDP/IP, and feed into current IETF activities on congestion control for RTP-based interactive multimedia running over UDP/IP, and on the use of UDP as a substrate for deployment of new transport protocols. Using measurements from two residential sites in the UK, the University of Glasgow, and servers in each of the nine EC2 regions worldwide, we test reachability of 2500 servers from the public NTP server pool, using ECT(0) and not-ECT marked UDP packets. We show that an average of 98.97% of the servers that are reachable using not-ECT marked packets are also reachable using ECT(0) marked UDP packets, and that ~98% of network hops pass ECT(0) marked packets without clearing the ECT bits. We compare reachability of the same hosts using ECN with TCP, finding that 82.0% of those reachable with TCP can successfully negotiate and use ECN. Our findings suggest that ECN is broadly usable with UDP traffic, and that support for use of ECN with TCP has increased.
RFC 6679 has been published, describing a standard for use of ECN with RTP over UDP/IP. It describes how ECN marks can be used with RTP data packets, and defines a new RTCP Extended Report (XR) block for periodic ECN reporting, a new RTCP transport feedback message of timely reports of congestion events, and STUN/ICE extensions to probe usability of ECN on a path. SDP extensions to negotiate ECN support are also specified. The standard works with both unicast and multicast RTP sessions, and in point-to-point and group communication scenarios.
RFC 6336 has been published, defining the IANA Registry for ICE Options. This fixes an oversight in RFC 5245, which states that the registry for ICE options exists, but did not create it with IANA or specify the syntax of legal options. Defining this registry is a necessary precursor to the ECN for RTP work, which needs to use an ICE option.
Thanks to Ericsson Research for funding the IETF standards activities in this project.