Nowadays, the Internet routing system does not optimize for performance and often end up directing our traffic along suboptimal paths. Even more frustrating, the Internet is slow at computing these non-optimal routing decisions, and will get slower as it continues to grow. A recent survey we conducted in 2017 amongst 72 operators revealed that the Internet convergence time reaches 30 seconds on average during which traffic is often lost.
Instead of radically changing the set of Internet routing protocols, we argue for a data-driven approach to Internet path selection where the network devices themselves gather insights over a large corpus of data (all the flows traversing them) and adapt their decisions accordingly. While disruptive, this approach has recently become practical thanks to the advent of programmable network devices which can run complex forwarding logic entirely in hardware.
Our group is therefor developing scalable techniques and tools to enable programmable network devices to quickly detect performance problems across a large numbers of flows, dynamically find and evaluate alternative paths and reroute traffic accordingly (see Figure below). Specifically, our techniques extract information from the incoming traffic at line-rate (sensing phase) using the capabilities offered by programmable network devices. These fine-grained statistics will then be fed into a network model so as to take decisions (analysis phase). This analysis will either be done in the control plane (in software) or in the data plane itself (in hardware) for decisions where speed is paramount (e.g., after an important failure). Finally, the use of novel data plane encoding will ensure fast and flexible traffic reroute (actuation phase).