]> Cypherpunks.ru repositories - nncp.git/blob - doc/comparison.texi
Documentation draft
[nncp.git] / doc / comparison.texi
1 @node Comparison
2 @unnumbered Comparison with existing solutions
3
4 Here is comparison with @url{https://en.wikipedia.org/wiki/UUCP, UUCP}
5 (Unix to Unix copy), FTN (@url{https://en.wikipedia.org/wiki/FidoNet,
6 FidoNet} Technology Networks) and @url{https://en.wikipedia.org/wiki/SMTP, SMTP}
7 (because it is also store-and-forward solution).
8
9 @multitable @columnfractions 0.40 0.15 0.15 0.15 0.15
10 @headitem  @tab UUCP @tab FTN @tab NNCP @tab SMTP
11
12 @item Ease of setup @tab Medium @tab Hard @tab Easy @tab Hard
13 @item Mail transmission @tab @strong{Yes} @tab @strong{Yes} @tab @strong{Yes} @tab @strong{Yes}
14 @item News transmission @tab @strong{Yes} @tab @strong{Yes} @tab No @tab No
15 @item File transmission @tab @strong{Yes} @tab @strong{Yes} @tab @strong{Yes} @tab No
16 @item Remote command execution @tab @strong{Yes} @tab No @tab No @tab No
17 @item Resumable downloads @tab @strong{Yes} @tab @strong{Yes} @tab @strong{Yes} @tab No
18 @item Packets prioritizing @tab @strong{Yes} @tab No @tab @strong{Yes} @tab No
19 @item Mail compression @tab No @tab @strong{Yes} @tab @strong{Yes} @tab No
20 @item SMTP integration @tab @strong{Yes} @tab No @tab @strong{Yes} @tab N/A
21 @item Push/poll @tab @strong{Both} @tab @strong{Both} @tab @strong{Both} @tab Push
22 @item Delay tolerant @tab @strong{Yes} @tab @strong{Yes} @tab @strong{Yes} @tab No
23 @item Intended network size @tab Dozens @tab Global @tab Dozens @tab Global
24 @item Routing @tab Manual/static @tab Automatic @tab Manual/static @tab Automatic
25 @item PSTN support @tab @strong{Yes} @tab @strong{Yes} @tab Possible @tab No
26 @item Anonymous peers @tab @strong{Yes} @tab No @tab No @tab @strong{Yes}
27 @item Peers authentication @tab PAP @tab PAP/CHAP @tab public-key @tab No
28 @item Packets encryption @tab No @tab No @tab @strong{Yes} @tab No
29 @item Metadata privacy @tab No @tab No @tab @strong{Yes} @tab No
30 @item Packets integrity check @tab No @tab No @tab @strong{Yes} @tab No
31 @item Sneakernet friendliness @tab No @tab No @tab @strong{Yes} @tab No
32
33 @end multitable
34
35 @table @strong
36
37 @item Ease of setup
38     UUCP can be setup rather easily with few configuration files
39     and few lines in each of them. But you have to add some encryption
40     and authentication overlay for securing you data transmission.
41
42     FTN is hard to setup because it is totally different world of
43     software comparing to Unix one. Even mail editor will be something
44     like GoldEd, not an ordinary email client. Moreover, there is no
45     out-of-box encryption and strong authentication involved.
46
47     NNCP requires single YAML file editing and nothing more.
48
49 @item News transmission
50     SMTP does not know anything about news, NNTP and so forth. Neither
51     does NNCP, because they are not used very much nowadays.
52
53 @item File transmission
54     SMTP could transfer files only Base64-encoding them -- this is very
55     inefficient.
56
57 @item Packets prioritizing
58     UUCP and NNCP will push higher priority ("grade" in UUCP
59     terminology) packets first. You mail will pass, even when many
60     gigabytes files is queued in parallel.
61
62 @item SMTP integration
63     Mail servers like @url{http://www.postfix.org/, Postfix} offers
64     documentation and configuration file examples how to use it with
65     UUCP. @url{http://www.exim.org/, Exim} and
66     @url{http://www.sendmail.com/sm/open_source/, Sendmail} could be
67     integrated with UUCP rather easily too. For using NNCP, just replace
68     UUCP commands with NNCP ones.
69
70 @item Push/poll
71     With SMTP, you have to wait online when remote peers will push you
72     the messages. There are extensions to the protocol allowing
73     poll-model, but they are not used everywhere. This is very important
74     to be independent from specified model and be able to exchange the
75     data with possibility you have.
76
77 @item Delay tolerant
78     SMTP will drop messages that can not be delivered for a long time
79     (several days). Others are
80     @url{https://en.wikipedia.org/wiki/Delay-tolerant_networking,
81     tolerant} for the long delays.
82
83 @item Routing
84     UUCP and NNCP does not known nothing about routing. You have to
85     explicitly tell how to send (what hops to use) packets to each node.
86
87 @item PSTN support
88     UUCP and FidoNet always have been working with modems out-of-box.
89     Only many years later they gained support for working over TCP/IP
90     connections. SMTP works only over TCP/IP. NNCP currently has only
91     TCP daemon, but nothing prohibits using of another 8-bit aware
92     online transport.
93
94 @item Anonymous peers
95     NNCP and FTN are friend-to-friend networks exclusively. This is very
96     secure and mitigates many possible man-in-the-middle attacks.
97
98 @item Sneakernet friendliness
99     No one, except NNCP, supports data exchanging via removable storages
100     likes flash drives, CD-ROMs, tapes and hard drives. It can be
101     emulated for many FTN software, by manually copying files in its
102     inbound/outbound directories. But UUCP and SMTP software requires
103     more manual work to do so.
104
105 @end table