Bittorrent To Replace Standard Downloads?
Max Sayre writes "Have you ever tried to download an operating system update only to have it fail and have to start all over? What about patches for your favorite games? World of Warcraft already uses Bittorrent technology as a way to distribute large amounts of content at a lower cost to the company and faster speeds to all of their clients. So why haven't they replaced the standard downloading options built into any major OS? Companies like Opera are including the downloading of torrents in their products already and extensions have been written for Firefox to download torrents in-browser. Every day Bittorrent traffic is growing. Sites like OpenBittorrent already exist and DHT doesn't even require a tracker. So why isn't everyone doing it? Is it finally time to see all downloads replaced with Bittorrent?"
When torrent support comes equipped on all the major browsers, it can take off.
Until then it's a tool for nerds to get their porn faster.
Mod me down, my New Earth Global Warmingist friends!
Why aren't linux package managers using this instead of just leaching off of college servers and the like?
Once you start despising the jerks, you become one.
Combine this with social networking to allow/deny access to your files and I think you've got a game changer. Files which require no server, and which are unknown/unavailable to anyone who doesn't need to know about them. I could share my mp3 collection or movie collection with only my friends list, which would be much more along the lines of fair use (like tape trading).
Why? because for small files (as I expect most software updates would be), downloading directly is quicker and safer.
Ask me about repetitive DNA
Those of us stuck in New Zealand or Australia still have data caps to think about. If every download was a torrent there would be a lot more overhead eating into our precious data caps!
Please, think of the Kiwis.
Because Bittorrent has a reputation issue, for one. The MPAA and RIAA attack it and call it the reason they are losing money (instead of their failing business model).
Large companies don't want to have to deal with the previous hassle, and even though the load might not be much for individual computers, if everyone on a company network was bittorrenting, other traffic would be interrupted (even on 2MB DSL, bittorrent interferes with my connections to many popular IM services and I don't even run it full throttle during the day).
"There is a way that seems right to a man, but its end is the way of death." Proverbs 16:25 (NKJV)
No, it won't replace standard downloads, if nothing else because bittorrent is "best effort", and there's no guarantee that the client receives a file within a certain time frame. And for small and medium files, the overhead of BT severely slows down the access.
Yes, it's useful for large files. No, it's no 100% replacement.
And that's the beauty of internet in a nutshell -- there isn't one solution that fits all, but lots and lots of tools and standards that can be used and adjusted to the specific needs. So stop looking for The One And Only Way.
1) because I'm a leech.
2) because I don't want legal liability FOR DISTRIBUTING if I download a file that unknown to me is illegal, e.g. a software package from overseas that someone inserted illegal-in-my-country pornography into the binary. Yeah, I'll take the risk for possession but not for distribution.
3) because my employer's lawyer made me say #2 when it comes to company machines.
4) because I prefer to get my bits from the official location. Yea, I know a checksum should be good enough but I'm old school here.
Seriously though, I can see torrents overtaking web- and ftp- downloads as the primary method for distributing large, popular files. However, there will always be customers who refuse to share and who refuse to get data from any source that doesn't have a reputation for quality and isn't blessed by the original publisher.
Oh, and seriously, I'll be fine using torrents to download things like well-known linux distros. I trust modern checksums. I probably won't use them for low-demand files or smaller files though.
Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
That's the one real problem with BitTorrent. If nobody is seeding the file, nobody can download. If the servers that would be hosting the data were instead used as no-limit seeders, that might make BitTorrent a more viable system for "real" downloads.
Nah, 0 seeds, 3790 peers (all on 99.9%) ... DOUBLE FFFFFUUUUUU
"...that is able to fully saturate your connection."
Yeah, like this always happens. Not.
Scenario: 1st day of release of a new popular file.
Either the vendor prepares well and works with content-delivery networks so you and everyone else on the planet can download the file while saturating your network, or vendor doesn't.
If he doesn't, everyone gets throttled and/or some people are told to try again later.
A torrent option would help distribute the load and cut out the bottleneck.
Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
I recall really hoping that a new distributed file transfer protocol would become standard in browsers. For one thing, it could virtually eliminate large loads on smaller servers caused by flash crowds (more colloquially known as the slashdot effect).
What I had envisioned is that every webclient currently displaying a web page would effectively act as a seed for the content (including pictures, embedded videos, etc) that the browser has loaded from that page for as long as the user has that page open, radically reducing the load required by the webserver where the original data was hosted when a lot of people want to see the content at the same time.
Of course, it never happened.
File under 'M' for 'Manic ranting'
A start up I know of started out using peer to peer, but it was too much grief to get people to download a plug in, and then get it to set up port forwarding through their firewall, and at the price of CDNs these days, you are just not saving enough money for it to be worth while.
Now, when we get IPv6, and HTML5, perhaps it will be a different game (no NAT in IPv6, no need).
In the case of a game, you already have downloaded stuff, and can convince a fair chunk of your users to set it up.
Twitter uses it to push patches to their servers in 12 seconds instead of 10 min.
So it is part of the future.
Plato seems wrong to me today
In WoW I have to disable bittorrent if I actually want to download a patch. Otherwise it saturates my connection with upload data whilst only downloading at 1% of my max speed.
Blizzard use bittorrent simply because they're cheap. Instead of using their millions in profits to provide bandwidth, they make the players smash their quotas sending data to each other. I had to install a bandwidth limiter to get Wrath of the Lich King to install because otherwise the outrageous upload speeds stopped me actually downloading anything. You'd think $15 a month would be enough to pay for enough bandwidth to allow me to download the game I've just paid for, but no they have to chase every penny...
Most houses have more than one PC. It is stupid that they all separately download the patches from the source.
How about an option to share patch downloads across a local network.
Nominate one machine as a master then all the other machines check with the master for their patches.
The master is responsible for contacting the source.
Bittorrent is great for very large files, and popular files.
But for small files it's really, really bad. Many linux patches involve downloading hundreds of small files, not one big one. Most applications are so small that the setup and teardown time for bittorrent would dwarf the download time. Any download that takes less than 5 will likely have a smoother user experience if it is not done using bittorrent.
Even ignoring tiny files, there is the issue of bandwidth limited users, the significantly higher routing requirements of bittorrent (many home routers flake out when you get 50+ TCP connections going through them), users with heavily asymmetrical connections (5Mbit down/256kbit up), and the more complicated configuration required to get a good bittorrent connection.
In short, bittorrent is nice for its niche (large, popular files), but outside that niche it is often not the best solution. Wider deployment of bittorrent technology would probably help some places, but it's not a silver bullet for all Internet downloads.
"I will trust Google to 'do no evil' until the founders no longer run it." Hello Alphabet.
According to my understanding of BitTorrent, the client needs to be able to accept incoming connections as well as outgoing ones. See for example Brian's BitTorrent FAQ and Guide.
Also, we use a proxy server for outgoing requests from all of our teaching labs, and we have no trouble downloading stuff. The proxy server is perfectly capable of keeping up with our internet connection. It's not as though it has to do any hard work, all it does is relay data from an incoming TCP connection to an outgoing one.
Why has no one mentioned this?
Don't thank God, thank a doctor!
Say you've got a CD or DVD that's scratched, or an .iso you spent forever downloading via ftp and discovered to your dismay was corrupted. Assuming a bit-identical image is available online via .torrent, you can 'repair' your data without having to download the whole thing all over again:
Start your bittorrent app and begin downloading a new copy of the image you need. Immediately stop the download and exit your bittorrent app. An .iso file (incomplete, of course) will have been created in the destination folder.
Now rip your [damaged] disc to hard drive, creating an [obviously corrupted] .iso. Copy/paste that .iso into bittorrent's download folder, overwriting the existing .iso.
Fire-up bittorrent and begin your download once again. Bittorrent will analyze the corrupted .iso and immediately download the bits needed to repair (i.e. complete) it. In most cases this will only take a few seconds, even over dial-up, due to the insignificant amount of data usually needed (except, of course, in the event of a heavily scratched disc, which can also take a long time to rip in the first place; having a high-quality optical drive with good firmware and good optics certainly couldn't hurt).
No thanks. They did some research recently on how easy it is to track users in swarms. As soon as you're in the swarm you can know every other IP transfering those files (depending on tracker usage ofcourse). It's easy to compile a list of IP adresses and the content they downloaded over time.
I like my privacy and I have no intention to let people know what software I'm downloading.
And as stated before, it's a security risk too. This doesn't only apply to software updates, it applies to any software that is downloaded.
For example: there is an outdated version of some application still hosted on the tracker of download.com and I'm someone who knows of a vulnerability in it. I join into the swarm, collect all IP's and eventually just exploit them as I go.
Hell, I don't even have to scan entire ranges for this application port anymore!
If you become a seed for a popular file, you can peg your upload bandwidth. If your upload bandwidth is fairly small (Most users probably still have 1.5/384 or even 512/128 in the US), and you are trying to download something at the same time with TCP (HTTP, FTP, etc), the upload will clobber a lot of the ACKs that the download session is trying to send, and the download bandwidth will get clobbered as well.
You can work around this with QoS to some extent. Some cheap-ass DSL routers might now or soon even support a scheme where ACKs are prioritized over everything else.
Give a man a fish and you have fed him for today. Teach a man to fish, and he'll say "WHERE'S MY FISH, YOU IDIOT?"
Content delivery networks already solve a lot of the issues that bittorrent addresses - You can distribute large files without consuming a huge amount of backbone bandwidth, with a lot of regional servers.
It also helps with some other things:
1) Guaranteed level of reliable local service.
2) Customers don't know who each other are, a data privacy issue (Say, I notice someone at ip 4.5.6.7 is downloading this particular security patch)
3) Security (yes I know torrents are checksummed but it's not impossible to defeat).
But basically, it's all about a known level of quality for customers, which CDN's deliver and which are more of a case by case thing for torrents.
Also, some customers could be angry that companies are using bandwidth to send files to other people - I've been surprised that Blizzard gets away with that with as little complaint as they do.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
DHT doesn't even require a tracker
I thought DHT did require a centralized server, called a bootstrap node?
Why don't we have a generic TCP/IP transfer protocol which caches things at every hop it passed through?
That way, if a million people download a file, it gets uploaded once from the server to that server's ISP, stored once at that ISP, transferred once from that ISP to every other ISP that requests it, stored once at each of those, and then transferred once from each ISP to every LAN that requests it.
You know, the way Usenet used to work and still could if anyone bothered to resurrect it.
Seems like this would be the sensible, distributed, long-term solution to file distribution?
You are not a brain: http://books.google.com/books?id=2oV61CeDx-YC
Both FTP and HTTP can fetch at offsets other than 0 and ftp at least has been able to do that for well over two decades. I haven't had to start a download over in a long, long time.
-Matt
1) Direct download starts immediately and does not require others doing the same download to be more effective (all the contrary, in fact)
2) Direct Download does not require Mister I-Am-Not-A-Geek to fiddle with router or firewall configuration, opening ports and so on
3) Direct Download can go through your enterprise http proxy
Yeah, but the built in download manager for Firefox sucks. Yes, it *can* resume... if you paused the download first. Even when it's told the file size, if your connection dies in the middle (which my connection too often does), it thinks it's "done" (which is absurd, because wget reports an error code) and you can't resume from within Firefox any more. Oh! I got an RST packet, that must mean that the last 300 MB transferred instantly!
I gave up on that piece of crap and used an add-on to make Firefox use wget, which at least has the decency to know when files have *actually* been fully downloaded, rather than giving up and deciding it's good enough to hand me a useless half file and no error messages at all. Seriously, have the devs never tested large downloads on a link that dies? It's not even hard to test: you can emulate the connection dying by pulling the damn ethernet cable. It just ignores the error and continues blindly. Does it really think that the other server going silent is an indicator that the file has been fully downloaded, or what?
Torrent itself, probably not. There's nothing in P2P that's inherently evil.
But there are several ISPs out there already using DPI to specifically throttle/downgrade the service for certain protocols. Downloading through BitTorrent is a *slower* download for me than HTTP or FTP, even when connecting to a server that can't push more than 1mbit. I'd be seriously peeved if things like OS patches went BitTorrent, because I'd never be able to get them downloaded/installed the day they release.
One issue is that customers may not want to give away their bandwidth to the companies that they are paying for a service. Game patches are a good example...The player pays a monthly fee for access to the game. That fee should be paying for the bandwidth used to download patches. Why should the customer have to give their upstream bandwidth to other players trying to download the patch? The server load and cost issues for the game company are not his problem. I've encountered several "downloaders" that load themselves into Startup and will proceed to seed the game or patch that you just downloaded indefinitely, stealing your bandwidth. The only way to stop it is to kill the task and manually remove the program that's seeding the content. At the very least, seeding the completed download needs to be opt-in, not opt-out. That would break bittorrent distribution, of course, though, unless there were dedicated seeds. But the source company should be the primary seed, anyway.
Have you enabled ecryption. MSE (Message Stream Encryption) is standard on most torrent clients however most clients have it disabled by default. In uTorrent I enable MSE and reject all non encrypted packets & requests.
Using MSE ISP can no longer simply shape based on protocol. Bittorrent uses a random port which makes shaping based on port equally ineffective.
4) because I prefer to get my bits from the official location. Yea, I know a checksum should be good enough but I'm old school here.
Actually, from a strictly security-POV, a checksum and a distributed distribution model is better, because it makes man-in-the-middle attacks considerably more difficult.
Of course, only as long as you have a trustworthy channel to get the checksum through and actually bother to verify it.
Assorted stuff I do sometimes: Lemuria.org
When my HTTP or FTP transfers fail I just use 'wget -c' to continue them.. No need to switch to torrents.
Using MSE ISP can no longer simply shape based on protocol. Bittorrent uses a random port which makes shaping based on port equally ineffective.
Unfortunately, ISP's have other options for shaping. Bittorrent traffic is quite distinctive and is detectable to a fairly high degree of accuracy just by analyzing the traffic pattern. Encrypting the packets does not (and cannot) obscure the traffic pattern.
Bittorrent as its uses. It can help off load some of the traffic to your customers so you increase bandwidth without having to pay for it.
BUT there are some HUGE downsides:
A: You cannot rely on your customers to host your data, meaning you still have to supply a copy of the data AND serve it at expected speeds.
B: Customers might come when nobody else wants it, meaning you are STILL providing all the bandwidth. Customers will have little motivation to seed your content.
C: Many customers will not have the right setup to share data. Either firewall restrictions or ISP limitations.
D: You need to bake the bittorrent into your application (like WoW and other games do) or face endless questions by customers who are barely able to download in the first place.
E: Some content you don't want shared. How can you watermark content and tie it to a user if every user has the same file? Blizzard don't care who gets their patches since only legit users can play the game anyway and Linux torrents are of course free to start with.
F: for small files, bittorrent costs to much overhead. If I share a million MP3's the changes of finding anyone else with the same, willing and able to share it are tiny and the overhead will be more then the saved bandwidth.
So, this question is asked by a person who clearly hasn't understood the web, users, copyright or usability.
MMO Quests are like orgasms:
You may solo them, I prefer them in a group.
When A bit-torrent user gets Linux ISO's or Creative Commons movies or what not they are more willing to let the torrent seed because that is the price you are paying for the downloaded content.
So for any other paid content Why would the user give away their paid for bandwidth to some company which is already charging them money.
Now if we got a discount for our share ratio maybe that would be a game changer. For every 100% you upload you get 5-10% off the price of the content. I would sign up immediately.
I like that the example given was VERY well suited for an obviously legal operation (fixing a corrupted Linux ISO) and NOT well suited for grabbing a movie. It's a genuinely useful and neat trick.
Encryption doesn't do shit against DPI. The encryption is application-level... Level 7 in the OSI model. DPI can go up to level 7 to find out what a packet is for. It doesn't give a damn what the data is, it only cares what application the data is for. Even if it's encrypted, believe me when I tell you that DPI can figure out enough to know whether it should be throttled.
Besides, even if it couldn't figure out what application the data was for, using stunnel/ssl or such, why not simply set the DPI to throttle anything that's encrypted? Or set the download throttling to kick in if your upload exceeds 2kb/s? There's a myriad of ways the ISP can configure the DPI, and there's no way encryption can protect you from all of them. It's pure chance that your ISP hasn't taken a belligerent stance towards encryption at this time.