Mosh

Mosh()是一套从用户端连到服务器端的软件。类似于Secure Shell[2],但还针对对行动环境的特性调整。

Mosh
Mosh的画面截屏,网络暂时中断,底线字为暂时由本地端显示。
网络暂时中断,底线字为暂时由本地端显示。
原作者Keith Winstein
首次发布2012年3月12日2012-03-12
当前版本
  • 1.4.0 (2022年10月27日)[1]
源代码库
操作系统类Unix系统
类型实用工具
许可协议GNU GPLv3OpenSSLiOS除外
网站https://mosh.org/

特性

  • Mosh不绑定用户端的IP地址,这使得用户从移动网络(像是3G4G)与WiFi之间切换时,不会造成连接中断。[3]
  • Mosh保持连接打开,当此用者断线时,服务器端只会认定为暂时脱机()让用户可以稍候连回来。相对的,SSH因为通过TCP,在用户断线时会造成连接中断。[4]
  • Mosh会试着在本地端马上显示用户所输入的按键,这使得用户会感觉到更少的延迟。[5]

Mosh主要的缺点在于需要额外的设置,以及缺乏某些SSH能提供的功能(如连接转发)。

设计

相较于SSH,Mosh运作于不同层。SSH通过TCP双向传输数据,Mosh则是在服务器端仿真终端机,得知终端机上的内容后,再依据用户端的网络速度计算要更新到用户端的内容[6]。这使得Mosh在速度不快的网络表现的很好。

支持系统

Mosh支持大多数的Linux套件、Mac OS XFreeBSDNetBSDOpenBSDAndroidSolarisCygwin,以及Chrome App

性能

漫游

Mosh使用了State-Synchronization Protocol(SSP)[7],这使得Mosh支持单封包漫游[8]。当用户端切换IP位置时,不需要额外的封包进行认证,而用户端也不需要知道自己已经切换位置了(这包括了用户端可能使用NAT,而NAT本身切换IP位置)[6]

封包遗失

在Mosh作者的研究中,作者测试在29%封包遗失率的情况下,Mosh所使用的SSP比SSH有效降低大约五十倍的平均回应时间(从16.8秒降为0.33秒)[6]。另外由史丹佛大学学生的研究则显示大约30倍,从5.9秒降为0.19秒[9]

相关链接

注解

  1. . 2022年10月27日 [2022年10月29日].
  2. . [2018-01-18]. (原始内容存档于2018-10-26).
  3. . 2012-10-19 [2018-01-18]. (原始内容存档于2020-09-27).
  4. . 2012-07-06 [2018-01-18]. (原始内容存档于2018-05-25).}}
  5. . [2018-01-18]. (原始内容存档于2020-10-21).
  6. . [2016-04-27]. (原始内容存档于2020-08-06).
  7. . [2016-04-30]. (原始内容存档于2018-10-26).
  8. (PDF). [2016-04-30]. (原始内容存档 (PDF)于2016-03-14).
  9. . [2016-04-30]. (原始内容存档于2020-11-18).

外部链接

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.