Upload
others
View
23
Download
0
Embed Size (px)
Citation preview
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
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
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
Environnement Numérique de Travail– outils de bureautique,– logiciels pédagogiques,– plateforme de travail collaboratif.
Le projet Univ-RX Objectif
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
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
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.
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.
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.
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)
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
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
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
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).
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
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
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).
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.
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 :
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).
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
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.
Evolutions
Poursuivre le SSO à l'intérieur de la session (CAS-N-tiers).
Macintosh OS X
Impression locale
Mode « rootless »
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