TP Programmation de protocoles de communication Basé sur un TP de M1- Master IST, Université Paris-Sud



Documents pareils
Plan. Gestion des stocks. Les opérations de gestions des stocks. Les opérations de gestions des stocks

Remboursement d un emprunt par annuités constantes

Terminal numérique TM 13 raccordé aux installations Integral 33

Montage émetteur commun

Mesure avec une règle

Assurance maladie et aléa de moralité ex-ante : L incidence de l hétérogénéité de la perte sanitaire

Fiche n 7 : Vérification du débit et de la vitesse par la méthode de traçage

Pour plus d'informations, veuillez nous contacter au ou à

Editions ENI. Project Collection Référence Bureautique. Extrait

Q x2 = 1 2. est dans l ensemble plus grand des rationnels Q. Continuons ainsi, l équation x 2 = 1 2

STATISTIQUE AVEC EXCEL

Interface OneNote 2013

Paquets. Paquets nationaux 1. Paquets internationaux 11

Integral T 3 Compact. raccordé aux installations Integral 5. Notice d utilisation

Les jeunes économistes

INTERNET. Initiation à

Le Prêt Efficience Fioul

ÉLÉMENTS DE THÉORIE DE L INFORMATION POUR LES COMMUNICATIONS.

1 Introduction. 2 Définitions des sources de tension et de courant : Cours. Date : A2 Analyser le système Conversion statique de l énergie. 2 h.

Exercices d Électrocinétique

hal , version 1-14 Aug 2009

- Acquisition de signaux en sismologie large bande. - Acquisition de signaux lents, magnétisme, MT.

Be inspired. Numéro Vert. Via Caracciolo Milano tel fax

TD 1. Statistiques à une variable.

Système solaire combiné Estimation des besoins énergétiques

Contrats prévoyance des TNS : Clarifier les règles pour sécuriser les prestations

En vue de l'obtention du. Présentée et soutenue par Meva DODO Le 06 novembre 2008

Analyse des Performances et Modélisation d un Serveur Web

BTS GPN 2EME ANNEE-MATHEMATIQUES-MATHS FINANCIERES MATHEMATIQUES FINANCIERES

Qualité de service 7. Ordonnanceurs de paquets. Contexte. Intégration de services. Plan. Multiplexage. FIFO/DropTail. Priorités

REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE MINISTERE DE L ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE. MEMOIRE Présentée à

MÉTHODES DE SONDAGES UTILISÉES DANS LES PROGRAMMES D ÉVALUATIONS DES ÉLÈVES

Les prix quotidiens de clôture des échanges de quotas EUA et de crédits CER sont fournis par ICE Futures Europe

GENESIS - Generalized System for Imputation Simulations (Système généralisé pour simuler l imputation)

Chapitre 3 : Incertitudes CHAPITRE 3 INCERTITUDES. Lignes directrices 2006 du GIEC pour les inventaires nationaux de gaz à effet de serre 3.

Chapitre IV : Inductance propre, inductance mutuelle. Energie électromagnétique

TABLE DES MATIERES CONTROLE D INTEGRITE AU SEIN DE LA RECHERCHE LOCALE DE LA POLICE LOCALE DE BRUXELLES-CAPITALE/IXELLES (DEUXIEME DISTRICT) 1

GEA I Mathématiques nancières Poly. de révision. Lionel Darondeau

Projet de fin d études

LE RÉGIME DE RETRAITE DU PERSONNEL CANADIEN DE LA CANADA-VIE (le «régime») INFORMATION IMPORTANTE CONCERNANT LE RECOURS COLLECTIF

Contact SCD Nancy 1 : theses.sciences@scd.uhp-nancy.fr

COMPARAISON DE MÉTHODES POUR LA CORRECTION

Prêt de groupe et sanction sociale Group lending and social fine

Mots-clés : Système multicapteurs, Réseau local, Réseaux de neurones, Supervision, Domotique. xigences système d'une nouvelle

Calculer le coût amorti d une obligation sur chaque exercice et présenter les écritures dans les comptes individuels de la société Plumeria.

GUIDE D ÉLABORATION D UN PLAN D INTERVENTION POUR LE RENOUVELLEMENT DES CONDUITES D EAU POTABLE, D ÉGOUTS ET DES CHAUSSÉES

I. Présentation générale des méthodes d estimation des projets de type «unité industrielle»

DES EFFETS PERVERS DU MORCELLEMENT DES STOCKS

Des solutions globales fi ables et innovantes.

TRAVAUX PRATIQUES SPECTRO- COLORIMETRIE

Réseau RRFR pour la surveillance dynamique : application en e-maintenance.

Généralités sur les fonctions 1ES

Pro2030 GUIDE D UTILISATION. Français

VIELLE Marc. CEA-IDEI Janvier La nomenclature retenue 3. 2 Vue d ensemble du modèle 4

Dirigeant de SAS : Laisser le choix du statut social

1.0 Probabilité vs statistique Expérience aléatoire et espace échantillonnal Événement...2

Parlons. retraite. au service du «bien vieillir» L Assurance retraite. en chiffres* retraités payés pour un montant de 4,2 milliards d euros

En vue de l'obtention du. Présentée et soutenue par Elayeb Bilel Le 26 juin 2009

La théorie classique de l information. 1 ère partie : le point de vue de Kolmogorov.

Grandeur physique, chiffres significatifs

G estionnaire d espaces

EH SmartView. Identifiez vos risques et vos opportunités. Pilotez votre assurance-crédit. Services en ligne Euler Hermes

Prise en compte des politiques de transport dans le choix des fournisseurs

Impôt sur la fortune et investissement dans les PME Professeur Didier MAILLARD

Stéganographie Adaptative par Oracle (ASO)

Calcul de tableaux d amortissement

LICENCE DE SCIENCES PHYSIQUES UV 3LSPH50. Année MODÉLISATION. Recherche des paramètres d'une représentation analytique J.P.

RAPPORT DE STAGE. Approcher la frontière d'une sous-partie de l'espace ainsi que la distance à cette frontière. Sujet : Master II : SIAD

Économétrie. Annexes : exercices et corrigés. 5 e édition. William Greene New York University

Pourquoi LICIEL? Avec LICIEL passez à la vitesse supérieure EPROUVE TECHNICITE CONNECTE STABILITE SUIVIE COMMUNAUTE

Ecole Polytechnique de Montréal C.P. 6079, succ. Centre-ville Montréal (QC), Canada H3C3A7

CONSERVATOIRE NATIONAL DES ARTS ET METIERS

ErP : éco-conception et étiquetage énergétique. Les solutions Vaillant. Pour dépasser la performance. La satisfaction de faire le bon choix.

INTRODUCTION. Jean-Pierre MAGNAN Chef de la section des ouvrages en terre Département des sols et fondations Laboratoire central

Evaluation de performances d'ethernet commuté pour des applications temps réel

CREATION DE VALEUR EN ASSURANCE NON VIE : COMMENT FRANCHIR UNE NOUVELLE ETAPE?

La Quantification du Risque Opérationnel des Institutions Bancaires

Les déterminants de la détention et de l usage de la carte de débit : une analyse empirique sur données individuelles françaises

Corrections adiabatiques et nonadiabatiques dans les systèmes diatomiques par calculs ab-initio

UNIVERSITÉ DU QUÉBEC À MONTRÉAL L ASSURANCE AUTOMOBILE AU QUÉBEC : UNE PRIME SELON LE COÛT SOCIAL MARGINAL MÉMOIRE PRÉSENTÉ COMME EXIGENCE PARTIELLE

Et pour vos clients, bénéficiez de services

P R I S E E N M A I N R A P I D E O L I V E 4 H D

Version provisoire Ne pas citer sans l accord des auteurs

IDEI Report # 18. Transport. December Elasticités de la demande de transport ferroviaire: définitions et mesures

Précision de rigueur

Les déterminants de la détention et de l usage de la carte de débit : une analyse empirique sur données individuelles françaises

L enseignement virtuel dans une économie émergente : perception des étudiants et perspectives d avenir

Systèmes et Réseaux (ASR 2) - Notes de cours Cours 14

Algorithmique des Systèmes Répartis Protocoles de Communications

AVERTISSEMENT. Contact SCD INPL: LIENS

METHODE AUTOMATIQUE POUR CORRIGER LA VARIATION LINGUISTIQUE LORS DE L INTERROGATION DE DOCUMENTS XML DE STRUCTURES HETEROGENES

CATALOGUE EXCLUSIF TOUCH MEDIA CATALOGUE DE SITES FORMATS GLOSSAIRE. Notre sélection de supports en représentation exclusive au Maroc

Les Réseaux sans fils : IEEE F. Nolot

The new Art of Smart. Loewe Art. La nouvelle intelligence télévisuelle.

AVERTISSEMENT. D'autre part, toute contrefaçon, plagiat, reproduction encourt une poursuite pénale. LIENS

Internet et Multimédia Exercices: flux multimédia

santé Les arrêts de travail des séniors en emploi

Manuel d'installation du système

CHAPITRE DEUX : FORMALISME GEOMETRIQUE

Créer ou reprendre une entreprise, Guide de la création et de la reprise d entreprise 1er semestre 2009

Transcription:

IUT Bordeaux 1 2008-2009 Département Informatque ASR2-Réseaux TP Programmaton de protocoles de communcaton Basé sur un TP de M1- Master IST, Unversté Pars-Sud Ce TP a pour objectf d'nter à la programmaton d un protocole de nveau lason sous des hypothèses de plus en plus restrctves et se rapprochant de la réalté. Créer le sous répertore /ASR2-Reseaux/DataLnk dans votre répertore de référence et coper dans ce répertore le contenu du répertore /net/exemples/asr2-reseaux/datalnk. 1. Cadre On consdère la lason de données entre deux machnes A et B relées entre elles par un support. Machne A support Machne B lason de données Fgure 1: Transmsson de données de A vers B. Interface avec les nveaux physque et applcaton A cette structure matérelle, on assoce une archtecture partelle des nveaux : réseau, lason et physque (cf. fgure 2). A Network Layer B Network Layer from_network_layer to_network_layer packet Data Lnk layer Data Lnk layer to_physcal_layer from_physcal_layer frame packet Nveau Physcal physque Layer Physcal Layer support Meda Fgure 2 : Archtecture partelle Le nveau lason de données décharge le nveau applcaton des fonctons de transfert des données. Il récupère les données de la couche «Réseaux» sous forme de paquets, les envoe vers le destnatare (membre du réseau physque) de manère la plus fable possble. Il assure auss la récepton des trames (frame, en anglas). Le nveau lason de données est réalsé par le contrôleur de communcaton des machnes A et B. 1

Le nveau physque assure la transmsson physque des bts sur le support: codage bande de base, adaptaton électrque, établssement du crcut, détecton d'erreurs, Le nveau physque comprend les nterfaces ETTD/ETCD, les modems et support. 2. Structure de données et procédures communes Les nterfaces entre le nveau réseau et le nveau lason de données d une part, le nveau lason de données et le nveau physque d autre part, sont défnes sous forme de procédures. Deux procédures permettent de prendre un paquet à envoyer ou de donner un paquet reçu au nveau «réseau» : from_network_layer et to_network_layer. Le nveau «lason de données» place alors le message à transmettre dans une structure d'enveloppe appelée trame (unté de données du protocole de nveau lason). Pour transférer une trame, le nveau lason utlse les servces du nveau physque grâce à deux prmtves du nveau physque: from_physcal_layer et to_physcal_layer Deux structures de données sont défnes c: - paquet (packet) est l unté de transfert du nveau applcaton ; c'est une sute d'nformatons à transmettre de A vers B par la procédure de transmsson ; la talle d'un paquet sera supposée constante de longueur maxmum MAX_PKT octets. - trame (frame) est l unté de données du nveau lason; elle est construte et gérée par la procédure de transmsson. Elle est composée de pluseurs champs; certans champs spécfques sont groupés dans une parte de l'enveloppe appelée "en-tête" ; ensute vennent le champ d nformaton qu content un paquet, suv du caractère de contrôle d'erreur. La séquence de contrôle d'erreurs est calculée par le nveau physque. Des procédures permettent la réalsaton de fonctons couramment rencontrées dans les procédures de transmsson : wat_for_event, start_tmer, stop_tmer, ncr. 3. Hypothèses de traval La lgne de commande dot mpératvement respecter la structure suvante quel que sot le protocole : protocol evenement tmeout taux-perte taux-erreur trace protocole est le nom du programme evenement est durée de la smulaton tmeout est le déla de retransmsson taux-perte est le taux en % de trames perdues taux-erreur est le taux en % de trames reçues mas erronées (0= pas d erreurs), trace est 1 s mode trace snon sa valeur est 0. Scénaro : La couche réseau de la staton A souhate émettre des données vers la couche réseau de la staton B. La staton A possède donc des nformatons à transmettre jusqu'à la fn de la smulaton. Le protocole n'a donc jamas à attendre la producton de données. Traval à réalser : Il s agt de programmer, pour chaque protocole, deux procédures de communcaton qu réalseront les fonctons du nveau lason : une procédure d émsson de messages et une procédure de récepton de message. Le langage de programmaton utlsé est le langage C. 2

Structures de données et Procédures communes aux protocoles de communcaton (extrat de protocol.h») // constantes : # defne MAX_PKT 4 /* determnes packet sze n bytes */ #defne MAXSEQ 2 /* 2 trames max */ // types : typedef struct {unsgned char data[max_pkt];} packet; /* packet defnton */ typedef enum {data, ack, nak} frame_knd; /* frame_knd defnton */ typedef struct { /* frames are transported n ths layer */ frame_knd knd;/* what knd of a frame s t? */ seq_nr seq; /* sequence number */ seq_nr ack; /* acknowledgement number */ packet nfo; /* the network layer packet */ } frame; { Procedures utlsées pour la programmaton des dfférents protocoles } type_evt wat_for_event() { attendre un évènement et retourner son type } {ndspensable avant une récepton physque qu n'est pas bloquante } nt ncr( nt k ) { retourner l'ncrémentaton de k modulo MAXSEQ } { nterface avec le nveau réseau } vod from_network_layer(packet *p); { lecture dans le tampon où la couche «réseau» écrt les paquets à émettre } vod to_network_layer(packet *p) { transmsson d un paquet reçu à la couche réseau } { nterface avec le nveau physque } vod to_physcal_layer(frame *r){ émsson de la trame stockée dans r } vod from_physcal_layer(frame *r) { récepton physque d'une trame stockée dans r } { geston des temporsateurs } vod start_tmer( nt k ) { armer le «tmer» assocé à la trame de numéro de séquence k } vod stop_tmer(nt k) { désarmer le «tmer» assocé à la trame de numéro de séquence k } 4. Protocole 1 (cas utopque) Nous prendrons comme exemple ntal un protocole très smple ; ses caractérstques sont les suvantes : - transmsson de données unquement de A vers B, - A possède toujours des nformatons à transmettre, - les temps de tratement sont néglgeables, - l'espace mémore en récepton est nfn (pas de contrôle de flux), - le canal est sans erreur. trame trame +1 trame +2 trame +3 Canal sans erreur 3

Pour programmer ce protocole (peu réalste), l a été écrt deux procédures sender1 et recever1 (sans argument) dans le fcher ~/ASR2-Reseaux/DataLnk/p1.c. Le langage de programmaton est le langage C. Questons : 1. Comprendre les deux procédures qu réalsent le protocole 1 en utlsant les structures de données et les procédures défnes auparavant. 2. Exécuter le protocole 1 (lre le fcher ~/ASR2-Reseaux/DataLnk/README)qu explque comment compler le programme et comment l exécuter. 5. Protocole 2 (rajout d'un contrôle de flux) Revenons à une stuaton plus réalste, et consdérons que le récepteur ne peut pas trater les données entrantes auss vte qu'elles sont émses. On relâche l'hypothèse selon laquelle l'hôte récepteur dspose d'une quantté d'espace mémore nfne. Par contre, on suppose toujours que le canal est sans erreur. L'émetteur dot transmettre à une vtesse nféreure à la capacté d'absorpton du récepteur afn d'évter l'engorgement de ce derner : s le récepteur a beson d un déla t pour exécuter le code de from_physcal_layer à to_network_layer, l'émetteur dot émettre à une vtesse moyenne nféreure à une trame par temps t. Questons : 1. Donner une soluton smple au problème de contrôle de flux permettant d'asservr l'émetteur au récepteur.réponse : le contrôle de flux de type "envoyer et attendre" est la soluton la plus smple ; ans on envoe une trame et on attend son acquttement pour en envoyer une nouvelle. On est sûr de ne jamas engorger le récepteur. 2. Ecrre en C les deux procédures sender2 et recever2 qu réalsent le protocole 2 dans le fcher ~/ASR2-Reseaux/DataLnk/p2.c en C. 3. Exécuter votre protocole, vérfer qu l n y a pas de blocage dans s le taux de perte et d erreur de trame sont 0. 6. Protocole 3 (canal avec erreurs) Consdérons mantenant le cas d'un canal de transmsson produsant des erreurs. Les trames peuvent subr des erreurs de transmsson ou être perdues. On suppose que lorsqu'une trame subt une erreur de transmsson, cette erreur est détectée par le récepteur, par calcul d'un CRC. Questons : 1. Peut-on perdre des trames de données? Quelles en sont les conséquences s on utlse le protocole 2? Le mécansme d'accusé de récepton (en anglas : acknowledgement) postf est l envo par le receveur d un accusé de récepton lorsqu l reçot une trame. 2. Un mécansme d'accusé de récepton vous semble-t-l suffsant pour garantr le bon fonctonnement du protocole en cas de perte de trame de données? 3. Que faut-l ajouter au protocole? 4. Peut-on perdre des accusés de récepton? 5. A-t-on beson d un mécansme supplémentare pour suffsant pour garantr le bon fonctonnement du protocole en cas de perte des accusés de récepton? 6. Que fare des trames erronées (données ou accusé de récepton)? Comment peut s'effectuer la reprse sur erreur? On s'orente vers un mécansme de reprse par accusés de récepton postfs par le récepteur et une temporsaton de la rémsson des trames de données par l'émetteur. 4

7. La duplcaton de trames de données reçues par le receveur pose-t-elle un problème? Explquez. trame fn temporsaton trame trame +1 8. La numérotaton des trames de données modulo 2 est-elle suffsante? Explquez. trame fn temporsaton trame trame +1 trame +2 9. La numérotaton des accusés de récepton assure le bon fonctonnement du protocole? Complétez le schéma suvant. trame fn temporsaton trame trame +1 10. Explquer les tros types d événements : frame_arrval, cksum_err et tmeout. 11. Lster les types de trames que votre protocole peut envoyer parm la lste suvante : data, ack et nak 12. Ecrre en C les deux procédures sender2 et recever2 qu réalsent le protocole 2 dans le fcher ~/ASR2-Reseaux/DataLnk/p2.c en C. 13. Exécuter votre protocole. 5