This AP story makes clear that Comcast is pretending to be part of online conversations in order to frustrate users who want to use particular online applications. This happens all the time in the name of “traffic shaping” — it’s the kind of thing that China does to interfere with internet use. What’s different and important about today’s story is that people have carefully experimented. We can now understand exactly what Comcast is doing.
When you go online and click a link, what you’re doing is sending packets (think individual pages taken from a long, handwritten letter) to a machine connected to the internet. What we call “the internet” is a very simple agreement: machines agree to chunk things into packets and label those packets with unique numbers (think return address and sender’s address). Then those packets travel the best available route to the machine they’re addressed to, and that machine reassembles them.
This agreement to chunk things into packets that self-describe their destination (at a unique global address) is known as TCP/IP. IP, or Internet Protocol, is the addressing scheme — the numbers.
IP doesn’t do anything about accuracy – it doesn’t provide any way to check that all the packets have gotten where they’re supposed to go or that they’re in the right order. That job (roughly speaking) is carried out by the TCP part of this — the Transmission Control Protocol. TCP receives a stream of information from an application (say, your web browser) and divides it into packets. It gives each packet a sequence number. TCP then hands packets to the Internet Protocol for delivery through the network. TCP also opens a “window” for the number of packets that will be sent out – you wouldn’t want to send a zillion packets without acknowledgement that they had been received.
The TCP module at the receiving end of the communication does this acknowledgement job, noting that a particular number of packets have been successfully received. All of this is done very politely, quickly, and electronically — the conversation between the home TCP and the remote TCP is established, an acknowledgement is received, the conversation begins, and sequences of packets are sent. If packets are lost along the way, they’re retransmitted. When an endpoint wants to stop, it lets the other endpoint know that it’s done.
Each header in a TCP-labeled packet (think front of an envelope) has a number of fields. One of these fields includes “flags” that are applied to the packet. One of these flags is called RST, for “reset the connection.”
The Comcast system (probably provided by Sandvine, according to the Times) was setting the RST flag for both sides of any communication that it believed (probably through traffic analysis) was using Bittorrent.
So when “you” the Comcast subscriber were clicking links that were part of a Bittorrent transaction, Comcast was slapping an RST flag on your packets. And any packets crossing the Comcast network that were coming from the “outside” but were part of this conversation were also having the RST flag slapped on them as they crossed into Comcast territory. Neither user had any idea this was happening. They could just tell that things were moving really slowly and then stopping, as both machines politely agreed to reset themselves – thus cutting the conversation off.
It’s as if as soon as you entered a room an enormous “Loser” tag was stuck on your forehead unbeknownst to you. Sure, you could continue to circulate, but no one would talk to you. Or, if that’s too awkward, try this: it’s as if someone else that sounded like you got on the phone as you were talking to your mother and said “We need to hang up right now.”
Like the Verizon/NARAL flap and the Pearl Jam escapade, here’s another story about currently-legal action, permitted under someone’s elaborately-walled Terms of Service, that interferes with basic communications. Comcast will say “we’re not blocking.” But they’re degrading, prioritizing, and filtering, without telling users. And they’re planning to do much more of this.
What’s the solution? Structural separation. You’re either a plain-vanilla transport company serving all comers, or you’re something else competing for our attention. But this mixture, this hybrid of apparent-communication plus editorial control, is unacceptable.