760 likes | 908 Views
Introduction à la modélisation des protocoles. Azza Ouled Zaid Institut Supérieur d’Informatique 2 ème année Cycle Ingénieur. Motivation. Les système de communication sont de plus en plus complexes – de plus en plus distribués, à temps réel et à processus multiples
E N D
Introduction à la modélisation des protocoles Azza Ouled Zaid Institut Supérieur d’Informatique 2ème année Cycle Ingénieur
Motivation • Les système de communication sont de plus en plus complexes – de plus en plus distribués, à temps réel et à processus multiples • Le nombre des produits informatique a accru d’une manière exponentielle • Les systèmes sont exécutés dans un environnement hétérogène • Les équipements conçus par différent constructeurs doivent être capables de communiquer ensemble. • Les standards de télécommunication ont largement augmenté • Le système de communication est diversifié • Internet, communication de données, communication mobile • Convergence des réseaux, interconnections & interopérabilité
Motivation • La vérification et validation des systèmes est devenue un défi • Pour assurer des produits logiciel avec une haute disponibilité, performance, coût optimal, portabilité, changement et mise à jour. • Contrainte du temps • Les nouveaux services et systèmes doivent être disponibles très rapidement • Comment réduire le temps de vérification ? • Contrainte de qualité • Comment peut on améliorer la qualité de vérification ? • Les techniques informelles telle que l’apprentissage pour les tests de protocole sont inadéquates • La génération et l’exécution d’un case study sont très coûteuses du point de vue temps • Nous tendons de rendre le processus de vérification moins coûteux et réutilisable • Conclusion: Conception formelle & vérification est une nécessité
Objectif du cours • Les principes de base de l’ingénierie des protocoles • Modélisation et vérification des protocoles basées sur les machines à états finis MEF • Tests théoriques et pratiques des protocoles • Maîtrise du système de télécommunication • Technique de test de conformité • Le bon langage de spécification
Prérequis • Protocoles et réseaux informatiques • Connaissance de • L’architecture des 7 couches du modèle OSI et les concepts telles que service, interfaces.. • Concepts de base des protocoles • contrôle de flux, • contrôle de l’erreur
Système de télécommunication • Télécommunication(s) : la science de transmission de l’information (mots, voix, images) à travers de longue distance, sous forme de signaux éléctromagnetiques (télégraphe, téléphone, radio, TV) • communication à distance • Système :l’ajout permettant à l’implémentation matérielle de déclencher la révolution informatique • Systèmede télécommunication :est la manière d’assurer la communication à distance
Réseaux • Définition • Ensemble de systèmes informatiques autonomes (noeuds) interconnectés • Les ressources et l’information sont accessibles, indépendamment de leur localisation physique • Avantages • partage des ressources • traitements parallèles ou distribués • améliorer la fiabilité, disponibilité, et performance • Compromis • Complexité accrue
Réseaux de base • Forme basique des communications : mémoire partagée l’échange des messages • Les réseaux sont couplés librement • pas de mémoire partagée • applications effectuées sur chaque noeud ne coopèrent que s’ils échangent des messages
Réseaux de base • Les réseaux se constituent de : • supports de transmission • les connecteurse.g. hub/switch/routeur • Interconnecter les supports de transmission, contrôler la transmission • le logiciel de protocole se charge de • encoder et formater les données • corriger les problèmes
Réseaux de communication • Offrir une communication • fiable • sûre • efficace d’une application à une autre • Détecter et corriger automatiquement • la corruption des données • perte des données • duplication • livraison non ordonnée • Trouver le chemin optimal de la source vers le destinataire • techniques de raccordement ou routage (Switching)
application application Système de communication réseau Systèmes de communication • Pour transférer les messages d’une manière transparente, des systèmes de communication point à point à travers le réseau sont offerts
Systèmes de communication & protocoles • Un systèmes de communicationregroupe un ensemble de protocoles afin d’offrir des services de communication • Le terme “Protocole” s’est fût utilisé par R. A. Scantlebury et K. A. Baretlett en Angleterre en 1967 (pour une procédure de communication de données) • C’est un accord sur l’échange de l’information dans un système distribué.
Services, Protocoles, &Services de communication • Service • activé par un fournisseur de service et appliqué par un ou plusieurs utilisateurs • défini par un ensemble d’utilisateurs et de primitives (opérations) • chaque primitive est une interaction entre l’utilisateur et le fournisseur • Protocole • un ensemble de règles, format des données, et fonctions faisant implanter un ensemble de services • l’utilisation du protocole est transparente pour l’utilisateur • Services de communication = une facilité de communication
Protocoles de communication • Protocole langage : • Définit un format précis pour les messages valides : une syntaxe, • Définit les règles de procédure pour l’échange de données: une grammaire, • Définit un vocabulaire pour les messages valides qui peuvent être échangés, avec leur signification: une sémantique.
Protocoles de communication • Dans toutes les circonstances les règles doivent indiquer sans ambiguïté ce qui est permit et ce qui est interdit • C’est une exigence difficile à réaliser dans la pratique Nécessité de créer un accord entre l’émetteur et le récepteur à propos des règles des échanges Établissement des organismes standards internationaux pour la conception, spécification et implémentation des protocoles
Protocoles de communication • les standards des protocoles de communication établissent des règles pour la communication entre des entités de la même couche. • Les standards des protocoles de communication ne mettent aucune contrainte sur les aspects locaux de communication. • La communication entre les entités issues des couches adjacentes, définit leservice de communication. • Distinction typique entre les services et les protocoles du fait que le protocole est normalisé alors que le service ne l’est pas.
Conception à couches des protocoles • Un protocole contient un grand nombre de fonctionnalités • Un protocole pourrait être défini comme un seul programme, mais ceci serait excessivement complexe • Le manque de modularité rendrait aussi difficile l’échange de modules préfabriqués entre compagnies
Manager A Manager B Négociation protocole Communication entre paires • Un manager de la compagnie A veut établir une transaction avec le manager de la compagnie B: • Je veux acheter X pièces du produit P. Négociation des prix, …doit être mise en place :
Fournisseur de service • Du moment que A et B ne sont pas dans la même place, ils doivent être relier à un mécanisme de transport pour transférer les PDUs (Protocol Data Unis) entre eux Manager A Manager B PDUs Service Data Units SDUs Service Data Units SDUs Service Provider
Manager A Manager B PDUs Service Data Units Service Data Units Assistant A Assistant B Service Data Units Service Data Units Fournisseur de service Couches • Le FS lui même est implémenté en communicant certaines entités entre elles (SDU)…Il est relié à l’assistant du manager qui écrit des lettres. • Ces lettres contiennent le texte simple fourni par les managers, incorporé dans un autre texte comme : Date… Cher Monsieur…Cordialement. • Le message final passera par la suite au fournisseur de service messagerie
Manager A Manager B Service Data Units Service Data Units PDUs Assistant A Assistant B SDU SDU Secrétaire A Secrétaire B SDU SDU Fournisseur de service Et encore des couches • L’interface de l’assistant est directement reliée avec les secrétaires. Ces dernières insèrent la lettre dans une enveloppe sur laquelle est marqué l’adresse et la passe au niveau inférieur qui est le fournisseur de service
Ajout d’en-têtes (encapsulation) Manager A en-têtes1 Payload PDUs Assistant A en-têtes1 en-têtes2 Payload Secrétaire A en-têtes3 en-têtes2 en-têtes1 Payload Fournisseur de service
Comment choisir les couches? • Plusieurs critères du génie logiciel peuvent nous aider à trouver la bonne façon de décomposer un protocole complexe en couches • De point de vue de la vérification, le critère le plus important est que les interfaces de service puissent être décrites de façon beaucoup plus simple que la somme des protocoles sous-jacents
Modèle OSI • Modèle de référence standardisé pour la spécification et implémentation des protocoles, conçu par l’ISO en 1983 • Modèle de référence de base • une base commune pour le développement des standards OSI • fonctionnalités : modèle de base, architecture de la sécurité, nommage et adressage, 2. Spécification des services • définir les services offerts par les systèmes OSI d’une manière abstraite 3. Spécification des protocoles • définir les fonctionnalités requises pour fournir un service OSI particulier
Modèle de référence OSI • Le modèle OSI introduit 3 concepts • Services : ce que la couche réalise • Interface : indique comment accéder aux services (communication des couches) • Protocoles : moyens d’achever les services
Modèle du système OSI • Système OSI -> interconnections des systèmes ouverts compatibles, • divise les communications en éléments plus petits et plus agréables à comprendre • uniformise les éléments du réseau afin de permettre le développement multiconstructeur. • modifications apportées à une couche n'affectent pas les autres couches.
Application Les services d’application sont fournis par l’infrastructure en couches supérieure Présentation Session Transport Les services d’égal à égal sont fournis par l’infrastructure en couches inférieure Réseaux Liaison de données Physique Modèle de référence OSI • OSI : Open System Interconnection
Modèle de référence OSI • Chaque couche dépend du service fourni par la couche OSI inférieure. • Pour fournir un service, la couche inférieure utilise l’encapsulation pour placer les PDU de la couche supérieure dans son champ de données. • Elle ajoute ensuite les en-têtes et les en-queues de PDU nécessaires à l’exécution de sa fonction.
Modèle de référence OSI • Par la suite, à mesure que les données traversent les couches du modèle OSI, d’autres en-têtes et en-queues sont ajoutés. • Dès que les couches 7, 6 et 5 ont ajouté leurs informations, la couche 4 en ajoute d’autres. Ce regroupement des données, ou unité de données de protocole de couche 4, est appelé segment.
Entités OSI N+1-Protocol Entity N+1-Protocol Entity N+1-PDUs N-SDUs N-SDUs N-SAP N-SAP N-Service Provider SAP: Service Access Point
Entités et unité de données OSI N+1Protocol Entity N+1Protocol Entity N+1 PDUs N SDUs N SDUs N Protocol Entity N Protocol Entity N PDUs N-1 SDUs N-1SDUs Service Provider
(N+1) Entité locale (N) utilisateur (N+1) Entité locale (N) utilisateur (N) Entité = local (N) Fournisseur de service =(N-1) utilisateur (N) Entité = local (N) Fournisseur de service =(N-1) utilisateur N-1Fournisseur deservice global Hiérarchie des protocoles : principe (N) SAP (N) SDUs (N) SDUs (N) Service de spécification des protocoles (N-1) SAP (N-1) SDUs (N-1) SDUs NFournisseur deserviceglobal
Couche N+1 Couche N+1 1 4 3 2 Couche N Couche N Primitive – service - hiérarchie des protocoles • Un service est formellement spécifié par un ensemble de primitives (opérations) disponibles à l’utilisateur sous forme de messages entre les couches adjacentes. • Service.demande • Service.indication • Service.réponse • Service.confirmation • Service=connecter/données/deconnecter
SAP SAP Service non confirmé REQUEST INDICATION CONFIRMATION REPONSE Service Data Units (SDUs) • Request : Une entité sollicite un service • Indication : Une entité est informée d'une demande de service • Reponse : Une entité a rendu le service, si possible • Confirmation : Une entité est informée que le service a été rendu Service confirmé
Exemple: Service de la couche Transport B B A A T-ConReq T-ConConf T-ConReq T-DiscInd T-ConInd T-ConResp T-ConInd T-DiscReq Connexion avec Succès AB Connexion refusée par B B A B A T-ConReq T-DatReq T-DatInd T-DiscInd Tentative de connexion de A refusée par le fourniss. de service Transfert Données AB A et B sont les SAPs des entités de protocoles A et B
Service couche transport: déconnection B A B A T-DiscReq T-DiscReq T-DiscReq T-DiscInd Les deux décident de déconnecter (collision) A décide de déconnecter B A T-DiscInd T-DiscInd Le fournisseur de Service décide de déconnecter
SAP N Protocole Couche N Interface entre couche N et couche N-1 SAP N-1 Protocoles et interfaces • Il y a une interface logique entre la couche N et la couche N-1
SAP N Protocole Couche N Interface entre couche N et couche N-1 SAP N-1 Protocoles et interfaces • L’interface • Prend les unités de protocoles (PDUs) générées par le protocole N et les encapsule pour former des unités de service(SDUs) dirigées au SAP N-1 • Prend les unités de service générées (SDUs) par le protocole N-1 et les décapsule pour générer des unités de protocole (PDUs) dirigées au protocole N
Protocoles et interfaces • Le protocole de couche N génère et répond aux unités de service (SDUs) • allant au • provenant de SAP N • Il génère et répond aussi aux unités de protocoles (PDUs) • allant au • provenant de l’interface avec SAP N-1 • Dans quelques cas, il peut aussi traiter directement des unités de service • P.ex. si une couche N trouve qu’il n’y a pas de connexion à travers la couche N-1, alors le protocole N peut déclencher directement le service d’ouverture de connexion N-1
Exemple: unités traitées par le protocole transport, phase connexion
La couche transport et ses unités de données pour la phase connexion Unités service couche transport: Ce schéma s’applique à toutes les couches T-SAP T-ConReq, T-ConResp, T-ConInd, T-ConConf Protocole Couche T N-ConReq N-ConConf CR, CC Interface Avec couche réseau: Encapsulation, décapsulation Unités de service couche Réseau N-SAP CR et CC sont transmis vers des couches inférieures encapsulés dans N-DatReq¸ N-DatInd, p.ex. N-DatReq(CR) N=Network=Réseau
Idéalement, la transmission des PDU est directe T-ConReq T-ConInd T-SAP T-SAP CR Protocole Transport Protocole Transport
En réalité, elle passe à travers le service sous-jacent T-ConReq T-ConInd T-SAP T-SAP Protocole Transport Protocole Transport CR CR Interface Interface N-DatReq(CR) N-DatReq(CR) N-SAP N-SAP Service Réseau (Network) Il est important d’observer que les primitives d’un protocole sont transmises comme données au niveau sous-jacent