The objective of this project is to investigate how the loss of net neutrality in the United States affects traffic on the Internet.
- How does network performance evolve in terms of latency, jitter, routes and bandwidth?
- How does the presence or absence of net neutrality affect network evolution in a jurisdiction?
- Are network policies practiced as advertised?
To measure network performance on the Internet, several factors must be considered. Speed is an important factor, but how quickly a large file can be downloaded doesn't accurately describe the overall performance of a network. There are other factors involved, namely latency and jitter.
Latency is the time it takes for data to get from one computer from another through a network. Jitter is variation in latency between packets. These metrics are important because they determine whether or not services whose data is time sensitive (like voice and video calls) can be used over a given network.
For instance, a VoIP phone call made over a network with high jitter would sound choppy and unintelligible. This is because the packets that make up the phone call are probably sent using a protocol that doesn't resend lost packets.
Resending a lost packet in a voice call is a waste of time because by the time the packet is re-sent, the information about the conversation that it contains is no longer useful because the conversation has moved on. Think of a packet as containing a word in the conversation, even though it probably contains a much smaller fragment. If one word is lost, but the words after it are delivered, then injecting the lost word into the conversation after it has been re-sent would probably make another part of the conversation unintelligible.
If a voice call is made over a network with high jitter, then packets will arrive out of order. The receiver will use the latest packet it receives, because it will assume that the other packets were lost and are therefore not useful. If each packet is a word in a sentence, and the last word in the sentence is received first, then the last word will be played and the rest of the words will be ignored when they arrive because they will have arrived out of order. So out of a whole sentence, the listener would only hear the last word.
This undesirable condition can exist even if the network is extremely fast and relatively low latency. With the absence of net neutrality, it is very possible for time-sensitive voice packets to be given lower priority if the owner of the network through which the traffic is sent decides that other traffic is more important. For instance, Netflix now pays Comcast to ensure that their movies stream to Comcast subscribers well. If Netflix needs to get traffic to a customer, Comcast's network devices may favor that traffic by changing the order that packets are delivered so that Netflix's traffic gets sent first.
To get a sample of network performance on the Internet, we will have a network of servers measuring the quality of the links between them.
We will measure speed by sending files of various sizes. Larger files will be used to determine maximum throughput, while multiple smaller files will be used to simulate web browsing.
Jitter will be measured by sending an ordered stream of UDP packets between the servers and calculating the latency differences between the arrival of each packet.