Offloading Media Traffic to Programmable Data Plane Switches

According to estimations, approximately 80% of Internet traffic represents media traffic. Much of it is generated by end users communicating with each other (e.g., voice, video sessions). A key element that permits the communication of users that may be behind Network Address Translation (NAT) is the relay server. This paper presents a scheme for offloading media traffic from relay servers to programmable switches. The proposed scheme relies on the capability of a P4 switch with a customized parser to de-encapsulate and process packets carrying media traffic. The switch then applies multiple switch actions over the packets. As these actions are simple and collectively emulate a relay server, the scheme is capable of moving relay functionality to the data plane operating at terabits per second. Performance evaluations show that the proposed scheme not only produces optimal results regarding Quality of Service (QoS) parameters (no packet loss, minimum delay, negligible delay variation, high Mean Opinion Score) but also scales much better than current solutions. Evaluations conducted with up to 35Gbps of media traffic or its equivalent of 400,000 simultaneous G.711 media sessions (limited only by the traffic generator rather than by the switch) show an ideal operation of the switch-based solution (using$\sim \text{l}$% of the switching capacity). In contrast, a relay server with a modern CPU model used for evaluations can process up to 900 simultaneous G.711 media sessions per core.

[1]  Xiaozhou Li,et al.  NetChain: Scale-Free Sub-RTT Coordination , 2018, NSDI.

[2]  Yang Xu,et al.  Profiling Skype video calls: Rate control and video quality , 2012, 2012 Proceedings IEEE INFOCOM.

[3]  George Varghese,et al.  P4: programming protocol-independent packet processors , 2013, CCRV.

[4]  Keith W. Ross,et al.  Computer networking - a top-down approach featuring the internet , 2000 .

[5]  Alberto Dainotti,et al.  Inferring Carrier-Grade NAT Deployment in the Wild , 2018, IEEE INFOCOM 2018 - IEEE Conference on Computer Communications.

[6]  K.K. Tam,et al.  Session Initiation Protocol , 2002, 2002 IEEE International Conference on Industrial Technology, 2002. IEEE ICIT '02..

[7]  Anja Feldmann,et al.  A Multi-perspective Analysis of Carrier-Grade NAT Deployment , 2016, Internet Measurement Conference.

[8]  Shobha Erramilli,et al.  Terminology for Benchmarking Network-layer Traffic Control Mechanisms , 2006, RFC.

[9]  Gautam Srivastava,et al.  Enabling TCP Pacing using Programmable Data Plane Switches , 2019, 2019 42nd International Conference on Telecommunications and Signal Processing (TSP).

[10]  Fernando Pedone,et al.  NetPaxos: consensus at network speed , 2015, SOSR.

[11]  Kenton O'Hara,et al.  Everyday dwelling with WhatsApp , 2014, CSCW.

[12]  Nate Foster,et al.  NetCache: Balancing Key-Value Stores with Fast In-Network Caching , 2017, SOSP.

[13]  Gregory A. Bassett,et al.  Multimedia Networks: Protocols, Design and Applications , 2016 .

[14]  Mark Handley,et al.  RFC 4566: SDP: Session Description Protocol , 2006 .

[15]  Nasir Ghani,et al.  A Comprehensive Tutorial on Science DMZ , 2019, IEEE Communications Surveys & Tutorials.

[16]  Gonzalo Salgueiro,et al.  Internet Engineering Task Force (ietf) Traversal Using Relays around Nat (turn) Uniform Resource Identifiers , 2022 .