Citizendia
Your Ad Here

Direct connect is a peer-to-peer file-sharing protocol. For other uses of the term see Peer-to-peer (disambiguation For peer-to-peer networks used for file sharing see File sharing See Shared resource for the conventional meaning of file sharing File sharing refers to the providing and receiving of digital files over a In computing, a protocol is a convention or standard that controls or enables the connection Communication, and Data transfer between two computing Direct connect clients connect to a central hub and can download files directly from one user to another. A node ( Latin nodus, ‘knot’ is a critical element of any Computer network.

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. A computer file is a block of Arbitrary Information, or resource for storing information which is available to a Computer program and is usually To download is to receive data from a remote or central system such as a Webserver, FTP server, mail server or other similar systems The term chat room, or chatroom, is primarily used by Mass media to describe any form of Synchronous conferencing, occasionally even Asynchronous conferencing

Contents

History

NeoModus was started by Jonathan Hess in November, 1999 as a company funded by the adware "Direct Connect" while he was in high school [1]. Events in November All Saints' Day (formerly All Hallows Day a Christian holy day is celebrated on November 1, the day after Halloween Year 1999 ( MCMXCIX) was a Common year starting on Friday (link will display full 1999 Gregorian calendar) The first third-party client was called "DClite", which never fully supported the file sharing aspects of the protocol. A new version of Direct Connect was introduced, requiring a simple encryption key to initiate a connection, in hopes that he would lock out third-party clients. The key was cracked, and the author of DClite released 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 an MDI user interface and using plug-ins for file sharing protocols (similar to MLDonkey). Open Direct Connect also did not complete support for the full file sharing 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.

Protocol

The Direct connect protocol is a text-based protocol, where commands and their information is sent in clear text, without encryption. As clients connect to a central source of distribution (the hub) of information, the hub is required to have a substantial amount of upload bandwidth available. [2]

There is no official specification of the protocol. This means that every client and hub besides the original Neo-modus client and hub have been forced to reverse engineer the information. Reverse engineering (RE is the process of discovering the technological principles of a device object or system through analysis of its structure function and operation As such, any protocol specification this article may reference is likely either inaccurate and/or incomplete.

The client-server (as well in client-client, where one act as "server") aspect of the protocol stipulates that the server speak first when a connection has been made. For example, when a client connect to a hub's socket, the hub is first to talk to the client. An Internet socket (or commonly a network socket or socket) is an end-point of a bidirectional process-to-process communication flow across an IP

The protocol does not require a character encoding or font for clients or hubs. A character encoding consists of a code that pairs a sequence of characters from a given character set (sometimes incorrectly referred to as Code page In typography a font (also fount) is traditionally defined as a complete character set of a single size and style of a particular Typeface.

Port 411 is the default port for hubs, and 412 for client-to-client connections. If any of these ports are already in use, the next port is used. For example, if 411, 412 and 413 is in use, then port 414 will be used.

Hub addresses are in the following form: dchub://example. com[:411], where 411 is an optional port.

There is no global identification scheme; users are identified with their nick-name on a hub-to-hub basis.

An incoming request for a client-client connection cannot be linked with an actual connection. [3]

A search result cannot be linked with a particular search. [4]

Supported by the protocol is the ability to kick or move (redirect) a user to another hub. There is no restriction where a user might be redirected to. If a user is kicked, the hub isn't required to tell the specific reason as to why the user was kicked. However, if another client in power instructs the hub to kick, that client may send out a notification message before doing so. Redirecting a user must be accompanying with a reason. There is no HTML referrer equivalent. The referer, or HTTP referer, identifies from the point of view of an Internet Webpage or resource the address of the webpage (commonly the URL

Hubs may send out user commands to clients. These commands are only raw protocol commands, and is mostly for making a particular task simpler. For example, the hub cannot send a user command that will trigger the default browser to visit a website. It can however add the command "+rules" (where '+' indicate to the hub that it's a command - this may vary) to display the hub's rules.

The peer-to-peer part of the protocol is based around a concept of "slots" (similar to number of open positions for a job). These slots denote the number of people that are allowed to download from a user at any one time. These slots are controlled by the client.

In client to client connections, the parties negotiate a random number to see who should be allowed to download first. The client with the highest number wins.

Downloads are transported using TCP. The Transmission Control Protocol (TCP is one of the core protocols of the Internet Protocol Suite. Active searches use UDP. User Datagram Protocol ( UDP) is one of the core protocols of the Internet Protocol Suite. The connection to the hub is with TCP.

There are two kinds of modes a user can be in, either "active" or "passive" mode. Clients using active mode can download from anyone else on the network. Clients using passive mode users can only download from active users. In NeoModus Direct Connect, passive mode users receive other passive mode users' search results, while the user will not be able to download anything. NeoModus Direct Connect is a file-sharing client for Windows and Mac users that provides file-sharing capabilities for any type of file within a hub-centric In DC++, users will not receive those search results. DC++ is a free and open-source, Peer-to-peer file-sharing client that can be used to connect to the Direct Connect network In NeoModus Direct Connect, all users will be sent at most five search results per query. If a user has searched, DC++ will respond with ten search results when the user is in active mode, or five, when the user is in passive mode. Passive clients will be sent search results through the hub, while active clients will receive the results directly.


Protocol delimiters are '$', '|' and ' ' (space). A delimiter is a sequence of one or more characters used to specify the boundary between separate independent regions in Plain text or other data stream There is no escape sequence, so these characters can't be sent without possibly compromising the integrity of the message. This article refers to codes used as commands for computing devices However, a workaround was devised in DC++: send the HTML equivalent if these characters are to be viewed by the user. HTML, an initialism of HyperText Markup Language, is the predominant Markup language for Web pages It provides a means to describe the structure

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 Advanced Direct Connect. Advanced Direct Connect (ADC is a peer-to-peer file-sharing protocol based on the topology of the Direct Connect (DC protocol

One example of an added feature to the protocol, in compared to the original protocol, is the broadcasting of Tiger-Tree Hashing of shared files (TTH). In Cryptography and Computer science Hash trees or Merkle trees are a type of Data structure which contains a tree of summary The advantages of this include verifying that a file is downloaded correctly, and the ability to find files independent of their names.

Hubs

Direct connect hubs are central servers to which clients connect, thus the networks are not as de-centralised as Gnutella or FastTrack. A server is a Computer dedicated to providing one or more services over a computer network typically through a request-response routine Gnutella (nʊˈtɛlə with a silent g, or alternatively /gnʊˈtɛlə/ is a File sharing network FastTrack is a Peer-to-peer (P2P protocol, used by the Kazaa (and variants Grokster and IMesh) File sharing programs 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. File transfer is a generic term for the act of transmitting files over a Computer network or the Internet. For other uses of the term see Peer-to-peer (disambiguation For peer-to-peer networks used for file sharing see File sharing

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. A hub can have any arbitrary rule. Hubs can allow users to register and provide user authentication. Authentication (from Greek αυθεντικός real or genuine from authentes author is the act of establishing or confirming something (or someone as It should be noted that the authentication is also in clear text. The hub may choose certain individiuals as operators (similar to IRC operators) to enforce said rules if the hub itself cannot. An IRC channel operator (commonly shortened to op) is a user that moderates an IRC channel on a given IRC network

While not directly supported by the protocol, hub linking software exist. The software allow multiple hubs to be connected, allowing users to share and chat with people on the other linked hubs.

Direct connect hubs have difficulty scaling, due to the broadcast-centricity of the protocol. In Telecommunications and Software engineering, scalability is a desirable property of a system a network or a process which indicates its ability to either

Hub software

Direct Connect Hub link

DC-hublink is open source software that links hub chat. It supports the NMDC-protocol, ADC-protocol (version 1. 1. 0 and up), as well as the IRC-protocol (version 1. 2. 0 and up)

Hexhub

HeXHub is an IOCP-based hub, written in Assembly, for Windows. See the terminology section below for information regarding inconsistent use of the terms assembly and assembler Microsoft Windows is a series of Software Operating systems and Graphical user interfaces produced by Microsoft.

Open Direct Connect Hub

Open Direct Connect Hub is open source hub software for Unix/Linux.

PtokaX

PtokaX is hub software for Linux/ *BSD/Windows.

VerliHub

Verlihub is an open source hub server that runs on Linux/Windows/Solaris/Mac OS X.

YnHub

YnHub (Yoshi and Nev Hub) is hub software for Windows. Microsoft Windows is a series of Software Operating systems and Graphical user interfaces produced by Microsoft. It is the successor to YHub (Yoshi Hub).

DConnect Daemon

DCD open source software that runs on Linux/ *BSD/ Solaris/ Mac OS X/ Windows(cygwin)

DSHub

DSHub open source hub software written in Java, multiplatform, for the ADC protocol.

Client software

While not mandated by the protocol, most clients send a "tag". This is part of the client's description and display information ranging from client name and version to number of total available slots to if the user is using a proxy server. It was originally added to DC++, due to its ability to be in multiple hubs with the same instance. The information is arbitrary.

The original client's file list (a comprehensive list of the files a user share) was compressed using Huffman's compression algorithm. History In 1951 David A Huffman and his MIT information theory classmates were given Newer clients (among them DC++) serve a XML based list, compressed with bzip2. Don't change "Extensible" bzip2 is a free and open source Lossless data compression Algorithm and program developed by Julian Seward.

DC++

DC++ is an open source alternative to NMDC written in C++ mainly for Windows, but cross platform forks exist like LinuxDC++. DC++ is a free and open-source, Peer-to-peer file-sharing client that can be used to connect to the Direct Connect network Open source is a development methodology which offers practical accessibility to a product's source (goods and knowledge C++ (" C Plus Plus " ˌsiːˌplʌsˈplʌs is a general-purpose Programming language.

MLDonkey

MLDonkey is a multiprotocol open source peer to peer client for Linux, Unix and Windows. MLDonkey is an Open source, Free software multi-network Peer-to-peer application

NeoModus Direct connect

NeoModus Direct Connect (abbreviated to NMDC) was the original Direct connect client. NeoModus Direct Connect is a file-sharing client for Windows and Mac users that provides file-sharing capabilities for any type of file within a hub-centric It was written by Jonathan Hess at the company NeoModus. The first version was written in Visual Basic and released in November 1999. Visual Basic ( VB) is the third-generation event-driven programming language and associated development environment (IDE from Year 1999 ( MCMXCIX) was a Common year starting on Friday (link will display full 1999 Gregorian calendar) It only ran on Windows. Microsoft Windows is a series of Software Operating systems and Graphical user interfaces produced by Microsoft. The second version was written in C++ and C# and had Mac OS X support. Mac OS X (mæk oʊ ɛs tɛn is a line of computer Operating systems developed marketed and sold by Apple Inc, the latest of which is pre-loaded on all currently

ShakesPeer

ShakesPeer is a client specifically written for Mac OS X. Shakespeer is a user created Direct Connect client for Mac OS X. Mac OS X (mæk oʊ ɛs tɛn is a line of computer Operating systems developed marketed and sold by Apple Inc, the latest of which is pre-loaded on all currently

Linux DC++

LinuxDC++ is a port of DC++ to Linux. It has the same core with a rewritten user interface.

Valknut

Valknut is a C++ and Qt written client that is designed to run on Linux, FreeBSD and Mac OS X. Valknut is a program that uses the Direct Connect protocol. It is compatible with other DC clients such as the original DC from Neomodus Qt (pronounced "cute" by its creators is a Cross-platform application development framework widely used for the development of GUI programs (in which Linux (commonly pronounced ˈlɪnəks FreeBSD is a Unix-like free Operating system descended from AT&T UNIX via the Berkeley Software Distribution (BSD branch through

DCTC

Direct Connect Text Client (DCTC) [1] for Linux. They also provide a GUI (dc_gui) for the client and a hub program (dchub).

DC#

DC# is a client primary for Linux that uses GTK+. GTK+, or The GIMP Toolkit, is a Cross-platform Widget toolkit for creating Graphical user interfaces It is one of the most popular toolkits It has as a goal to be as easy to use as possible.

Hublists

Direct connect used for DDoS attacks

As the protocol allow hubs to redirect users to another hub, malicious hubs have redirected users to other places than real Direct connect hubs, effectively causing a Distributed Denial of Service attack. As well, the hubs may alter the IP in client to client connections, pointing to a potential victim. An Internet Protocol ( IP) address is a numerical identification ( Logical address) that is assigned to devices participating in a Computer network [5] [6] [7]


As of recently, there are articles being shown by a programming group called TeamElite which displays advice on how to prevent and effectively stop the ability for CTM attacks. The following collection of articles show how this is possible: CTM Guides. One of the first contributors to the Anti-CTM movement brought forth by hublists is a hublist/client/server developer and member of the group TeamElite who goes by the alias The_Architect.

The most effective way to prevent your hub being used for such activies, is to use HexHub, the software is updated on a daily basis and you can also request new features by checking the hexhub section on http://www.meka-meka.com/forum/

See also

References

  1. ^ Annalee Newitz (July 2001). i2hub was a Peer-to-peer file sharing service and program designed and intended primarily for use by University and College students Sharing the Data. Metro, Silicon Valley's Weekly Newspaper. Metro Publishing Inc. Retrieved on 2006-10-16. Year 2006 ( MMVI) was a Common year starting on Sunday of the Gregorian calendar. Events 456 - Magister militum Ricimer defeats the Emperor Avitus at Piacenza and becomes master of the western
  2. ^ Fredrik Ullner (April 2007). Command and bandwidth estimations in NMDC. DC++: Just These Guys, Ya Know?. Retrieved on 2007-07-27. Year 2007 ( MMVII) was a Common year starting on Monday of the Gregorian calendar in the 21st century. Events 1214 - Battle of Bouvines: In France, Philip II of France defeats John of England.
  3. ^ cologic (August 2007). CTM tokens in ADC (or why the NMDC protocol is terrible, part 2). DC++: Just These Guys, Ya Know?. Retrieved on 2007-10-07. Year 2007 ( MMVII) was a Common year starting on Monday of the Gregorian calendar in the 21st century. Events 3761 BC - The epoch (origin of the modern Hebrew calendar ( Proleptic Julian calendar)
  4. ^ Todd Pederzani (June 2006). Filtering Redux. DC++: Just These Guys, Ya Know?. Retrieved on 2007-08-31. Year 2007 ( MMVII) was a Common year starting on Monday of the Gregorian calendar in the 21st century. Events 1056 - Byzantine Empress Theodora becomes ill dying suddenly a few days later without children to succeed the Throne
  5. ^ Paul Sop (May 2007). Prolexic Distributed Denial of Service Attack Alert. Prolexic Technologies Inc. . Prolexic Technologies Inc. . Retrieved on 2007-08-22. Year 2007 ( MMVII) was a Common year starting on Monday of the Gregorian calendar in the 21st century. Events 392 - Arbogast has Eugenius elected Western Roman Emperor.
  6. ^ Robert Lemos (May 2007). Peer-to-peer networks co-opted for DOS attacks. SecurityFocus. Retrieved on 2007-08-22. Year 2007 ( MMVII) was a Common year starting on Monday of the Gregorian calendar in the 21st century. Events 392 - Arbogast has Eugenius elected Western Roman Emperor.
  7. ^ Fredrik Ullner (May 2007). Denying distributed attacks. DC++: Just These Guys, Ya Know?. Retrieved on 2007-08-22. Year 2007 ( MMVII) was a Common year starting on Monday of the Gregorian calendar in the 21st century. Events 392 - Arbogast has Eugenius elected Western Roman Emperor.


External links


© 2009 citizendia.org; parts available under the terms of GNU Free Documentation License, from http://en.wikipedia.org
Dapyx Software network: MP3 Explorer | Ebook Manager | Zenithic