Measuring the network performance of ISPs at the Application level is a daunting task that typically requires deploying DPI equipment and the cooperation and consent of the ISPs. The scarcity of such reliable resources is a major obstacle for the well-being of the Internet for it remains opaque. As a first step to alleviate this problem, and improve Network Transparency, we present Apollo, a system that can monitor the performance of a popular p2p application, Bittorrent.
Apollo exchanges control level messages with p2p clients and can effectively and efficiently capture the real time state of the p2p network. With a single commodity machine, we can scan over 1 million p2p clients in less than an hour and exchange successfully control messages with half of them. This allows us to build scalable services on top of such control information. As an initial set of services, we show how Apollo can be used to rank and differentiate between ISPs, identify an ISP's throttling period and policy, detect locality effects, find out network problems and improve the performance of Bittorrent clients by providing global knowledge.