]> Cypherpunks.ru repositories - nncp.git/blobdiff - doc/comparison.texi
Add various documentation indices
[nncp.git] / doc / comparison.texi
index 5ecb1a89641d9c5c03844074cb88f6ed85597a68..d3d6fb174a675e0e01fde0af1b8d88a30da787c9 100644 (file)
@@ -1,4 +1,9 @@
 @node Comparison
+@cindex comparison
+@cindex SMTP
+@cindex FTN
+@cindex FidoNet
+@cindex UUCP
 @unnumbered Comparison with existing solutions
 
 Here is comparison with @url{https://en.wikipedia.org/wiki/UUCP, UUCP}
@@ -7,28 +12,30 @@ FidoNet} Technology Networks) and @url{https://en.wikipedia.org/wiki/SMTP, SMTP}
 (because it is also store-and-forward solution).
 
 @multitable @columnfractions 0.40 0.15 0.15 0.15 0.15
-@headitem  @tab UUCP @tab FTN @tab NNCP @tab SMTP
-
-@item Ease of setup @tab Medium @tab Hard @tab Easy @tab Hard
-@item Mail transmission @tab @strong{Yes} @tab @strong{Yes} @tab @strong{Yes} @tab @strong{Yes}
-@item News transmission @tab @strong{Yes} @tab @strong{Yes} @tab No @tab No
-@item File transmission @tab @strong{Yes} @tab @strong{Yes} @tab @strong{Yes} @tab No
-@item Remote command execution @tab @strong{Yes} @tab No @tab No @tab No
-@item Resumable downloads @tab @strong{Yes} @tab @strong{Yes} @tab @strong{Yes} @tab No
-@item Packets prioritizing @tab @strong{Yes} @tab No @tab @strong{Yes} @tab No
-@item Mail compression @tab No @tab @strong{Yes} @tab @strong{Yes} @tab No
-@item SMTP integration @tab @strong{Yes} @tab No @tab @strong{Yes} @tab N/A
-@item Push/poll @tab @strong{Both} @tab @strong{Both} @tab @strong{Both} @tab Push
-@item Delay tolerant @tab @strong{Yes} @tab @strong{Yes} @tab @strong{Yes} @tab No
-@item Intended network size @tab Dozens @tab Global @tab Dozens @tab Global
-@item Routing @tab Manual/static @tab Automatic @tab Manual/static @tab Automatic
-@item PSTN support @tab @strong{Yes} @tab @strong{Yes} @tab Possible @tab No
-@item Anonymous peers @tab @strong{Yes} @tab No @tab No @tab @strong{Yes}
-@item Peers authentication @tab PAP @tab PAP/CHAP @tab public-key @tab No
-@item Packets encryption @tab No @tab No @tab @strong{Yes} @tab No
-@item Metadata privacy @tab No @tab No @tab @strong{Yes} @tab No
-@item Packets integrity check @tab No @tab No @tab @strong{Yes} @tab No
-@item Sneakernet friendliness @tab No @tab No @tab @strong{Yes} @tab No
+@headitem @tab UUCP @tab FTN @tab NNCP @tab SMTP
+
+@item Ease of setup            @tab Medium        @tab Hard          @tab Easy          @tab Hard
+@item Mail transmission        @tab @strong{Yes}  @tab @strong{Yes}  @tab @strong{Yes}  @tab @strong{Yes}
+@item News transmission        @tab @strong{Yes}  @tab @strong{Yes}  @tab @strong{Yes}  @tab No
+@item File transmission        @tab @strong{Yes}  @tab @strong{Yes}  @tab @strong{Yes}  @tab No
+@item Multicast transmission   @tab No            @tab @strong{Yes}  @tab @strong{Yes}  @tab No
+@item Chunked files            @tab No            @tab @strong{Yes}  @tab @strong{Yes}  @tab No
+@item Remote command execution @tab @strong{Yes}  @tab No            @tab @strong{Yes}  @tab No
+@item Resumable downloads      @tab @strong{Yes}  @tab @strong{Yes}  @tab @strong{Yes}  @tab No
+@item Packets prioritizing     @tab @strong{Yes}  @tab No            @tab @strong{Yes}  @tab No
+@item Mail compression         @tab No            @tab @strong{Yes}  @tab @strong{Yes}  @tab No
+@item SMTP integration         @tab @strong{Yes}  @tab No            @tab @strong{Yes}  @tab N/A
+@item Push/poll                @tab @strong{Both} @tab @strong{Both} @tab @strong{Both} @tab Push
+@item DTN                      @tab @strong{Yes}  @tab @strong{Yes}  @tab @strong{Yes}  @tab No
+@item Intended network size    @tab Dozens        @tab Global        @tab Dozens        @tab Global
+@item Routing                  @tab Manual/static @tab Federated     @tab Manual/static @tab Federated
+@item PSTN support             @tab @strong{Yes}  @tab @strong{Yes}  @tab Possible      @tab No
+@item Anonymous peers          @tab @strong{Yes}  @tab No            @tab No            @tab @strong{Yes}
+@item Peers authentication     @tab PAP           @tab PAP/CHAP      @tab public-key    @tab No
+@item Packets encryption       @tab No            @tab No            @tab @strong{Yes}  @tab No
+@item Metadata privacy         @tab No            @tab No            @tab @strong{Yes}  @tab No
+@item Packets integrity check  @tab No            @tab No            @tab @strong{Yes}  @tab No
+@item Sneakernet friendliness  @tab No            @tab Partially     @tab @strong{Yes}  @tab No
 
 @end multitable
 
@@ -44,25 +51,28 @@ FidoNet} Technology Networks) and @url{https://en.wikipedia.org/wiki/SMTP, SMTP}
     like GoldEd, not an ordinary email client. Moreover, there is no
     out-of-box encryption and strong authentication involved.
 
-    NNCP requires single YAML file editing and nothing more.
-
-@item News transmission
-    SMTP does not know anything about news, NNTP and so forth. Neither
-    does NNCP, because they are not used very much nowadays.
+    NNCP requires editing of single Hjson @ref{Configuration,
+    configuration file}.
 
 @item File transmission
     SMTP could transfer files only Base64-encoding them -- this is very
     inefficient.
 
+@item Chunked files
+    FTN software can automatically split huge files on smaller chunks,
+    to reassemble it on the destination node. NNCP also supports
+    @ref{Chunked, that feature}, especially important when dealing with
+    small capacity removable storage devices.
+
 @item Packets prioritizing
     UUCP and NNCP will push higher priority ("grade" in UUCP
     terminology) packets first. You mail will pass, even when many
-    gigabytes files is queued in parallel.
+    gigabytes files are queued in parallel.
 
 @item SMTP integration
-    Mail servers like @url{http://www.postfix.org/, Postfix} offers
-    documentation and configuration file examples how to use it with
-    UUCP. @url{http://www.exim.org/, Exim} and
+    Mail servers like @url{http://www.postfix.org/, Postfix} and
+    @url{http://www.exim.org/, Exim} offers documentation and
+    configuration file examples how to use it with UUCP.
     @url{http://www.sendmail.com/sm/open_source/, Sendmail} could be
     integrated with UUCP rather easily too. For using NNCP, just replace
     UUCP commands with NNCP ones.
@@ -74,16 +84,15 @@ FidoNet} Technology Networks) and @url{https://en.wikipedia.org/wiki/SMTP, SMTP}
     to be independent from specified model and be able to exchange the
     data with possibility you have.
 
-@item Delay tolerant
+@item @url{https://en.wikipedia.org/wiki/Delay-tolerant_networking, DTN} (delay tolerant networking)
     SMTP will drop messages that can not be delivered for a long time
-    (several days). Others are
-    @url{https://en.wikipedia.org/wiki/Delay-tolerant_networking,
-    tolerant} for the long delays.
+    (several days). Others are tolerant for the long delays.
 
 @item Routing
     UUCP and NNCP does not known nothing about routing. You have to
     explicitly tell how to send (what hops to use) packets to each node.
 
+@cindex PSTN
 @item PSTN support
     UUCP and FidoNet always have been working with modems out-of-box.
     Only many years later they gained support for working over TCP/IP
@@ -91,15 +100,60 @@ FidoNet} Technology Networks) and @url{https://en.wikipedia.org/wiki/SMTP, SMTP}
     TCP daemon, but nothing prohibits using of another 8-bit aware
     online transport.
 
+@cindex anonymity
+@cindex Sybil attack
 @item Anonymous peers
     NNCP and FTN are friend-to-friend networks exclusively. This is very
-    secure and mitigates many possible man-in-the-middle attacks.
+    secure and mitigates many possible man-in-the-middle (MitM) and
+    @url{https://en.wikipedia.org/wiki/Sybil_attack, Sybil} attacks.
 
+@cindex sneakernet
+@cindex floppynet
 @item Sneakernet friendliness
     No one, except NNCP, supports data exchanging via removable storages
-    likes flash drives, CD-ROMs, tapes and hard drives. It can be
-    emulated for many FTN software, by manually copying files in its
-    inbound/outbound directories. But UUCP and SMTP software requires
-    more manual work to do so.
+    likes flash drives, CD-ROMs, tapes and hard drives out-of-box. It
+    can be emulated for many FTN software, by manually copying files in
+    its inbound/outbound directories. But UUCP and SMTP software
+    requires more manual work to do so.
 
 @end table
+
+@cindex UUCP commands
+Also there is
+@url{https://changelog.complete.org/archives/10165-asynchronous-email-exim-over-nncp-or-uucp, copy of}
+comparable commands of UUCP and NNCP, just for the interest:
+
+@multitable @columnfractions 0.5 0.25 0.25
+@headitem Purpose @tab UUCP @tab NNCP
+
+@pindex uucico
+@pindex uupoll
+@pindex uux
+@pindex uucp
+@pindex uuxqt
+@item Connect to remote system
+    @tab @command{uucico -s}, @command{uupoll}
+    @tab @command{nncp-call}, @command{nncp-caller}
+@item Receive connection (pipe, daemon, etc)
+    @tab @command{uucico} (@option{-l} or similar)
+    @tab @command{nncp-daemon}
+@item Request remote execution, @code{stdin} piped in
+    @tab @command{uux}
+    @tab @command{nncp-exec}
+@item Copy file to remote machine
+    @tab @command{uucp}
+    @tab @command{nncp-file}
+@item Copy file from remote machine
+    @tab @command{uucp}
+    @tab @command{nncp-freq}
+@item Process received requests
+    @tab @command{uuxqt}
+    @tab @command{nncp-toss}
+@item Move outbound requests to dir (for USB stick, airgap, etc)
+    @tab N/A
+    @tab @command{nncp-xfer}
+@item Create streaming package of outbound requests
+    @tab N/A
+    @tab @command{nncp-bundle}
+
+@end multitable