Introduction la modlisation des protocoles Azza Ouled Zaid








































































- Slides: 72
Introduction à la modélisation des protocoles Azza Ouled Zaid Institut Supérieur d’Informatique 2ème année Cycle Ingénieur 1
Motivation l Les système de communication sont de plus en plus complexes – de plus en plus distribués, à temps réel et à processus multiples l Le nombre des produits informatique a accru d’une manière exponentielle l 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é l Le système de communication est diversifié • Internet, communication de données, communication mobile • Convergence des réseaux, interconnections & interopérabilité 2
Motivation l La vérification et validation des systèmes est devenue un défi l Pour assurer des produits logiciel avec une haute disponibilité, performance, coût optimal, portabilité, changement et mise à jour. l Contrainte du temps • Les nouveaux services et systèmes doivent être disponibles très rapidement • Comment réduire le temps de vérification ? l 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 l 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 l Conclusion: Conception formelle & vérification est une nécessité 3
Objectif du cours l Les principes de base de l’ingénierie des protocoles l Modélisation et vérification des protocoles basées sur les machines à états finis MEF l l Tests théoriques et pratiques des protocoles Maîtrise du système de télécommunication l Technique de test de conformité l Le 4 bon langage de spécification
Prérequis l Protocoles et réseaux informatiques l Connaissance de l L’architecture des 7 couches du modèle OSI et les concepts telles que service, interfaces. . l Concepts de base des protocoles • contrôle de flux, • contrôle de l’erreur 5
Introduction générale 6
Système de télécommunication l 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 l Système : l’ajout permettant à l’implémentation matérielle de déclencher la révolution informatique l Système de télécommunication : est la manière d’assurer la communication à distance 7
Réseaux l l l Définition l Ensemble de systèmes informatiques autonomes (noeuds) interconnectés l Les ressources et l’information sont accessibles, indépendamment de leur localisation physique Avantages l partage des ressources l traitements parallèles ou distribués l améliorer la fiabilité, disponibilité, et performance Compromis l Complexité accrue 8
Réseaux de base l Forme basique des communications : mémoire partagée l’échange des messages l Les réseaux sont couplés librement l pas de mémoire partagée l applications effectuées sur chaque noeud ne coopèrent que s’ils échangent des messages 9
Réseaux de base l Les réseaux se constituent de : l supports de transmission l les connecteurs e. g. hub/switch/routeur • l Interconnecter les supports de transmission, contrôler la transmission le logiciel de protocole se charge de 1. 2. encoder et formater les données corriger les problèmes 10
Réseaux de communication l Offrir une communication l fiable l sûre l efficace d’une application à une autre l l Détecter et corriger automatiquement l la corruption des données l perte des données l duplication l livraison non ordonnée Trouver le chemin optimal de la source vers le destinataire l techniques de raccordement ou routage (Switching) 11
Systèmes de communication l Pour transférer les messages d’une manière transparente, des systèmes de communication point à travers le réseau sont offerts application Système de communication réseau 12
Systèmes de communication & protocoles l Un systèmes de communication regroupe un ensemble de protocoles afin d’offrir des services de communication l 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) l C’est un accord sur l’échange de l’information dans un système distribué. 13
Services, Protocoles, & Services de communication l l l Service l activé par un fournisseur de service et appliqué par un ou plusieurs utilisateurs l défini par un ensemble d’utilisateurs et de primitives (opérations) l chaque primitive est une interaction entre l’utilisateur et le fournisseur Protocole l un ensemble de règles, format des données, et fonctions faisant implanter un ensemble de services l l’utilisation du protocole est transparente pour l’utilisateur Services de communication = une facilité de communication 14
Protocoles de communication l Protocole langage : l Définit un format précis pour les messages valides : une syntaxe, l Définit les règles de procédure pour l’échange de données: une grammaire, l Définit un vocabulaire pour les messages valides qui peuvent être échangés, avec leur signification: une sémantique. 15
Protocoles de communication l Dans toutes les circonstances les règles doivent indiquer sans ambiguïté ce qui est permit et ce qui est interdit l 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 16
Protocoles de communication l les standards des protocoles de communication établissent des règles pour la communication entre des entités de la même couche. l Les standards des protocoles de communication ne mettent aucune contrainte sur les aspects locaux de communication. l La communication entre les entités issues des couches adjacentes, définit le service de communication. l Distinction typique entre les services et les protocoles du fait que le protocole est normalisé alors que le service ne l’est pas. 17
Conception et description à couches 18
Conception à couches des protocoles l Un protocole fonctionnalités l Un protocole pourrait être défini comme un seul programme, mais ceci serait excessivement complexe l Le manque de modularité rendrait aussi difficile l’échange de modules préfabriqués entre compagnies 19 contient un grand nombre de
Communication entre paires l Un manager de la compagnie A veut établir une transaction avec le manager de la compagnie B: l Je veux acheter X pièces du produit P. Négociation des prix, …doit être mise en place : Manager A Manager B Négociation protocole 20
Fournisseur de service l 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 Service Data Units SDUs Manager B PDUs Service Provider 21 Service Data Units SDUs
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 PDUs Service Data Units Assistant A Service Data Units Assistant B Service Data Units 22 Service Data Units Fournisseur de service
Et encore des couches l 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 Manager A Service Data Units Manager B Service Data Units PDUs Assistant A Assistant B SDU Secrétaire A Secrétaire B SDU Fournisseur de service 23
Ajout d’en-têtes (encapsulation) Manager A en-têtes 1 Payload PDUs Assistant A en-têtes 2 en-têtes 1 Payload Secrétaire A en-têtes 3 en-têtes 2 en-têtes 1 Payload Fournisseur de service 24
Comment choisir les couches? l Plusieurs critères du génie logiciel peuvent nous aider à trouver la bonne façon de décomposer un protocole complexe en couches l 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 25
Modèle OSI 26
Modèle OSI l Modèle de référence standardisé pour la spécification et implémentation des protocoles, conçu par l’ISO en 1983 1. 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 27
Modèle de référence OSI l Le modèle OSI introduit 3 concepts 1. Services : ce que la couche réalise 2. Interface : indique comment accéder aux services (communication des couches) 3. Protocoles : moyens d’achever les services 28
Modèle du système OSI l Système OSI -> interconnections des systèmes ouverts compatibles, l divise les communications en éléments plus petits et plus agréables à comprendre l uniformise les éléments du réseau afin de permettre le développement multiconstructeur. l modifications apportées à une couche n'affectent pas les autres couches. 29
Modèle de référence OSI : Open System Interconnection l Les services d’application sont fournis par l’infrastructure en couches supérieure Application Présentation Session Les services d’égal à égal sont fournis par l’infrastructure en couches inférieure Transport Réseaux Liaison de données Physique 30
Modèle de référence OSI 31
Couches OSI 32
Modèle de référence OSI l Chaque couche dépend du service fourni par la couche OSI inférieure. l 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. l Elle ajoute ensuite les en-têtes et les en-queues de PDU nécessaires à l’exécution de sa fonction. 33
Modèle de référence OSI l 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. l 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. 34
Modèle de référence Open Systems Interconnection 35
Modèle de référence Open Systems Interconnection 36
Entités OSI N+1 -Protocol Entity N+1 -PDUs N-SAP N-Service Provider SAP: Service Access Point 37 N-SDUs
Entités et unité de données OSI N+1 Protocol Entity N+1 PDUs N SDUs N Protocol Entity N-1 SDUs N-1 SDUs Service Provider 38
Hiérarchie des protocoles : principe (N+1) Entité locale (N) utilisateur (N) SDUs (N) SAP (N) Service de spécification des protocoles (N) Entité = local (N) Fournisseur de service =(N-1) utilisateur (N-1) SDUs (N+1) Entité locale (N) utilisateur (N) SDUs (N) Entité = local (N) Fournisseur de service =(N-1) utilisateur (N-1) SAP (N-1) SDUs N-1 Fournisseur de service global 39 N Fournisseur de service global
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. l Primitive signification Couche N+1 1 4 Couche N+1 3 Demande Une entité réclame le service pour assurer certains travaux Indication Une entité est informée sur une action Réponse Une entité veut répondre à une action Confirmation La réponse à une demande antérieure est retournée 2 Couche N 1. Service. demande 2. Service. indication 3. Service. réponse 4. Service. confirmation Service=connecter/données/deconnecter 40
Service Data Units (SDUs) l Request : Une entité sollicite un service l Indication : Une entité est informée d'une demande de service l Reponse : Une entité a rendu le service, si possible l Confirmation : Une entité est informée que le service a été rendu SAP REQUEST CONFIRMATION 41 SAP INDICATION REPONSE Service non confirmé Service confirmé
Exemple: Service de la couche Transport A B T-Con. Req A T-Con. Ind T-Con. Resp T-Con. Conf T-Con. Req T-Con. Ind T-Disc. Req T-Disc. Ind Connexion avec Succès A B T-Con. Req B A Connexion refusée par B A B T-Dat. Req B T-Dat. Ind T-Disc. Ind Tentative de connexion de A refusée par le fourniss. de service 42 Transfert Données A B A et B sont les SAPs des entités de protocoles A et B
Service couche transport: déconnection A A B T-Disc. Req T-Disc. Ind B T-Disc. Ind Le fournisseur de Service décide de déconnecter 43 T-Disc. Req Les deux décident de déconnecter (collision) A décide de déconnecter A B
Protocoles et interfaces l 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 44 SAP N-1
Protocoles et interfaces l L’interface l l 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 SAP N Protocole Couche N Interface entre couche N et couche N-1 SAP N-1 45
Protocoles et interfaces l Le protocole de couche N génère et répond aux unités de service (SDUs) l allant au l provenant de SAP N l Il génère et répond aussi aux unités de protocoles (PDUs) l allant au l provenant de l’interface avec SAP N-1 l Dans quelques cas, il peut aussi traiter directement des unités de service l 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 46 connexion N-1
Exemple: unités traitées par le protocole transport, phase connexion T Service Primitives (T-SDU) T Protocol Primitives (T-PDUs) T-Con. Req CR incoming/outgoing N Service Primitives (N-SDUs) N-Con. Req, outgoing If N-Connection must be established T-Con. Ind N-Dat. Req outgoing Incoming, outgoing T-Con. Resp incoming T-Con. Conf CC outgoing incoming/outgoing 47 N-Con. Conf, incoming If N-Connection must be established
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-Con. Req, T-Con. Resp, T-Con. Ind, T-Con. Conf Protocole Couche T N-Con. Req CR, CC N-Con. Conf Interface Avec couche réseau: Encapsulation, décapsulation Unités de service couche Réseau N=Network=Réseau 48 N-SAP CR et CC sont transmis vers des couches inférieures encapsulés dans N -Dat. Req¸ N-Dat. Ind, p. ex. NDat. Req(CR)
Idéalement, la transmission des PDU est directe T-Con. Req T-SAP Protocole Transport 49 T-Con. Ind CR T-SAP Protocole Transport
En réalité, elle passe à travers le service sous-jacent T-Con. Req T-Con. Ind T-SAP Protocole Transport CR CR Interface N-Dat. Req(CR) 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 50
Connexion Réseau l Dans la couche Transport, nous pouvons avoir plusieurs connexions l Les demandes de connexion Transport sont normalement reliées à la couche Réseau encapsulées comme données comme suit: N-Dat. Req(CR(params) l Mais à fin que ceci soit possible, il faut qu’il y ait une connexion au niveau Réseau… l Donc la 1ère fois le protocole transport doit créer une connexion Réseau en invoquant directement une N 51 Con. Req
Relation entre SDU et PDU l Dans le cas le plus simple, une couche transmet les données telles quelles à la couche adjacente, après avoir ajouté ou enlevé ses propres informations. l Mais souvent nous avons : l Segmentation/réassemblage l Groupage/dégroupage l Concaténation/séparation 52
Pourquoi segmentation, groupage, etc. l Les entités de données doivent être organisées selon les besoins des protocoles dans les différentes couches l P. ex. dans les premières 3 couches, il est pratique d’avoir des courtes unités d’information (paquets, trames…) car les protocoles se préoccupent de l Détection et correction d’erreurs : pour pouvoir localiser l’erreur et au besoin retransmettre seulement l’information qui a été touchée par l’erreur l Multiplexage des canaux : plusieurs connexions partagent les canaux, donc on le donne à chaque connexion pour un court instant seulement 53
Pourquoi segmentation, groupage, etc. l Après la couche transport, il est plus convenable de travailler avec des unités d’information qui ont une signification logique l La couche transport elle même transmet aux niveaux supérieurs des chaînes d’octets de longueur arbitraire, mais ayant une valeur logique • Une commande de transaction, un message électronique, une interrogation SQL… 54
Encapsulation simple SAP = Service Access Point § IDU = Interface Data Unit § SDU = Service Data Unit § ICI = Interface Control Information § PDU = Protocol Data Unit § PCI = Protocol Control Information i. e. Header § IDU ICI SDU Couche N+1 SDU Interface Couche N ICI SDU PCI SDU N-PDU 55 Les entités de la couche N échangent NPDUs dans leur protocole de la couche N
Segmentation/réassemblage l Fonction d'une couche(N) mettant en correspondance une SDU(N) avec plusieurs PDU(N) l Adaptation de la taille des données (N-SDU) aux caractéristiques de transmission (N-PDU) l Problème : identification des PDU transportant les données constituant la SDU. l Exemple : le TCP offre à la couche supérieure une chaîne de données qui lui est livrée sous forme de datagrammes par la couche IP l Exemple pareil dans la couche transport OSI 56
Segmentation/réassemblage 57
Groupage/dégroupage l Fonction d'une couche(N) mettant en correspondance plusieurs SDU(N) avec une seule PDU(N) l Adaptation de la taille des données (N-SDU) aux caractéristiques de la transmission (N-PDU) l Diminution du surcoût (overhead) l Problème : identification des SDU transportées. l Exemple : le tamponnage des données sous TCP 58
Groupage/dégroupage 59
Concaténation/séparation l Fonction d'une couche (N) mettant en correspondance plusieurs PDU(N) avec une seule SDU(N) l Adaptation de la taille des données aux caractéristiques du service (N-SDU) l Diminution du surcoût (overhead) l Problème : identification des PDU transportées l Exemple : La couche Session OSI divise les unités de transport en sessions, qui sont les unités de temps que l’usager décide de dédier à une connexion 60
Concaténation/séparation 61
Modèle de service et protocole l A chaque couche, un ou plusieurs services sont offerts l l un service permet au niveau supérieur adjacent de communiquer ou à l’utilisateur d’émettre et recevoir les données à travers le réseau Pour des mesures de protection, les entités d’une couche forment un protocole qui l défini les règles/formats pour la collaboration entre les entités l défini l’interopérabilité entre les entités en utilisant le service offert par la couche inférieure à l’exception de la couche physique 62
Modèle de service et protocole l Service visible uniquement à la couche supérieure adjacente l Service d’implémentation du protocole est cachée l l Avantage: le protocole peut être remplacer par un autre sans pour autant affecter la couche au-dessus s’il fournit le même service La structure de l’OSI a séparé les spécifications des services de celles des protocoles 63
Services en mode connecté et non connecté l l l Service en mode connecté fonctionne comme le téléphone l connexion établie : réserver le chemin avant d’émettre le message l échange de données : pas besoin d’une adresse l connexion terminée Service en mode non connecté est similaire au système postal l un message est confié au système : adresse complète sur chaque paquet l il navigue à travers des chemins afin d’atteindre la destination l référé par service datagramme Autres services fiables en mode non connecté : l Service datagramme avec accusés de réception l Service demande/réponse 64
Types de services Services Mode connecté Datagramme Non fiable Fiable (voix numérisée) Séquence de messages Flux binaire Login à distance Messages limités Messages non limités 65 Non fiable Fiable (EMAIL) Accusé de réception Demande /réponse Modèle Retourner un accusé de client/serveur Requête BD réception
Comparaison l Le mode non connecté est beaucoup plus simple à programmer et gérer, il est beaucoup plus efficace. l Il laisse beaucoup de responsabilités aux couches supérieures et à l’usager l Sur mediums très fiables (p. ex. Fibres optiques) avec commutation très efficace, en pratique le mode sans connexion peut fournir une Qo. S très semblable à celle du mode connecté l Pour quelques apps, p. ex. multimédia, il n’est pas essentiel que tous les paquets soient reçus l D’où 66 la popularité du protocole IP
Modèle à couche en OSI et en TCP/IP l En TCP/IP les couches Présentation et Session sont absentes (laissées à l’application d’usager) l Le modèle OSI met l’accent sur les deux concepts de service et protocole l l La description du service étant souvent beaucoup plus simple que la description des protocoles Le modèle TCP/IP met l’accent sur le concept de protocole l l l Les primitives de services ne sont pas précisément décrites Il y a seulement le concept de PDUs En OSI la déf du modèle a précédé la déf du protocole, pour TCP/IP c’est le contraire 67
Organisations des standards 68
Organisations des standards l Plusieurs corps de standardisation sont actifs dans le domaine de la communication l Exemples l NIST : National Institute of Science and Technology l FTSC : the Federal Telecommunications Standards Committee l IEEE : Institute of Electrical and Electronics Engineers l Les deux standards les plus importants sont l’ISO et CCITT. 69
ISO : International Standards Organization l L’ISO est organisé en comités techniques (TC) l Chaque TC est organisé en sous comités (SC) et groupe de travails (WG). l Exemple : l l TC 97: standards pour les ordinateurs, l TC 97/SC 6 concerne la télécommunication l TC 97/SC 6/WG 1 : porte sur les standards des protocoles de liaison de données. Contrairement à CCITT, l’ISO n’est pas une organisation conventionnelle, les membres intervenants sont bénévoles 70
CCITT l CCITT : Comité Consultatif International Télégraphique et Téléphonique l C’est une partie de l’ITU International Télécommunications Union. une organisation qui a été formée en 1956 par l’union de deux entités séparées : CCIT (telegraph systems) et le CCIF (telephone systems). l l La CCITT est organisée en groupes d’études (SG) et réunions de travails (working parties WP) l SGVII, travail sur les réseaux de communication des données l SGVII/WP 2 travail sur les interfaces. l Les meilleurs recommandations des protocoles publiées par CCITT sont X. 21 et X. 25. l X. 21 a eu l’honneur d’être le premier protocole de référence validé par 71 l’analyse d’atteignabilité exhaustive
IFIP : International Federation for Information Processing • l l Parmi ses fonctionnalités : pont reliant les travaux développés par CCITT et ISO IFIP est organisé en comités techniques (TC) Chaque TC est divisée en groupes de travail (WG). l l l TC 6, communication des données WG 6. 1 Études de l’Architecture et protocoles pour les réseaux informatiques La standardisation des protocoles n’a pas résolu le problème de conception de ces derniers Quel est l’intérêt d’utiliser un standard international incomplet avec des défauts Les standards rencontrent le même problème que les autres concepteurs de protocoles La conception par une comité ne garanti pas forcement le meilleur résultat 72








































































