bk99.de entertain the web since 1997

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

Read the original article

Search the Web Archive