# A Network Analysis on Cloud Gaming: Stadia, GeForce Now and PSNow
## 4 Results
### Employed Protocols  
In this section, we describe the protocols used by the three cloud gaming providers to stream multimedia content and transmit control data for, e.g., session setup and users' commands. Table 2 provides an overview of the protocols that we observe, as well as the employed codecs.  
_Stadia:_ The service from Google uses the most standard protocol mix, as it relies on WebRTC [26]. In a few words, WebRTC is a set of standard application programming interfaces (APIs) that allow real-time communication from browsers and mobile applications. It establishes sessions using the Datagram Transport Layer Security (DTLS) protocol for key exchange. The multimedia connection between the client and server is set up using interactive connectivity establishment (ICE), which in turn relies on the session traversal utilities  
\begin{table}
\begin{tabular}{l l l l l l l l l} \hline \hline
**Application** & **PC** & **Smartphone** & **Dongle** & **Quality Levels** & **Server Location** & **Traffic Shaping** & **Mobile Networks** & **Total Tests** \\ \hline Stadia & ✓ & ✓ & ✓ & 3 & & ✓ & ✓ & 94 \\ Geforce Now & ✓ & ✓ & & 2 & ✓ & ✓ & & 71 \\ PS Now & ✓ & & & & & ✓ & & 60 \\ \hline \hline \end{tabular}
\end{table}
Table 1: Overview of the measurement campaign.  
for network address translators (STUN) and the traversal using relays around NAT (TURN) protocols for NAT (network address translator) traversal. We find that Stadia uses WebRTC with no substantial modifications, both from the browser and mobile application. The traffic captures using the dedicated dongle device (Chromecast) confirm that the observed traffic is consistently compatible with WebRTC. When the multimedia session begins, the client starts a normal WebRTC peer connection to the server, creating a UDP flow in which DTLS, STUN and RTP are multiplexed according to the RFC 7893 [27]. RTP is used for multimedia streaming, while DTLS carries the user's input. We also observe packets of the real-time control protocol (RTCP) [3, 28], used to exchange out-of-band statistics between the sender and the receiver of a multimedia stream. The RTCP payload is encrypted to enhance users' privacy, preventing the in-network devices from using it for quality of service monitoring.  
_GeForce Now._ It adopts a different approach. The server is first contacted using the TLS (over TCP) protocol to set up the session. Interestingly, the Client Hello messages contain the Server Name Indication extension, which allows us to infer the server hostname (see Section 4.6 for details). Then, the client opens multiple UDP channels directly, without relying on the standard session establishment protocols (ICE, STUN, and TURN). Only the first packet from the client contains an undocumented hello message. Each inbound flow then carries a standard RTP stream. The client sends the user commands on a dedicated UDP flow using an undocumented protocol. All flows use fixed ports on the client-side, in the range 49,003-49,006, while they vary on the server-side. Here, we do not observe the presence of the RTCP protocol.  
_PS Now._ This service adopts a completely custom approach, with no standard in-clear header. The client opens a UDP connection towards the server without relying on any documented protocol, and, as such, we can only analyze the raw payload of packets. Still, complex manual work allowed us to catch at least the high-level encapsulation schema that we briefly describe here. The first byte of the packet is used to multiplex multiple data channels. The channel 0 is used for signalling and user's commands, while 2 and 3 are used for multimedia streaming from the server. This is confirmed by the plausible packet size and inter-arrival distributions, and allows us to infer which kind of multimedia content is carried on each channel, as we illustrate in Section 4.3.  
_Take away: Stadia relies on WebRTC for streaming and session setup. GeForce Now uses RTP with no standard session establishment protocol. PS Now employs a fully-custom approach._