]> Cypherpunks.ru repositories - nncp.git/blob - doc/usecases/satellite.texi
d152a3bd0e979615810c42365ac3d4a31390215d
[nncp.git] / doc / usecases / satellite.texi
1 @node UsecaseSatelliteLinks
2 @section Satellite links
3
4 Satellite links have @strong{very} high delays together with high
5 bandwidths. You can send several megabits of data per second, but they
6 will reach the remote side only after half a second!
7 Most file sharing protocols like
8 @url{https://en.wikipedia.org/wiki/Files_transferred_over_shell_protocol, FISH},
9 @url{https://en.wikipedia.org/wiki/FTP, FTP},
10 @url{https://en.wikipedia.org/wiki/Secure_copy, scp},
11 @url{https://en.wikipedia.org/wiki/XMODEM, XMODEM}
12 will perform very badly because of round-trips quantity. Each file
13 transmission explicitly generates request and acknowledgement packets
14 that are send over the link. Remote side won't do anything until it
15 receives them. Moreover not all protocols allow duplex data
16 transmission (when both sides are sending data simultaneously).
17
18 NNCP's @ref{Sync, synchronization protocol} (SP) tries to mitigate all
19 that issues by reducing number of round-trips, number of packets passing
20 through. All file lists, file download requests are grouped together
21 (pipelined) in one huge packet. Only transmission halt and successful
22 file download acknowledgements are sent explicitly. SP could be asked
23 only either to upload or download packets for our node. SP could ignore
24 files with low priority. Full files listing is passing even during the
25 handshake procedure.