HDLC

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 31. heinäkuuta 2019 tarkistetusta versiosta . tarkastukset vaativat 3 muokkausta .

High-Level Data Link Control ( HDLC ) on bittisuuntautunut [1] ISO :n kehittämä OSI-verkkomallin linkkikerroksen protokolla .

Nykyinen HDLC- standardi on ISO 13239.

HDLC:tä voidaan käyttää monikäyttöyhteyksissä, mutta tällä hetkellä sitä käytetään pääasiassa point-to-point- yhteyksissä, joissa käytetään asynchronous balanced mode (ABM).

Historia

HDLC kehitettiin IBM SDLC - Sen hieman muokatut lapsiprotokollat ​​- LAPB , LAPM , LAPF , LAPD rakensivat ITU vastaavasti X.25- , V.42- , Frame Relay- ja ISDN - protokollapinoihin . HDLC oli myös perustana Internetissä laajasti käytetyn PPP -protokollan kehystysmekanismien kehittämiselle .

Asematyypit

Logiikkatilat

Jokainen asema kullakin hetkellä on jossakin kolmesta loogisesta tilasta:

Jos toissijainen asema on normaalissa katkaisutilassa (NDM), se voi vastaanottaa kehyksiä vain saatuaan nimenomaisen luvan ensisijaiselta asemalta. Jos se on asynkronisessa katkaisutilassa (ADM), toisioasema voi aloittaa lähetyksen ilman lupaa.

Käytetään ohjauksen siirtämiseen yhdistetylle etäasemalle ja parametrien vaihtamiseen etäasemien välillä.

Kaikki asemat voivat lähettää ja vastaanottaa tietoa. Asemat voivat olla NRM-, ARM-, ABM-tiloissa.

Siirtotilatilat

HDLC tukee kolmea loogista yhteystilaa, jotka eroavat vuorovaikutuksessa olevien laitteiden rooleista:

Kanavamääritykset

Yhteensopivuuden varmistamiseksi asemien välillä, jotka voivat muuttaa tilaa (tyyppiä), HDLC-protokolla tarjoaa 3 kanavakonfiguraatiota:

Henkilöstö

HDLC-kehyksiä voidaan lähettää sekä synkronisilla että asynkronisilla yhteyksillä. Itse yhteyksissä ei ole mekanismeja kehyksen alun ja lopun määrittämiseksi, vaan tätä tarkoitusta varten käytetään uniikkia bittisekvenssiä (FD - Frame Delimiter) '01111110' (0x7E heksadesimaalimuodossa ), joka sijoitetaan alkuun ja jokaisen kehyksen loppuun. Lipun ainutlaatuisuus taataan käyttämällä synkronisissa yhteyksissä bittimäärää ja asynkronisissa yhteyksissä bytestaffingia. Bittitäyte - bittitäyte, tässä - bitti 0 5 peräkkäisen bitin jälkeen 1. Bittitäyte toimii vain kehyksen tietokentän (tietokentän) lähetyksen aikana. Jos lähetin havaitsee, että viisi 1:tä on lähetetty peräkkäin, se lisää automaattisesti ylimääräisen nollan lähetettyyn bittisekvenssiin (vaikka näiden viiden 1:n jälkeen olisi jo nolla). Siksi sarja 01111110 ei koskaan näy kehyksen tietokentässä. Samanlainen piiri toimii vastaanottimessa ja suorittaa päinvastaisen toiminnon. Kun nolla löytyy viiden ykkösen jälkeen, se poistetaan automaattisesti kehyksen tietokentästä. Bytestuffingissa käytetään pakosarjaa, tässä - '01111101' (0x7D heksadesimaalimuodossa ), eli kehyksen keskellä oleva FD-tavu (0x7E) korvataan tavusekvenssillä (0x7D, 0x5E) ja tavu (0x7D) korvataan tavusekvenssillä (0x7D, 0x5D).

Median ollessa tyhjäkäynnillä synkronisessa yhteydessä sekvenssi 0x7E ('01111110') lähetetään jatkuvasti kanavan yli bittisynkronoinnin ylläpitämiseksi. Yhden lipun viimeisen bitin 0 ja seuraavan lipun alkubitin 0 yhdistelmä voi olla. Joutoaikaa kutsutaan myös kehysten väliseksi täyttöksi.

Henkilöstörakenne

HDLC-kehysrakenne, mukaan lukien FD-liput:

FD lippu Osoite ohjauskenttä Tietokenttä FCS FD lippu
8-bittinen 8 bitin monikerta 8 tai 16 bittiä 0 tai enemmän bittiä, 8:n kerrannainen 16-bittinen 8-bittinen

Kehystyypit

I-frames (tietokehykset, datakehykset)

Suunniteltu siirtämään käyttäjätietoja. Tietolohkojen siirron aikana ne numeroidaan liukuikkuna-algoritmin mukaisesti. Kun yhteys on muodostettu, dataa ja positiivisia kuittauksia aletaan lähettää tietokehyksissä. HDLC:n looginen kanava on dupleksi, joten datakehykset ja siten positiiviset kuittaukset voidaan lähettää molempiin suuntiin. Jos tietokehysten virtaa ei ole vastakkaiseen suuntaan tai on lähetettävä negatiivinen kuittaus, käytetään ohjauskehyksiä. HDLC-toiminnan aikana käytetään 7 kehyksen liukuvaa ikkunaa (jossa ohjauskentän koko on 1 tavu) tai 127 kehystä (ohjauskentän koko on 2 tavua) tiedonsiirron luotettavuuden varmistamiseksi. Ikkunaalgoritmin tukemiseksi lähettävän aseman tietokehyksissä on varattu 2 kenttää:

  • N(S) on lähetettävän kehyksen numero;
  • N(R) on kehysnumero, jonka asema odottaa saavansa dialogikumppaniltaan.

Oletetaan varmuuden vuoksi, että asema A lähetti asemalle B informaatiokehyksen, jossa on joitain arvoja NA(S) ja NA(R). Jos vastauksena tähän kehykseen asemalta B saapuu kehys, jossa tämän aseman lähettämän NB(S)-kehyksen numero vastaa aseman A odottamaa NA(R)-kehyksen numeroa, niin lähetystä pidetään oikeana. Jos asema A vastaanottaa vastauskehyksen, jossa lähetetyn kehyksen numero NB(S) ei ole yhtä suuri kuin odotetun NA(R) numero, asema A hylkää tämän kehyksen ja lähettää negatiivisen kuittauksen REJ ( englanninkielisestä  hylkäämisestä  - kieltäytyminen) numerolla NA(R ). Negatiivisen kuittauksen saatuaan aseman B on toistettava numerolla NA(R) olevan kehyksen lähetys sekä kaikki suuremmalla numerolla olevat kehykset, jotka se on jo lähettänyt liukuikkunamekanismilla.

I-kehykset sisältävät myös P/F ( poll/final ) -bitin. NRM-tilassa isäntä käyttää P-bittiä kyselyyn, orja käyttää F-bittiä vastauksen viimeisessä I-kehyksessä. ARM- ja ABM-tiloissa P/F-bittejä käytetään pakottamaan vastaus.

Tiimi/

Vastaus

Kuvaus Muoto esim. kentät

8…7…6…5…4…3…2…1….

C/R Käyttäjätiedot .-N(R)-… P/F….-N(S)-...0
S-kehykset (ohjaus)

Käytetään siirtovirheiden ohjaamiseen. Ohjauskehykset lähettävät komentoja ja vastauksia muodostetun loogisen yhteyden yhteydessä, mukaan lukien pyynnöt lähettää uudelleen vioittuneita tietolohkoja:

Valmis vastaanottamaan (RR)

  • Käytetään positiivisena kuittauksena (N(r)−1 asti).
  • Pääasema voi pollata asettamalla P-bitin.
  • Orja-asema voi vastata kyselyyn kehyksellä, jossa on F-bitti asetettu, jos sillä ei ole lähetettävää dataa.

Ei valmis vastaanottamaan (RNR)

  • Käytetään positiivisena kuittauksena ja pyyntönä lopettaa I-kehysten lähettäminen, kunnes seuraava RR-kehys vastaanotetaan.
  • Isäntä- tai yhdistetty asema voi asettaa P-bitin selventämään orja/yhdistetyn aseman vastaanottotilaa.
  • Orja/yhdistetty asema voi vastata asettamalla P-bitin aseman varattu-ilmaisuksi.

Hylkääminen (REJ)

  • Käytetään usein negatiivisena vastaanottajana
  • Viimeisen ikkunan kehyksiä ei vastaanoteta (uudelleenlähetys kehyksestä N(r))

Valikoiva hylkääminen (SREJ)

  • Tietyn kehyksen hylkääminen (yhden kehyksen uudelleenlähetys)
Nimi Tiimi/

Vastaus

Kuvaus tiedot Muoto esim. kentät

8…7…6…5…4…3…2…1….

Valmis vastaanottamaan (RR) C/R positiivinen kuitti Valmis vastaanottamaan I-kehyksen .-N(R)-… P/F…0…0…0…1
Ei valmis vastaanottamaan (RNR) C/R positiivinen kuitti Ei valmis vastaanottamaan .-N(R)-… P/F…0…1…0…1
Hylkääminen (REJ) C/R Negatiivinen kuitti Toista N kehystä .-N(R)-… P/F…1…0…1…0
Valikoiva hylkääminen (SREJ) C/R Negatiivinen kuitti Toista 1 kehys .-N(R)-… P/F…1…1…0…1
U-kehykset (numeroimattomat)

U-kehykset tunnistetaan kahdella vähiten merkitsevällä bitillä, jotka on asetettu arvoon 1. Siten tämä jättää yhdessä P/F-lipun kanssa 5 bittiä kehystyypille. Koska arvoja on vähemmän kuin 32, joillakin kehystyypeillä on eri merkitys riippuen siitä, lähetetäänkö ne pyyntönä vai vastauksena. Joten yhteys DISC (disconnect) -komennon ja RD (request disconnect) -vastauksen välillä on selvä, mutta syyt siihen, miksi SARM -komennolla ja DM - vasteella on sama digitaalinen arvo, eivät ole selviä.[ kenelle? ] .

U-kehykset on tarkoitettu loogisen yhteyden muodostamiseen ja katkaisemiseen sekä virheilmoituksiin.

Numeroimattomien kehysten M-kenttä sisältää koodeja, jotka määrittelevät kahden solmun yhteydenmuodostusvaiheessa käyttämien komentojen tyypin (esim. SABME, UA, REST).

  • Tila-asetus (SNRM, SNRME, SARM, SARME, SABM, SABME, UA, DM, RIM, SIM, RD, DISC)
  • Numeroimaton tieto (UP, UI)
  • Palautus (FRMR, RSET)
    • Virheellinen ohjauskenttä
    • Tietokentän pituus ylitetty
    • Virheellinen pituus tälle kehystyypille
    • Virheellinen kehysnumero
  • Muut (XID, TEST)
Nimi Tiimi/

Vastaus

Kuvaus tiedot Muoto esim. kentät

8…7…6…5…4…3…2…1….

Aseta normaali SNRM- vastaustila C Aseta tila ..1…0…0…P…1…1…0…1
Aseta laajennettu normaali vastetila SNRME C Aseta tila ..1…1…0…P…1…1…1…1
Aseta SARM- asynkroninen vastaustila C Aseta tila ..0…0…0..P/F..1…1…0…1
Aseta laajennettu asynkroninen SARME- vastetila C Aseta tila ..0…1…0…P..1…1…1…1
Aseta asynkroninen SABM- balansoitu tila C Aseta tila ..0…0…1..P/F..1…1…1…1
Aseta SABME:n laajennettu asynkroninen tasapainotettu tila C Aseta tila ..0…1…1…P…1…1…1…1
Aseta SIM -kortin alustustila C Käynnistä linjavalvontatoiminto osoitetussa asemassa ..0…0…0..P/F..0…1…1…1
Irrota DISC- liitäntä C Katkaise looginen yhteys ..0…1…0..P/F..0…0…1…1
Numeroimaton UA - vahvistus R Kuittaus yhden tilan asetuskomennon vastaanottamisesta ..0…1…0….F..0…0…1…1
DM katkaisutila R Lokitilan ilmaisin. erottaminen
RD -katkaisupyyntö R Vastaus DISC-komentoon ..0…1…0..P/F..0…0…1…1
RIM:n alustuspyyntö R Alustus vaaditaan SIM-komentopyyntö
Numeroimattomat käyttöliittymätiedot C/R Käytetään ohjaustietojen vaihtamiseen ..0…0…0..P/F..0…0…1…1
Numeroimaton UP - kysely C Käytetään valvontatietojen pyytämiseen ..0…0…1..P….0…0…1…1
RSET -laskurien uudelleenkäynnistys C Käyttää elpyminen Nollaa N(R), N(S) ..1…0…0..P….1…1…1…1
XID- tilan vaihto C/R Käyttää kyselyn/lähetyksen tilan ..1…0…1..P/F..1…1…1…1
Testaa_ _ C/R Identtisten tietojen vaihto. testikentät ..1…1…1..P/F..0…0…1…1
FRMR-kehyksen hylkäys C/R Virheellinen kehysilmoitus

UI-, XID-, TEST-kehykset sisältävät hyödyllistä tietoa ja niitä voidaan käyttää sekä komentoina että vastauksina.

  • Käyttöliittymäkehys sisältää käyttäjätietoja, mutta (toisin kuin I-kehys) se lähetetään uudelleen, kun se katoaa.
  • TEST-kehys on samanlainen kuin ping-komento, ja sitä käytetään virheenkorjaustarkoituksiin. TEST-komennon hyötykuorma palautetaan TEST-vastauksessa.

Katso myös

Muistiinpanot

  1. Ero bitti- ja tavusuuntautuneiden protokollien välillä . Haettu 13. kesäkuuta 2011. Arkistoitu alkuperäisestä 9. lokakuuta 2018.

Kirjallisuus

  • Galkin V. A., Grigoriev Yu. A. Televiestintä ja verkot. - M .: MSTU im. N. E. Bauman, 2003. S. 608. ISBN 5-7038-1961-X
  • Olifer V. G., Olifer N. A. Tietokoneverkot. Periaatteet, tekniikat, protokollat: Oppikirja yliopistoille. 3. painos - Pietari: Pietari, 2006.

Linkit