Networking: October 2007 Archives


October 22, 2007

It's now been pretty widely reported that Comcast is blocking BitTorrent (as well as other apps such as Gnutella and allegedly Lotus Notes) traffic. (Good summary by Ars Technica here and here).

The technical issue here is pretty straightforward; Comcast seems to be forging TCP RST (Reset) segments from one side of the connection to the other, causing the receiving TCP implementation to terminate its side of the connection. The evidence here is that people have taken packet dumps on both sides of the connection and neither peer is generating the RSTs, so it's clearly someone in the middle, and the pattern of which subscribers are affected looks like it implicates Comcast. Note: I'm going purely by others reports. I have Comcast myself, but I haven't tested this.

More interesting is the pattern of what is being blocked. According to TorrentFreak, Comcast is only blocking people seeding files:

Unfortunately, these more aggressive throttling methods can't be circumvented by simply enabling encryption in your BitTorrent client. It is reported that Comcast is using an application from Sandvine to throttle BitTorrent traffic. Sandvine breaks every (seed) connection with new peers after a few seconds if it's not a Comcast user. This makes it virtually impossible to seed a file, especially in small swarms without any Comcast users. Some users report that they can still connect to a few peers, but most of the Comcast customers see a significant drop in their upload speed.

The throttling works like this: A few seconds after you connect to someone in the swarm the Sandvine application sends a peer reset message (RST flag) and the upload immediately stops. Most vulnerable are users in a relatively small swarm where you only have a couple of peers you can upload the file to. Only seeding seems to be prevented, most users are able to upload to others while the download is still going, but once the download is finished, the upload speed drops to 0. Some users also report a significant drop in their download speeds, but this seems to be less widespread. Worse on private trackers, likely that this is because of the smaller swarm size

Assuming this is correct, Comcast is targetting files which Comcast users are serving to non-Comcast users. This mostly doesn't degrade your perceived performance if you're a Comcast user downloading content, but if you're (1) a non-Comcast customer trying to download traffic from a Comcast customer or (2) actually trying to push something into the P2P network, then this is going to seriously impact your experience. Since most customers are probably in the downloader category, this is actually a pretty attractive way to reduce network traffic without overly annoying too many of your users. By contrast, if Comcast just blocked all BitTorrent, then everyone trying to download the next episode of Lost would be pretty unhappy and would most likely be pretty intolerable to a sizable enough percentage of customers that you couldn't just stonewall.


October 1, 2007

My Audi's builtin radio is fitted with an Radio Broadcast Data System (Radio Data System in Europe) receiver. In theory, the broadcasters can use this to tell you what you're listening to. In practice, not so much. First, support is spotty at best. Out of the 6 presets on my dial, no more than 3 actually tell you anything useful, like what song is playing. This is particularly baffling since I believe all of them actually do broadcast at least the call sign of the station, so broadcasting program-relevant information wouldn't seem to be much of a stretch. But no. Moreover, even the stations that do broadcast it don't em to do so consistently.

Second, the error rate is unbelievably high. Several times, I've been informed that I'm listening to PUBIC RADIO, which I'm pretty sure is only available on SIRIUS. I don't have a good explanation for this because RDS allegedly has error correction and given that the usable bit rate is supposed to be over 1 kbps, and your average song name is <<100 characters and the scrolling seems to happen about once ever 2-3 seconds, there's plenty of room for error correcting codes out the wazoo. And don't even get me started on the scrolling, which looks hideous.

Even once you get past transmission errors, RBDS still sucks. Today it inexplicably informed me that Tom Petty's Mary Jane's Last Dance was the Rolling Stones "Horses" (or rather the ROLLING STONES "HORSES"—I guess the extra bit per character for lower-case letters would have chewed up too much bandwidth), a song, which as far as I know doesn't exist. My guess here is that it was trying for Wild Horses (not to be confused with Wild Stallyns) and there was some transmission glitch, but I don't have any good explanation for how the radio station software got this confused.

Anyway, this seems like something that could be executed a lot more competently.