Académique Documents
Professionnel Documents
Culture Documents
Haykal Tej
htej@gmx.de
Inst. Sup. dInformatique et des Technologies de Communication, Hammam Sousse Universit de Sousse
1
Chapitre 1
Gnralits sur les protocoles et les mthodes de gnie de protocoles
Protocoles de communication
Prambule Un protocole est un ensemble de rgles qui gouvernent l'interaction entre processus parallles dans les systmes distribus
La conception de protocoles n'est pas une discipline part, elle est lie la fois aux rseaux et l'ingnierie des systmes
Dcrire compltement et sans ambigut un protocole est difficile Prouver qu'un protocole est correct est une tche encore plus ardue => Le but du cours n'est pas d'enseigner de nouveaux protocoles, mais de montrer comment on peut (bien) les dcrire
un train peut entrer dans le tunnel si le smaphore est vert en passant le smaphore, le train le met au rouge automatiquement ; en cas de dfaillance du systme, c'est l'oprateur qui agite un drapeau rouge c'est l'oprateur qui remet le smaphore au vert quand il est sur que le train a quitter le tunnel deux tlgraphes permettent aux oprateurs de s'changer quelques messages Train in tunnel Tunnel is clear Pour plus de scurit, un 3 message est prvu : "Has the train left the tunnel?"
Il est difficile d'tablir la responsabilit de cet accident. A partir du moment o le 2 train est entr dans le tunnel, il n'y avait plus moyen de rcuprer la situation. L'ensemble des messages disponibles sur les tlgraphes tait incomplet. Le bon sens des oprateurs n'tait pas suffisant.
La raction est toujours la mme : I could not imagine that could ever happen Au dbut, beaucoup d'accidents taient dus au manque de moyens de communication, mais on a constat ensuite qu'il tait surtout trs difficile d'tablir des rgles non ambigus de communication.
dfinir comment un message est encod comment une transmission est dmarre et termine, etc
la conception d'un ensemble incomplet de rgles (incompltude) la conception de rgles contradictoires (inconsistance)
Cela requiert :
de dfinir tous les lments essentiels du protocole une discipline pour les dfinir en sparant les lments indpendants
La vraie difficult vient du paralllisme. Le nombre de scnarios est en gnral norme et difficile apprhender
les mthodes et techniques issues du gnie logiciel sont imposes par les autorits de certification pour le dveloppement de systmes critiques (avionique, nuclaire) normes de dveloppement de systmes (DO178B)
2 millions de lignes de codes ADA 50 quipements (numriques ou analogiques), 12 calculateurs Contraintes de temps < 1ms combinatoire des modes et des tats leve
Landing System : plus de 1014 tats possibles Side Displays Management : plus de 2.108 tats possibles
1/2 million dinstructions pour une exprience de physique des particules 1 million dinstructions dans un central tlphonique 50 millions dinstructions dans la navette spatiale
rdiger de faon claire les spcifications du systme (ce que l'on attend)
=> comment tre srs que ces spcifications sont compltes ? => comment tre srs que ces spcification sont cohrentes ?
ncessit dune base thorique et dune approche ingnierie (science de lingnieur) du logiciel
identifier un ensemble d'tape importante dans le dveloppement, et des documents importants analyse de besoins, spcification, conception, programmation, intgration ranger ses tapes dans le temps et les unes par rapport aux autres => cycles en cascade, en V, en Y, en spirale
reposent sur des fondements mathmatiques expression mathmatique des objets du dveloppement (le comportement des systmes) expression mathmatique des proprits expression mathmatique des preuves permettent l'analyse (mathmatique) du comportement d'un systme
Remarque :
certains organismes imposent dj l'utilisation de techniques mathmatiques dans le dveloppement de systmes informatiques : dans le domaine de la scurit : obligation d'utiliser des mthodes formelles pour certains niveaux de scurit dans le ferroviaire (mtro Mtor)
Une autre spcification globale activit de spcification vrification d'quivalence Spcification globale Architecture et spcification des composants Programme Axe du dveloppement
vrification de consistance
activit de spcification
activit de conception
activit de programmation
Spcification globale
Programme
Axe du dveloppement
vrification
vrification
Spcification globale
Programme
Axe du dveloppement
activit de conception
activit de programmation
Spcification globale
Programme
Axe du dveloppement
validation
Preuves impossibles vrification
Preuves possibles
Model Checking
Denotes algorithmic analysis to check that a model (not necessarily finite state) satisfies a specified property In logic, model denotes a structure over which formulas are interpreted
Model checking checks (preferably automatically) whether a given formula holds in a given model
Proprit [] (n<3)
Espace dtats
Analyseur
M |
Explosion dtats.
NON, + contre_exemple
19
Limitations
Appropriate for control-intensive applications with interesting interaction among components
Model, and not system, is verified Only stated requirements are checked: how to capture correctness in a formal language? Bugs in the model checker
Formal verification does not aim to produce mathematical certainty of correctness, but to provide a methodology that, when followed, produces more reliable and robust systems
Protocoles de communication
Protocoles de communication
Prambule
Un protocole est un ensemble de rgles qui gouvernent l'interaction entre processus parallles dans les systmes distribus La conception de protocoles n'est pas une discipline part, elle est lie la fois aux rseaux et l'ingnierie des systmes Dcrire compltement et sans ambigut un protocole est difficile Prouver qu'un protocole est correct est une tche encore plus ardue => Le but du cours n'est pas d'enseigner de nouveaux protocoles, mais de montrer comment on peut (bien) les dcrire
Protocoles de Communication
Protocole Rseau:
Les protocoles peuvent etre implments en matriel et/ou logiciel. EIA-232-D est un protocole faisant partie de la couche physique implment en materiel. Les protocoles TCP/IP sont implments en logiciel.
dfinir comment un message est encod comment une transmission est dmarre et termine, etc
la conception d'un ensemble incomplet de rgles (incompltude) la conception de rgles contradictoires (inconsistance)
de dfinir tous les lments essentiels du protocole une discipline pour les dfinir en sparant les lments indpendants
Cela requiert :
La vraie difficult vient du paralllisme. Le nombre de scnarios est en gnral norme et difficile apprhender
Le service fournir par le protocole Les hypothses sur l'environnement dans lequel le protocole s'excute Le vocabulaire des messages utilis par le protocole Le format de chaque message Les rgles procdurales utilises durant la communication
Transfert de fichiers de texte comme squences de caractres via une ligne tlphonique en se protgeant contre les erreurs de transmission (suppose toutes dtectables) Bidirectionnel : 2 transferts en sens opposs possibles
2. Les hypothses : Compos de 2 utilisateurs et d'un canal de transmission On suppose que chaque utilisateur peut soumettre une requte et attendre qu'elle s'excute Le canal peut modifier les messages, mais pas les perdre, les ddoubler, les rarranger, ni en insrer un autre. 3. Vocabulaire : trois messages ack : un message + un acquit positif nak : un message + un acquit ngatif err : un message erron
Chaque message a un champ de contrle identifiant le type de message et un champ de donnes avec le code de caractre :
Type PDU is record control : tag, data : char endrecord
Type tag is {ack, nak, err}
Soit 2 entits A et B
1. Si la rception prcdente est sans erreur, le prochain message sur le canal oppos contiendra un acquit positif. 2. Si la rception prcdente est errone, le prochain message sur le canal oppos contiendra un acquit ngatif. 3. Si la rception prcdente est errone ou contient un acquit ngatif, le prochain message sera une retransmission du message mis prcdemment; sinon, ce sera un nouveau message 4. Si un utilisateur n'a pas de caractre mettre, il peut envoyer un caractre null 5. A dmarre le transfert.
Exprimes au niveau d'abstraction adquat (pas de dtail inutile (codage)) Doivent tre compltes, consistantes et non ambigus
=> ncessite un formalisme ou un langage appropri Il n'existe pas de mthode permettant de s'assurer a priori de la compltude et de la consistance des rgles => vrification a posteriori
Un protocole n'est pas correct dans l'absolu ; un protocole est correct par rapport un ensemble de proprits (la spcification de son service)
=> Ncessit de formaliser les proprits ou le service attendu
32
33
Couches OSI
Rf: http://www.irisa.fr/armor/lesmembres/cousin/Enseignement/Reseaux-generalites/Cours/4-3.htm
34
35
Fonctionnement Global
36
Entits OSI
N-Service Provider
37
Entits OSI
Notion de service : modle en couches
Le service est une dfinition fonctionnelle de l'interface entre couches Liste des primitives avec paramtres Ordonnancement permis des primitives Le service N est une abstraction des couches de protocole infrieures.
Entits OSI
Notion d'environnement : abstraction des couches suprieures et infrieures
Centrage sur une couche N et un protocole N Les couches suprieures sont vues comme des utilisateurs abstraits Les couches infrieures sont vues comme un milieu de transmission. Il dcrit les hypothses qui caractrisent ces couches (pertes, doublons possibles, ) Le protocole N dcrit le fonctionnement des entits N (A et B) en raction aux primitives de service N et aux PDU N venant de l'entit homologue via le milieu de transmission (mdium). L'environnement d'un protocole est compos des utilisateurs et du milieu de transmission.
Request : Une entit sollicite un service Indication : Une entit est informe d'une demande de service Response : Une entit a rendu le service, si possible Confirmation : Une entit est informe que le service a t rendu
SAP
SAP
REQUEST
INDICATION
Service confirm
CONFIRMATION
RESPONSE
40
1 seule phase:
le transfert de donnes
chaque unit de transfert de donnes est achemine indpendamment les entits communicantes ne mmorisent rien ("memoryless"). les messages changes sont auto-suffisants ("selfcontent") pas dacquittement de messages (no ack) exemple: datagrammes en IP
43
3 phases : phase d'tablissement de la connexion phase de transfert de donnes phase de libration de la connexion un contexte (rparti) est partag par les membres de la connexion : par exemple : le numro du paquet permet (facilite) le contrle et la gestion du transfert de donnes : contrle d'erreur, contrle de flux, maintien en squence, etc. les messages changs comportent des informations qui ne sont utilisables que grce la connaissance de ce contexte : par exemple : le numro de paquet / la largeur de la fentre coulissante Exemple de protocole utilisant le mode connect:TCP
44