Mosh keeps terminals usable despite network changes
Summary
Keith Winstein and colleagues develop Mosh as a mobile shell with local input prediction and state-based UDP synchronisation. Mosh was released in 2012. The login initially takes place via SSH.
Ideas
- Mosh displays keystrokes locally before the server confirms them.
- UDP allows sessions across changing IP addresses.
- Only the current screen state is reliably synchronised.
- Interrupted connections resume without a new login.
Insights
- Interactive systems need a different kind of reliability than file transfer.
- State synchronisation can deliberately discard old intermediate events.
- Local prediction trades occasional correction for lower perceived latency.
Facts
- The running session then uses encrypted UDP.
Recommendations
- Only open the required UDP port selectively.
- Keep SSH for tunnelling and file transfer.
References
Links to the original source and the Web Archive open in a new tab.