Mosh (logiciel)

Un article de Wikipédia, l'encyclopédie libre.
Sauter à la navigation Sauter à la recherche
Page d'aide sur l'homonymie Pour les articles homonymes, voir Mosh (homonymie).
Mosh

Description de cette image, également commentée ci-après
Mosh indiquant des intermittences réseaux et démontrant la fonctionnalité d'écho local
Informations
Développé par Keith Winstein
Première version
Dernière version 1.3.2 ()[1]Voir et modifier les données sur Wikidata
Dépôt github.com/mobile-shell/moshVoir et modifier les données sur Wikidata
État du projet Développement actif
Écrit en C++
Environnement Unix, Linux, Android, BSD, FreeBSD, Mac OS, Solaris, Cygwin
Licence GNU GPLv3 avec des exceptions pour OpenSSL et iOS
Site web http://mosh.mit.edu/

Mosh (ou mobile shell) est un logiciel réseau libre permettant une connexion de type terminal à un serveur distant. Il se positionne en alternative à SSH. À la différence de ce dernier, Mosh est capable de gérer l'itinérance, des connexions intermittentes et fournit un mécanisme intelligent d'écho des commandes saisies permettant d'économiser de la bande passante. Il est plus robuste et plus adapté aux connexions réseau de mauvaises qualité (bas débit ou intermittentes), notamment à travers des réseaux Wi-Fi, 3G ou de longues distances.

Principes[modifier | modifier le code]

À la différence des protocoles de communication distant (Telnet, Rlogin, SSH), qui font transiter un flux d'octets du serveur vers le client que celui-ci interprète, mosh maintient une « image » de l'état de l'écran à la fois sur le serveur et le client. Le problème devient alors un problème de synchronisation d'état, c'est-à-dire faire évoluer le client vers l'état de l'écran du serveur, de la façon la plus efficace possible. Ceci est réalisé grâce au protocole de synchronisation d'état (State Synchronization Protocol ou SSP) développé par le projet mosh.

State Synchronization Protocol[modifier | modifier le code]

Mosh est la première application de ce protocole. Ce dernier est construit au-dessus du protocole UDP et fournit un mécanisme –sécurisé– de synchronisation des états d'objets dans des contextes de connexions intermittentes[2].

Inconvénients[modifier | modifier le code]

Du fait de la jeunesse du projet certaines fonctionnalités présentes dans d'autre protocoles (par exemple SSH) ne sont pas encore supporté :

  • IPv6 n'est pas encore supporté[3] ;
  • SSH Agent Forwarding n'est pas encore supporté[4] ;
  • X forward n'est pas encore supporté[5]

Références[modifier | modifier le code]

  1. « Release 1.3.2 » (consulté le 15 mars 2018)
  2. (en) Keith Winstein et Hari Balakrishnan, « Mosh: An Interactive Remote Shell for Mobile Clients », Reproducing Network Research blog,‎ colhttp://mosh.mit.edu/mosh-paper.pdf
  3. IPv6 non supporté
  4. SSH Agent Forwarding n'est pas encore supporté
  5. X forward n'est pas encore supporté