Couches Session et Présentation de données Master Informatique première année Olivier Flauzac olivier.flauzac@univ-reims.fr Olivier Flauzac (URCA) Couches Session et Présentation de données olivier.flauzac@univ-reims.fr 1 / 54
Plan 1 La couche session Généralités Gestion des échanges Couche session et protocoles RTSP SIP 2 La couche présentation de données Généralités Format de documents ASN.1 HTML XML Olivier Flauzac (URCA) Couches Session et Présentation de données olivier.flauzac@univ-reims.fr 2 / 54
Plan 1 La couche session Généralités Gestion des échanges Couche session et protocoles RTSP SIP 2 La couche présentation de données Généralités Format de documents ASN.1 HTML XML Olivier Flauzac (URCA) Couches Session et Présentation de données olivier.flauzac@univ-reims.fr 3 / 54
Plan 1 La couche session Généralités Gestion des échanges Couche session et protocoles RTSP SIP 2 La couche présentation de données Généralités Format de documents ASN.1 HTML XML Olivier Flauzac (URCA) Couches Session et Présentation de données olivier.flauzac@univ-reims.fr 4 / 54
La couche Session Session Rôle ensemble de transactions entre deux entités du réseau mise en place de règles de conversations / dialogues coordination des échanges entre les applications mise en place des sessions lancement synchronisation resynchronisation du dialogue arrêt des sessions Olivier Flauzac (URCA) Couches Session et Présentation de données olivier.flauzac@univ-reims.fr 5 / 54
Services définis Synchronisation mise en place des échanges organisation des séquences de dialogues Gestion des transactions correction des erreurs de traitement restauration depuis un état antérieur connu Olivier Flauzac (URCA) Couches Session et Présentation de données olivier.flauzac@univ-reims.fr 6 / 54
Services de transport associés Point à point échange entre 2 hôtes Multipoint communication en étoile session : ensemble d échanges point à point avec un hôte engagé dans tous les échanges diffusion réception de tous les messages par tous les interlocuteurs Olivier Flauzac (URCA) Couches Session et Présentation de données olivier.flauzac@univ-reims.fr 7 / 54
Plan 1 La couche session Généralités Gestion des échanges Couche session et protocoles RTSP SIP 2 La couche présentation de données Généralités Format de documents ASN.1 HTML XML Olivier Flauzac (URCA) Couches Session et Présentation de données olivier.flauzac@univ-reims.fr 8 / 54
Communication entre les ordinateurs Echanges nombreux échanges courts (commutation de paquets) échanges spécifique à la gestion des communications gestion de l efficacité Echanges des rôles des acteurs client (récepteur) serveur (émetteur) échanges successifs des rôles entre les hôtes Olivier Flauzac (URCA) Couches Session et Présentation de données olivier.flauzac@univ-reims.fr 9 / 54
Le contrôle du dialogue Types de de communications défini par le contrôle de dialogue bidirectionnelle simultanée bidirectionnelle alternée Communication simultanée peu de collision de données gestion déléguée à d autres couches Communication alternée trop de colision de données mise en place d un jeton au niveau de la couche session émission sur la détention du jeton Olivier Flauzac (URCA) Couches Session et Présentation de données olivier.flauzac@univ-reims.fr 10 / 54
Synchronisation du dialogue Objectif Moyens permettre les pauses dans les échanges permettre l exécution d éléments de contrôle utilisation d un point de contrôle émission à l initiative d un des hôtes permet l enregistrement et la synchronisation horaire de la dernière séquence échangée Contrôles principaux initiation ordonnée fin de communication Olivier Flauzac (URCA) Couches Session et Présentation de données olivier.flauzac@univ-reims.fr 11 / 54
Dialogue Divisions lancement gestion ordonnée fin de communication Exemple de séquence de dialogue sauvegarde des données sauvegarde des paramètres réseau sauvegarde des paramètres de synchronisation Olivier Flauzac (URCA) Couches Session et Présentation de données olivier.flauzac@univ-reims.fr 12 / 54
Remarques sur la couche Session Dans la pratique communication multipoint peu supporté par le monde IP pas de protocole IETF associé à la couche session UDP utilisé pour le multipoint courant Olivier Flauzac (URCA) Couches Session et Présentation de données olivier.flauzac@univ-reims.fr 13 / 54
Plan 1 La couche session Généralités Gestion des échanges Couche session et protocoles RTSP SIP 2 La couche présentation de données Généralités Format de documents ASN.1 HTML XML Olivier Flauzac (URCA) Couches Session et Présentation de données olivier.flauzac@univ-reims.fr 14 / 54
Protocoles associés à la couche session Protocoles RTSP (Streaming temps réel) H 323 (voix et image sur IP) SIP (protocole pour le multimédia) AppleTalk (réseau Apple) Olivier Flauzac (URCA) Couches Session et Présentation de données olivier.flauzac@univ-reims.fr 15 / 54
RTSP Généralité Objectif Real Time Streaming Protocol Développé par l IETF (1998) RFC 2326 port : 554 déstiné aux systèmes de streaming media contrôle du serveur de media à distance : lecture pause accès en fonction d une position temporelle Olivier Flauzac (URCA) Couches Session et Présentation de données olivier.flauzac@univ-reims.fr 16 / 54
Moyens de RTSP Transport RTP (Realtime Traansport Protocol) basé sur UDP RDT (RealNetwork) Olivier Flauzac (URCA) Couches Session et Présentation de données olivier.flauzac@univ-reims.fr 17 / 54
Fonctionnement de RTSP Principe similaire à HTTP différences avec HTTP protocole basé sur des états nombre de requêtes augmenté mise en place d un identificateur de session pour éviter les connexions persistantes Olivier Flauzac (URCA) Couches Session et Présentation de données olivier.flauzac@univ-reims.fr 18 / 54
Types de requêtes Liste des requêtes REQUEST : URL + type de données SETUP : port de réception + type de média + type de flux PLAY PAUSE RECORD : envoie d une séquence à enregistrer TEARDOWN : termianison de la session Olivier Flauzac (URCA) Couches Session et Présentation de données olivier.flauzac@univ-reims.fr 19 / 54
Serveurs implémentant RTSP Quelques implémentations QuickTime Streaming Server (Apple) Darwin Streaming Server (Apple) VLC Windows Media Services Helix Mobile Server (RealNetwork)... Olivier Flauzac (URCA) Couches Session et Présentation de données olivier.flauzac@univ-reims.fr 20 / 54
SIP Généralités Protocole conçu par l IETF RFC 3261 propose la gestion des sessions de communication ne propose pas le transport port 5060 (TCP / UDP) transport généralement assuré par RTP Objectifs standardisation les sessions de comunications multimédia remplacement du protocole H323 Olivier Flauzac (URCA) Couches Session et Présentation de données olivier.flauzac@univ-reims.fr 21 / 54
Utilisation de SIP Applications transport de la voix visioconférence messagerie instantannée échange pour les jeux vidéos Olivier Flauzac (URCA) Couches Session et Présentation de données olivier.flauzac@univ-reims.fr 22 / 54
SIP proche de HTTP Requêtes de SIP INVITE : initiation d une session ACK : code d acquittement CANCEL : annulation de INVITE BYE : terminaison de session Quelques codes de retour 100 : trying 200 : OK 301/302 : moved 404 : not found 180 : ringing 182 : queued 486 : occupé Olivier Flauzac (URCA) Couches Session et Présentation de données olivier.flauzac@univ-reims.fr 23 / 54
Acteurs Agent logiciel utilisateur repéré par son URI (similaire à adresse mail) Registar gestion des enregistrements périodiques (REGISTER) gestion de la base de données des utilisateurs Proxy mise en relation des correspondants routage des requêtes (locales ou externes) Olivier Flauzac (URCA) Couches Session et Présentation de données olivier.flauzac@univ-reims.fr 24 / 54
Un appel SIP Format d un appel Olivier Flauzac (URCA) Couches Session et Présentation de données olivier.flauzac@univ-reims.fr 25 / 54
Plan 1 La couche session Généralités Gestion des échanges Couche session et protocoles RTSP SIP 2 La couche présentation de données Généralités Format de documents ASN.1 HTML XML Olivier Flauzac (URCA) Couches Session et Présentation de données olivier.flauzac@univ-reims.fr 26 / 54
Plan 1 La couche session Généralités Gestion des échanges Couche session et protocoles RTSP SIP 2 La couche présentation de données Généralités Format de documents ASN.1 HTML XML Olivier Flauzac (URCA) Couches Session et Présentation de données olivier.flauzac@univ-reims.fr 27 / 54
La couche présentation de données Présentation présentation des données selon un format compréhensible et exploitable par l hôte récepteur interprète entre les entités communicantes Fonctions principales formatage des données cryptage des données compression des données Olivier Flauzac (URCA) Couches Session et Présentation de données olivier.flauzac@univ-reims.fr 28 / 54
Opérations réalisées Sur l émetteur mise en forme des données reçues de la couche applicative passage des données modifiées à la couche session Sur le récepteur mise en forme des données reçues de la couhe session passage des données modifiées à la couche applicative Olivier Flauzac (URCA) Couches Session et Présentation de données olivier.flauzac@univ-reims.fr 29 / 54
Normes de la couche 6 Normes définition de format indépendants des architectures / systèmes norme de définition de texte norme de définition de structure de document norme de définition de contenu normes de présentation graphiques normes de présentation de son / séquences animées Olivier Flauzac (URCA) Couches Session et Présentation de données olivier.flauzac@univ-reims.fr 30 / 54
Graphique PICT graphiques de type QuickDRAW principalement sous MAC-OS TIFF Tagged Image Format File images bitmap haute résolution JPEG Joint Photographic Experts Group compression d images fixes complexes Olivier Flauzac (URCA) Couches Session et Présentation de données olivier.flauzac@univ-reims.fr 31 / 54
Sons / séquences animées MIDI Musical Instrument Digital Interface musique électronique MPEG Motion Picture Experts Group compression et codage de vidéo animée QuickTime données audio et vidéo défini pour les applications exécutées Olivier Flauzac (URCA) Couches Session et Présentation de données olivier.flauzac@univ-reims.fr 32 / 54
Plan 1 La couche session Généralités Gestion des échanges Couche session et protocoles RTSP SIP 2 La couche présentation de données Généralités Format de documents ASN.1 HTML XML Olivier Flauzac (URCA) Couches Session et Présentation de données olivier.flauzac@univ-reims.fr 33 / 54
Format de documents définis Format définition des données échangées structuration détournement pour le traitement Format proposés ASN.1 HTML XML Olivier Flauzac (URCA) Couches Session et Présentation de données olivier.flauzac@univ-reims.fr 34 / 54
Généralités ASN.1 Abstract Syntax Notation number One notation formelle norme internationale de spécification de données exploitation dans le cadre de protocoles de communication permet une communication efficace entre des entités hétérogènes indépendant des langages indépendant des systèmes Olivier Flauzac (URCA) Couches Session et Présentation de données olivier.flauzac@univ-reims.fr 35 / 54
Fonctionnalités Objectif représentation de données sous toutes formes données texte son vidéo... uniquement fait pour la structuration des informations pas de fonctionnalités de calcul ou d opérations basé sur le typage, sous-typage sérialisation de données sous la forme de chaînes d octets Olivier Flauzac (URCA) Couches Session et Présentation de données olivier.flauzac@univ-reims.fr 36 / 54
Représentation et codage Objectifs offrir une représentation concrète pour les échanges basés sur un ensemble de règles Pourquoi des règles de codage normalisées offrir un ensemble d outils et de méthodes certifiées éviter la création de codage spécifiques et le debuggage associé faciliter le développement et e déploiement d applications favoriser l inter-opérabilité des systèmes réduire les coûts de développement Olivier Flauzac (URCA) Couches Session et Présentation de données olivier.flauzac@univ-reims.fr 37 / 54
Représentation et codage Codages normalisés Basic Encoding Rules (BER) Canonical Encoding Rules (CER) XML Encoding Rules (XER) Packed Encoding Rules (PER) Generic String Encoding Rules (GSER) Olivier Flauzac (URCA) Couches Session et Présentation de données olivier.flauzac@univ-reims.fr 38 / 54
Basic Encoding Rules Généralités encodage d origine de ASN.1 alignement strict sur des octets format d auto-définition définition de délimiteurs format de type TLV (type-length-value) Format d un élément type longueur valeur fin de séquence (si nécessaire) Olivier Flauzac (URCA) Couches Session et Présentation de données olivier.flauzac@univ-reims.fr 39 / 54
Types ASN.1 Types simples entiers : INTEGER booléens : BOOLEAN chaînes de caractères : IASString, UniversalString... chaînes de bits : BIT STRING Types composés structures : SEQUENCE listes : SEQUENCE OF choix de types : CHOICE Olivier Flauzac (URCA) Couches Session et Présentation de données olivier.flauzac@univ-reims.fr 40 / 54
Exemple (BER) Données à représenter Nom : John P Smith Date de naissance : 17 j u i l l e t 1959 ( autres données )... Description ASN.1 d un enregistrement PersonnelRecord : : = [ APPLICATION 0] IMPLICIT SET { Name, t i t l e [ 0 ] V i s i b l e S t r i n g, d a t e O f B i r t h [ 1 ] Date, ( other types defined ) } Name : : = [ APPLICATION 1] IMPLICIT SEQUENCE { givenname V i s i b l e S t r i n g, i n i t i a l V i s i b l e S t r i n g, familyname V i s i b l e S t r i n g } Olivier Flauzac (URCA) Couches Session et Présentation de données olivier.flauzac@univ-reims.fr 41 / 54
Mapping des données sur la structure Mapping Personnel Record Length Contents 60 8185 Name Length Contents 61 10 V i s i b l e S t r i n g Length Contents 1A 04 " John " V i s i b l e S t r i n g Length Contents 1A 01 "P" V i s i b l e S t r i n g Length Contents 1A 05 " Smith " D a t e o f B i r t h Length Contents A0 0A Date Length Contents 43 08 " 19590717 " chaîne de caractères effectivement en ASCII Olivier Flauzac (URCA) Couches Session et Présentation de données olivier.flauzac@univ-reims.fr 42 / 54
Flux résultant Flux d octets 60 81 85 61 10 1A 04........ 0A 43 08 19 59 07 17 Olivier Flauzac (URCA) Couches Session et Présentation de données olivier.flauzac@univ-reims.fr 43 / 54
Applications Liste d applications SNMP LDAP H 323 (VoIP) X400 (mail) X500 (directory services) Olivier Flauzac (URCA) Couches Session et Présentation de données olivier.flauzac@univ-reims.fr 44 / 54
HTML : Généralités Hypertext Markup Language langage de balisage écriture de pages WEB gestion de l hyper-texte création d hyper-document application du Standard Generalized Markup Language (SGML) pas de calcul définition structurée de documents Olivier Flauzac (URCA) Couches Session et Présentation de données olivier.flauzac@univ-reims.fr 45 / 54
Définition sémentique Objectif pas créé pour le rendu visuel! définit pour structuré des documents : titre, sous-titre, contenu... détourné de son objectif d origine tableau utilisés pour le formatage! adjonction des CSS pour le positionnement Olivier Flauzac (URCA) Couches Session et Présentation de données olivier.flauzac@univ-reims.fr 46 / 54
Eléments du HTML Version 4 91 éléments 188 attributs Quelques éléments Structure globale du document Informations sur la langue Marquage sémantique du texte Application de feuille de style Listes Tables Inclusion d objets Marquage de présentation formulaire script Hyperliens cadre Olivier Flauzac (URCA) Couches Session et Présentation de données olivier.flauzac@univ-reims.fr 47 / 54
Exemple Un code HTML <!DOCTYPE HTML PUBLIC " //W3C/ / DTD HTML 4. 0 1 / /EN" " h t t p : / / www. w3. org /TR/ html4 / s t r i c t. dtd " > <html lang= " f r " > <head> < t i t l e >Mon premier document HTML< / t i t l e > < / head> <body> <p>bonjour t o u t l e monde  ;! < / p> < / body> < / html> Olivier Flauzac (URCA) Couches Session et Présentation de données olivier.flauzac@univ-reims.fr 48 / 54
XML : Généralités Objectifs XML (Extensible Markup Language) langage de balisage générique proposer un SGML simplifié faciliter l échange de contenu entre systèmes d informations hétérogènes pas limité à la représentation : transformable et interprétable format vérifié par un schéma Olivier Flauzac (URCA) Couches Session et Présentation de données olivier.flauzac@univ-reims.fr 49 / 54
Codage et représentation Codage possible utilisation de texte nécessité de définir les encodages particuliers codage de texte définit dans l en-tête du document <?xml version= " 1.0 " encoding= " ISO 8859 1"?> Exemple de balisage <pere nom= " G i l b e r t " > < f i l s nom= " V i c t o r " > C est moi </ f i l s > Mon père. </ pere > Olivier Flauzac (URCA) Couches Session et Présentation de données olivier.flauzac@univ-reims.fr 50 / 54
Degré de représentation Représentation simple (pauvre) <personne> <nom> O l i v i e r FLAUZAC< / nom> <email> o l i v i e r. flauzac@univ reims. f r < / email> <adresse>ufr Sciences Reims France< / adresse> < / personne> Olivier Flauzac (URCA) Couches Session et Présentation de données olivier.flauzac@univ-reims.fr 51 / 54
Degré de représentation (suite) Représentation riche <personne> <nom> <prenom> O l i v i e r < / prenom> <nom>flauzac< / nom> < / nom> <email> < i d e n t i f i a n t > o l i v i e r. f l a u z a c < / i d e n t i f i a n t > <serveur>univ reims. f r < / serveur> < / email> <adresse> < i n s t i t u t i o n >UFR Sciences< / i n s t i t u t i o n > < v i l l e >Reims< / v i l l e > <pays>france< / pays> < / adresse> < / personne> Olivier Flauzac (URCA) Couches Session et Présentation de données olivier.flauzac@univ-reims.fr 52 / 54
Représentation des données Représentation possibilité de gérer la présentation quelques format OpenDocument Format WOrd depuis version 2003 MathML SVG (Scalable Vector Graphics) Olivier Flauzac (URCA) Couches Session et Présentation de données olivier.flauzac@univ-reims.fr 53 / 54
Traitement des données Possibilité de traitement accès aux données structurées échange / stockage d informations règles de formatage et de transformations conversion mise en forme de documents (html, PDF...) Olivier Flauzac (URCA) Couches Session et Présentation de données olivier.flauzac@univ-reims.fr 54 / 54