Required Information About DCC Protocols

Vernon Schryver vjs@calcite.rhyolite.com
Sat Sep 11 12:57:24 UTC 2004


> From: "Faisal" <fashi007@khi.wol.net.pk>

>   Please can anybody tell me about dcc protocol. ...

> There it is also mentioned that dcc trafic is much similiar to DNS
> trafic. But only the difference is of the port (6227 instead of 53).

I've often said that concerning firewalls, but it is true in another
sense.  When you write a program that use DNS, you do not write your
own DNS resolver library and DNS server.  The definition of the DNS
protocol is irrelevant.  Instead you use an existing resolver library
and perhaps DNS server.

That is a good thing, because your application does not need to be
changed when the DNS protocol changes.  The DCC server-to-server or
flooding protocol and the client-server protocol are also subject to
change.


>   Actually i m interested in case where i write my own dcc client
> and dcc server which would work on dcc protocols. I have looked for
> different products like MXtreme ( www.mxtreme.com ) and Marvin
> (http://marvin.sihope.com/index.htm ) which integrates dcc in their
> products.

I do not believe those two organizations have written their own DCC
clients or servers.  I think that instead they use the distributed DCC
source including dccproc, dccm, or dccifd.  The interfaces you should
be using are described in those man pages, just as the gethostbyname()
and other man pages describe the appropriate DNS interfaces.

The dccif() function in the dcclib/libdcc.a is intended to provide a
C interface to the client daemon dccifd as well as an example of how
you might write your own interface in C.  See dcclib/dccif.c as well
as dccifd/dccif-test/dccif-test.c. 

The file  dccifd/dccif-test/dccif-test.pl is a proof-of-concept
Perl interface to dccifd.


>   Please provide me proper guideline and any references. From
> where i can found more about the DCC protocol. I would be obliged.

Please note that if you sell systems as BorderWare does, you MUST NOT
sell the services of the public DCC servers but must provide your own
DCC servers, as BorderWare does.  You would connect your servers to
the global network of DCC servers that includes the couple dozen public
DCC servers, but it would be wrong to sell the bandwidth, disk space,
RAM, and CPU cycles of the organizations that run the public DCC
servers.  The organizations running the public servers would include
your competetors, and it would obviously be objectionable to see their
resources.

If your mail system would do more than about 100,000 DCC operations per
day, perhaps because it handles more than 100,000 mail messages day,
you would also need to run your own server, as does Sihope Communications.



Vernon Schryver    vjs@rhyolite.com



More information about the DCC mailing list

Contact vjs@rhyolite.com by mail or use the form.