]> Cypherpunks.ru repositories - nncp.git/commitdiff
Two more usecases
authorSergey Matveev <stargrave@stargrave.org>
Sun, 29 Jul 2018 09:47:24 +0000 (12:47 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Sun, 29 Jul 2018 09:47:24 +0000 (12:47 +0300)
doc/usecases.ru.texi
doc/usecases.texi

index 7a7873dcf1b0f23dbca47a6f7b9ee4466159165a..74d97e4a566a2d97ae98ec42991b4c43ba796baa 100644 (file)
@@ -8,10 +8,12 @@
 * Медленная/дорогая связь для больших объёмов данных, плохой QoS: UsecaseQoSRU.
 * Экстремальные наземные окружающие условия, нет связи: UsecaseNoLinkRU.
 * Односторонняя широковещательная связь: UsecaseBroadcastRU.
+* Спутниковые каналы связи: UsecaseSatelliteLinksRU.
 * Частные, изолированные MitM/Sybil-устойчивые сети: UsecaseF2FRU.
 * Высоко защищённые изолированные компьютеры с воздушным зазором: UsecaseAirgapRU.
 * Обход сетевой цензуры, здоровье: UsecaseCensorRU.
 * Разведка, шпионаж, тайная агентура: UsecaseSpyRU.
+* Дешёвая ночная связь: UsecaseCallerRU.
 @end menu
 
 @node UsecaseMailRU
@@ -182,6 +184,34 @@ NNCP поддерживает @ref{Niceness, приоритезацию траф
 переотправлять широковещательные рассылки время от времени, повышая
 шансы на то, что получатель примет их, регулярно слушая рассылку.
 
+@node UsecaseSatelliteLinksRU
+@subsection Спутниковые каналы связи
+
+Спутниковые каналы связи имеют @strong{очень} большие задержки вместе с
+высокими пропускными способностями. Вы можете посылать мегабиты данных в
+секунду, но они достигнут удалённой стороны только спустя полсекунды!
+Большинство протоколов обмена файлами, таких как
+@url{https://en.wikipedia.org/wiki/Files_transferred_over_shell_protocol, FISH},
+@url{https://ru.wikipedia.org/wiki/FTP, FTP},
+@url{https://ru.wikipedia.org/wiki/SCP, scp},
+@url{https://en.wikipedia.org/wiki/XMODEM, XMODEM} will perform very
+будут работать очень плохо из-за большого количества приёмо-передач
+(round-trips). Каждая передача файла явно генерирует пакеты запросов и
+подтверждений, посылаемые поверх канала связи. Удалённая сторона ничего
+не будет делать пока она их не получит. Более того, не все протоколы
+позволяют делать дуплексную отправку данных (когда обе стороны посылают
+данные одновременно).
+
+@ref{Sync, Протокол синхронизации} (SP) NNCP пытается решить все эти
+особенности за счёт сокращения количества приёмо-передач, количества
+проходящих пакетов. Все списки файлов, запросов на скачивание файла
+группируются вместе (pipelined) в один огромный пакет. Только запросы на
+остановку передачи и подтверждения успешного приёма файла явно
+посылаются. Можно запросить чтобы SP только принимал или отправлял
+пакеты для нашей ноды. SP может игнорировать файлы с маленьким
+приоритетом. Полные списки файлов отправляются уже на этапе процедуры
+рукопожатия.
+
 @node UsecaseF2FRU
 @subsection Частные, изолированные MitM/Sybil-устойчивые сети
 
@@ -297,7 +327,7 @@ neigh:
 
 Эти ребята знают насколько небезопасен Интернет, несовместим с
 понятием приватности. Им необходим быстрый сброс и забор данных. Нет
-возможности провести несколько итераций туда-обратно (round trip) --
+возможности провести несколько итераций приёмо-передач (round-trips) --
 только сбросить данные, выстрелить и забыть. Опять же, это может быть
 переносной накопитель и/или
 @url{https://en.wikipedia.org/wiki/USB_dead_drop, USB тайник} (dead drop),
@@ -326,3 +356,47 @@ Bluetooth и WiFi могут быть и довольно быстрыми, по
 файлов и почтовых сообщений) может и должна бы быть произведена на
 отдельном компьютере (@ref{nncp-cfgmin} команда может помочь с созданием
 конфигурационного файла без приватных ключей для этой цели).
+
+Если вы действительно хотите взять с собой приватные ключи, то
+@ref{nncp-cfgenc} команда способна зашифровать ваш конфигурационный
+файл. Парольная фраза вами введённая усиливается функцией нагружающей и
+центральный процессор и память.
+
+@node UsecaseCallerRU
+@subsection Дешёвая ночная связь
+
+Стоимость Интернет/телефонного трафика может варьироваться, в
+зависимости от времени дня. Ночные звонки/соединения могут быть дешевле
+в два раза. Вы хотите посылать ваши файлы в это время, но позволять
+изредка проходить высокоприоритетной почте в любое время. А также вы
+хотите проходить любому трафику когда узел доступен через ЛВС (LAN).
+
+Вы легко можете настроить ваши предпочтения в @ref{Call, настройках
+звонков} для @ref{nncp-caller} команды, используемой при online связи.
+
+@verbatim
+neigh:
+  [...]
+  some-node:
+    [...]
+    addrs:
+      lan: "[fe80::be5f:f4ff:fedd:2752%igb0]:5400"
+      wan: "some-node.com:5400"
+    calls:
+      -
+        cron: "*/1 * * * *"
+        addr: lan
+        nice: MAX
+        onlinedeadline: 3600
+      -
+        cron: "*/10 * * * *"
+        addr: wan
+        nice: PRIORITY
+        xx: rx
+      -
+        cron: "*/1 0-7 * * *"
+        addr: wan
+        nice: BULK
+        onlinedeadline: 3600
+        maxonlinetime: 3600
+@end verbatim
index ca67426d7115abdd04aa4ad56669e9c92d4eb577..1c0a750bfe15e5254bed8e6c30bfaa72ec6410c7 100644 (file)
@@ -10,10 +10,12 @@ See also this page @ref{Сценарии, on russian}.
 * Slow/expensive link for high-volume data, bad QoS: UsecaseQoS.
 * Extreme terrestrial environments, no link: UsecaseNoLink.
 * One-way broadcasting communications: UsecaseBroadcast.
+* Satellite links: UsecaseSatelliteLinks.
 * Private, isolated MitM/Sybil-resistant networks: UsecaseF2F.
 * Highly secure isolated air-gap computers: UsecaseAirgap.
 * Network censorship bypassing, health: UsecaseCensor.
 * Reconnaissance, spying, intelligence, covert agents: UsecaseSpy.
+* Cheap night transfers: UsecaseCaller.
 @end menu
 
 @node UsecaseMail
@@ -172,6 +174,32 @@ With built-in packet duplicates detection ability, you can retransmit
 your broadcasts from time to time, to increase chances the recipient
 will catch them by regular stream listening.
 
+@node UsecaseSatelliteLinks
+@section Satellite links
+
+Satellite links have @strong{very} high delays together with high
+bandwidths. You can send several megabits of data per second, but they
+will reach the remote side only after half a second!
+Most file sharing protocols like
+@url{https://en.wikipedia.org/wiki/Files_transferred_over_shell_protocol, FISH},
+@url{https://en.wikipedia.org/wiki/FTP, FTP},
+@url{https://en.wikipedia.org/wiki/Secure_copy, scp},
+@url{https://en.wikipedia.org/wiki/XMODEM, XMODEM}
+will perform very badly because of round-trips quantity. Each file
+transmission explicitly generates request and acknowledgement packets
+that are send over the link. Remote side won't do anything until it
+receives them. Moreover not all protocols allow duplex data
+transmission (when both sides are sending data simultaneously).
+
+NNCP's @ref{Sync, synchronization protocol} (SP) tries to mitigate all
+that issues by reducing number of round-trips, number of packets passing
+through. All file lists, file download requests are grouped together
+(pipelined) in one huge packet. Only transmission halt and successful
+file download acknowledgements are sent explicitly. SP could be asked
+only either to upload or download packets for our node. SP could ignore
+files with low priority. Full files listing is passing even during the
+handshake procedure.
+
 @node UsecaseF2F
 @section Private, isolated MitM/Sybil-resistant networks
 
@@ -305,3 +333,47 @@ same device. Tossing (reading those encrypted packets and extracting
 transferred files and mail messages) could and should be done on a
 separate computer (@ref{nncp-cfgmin} command could help creating
 configuration file without private keys for that purpose).
+
+If you really want to carry your private keys, then @ref{nncp-cfgenc}
+command will be able to encrypt your configuration file. Passphrase you
+enter is strengthened with both CPU and memory hard function.
+
+@node UsecaseCaller
+@section Cheap night transfers
+
+Your Internet/telephone traffic price can vary, depending on daytime.
+Night calls/connections could be twice as cheaper. You wish to send your
+files at that time, but keep high priority email infrequently passing
+through in anytime. Also you wish to pass any kind of traffic when the
+node is available through the LAN.
+
+You can easily set your preferences in @ref{Call, call
+configurations} for @ref{nncp-caller} command used in online
+communications.
+
+@verbatim
+neigh:
+  [...]
+  some-node:
+    [...]
+    addrs:
+      lan: "[fe80::be5f:f4ff:fedd:2752%igb0]:5400"
+      wan: "some-node.com:5400"
+    calls:
+      -
+        cron: "*/1 * * * *"
+        addr: lan
+        nice: MAX
+        onlinedeadline: 3600
+      -
+        cron: "*/10 * * * *"
+        addr: wan
+        nice: PRIORITY
+        xx: rx
+      -
+        cron: "*/1 0-7 * * *"
+        addr: wan
+        nice: BULK
+        onlinedeadline: 3600
+        maxonlinetime: 3600
+@end verbatim