Internet service providers (ISPs) are not very transparent about their traffic management policies. They commonly deploy traffic shapers to manage traffic but customers are not made aware of this. The lack of transparency means users are not able to make informed decisions when choosing an ISP. The opacity also prevents regulators from holding ISPs accountable for throttling traffic without making customers aware of it. Glasnost is a testing tool that enables end users to find out if their ISPs are managing traffic belonging to specific applications. In this article, we will cover how anyone with basic computer skills can use Glasnost tests to find out whether their ISPs are manipulating user traffic belonging to specific applications. This article is the second in a series of two articles about Glasnost. In the first article, titled Glasnost: Introduction, Installation, and Configuration, we learned how to install and configure a Glasnost server. In this article, we will cover how to test the Glasnost server installed in the first article. We will also cover how you may run Glasnost tests using a public Glasnost measurement server available on the Internet.
Traffic Shaping by Broadband ISPs
Traffic shaping is a technique used in networking to manage traffic by limiting the bandwidth available to specific traffic flows. Traffic shaping can be performed by general purpose routers as well as by specialized network appliances. This article is the second in a series of two articles, as mentioned at the beginning. In the first article, we provided an introduction to Glasnost and covered in detail how you can deploy a Glasnost server of your own. That article may be useful to anyone interested in developing a deeper understanding of the tool and possibly running their own Glasnost measurement server. The present article is for any broadband Internet user who is experiencing degraded application performance and suspects her internet service provider (ISP) is throttling the traffic on purpose.
The following graphic describes where traffic shapers are deployed by broadband ISPs. Glasnost tests work by downloading a Java applet to the user system, which then emulates traffic flows for a certain application between the system and a Glasnost measurement server. The traffic flows would look like regular application traffic to the ISP and, if they have traffic shaping policy for the specific application, these emulated traffic flows would also get punished. This behavior will be monitored by the Glasnost measurement server and the findings will be displayed once the test is complete.
How to Run a Glasnost Test
You can run Glasnost tests from any Java-enabled web browser including Microsoft Internet Explorer, Mozilla Firefox, and Google Chrome. You simply have to point the browser to a Glasnost server to open a web page with the interface to choose and run a Glasnost test. The condition however is that Java must be installed and enabled on the system. You are likely to already have Java installed but you can also download it for your desktop computer from http://www.java.com/en/download/, if required.
You also need to check the Security Level in Java Control Panel, which is set to High (minimum recommended) by default. The Java applet used to run Glasnost tests won’t work with the default security settings. You have to change the Security Level to Medium and save the settings before running the test. You can access the Java Control Panel from the Windows Control Panel. Please have a look at the following to help understand the changes required.
We built a test environment in the last article titled Glasnost: Introduction, Installation, and Configuration. We will quickly describe how you can test the Glasnost server in our test environment. You may refer to that article for details about our test setup before proceeding if you are interested in learning how to install, configure, and use your own Glasnost server. However, if you are only interested in using Glasnost tests to detect traffic shaping by your own ISP, keep reading as we will come to that very shortly. We can test the Glasnost server in our test environment by opening http://22.214.171.124/glasnost/glasnost.php in a web browser. Before doing that, please make sure that Glasnost measurement server is running. If it’s not, you can start it per below:
root@ubuntu:/var/www/glasnost# ./gserver -i eth0 -s protocols.spec Starting gserver (Version: 10.05.2010) Configuration: -p 19970 -i eth0 -d . -scriptdir . HTTP test fetcher daemon running
The Glasnost tests run in the test environment would not detect any traffic shaping, as there is no ISP between Glasnost client and server. The two are directly connected over a local-area network (LAN), but the test deployment is otherwise complete and can be used by users all over the Internet if it is deployed in the cloud.
Nevertheless, we would also cover how you can actually find out traffic blocking by your ISP using the public Glasnost server run by the Max Planck Institute for Software Systems. The public Glasnost tests can be accessed at http://broadband.mpi-sws.org/transparency/glasnost.php by opening the page in a web browser.
You may scroll down the page to see the interface to select and run a Glasnost test. You can see that a number of applications may currently be tested including BitTorrent, HTTP, and YouTube. You can also create your own traffic shaping test, if the application you want to test is not listed. You can upload your created test to Glasnost servers through the web page at http://glasnost.mpi-sws.org/bb/submit-test.php and then run it to test your broadband connection. A tool called trace-emulate is available to easily develop new Glasnost tests. You can use the documentation available at http://broadband.mpi-sws.org/transparency/createtest.html to create new Glasnost tests using trace-emulate.
BitTorrent is a protocol used to exchange large amounts of data on the Internet in the form of peer-to-peer (P2P) file sharing. BitTorrent clients are software programs like µTorrent that are used for P2P file sharing using the BitTorrent protocol. BitTorrent traffic is a likely candidate for throttling or blocking by internet service providers (ISPs) so it’s probably a good idea to run the BitTorrent test first. You have to select the radio button for BitTorrent and press Start testing. A Java applet will be loaded in the browser to emulate a sequence of flows for BitTorrent traffic between your system and Glasnost measurement server. You may see a Java dialog box, similar to what’s shown in the graphic below, asking your permission to run the Java applet. Please click the “Run” button, as that happens to be the only way you can proceed with the test.
The Glasnost test for BitTorrent traffic will take 500 seconds or a little over 8 minutes to complete. You will see a progress bar similar to the following while the test is running:
You may do other stuff on the computer while the test is running but it is recommended not to do anything that is bandwidth-hungry, such as watching YouTube or running downloads. You may also go back to the browser window and check the progress.
The results will be displayed once the test is complete, as shown in the graphic below. The results displayed here suggest that the ISP is not blocking BitTorrent upload traffic, while the download traffic could not be measured due to traffic noise. If this happens, you may run the test again to obtain results.
You may view detailed measurement results of the test by clicking the link at the bottom of the page.
Finally, a few words about how to interpret Glasnost test results are in order. Glasnost tests are designed to be conservative, which means there is a likelihood of false negatives. Passing Glasnost tests does not necessarily mean that your ISP is not throttling your traffic. On the other hand, the false positive rate is almost zero, which means it is very unlikely that the system falsely detects traffic throttling when it is not actually taking place. All uncertainty cannot be removed from Glasnost test results but these tests can be considered reasonably accurate.
Also, an ISP may have complex traffic management policies, throttling or blocking traffic on specific days (like weekends) or specific times (like evenings) in order to cope with higher bandwidth demand. Glasnost tests detect the presence of traffic shaping only at the point in time when the test is run. You may need to run the tests at different times to find out if your ISP shapes traffic at those times. If you normally experience degraded application performance at specific times, you may consider running an appropriate Glasnost test at those times.