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).
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 .
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.
HDLC tukee kolmea loogista yhteystilaa, jotka eroavat vuorovaikutuksessa olevien laitteiden rooleista:
Yhteensopivuuden varmistamiseksi asemien välillä, jotka voivat muuttaa tilaa (tyyppiä), HDLC-protokolla tarjoaa 3 kanavakonfiguraatiota:
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.
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 |
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ää:
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 |
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)
Ei valmis vastaanottamaan (RNR)
Hylkääminen (REJ)
Valikoiva hylkääminen (SREJ)
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 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).
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.
TCP /IP-perusprotokollat OSI -mallin kerroksittain | |
---|---|
Fyysinen | |
kanavoitu | |
verkkoon | |
Kuljetus | |
istunto | |
Edustus | |
Sovellettu | |
Muuta sovellettu | |
Luettelo TCP- ja UDP-porteista |