Mosh

  • 1.4.0 (2022年10月27日)[1]
編輯維基數據鏈接源代码库
  • github.com/mobile-shell/mosh
編輯維基數據鏈接操作系统类Unix系统类型实用工具许可协议GNU GPLv3,OpenSSL和iOS除外网站https://mosh.org/

Moshmobile shell)是一套從用戶端連到伺服器端的軟體。類似於Secure Shell[2],但還針對對行動環境的特性調整。

特性

  • Mosh不綁定使用者端的IP地址,這使得使用者從行動網路(像是3G、4G)與WiFi之間切換時,不會造成連線中斷。[3]
  • Mosh保持連線開啟,當此用者斷線時,伺服器端只會認定為暫時離線(sleep)讓使用者可以稍候連回來。相對的,SSH因為透過TCP,在使用者斷線時會造成連線中斷。[4]
  • Mosh會試著在本地端馬上顯示使用者所輸入的按鍵,這使得使用者會感覺到更少的延遲。[5]

Mosh主要的缺點在於需要額外的設定,以及缺乏某些SSH能提供的功能(如连接转发)。

設計

相較於SSH,Mosh運作於不同層。SSH透過TCP雙向傳輸資料,Mosh則是在伺服器端模擬終端機,得知終端機上的內容後,再依據用戶端的網路速度計算要更新到用戶端的內容[6]。這使得Mosh在速度不快的網路表現的很好。

支援系統

Mosh支援大多數的Linux套件、Mac OS X、FreeBSD、NetBSD、OpenBSD、Android、Solaris、Cygwin,以及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. ^ Release 1.4.0. 2022年10月27日 [2022年10月29日]. 
  2. ^ Into the Mosh Pit: A Mobile Shell Replacement for SSH. [2018-01-18]. (原始内容存档于2018-10-26). 
  3. ^ Mosh: Secure Shell Without the Pain. 2012-10-19 [2018-01-18]. (原始内容存档于2020-09-27). 
  4. ^ MIT researchers chart a new approach for mobile Internet protocols. 2012-07-06 [2018-01-18]. (原始内容存档于2018-05-25). }}
  5. ^ Tools for channeling SSH over an unreliable connection. [2018-01-18]. (原始内容存档于2020-10-21). 
  6. ^ 6.0 6.1 6.2 Mosh: An Interactive Remote Shell for Mobile Clients. [2016-04-27]. (原始内容存档于2020-08-06). 
  7. ^ MIT unveils a new Internet protocol for mobile clients. [2016-04-30]. (原始内容存档于2018-10-26). 
  8. ^ Mosh: An Interactive Remote Shell for Mobile Clients (PDF). [2016-04-30]. (原始内容存档 (PDF)于2016-03-14). 
  9. ^ CS244 '13: MOSH. [2016-04-30]. (原始内容存档于2020-11-18). 

外部連結

  • (英文) Mosh: the mobile shell(页面存档备份,存于互联网档案馆),官方網站。