CEG 3585SEG 3555 TUTORAT 3 t 2014 HDLC

  • Slides: 19
Download presentation
CEG 3585/SEG 3555 TUTORAT 3 Été 2014

CEG 3585/SEG 3555 TUTORAT 3 Été 2014

HDLC est un protocole synchrone à bit-orienté de la couche de liaison de données

HDLC est un protocole synchrone à bit-orienté de la couche de liaison de données développé par ISO. Mode non-balancé Mode normal de réponse (NRM) Mode de réponse asynchrone (ARM) Mode balancé asynchrone (ABM)

HDLC La station primaire Controle les opérations de la liaison Les trames issues sont

HDLC La station primaire Controle les opérations de la liaison Les trames issues sont définies comme des commandes Maintient une liaison logique distincte avec chaque station secondaire La station secondaire Sous le contrôle de la station primaire Les trames issues sont définies comme des réponses

Mise en trame Délimiteur de trame: 8 bits Chaque trame débute et finit avec

Mise en trame Délimiteur de trame: 8 bits Chaque trame débute et finit avec un délimiteur de trame. la séquence est '01111110', ou, en notation hexadécimal, 7 E Adresse: 8 bits ou plus En NRM, les trames n’inclus qu’une seule adresse, celle du terminal secondaire.

Mise en trame Contrôle: 8 bits ou 16 bits Les trames d’information, ou frames-I,

Mise en trame Contrôle: 8 bits ou 16 bits Les trames d’information, ou frames-I, transportent les données de l’usager de la couche de réseau. Elles peuventaussi inclure de l’information de contrôle de débit et d’erreurs accolée aux données. Les trames de supervision, ou frames-S, sont utilisées pour le contrôle de débit et d’erreurs tel que dans le cas où une station n’a pas à envoyer de données. Les trames-S n’ont pas de champ d’information. Les trames non numérotées, ou frames-U, sont utilisées dans différents buts, incluant la gestion des liaisons. Certaines frames-U, dépendamment du type, contiennent un champ d’information.

Mise en trame Frame-I Bit le moins significatif (premier à être transmis) est 0.

Mise en trame Frame-I Bit le moins significatif (premier à être transmis) est 0. N(S) définit le numéro de séquence de la trame expédiée. P/F N(R) définit le numéro de séquence de la trame reçue.

Mise en trame Frame-S Les premiers deux bits sont 10. Le champ d’encode de

Mise en trame Frame-S Les premiers deux bits sont 10. Le champ d’encode de la frame-S est de 2 bits Prêt à recevoir (RR): 00 Pas prêt à recevoir (RNR): 01 Rejet (REJ): 10 Rejet sélectif (SREJ): 11 P/F N(R)

Mise en trame Frame-U

Mise en trame Frame-U

Mise en trame Bit Poll/Final Bit Poll Trame de commande 1 pour solliciter (poll)

Mise en trame Bit Poll/Final Bit Poll Trame de commande 1 pour solliciter (poll) une réponse d’ailleurs Le primaire n’envoie de Poll que lorsqu’il a reçu un Final d’un secondaire, ou après un timeout indiquant que la trame a été perdue. Bit Final Trame de réponse La station secondaire n’envoie de Final que lorsqu’il a reçu un Poll de la station primaire.

Mise en trame Bourrage de bits A chaque fois qu’apparait 5 consécutifs bits-1 dans

Mise en trame Bourrage de bits A chaque fois qu’apparait 5 consécutifs bits-1 dans les données transmises, on y ajoute un bit-0 pour que cela ne soit pas pris pour un délimiteur de trame. A la réception, on enlève tout bit-0 qui suit 5 bits-1.

Mise en trame FCS: Vérificateur de séquençage de trame Une vérification cyclique de redondance

Mise en trame FCS: Vérificateur de séquençage de trame Une vérification cyclique de redondance se produit sur toute la trame, incluant ‘l’Adresse’, le 'Contrôle' et les champs ‘d’Information'. Le vérificateur de séquençage de trame est un CRC de 16 bit (CRC-CCITT) ou de 32 -bit (CRC-32).

Labo 3 – Le protocole HCLC Topologie physique multi-point Une station primaire, deux stations

Labo 3 – Le protocole HCLC Topologie physique multi-point Une station primaire, deux stations secondaire La station primaire contrôle la communication Architecture de 3 couches Couche physique Couche liaison de données – offre service orienté connexion avec le protocole HDLC Couche « application » - Échange de messages entre la station primaire et chaque station secondaire

Labo 3 – Le protocole HCLC Programmation Java Couche physique simulé avec la programmation

Labo 3 – Le protocole HCLC Programmation Java Couche physique simulé avec la programmation socket Classe: Physical. Layer – offre deux méthodes transmit() et receive 90 pour transmettre et recevoir les trames HDLC Classe: Physical. Layer. Server – Serveur qui permet de réaliser un couche physique multi-point Entités deux autres couchés réalisés avec des classes Java Couche liaison de données: classes Primary. HDLCData. Link et Secondary. HDLCData. Link Couche Application: classes Primary. Station et Secondary. Station

Couche Physique Station Primaire trame Station Secondaire trame transmit() receive() Physical. Layer Client. Socket.

Couche Physique Station Primaire trame Station Secondaire trame transmit() receive() Physical. Layer Client. Socket. Manager Le serveur agit comme commutateur Toutes trames reçues sur une connexion est retransmit sur les autres Ces classes vous sont fournies Réseau local Server. Socket. Manager Physical. Layer. Server

Couches liaison de données et application Station Primaire Primary. Station Primary. HDLCData. Link Physical.

Couches liaison de données et application Station Primaire Primary. Station Primary. HDLCData. Link Physical. Layer Station Secondaire Secondary. Station Secondary. HDLCData. Link Physical. Layer La classe Primary. HDLCData. Link offre les méthodes suivantes dl. Connect. Request, dl. Connect. Confirmation, dl. Data. Request, dl. Data. Indication, dl. Disconnect. Request La classe Secondary. HDLCData. Link offre les méthodes suivantes dl. Connect. Indication, dl. Connect. Response, dl. Data. Request, dl. Data. Indication, dl. Disconnect. Indication Couche application Couche liaison de données Couche physique

Mise en trame Une trame sera une chaîne de caractère: objet String Des chaînes

Mise en trame Une trame sera une chaîne de caractère: objet String Des chaînes déjà prédéfinis sont fournis pour mise en trame Exemple: private final String SNRM_M 1 = "00"; private final String SNRM_M 2 = "001"; private final String P 1 = "1"; Des méthodes (de la classe Primary. HDLCData. Link et Secondary. HDLCData. Link) private String int. Adr. To. Bit. Adr(int adr): conversion d’adresse en bits private String string. To. Bit. String(String str) : conversion de chaîne ASCII en bits. Utilise opérateur de concaténation (+) pour la création d’une trame: Exemple (adr est une variable int): La chaîne référée par frame sera une séquence de 0`s et 1`s String frame = FLAG+int. Adr. To. Bit. Adr(adr)+SNRM_M 1+P 1+SNRM_M 2+FLAG;

Extraire données d’une trame En Java, l’objet offre des méthodes pour manipuler les objets

Extraire données d’une trame En Java, l’objet offre des méthodes pour manipuler les objets Les méthodes de la classe String utiles pour ce labo: substring(int ix. Start, int ix. End) – pour extraire une sous-chaîne de la chaîne – caractères entre ix. Start et ix. End-1; char. At(int ix) – donne le caractère à l’index ix Constantes prédéfinies fournies à utiliser avec méthodes. Exemples (avec String trame qui réfère à une trame): Numéro de séquence: String ns = trame. substring(NS_START, NS_END) Bit Poll: char p = trame. char. At(PF_IX);

Votre tâche De compléter les méthodes classes Primary. HDLCData. Link et Secondary. HDLCData. Link

Votre tâche De compléter les méthodes classes Primary. HDLCData. Link et Secondary. HDLCData. Link Exemple: // Data transfer service - non-confirmed service public Result dl. Data. Request(int adr, String sdu) { Result. Code cd = Result. Code. Op. Sucessful; // à compléter return(new Result(cd, 0, null)); }

Pondération Fonctionnement de base du HDLC: 60% Compléter les méthodes: La classe Primary. HDLCData.

Pondération Fonctionnement de base du HDLC: 60% Compléter les méthodes: La classe Primary. HDLCData. Link : dl. Connect. Request, dl. Connect. Confirmation, dl. Data. Request, dl. Data. Indication, dl. Disconnect. Request La classe Secondary. HDLCData. Link : dl. Connect. Indication, dl. Connect. Response, dl. Data. Request, dl. Data. Indication, dl. Disconnect. Indication Fenêtre coulissante: 20% Rapport: 20%