Couche 2/OS: LASON de DONNEES Protocole HDLC 147
Présentation High Level Data Link Control Protocole de niveau 2/OS Premier protocole moderne 1973-1976 Utilise des mécanismes qui sont repris dans de nombreux autres protocoles Standards OS 3309 et 4335 CCTT X25.2 : LAPB et 440: LAPD ECMA 40 et 49 (+60, 61, 71) Réseaux locaux: 8802.2 LLC1, LLC2, LLC3 Produits BM SDLC 148
Service Physique requis Liaison physique SYNCHRONE DUPLEX standard Possibilité de demi-duplex sur réseaux commuté mais avec des restrictions de service... Le coupleur physique doit aussi assurer TRANSPARENCE par insertion automatique de zéros Détection d'erreurs par code cyclique CCTT 149
Service fourni Transmission TRANSPARENTE d'une chaîne de bits quelconque bidirectionnelle simultanée Correction d'erreurs très efficace détection par code cyclique CCTT x 15 +x 12 +x 5 +1 Répétition des trames erronnées Contrôle de flux avec anticipation Liaison de données Point à pointsymétrique ou dissymétrique Multipoint disymétrique scrutation par invitation à émettre 150
Versions et sous-ensembles Mode dissymétrique Une station primaire et une ou plusieurs stations secondaires NORMAL exemple SDLC AUTONOME (ancien) X25.2 LAP Mode symétrique équilibré X25.2 LAPB Options Très bien codifiées Rejet Adressage étendu Séquencement étendu Données non séquencées etc. 151
Structure de trame - nsertion de "0" F A C information (optionnelle) FCS F Commande: 1 ou 2 octets (option 10) Adresse: 1 ou 2 octets (option 7) Fanion d'ouverture : 7E h = 01111110 Structure UNQUE avec 2 formats Champ de données optionnel Format B avec champ d'information Format A sans champ d'information Fanion de fermeture : 7E h Contrôle d'erreurs (2o) Remplissage entre trames : Fanions ou "idle" (7FFF h ) Lorsque l'utilisateur cesse d'émettre des données vers le coupleur, celui-ci envoie le FCS (qu'il calcule au fur et à mesure) puis le fanion de fermeture 152
Transparence : nsertion automatique de "0" Algorithme émission Si bit=0 RAZ compteur, sinon ncrémenter compteur Si compteur = 5, nsérer 0, RAZ compteur Algoritme réception Si bit = 1, ncrémenter compteur, sinon (bit=0) si compteur 5 RAZ compteur Si compteur = 6 : présomption Fanion, incrémenter compteur Si compteur = 7 et bit=0 : Fanion sinon "avorter trame" Abort A émettre : 01110011111 11011111 00... F Compteur : 01230012345012012345000 Transmis: 011100111110110111110 00... F Compteur : 01230012345012012345000 Reçu: 01110011111 11011111 00... F 153
Statut des stations -1 Système à commande centralisée DSSYMETRQUE Multipoint Primaire Commande Réponse Secondaire Secondaire Secondaire Point à point Primaire Commande Réponse Secondaire Adresse = station SECONDARE 154
Statut des stations - 2 Système à commande centralisée SYMETRQUE Fonction Primaire Commande Réponse Fonction Secondaire Fonction Secondaire Commande Réponse Fonction Primaire Adresse : FONCTON SECONDARE 155
Adresses commande A réponse Réseau A B Hôte Adresse Transmise : toujours celle de la station ou fonction SECONDARE En mode DYSSYMETRQUE Statut de station permanent En mode SYMETRQUE B dentifier la FONCTON secondaire ACCEPTEUR de Connexion ou de Libération ou autre fonction... COLLECTEUR de données Possibilité de 2 flux de données dans chaque sens (commande et réponse) En LAPB OPTON 8 : Un seul flux de données (commandes) Commandes émises par station Hôte vers RESEAU : adresse A=1 Réponses émises par station Hôte vers RESEAU : Adresse B= 3 Commandes reçues par station Hôte depuis RESEAU : adresse B=3 Réponses reçues par station Hôte depuis RESEAU : Adresse A=1 156
Types de trames Champ de commande N attendu N émis N attendu 0 type 0 1 type type 1 1 3 Types de trames :, S, U Trames nformation ; transfert de la SDU Trames S Supervision séquencées Contrôle de flux :, RNR Contrôle d'erreurs : REJ, SREJ Trames U Supervision Non séquencées (Unsequenced) Connexion, Libération Anomalies, Réinitialisation Test, dentification Données non séquencées (datagrammes) 157
Trames de supervision non séquancées - U - 8 1 M M 1 1 P/F 32 commandes ou réponses possibles... Commande Réponse bits 8 à 6 bits 4-3 SNRM 1 0 0 00 Set Normal Response Mode command SNRME 1 1 0 11 SARM DM 0 0 0 11 Set Asynchronous Response Mode command- Disconnect Mode response SARME 0 1 0 11 SABM 0 0 1 11 Set Asynchronous Balanced Mode command SABME 0 1 1 11 DSC RD 0 1 0 00 Disconnect commande - Request diconnect UA 0 1 1 00 Unnumbered Acknowledge SM RM 0 0 0 01 Set (Request) nitilalisation Mode TEST TEST 1 1 1 00 test XD XD 1 0 1 11 exchange dentification U U 0 0 0 00 Unnumbered nformation FRMR 1 0 0 01 Frame Reject 158
CONNEXON - LBERATON CONCnf+ CONReq 1 4 {A} CONnd 2 CONRsp+ 3 {B} Primaire SABM {B} UA {B} SNRM Secondaire LBCnf LBReq LBnd LBRsp 4 1 2 3 Primaire Secondaire DSC UA CONRsp+ CONnd CONSecReq CONSecnd CONReq CONCnf+ 5 4 1 2 3 6 Secondaire {A} DM SNRM {A} {A} Primaire {B} UA {A} 159
COLLSONS d'appels CONCnf+ CONReq 1 4 Primaire SNRM COLLSON CONnd CONRsp+ 3 2 Secondaire DM Appels simultanés Secondaire connecté primaire NON connecté CONCnf+ CONReq 1 4 Primaire UA RESOLUTON des COLLSONS par P/F P=1 SNRM P=1 UA F=0 DM CONnd 2 Secondaire CONRsp+ 3 Utilisation du bit P/F Recommandation Commande d'appel bit P=1 Réponse à P=1 par F=1 si DM avec F=0 pas d'ambiguïté DM ignoré 160
Réinitialisation - autres commandes Réinitialisation par primaire Deconnexion puis connexion (DSC - SABM) Envoi d'une commande SABM ou SNRM en OPTON : SM acquitté par UA Réinitialisation par secondaire demande de réinitialisation par DM demande par réponse NON sollicitée (crée anomalie...) en OPTON : RM qui entraine SM (et UA) Test - dentification Echange Test-Test ou Xid-Xid 161
Transfert de données normales (séquencées) CHAMPS de COMMANDE 8 trames 1 N(R) P/F N(S) 0 trames S :,RNR, REJ, SREJ 8 1 N(R) P/F Type 0 1 données dans trame N(S) numéro de trame émise Acquittement trames ou RNR trame par numéro N(R) numéro de trame de DONNEES attendue Contrôle de flux implicite : Trames (N(R)) explicite : trame RNR Controle d'erreurs répétition des trames manquantes trames REJ (option SREJ) 162
Contrôle de flux à crédit fixe : Ouverture de fenêtre EXEMPLE W=3 0 1 2 3 4 5 6 7 0 1 2 3 4 on peut émettre 0, 1, 2 on reçoit trame demandant 3 0 1 2 3 4 5 6 7 0 1 2 3 4 on peut émettre 3, 4, 5 on reçoit trame demandant 5 0 1 2 3 4 5 6 7 0 1 2 3 4 on peut émettre 5, 6,7 on reçoit trame demandant 7 0 1 2 3 4 5 6 7 0 1 2 3 4 on peut émettre 7, 0, 1 etc... 163
Contrôle de flux : exemple SABM P=1 NS=4, NR=2, P=0 W=3 NS=5, NR=2, P=0 UA F=1 NS=06 NR=2, P=0 NR=5, F=0 NS=0, NR=0, P=0 NS=1, NR=0, P=0 NS=2, NR=0, P=0 NS=7, NR=2, P=0 RNR NR=0, F=0 Reprise Emission NR=0, F=0 NR=3, F=0 NS=0, NR=2, P=1 NS=3, NR=0, P=0 Blocage Emission NR=1, F=1 NS=0, NR=4, P=0 NS=1, NR=4, P=0 DSC P=1 UA F=1 164
Correction d'erreurs par REJET w=3 NS=2, NR=0, P=0 NR=3, F=0 NS=3, NR=0, P=0 trame erronée NS=5, NR=2, P=0 NS=06 NR=2, P=0 REJ NR=5, F=0 trame erronée NS=4, NR=2, P=0 NS=5, NR=2, P=0 NS=5, NR=2, P=1 NR=6, F=1 REJ NR=4, F=0 NS=4, NR=2, P=0 NS=6, NR=0, P=0 NS=7, NR=2, P=0 165
Contrôle d'erreurs par Rejet selectif trame erronée SREJ NS=2, NR=0, P=0 NR=3, F=0 NS=3, NR=0, P=0 NS=4, NR=2, P=0 NS=5, NR=2, P=0 NR=4, F=0 Exemple ce mécanisme n'est pas inconditionnellement sûr. l faut être complétement revenu en séquence avant de pouvoir le mettre en oeuvre à nouveau les trames arrivent déséquencées (ici 2, 3, 5, 4, 6...) NS=4, NR=2, P=0 NS=6, NR=2, P=0 166
Pointage de vérification SREJ NS=06 NR=2, P=0 NR=5, F=0 NS=5, NR=2, P=1 Permet de vérifier le séquencement en COMMANDE P=1 réponse immédiate adresse de commande t1 t2 NR=0, P=1 en réponse avec F=1 En mode symétrique NR=6, F=1 bit P = 1 est une demande de réponse immédiate NS=6, NR=2, P=0 NS=7, NR=2, P=0 167
Mode Dissymétrique : nvitation à émettre SNRM P=1 NS=2, NR=0, F=1 Station primaire peut toujours émettre UA F=1 NS=0, NR=0, P=0 NS=4, NR=0, P=0 NR=0, P=1 NS=0, NR=4, F=0 NR=3, P=0 NR=3, P=1 NS=2, NR=0, F=0 NS=2, NR=0, F=0 autorise secondaire à émettre par bit P=1 peut bloquer une station secondaire qui émet par P=1 (en général dans ) Station secondaire attend invitation à émettre Signale sa fin d'émission par F=1 NS=1, NR=4, F=0 NS=5, NR=2, F=0 NR=0, P=1 NR=x, F=1 attend alors nouvelle autorisation 168
Traitement des anomalies Utilisationde trame FRMR (Frame Reject) ancienne version : CMDR (Command Reject) Contient 3 octets de données Champ rejeté variables d'état V(S) et V(R) fournit un certain diagnostic (limité) bit W : Champ d commande non défini bit X: Champ d'information dans une trame de format A bit Y: Champ d'information trop long (débordement buffer) bit Z : erreur sur N(R) reçu (hors fenêtre) 8 1 8 1 8 1 8 1 100 P/F 01 11 champ rejeté 0 V(S) C/R V(R) W X Y Z 0000 169