{"id":644,"date":"2017-05-07T18:20:10","date_gmt":"2017-05-07T16:20:10","guid":{"rendered":"http:\/\/www.gatoux.com\/?page_id=644"},"modified":"2017-05-08T12:01:50","modified_gmt":"2017-05-08T10:01:50","slug":"deconnexions-et-erreurs","status":"publish","type":"page","link":"https:\/\/racine.gatoux.com\/lmdr\/index.php\/deconnexions-et-erreurs\/","title":{"rendered":"D\u00e9connexions et erreurs"},"content":{"rendered":"<p>Nous \u00e9tudions ici les diff\u00e9rents cas aboutissants \u00e0 une d\u00e9connexion du niveau 2 HDLC ainsi que la mani\u00e8re de traiter les erreurs \u00ab\u00a0logicielles\u00a0\u00bb. Ce sera \u00e9galement l&rsquo;occasion de tirer des enseignements sur l&rsquo;\u00e9tat de votre lien en examinant les cas d&rsquo;erreurs que le protocole pourrait vous remonter.<\/p>\n<h2>Les cas de d\u00e9connexions<\/h2>\n<p>Il existe diff\u00e9rents cas de d\u00e9connexion, mais <strong>il n&rsquo;y a qu&rsquo;une m\u00e9thode \u00ab\u00a0propre\u00a0\u00bb<\/strong> !<\/p>\n<p><strong><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-669 alignleft\" src=\"http:\/\/racine.gatoux.com\/lmdr\/wp-content\/uploads\/2017\/05\/S5P6I2.gif\" alt=\"\" width=\"372\" height=\"614\" \/>D\u00e9connexion par DISC\/UA :<\/strong><br \/>\nDans le sch\u00e9ma ci-contre U d\u00e9cide de rompre la connexion de niveau 2. Ceci n&rsquo;arrive r\u00e9ellement que dans le cas d&rsquo;un arr\u00eat \u00ab\u00a0propre\u00a0\u00bb de l&rsquo;\u00e9quipement X25. Par exemple, la mise hors tension d&rsquo;une station ou d&rsquo;un serveur (ou d&rsquo;un commutateur) par un arr\u00eat logiciel puis mise hors tension. En cas de coupure brusque le comportement est diff\u00e9rent.<\/p>\n<p>Ici Les \u00e9changes d&rsquo;informations sont termin\u00e9s. U acquitte la derni\u00e8re trame qu&rsquo;il a re\u00e7u. U a \u00e9galement re\u00e7u tous les acquittements n\u00e9cessaires de R. Il \u00e9met une trame de commande DISC pour signifier \u00e0 R sa volont\u00e9 de rompre la connexion. R accepte par une UA en r\u00e9ponse (<em>entre-nous il n&rsquo;a pas le choix, s&rsquo;il refuse U continuera d&rsquo;\u00e9mettre des DISC N2 fois<\/em>). Puis R passe en mode d\u00e9connect\u00e9 en \u00e9mettant N2 fois des DM. <em>Ensuite \u00ab\u00a0silence radio sur la ligne\u00a0\u00bb !<\/em><br \/>\n<strong>D\u00e9connexion par R\u00e9initialisation du niveau 2 :<\/strong><br \/>\nIci U \u00ab\u00a0<em>perd les p\u00e9dales<\/em>\u00a0\u00bb et \u00e9met une trame SABM en plein \u00e9change de donn\u00e9es ! La sanction ne se fait pas attendre ! R accepte la SABM par une r\u00e9ponse UA et passe en mode d\u00e9connect\u00e9 imm\u00e9diatement apr\u00e8s ! Il faudra que U r\u00e9\u00e9mette une SABM pour r\u00e9tablir le niveau 2 ! Au passage vous remarquez que R r\u00e9pond par une UA avec F:1 car la SABM a \u00e9t\u00e9 \u00e9mise avec P:1. Ce cas est plut\u00f4t rare ! C&rsquo;est un cas de rupture qui est g\u00e9n\u00e9ralement utilis\u00e9 en cas d&rsquo;erreurs logicielles grave, vous le retrouverez lorsque nous \u00e9tudierons la trame <strong>FRMR<\/strong> ci-dessous!<\/p>\n<p><strong>D\u00e9connexion par perte intempestive de niveau 1 :<\/strong><br \/>\nS&rsquo;il y a eu perte de niveau 1, il n&rsquo;y a pas pu avoir de protocole d&rsquo;\u00e9change pour une d\u00e9connexion. Donc au r\u00e9tablissement du niveau 1, on oublie tout et le r\u00e9seau \u00e9met des DM pour informer qu&rsquo;il se consid\u00e8re en mode d\u00e9connect\u00e9. L&rsquo;U devra \u00e9tablir la connexion par SABM\/UA. Seules les trames qui ont \u00e9t\u00e9 acquitt\u00e9es avant la d\u00e9connexion intempestives auront \u00e9t\u00e9 prises en compte. Toutes les trames qui auront \u00e9t\u00e9 re\u00e7ues par U ou par R mais qui n&rsquo;auront pas \u00e9t\u00e9 acquitt\u00e9es seront \u00ab\u00a0<em>poubellis\u00e9es<\/em>\u00ab\u00a0.<\/p>\n<h2 dir=\"ltr\"><\/h2>\n<h2 dir=\"ltr\"><\/h2>\n<h2 dir=\"ltr\"><\/h2>\n<h2 dir=\"ltr\">R\u00e9veille-toi !<\/h2>\n<p dir=\"ltr\">Que se passe-t-il si une station arr\u00eate d&rsquo;\u00e9mettre des donn\u00e9es pendant un temps assez long ?<\/p>\n<h2>Les cas d&rsquo;erreurs les plus courants !<\/h2>\n<p>Nous allons ici examiner diff\u00e9rents cas d&rsquo;erreurs possibles, il est bien s\u00fbr hors de question de dresser une liste exhaustive.<\/p>\n<p><strong><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-226 alignleft\" src=\"http:\/\/racine.gatoux.com\/lmdr\/wp-content\/uploads\/2017\/04\/ERR_INF.gif\" alt=\"\" width=\"400\" height=\"171\" \/>Erreur sur trame INFO :<\/strong><\/p>\n<p>Nous avons d\u00e9j\u00e0 \u00e9voqu\u00e9 ce probl\u00e8me dans le chapitre pr\u00e9c\u00e9dent &#8230; Ici R a pr\u00e9c\u00e9demment re\u00e7u une trame avec <strong>Ns:1<\/strong>. Il attend donc une trame avec <strong>Ns:2<\/strong>. Mais celle-ci comporte une erreur qu&rsquo;il d\u00e9tecte par l&rsquo;analyse du FCS. Il jette donc la trame et examine la suivante. Celle-ci a un <strong>Ns:3<\/strong>, il a donc une erreur de s\u00e9quencement sur les Ns.<\/p>\n<p>Il rejette la trame par une trame de r\u00e9ponse <strong>REJ<\/strong> en indiquant dans le Nr, le num\u00e9ro de la prochaine trame qu&rsquo;il attend, entre-autre la 2 pour notre cas !<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-225 alignleft\" src=\"http:\/\/racine.gatoux.com\/lmdr\/wp-content\/uploads\/2017\/04\/ERR_ANTICIP.gif\" alt=\"\" width=\"400\" height=\"271\" \/>Dans le deuxi\u00e8me exemple, nous sommes dans un cas d&rsquo;\u00e9mission de trames par anticipation d&rsquo;acquittement (exploitation du facteur K, entre-autre ici K = 4). Vous remarquez que la trame 1 (Ns:1) subit une erreur. R la jette. Il re\u00e7oit ensuite 2 et 3, il lui manque 1 ! Il \u00e9met donc une <strong>REJ<\/strong> avec <strong>Nr:1<\/strong> qui acquitte la r\u00e9ception de 0 mais pas des autres !<\/p>\n<p><strong>La REJ a pour effet de stopper tous les timers T1 en cours chez U.<\/strong><\/p>\n<p>U va donc r\u00e9\u00e9mettre imm\u00e9diatement les trames 1, 2 et 3 puisque la <strong>REJ<\/strong> n&rsquo;a acquitt\u00e9 que la 0.<\/p>\n<p>Ceux qui suivent bien depuis le d\u00e9but (<em>j&rsquo;esp\u00e8re que vous \u00eates nombreux<\/em>) se demandent pourquoi R n&rsquo;a pas plut\u00f4t envoy\u00e9 une trame <strong>RR<\/strong> avec <strong>Nr:1<\/strong> \u00e0 la place de la REJ. L&rsquo;effet semblerait \u00eatre le m\u00eame !<\/p>\n<p dir=\"ltr\">\n<p dir=\"ltr\">\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-224 alignleft\" src=\"http:\/\/racine.gatoux.com\/lmdr\/wp-content\/uploads\/2017\/04\/ERR_ACQ_RR.gif\" alt=\"\" width=\"400\" height=\"306\" \/>Pas tout \u00e0 fait ! Dans l&rsquo;exemple ci-contre je simule ce qui arriverait <strong>si R \u00e9mettait une RR au lieu de la REJ<\/strong>.<\/p>\n<p><strong>La RR va stopper les T1 des trames ayant leur Ns &lt; Nr de la RR<\/strong>. Donc ici <strong>RR<\/strong> avec <strong>Nr:1<\/strong> stoppe le <strong>T1<\/strong> de la trame <strong>Ns:0<\/strong>. Les autres T1 continuent de courir ! Les trames 1, 2 et 3 seront r\u00e9\u00e9mises \u00e0 expiration de leurs T1 respectifs.<\/p>\n<p>Au final il y aura donc bien redressement de l&rsquo;erreur et r\u00e9tablissement du s\u00e9quencement des informations, mais <strong>il aura fallu attendre 3 fois T1 au lieu de r\u00e9\u00e9mettre imm\u00e9diatement les trames comme avec la REJ<\/strong>.<\/p>\n<p>Donc <strong>signaler l&rsquo;erreur par une RR induit une r\u00e9adaptation trop longue !<\/strong><\/p>\n<p>Il est \u00e0 noter que dans le cas de la <strong>REJ<\/strong> les trames ne sont pas r\u00e9\u00e9mises avec le bit P puisqu&rsquo;elles ne sont pas \u00e9mises \u00e0 expiration du T1. Alors que dans le deuxi\u00e8me cas, elles sont \u00e9mises avec le bit P (\u00e0 expiration du T1), ce qui oblige en plus R \u00e0 acquitter chacune d&rsquo;elle par une RR avec F:1 !<\/p>\n<p>&nbsp;<\/p>\n<p><strong><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-227 alignleft\" src=\"http:\/\/racine.gatoux.com\/lmdr\/wp-content\/uploads\/2017\/04\/ERR_RR.gif\" alt=\"\" width=\"400\" height=\"250\" \/>Perte d&rsquo;une RR :<\/strong><\/p>\n<p>Ici l&rsquo;erreur de transmission n&rsquo;a pas lieu sur trame <strong>INFO<\/strong> mais sur une <strong>RR<\/strong> \u00e9mise par R. U jette la RR et ne stoppe donc pas le T1 de la trame qu&rsquo;elle acquittait (ici trame 1). Donc la trame est r\u00e9\u00e9mise avec <strong>P:1<\/strong> \u00e0 expiration de son T1.<\/p>\n<p>R re\u00e7oit alors deux trames cons\u00e9cutives avec Ns:1 ! Il y a encore erreur de s\u00e9quencement. Il r\u00e9pond donc par une trame <strong>REJ<\/strong> avec <strong>Nr:2<\/strong> qui est le num\u00e9ro de la prochaine trame qu&rsquo;il attendait ! La <strong>REJ<\/strong> a le bit <strong>F:1<\/strong> car la trame <strong>INFO<\/strong> qu&rsquo;il a re\u00e7u avait <strong>P:1<\/strong>.<\/p>\n<p>U prendra cette <strong>REJ<\/strong> comme un acquittement de la trame <strong>Ns:1<\/strong> et \u00e9mettra donc la trame 2.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><strong><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-246 alignleft\" src=\"http:\/\/racine.gatoux.com\/lmdr\/wp-content\/uploads\/2017\/04\/PERTE_RR.gif\" alt=\"\" width=\"300\" height=\"274\" \/>Perte d&rsquo;une RR non d\u00e9tect\u00e9e :<\/strong><\/p>\n<p>Ici le cas amusant d&rsquo;une erreur sur trame <strong>RR<\/strong> dont personne ne se rend compte ! R a re\u00e7u 3 trames cons\u00e9cutives. Comme il n&rsquo;a pas de donn\u00e9es \u00e0 \u00e9mettre \u00e0 expiration du T2 de la premi\u00e8re trame il \u00e9met une RR avec Nr:3.<\/p>\n<p>Celle-ci subit une erreur de transmission. U la jette (FCS : Faux). Puis \u00e9met une trame <strong>INFO<\/strong> avec <strong>Ns:4<\/strong>. R re\u00e7oit cette trame et active un T2. Dans ce laps de temps, il a tout \u00e0 coup des donn\u00e9es \u00e0 \u00e9mettre. Il envoie donc une trame <strong>INFO<\/strong> avec <strong>Nr:5<\/strong> (puisqu&rsquo;il a bien re\u00e7u la 4). Il stoppe son T2.<\/p>\n<p>U re\u00e7oit la trame <strong>INFO<\/strong> et stoppe tous les <strong>T1 &lt; Nr<\/strong> de la trame. Et tout le monde est content ! L&rsquo;INFO est arriv\u00e9e avant expiration du T1 de la trame Ns:0 ! On ne s&rsquo;est rendu compte de rien !<\/p>\n<p>Ici on s&rsquo;en sort bien car le T1 \u00e9tait suffisamment long ! Que serait-il arriv\u00e9 si le T1 de la trame 0 avait \u00e9t\u00e9 plus court ? <em>Je vous laisse phosphorer !<\/em><\/p>\n<p>&nbsp;<\/p>\n<h2>Traitement des erreurs logicielles !<\/h2>\n<p>A priori, il semble que les \u00e9quipements HDLC soient tr\u00e8s rigoureux ! La norme pr\u00e9voit tous les cas de dysfonctionnement possibles relatifs notamment aux erreurs potentielles de transmission. Mais la norme sait aussi que nul n&rsquo;est parfait, et qu&rsquo;un \u00e9quipement peut aussi \u00ab\u00a0perdre les p\u00e9dales\u00a0\u00bb ou peut ne pas impl\u00e9menter correctement la norme (<em>petits am\u00e9nagements personnels<\/em>).<\/p>\n<p><strong>LAP B permet donc de signaler des erreurs d\u00e9tect\u00e9es dans des trames pr\u00e9sentant des CRC corrects<\/strong>. Ces erreurs peuvent se produire essentiellement dans trois cas :<\/p>\n<ul>\n<li>un <strong>dysfonctionnement passager d&rsquo;un des \u00e9quipements<\/strong><\/li>\n<li>une <strong>mauvaise impl\u00e9mentation de la norme<\/strong> sur un des \u00e9quipements<\/li>\n<li>une <strong>erreur de transmission non d\u00e9tectable par le CRC<\/strong> (rappelez-vous la notion de taux d&rsquo;erreur r\u00e9siduel pr\u00e9sent\u00e9e dans le cours OSI).<\/li>\n<\/ul>\n<p>Dans ce cas, l&rsquo;\u00e9quipement qui d\u00e9tecte l&rsquo;erreur (ou l&rsquo;incoh\u00e9rence) va retourner \u00e0 son correspondant une trame sp\u00e9ciale : <strong>la trame FRMR<\/strong>.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-303 aligncenter\" src=\"http:\/\/racine.gatoux.com\/lmdr\/wp-content\/uploads\/2017\/04\/TRAME_FRMR.gif\" alt=\"\" width=\"500\" height=\"184\" \/><\/p>\n<p>Cette trame comporte un certain nombre d&rsquo;informations qui permettront de d\u00e9terminer d&rsquo;o\u00f9 peut venir le probl\u00e8me :<\/p>\n<ul>\n<li><strong>les deux premiers octets<\/strong> (A et C) sont identiques \u00e0 ceux d\u00e9j\u00e0 \u00e9tudi\u00e9s pr\u00e9c\u00e9demment. <strong>A<\/strong> est toujours \u00e0 la valeur <strong>03h<\/strong>, elle est donc toujours une trame de r\u00e9ponse. L&rsquo;octet <strong>C<\/strong> a pour valeur <strong>87h<\/strong> ou <strong>97h<\/strong> selon que le bit F est positionn\u00e9 ou non (en regard de l&rsquo;\u00e9tat du bit P de la derni\u00e8re trame de commande re\u00e7ue).<\/li>\n<li><strong>le troisi\u00e8me octet<\/strong> est la recopie exact du champ <strong>C<\/strong> de la trame qui a d\u00e9clench\u00e9 la <strong>FRMR<\/strong> (celle qui pose un probl\u00e8me \u00e0 priori, sans avoir pour autant son CRC faux !).<\/li>\n<li><strong>le quatri\u00e8me octet<\/strong> comporte les <strong>compteurs Ns et Nr<\/strong> (appel\u00e9s ici Vr et Vs) de l&rsquo;\u00e9metteur de la trame FRMR. Le bit R de l&rsquo;octet indique si la trame rejet\u00e9e est une trame de commande ou de r\u00e9ponse.<\/li>\n<li><strong>le cinqui\u00e8me octet<\/strong> indique le type d&rsquo;erreur annonc\u00e9, ci-dessous quelques exemples les plus courants :\n<ul>\n<li><strong>01h<\/strong> : Champ C de la trame re\u00e7ue inconnu<\/li>\n<li><strong>03h<\/strong> : Format de trame incompatible avec le type annonc\u00e9 par le champ C de la trame re\u00e7ue (par exemple : Recevoir une trame INFO avec un champ C indiquant une RR)<\/li>\n<li><strong>08h<\/strong> : Erreur de s\u00e9quencement sur compteur Nr (alors qu&rsquo;il n&rsquo;y a pas eu de perte de trames).<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Les informations v\u00e9hicul\u00e9es par cette trame n&rsquo;ont pas d&rsquo;utilit\u00e9 r\u00e9elle pour le protocole lui-m\u00eame. Par contre elles pourront servir \u00e0 un administrateur r\u00e9seau pour d\u00e9terminer l&rsquo;origine du probl\u00e8me. Pour lire ces informations il faudra que l&rsquo;\u00e9quipement X25 offre une fonction logicielle capable d&rsquo;interpr\u00e9ter le contenu des trames FRMR et de le remonter sur \u00e9cran par exemple, ou que l&rsquo;administrateur installe un analyseur de protocoles sur la ligne de transmission.<\/p>\n<p><strong>Quels sont les effets d&rsquo;une trame FRMR sur le protocole<\/strong> ? C&rsquo;est simple ! <strong>D\u00e9connexion imm\u00e9diate<\/strong> !<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-671 alignleft\" src=\"http:\/\/racine.gatoux.com\/lmdr\/wp-content\/uploads\/2017\/05\/S5P6I4.gif\" alt=\"\" width=\"300\" height=\"234\" \/>Ici, il y a d\u00e9tection d&rsquo;une incoh\u00e9rence de Nr. En effet, R n&rsquo;a pas \u00e9mis de trames entre les r\u00e9ceptions des trames 0 et 1 de U, pourtant le Nr de la trame 0 indique 0 et le Nr de la trame 1 indique 1 ! Ceci ne peut qu&rsquo;\u00eatre une erreur !<\/p>\n<p>Comme le FCS est OK, R ne peut pas attribuer cette erreur \u00e0 une erreur de transmission, que R g\u00e9rerai par l&rsquo;\u00e9mission d&rsquo;un <strong>REJ<\/strong>, mais \u00e0 une erreur logicielle. Il rejette donc par une <strong>FRMR<\/strong> :<\/p>\n<ul>\n<li>le champ adresse est \u00e0 <strong>03h<\/strong><\/li>\n<li>le champ Commande indique une trame <strong>FRMR<\/strong><\/li>\n<li>le champ <strong>Crej<\/strong> comporte l<strong>a valeur du champ C de la trame INFO<\/strong> 1 que rejette R<\/li>\n<li>le champ <strong>INFO<\/strong> indique <strong>Vs:1, R:0, Vr:1<\/strong> car le Ns de R est \u00e0 1 (<em>puisque le Nr de la trame 0 est \u00e0 0 &#8230; \u00e7a va ? Vous tenez le coup ?<\/em>), la trame rejet\u00e9e est une trame de commande (R:0) et le compteur Nr de R est en attente de la trame 1 (Ns:1).<\/li>\n<\/ul>\n<p>U n&rsquo;a plus qu&rsquo;une solution : <strong>D\u00e9connecter le niveau 2 en r\u00e9\u00e9mettant une SABM\/UA<\/strong>.<\/p>\n<p>S&rsquo;il ne le fait pas, R va r\u00e9\u00e9mettre N2 fois la trame FRMR puis passera en mode d\u00e9connect\u00e9 (DM).<\/p>\n<p>Lorsque la d\u00e9connexion est faite, U devra r\u00e9tablir la connexion par un nouveau couple SABM\/UA.<\/p>\n<h2>Remarques et analyses !<\/h2>\n<p>A ce stade on peut faire plusieurs remarques.<\/p>\n<h3 style=\"padding-left: 30px;\">Surveillance de l&rsquo;\u00e9tat du niveau 1 par le niveau 2<\/h3>\n<p style=\"padding-left: 30px;\">On pourra se faire une id\u00e9e assez pr\u00e9cise de \u00ab\u00a0l&rsquo;\u00e9tat de sant\u00e9\u00a0\u00bb de la connexion physique par une analyse statistiques des trames :<\/p>\n<ul>\n<li><strong>un fort taux de trames INFO avec P:1 suppose un mauvais support<\/strong> g\u00e9n\u00e9rant un taux d&rsquo;erreurs important et donc des r\u00e9\u00e9missions fr\u00e9quentes.<\/li>\n<li><strong>un nombre de REJ important augure du m\u00eame genre de probl\u00e8me<\/strong> car il est cons\u00e9cutif \u00e0 une perte importante de RR<\/li>\n<li><strong>un nombre \u00e9lev\u00e9 de SABM\/UA est plus symptomatique de micro coupures du support<\/strong>, qui engendre une tomb\u00e9e intempestive de la connexion niveau 2.<\/li>\n<\/ul>\n<p style=\"padding-left: 30px;\">Vous comprenez ici que chaque fois qu&rsquo;il y a une erreur du support, il y a une correction par retransmission. Cette retransmission prend du temps et au final l&rsquo;utilisateur trouve que les temps de r\u00e9ponse sont mauvais.<\/p>\n<h3 style=\"padding-left: 30px;\">Surveillance de l&rsquo;\u00e9tat des \u00e9quipements X25<\/h3>\n<p style=\"padding-left: 30px;\">En examinant la fr\u00e9quence d&rsquo;\u00e9mission des trames FRMR, on sait que :<\/p>\n<ul>\n<li>le CRC est OK et que les fanions de synchro sont OK. Donc le support est bon.<\/li>\n<li>mais les formats de trames sont mauvais, ou il y a des soucis de s\u00e9quencement des Nr ou encore les trames annonc\u00e9es n&rsquo;existent pas ! Il y a donc un probl\u00e8me logiciel quelque part. Soit le calcul CRC est inop\u00e9rant ou pas assez fiable sur un des \u00e9quipements soit un des \u00e9quipements ne respectent pas correctement la r\u00e8gle X25.<\/li>\n<\/ul>\n<h2>Conclusion<\/h2>\n<p>Nous voici \u00e0 la fin de notre pr\u00e9sentation du LAP B (HDLC). Vous avez pu v\u00e9rifier que le LAP B rempli bien les fonctions d&rsquo;une proc\u00e9dure de niveau 2 telle que d\u00e9finie dans le cours OSI, il assure :<\/p>\n<ul>\n<li>la d\u00e9tection d&rsquo;erreur par CRC-16<\/li>\n<li>la correction par retransmission<\/li>\n<li>la gestion de connexion (\u00e9tablissement et lib\u00e9ration)<\/li>\n<li>la d\u00e9limitation des blocs de donn\u00e9es (trames) par fanion 7E<\/li>\n<li>le contr\u00f4le de s\u00e9quencement de donn\u00e9es par compteurs Ns et Nr<\/li>\n<\/ul>\n<p>J&rsquo;esp\u00e8re que ce cours vous aura enthousiasm\u00e9 et aura d\u00e9velopp\u00e9 votre app\u00e9tit protocolaire. C&rsquo;est toujours passionnant de d\u00e9couvrir comment d&rsquo;autres \u00e9rudits ont pu r\u00e9soudre des probl\u00e8mes qui \u00e0 priori nous semble inaccessibles !<\/p>\n<p>Pour terminer ce cours, dans le chapitre suivant, je vous propose une rapide pr\u00e9sentation de l&rsquo;environnement X25 qui utilise justement le LAP B (et d&rsquo;autres protocoles comme le LAP D !). Il est vrai qu&rsquo;X25 n&rsquo;est plus beaucoup d&rsquo;actualit\u00e9, mais en garder une petite trace sera ma petite contribution \u00e0 sa reconnaissance pour services rendus \ud83d\ude09<\/p>\n<h5 align=\"center\"><a href=\"http:\/\/www.gatoux.com\/index.php\/acquittements-et-echanges\/\">Page Pr\u00e9c\u00e9dente<\/a> | <a href=\"http:\/\/www.gatoux.com\/index.php\/x25-tour-dhorizon\/\">Page Suivante<\/a><\/h5>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nous \u00e9tudions ici les diff\u00e9rents cas aboutissants \u00e0 une d\u00e9connexion du niveau 2 HDLC ainsi que la mani\u00e8re de traiter les erreurs \u00ab\u00a0logicielles\u00a0\u00bb. Ce sera \u00e9galement l&rsquo;occasion de tirer des enseignements sur l&rsquo;\u00e9tat de votre lien en examinant les cas d&rsquo;erreurs que le protocole pourrait vous remonter. Les cas de d\u00e9connexions Il existe diff\u00e9rents cas\u2026 <span class=\"read-more\"><a href=\"https:\/\/racine.gatoux.com\/lmdr\/index.php\/deconnexions-et-erreurs\/\">Lire la suite &raquo;<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":58,"comment_status":"closed","ping_status":"closed","template":"page-templates\/full-width.php","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"footnotes":""},"class_list":["post-644","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/racine.gatoux.com\/lmdr\/index.php\/wp-json\/wp\/v2\/pages\/644","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/racine.gatoux.com\/lmdr\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/racine.gatoux.com\/lmdr\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/racine.gatoux.com\/lmdr\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/racine.gatoux.com\/lmdr\/index.php\/wp-json\/wp\/v2\/comments?post=644"}],"version-history":[{"count":3,"href":"https:\/\/racine.gatoux.com\/lmdr\/index.php\/wp-json\/wp\/v2\/pages\/644\/revisions"}],"predecessor-version":[{"id":686,"href":"https:\/\/racine.gatoux.com\/lmdr\/index.php\/wp-json\/wp\/v2\/pages\/644\/revisions\/686"}],"wp:attachment":[{"href":"https:\/\/racine.gatoux.com\/lmdr\/index.php\/wp-json\/wp\/v2\/media?parent=644"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}