Question to Arne about original design of DC

Technical discussion about the NMDC and <a href="http://dcpp.net/ADC.html">ADC</A> protocol. The NMDC protocol is documented in the <a href="http://dcpp.net/wiki/">Wiki</a>, so feel free to refer to it.

Moderator: Moderators

Locked
jan banan
Posts: 7
Joined: 2003-01-11 15:20

Question to Arne about original design of DC

Post by jan banan » 2003-01-11 15:24

Hi!

Good work on DC++!

Just wondering, now that you have made your own version of DC, and is working on a hubb. If you would have started from scratch today with a new DC2, what would you have made different? Any big flaws in the design of DC?

ender
Posts: 224
Joined: 2003-01-03 17:47

Post by ender » 2003-01-11 16:23

Are there any big flaws in DC protocol? Better ask "Is there anything in DC protocol that isn't flawed?" :mrgreen:
The whole protocol is one big mess - just look for the QuickList proposed by Nev, it's trying to fix one of the big flaws... and there are others...

eHast
Posts: 18
Joined: 2003-01-09 02:36
Location: Lund, Sweden

Post by eHast » 2003-01-11 16:29

Heh, yeah it reminds me of one of the funny posts I saw on lichlord. (I think it was one of Arne's too.) It was regarding the lock-key system. It was summarised as:

Server: Hi, I'm stupid
Client: Hi, I'm also stupid

Nev
Programmer
Posts: 40
Joined: 2003-01-03 13:29

Post by Nev » 2003-01-13 01:56

lol@eHast

... and we must not forget all 'em GetINFOs that are totally unneccesary...
[url=dchub://ancient.myftp.org]ancient.myftp.org - [BBB][Sunet][Tele2] ONLY! @ 20GB (ISP/IP/Share Scripted)[/url]

OLDoMiNiON
Posts: 202
Joined: 2003-01-06 06:22
Location: Salford, England.
Contact:

Post by OLDoMiNiON » 2003-02-20 18:23

and $hello's, and not to mention the "denide" sp mistake :roll:

sarf
Posts: 382
Joined: 2003-01-24 05:43
Location: Sweden
Contact:

Post by sarf » 2003-02-21 15:30

How about $LogedIn? :)

Sarf
---
Prudence is a rich, ugly old maid courted by incapacity.

Dj_Offset
Posts: 48
Joined: 2003-02-22 19:22
Location: Oslo, Norway
Contact:

Post by Dj_Offset » 2003-02-27 05:30

A few others;
- The protocol doesn't handle certain characters (like: |, $, <, >, character 0x5 or even spaces in some cases)
Need some escaping scheme here, this is done only in the lock computation (for some weird reason!).

- The whole network relies on a nickname that can be changed or taken by somebody else (thus your download queue doesn't work)

- Searches are difficult to track (which search result belongs to which search request). Obviously lack of support for multihub capabilities, and this makes automated searches difficult.

- In general the protocol doesn't define error conditions. If something weird happens, we either ignore it or close the connection.
I wrote QuickDC - A DC++ compatible client for Linux and FreeBSD.

NoFiX
Posts: 19
Joined: 2003-02-23 10:39

Post by NoFiX » 2003-03-06 04:17

You guys take everything for granite.

A flawless protocol doesn't exist, right? I imagine the DC protocol was designed on the basis of pure speculation. With as many P2P apps as there are, I find it hard to believe a VB,p.o.s., P2P app would overcome so many others and find it's way into the hands of crackers. Crackers I say, because the DC protocol was never *SO* public, until DC++ surfaced of course.

So, just don't use it if you think it has so many flaws. Security wise, yeah it has lots of flaws, but then again, who would've thought DC could turn into what it is now...

[A&AM]Fireball
Posts: 23
Joined: 2003-02-28 03:47
Location: germany
Contact:

Post by [A&AM]Fireball » 2003-03-06 05:10

am wondering now ...

why isn't arne desinging a new version of the protocol and implementing it in DC++ ...
then make it public so other hub developers can use it, and change his how to the new protocol. then, if someone tries to connect using the old protocol just send a message back telling the user why this won't work and disconnecting him ...

if you got a client supporting both protocol version you could have a smooth change to it ...


so we could have all add-ons we want (like checksum, search identifiers etc.)
learn more about the [A&AM]Hubs: AnimeAndAsianMovies.de.vu

Neg
Posts: 20
Joined: 2003-01-19 07:05

Post by Neg » 2003-03-06 09:58

I totaly agre with [A&AM]Fireball. Make a improved protocol and switch to it. I think many developers will switch to it to if it have lots of featurs that the original DC protocol dose not have.

Dj_Offset
Posts: 48
Joined: 2003-02-22 19:22
Location: Oslo, Norway
Contact:

Post by Dj_Offset » 2003-03-06 10:04

I disagree. No need to add bloat to the existing protocol.
Make an entirely new protocol based on the same ideas and concepts as DC.

Right now there are many different interpretations of the DC protocol,
and you are not guaranteed that something which works with DC++ works with another DC client.

Start over again. Add those things missing, create a more
robust and strict protocol, but keep it simple.
I wrote QuickDC - A DC++ compatible client for Linux and FreeBSD.

goweropolis
Posts: 5
Joined: 2003-02-05 17:38

Post by goweropolis » 2003-03-06 13:35

Running a private file sharing hub, I have found DC++ (with ODCH, very stable hub, for small numbers anyway) to be the best option. One of the biggest bonuses with DC is the fact that I can share 120 GB of material and not have huge CPU drags. I tried using Shareaza & Phex (Gnutella clients) to create private networks, but they had problems handling the large number of files that I was sharing. Maybe that was the cost for supporting multisource downloading, something I would love to see in DC, but maybe simple is better. I just wish that searching was more stable, and the active-passive thing was ditched.

Anyways, I'm just rambling now. Just wanted to get some thoughts down. I think Arne has created a great client, and I thank him for his efforts.

GargoyleMT
DC++ Contributor
Posts: 3212
Joined: 2003-01-07 21:46
Location: .pa.us

Post by GargoyleMT » 2003-03-06 14:33

goweropolis wrote:Maybe that was the cost for supporting multisource downloading, something I would love to see in DC, but maybe simple is better. I just wish that searching was more stable, and the active-passive thing was ditched.
How exactly are active and passive mode supposed to be ditched? It's an echo of the fact that so many people are behind firewalls or routers. Every P2P application has an equivalent setting, though some just auto-detect and stick you in the mode they guess you belong in.

Oh, and for on-topicness: $Supports is a fine way to extend the client to client protocol, the only protocol that Arne has control over. And what features need to be added to the Server to client protocol?

sandos
Posts: 186
Joined: 2003-01-05 10:16
Contact:

Post by sandos » 2003-03-06 18:34

goweropolis wrote:One of the biggest bonuses with DC is the fact that I can share 120 GB of material and not have huge CPU drags. I tried using Shareaza & Phex (Gnutella clients) to create private networks, but they had problems handling the large number of files that I was sharing.
What version of shareaza was that? Im sharing ~10k files, 140Gb, having only G2 enabled. Im seeing lots and lots of searches, but having no problems, when running it in low priority. It is using 40-60% cpu though, on a Athlon 1400. Im seeing 10-30 searches per second. Im still able to game while its running.

goweropolis
Posts: 5
Joined: 2003-02-05 17:38

Post by goweropolis » 2003-03-06 18:39

GargoyleMT: Yeah, I guess that what I mean, is that it would be nice if the active-passive thing was automatic. More user-friendly and easier to non-techheads to use.

Sandos: I think that was Shareaza 1.8. Yeah, the 40-60% CPU power is my problem with it. It inhibits anything I'm doing on my computer. I am surprised you can play games at the same time. I had problems running other progs at a decent speed while running Shareaza. Progs like DC++ & eMule are usually less than 10%, which I would consider more reasonable.

Marvin
Posts: 147
Joined: 2003-03-06 06:56
Location: France
Contact:

Post by Marvin » 2003-03-08 07:52

goweropolis wrote:it would be nice if the active-passive thing was automatic. More user-friendly and easier to non-techheads to use.
True, but the way it is, you can run dc++ in active mode in some cases wich an auto-detect feature would see as passive. You can configure the port, going through routers or firewalls harder to configure, set the external IP to be in active mode through ICS... And all you have to do if this is to complicated is to click on passive mode.

goweropolis
Posts: 5
Joined: 2003-02-05 17:38

Post by goweropolis » 2003-03-10 14:10

My concern is that no other P2P prog requires you to figure out your IP address and enter it in the options manually. Maybe a handy feature in DC++ would be for it to configure itself automatically. I know this isn't that complicated but the easier it is, the more users will use it. More active users is a good thing I would think.

Marvin
Posts: 147
Joined: 2003-03-06 06:56
Location: France
Contact:

Post by Marvin » 2003-03-10 14:21


chrish4321
Posts: 5
Joined: 2003-03-02 01:50

Client-Hub Protocol Improvement

Post by chrish4321 » 2003-03-12 02:23

GargoyleMT once wrote:
And what features need to be added to the Server to client protocol?
Well, for one I'd like at least secure passwords -- so that the admins can't see the cleartext password, so that it can't be grabbed in transit, and so that a compromised password database doesn't automatically compromise the whole system's security without some serious work. It would be necessary to choose some secure protocol and store only encrypted passwords, such that even the admins couldn't recover them.

This is one of many, many security improvements that could be made, but it seems like a good starting point, since it's simple authentication, increases security quite a bit, and, under some protocols, would result in a key exchange that could be used for later Client-Server encryption. In my opinion, one of the best options for this feature would be Stanford's SRP Protocol. See http://srp.stanford.edu/ for details...

GargoyleMT
DC++ Contributor
Posts: 3212
Joined: 2003-01-07 21:46
Location: .pa.us

Re: Client-Hub Protocol Improvement

Post by GargoyleMT » 2003-03-12 23:41

chrish4321 wrote:Well, for one I'd like at least secure passwords -- so that the admins can't see the cleartext password, so that it can't be grabbed in transit, and so that a compromised password database doesn't automatically compromise the whole system's security without some serious work.
You're serious?

Well, I think that client<->server encryption has been brought up before, with the caveat that it will be very draining on the hub computer's existing resources.

But something like CRAM-MD5 could probably be implemented just for passwords... and there's no need to encrypt the rest of the conversation.



As an aside, I thought of an answer to my own question the other day: returning specific types of meta-data per search "type/category" - so with an audio search, you could return bitrate, length, etc. images would give color depth, resolution, movies: audio/video codec, resolution, etc.

HaArD
Posts: 147
Joined: 2003-01-04 02:20
Location: Canada http://hub-link.sf.net
Contact:

Post by HaArD » 2004-04-30 05:57

Why hasn't anyone mentioned ADC???

http://dcplusplus.sourceforge.net/ADC.htm

Speaking of $Quicklist, why is it still a proposal? last time I checked only one Hubsoft (SDCH) offered native support for this capability even though everyone seems to think it's a good thing....

ivulfusbar
Posts: 506
Joined: 2003-01-03 07:33

Post by ivulfusbar » 2004-04-30 06:36

Hihi, ASH had support aswell. ;))

But anyway, why ADC was not mention is probably due to the fact that this thread died a long time ago. Long before ADC came into the picture. ,))
Everyone is supposed to download from the hubs, - I don´t know why, but I never do anymore.

HaArD
Posts: 147
Joined: 2003-01-04 02:20
Location: Canada http://hub-link.sf.net
Contact:

Post by HaArD » 2004-04-30 11:33

I have a shortcut for NEW POSTS (http://dcplusplus.sourceforge.net/forum ... d=newposts) on this forum and it came up, so I just replied to it without checking the dates... I did not go digging around in old threads..... :P

I wonder why it would show up over a year later as a new post :?:

Maybe it's a bug in phpBB? Weird.... :roll:

Todi
Forum Moderator
Posts: 699
Joined: 2003-03-04 12:16
Contact:

Post by Todi » 2004-04-30 14:18

GargoyleMT went around resurrecting threads that had been lost earlier, could be why it showed up.

GargoyleMT
DC++ Contributor
Posts: 3212
Joined: 2003-01-07 21:46
Location: .pa.us

Post by GargoyleMT » 2004-04-30 20:27

Could be - I did those all by hand, with no moderator or administrator magic.

HaArD
Posts: 147
Joined: 2003-01-04 02:20
Location: Canada http://hub-link.sf.net
Contact:

Post by HaArD » 2004-05-01 05:42

Aaahhh.... that would do it... :)

Locked