24
Eric DÉCORNOD Hervé JAUME Université Louis Pasteur ULP Multimédia Strasbourg 6 èmes Journées Réseaux Marseille, Palais des Congrès, du 5 au 9 décembre 2005 Nomadisme et Compression X11

Nomadisme et Compression X11

  • Upload
    others

  • View
    23

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Nomadisme et Compression X11

Eric DÉCORNODHervé JAUME

Université Louis PasteurULP MultimédiaStrasbourg

6èmes Journées RéseauxMarseille, Palais des Congrès,du 5 au 9 décembre 2005

Nomadisme et Compression X11

Page 2: Nomadisme et Compression X11

Nomadisme et Compression X11

Contexte : Le projet Univ-RXLa technologie NX

– La Compression NX– Le modèle Client Serveur NX

Le client : une « appliquette » signée– Principe de fonctionnement– Modèle de développement– Ressources Locales

CAS comme système SSO– Rappel rapide– Problèmes et Solutions

Evolution

Page 3: Nomadisme et Compression X11

Le projet Univ-RX Objectif

Un accès nomade à un environnement numérique de travail :

intégré au portail de l'université

— accès web— SSO

facile d'accès— différents OS— différents réseaux

avec des outils— les ressources de

l'université— les applications

Page 4: Nomadisme et Compression X11

Environnement Numérique de Travail– outils de bureautique,– logiciels pédagogiques,– plateforme de travail collaboratif.

Le projet Univ-RX Objectif

Page 5: Nomadisme et Compression X11

Le projet Univ-RX L'infrastructure

« directeur »passif

Réseauxd'inter-connexions

« directeur »actif

« jEEV »Apache - Tomcat

LANprivé

LAN public

Serveursd'applications

répartition des connexions

compressionNX

plateforme web de travail collaboratif qui

se substitue au bureau

Page 6: Nomadisme et Compression X11

Eric DÉCORNODHervé JAUME

Université Louis PasteurULP MultimédiaStrasbourg

6èmes Journées RéseauxMarseille, Palais des Congrès,du 5 au 9 décembre 2005

Le modèle Client Serveur NX

La compression NX est développée par la société italienne NoMachine sous licence GPL.NoMachine commercialise des serveurs et distribue gratuitement sous licence fermée des clients Windows, Linux et Mac OS X.FreeNX est une implémentation GPL de serveur NX écrite en SHELL SCRIPT.

NoMachine (GPL)

nxagent nxproxy

NoMachine(commercial)

FreeNX(GPL)

nxclientnxserver

WindowsLinux

Mac OS X(gratuit)

Serveur Compression Client

Page 7: Nomadisme et Compression X11

XX

La Compression NX

XXX

Le protocole (X11) entre les applications graphiques et le serveur graphique est trop lourd pour la majorité des usages nomades.

La compression NX intercale au milieu de la communication deux agents qui réalisent un certain nombre d'économies sur les échanges.

Page 8: Nomadisme et Compression X11

Eric DÉCORNODHervé JAUME

Université Louis PasteurULP MultimédiaStrasbourg

6èmes Journées RéseauxMarseille, Palais des Congrès,du 5 au 9 décembre 2005

La Compression NX

Plusieurs techniques sont utilisées :– cache de messages (MessageStore),

– encodage différentiel (Differential Encoding),

– encodage des identifiants avec algorithme MTF (Cache Based Value Encoding),

– compression d'images et découpage en trames (Compression & Streaming),

– cache d'images sur le disque,

– contrôle de la bande passante.

Page 9: Nomadisme et Compression X11

Eric DÉCORNODHervé JAUME

Université Louis PasteurULP MultimédiaStrasbourg

6èmes Journées RéseauxMarseille, Palais des Congrès,du 5 au 9 décembre 2005

La Compression NX

cache de messages :seules les différences avec le cache doivent être transférées pour reconstruire le message original

chaque type de message a son mode de calcul propre.

60 à 80 % des messages peuvent être codés par ce biais.

Page 10: Nomadisme et Compression X11

Eric DÉCORNODHervé JAUME

Université Louis PasteurULP MultimédiaStrasbourg

6èmes Journées RéseauxMarseille, Palais des Congrès,du 5 au 9 décembre 2005

La Compression NX

encodage différentiel :chaque champ est encodé séparément, en tirant au maximum parti des informations déjà connues.

ex: PolySegment

le gain est de 5:1 à 8:1 pour cette méthode.

(272,401)

(293,439)

(294,399)

(305,433)

(272,401)

Δ(+21,+38)

Δ(+1,-40)

Δ(+11,+34)

Page 11: Nomadisme et Compression X11

Eric DÉCORNODHervé JAUME

Université Louis PasteurULP MultimédiaStrasbourg

6èmes Journées RéseauxMarseille, Palais des Congrès,du 5 au 9 décembre 2005

La Compression NX

l'algorithme MTFMove To Front, déplacer vers l'avant

consiste à remplacer chaque identifiant par un indice, donné par un tableau évoluant de manière dynamique.

0 ID_A

1 ID_B2 ID_C

3 ID_D

0 ID_D

1 ID_A2 ID_B

3 ID_C

0 ID_E

1 ID_D2 ID_A

3 ID_B

4 ID_C

ID_D ID_D ID_D ID_D ID_D ID_E

temps

ID_AID_A

3 0 0 0 0 ID_E00

Page 12: Nomadisme et Compression X11

Eric DÉCORNODHervé JAUME

Université Louis PasteurULP MultimédiaStrasbourg

6èmes Journées RéseauxMarseille, Palais des Congrès,du 5 au 9 décembre 2005

La Compression NX

les transferts d'images (X_PutImage) :compressés en PNG ou JPEG

JPEG donne un ratio typique de 20:1

Page 13: Nomadisme et Compression X11

Eric DÉCORNODHervé JAUME

Université Louis PasteurULP MultimédiaStrasbourg

6èmes Journées RéseauxMarseille, Palais des Congrès,du 5 au 9 décembre 2005

La Compression NX

les gros messages sont découpés en petits morceaux et intercalés dans le flux des messages

pénalisant les applications intensivement graphiques.

ex: une image de 256 Ko passe à 12 Ko

Page 14: Nomadisme et Compression X11

Eric DÉCORNODHervé JAUME

Université Louis PasteurULP MultimédiaStrasbourg

6èmes Journées RéseauxMarseille, Palais des Congrès,du 5 au 9 décembre 2005

La Compression NX

cache d'images sur le disque.

un système de contrôle de la bande passante,(quota de bande passante par application).

Page 15: Nomadisme et Compression X11

Eric DÉCORNODHervé JAUME

Université Louis PasteurULP MultimédiaStrasbourg

6èmes Journées RéseauxMarseille, Palais des Congrès,du 5 au 9 décembre 2005

Le modèle Client Serveur NX

Clef Privée (NX)SSH

nxserversous

l'identité NX

loginmot de passe

nxnodesous l'identitéde l'utilisateur

NXnxagent nxproxy

Via sshou su

Page 16: Nomadisme et Compression X11

Eric DÉCORNODHervé JAUME

Université Louis PasteurULP MultimédiaStrasbourg

6èmes Journées RéseauxMarseille, Palais des Congrès,du 5 au 9 décembre 2005

Le modèle Client Serveur NX

Clef Privée (NX)SSH

nxserversous

l'identité NX

loginmot de passe

nxnodesous l'identitéde l'utilisateur

NXnxagent nxproxy

Via sshou su

Page 17: Nomadisme et Compression X11

AppliquetteJava

jSCH

une appliquette comme mode d'accès

SSH

NXnxagent nxproxy

loginmot de passe

Une appliquette signée est affranchie des contraintes du « bac à sable » ; elle peut :–ouvrir des connexions réseau,–accéder au système de fichiers(même en écriture),–exécuter des applications natives(non-java).

Page 18: Nomadisme et Compression X11

une appliquette comme mode d'accès

L'appliquette réalise les étapes suivantes :identification du système,téléchargement (si nécessaire)des applications natives (non-java),établissement de la session SSH, démarrage des applications natives(notamment un serveur X11 sur les systèmes qui en sont dépourvus),démarrage de la session distante.

Page 19: Nomadisme et Compression X11

une appliquette comme mode d'accès

JApplet

NXlinux

NXarch

NXwin32 NXnone

Thread

NXrun

1

1

MyUserInfo

1

1

Jsch

1

1

« interface »UserInfo

« interface »UIkeyboardInteractive

NXweb

1

1

JApplet

Extrait du diagramme de classes UML :

Page 20: Nomadisme et Compression X11

Ressources Locales

Fichiers Locaux– NoMachine utilise le partage de fichier

windows, or ce dernier nécessite des droits élevés et une procédure peu intuitive.

– Un serveur FTP est implémenté dans l'appliquette.KDE communique de façon intuitive pour l'utilisateur et une authentification arbitraire est fixée (~/.netrc).

Son– Même mécanisme qu'avec les clients

NoMachine : ESD sous WINDOWS et ARTS sous LINUX.

L'impression est encore à l'étude (IPP).

Page 21: Nomadisme et Compression X11

le Système de SSO CAS

Ticket Nom rejouable ? Délivré surprésentation de

Stockage

TGCTicketGrantingCookie

login+mot de passe

dans le navigateur del'utilisateur sous laforme d'un cookie

ST ServiceTicket TGC + URL dans l'URL

login + mdpTGC

STTGC+URL

ST

ST+URLlogin

Page 22: Nomadisme et Compression X11

Eric DÉCORNODHervé JAUME

Université Louis PasteurULP MultimédiaStrasbourg

6èmes Journées RéseauxMarseille, Palais des Congrès,du 5 au 9 décembre 2005

Intégration au Système de SSO CAS

ServeurCAS(HTTPS )

TGC

7100

7100 xfs

SSHDlogin + ST-2

4: -> ST-2?(srv=ssh)<- Ok + login

3: -> login?(srv=ssh)<- ST-2

2: -> ST-1?(srv=applet)<- Ok + login

1: -> login?(srv=applet)<- ST-1

Navigateur

Java

PAM requiert login & ticket

L'appliquette demande un deuxième ticket pour le compte de l'utilisateur et obtient le login du premier.

Page 23: Nomadisme et Compression X11

Evolutions

Poursuivre le SSO à l'intérieur de la session (CAS-N-tiers).

Macintosh OS X

Impression locale

Mode « rootless »

Page 24: Nomadisme et Compression X11

Conclusion

L'appliquette est sous licence GPLDisponible ici :

http://univ-rx.u-strasbg.fr/applet-univrx/

ServeurCAS(HTTPS )

Serveur(utilisateur)

Application

nxesd

Xwin(cygwin)

OS(W32)

nxproxy

SSH(jsch)

Applet Java(signée)

TGCNavigateur

libX11

libX11

libX11

6000 + nx6000 + x

4000 + nx7100

4000 + nx

7100

nxagent(Xnest + nxproxy)

mozilla

xfs

KDE

SSHDlogin + ST-2

4: -> ST-2?(srv=ssh)<- Ok + login

3: -> login?(srv=ssh)<- ST-2

2: -> ST-1?(srv=applet)<- Ok + login

1: -> login?(srv=applet)<- ST-1

MachineCliente