NANO identifies performance degradations that result from network neutrality violation by an Internet service provider (ISP), such as, differential treatment of specific classes of applications, users, or destinations by the ISP. Existing systems for detecting differential treatment are typically specific to an application or to a particular differentiation mechanism. Because ISPs can change differentiation policies and mechanisms, users need a method to detect differentiation, regardless of the applications that might be subject to differentiation and to the mechanisms used to achieve it. Such a scheme would make detection both robust and difficult to evade. To distinguish differentiation from other causes of degradation (e.g., overload, misconfiguration, failure), NANO uses a statistical method to establish causal relationship between an ISP and observed service performance. NANO agents deployed at participating clients across the Internet collect performance data for selected services and report this information to centralized servers, which analyze the measurements to establish causal relationships between an ISP's policy and performance degradations.
We have implemented NANO deployed clients in a controlled environment on Emulab. Using a combination of controlled (Emulab) and wide-area (PlanetLab) experiments to demonstrate NANO's ability to determine the extent and criteria for differentiation, for a range of current and potential ISP policies on both BitTorrent and HTTP traffic. In our next phase, we are taking NANO to the Internet at large. For this we need your help. Please join the NANO project by installing NANO agent on your computers.
Passive monitoring by NANO-agent: NANO-agent monitors the number of packets transferred for each active flow per unit time, as well as tracks for unexpected events like packet loss, and TCP RST packets. NANO-agent coallates each flow with the application that owns the flow. NANO agent also monitors the load on the client computer. All these statistics are reported to collection servers located at Georgia Tech. You may visualize your data by visiting this page.
Privacy: NANO will monitor all of your Internet traffic and send back limited statistics, but does not collect data on what is being sent. For instance, if you try to visit cnn.com, it will record your IP address, the IP address of the site you are accessing, and the number of packets transferred, but it will not record the content that your browser may send to cnn.com, or the web-page that cnn.com sends and is displayed in your browser.
A NANO-agent user can also decide to exclude a set of websites or services from monitoring; for instance, a user could exclude mail.google.com or mail.yahoo.com if you didn't want those email services monitored. To achieve this, NANO-agent looks at DNS packets that the client generates to determine the IP addresses that mail.google.com or mail.yahoo.com maps to. This allows the NANO-agent to ignore the packets with the determined IP addresses. A user can also temporarily disable all monitoring by NANO-agent. Please read the file named PRIVACY in the distribution for more details.
NANO-agent and M-Lab: M-Lab provides a set of computers in several ISP Points-of-Presence (PoP). Future release of NANO-agents will use the M-Lab computers as reference points to ascertain the location of the client (e.g., by finding the nearest M-Lab servers), and also isolate the wide-area network effects by comparing the download rates from the M-Lab servers with the download rates on the wide-area Internet.
ACM HotNets 2008.