Control la nivel înalt al legăturilor de date

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

Controlul de legătură de date la nivel înalt ( HDLC , control la nivel înalt la legătura de date) este un protocol de rețea de straturi de legătură de date .

Este un bit de protocol de umplere și utilizări biți umplutură pentru a preveni secvențe de terminare să apară în cadre.

Standardele ISO originale erau:

  • ISO 0009 - Structura cadrului
  • ISO 4335
  • ISO 6159
  • ISO 6256

Standardul actual este ISO 13239, care înlocuiește toate acestea.

HDLC poate utiliza sau nu modul conectat. Poate fi folosit pentru conexiuni multipunct, dar este utilizat în prezent aproape exclusiv pentru conectarea a două dispozitive, folosind ABM ( Asynchronous Balanced Mode ). Celelalte moduri disponibile sunt NRM (Mod de răspuns normal) și ARM (Mod de răspuns asincron).

Istorie

HDLC se bazează pe protocolul SDLC IBM , care este un protocol propriu de nivel 2. A fost încorporat în stiva de protocol X.25 ca LAPB , în protocolul V.42 ca LAPM , în stiva Frame Relay ca LAPF și în stiva ISDN ca LAPD . Acum este baza mecanismului de încadrare utilizat cu Protocolul de la punct la punct în liniile sincrone, fiind folosit de multe servere pentru a se conecta la o rețea WAN (de obicei la internet ). O versiune ușor diferită este utilizată și ca canal de control pentru liniile telefonice E-carrier (E1) și SONET . Unii producători, cum ar fi Cisco, au implementat protocoale precum Cisco HDLC care au folosit tehnici de încadrare HDLC la nivel scăzut, dar nu au folosit antetul HDLC standard.

Încadrarea

Cadrele de date HDLC pot fi transmise prin legături sincrone sau asincrone. Aceste legături nu pot determina începutul sau sfârșitul unui cadru, deci acest lucru trebuie făcut. În acest caz, se utilizează un delimitator (sau flag ), care este o succesiune de biți care nu vor apărea niciodată în restul cadrului. Această secvență este „01111110”, adică în „7E” hexazecimală . Fiecare cadru începe și se termină cu el. Când nu se transmit cadre, se transmite continuu un delimitator. Folosind standardul NRZI pentru a codifica stările logice în niveluri de tensiune (bitul 0 = modificare, bitul 1 = valoarea păstrată anterior), se generează o secvență continuă de biți:

 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0
  _____________ _____________ _____________ _____________
_ / \ _ / \ _ / \ _ / \

Aceasta este utilizată de modemuri pentru sincronizarea prin bucle blocate în fază . În practică, secvența utilizată ca delimitator poate apărea cu ușurință în datele de trimis și, prin urmare, trebuie transmisă astfel încât să nu o trimită ca delimitator. În legăturile sincrone, problema este rezolvată cu umplerea de biți . Transmițătorul face ca fiecare secvență de cinci biți vecini să fie urmată de un 0. Este un circuit digital simplu pentru a introduce 0. Receptorul, cunoscând acest sistem, va elimina automat cei 0 biți adăugați. În acest fel, dacă se primește steagul, acesta va avea 6 biți consecutivi. Receptorul va vedea 6 biți la 1 și va înțelege că este un flag - altfel al șaselea bit ar fi fost la 0. Acest lucru (din nou având în vedere codificarea NRZI) garantează o tranziție cel puțin la fiecare 6 perioade de transmisie, pentru a menține sincronismul cu emițătorul. Legături asincrone care utilizează portul serial sau un bit UART trimit în grupuri de 8. Nu au circuite pentru a insera alți biți. În schimb, ei folosesc umplutura de octeți (sau „umplutura de octet”). Octetul care delimitează cadrele este 01111110 (în hex 7E). Un octet „control escape” constă din secvența „01111101” (în hex 7D). Un octet de acest tip este trimis înaintea fiecărui octet egal cu el însuși sau cu steagul. Următorul octet va avea bitul 5 inversat (numărând de la dreapta la stânga și începând de la 0). De exemplu, secvența de date „01111110” (în hex. 7E) ar fi transmisă ca „01111101 01011110” (în hex. „7D 5E”).

Structura

Conținutul unui cadru HDLC, inclusiv steagul, este:

Steag Adresă Verifica Date FCS Steag
8 biți 8 biți 8 sau 16 biți Lungime variabilă, 0 sau mai mulți biți în multipli de 8 16 sau 32 biți 8 biți

Rețineți că semnalizatorul final al unui cadru poate fi și începutul următorului. Datele ajung în grupuri de 8 biți. Sistemele telefonice sau telegrafice organizau mediul de transmisie pentru a trimite 8 biți la un moment dat, iar HDLC pur și simplu a adaptat acest lucru la trimiterea de date binare. Secvența de verificare a cadrelor (FCS) este o versiune mai sofisticată a biților de paritate. Acest câmp conține rezultatele unui calcul binar pe biții care alcătuiesc cele trei câmpuri anterioare. Acest lucru se face pentru a detecta erorile de transmisie (pierdute, eronate sau mai mulți biți), astfel încât cadrul primit să poată fi eliminat dacă este detectată o eroare. Datorită acestei metode de verificare a erorilor, pot exista limite maxime pentru dimensiunea câmpului de date. Cu cât zona de date devine mai lungă, cu atât va fi mai dificil să se asigure detectarea erorilor de transmisie. FCS are 16 ( CRC-CCITT ) sau 32 ( CRC-32 ) biți. Când a fost creat HDLC, au fost produse suporturi de transmisie pentru liniile telefonice, care aveau nevoie de o rată de eroare mai mică de (erori / bit). Pe de altă parte, datele trimise de pe PC necesită o precizie mai mare, mai mică decât . Datele pot fi verificate prin FCS. Dacă sunt corecte, un pachet de confirmare (ACKnowledge) este trimis oricui l-a trimis pentru a le permite să trimită următorul cadru. În caz contrar, receptorul trimite o confirmare negativă (Negative ACKnowledge) sau, mai simplu, aruncă cadrul. Dacă trimite NACK și ajunge la expeditor, poate fi trimis un alt cadru; în caz contrar, după un anumit timp, un temporizator al emițătorului (pe care îl pornise imediat după trimiterea cadrului) va expira și cadrul va fi retransmis. Rețelele optice moderne au o fiabilitate mult mai bună decât (erori / biți), ceea ce face HDLC și mai fiabil.

Tipuri de stații (calculatoare) și moduri de transmitere a datelor

Există 3 tipuri de stații:

  • Terminalul principal: este responsabil pentru operațiunile de control de pe legătură. Trimiteți cadre de control (comenzi).
  • Terminal secundar: funcționează sub controlul celui primar. Trimite doar pachete de răspuns. Primarul este conectat la secundare prin mai multe legături logice.
  • Terminal combinat: are caracteristicile ambelor terminale de mai sus. Trimite atât comenzi, cât și răspunsuri.

Această clasificare distinge trei moduri de operare:

  • ABM (Asynchronous Balanced Mode): în care interacționează terminalele combinate.
  • NRM (Mod de răspuns normal): în care un terminal primar începe să transmită și secundarul răspunde la cerere.
  • ARM (Asynchronous Response Mode): practic ca NRM, cu diferența că un terminal secundar poate transmite chiar și fără autorizarea unui terminal primar.

Operații HDLC și tipuri de cadre

Cadrul „I” (date)

Cadrele „I” sunt utilizate pentru a transporta date din stratul de rețea. În plus, pot include și informații pentru controlul fluxului și erorilor împreună cu datele ( Piggybacking ). Subcâmpurile câmpului de control sunt utilizate pentru aceste funcții.

  • Câmpul de control al cadrului „I”
0 Trimiteți numărul de ordine N (S) Sondaj / Final Primiți numărul de ordine N (R)
1 bit 3 sau 7 biți 1 bit 3 sau 7 biți

Primul câmp definește tipul. „0” indică un cadru „I”. N (S) indică numărul de ordine al cadrului trimis. 3 biți pot indica valori de la 0 la 7, dar în formatul extins (unde câmpul de control este de 2 octeți) se folosește un interval mai mare. Câmpul Poll / Final este un singur bit cu două utilizări. Se numește Poll dacă este utilizat de postul principal pentru a solicita un răspuns de la posturile secundare, și Final atunci când este utilizat de un post secundar pentru a indica un răspuns la sfârșitul transmisiei. Are semnificație numai dacă este setat la 1.

  • În NRM terminalul principal setează bitul Poll. Secundarul setează bitul final în ultimul cadru I al unui răspuns.
  • În ARM și ABM, bitul Poll / Final este utilizat pentru a forța un răspuns.

Cadru 'S' (control)

Cadrele de supraveghere sunt folosite pentru controlul erorilor și fluxului atunci când piggyback-ul este imposibil sau inadecvat, de exemplu atunci când câmpul primar trebuie doar să trimită comenzi, răspunsuri sau confirmări (nu date). Cadrele „S” nu au câmpuri de date.

  • Câmp de control cadru S

Poate avea 8 sau 16 biți

10 Trimite secvența nu N (S) Sondaj / Final Primirea secvenței nu N (R)
2 biți 2 biți 1 bit 3 biți
10 Cod 0000 Sondaj / Final Primirea secvenței nu N (R)
2 biți 2 biți 4 biți 1 biți 7 biți

Primii 2 biți („10”) indică faptul că este un cadru S.

Elemente conexe

Telematică Portal telematic : accesați intrări Wikipedia care vorbesc despre rețele, telecomunicații și protocoale de rețea