• Aucun résultat trouvé

Travail Pratique INF3270 : Téléinformatique

N/A
N/A
Protected

Academic year: 2022

Partager "Travail Pratique INF3270 : Téléinformatique"

Copied!
3
0
0

Texte intégral

(1)

INF3270 : Téléinformatique

Travail Pratique

( UQÀM. Été 2006 )

Titre : Simulation d'une communication asynchrone multi-points inspirée de HDLC

Objectifs :

Démontrer la compréhension du principe d'encapsulation de l'information.

Démontrer la compréhension de mécanismes de synchronisation (fanions, transparence de bit).

Démontrer la compréhension de mécanismes de détection et de contrôle d'erreurs.

Démontrer la compréhension du fonctionnement d'une interconnexion en bus.

Références dans le livre du cours (Omar Cherkaoui : La Téléinformatique) :

Chapitre 1 : Le concept d'encapsulation de l'information et la place d'HDLC dans la pile OSI.

Chapitre 4 : La transparence de bit, la détection d'erreurs, la structure de la trame HDLC

Chapitre 5 : Les topologies en bus.

Remises :

Partie 1 : avant le début de l'examen intra (le 13 juin 2006, 9h).

Partie 2 : au début de la séance de démonstration du 18 juillet (10h30).

Une pénalité de 10% par jour sera appliquée aux travaux remis en retard. Un retard d'une journée sera calculé pour les remises après l'heure prescrite le jour de tombée. Une journée se termine à 16h30, après quoi la date appliquée est celle du lendemain. Un week-end(samedi et dimanche) compte pour une seule journée.

Remarques :

Vous pouvez utiliser le langage de programmation de votre choix, cependant, l'aide et les indices qui vous seront fournit à la démonstration seront dans le langage C/C++.

La qualité du français pourra être évaluée en fonction des règlements de l'UQAM.

Évaluation :

Partie 1 : 10% de la note finale (Voir les détails à la fin de l'énoncé)

Partie 2 : 10% de la note finale (Voir les détails à la fin de l'énoncé)

Pour la partie 2, le fonctionnement du système devra être démontré au correcteur à la séance de laboratoire du 18 juillet 2006.

(2)

Description générale :

Vous devez concevoir 2 applications : un émetteur et un récepteur.

Fonctionnement de l'émetteur :

1) Lors de son démarrage, l'émetteur demande une adresse destination et un message (texte) à transmettre.

2) Le texte est alors transmis, dans une trame, vers l'adresse précisée par l'usager.

3) Un message demandant d'appuyer sur « enter » pour recevoir une confirmation de réception est ensuite affiché :

Si aucune confirmation n'est reçue, on retourne à l'étape 3.

Si un message de retransmission est reçu, on retourne à l'étape 2.

Si un message de confirmation de réception est reçu, l'exécution de l'émetteur s'arrête.

Fonctionnement du récepteur :

1) Un récepteur lors de son démarrage demande son adresse.

2) Un message qui demande d'appuyer sur « enter » pour recevoir une trame est affiché, et quand

« enter » est entré, on lit la trame sur le « bus ».

3) Alors :

Si aucun message n'est reçu, on retourne à l'étape 2.

Si un message est reçu sans problème il est affiché, et une confirmation de réception (ack) est émise. On retourne ensuite à l'étape 2.

Si une erreur est présente dans une trame reçue, le récepteur envoie une demande de

retransmission (nack) et affiche un message d'erreur précisant la nature du problème détecté. On retourne alors à l'étape 2.

Description détaillée :

Les transmissions et réceptions sur le réseau seront simulées par l'écriture et la lecture dans un fichier texte nommé « bus ». Une seule trame (d'information ou de contrôle) peut être présente sur le réseau (bus) à la fois. Donc, à chaque fois qu'une trame est émise, elle écrase la précédente sur le bus.

Dans le fichier représentant le bus, les trames seront écrites en binaires. Par contre, il ne faut pas écrire des valeurs 0 et 1 illisibles(int convertis en char), il faut écrire les caractères ascii '0' et '1'. De cette façon, le contenu du bus pourra être visualisé et modifié avec un éditeur de texte comme « notepad ».

Le format des trames utilisées est inspiré du protocole HDLC. Les trames d'informations auront donc la forme suivante :

8 bits 8 bits 8 bits Variable 16 bits 8 bits

Fanion Adresse Commande Données FCS Fanion

Et les trames de confirmation de réception et de demande de retransmission auront le format suivant :

8 bits 8 bits Variable 16 bits 8 bits

Fanion Adresse Commande FCS Fanion

(3)

Et voici la description de chacun des champs :

Fanion : 01111110

Adresse : l'adresse (une valeur entre 1 et 255) du destinataire (un récepteur) de la trame d'information.

Commande : 8 bits où :

le bit le plus à gauche de l'octet est : 0 pour une trame d'information et 1 pour une trame de contrôle (ack ou nack).

Les trois bits suivants sont une valeur aléatoire représentant le numéro du premier octet des données(numéro de séquence) pour les trames d'information, 000 pour les trames de confirmation de réception (aquitement) et 001 pour les trames de demande de retransmission (nack ou rejet).

Le cinquième bit est 0 pour un ack et 1 pour un nack ou une trame d'information.

Les trois derniers bits contiennent le numéro de séquence + la longueur (en octets) des données.

Pour un ack les trois derniers bits contiennent le numéro de séquence de la trame acquittée + la longueur (en octets) des données reçue. Pour un nack, ces bits contiennent le numéro de séquence de la trame à retransmettre.

Données : le message (texte) à transmettre.

FCS : Valeur résultante du contrôle par redondance cyclique avec le CRC-12 (1100000001111). Le calcul du FCS se fait sur les champs « adresse », « commande » , « FCS » (16 bits à 0) et, dans le cas d'une trame d'information, « données ».

Pour que le début et la fin d'une trame puisse être correctement localisés, l'émetteur et le récepteur doivent effectuer la transparence de bit(bit stuffing) entre les fanions. Voir la section 4.4.1 du livre du cours(Omar Cherkaoui : La Téléinformatique). De cette façon, l'ajout de bruit(caractères aléatoires) avant ou après une trame ne devrait pas causer de problèmes.

Évaluation :

Partie 1 : émission et réception des trames d'informations seulement(pas de retransmission), donc les étapes 1) et 2), mais pas 3), de la section « description générale » pour l'émetteur et le récepteur (qui affiche simplement le message reçu).

Partie 2 : implémentation du système décrit au complet.

Vous devez rendre, pour chacune des 2 parties, un rapport contenant votre code source (LARGEMENT COMMENTÉ) pour les programmes « émetteur » et « récepteur », accompagné d'une description de vos choix d'implémentation(maximum d'une demi page). Vos rapports pour chacune des parties devront également contenir une description, d'environ une demi page, du fonctionnement de votre système (comment l'utiliser et qu'est-ce qui fonctionne, ou ne fonctionne pas). Finalement, vous devez inclure une, ou des, traces d'exécution de votre système (impression d'écran, ou « copier/coller » de fenêtre texte, ou autres).

Évidemment, votre rapport devra posséder une page de présentation : noms, codes permanent, date, etc.

Pour chaque partie :

Description du système (fonctionnement et choix) : 1 points

Code source (modularité, commentaires, etc.) : 3 points

Fonctionnement : 4 points

Présentation : 2 points

Références

Documents relatifs

CSMA-CD Carrier Sense Multiple Access /Collision Detection: Algorithme CSMA-CD Si un coupleur veut émettre: a Il écoute le canal, si libre il émet tout en continuant à écouter b

Longueur en-tête : il indique la longueur de l'en-tête d'un segment TCP et est exprimé comme un multiple de 32 bits.. Ce champ est rendu indispensable dans la mesure où la longueur

On rappelle qu’une trame Ethernet est composé d’un en-tête de 14 octets, d’au moins 46 octets de données et de 4 octets pour le code CRC.. Vous trouverez en annexe A des détails

Par contre, La machine dont l’adresse IP est 10.0.232.3 est très probablement dans le même réseau que 10.0.232.4, et donc son paquet ping n’a pas besoin de passer par la passerelle,

Décoder le message « réponse n°1 » émis par l'esclave en complétant le tableau suivant.

De même, si h = (0,£S*:T(1) -» T 0 ^ c m P } ) (où S*(0) - S - voir le diagramme 14 ), les sémantiques catégoriques de Zih) sont exactement les catégories C munies d'une

quelconques, le problème de la définition d’un objet sera le processus qui permet d’assigner une place non ambigüe au concept de cet objet dans une trame ou une

Le numéro de séquence du premier octet de données est transmis avec le segment, dans le champ SequenceNumber de l'en-tête TCP (32 bits), et est appelé numéro de séquence du