Mosh (program)

Mosh

Mosh, a felső sorban a kapcsolat megszakadásával kapcsolatos információ, a terminálban a megjósolt és helyileg megjelenített karakterek aláhúzottak.
Típusú Távoli hozzáférés
Szerző Keith Winstein
Fejlesztő Keith Winstein
Beírva C++
Operációs rendszer Unix-szerű rendszerek
Első kiadás 2012. március 12  ( 2012-03-12 )
legújabb verzió 1.3.2 (2017. július 22. [1] ) ( 2017-07-22 )
Engedély GNU GPLv3 [2] OpenSSL és iOS kivételekkel
Weboldal mosh.org

A Mosh (az angol  mobil shell szóból ) egy program az ügyfélszámítógép és a szerver közötti távoli csatlakozásra az interneten keresztül. Hozzáférést biztosít egy szöveges terminálhoz [3] . A Mosh hasonló [4] az SSH - alkalmazáshoz , de további funkciókkal rendelkezik a mobil felhasználói élmény javítására. A fő funkciók a következők:

A mosh fő hátrányai a további szerverigények és néhány SSH funkció hiánya (például kapcsolat továbbítás).

Megvalósítás

A Mosh más szinten működik, mint az SSH. A klasszikus távoli terminálelérési rendszerek egyszerűen bájtfolyamot küldenek minden irányba (szervertől kliensig és klienstől szerverig) a TCP protokoll használatával (SSH esetén), míg a mosh terminál emulátort futtat a szerveren, hogy információt szerezzen a szövegről megjelenik a képernyőn. A mosh szerver ezután ezt a szöveget UDP protokoll segítségével továbbítja az alkalmazás kliens oldalára, míg a képernyőfrissítések és átvitelek gyakorisága a hálózat sebességétől függően változik [9] . Ez lehetővé teszi a Mosh számára, hogy csökkentse az általa küldött adatmennyiséget, ha lassú vagy instabil internetkapcsolatot használ.

Támogatott platformok

A Mosh elérhető a legtöbb Linux disztribúcióhoz , macOS -hez , FreeBSD -hez , NetBSD -hez , OpenBSD -hez , Android -hoz , Solarishoz , Cygwin -hez és Chrome-alkalmazásként . A Termius for iOS (Apple mobileszközök) a Mosh [10] protokoll független megvalósítását tartalmazza .

Teljesítmény

Barangolás

A Mosh a State-Syncronization Protocol (SSP) [11] sémára épül, amely támogatja az egycsomagos roamingot [12] . A kliens IP-címének megváltoztatása után csomagot kell küldenie a szervernek. Egyetlen csomag kézbesítése elegendő ahhoz, hogy a szerver továbbra is működjön ezzel a klienssel. Ráadásul az ügyfélnek nem kell tudnia a lakcímváltozásról.

Csomagvesztés

Egy mosh fejlesztői cikkben a vonalon túli SSP-t 29%-os csomagvesztési aránnyal értékelték. Az SSH-hoz és a TCP protokollhoz képest 50-szeresére csökkentették az átlagos válaszidőt (mosh esetén 0,33 másodperc a 16,8 másodperc helyett). Egy másik, a Stanford Egyetem hallgatói által végzett tanulmány kimutatta, hogy az SSP 30-szorosára csökkentette az átlagos válaszidőt (5,9 másodpercről 0,19 másodpercre) [13] .

Helyi visszhang

A mosh fejlesztői szerint az alkalmazásuk az esetek 70%-ában képes helyesen megjósolni a kontextust, és azonnal megjeleníteni a felhasználó által beírt karaktereket, így a billentyűleütések medián válaszideje 5 ms alá csökken ( hálózati késések elfedése ). Egy másik tanulmány kimutatta, hogy a mosh képes volt gyorsan megjeleníteni a felhasználó billentyűleütéseinek körülbelül 55%-át [14] .

Hátrányok

A népszerűbb SSH -hoz képest a moshnak a következő hátrányai vannak:

Szerverigény

A mosh fő hátránya, hogy saját szervert kell használni. A mosh közvetlen udp kapcsolatot igényel a szerverrel [15] . A port-korlátozott tűzfallal védett szerverek nem használhatják a mosh-t (például ha a tűzfal csak bejövő TCP SSH-kapcsolatot engedélyez a kiszolgálóhoz). Problémát jelentenek azok a szerverek is, amelyek közvetett kapcsolatban állnak a hálózattal. Az SSH bizonyos esetekben lehetővé teszi, hogy a 'ProxyCommand' opció használatával dolgozzunk velük, de ezt az opciót a mosh nem támogatja [16] .

Csatlakozásonként egy port

Alapértelmezés szerint a szerver megpróbálja lefoglalni az első szabad UDP -portot a 60001-60999 tartományban, kapcsolatonként egy portot. Ez a dinamikus portkiosztás a tűzfalkezelés további többletköltsége [17] [18] .

Nem támogatja az IPv6 barangolást

A Mosh 1.2.5 csak a rögzített IPv6 kapcsolatokat támogatja, az IPv6 barangolást nem [19] . Ehhez a "-6" parancssori opció használata szükséges. Létezik a mosh kísérleti változata, amely támogatja a többutas IPv6-ot, valamint dinamikus váltást az IPv4 és IPv6 között [20] [21] .

Terminál kihagyása és görgetése

A Mosh nem támogatja az előzmények görgetését a terminálban. A megvalósítási munkákat az 1.3 kiadásra ütemezték be [22] . Ennek egyik módja a mosh használata a terminál multiplexer képernyőjével vagy tmux -szal kombinálva , amelyek megvalósítják a terminál saját előzménygörgetési funkcióját [23] .

Lásd még

Jegyzetek

  1. ↑ Megjelent a Winstein, Keith mosh 1.3.2 . Levelezőlista (2017. július 22.). Letöltve: 2017. július 31.
  2. Mosh 1.3 kiadás, SSH-alternatívák archiválva : 2018. október 25., a Wayback Machine /Opennet, 2017.04.06.
  3. "Mosh: the mobile shell" Archivált : 2016. augusztus 5. a Wayback Machine -nél . Letöltve: 2013. március 28.
  4. Brockmeier, Joe. "Into the Mosh Pit: A Mobile Shell Replacement for SSH" Archiválva : 2014. március 20. a Wayback Machine webhelyen , linux.com , 2012. április 10. Letöltve: 2013. március 28..
  5. Delony, David. "Mosh: Secure Shell Without the Pain" archiválva : 2018. július 5., a Wayback Machine , Technopedia , 2012. október 19.. Letöltve: 2013. március 28..
  6. Cox, John. "Az MIT kutatói új megközelítést mutatnak be a mobilinternet-protokollokhoz" Archiválva : 2012. október 18. , Network World , 2012. július 6. Letöltve: 2013. március 28.
  7. Beckert, Axel. "Mosh és AutoSSH: Távoli shell-eszközök, amelyek megkönnyítik az életét egy lassú vagy folyamatosan változó hálózaton" Archiválva : 2020. október 21., a Wayback Machine , Linux Magazine , 2012. november.
  8. Leyden, John. "Az MIT gondolatolvasó Mosh szembeszáll az SSH-démonokkal" Archiválva : 2018. október 25., a Wayback Machine , The Register , 2012. április 13.. Letöltve: 2013. március 28..
  9. Winstein, Keith. „Mosh: An Interactive Remote Shell for Mobile Clients” , USENIX Annual Technical Conference 2012, Boston, Mass., 2012. június 14..
  10. „Termius Features” archiválva : 2018. október 25., a Wayback Machine , Crystalnix.
  11. "Az MIT új internetes protokollt mutat be mobil kliensek számára" . Letöltve: 2018. október 25. Az eredetiből archiválva : 2016. február 1..
  12. Winstein, Keith és Balakrishnan, Hari. "Mosh: An Interactive Remote Shell for Mobile Clients (részletesebb tervezet)" Archivált 2016. március 14-én a Wayback Machine -nél . Letöltve: 2013. március 28.
  13. Nagaraj, Kanthi és McMilin, Emily. "Mosh" archiválva : 2018. október 25., a Wayback Machine , Reproducing Network Research , 2013. március 14.. Letöltve: 2013. március 28..
  14. Aljunied, Ahmed. "Evaluation of Mosh 'Mobile Shell' Performance Results" Archiválva : 2018. augusztus 26., a Wayback Machine , Reproducing Network Research , 2013. március 13.. Letöltve: 2013. március 28..
  15. ↑ ""A Mosh bejelentkezteti a felhasználót SSH-n keresztül, majd kapcsolatot létesít egy 60000 és 61000 közötti UDP-porton. '" Archiválva : 2016. augusztus 5. a Wayback Machine -en , letöltve: 2014. június 19.
  16. "Mosh hibajelentés #285: Nem használható ProxyCommand alapú SSH kapcsolat" , Letöltve 2014. június 18-án
  17. „Veszélyek a kikötők széles skálájának megnyitásával? (mosh)" archiválva : 2018. szeptember 2., a Wayback Machine , IT Security (Stack Exchange) 2012. április 13-án. Letöltve: 2013. március 28.
  18. Több munkamenet multiplexelése ugyanarra az UDP portra
  19. [https://web.archive.org/web/20210701202930/http://mailman.mit.edu/pipermail/mosh-users/2015-July/000283.html Archiválva : 2021. július 1. a Wayback Machine -nél [mosh -users] mosh 1.2.5 megjelent]
  20. GitHub - boutier/mosh: a Mobile Shell többutas verziója . Letöltve: 2018. október 25. Az eredetiből archiválva : 2018. június 11.
  21. Matthieu Boutier és Juliusz Chroboczek (2015), Felhasználói tér többutas UDP a Mosh-ban 
  22. https://github.com/keithw/mosh/issues/2 "Az 1.3-as verzióhoz tervezett visszagörgetés támogatása"
  23. "Görgetés és alternatív képernyő (volt: Alternatív képernyő használata smcup/rmcup esetén)"

Linkek