Direct Connect (protocol): Difference between revisions
No edit summary |
whoops |
||
Line 1: | Line 1: | ||
{{mergefrom|LinuxDC++}} |
|||
'''Direct connect''' is a [[peer-to-peer]] [[file sharing]] [[protocol (computing)|protocol]] . The most popular [[Microsoft Windows|Windows]] client implementing this protocol currently is [[DC++]]. Direct connect clients connect to a central [[node (networking)|hub]]. |
'''Direct connect''' is a [[peer-to-peer]] [[file sharing]] [[protocol (computing)|protocol]] . The most popular [[Microsoft Windows|Windows]] client implementing this protocol currently is [[DC++]]. Direct connect clients connect to a central [[node (networking)|hub]]. |
||
Revision as of 01:27, 6 September 2006
Direct connect is a peer-to-peer file sharing protocol . The most popular Windows client implementing this protocol currently is DC++. Direct connect clients connect to a central hub.
Hubs feature a list of clients or users connected to them. Users can search for files and download them from other clients, as well as chat with other users.
Hubs
Direct connect hubs are central servers to which clients connect, thus the networks are not as de-centralised as Gnutella or FastTrack. Hubs provide information about the clients, as well as file searching and chat capabilities. File transfers are done directly between clients, in true peer-to-peer fashion.
Hubs often have special areas of interest. Many have requirements on the total size of the files that their members share (share size), and restrictions on the content and quality of shares. Hubs can allow users to register and provide user authentication. Some private reghubs only let in users already registered.
Direct connect hubs have difficulty scaling, due to the broadcast-centricity of the protocol.
Due to the centralized nature of Direct Connect, some doubt that the protocol belongs to the P2P family.
Client software
NeoModus Direct connect
NeoModus Direct Connect (abbreviated to NMDC) was the original Direct connect client. It was written by Jonathan Hess at the company NeoModus. It was written in Visual Basic and released in November 1999.
It has become less popular in favour of newer clients (particularly DC++). Some alternatives offer extra features, run on different platforms, or are considered to have fewer bugs than the original. Many hubs have mandated the use of DC++ and its derivatives. [citation needed] The 2.0 version of the official client acknowledged this by adding support for many DC++ features. [citation needed]
DC++
DC++ is an open source alternative to NMDC written in C++.
Protocol
The Direct connect protocol suffers from high bandwidth usage, unusual requirements for parsing, lacklustre internationalization support, and parts that seem to have been crafted to overcome network handling bugs in older versions of Microsoft Visual Basic (which NMDC was developed in). The protocol does not try to hide the identities of the peers, nor is it very optimized for swarm-downloading such as BitTorrent since it lacks partial file-sharing and (in many clients) segmented or multisource downloading.
Continued interest exists in features such as ratings and language packs. However, the authors of DC++ have been actively working on a complete replacement of the Direct connect protocol called ADC, designed to address the former's weaknesses.
One example of an added feature is Tiger-Tree Hashing of shared files (TTH). The advantages of this include verifying that a file is downloaded correctly, and the ability to find files independent of their names.
History
NeoModus was started by Jonathan Hess as a company funded by the adware "Direct Connect" while he was in college. The first third-party client was called "DClite", which never fully supported the filesharing aspects of the protocol. Jonathan Hess relatively soon after introduced a new version of Direct Connect requiring a simple encryption key to initiate a connection, in hopes that he would lock out third-party clients. Someone cracked the key and the author of DClite managed to convince him to share its secret, resulting in a new version of DClite compatible with the new software from NeoModus. Some time after, DClite was rewritten as Open Direct Connect with goals of having a MDI user interface and using plugins for filesharing protocols (similar to MLDonkey). Open Direct Connect also did not complete support for the full filesharing aspects of the protocol, but a port to Java did. Some time later, other clients such as DCTC (Direct Connect Text Client) and DC++ started popping up, eventually conquering NeoModus's user base.
Dates
- 2001-02-11: MKBO Hub #1 (first of many anime hubs) announced
- 2001-09-28: Open Direct Connect project started
- 2001-10-16: JavaDC releases version 0.50
- 2001-11-29: DC++ "is currently starting to work as expected" (Jacek Sieka on JavaDC mailing list)
External links
- http://www.dslreports.com/faq/dc Direct Connect FAQ
- http://www.dchub.pl/ Direct Connect Centrum (Polish)
- Russian DC++ Community
- http://www.nexgenis.com/ A DC hub hosting provider that uses Verlihub
- http://www.hublist.org Hub Search Engine
Clients
Windows
DC++ based
- ApexDC++ mod with super seeding, peerguardian plugin
- CZDC one of oldest DC++ mods
- fulDC popular DC++ mod
- SababaDC Hebrew and English mod, multisource download, Kademlia, preview
- StrongDC++ another DC++ mod
- BCDC++ yet another DC++ client
- Revconnect Multisource downloading and Kademlia support DC++ mod
More can be found on: Broadband Reports DC++ FAQ
Linux/Unix
- Linux DC++ Linux port of DC++
- ldcc command-line client
- microdc command-line client
- GtkDC A graphical client for Linux using GTK+ widgets.
- Dolda Connect A client with replaceable user interfaces.
- DC# A graphical client based on Mono and GTK#
Mac OS X
- ShakesPeer open source; DC++ compatible
Multi platform
- Valknut formerly known as dcgui-qt, for Linux, Windows and Mac OS X
- Elise A platform independent ADC client.
Hub software
Hubs can be set up by any user that has the hardware and connection to handle it.
- Aquila for Linux
- DCH++ for Linux
- DConnect Daemon for Linux / *BSD / Solaris / Cygwin generally UNIX-Like
- DB Hub for Linux, based on OpenDCHub but much more developed and very active
- PtokaX
- Py-DCHub for Win32 and Linux
- ShastaHub Multiplatform-Java Win32, Linux and Mac OS X
- xHub for Win32 and Linux
- Verlihub for Win32 and Linux
- YnHub for Win32