Building Reproducible Video Streaming Traffic Generators
Total Page:16
File Type:pdf, Size:1020Kb
Building Reproducible Video Streaming Traffic Generators Calvin Ardi Alefiya Hussain Stephen Schwab USC/ISI USC/ISI USC/ISI Marina del Rey, CA, USA Marina del Rey, CA, USA Marina del Rey, CA, USA [email protected] [email protected] [email protected] ABSTRACT In this paper, we present our preliminary work towards building Video streaming traffic dominates Internet traffic. However, there video streaming traffic generators that are both representative and is a dearth of tools to generate such traffic on emulation-based reproducible. We implement in our generators both the client and testbeds. In this paper we present tools to create representative and server endpoints, and each individual endpoint can be used on reproducible video streaming traffic to evaluate the next generation its own to test additional components within the network. Our of traffic classification, Quality of Service (QoS) algorithms and generators produce representative traffic on-the-wire by using freely traffic engineering systems. We discuss 27 different combinations of available or permissively-licensed videos and streaming them across streaming video traffic types in this preliminary work, and illustrate a variety of transport protocols. We enable reproducible experiments the diversity of network-level dynamics in these protocols. by emulating the process of “watching” videos with a systematic and well-defined methodology. We discuss in § 2 current state-of- ACM Reference Format: art video streaming protocols and how they can be used to recreate Calvin Ardi, Alefiya Hussain, and Stephen Schwab. 2021. Building Repro- representative and reproducible scenarios on an emulation-based ducible Video Streaming Traffic Generators. In Cyber Security Experimenta- tion and Test Workshop (CSET ’21), August 9, 2021, Virtual, CA, USA. ACM, testbed. Our tools support 27 video streaming protocol and software New York, NY, USA, 5 pages. https://doi.org/10.1145/3474718.3474721 combinations, and can be fully automated. Further, they can be configured to run completely end-to-end within a self-contained 1 INTRODUCTION environment on the testbed or reach-out to remote servers and services over the Internet to provide even more realism. Video streaming traffic has and continues to be the majority of Inter- We discuss in § 3 the varied network-level traffic patterns gen- net traffic, accounting for roughly 58 % of global Internet use (2020, erated from a sample of the 27 protocols on an emulation-based [14]) and is predicted to be 82 % of all traffic by 2022 [6]. Delivering testbed. We analyze the underlying video streaming performance video across the Internet is supported by a diverse set of infras- and behavior on both a local network and the Internet, highlight- tructure, client/server software, encoding algorithms, and network ing the differences in bandwidth throughput profiles between dif- protocols. Although many parts of the end-to-end video delivery ferent streaming and transport protocols. Our goal is to enable on the Internet has been studied in great detail [1, 3, 9, 11], there representative and reproducible experiments for video streaming are no readily available tools for video traffic to support testbed- traffic and this initial set of generators provides a wide spectrum based experiments. Prior work in traffic generation and simulation of protocols. We make our generators and tools available at https: typically focus on maximizing throughput for benchmarks and //mergetb.org/projects/searchlight/ in order to enable research in stress testing [12] or on simulating the behavior of the underlying this domain. protocols (TCP, UDP, and others) [2, 15, 16]. While experimenters can iterate on and test their network system components over the Internet, often coupling them with popular 2 REPRODUCIBLE VIDEO STREAMING content providers, there are a lack of tools to support principled TRAFFIC GENERATORS experimentation with video traffic on testbeds and the Internet. In this section, we discuss the design decisions for representa- Experimenters need these video traffic tools in order to evaluate tive protocols and software to enable reproducible experiments the next generation of systems for network traffic classification and on emulation-based testbeds. engineering and QoS algorithms. These tools should allow exper- imenters to test and evaluate these systems and their individual 2.1 Using Representative Protocols components during its development, and include both client and There are many formats and protocols for video streaming. We con- server endpoints used for watching and delivering video. These sider 27 combinations, that include different streaming protocols, tools should also send traffic responsibly on the Internet, in order the encapsulation format for video streaming, and “transport” pro- to minimize impact on third-party services. tocols, the underlying application-level protocols that move data Permission to make digital or hard copies of all or part of this work for personal or between client and server. We focus only on desktop browsers in classroom use is granted without fee provided that copies are not made or distributed this paper, and plan on addressing mobile and other application- for profit or commercial advantage and that copies bear this notice and the full citation specific clients as future work. on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]. 0This work was sponsored by Sandia National Laboratory (SNL) under PO2160586. CSET ’21, August 9, 2021, Virtual, CA, USA This research was developed with funding from the Defense Advanced Research © 2021 Copyright held by the owner/author(s). Publication rights licensed to ACM. Projects Agency (DARPA). The views, opinions and/or findings expressed are those of ACM ISBN 978-1-4503-9065-1/21/08...$15.00 the authors and should not be interpreted as representing the official views or policies https://doi.org/10.1145/3474718.3474721 of Sandia National Laboratory, the Department of Defense, or the U.S. Government. CSETCSETCSET ’21, ’21, August ’21, August August 9, 2021,9, 9, 2021, 2021, Virtual, Virtual, Virtual, CA, CA, CA, USA USA USA CalvinCalvin Ardi, Ardi, Alefiya Alefiya Hussain, and Stephen Schwab Schwab CSET ’21, August 9, 2021, Virtual, CA, USA Calvin Ardi, Alefiya Hussain, and Stephen Schwab n n n n n n n n TableTableTable 1: 1: 1: Supported Supported Supported Protocol Protocol Protocol and and Software Software Combinations DASHDASHDASH HLSHLSHLS Table 1: Supported Protocol and Software Combinations DASH HLS n n n n n n HTML5 n n ideo Streamingideo Streamingideo Streamingideo Streamingideo Streaming HTML5HTML5 ideo Streamingideo Streamingideo Streamingideo Streamingideo Streamingideo Streamingideo Streamingideo Streamingideo Streamingideo Streamingideo Streamingideo Streamingideo Streamingideo Streamingideo Streamingideo Streamingideo Streamingideo Streamingideo Streamingideo Streamingideo Streaming ideo Streaming VVVVV HTML5 VVVVVVVVVVVVVVVVVVVVV ideo Streamingideo Streaming V n n VV softwaresoftwaresoftware type type HTTP/1.1 HTTP/1.1 HTTP/2 HTTP/2 HTTP/3 HTTP/3 n n n n n n software type HTTP/1.1 HTTP/2 HTTP/3 HTTP/1.1HTTP/1.1HTTP/1.1HTTP/2HTTP/2HTTP/2 HTTP/3HTTP/3HTTP/3 HTTP/1.1 HTTP/2 HTTP/3 clearclearclear + + + TLS TLS TLS clear clear clear + + TLS TLS TLS TLS n n n n n n n n TLSTLSTLS TLS QUICQUICQUICQUIC ChromeChromeChromeChrome client client client ransport" ransport"ransport"ransport"ransport"ransport"ransport"ransport"ransport"ransport"ransport"ransport"ransport"ransport"ransport"ransport"ransport"ransport"ransport"ransport"ransport"ransport" ransport"ransport"ransport"ransport"ransport" ransport"ransport" "T "T"T"T"T"T"T"T"T"T"T"T"T"T"T"T"T"T"T"T"T"T "T"T"T"T"T n n n n n n n n "T"T TCPTCPTCP FirefoxFirefoxFirefoxFirefox client client client TCP UDPUDPUDP UDP CaddyCaddyCaddyCaddy server server server n n n n n n n n IP IPIP IP a nginxnginxnginxnginxaaa serverserverserver a a Apache2Apache2Apache2Apache2aa serverserverserver FigureFigureFigure 1:Figure 1: Network 1: Network Network 1: Network Topology Topology Topology Topology FigureFigureFigureFigure 2: 2: 2:Protocols Protocols Protocols 2: Protocols a Implementation:Implementation:Implementation:Implementation: == full, full,= full, == partial,= partial, partial, === none= none none nonea foraa comparisonforforfor comparison comparison purposes purposes purposes StreamingStreamingStreaming protocols. protocols. protocols.WeWeWe focus focusWe focus on focus on on Dynamic Dynamic Dynamicon Dynamic Adaptive Adaptive Adaptive Adaptive Streaming Streaming Streaming Streaming Streaming protocols. 2.22.2 Enabling Enabling Reproducible Reproducible Experiments Experiments overoverover HTTP HTTPover HTTP (DASH HTTP (DASH (DASH), (DASH HTTP),), HTTP HTTP), Live HTTP Live Live Streaming Streaming Live Streaming Streaming (HLS (HLS (HLS), (HLS), and), and and), basic and basic basic basicHTML5HTML5HTML5HTML5 2.22.2 Enabling Enabling Reproducible Reproducible Experiments Experiments video as our representative streaming protocols. While there are We are building our video traffic generators to enable reproducible videovideovideo as as our as our our representative representative representative streaming streaming streaming protocols. protocols. protocols. While While While there