NNSquad - Network Neutrality Squad

NNSquad Home Page

NNSquad Mailing List Information

 


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ NNSquad ] Re: Comments on NNSquad Purpose


Brett Glass wrote:

>> I think you should take a closer look at how Bit Torrent really works.
> 
> I've had to. It's necessary, if one wants to stop its abusive behavior.

I'd say your look hasn't been nearly close enough.

> First of all, it's obvious that trying to grab lots of tiny pieces of a file
> from many sources -- negotiating connections with them, etc. -- absolutely
> must have more overhead than downloading it from one place. Therefore,
> BitTorrent simply CANNOT be more efficient than a simple FTP or HTTP
> download. There's just no way it can be.

No, that's not obvious at all, because it's false. The "tiny pieces" that Bit
Torrent exchanges are typically 256 KB or 512 KB. The overhead to establish a
connection and determine which pieces to exchange is negligible compared to the
actual data transfer.

If you have a problem with the overhead of "grabbing tiny pieces from many
sources", I suggest you fire up Wireshark and take a close look at www.cnn.com.
I just did. I see 48 TCP SYNs and **146** HTTP GETs! And that's just the main
page! (I'll leave it to you to compute the overall protocol overhead.)

Furthermore, many of those HTTP objects consist solely of advertising. Some of
them are even empty (web bugs). These people are making money by wasting,
leeching and abusing YOUR bandwidth. How rude!

> What's more, BitTorrent does insist that you upload as much as you download.

Actually, the protocol has no way to enforce that. People can and do grab a file
and disappear. On other occasions I will start a torrent and discover 100 idle
seeds and no other peers. (This most often happens with a popular open source
package such as NeoOffice several days after its release.) In this case I can
get a copy and go away without sending anything at all. It's just as if I had
grabbed the file from a FTP server except that the work was split across several
servers. Think of it as automatic mirroring, a very desirable feature.

Due to the lack of IP multicasting, every data packet that someone receives
currently has to be transmitted by someone else. The only difference between Bit
Torrent and FTP or HTTP is that the sending is distributed rather than placed
entirely on the sender. The total work is the same.

The ISPs could alleviate this problem by deploying IP multicast. Then a single
transmitted packet could go to an arbitrary number of receivers. This could
avoid considerable load on DSL and cable modem upstream links.

> Hence, the impact on your ISP (and on your own connection) of your attempting
> to fetch a file is doubled.

Nope, it's exactly the same. The only difference is that instead of the
originator having to send N copies of each block to N receivers, it sends 1 copy
and the N receivers send one copy each (on average) to each of the N-1 other
receivers. The total number of transmitted copies, summed across all of the
participating nodes (the originating node plus the receiving node) is exactly
the same!

Remember, without IP multicasting, packets are conserved.

> A BitTorrent download may be FASTER than an FTP or HTTP download, but that's
> because (as you say yourself) BitTorrent steals bandwidth from other users'
> ISPs so as to send you the file faster than a single source might. And I say
> "might," because there's absolutely no way that BitTorrent could EVER be
> faster or more efficient than a hit on an HTTP or FTP cache at your ISP.

Nope, it doesn't "steal" anything. The effect on all the ISPs is exactly the
same as if user A transmitted the file to user B, who then transmits the file to
user C, who then transmits it to D, and so on. Bit Torrent simply conducts this
daisy-chained transmission automatically and in parallel. Actually, the file is
divided into pieces typically 256 or 512 KB in size, and then these pieces are
relayed sequentially just as in the second sentence above.

> No, it's not. The "seed" should be paying its ISP for the bandwidth it's
> needing -- not stealing that bandwidth from other ISPs. If it's a legitimate
> content provider, it will be making money from the content and should be
> willing to pay for the resources it consumes to make that money.

How is it "stealing" bandwidth from other ISPs? If user A sends a file to user
B, and then user B decides to send the file to user C, is user A somehow
"stealing" bandwidth from user B's ISP? That's patently ridiculous, but that's
what you're saying.

Much content can be legitimately transmitted for free, so the senders do not
make money. This includes open source software and live recordings of "jam
bands" who have given permission. In fact, most jam bands specifically prohibit
any exchange of money as part of the transfer.

> It sounds as if you are attempting to muddy the waters by using a burglary
> tool in a situation where it is not necessary -- just so that you can attempt
> to claim that the burglary tool isn't always a burglary tool.

Actually, you are the one attempting to muddy the waters. I described a
perfectly reasonable and completely legitimate application of the Bit Torrent
protocol. Yet you insist on calling it a "burglary tool", which it would not be
even if it were horribly inefficient -- which it is not. Please do not confuse
the tool with (some of) its uses, especially when the tool has many perfectly
legitimate uses.

> We actually have a very good cooperative relationship with our users. Only
> the ones who insist on violating our terms of service are troublesome.

Sort of by definition, I guess.

> This is akin to saying that no one should open a restaurant if one does not
> want customers to attempt to invade the kitchen and eat all the food. The
> right answer, of course, is to eject any customer who tries that and serve
> the well mannered customers.

No, a better analogy would be a restaurant who is happy to accept your money as
long as you aren't so impudent as to actually expect to be served the food
described on the menu. After all, that would seriously cut into your profits and
take away from the food available to others. You have to pay rent, cover your
electric bills, make your payroll, etc.

> And when they pay me, they agree to a particular level of service and to
> terms of service. Those things are set so that I can eke out a small return
> for my efforts. If they want more than I have agreed to give them, they must
> buy more. They must not just try to take it.

I have no problem with you making a reasonable rate of return for your efforts
and capital expenditures. I *do* have a problem that you have apparently
constructed your network in such a way that your users become "thieves" when
they cross over some invisible line that only you can define.

Is your network so unstable and poorly designed that it is possible for me to
"take" or "steal" something from you by merely transmitting an ordinary packet
into a modem? If you do not wish to transmit my packet, then don't accept it.
Just don't call me a thief for trying to send it, okay?

> No, it's not. And, again, I'm not making assumptions. I see all the hits on
> the "Pirate Bay" Web site (the most popular BitTorrent site on the Internet),
> where everything is blatantly and admittedly pirated.

You *are* making assumptions when you tell me that I should not be allowed to
use Bit Torrent because other people use it for piracy. Quite frankly, I find
that offensive. It's the kind of thing that motivates me (and probably many
other users) to obfuscate port numbers and encrypt protocol headers. If, on the
other hand, you were to politely ask me to mark my bulk traffic as low priority
so that you could drop it if necessary to give your other users (and my own high
priority traffic) a better level of service, I would be happy to cooperate.

> They don't need to tell me. They can just allocate the bandwidth I give them.
> However, I will also allocate the bandwidth I buy so as to maximize the
> performance of my network. That's my right.

You seem to be implying that you dedicate a certain amount of bandwidth to each
user. I assume that is not what you meant, as packet switching with statistical
multiplexing is a much more efficient use of resources when the sources are
bursty (and they are, even when many users run Bit Torrent much of the time).

In that case, you need mechanisms not only for users to indicate the priorities
of their data streams relative to each other, but also with respect to other
users. It is my thesis that this can be done even when some of the users try to
game the system. The QoS mechanisms can be set up to penalize such users (by
giving bad service to their high priority traffic) and to ensure that your other
users still get some minimum defined grade of service.

> It has arisen specifically because people on this list, and elsewhere, want
> to abuse and exploit my network and intentionally cost me more than they pay
> me. What's more, they are lobbying to REGULATE my business so that I MUST
> allow these things. Again, we must say no to Internet regulation.

My own inclination is to rely on competition as much as possible and to avoid
regulation whenever possible. Unfortunately, meaningful competition is not
always possible or practical, and this is frequently true in local broadband
transmission. In those situations some regulation is preferable to allowing
monopoly abuse. I do not know the market in which you operate so I have no idea
if your business should be subjected to regulation or not. If your customers
have truly meaningful alternatives if they don't like your policies, then that's
good enough for me.