Le niveau LLC 

Sommaire :

Généralités sur LLC
Protocoles de la norme 802.2
Primitives et scénarii d'interactions réseau/LLC
Primitives hors connexion L_Data
Primitives sur connexion
Primitives sur service datagramme acquitté
Scénarios en LLC de type 2
Principes de retransmission
Problèmes liés à la numérotation des trames
Scénarii d'échanges

 

Généralités sur LLC

Définitions

Le niveau liaison ( logical Link Control)  gère des liaisons de points à points :

Définitions 

Que sont les datagrammes ?

Ils se singularisent par le fait de pouvoir envoyer des paquets à un ou plusieurs utilisateurs de façon isolée.
C’est  est le mode basic retenu par les protocoles de cette  couche , donc pas de relation de séquencement.

Caractéristiques des  protocoles LLC

Ils sont basés sur HDLC (High Level Data Link Control)
Ils sont appelés LAP (Link Access Protocol) dans le monde X25 ( LAP B,C,D )
Ils travaillent sur le champ Données des trames MAC .

 

Protocoles de la norme 802.2

Les 3 classes de services proposées - Définitions des PDUs et SAPs - Format des LPDUs

Les 3 classes de services proposées

Le service sans connexion

But: du IEEE LLC type 1:

Fournir une garantie de livraison des messages appelés LSDU
Permettre la détection et  la reprise sur erreur
Fournir un service sans connexion ni acquittement

Le service sur connexion

  But du IEEE LLC type 2 :

Créer et gérer des échanges sur connexions
Acquitter les données
Vérifier leur ordre
Détecter les erreurs ou doublons
Contrôler le flux

Moyens employés :

La Numérotation ( le Protocole utilisé est identique au  X25 LAP B)

L’identification de connexion unique se fait avec :

Corollaire :

Les connexions. le sont entre 2 correspondants, pas de multipoint

Le service de Datagramme acquitté

But: du IEEE LLC type 3:

Améliorer la fiabilité des échanges
Offrir néanmoins une gestion facile :

 Bornage supérieur du timer possible si  MAC le prévoit.

 

Définitions des PDUs et SAPs

On observe que :

Une PDU de couche i devient une SDU dans la couche i-1.

Chaque enveloppe est utilisée pour la gestion du protocole de la couche qui l'insère.

Les enveloppes s'ajoutent .... avant transmission sur support PHYSIQUE.

Les enveloppes se retirent ..... lors de la livraison.

Définition des LPDU:

Ce sont des Entités de données émises entre deux LLC en   communication.

La soumission et réception de ces données par les Utilisateurs se fait sous forme de LSDU à travers les Primitives

Définition des LSAP :

Ce sont les entrées locales du service Liaison, elles peuvent être utilisées par de multiples utilisateurs simultanément. A chaque utilisateur on  affecte une DSAP et  une SSAP pour les différencier

Position des données LLC

Données LLC

La figure ci-contre présente le schéma d’encapsulation des données LLC dans une trame Token Ring de niveau MAC.

Format des LPDUs

Les octets décrits sont le Champ DONNEE des trames  MAC sans la MA-SDU soit la  LPDU.

Format des champs d'adresse :

SSAP et DSAP désignent 1 ou plusieurs SAP locaux aux LLC impliqués.

Association au SSAP de la SA trouvée dans la trame MAC 

Adresse DASP ou SSAP = 1 Octet :  7 bits pour l'adresse  + 1 bit spécial ... I/G, C/R

Trois type de LPDU sont présentées :

I :  information
S : supervision
U : non numérotée (Unumbered)

Observer la présence du bit P/F dans toutes les trames

Le champ de contrôle d'une LPDU

Il est  conforme au format étendu de HDLC et Il définit 3 Types de LPDU :

U  Les LPDU non numérotées (voir tableau) incluent

Le bit P/F qui est décrit ci-après
Un champ Contrôle sur 1 octet
Le bit M qui code une fonction

S  Les LPDU de supervision

Gèrent en service de  type 2 :  le contrôle de flux et les retransmissions RR, RNR, REJ
Seul le No de Séquence en Réception est utilisé, ceci permet à l'Emetteur d'indiquer quel No de trame il s'attend à recevoir ( voir plus loin).

I  Les LPDU d'information incluent

Un seul type pour Commande ou Réponse
Le champ N(S) =No Séquence en Emissions = numérote les trames
Le champ N(R) =No Séquence en Réception = acquitte toutes les trames déjà reçues (voir mécanisme)

Fonctions du Bit  P/F

Dans les types U, S, I ...  le bit P/F fonctionne en conjonction avec  le bit C/R du champ SSAP (fig. précédente)

C/R=0 : Trame de commande...  si P/F=1 (POOL)

sollicite une réponse du LLC adressé
la réponse vient dans trame C/R=1

 

C/R=1 : Trame de réponse...  si P/F=1 (FINAL)

indique que LLC distant répond à la sollicitation

Objectif du bit P/F :

Imposer une réponse à un LLC silencieux.

Il est utilisé dans une LPDU type 2 et 3. Dans type 2 permet de résoudre des cas  de dysfonctionnement et de reprise après ERREURS

Codes des LPDUs de Supervision

Les LPDUs de Supervision :

Codes des LPDU de Supervision utilisées dans la gestion des protocoles sur connexion  en Type 2    IEEE 802.2

Tableau des LPDUs non numérotées utilisées

 

Primitives et Scénarios d’interactions Réseau / LLC

Les primitives

Les primitives

A quoi servent les primitives ?

Elles servent à réaliser les Protocoles. Chaque couche met à disposition de sa voisine des primitives pour réaliser des services

Voir les illustration par diagramme temporel en scénario

Trois  types de primitives utilisées en LLC

REQUETE :

INDICATION :

L'arrivée d'une  SDU depuis LLC distant
Une ouverture de connexion
Une fermeture de connexion

CONFIRMATION :

Requête sans confirmation ex: datagramme perdu        

 

Le prestataire de service. LLC signale à  Réseau un évènement détecté ex: panne réseau

Exemple d'une transmission réussie en type 2    ou 3,  la confirmation n'est pas toujours positive.

 

Exemple d'une fermeture réussie

 

Les deux membres font simultanément une requête de fermeture, aucune indication délivrée 

 

Primitives hors connexion L_DATA

- Elles permettent d' EMETTRE une trame simple hors connexion de type 1

Généralités

La requête donne en Paramètre les adresses  LSAP source et destination
Les données sont dans le champ LSDU
La classe de service donne une indication de priorité elle peut être utilisée si MAC est de type à jeton :

le DSAP
le DA  (MAC) à utiliser          

Interaction Réseau – LLC – MAC

Requête du réseau

LLC soumet MA-DATA request à MAC (voir paramètres fournis)
MAC confirme avec une MA-DATA confirmation en indiquant dans le champ Statut :

  • comment s'est passé  la Transmission
  • quelle est la priorité retenue

Nota:

La confirmation ne garantit pas la réception du message ( voir MAC utilisé seule la norme 802.5 contient :  un bit indiquant ..adresse reconnue et un bit indiquant ..trame copiée.

Si la communication est réussie chaque LLC reçoit une MA-DATA indication  avec comme paramètres :

Action de LLC

 

 

Primitives sur Connexion

Primitives utilisées  

Elles permettent de gérer  une trame sur connexion type 2

Une connexion nécessite 3 phases :

Primitives utilisées

Elles sont au nombre de 5

L-CONNECT                           Ouverture

L-DATA CONNECT                    Transfert de données

L-RESET                               Purge

L-DATA FLOW CONTROL             Modification de débit

L-DATA DISCONNECT                Fermeture

Rappel des services types 2

Séquencement

Reconnaissance  des pertes

Retransmission

Elimination des doublons

Full duplex pour transmission des données

 Rappel des principes

- Soit la DSAP ( une référence peut être substituée à l'adresse après connexion)

La DA et son adresse SSAP, ce sont les seuls paramètres à fournir.

Le LLC distant peut refuser si :

- DSAP  inconnu

- Manque de ressource

- Ne peut réaliser la classe de service demandée

 

Primitives sur Service Datagramme Acquitté

  Rappel des principes

Rappel des principes

Elles permettent de gérer  une trame sans connexion type 3.

Contraintes

Types de primitives et services

L-DATA ACK service Données acquittées
L-DATA ACK service  Réponse immédiate
L-REPLY_UPDATE
L-REPLY       

Prévues pour équipements peu intelligents

Formalise le principe de polling à scrutation, Conçues dans le cadre de MAP  (Manufacturing Automation Protocols)
Requête : la LPDU est envoyée au destinataire

Un timer T2 est armé pour surveiller le non retour d'acquittement.

Le destinataire acquitte la LPDU et délivre la LSDU au DSAP indiqué

  • Si T2 sonne les donnée sont réexpédiées.
  • Si après n répétitions de tentatives aucun ACK ne revient, une confirmation NEG est rendu au demandeur.

 

Scénarii en LLC de type 2  

Séquence d’ouverture de connexion - Scénario d'ouverture impossible - Autres scénarii  - Transfert de données

Séquence d’ouverture de connexion

Réseau A -> L-CONNECT   request

LLC A -> LPDU U :SABME  ->  LLC B      

LLC B <- U :SABME

LLC B ->        LPDU     U:UA.  envoyée

LLC B ->        L-CONNECT indication  à  ->  Réseau B

LLC A <-        LPDU  U:UA.    reçue

LLC A             ->        L-CONNECT confirmation au demandeur Réseau A

Scénario d'ouverture impossible

Si le correspondant  ( LLC B ) ne peut accepter la communication.

LLC B ->        LPDU  DM Disconnect Mode

LLC A             <-        DM - il libère les ressources.

LLC A ->        L-CONNECT confirmation NEG au demandeur

Autres scénarii

Avec LPDU SABME (Set Asynchronous Balanced Mode) Mise en mode asynchrone équilibré étendu et avec LPDU UA (Unumbered Ack)  Acquittement non numéroté.

Perte de LPDU en demande de connexion

SABME et UA sont perdus par MAC

AT se déclenche

LLC A ->        LPDU SABME une nouvelle fois après n tentatives sans réponse

LLC A ->        L-CONNECT confirmation NEG  au  demandeur

Demande d’ouverture réciproque

LLC A et B reçoivent simultanément une demande d'ouverture

LLC A ->        LPDU SABME           LLC B

LLC B ->        LPDU SABME           LLC A

Collision : si les correspondants acceptaient ..le résultat serait : 2 connexions

LLC A ->        LPDU UA

LLC B ->        LPDU UA

Chacun vérifie si une connexion de sa propre origine n'est pas déjà ouverte avant de fournir une indication au DSAP.

Fermeture  de connexion

Elle peut être faite par l'un quelconque des correspondants

LLC A <-        L-DISCONNECT request

LLC A ->        LPDU DISC   

LLC B <-        LPDU DISC               

 LLC B ->       LPDU UA

LLC A <-        LPDU UA      

 

Transfert de données

Principes de la Phase Transfert

Dès émission ou réception de LPDU UA  la phase transfert commence.

Des LPDU de type I (information) et S ( supervision) sont utilisées pendant cette phase pour :

Principes généraux des techniques 

Ils sont utilisables dans les trois protocoles et comportent :

Chaque trame peut être acquittée positivement et individuellement par une trame en retour :ACK
L'ACK peut être incorporé dans une trame de donnée en retour (Piggy Acking )
Autre stratégie utiliser des NAK pour d'acquittement NEG: signal d'erreur
Des réveils sont armés pour éviter les DEAD LOCKS

Retransmissions automatiques

 

 

 

 

Principes de retransmission

STOP AND WAIT - GO BACK N

STOP AND WAIT

Principes :

- Une seule trame est émise à la fois

- On attend l'ACK ou NAK avec réveil armé

Conséquences :

Mauvaise utilisation de la bande passante, générer un ACK prend plus de temps que transmettre des données

GO BACK N

Principe sur NAK:

Toutes les trames sont transmises en continu

- Sur réception d'un NAK ( fig 5.12a  NAK3 ) on reprend la transmission à N trame en arrière, soit au niveau du 1er             NAK reçu.

- Toutes celles qui suivent  sont réémises

Ce principe n'est pas adapté au réseau local

Il est difficile de renvoyer un NAK si le correspondant n'est pas lisible (CRC erroné )

-  Convient bien au point à point

Principe GO BACK N stratégie basée sur les NAK

Utilisation de NAK en conjonction avec des Numéros de Séquence
  • Seule la trame dotée d'un NAK ou bien dont le réveil sonne est renvoyée.

  • Le récepteur doit réordonnancer ses tampons pour respecter l'ordre

  • Technique avantageuse dans les réseau satellites aux délais de propagation longs.

Peu utilisée dans les réseau locaux

  • Nombre de tampons important

  • implémentation lourde

GO BACK N  Stratégie basée sur le réveil

Principe sur Expiration du réveil:
  • Un réveil est armé pour chaque trame émise

  • Un réveil armé pour la 1ère trame non acquittée,  en réalité on l'arme sur la 1ère trame non acquittée au moment la réception de l'ACK de la précédente

  • Celui de A3 expire ( trame non acquittée) et provoque une réaction de même type.

  • 802.2 utilise cette anticipation   ( décrite plus loin)

 

 

Problèmes liés à la numérotation des trames

Fenêtre d’anticipation - Séquencement

Fenêtre d’anticipation

  Les compteurs N(S) et N(R) sont sur 7 bits donc modulo 128

Si l'ACK n'arrive pas avant le No 128 = fin de transmission tampons épuisés.

En pratique: La limite est K tampons dont dispose le LLC pour émettre soit <=128 )

La fenêtre d'anticipation : c’est le nombre de LPDU que peut envoyer un LLC avant blocage.

 

Séquencement

Rappel types de compteurs, ils définissent soit :

Un évènement terminé

N(S)  est le No de trame  Emise
N(R)  est le No de trame  Attendue

Un évènement prévu

V(S)  est le No de trame  à Emettre
V(R)  est le No de trame  Attendue
bit Pool=1 C/R=0   commande
bit Final=1 C/R=1  réponse

 

 

Scénarii d’échanges

Scénario 1  Envoi de LPDU I - Le contrôle de Flux - Cas typiques lies au Bit Pool - Phénomènes d'asynchronismes et REJ - Gestion de la fenêtre d'anticipation

Scénario 1  Envoi de LPDU I

LLC reçoit  une commande L-DATA_ CONNECT

LLC crée une LPDU ..I correspondante

Première partie du S1 sans erreur

A         ->        LPDU

B         <-        reçoit la 0        

B         ->        LPDU        suite à demande. état de la  1ere : P=1

B         <-        reçoit la 1        

Suite scénario 1

B         ->        LPDU ..I

A         <-        la reçoit           

A         ->        L-DATA CONNECT

2ème partie du S1 : l’erreur est détectée

A         ->        LPDU 2       

            ->        LPDU 3

            ->        LPDU 4 

 B        <-        LPDU 2          

A         ->        LPDU 3       

B <-     LPDU 4  - Hors séquence N(S) différence au V(R)

B         ->        LPDU ..S : REJ  Car pas de données a transmettre.

A         <-        LPDU ..S : REJ          

 

Le contrôle de Flux 

Utilisation de RR et RNR  

Contrôle de Flux    

Etat initial du scénario

Celui-ci fait suite à la dernière séquence. de la fig. 5.13, nous supposons qu'après réception de la  LPDU 6 ... B à utilisé tous ses tampons.
Cause possible l'utilisateur ne retire pas ses données

B         <-        LPDU 6                      sans problème

B         <-        LPDU 7                      bit Pool=0

B         <-        LPDU 0                      bit  Pool=1

B      ->           LPDU S:RNR  N(R)=7

A         <-        LPDU S:RNR                                    

A         ->        LPDU S:RR    

B         ->        LPDU S:RR     bit  F=1 mode réponse

A         <-        LPDU S:RR     sait qu'il peut renvoyer des ..I

A         ->        LPDU...I ..N=7          

A         ->        LPDU...I ..N=0          

B         <-        les reçoit

B         ->        LPDU S:RR   

 

Cas typiques lies au Bit Pool

Un réveil de type P-Bit plus court que TA existe, il est armé lors de l'envoi d'une trame de commande  ..  Bit Pool affirmé.

En cas de non réponse la LPDU de commande est renvoyée n fois ( P-Bit réarmé n fois ).

La connexion est alors considérée comme rompue.

Phénomènes d'asynchronismes et REJ

Phénomènes d'asynchronismes et REJ

La figure montre un exemple ou les trames arrivent pendant une émission.

Conclusion:

La norme décrit sous forme d'automate d'état finis le fonctionnement du protocole.
La norme précise les réactions que le récepteur de LPDU doit avoir dans tous les cas.

 

Gestion de la fenêtre d'anticipation

Principe

Cette fenêtre indique à l'émetteur le nombre de LPDU de type INFORMATION qu'il peut soumettre avant d'exiger un acquittement

Chaque LPDU I émise = Val. fenêtre locale -1

Chaque ACK positif  Reçu = Val. fenêtre locale +1

Ceci est insuffisant pour garantir le contrôle de flux

dans le cas ou l'utilisateur ne retire pas ses données celles-ci sont conservées

L'échange des valeurs locales n'est pas permise