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