Packet-switch, buffer, and queue … oh my.
Net neutrality issues have been making headlines for almost a year now, and this February we have the satisfaction of seeing some action. On February 4th the FCC released a Fact Sheet outlining the content of a proposal to invoke Title II authority over Internet service providers (ISPs) and establish net neutrality rules. On February 26th, the commission will vote on the proposal and is expected to approve — no suspense there. The suspense is in waiting to see exactly how the ISPs will frame their bids to invalidate the ruling.
In the meantime, the rest of us have a chance to catch up. What exactly is net neutrality? What Internet practices will change as a result of the ruling?
Why do all the explanations of net neutrality revert to analogies about airports, hummingbirds, and cars? Beats me ….
Here’s a clearly stated version of the net neutrality principle from Amendment 234 passed by the European Parliament in 2014.
“Net neutrality” means the principle according to which all Internet traffic is treated equally, without discrimination, restriction or interference, independently of its sender, recipient, type, content, device, service or application.
Packets and packet-switching
Formal definitions only get us so far. It would be more satisfying to understand the mechanisms by which Internet traffic is handled, neutrally or otherwise. So why do all the explanations of net neutrality revert to analogies about airports, hummingbirds, and cars? Beats me, but here is a brief, low-tech introduction to the mechanisms at work in the pipes.
Internet “pipes” can be copper wires, fiber optic cables, digital power lines, electromagnetic waves including radio waves and low intensity microwaves, etc.
Information to be sent over the pipes is broken up into tiny pieces called packets, and each packet is labeled with identifiers allowing it to be routed along the pipes from node to node to reach its proper destination. As a packet travels along its path, it may cross from its originating network (perhaps owned by Verizon) to other networks (perhaps owned by Comcast or AT&T).
Upon arrival at their destination, packets are reassembled into a whole. An email message, for example, would be pulverized into many packets, each one of which makes its own unique journey along the pipes. Packets arrive pell-mell at their destination node, where their labels allow re-assembly back into a message format that is readable by mere mortals. The entire trip is measured in milliseconds!
The packet routing process that takes place inside the Internet pipes is known as packet switching. The special genius of a packet-switched system lies in doing away with the need for a dedicated, exclusive connection between sender and receiver (such as we have with a traditional telephone call). For Internet communication, packets are switched along shared, decentralized networks of pipes.
Pipes are simple. Routers are intelligent.
Buffer and queue
Pipes are simple (albeit high-tech) channels. On the other hand, the routers located at connection nodes within the pipes are intelligent. Routers are computers (or virtualized computers) running specialized software programs to handle the packets; they are hubs of analysis and decision-making. When it comes to net neutrality, we focus on the router’s ability to manage overall traffic flows and also direct each individual packet.
When packet flows arrive at a router, software programs buffer the traffic, queue it, and forward it on. Buffering entails temporary storage of packet label information to allow for analysis. Queuing involves assigning the packets to queues in preparation for transmission onward; when traffic comes in more quickly than it can be sent out, the queues maintain organization of the waiting packets.
What kind of intelligence do we want our routers to have?
Next, the router sends packets along their way. But which packets go first? It may already be obvious that a really intelligent router would be choosy. High-level, high-priced, or own-network packets could be placed in priority queues and sent on ahead of other packets. Enter net neutrality!
Equal treatment of Internet traffic equates to equal treatment of packets as they are queued. Net neutrality rules specify that queuing processes can be designed to optimize traffic flow, but they can’t prioritize packets for commercial gain.