Greetings! *** John Goerzen [2020-12-26 08:10]: >First of all, I was planning to send a message here in the next day or two >about this anyhow, but I'm working on a series of blog posts about NNCP. You >can see them at https://changelog.complete.org/archives/tag/asynchronous and >I've got several more planned, covering using NNCP for Exim, using NNCP to >handle both ZFS and non-ZFS backups, etc. Thank you for your post! Beeing the "ZFS-fan" too, I am waiting for your shared experience. >Your solution was not part of >UUCP and involved quite a bit of work (even private mount namespaces, which >aren't available on every platform that UUCP/NNCP uses). With NNCP it is >just there. It doesn't need any particular configuration, just nncp-xfer and >done. Plus the security model is already baked in and non-optional (ssh >style). Yeah, exactly that I tried to tell in my previous message there! I do not remember clearly, but possibly I decided to write my own UUCP for my needs after writing another similar kind of the shell script for sneakernet friendliness. That was too much :-) >You are correct that NNCP could be used with rnews just as easily as UUCP. >Sergey, you might correct that in the comparison table. Added to the TODO, will correct it in the nearest time. That comparison was written before "command exchanging" was available in NNCP. >As a general matter, I am aware of only one feature that UUCP has which NNCP >lacks: the ability to run across unreliable links (protocol g and friends, >and PSTN). As someone that has worked to develop a clone of certain UUCP >protocols for low-bandwidth radio links, I totally get why! Actually I have even started to write it, to run at least over COM-port. But it is not so trivial. Well, actually creating something like XMODEM of course is very simple, but one wish to use something like ZMODEM with scaling windows. I did not find the way to easily call and interact with lrzsz utilities for NNCP needs. And writing own complete implementation of "TCP"/ZMODEM/similar is challenging (to make it efficient). So currently I paused that work. Moreover literally two weeks ago I was trying UDT (https://en.wikipedia.org/wiki/UDP-based_Data_Transfer_Protocol) protocol, Tsunami UDP and other UDP-based protocols, for being able to saturate high-bandwidth/latency links, where TCP out-of-box may work pretty badly. But it also was not so trivial to deal with. Out-of-box UDT4 gave only 300-400 Mbps on 1Gbps LAN Ethernet link, much slower than ordinary TCP. So I also paused work on that direction. >However, I should certainly note that nncp-bundles can be *easily* sent >across UUCP; just pipe the output via uux and have it pipe into nncp-bundle >on the remote. So if you're dealing with oldschool modems, or unreliable >radios, or whatever, you can still run UUCP at the communication layer and >pipe NNCP bundles across it. The NNCP bundles, of course, carry the full >encryption that NNCP uses, so additional encryption at the UUCP level would >be unnecessary. That is very interesting use-case! However of course it is not full replacement for existing synchronization protocol (-call/-daemon) that will exchange higher priority packets first. >So, along those lines, I want to say thank you to Sergey for writing and >maintaing NNCP, and also to you, for being interested in it and sending your >message to the list. I am glad both of you are here. Thank you, John! I am also glad about feedback and interest. -- Sergey Matveev (http://www.stargrave.org/) OpenPGP: CF60 E89A 5923 1E76 E263 6422 AE1A 8109 E498 57EF