copycat: Testing Differential Treatment of New Transport Protocols in the Wild

Recent years have seen the development of multiple transport solutions to address the ossification of TCP in the Internet, and to ease transport-layer extensibility and deployability. Recent approaches, such as PLUS and Google's QUIC, introduce an upper transport layer atop UDP; their deployment therefore relies on UDP not being disadvantaged with respect to TCP by the Internet. This paper introduces copycat, a generic transport protocol testing tool that highlights differential treatment by the path in terms of connectivity and QoS between TCP and a non-TCP transport protocol. copycat generates TCP-shaped traffic with custom headers, and compares its performance in terms of loss and delay with TCP. We present a proof-of-concept case study (UDP vs. TCP) in order to answer questions about the deployability of current transport evolution approaches, and demonstrate the extent of copycat's capabilities and possible applications. While the vast majority of UDP impairments are found to be access-network linked, and subtle impairment is rare, middleboxes might adapt to new protocols that would then perform differently in the wild compared to early deployments or controlled environment testing.

[1]  Marco Conti,et al.  Throughput Analysis and Measurements in IEEE 802.11 WLANs with TCP and UDP Traffic Flows , 2008, IEEE Transactions on Mobile Computing.

[2]  Boris Nechaev,et al.  Netalyzr: illuminating the edge network , 2010, IMC '10.

[3]  Mark Handley,et al.  RFC 4340: Datagram Congestion Control Protocol (DCCP) , 2006 .

[4]  Feng Qian,et al.  TCP revisited: a fresh look at TCP in the wild , 2009, IMC '09.

[5]  Martin Thomson,et al.  Hypertext Transfer Protocol Version 2 (HTTP/2) , 2015, RFC.

[6]  Eric Rescorla,et al.  Datagram Transport Layer Security (DTLS) for Stream Control Transmission Protocol (SCTP) , 2011, RFC.

[7]  Markku Kojo,et al.  An experimental study of home gateway characteristics , 2010, IMC '10.

[8]  Gorry Fairhurst,et al.  PATHspider: A tool for active measurement of path transparency , 2016, ANRW '16.

[9]  Dan Wing,et al.  Happy Eyeballs: Success with Dual-Stack Hosts , 2012, RFC.

[10]  Ryan Hamilton,et al.  QUIC: A UDP-Based Secure and Reliable Transport for HTTP/2 , 2016 .

[11]  Joseph Touch Transport Options for UDP , 2017 .

[12]  Sally Floyd,et al.  On inferring TCP behavior , 2001, SIGCOMM.

[13]  Ralf Schmitz,et al.  TCP and UDP Performance Measurements in Presence of Fast Handovers in An IPv6-based Mobility Environment , 2004 .

[14]  Mark Handley,et al.  Datagram Congestion Control Protocol (DCCP) , 2006, RFC.

[15]  Manas Pratim Sarma Performance Measurement of TCP and UDP Using Different Queuing Algorithm in High Speed Local Area Network , 2013 .

[16]  Mark Handley,et al.  Is it still possible to extend TCP? , 2011, IMC '11.

[17]  Yin Xu,et al.  An End-to-End Measurement Study of Modern Cellular Data Networks , 2014, PAM.

[18]  Vern Paxson,et al.  End-to-end Internet packet dynamics , 1997, SIGCOMM '97.

[19]  Grenville J. Armitage,et al.  Issues with network address translation for SCTP , 2008, CCRV.

[20]  Michael Tüxen,et al.  On the Cost of Using Happy Eyeballs for Transport Protocol Selection , 2016, ANRW '16.

[21]  Lixia Zhang,et al.  Stream Control Transmission Protocol , 2000, RFC.

[22]  Sally Floyd,et al.  Measuring interactions between transport protocols and middleboxes , 2004, IMC '04.

[23]  Mirja Kühlewind,et al.  Path Layer UDP Substrate Specification , 2017 .

[24]  Mark Handley,et al.  TCP Extensions for Multipath Operation with Multiple Addresses , 2020, RFC.

[25]  Erwin P. Rathgeb,et al.  WebRTC Data Channels , 2021, IEEE Communications Standards Magazine.

[26]  Mark Handley,et al.  Architectural Guidelines for Multipath TCP Development , 2011, RFC.

[27]  Mark Handley,et al.  RFC 6182, Architectural Guidelines for Multipath TCP Development , 2011 .