]> Cypherpunks.ru repositories - nncp.git/blobdiff - doc/comparison.texi
Add various documentation indices
[nncp.git] / doc / comparison.texi
index ed3bc48970b86403500b34e7a7d3ef5b1e13a424..d3d6fb174a675e0e01fde0af1b8d88a30da787c9 100644 (file)
@@ -1,4 +1,9 @@
 @node Comparison
 @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}
 @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
 (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 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 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
 
 
 @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.
 
     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 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 are queued in parallel.
 
 @item SMTP integration
 @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 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.
     @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.
 
     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
     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.
 
 
 @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
 @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.
 
     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
 @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
 @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
 
 @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