Network Neutrality Inference

Once a fundamental Internet property, network neutrality cannot be taken for granted today. There is evidence that Internet service providers (ISPs) differentiate against certain applications, e.g., BitTorrent, by deprioritizing, blocking, or shaping its traffic. More recently, there is evidence that ISPs are differentiating against traffic originating from specific content providers. We are not saying that such differentiation should be illegal (although it is, in certain countries); our position is that—whether illegal or not—it should be transparent: if an ISP differentiates against specific end-hosts, protocols, or applications, that should be visible to the affected parties and regulators.

The goal of this project is to understand what can be inferred about a network’s neutrality based on external observations and at the same time design a “neutrality inference” algorithm, which takes as input a network graph and external observations (end-to-end measurements), and it identifies non-neutral link sequences.

In our 2014 paper, we describe conditions under which it is possible to (a) detect neutrality violations and (b) localize them to specific links, based on external observations. The key insight is that, when one makes external observations from different vantage points, these will most likely be inconsistent with each other if the network is not neutral. So, where existing tomographic techniques try to form solvable systems of equations to infer network properties, this work tries to form unsolvable systems that reveal neutrality violations. It also presents and evaluates a first-cut neutrality-inference algorithm. The results provide promising preliminary evidence that it is feasible to reason about network neutrality, even when we know nothing about the internal behavior of the network.

To try out our latest version of the algorithm, you can get the LINE network emulator and configure it with your own topology and traffic-generation parameters (or copy one of our configuration setups).

If you want to reproduce the results from the 2014 paper, we have packaged together the version of LINE that we were using at the time with the right configuration setup for each experiment. You can find detailed instructions on this page.