Upload
hedya
View
18
Download
1
Embed Size (px)
DESCRIPTION
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 - PowerPoint PPT Presentation
Citation preview
1
Introduction à la modélisation des protocoles
Azza Ouled Zaid
Institut Supérieur d’Informatique
2ème année Cycle Ingénieur
2
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é
3
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é
4
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
5
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
6
Introduction générale
7
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ème de télécommunication : est la manière d’assurer la communication à distance
8
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
9
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
10
Réseaux de base
Les réseaux se constituent de : supports de transmission les connecteurs e.g. hub/switch/routeur
• Interconnecter les supports de transmission, contrôler la transmission
le logiciel de protocole se charge de
1. encoder et formater les données
2. corriger les problèmes
11
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)
12
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ème de communication
applicationapplication
réseau
13
Systèmes de communication & protocoles
Un systèmes de communication regroupe 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é.
14
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
15
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.
16
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
17
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 le service 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.
18
Conception et description à couches
19
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
20
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 :
Manager A Manager B
Négociationprotocole
21
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
Service Provider
PDUsService Data Units
SDUsService Data Units
SDUs
22
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 UnitsService Data Units
Assistant A Assistant B
Fournisseur de service
Service Data Units Service Data Units
23
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
Manager A Manager B
PDUs Service Data UnitsService Data Units
Assistant A Assistant B
Secrétaire A Secrétaire B
Fournisseur de service
SDU SDU
SDU SDU
24
Ajout d’en-têtes (encapsulation)
Manager A
PDUs
Assistant A
Secrétaire A
Fournisseur de service
en-têtes1Payload
en-têtes1Payload
en-têtes1Payload
en-têtes 2
en-têtes 2en-têtes 3
25
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
26
Modèle OSI
27
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
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
28
Modèle de référence OSI
Le modèle OSI introduit 3 concepts1. 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
29
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.
30
Modèle de référence OSI
OSI : Open System Interconnection
Physique
Application
Session
Présentation
Transport
Réseaux
Liaison de données
Les services d’applicationsont fournis par l’infrastructure en couches supérieure
Les services d’égal à égalsont fournis par l’infrastructure en couches inférieure
31
Modèle de référence OSI
32
Couches OSI
33
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.
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.
34
Modèle de référence OSI
35
Modèle de référence Open Systems Interconnection
36
Modèle de référence Open Systems Interconnection
37
Entités OSI
N+1-Protocol Entity N+1-Protocol Entity
N-Service Provider
N+1-PDUsN-SDUsN-SDUs
N-SAP N-SAP
SAP: Service Access Point
38
Entités et unité de données OSI
N+1Protocol Entity N+1Protocol Entity
N+1 PDUsN SDUsN SDUs
N Protocol Entity N Protocol Entity
Service Provider
N-1 SDUs N-1SDUs
N PDUs
39
Hiérarchie des protocoles : principe
N-1 Fournisseur de service global
(N) Entité = local (N) Fournisseur de service=(N-1) utilisateur
(N) Entité = local (N) Fournisseur de service=(N-1) utilisateur
(N+1) Entité locale (N) utilisateur
(N+1) Entité locale (N) utilisateur
(N-1) SAP
(N) SAP
(N) Service de spécificationdes protocoles
N Fournisseur de service global
(N) SDUs (N) SDUs
(N-1) SDUs (N-1) SDUs
40
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.
Primitive significationDemande 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ée1. Service.demande
2. Service.indication3. Service.réponse 4. Service.confirmationService=connecter/données/deconnecter
Couche N Couche N
Couche N+1 Couche N+1
1 24 3
41
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
Serviceconfirmé
REQUEST INDICATION
CONFIRMATION REPONSE
Servicenon confirmé
SAP SAP
42
Exemple: Service de la couche Transport
T-ConReq
T-ConConf
T-ConIndT-ConResp
A B
Connexion avec Succès AB
T-ConReq
T-DiscInd
T-ConIndT-DiscReq
A B
Connexion refusée par B
A B
Tentative de connexion de A refusée par le fourniss. de service
T-ConReq
T-DiscInd
T-DatReqT-DatInd
A B
Transfert DonnéesAB
A et B sont les SAPs des entités de protocoles A et B
43
Service couche transport: déconnection
T-DiscReqT-DiscInd
A B
A décide dedéconnecter
T-DiscReqT-DiscReq
A B
Les deux décidentde déconnecter(collision)
T-DiscIndT-DiscInd
A B
Le fournisseur deService décide dedéconnecter
44
Protocoles et interfaces Il y a une interface logique entre la couche N et la
couche N-1
SAP N
SAP N-1
Protocole Couche N
Interface entre couche N et couche N-1
45
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
SAP N
SAP N-1
Protocole Couche N
Interface entre couche N et couche N-1
46
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
47
Exemple: unités traitées par le protocole transport, phase connexion
T Service Primitives(T-SDU)
T Protocol Primitives(T-PDUs)
N Service Primitives(N-SDUs)
T-ConReq
incoming
CR
incoming/outgoing
N-ConReq, outgoing
If N-Connection must be established
T-ConInd
outgoing
N-DatReq
Incoming, outgoing
T-ConResp
incoming
T-ConConf
outgoing
CC
incoming/outgoing
N-ConConf, incoming
If N-Connection must be established
48
La couche transport et ses unités de données pour la phase connexion
T-SAP
N-SAP
Protocole Couche T
Interface Avec couche réseau:
Encapsulation, décapsulation
T-ConReq, T-ConResp,
T-ConInd, T-ConConf
CR, CC
N-ConReq
N-ConConf
Unités de service couche Réseau
N=Network=Réseau
Unités service couche transport:Ce schéma s’applique à toutes les couches
CR et CC sont transmis vers des couches inférieures encapsulés dans N-DatReq¸ N-DatInd, p.ex. N-DatReq(CR)
49
Idéalement, la transmission des PDU est directe
ProtocoleTransport
ProtocoleTransport
T-SAP T-SAPCR
T-ConReq T-ConInd
50
En réalité, elle passe à travers le service sous-jacent
ProtocoleTransport
Interface Interface
Protocole Transport
Service Réseau (Network)
T-SAP T-SAP
T-ConReq T-ConInd
N-SAP N-SAP
CR CR
N-DatReq(CR) N-DatReq(CR)
Il est important d’observer que les primitives d’un protocole sont transmises comme données au niveau sous-jacent
51
Connexion Réseau
Dans la couche Transport, nous pouvons avoir plusieurs connexions
Les demandes de connexion Transport sont normalement reliées à la couche Réseau encapsulées comme données comme suit:
N-DatReq(CR(params) params)
Mais à fin que ceci soit possible, il faut qu’il y ait une connexion au niveau Réseau…
Donc la 1ère fois le protocole transport doit créer une connexion Réseau en invoquant directement une N-ConReq
52
Relation entre SDU et PDU
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.
Mais souvent nous avons : Segmentation/réassemblage Groupage/dégroupage Concaténation/séparation
53
Pourquoi segmentation, groupage, etc.
Les entités de données doivent être organisées selon les besoins des protocoles dans les différentes couches
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 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
Multiplexage des canaux : plusieurs connexions partagent les canaux, donc on le donne à chaque connexion pour un court instant seulement
54
Pourquoi segmentation, groupage, etc.
Après la couche transport, il est plus convenable de travailler avec des unités d’information qui ont une signification logique 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…
55
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
Les entités de la couche Néchangent NPDUs dans leur protocole de la couche N
ICI SDU SDUPCI
N-PDU
ICI SDU
IDU
Couche N+1
Interface
Couche N
SDU
56
Segmentation/réassemblage
Fonction d'une couche(N) mettant en correspondance une SDU(N) avec plusieurs PDU(N)
Adaptation de la taille des données (N-SDU) aux caractéristiques de transmission (N-PDU)
Problème : identification des PDU transportant les données constituant la SDU.
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
Exemple pareil dans la couche transport OSI
57
Segmentation/réassemblage
58
Groupage/dégroupage
Fonction d'une couche(N) mettant en correspondance plusieurs SDU(N) avec une seule PDU(N)
Adaptation de la taille des données (N-SDU) aux caractéristiques de la transmission (N-PDU)
Diminution du surcoût (overhead)
Problème : identification des SDU transportées.
Exemple : le tamponnage des données sous TCP
59
Groupage/dégroupage
60
Concaténation/séparation
Fonction d'une couche (N) mettant en correspondance plusieurs PDU(N) avec une seule SDU(N) Adaptation de la taille des données aux
caractéristiques du service (N-SDU)
Diminution du surcoût (overhead)
Problème : identification des PDU transportées
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
61
Concaténation/séparation
62
Modèle de service et protocole A chaque couche, un ou plusieurs services sont offerts
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 défini les règles/formats pour la collaboration entre les entités 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
63
Modèle de service et protocole
Service visible uniquement à la couche supérieure adjacente
Service d’implémentation du protocole est cachée 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
64
Services en mode connecté et non connecté
Service en mode connecté fonctionne comme le téléphone connexion établie : réserver le chemin avant d’émettre le message
échange de données : pas besoin d’une adresse
connexion terminée
Service en mode non connecté est similaire au système postal un message est confié au système : adresse complète sur chaque paquet
il navigue à travers des chemins afin d’atteindre la destination
référé par service datagramme
Autres services fiables en mode non connecté : Service datagramme avec accusés de réception
Service demande/réponse
65
Types de services
Non fiable
Séquencede messages
Services
Mode connecté Datagramme
Fiable Non fiable
Flux binaire
Messages limités
Messages non limités
Login à distance
(voix numérisée)Fiable
Accusé de réception
Demande/réponse
Retourner un accusé de réception
Modèle client/serveurRequête BD
(EMAIL)
66
Comparaison Le mode non connecté est beaucoup plus simple à
programmer et gérer, il est beaucoup plus efficace.
Il laisse beaucoup de responsabilités aux couches supérieures et à l’usager
Sur mediums très fiables (p.ex. Fibres optiques) avec commutation très efficace, en pratique le mode sans connexion peut fournir une QoS très semblable à celle du mode connecté
Pour quelques apps, p.ex. multimédia, il n’est pas essentiel que tous les paquets soient reçus
D’où la popularité du protocole IP
67
Modèle à couche en OSI et en TCP/IP
En TCP/IP les couches Présentation et Session sont absentes (laissées à l’application d’usager)
Le modèle OSI met l’accent sur les deux concepts de service et protocole 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 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
68
Organisations des standards
69
Organisations des standards
Plusieurs corps de standardisation sont actifs dans le domaine de la communication
Exemples NIST : National Institute of Science and Technology FTSC : the Federal Telecommunications Standards
Committee IEEE : Institute of Electrical and Electronics
Engineers Les deux standards les plus importants sont l’ISO et
CCITT.
70
ISO : International Standards Organization
L’ISO est organisé en comités techniques (TC) Chaque TC est organisé en sous comités (SC) et groupe
de travails (WG). Exemple :
TC97: standards pour les ordinateurs, TC97/SC6 concerne la télécommunication TC97/SC6/WG1 : 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
71
CCITT CCITT : Comité Consultatif International Télégraphique et
Téléphonique
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).
La CCITT est organisée en groupes d’études (SG) et réunions de
travails (working parties WP) SGVII, travail sur les réseaux de communication des données SGVII/WP2 travail sur les interfaces. Les meilleurs recommandations des protocoles publiées par
CCITT sont X.21 et X.25. X.21 a eu l’honneur d’être le premier protocole de référence
validé par l’analyse d’atteignabilité exhaustive
72
IFIP :International Federation for Information Processing
• 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).
TC6, 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