7 ms·
How does mosh do this? Would TCP with faster retransmit timers be similar? I've read the explanation on the website, the github readme, the faq, but it's never
by lucb1e 5y ago
How does mosh do this? Would TCP with faster retransmit timers be similar?
I've read the explanation on the website, the github readme, the faq, but it's never mentioned how it copes with packet loss.
- queuebert 5y agoCan you explain for those of us who've carefully avoided reading the RFC for all these years, how faster retransmit timers would work? I would've guessed a longer timeout or UDP wrapping a custom protocol maybe.
- zamadatix 5y agoMosh is more than changes to the transport layer so it's an apples to oranges question. Some of what Mosh does is related to the way the transport handles loss but a large amount of what Mosh does is about how it avoids synchronizing things it doesn't need to by changing some assumptions (it's really a terminal emulator synchronization not a raw byte stream synchronization like ssh) and using knowledge of the type of thing it needs to sync to integrate with the transport protocol instead of transporting arbitrary byte streams.
- db48x 5y agoSpecifically, it synchronizes the state of the the screen rather than the entire byte stream that created it. When you first log in these are the same thing, but they rapidly diverge since mosh knows that you really don’t care that the cursor moves in exactly the right way, and that you don’t care to see anything that has already been erased and rewritten.