Duomenų perdavimo kanalo aukštojo lygmens protokolas HDLC, CCITT / ITU-T LAPB

Protokolas HDCL yra bitų režimo protokolas. Iki atsirandant HDLC daugelis duomenų perdavimo kanalo protokolų buvo ženklų režimo. Panašūs protokolai paprastai naudoja į blokus (freimus) suskirstytus duomenų srautus. Be vartotojo siunčiamos informacijos reikia perduoti ir signalizavimo, kontrolės informaciją, leidžiančią, pavyzdžiui, signalizuoti, kad nusiųstame duomenų freime yra klaidų. Be to, yra būtina rasti vieną ar kitą freimo pradžios ir pabaigos ženklinimo būdą.
Ženklų režimo protokoluose visi šie klausimai buvo sprendžiami signalizavimo funkcijoms rezervuojant tam tikrą galimų bitų derinių skaičių. Likusieji deriniai buvo naudojami raidžių, skaičių ir simbolių persiuntimui. Šį būdą naudojančių kodų pavyzdžiais galėtų būti ASCII ar CCITT IA 5.

Kartais bitų derinių naudojimas keldavo teisėtus priekaištus, nes tokio tipo duomenų perdavimas buvo nevisiškai skaidrus.

Bitų režimo protokolai yra visuomet skaidrūs. Norint tą pasiekti, prireikė nedidelės gudrybės: visi bitų deriniai gali būti naudojami bitų perdavimui, taigi neliko jokių specialių derinių, skirtų signalizavimo informacijai. Signalizavimui yra mažų mažiausiai reikalingas vienas specialus ženklas (token). Jei jis yra rezervuojamas, tuomet kitos signalinės funkcijos gali būti pažymimos bitų deriniais, esančiais konkrečiose po šio ženklo sekančiose pozicijose. HDLC protokole tas specialus ženklas yra vadinamas žyme (flag) ir naudojamas padalijimui į freimus žymėti. Tas pats ženklas – žymė, bitų derinys 01111110, – dedamas ir prieš, ir po freimo. Šiuo atveju reikalavimas, kad freime gali būti naudojami visi bitų deriniai, dar nėra įgyvendintas, nes žymės bitų derinys negali pasirodyti freimo viduje. Ši problema yra sprendžiama žiūrint, ar esamoje informacijoje nepasitaikys derinys 011111. Kai tik toks derinys yra aptinkamas, iškart jo pabaigoje yra įstatomas papildomas 0 – taip yra išvengiama derinio su šešiais vienetais 0111111. Ši procedūra yra vadinama bitų įstatymu (bit stuffing, bit insersion). Priėmimo pusėje atlikus atvirkščią procedūrą, yra atkuriama tikroji bloko informacija.

Straipsniai 1 reklama

Diduma signalinės informacijos freime yra fiksuotoje vietoje, vadinamoje valdymo lauku (control field). Freime taip pat yra adresų laukas (address field), reikalingas tuomet, kai veika yra daugiataškė. Perduodamoji informacija yra talpinama informacijos lauke. Klaidų radimui dar pridedama FCS (Frame Check Sequence – freimo patikros seka).

Tarp freimų gali būti pasiunčiama viena ar daugiau žymių. HDLC turi trijų rūšių freimus:

I freimai: informacijos freimai;
S freimai: priežiūros (supervisory) freimai;
U freimai: nesunumeruotieji (unnumbered) freimai.

U freimai yra naudojami renkantis įvairius variantus, vadinamus modomis. X.25 naudojamame CCITT LAPB standarte yra naudojama ABM (Asynchronous Balanced Mode – asinchroninė balansuotoji moda). Šitame HDLC variante abu jungties galai protokolo atžvilgiu yra lygiateisiai, taigi nėra jokių pagrindinio-pavaldžiojo (master-slave) tipo santykių. Geriausiu atveju būtų galima pasakyti, jog priimdamos informaciją abi pusės elgiasi taip, lyg būtų pavaldžios perduodančiajai pusei. Perėjimui į ABM yra naudojamas U freimas, turintis komandą SABM (Set Asynchronous Balanced Mode – įjungti ABM modą). Ta pati komanda gali būti panaudota ir pakartotiniam nustatymui (reset) tuomet, kai reikia išeiti iš neapibrėžtos situacijos, pavyzdžiui, po aparatūros klaidos.

S freimai yra skirti komandoms ir atsakams, kuriuose yra užregistruotas kito priimamo gero I freimo eilės numeris, pavyzdžiui, kai norima įspėti, kad nurodytasis I freimas nebuvo tinkamai priimtas. Taip daro komanda REJ (reject – atmesti). Komanda RNR (Receive Not Ready – priimti nepasirengęs) nurodo, kad įrenginys laikinai negalės priimti freimų. RR (Receive Ready – pasirengęs priimti) yra siunčiama tuomet, kai freimas buvo priimtas be klaidų. Šioje komandoje, patvirtinančioje visų ankstesnių freimų priėmimą, rasime kito laukiamo freimo numerį.

I freimams valdymo lauke yra skirti du skaitmenys. Greta priimtosios sekos numerio N (R) (Receive Sequence Number), kurį taip pat galima rasti ir S freime, kiekvienam pasiųstajam freimui yra suteikiamas dar vienas skaičius N (S) (Send Sequence Number).

Freimų sunumeravimas leidžia siunčiančiajai pusei siųsti po keletą freimų iškart, nelaukiant patvirtinimo, ar jie sėkmingai nukeliavo. Numeravimas leidžia matyti, iki kurio I freimo priimtoji informacija buvo be klaidų. HDLC procedūroje vienu metu pasiunčiamų, nelaukiant patvirtinimo, I freimų skaičius yra nustatomas lango pločiu (window size) vadinamo parametro.
Srauto valdymą įgalina srautą pertraukianti RNR komanda bei srautą įjungianti komanda RR. Srauto kontrolei galima taip pat pasitelkti ir langų pločio reguliavimo mechanizmą. Gerai žinomas personalinių kompiuterių ryšio protokolas yra X-modemo protokolas. Jis veikia panašiai kaip ir HDLC.

Pridėti komentarą

El. pašto adresas nebus skelbiamas. Būtini laukeliai pažymėti *