Increase data transfer speed in mobile networks
We will talk about the evolution and configuration of the TCP / IP network stack *for* Linux and Android in the context of mobile networks, analyze TCP problems in *poor* networks, and also look towards writing *own* protocols in user space over UDP.
TCP was first implemented in the 70s and coped well with its task in the era of the wired Internet. But wireless networks are characterized by variable bandwidth, high random packet loss, change of IP and MTU on the fly, and other things that degrade a TCP connection.
More than 30 million people use mobile networks every day to log in OK.RU social network*. The average packet loss in these networks is about 1-3%, but there are networks with losses of up to 10-15%. In addition, mobile networks have high jitter and RTT values. This all leads to the fact that the channel is not fully utilized, and data transfer is slower than it could be.
We'll talk about TCP problems and tuning.
Consider the evolution of the TCP stack to speed up data transfer from cubic congestion control to BBR cc, as well as tail loss probe, tcp fast open, zero RTT handshake in TLS 1.3, how to set it up and how it works;)
But many TCP improvements are not fast enough in production on both servers and end-user devices. Therefore, we consider the further development of the network stack in the direction of userSpace protocols such as QUIC. And we implement our data transfer protocol over UDP.
Russia. Saint Petersburg
Head of engineering, Video&News Feed Platforms
Head of engineering, Video and News Feed Platforms at Odnoklassniki project of Mail.Ru Group. More than 10 years of working on video processing and data storage.
Since 2012 creates video platform software and Video service for OK.RU. Experienced in commercial software development for over 13 years.