Boycotting Comcast

This post started as a draft, sitting among 33 other drafts for a couple of months collecting dust in my WordPress dashboard (yes, I'm one of those type of bloggers). The original title of the post was "Sorry Speakeasy" and my intention was to finish writing the post after I canceled my Speakeasy Internet service at my house in Lowell and switched to Comcast. I was going to write about how awesome Comcast was because of their price, insane download speeds, and simplicity (generally no need to worry about old phone wires or paying for a separate land-line phone line, etc). I was going to write about how you can get basic cable TV plus high-speed Internet for less than the price of a single DSL line.

Well screw Comcast. Everything is different now. The title of this post has gone from "Sorry Speakeasy" to "Boycotting Comcast", and not without good reason. A few months ago I read in the news that Comcast was throttling BitTorrent traffic. Being someone who occasionally uses BitTorrent for legitimate reasons, I decided to run a few tests of my own. Sure enough, my entire cable connection crapped out for 20 minutes after downloading something over BitTorrent, sometimes to the point where a 56k dial-up connection would have been more responsive. A few weeks later I read an article about how Comcast was not only limiting BitTorrent traffic, but that it was using the same techniques communist China uses to monitor and control the Internet traffic for its 1.3 billion citizens. This was unacceptable, and from a legal standpoint, I believe entirely against the law (read HiThere's Slashdot comment here).

Speakeasy DSL has been nothing but good to me. They have awesome, educated technical service (much like LiquidWeb's technical service), and their prices are fairly decent. I had a Speakeasy OneLink DSL line at my house in Lowell, along with the $35 VOIP service, which is assigned my old cell number (the one I give out to everyone). I have it setup to forward all calls to my real cell number, so everyone can still reach me. If I ever want to stop receiving calls at that number and start using a new number, I can do it within a matter of minutes. After this ordeal with Comcast, I decided to transfer my OneLink DSL and VOIP service to my apartment in Cambridge. Sure enough, I was able to keep my 978 area code VOIP number, even though the service was in a 617 location.

I'm paying $56 a month for a 1.5/384 Speakeasy OneLink DSL line (which doesn't require a separate land-line!). I ran speed tests using both Speakeasy's speed test and SpeedTest.net and received identical results. Sure, its not nearly as fast as Comcast, but it is a consistent, never-fluctuating-just-because-I'm-using-some-suspicious-protocol speed:

Download Speed: 1312 kbps (164 KB/sec transfer rate)
Upload Speed: 326 kbps (40.8 KB/sec transfer rate)

Any time of the day (or night), regardless of how much of the bandwidth I've been using, that speed never changes. I've downloaded over 50GB of data over BitTorrent since the Speakeasy DSL line was installed and I haven't experienced any slowdowns at all. If I'm paying money for my Internet service, thats how it should be.

I'm officially boycotting Comcast, and since I don't watch TV, it's an easy thing for me to do.

Comcast is forging your data!

So apparently, not only is Comcast throttling BitTorrent traffic (as I proved with a little experiment a few weeks back), but they are forging your traffic to do it! They actually modify your individual TCP packets as they travel between your computer and their intended destination. This is the same technique China uses for the Great Firewall of China to prevent citizens from accessing certain material on the Internet deemed "sensitive".

As Slashdot seems to always have the most informative and well educated commenter's, I will post what HiThere wrote with regards to the legal implications this may have for Comcast:

If the ISPs filter based on torrent source, then they cease to be common carriers, and lose common carrier protection. Then they immediately become liable for every case of copyright infringement that they are accessory to.

I don't think they'd like that choice.

If they are common carriers, then they are supposed to be indifferent to WHAT they are carrying, like the mail or the phones. If an extortion threat is transmitted by mail, you can't sue the post office. Not just because it's acting as an agent of the govt, but because it's a common carrier. (UPS is just as protected.) They aren't supposed to know or care what they're carrying. If they did, and demonstrated the capability of filtering it by filtering some of it, then they would lose their common carrier status, and become liable as accessories to extortion, e.g.

OTOH, I don't want them pretending to be me. Not at all. That should be grounds for a suit. It should also be grounds for criminal prosecution not only of those who implemented it, but of all of their supervisors, managers, etc. also. Including the boards of directors. It shouldn't have a particular onerous penalty...say 10 days for each separate offense. Cumulative. I'll be generous, and say 1 day per instance. I.e., 1 day per false packet.

Seriously, if you have a choice, please consider switching to another ISP!

Update: Since I'm going to continue following news related to this topic, I will post relevant news articles I come across below.

Comcast is also Jamming Gnutella (and Lotus Notes?)

Forged reset packets are normally the kind of thing that would only be present if a hacker was attacking your computer, but in this case, it's the ISP you pay money to each month that is sending them.

Comcast filtering Lotus Notes (Update)

I finally have an end-to-end trace to share which shows that Comcast is filtering the port 1352 traffic. The images below show that Comcast is impersonating and using man-in-the-middle tactics to filter the traffic as stated in the CNet post.

Not only is Comcast filtering P2P traffic, it's also toying with other traffic! What a surprise!

Comcast Cheating On Bandwidth Testing?

Upon further investigation, it appears that Comcast is delivering this bandwidth only for a few seconds after any new request and it is immediately throttled down. Doing a download and upload test using a significantly large file (100+ MB) yields results more in line with everyday usage experience, usually about 1.2 Mbps down and about 250 Kbps up (but it varies).

The comments on this Slashdot article are really great. Lots of people offer explanations as to what Comcast is doing.

Comcast gets US FCC notice on Web traffic blocking

Comcast, the largest U.S. cable television operator and the second largest high speed Internet provider with more than 11 million subscribers, has repeatedly refuted allegations it blocks certain Internet traffic or applications.

The company said it used bandwidth technology on its network that can slow the delivery of files, but it would not block them outright.

BitTorrent Plugin Detects ISPs Raping Your Torrents

A plugin for Azureus allows you to voluntarily submit reports of possible sabotage by your ISP.

Comcast Makes Nice with BitTorrent

BitTorrent, Inc. maybe. The BitTorrent protocol? I doubt it.

Visual proof Comcast throttles my cable connection!

I saw an article on Digg today about how Comcast is denying rumors that they are throttling BitTorrent traffic. I have my own proof that they are! In the following experiment I used Speakeasy's Speed Test for the speed results.

I've measured my connection speed several times over the past few weeks, so I have a pretty good idea what kind of speeds I should be getting when my connection is idle. Usually I get around 18000 kbps down and 1600 kbps up. For the sake of this experiment, I'll run the test once before I try downloading a torrent:

Speakeasy Speed Test 3

Speakeasy Speed Test 4

OK, the results look normal (fast for $55 a month!). I then browsed to my favorite torrent site, mininova.org, and downloaded a totally legal 50mb torrent using the open-source BitTorrent client Azureus (v2.5.0.4). The download took about 4 minutes.

Downloading a Torrent

After the download finished, I exited Azureus to make sure nothing was seeding, waited 5 minutes, and than ran Speakeasy's Speed Test again:

Speakeasy Speed Test 1

Speakeasy Speed Test 2

Wow, why so slow?! My first thought was that maybe there were a lot of people in my neighborhood downloading stuff through their Comcast connection, but then I remembered that was 2001. Comcast has upgraded their network since then, so I should be getting blazing speeds! Besides, it was only 10 minutes ago that I was getting 4x the download speed and over 25x the upload speed!

I waited another 20 minutes and tried the speed test again. This time the results came back normal (same speed as the first test). To confirm this wasn't just a coincidence, I repeated this experiment half a dozen times. Every single time, my connection speed slowed down considerably after about 4 - 5 minutes of downloading a torrent and returned to normal within 20 - 25 minutes of no BitTorrent traffic.

If Comcast thinks they can get away with throttling BitTorrent traffic, then it won't be long before they start throttling other traffic and even charging extra for it. How many YouTube video's have you watched? Oh, thats an additional $6 on your bill this month.

Comcast/Level3 hit by minor DOS attack?

When I came home from the gym last night, I tried accessing Google, however it timed out. After suspecting my PC, and then my router, and finally my cable modem, I discovered the problem was much further away. A quick traceroute showed where the problem was:

raam@pluto:~$ traceroute google.com
traceroute: Warning: google.com has multiple addresses; using 64.233.167.99
traceroute to google.com (64.233.167.99), 30 hops max, 38 byte packets
1 192.168.2.200 (192.168.2.200) 1.816 ms 1.711 ms 1.718 ms
2 73.161.232.1 (73.161.232.1) 7.747 ms 7.374 ms 12.562 ms
3 ge-1-38-ur01.cambridge.ma.boston.comcast.net (68.87.151.137) 7.865 ms 8.434 ms 7.420 ms
4 te-8-1-ur02.cambridge.ma.boston.comcast.net (68.87.144.70) 8.473 ms 7.992 ms 7.890 ms
5 te-9-2-ur01.malden.ma.boston.comcast.net (68.87.144.73) 8.014 ms 18.855 ms 9.047 ms
6 te-8-1-ur02.malden.ma.boston.comcast.net (68.87.144.177) 8.101 ms 9.937 ms 8.489 ms
7 te-8-4-ar01.woburn.ma.boston.comcast.net (68.87.144.173) 8.477 ms 10.514 ms 8.416 ms
8 PO-10-ar01.foxboro.ma.boston.comcast.net (68.87.146.50) 9.407 ms 9.656 ms 10.243 ms
9 po-11-ar01.berlin.ct.hartford.comcast.net (68.87.146.33) 16.007 ms 12.353 ms 12.006 ms
10 po-10-ar01.chartford.ct.hartford.comcast.net (68.87.146.29) 13.468 ms 13.450 ms 13.957 ms
11 * * *
12 te-3-1.car1.NewYork1.Level3.net (4.71.172.109) 302.002 ms 301.466 ms 302.540 ms
13 ae-31-55.ebr1.NewYork1.Level3.net (4.68.97.158) 354.448 ms * ae-32-52.ebr2.NewYork1.Level3.net (4.68.97.62) 371.114 ms
14 ae-2.ebr1.Chicago1.Level3.net (4.69.132.65) 334.429 ms ae-1-100.ebr2.NewYork1.Level3.net (4.69.132.26) 376.366 ms ae-2.ebr1.Chicago1.Level3.n et (4.69.132.65) 325.988 ms
15 * * ae-11-55.car1.Chicago1.Level3.net (4.68.101.130) 326.044 ms
16 ae-11-51.car1.Chicago1.Level3.net (4.68.101.2) 323.914 ms GOOGLE-INC.car1.Chicago1.Level3.net (4.79.208.18) 322.442 ms 325.340 ms
17 66.249.94.133 (66.249.94.133) 325.499 ms 72.14.232.53 (72.14.232.53) 324.420 ms *
18 72.14.232.70 (72.14.232.70) 326.975 ms * 331.300 ms
19 64.233.175.26 (64.233.175.26) 321.481 ms py-in-f99.google.com (64.233.167.99) 320.482 ms *

As you can see from the bold line, the NewYork1.Level3.net server took a full 302.002 ms to go round trip. I tried to traceroute Google from other sites (online traceroute utilities) and they got through without any problem -- but that was because their route through the Internet didn't take them through those specific Level3 servers.

After 20 minutes or so, the problem seemed to clear up and a new traceroute showed a much more healthy response from te-3-2.car1.NewYork1.Level3.net: 11 te-3-2.car1.NewYork1.Level3.net (4.71.172.113) 14.475 ms 14.944 ms 15.518 ms

Comcast Cable Internet

Well, I take back anything bad I've ever said about Cable Internet. I've always been a DSL fan, ever since my bad experience with Comcast Cable Internet a few years ago -- it became slower than a 56k modem during peak neighborhood use. In my new Cambridge apartment, I did not want to wait around for three weeks while the phone company configures a new line, provisions it for DSL, and then has the DSL modem shipped to me -- so I decided to go with Comcast Cable Internet. Comcast sent someone out the following day and everything was hooked up and ready to go. It's $55 for Cable Internet + Basic Cable TV.

So after a few days of screwing around with a spare Netgear router, I concluded it was defective and bought a new Linksys WRT54G router from Microcenter. It worked like a charm right out of the box. The first thing I did was visit Speakeasy's speed test:

Download Speed: 12312 kbps (1539 KB/sec transfer rate)
Upload Speed: 360 kbps (45 KB/sec transfer rate)

Holy Crap. The Upload speed may not be impressive, but the Download speed blows me away. I'm paying $55 a month for just DSL with Speakeasy in Lowell and I only get about 700 KB/sec. Of course the really nice thing about the DSL is that they give me a static IP address, which is really useful for me because I connect to my home computers all the time. Still, the Cable companies have really improved their network over the past few years.