HDLC

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 31 juli 2019; kontroller kräver 3 redigeringar .

High-Level Data Link Control ( HDLC ) är ett bitorienterat [1] länklagerprotokoll av OSI-nätverksmodellen utvecklad av ISO .

Den nuvarande standarden för HDLC är ISO 13239.

HDLC kan användas i multi-access-anslutningar, men används för närvarande huvudsakligen i punkt-till-punkt- anslutningar som använder asynkront balanserat läge (ABM).

Historik

HDLC utvecklades baserat IBM SDLC -Dess något modifierade underordnade protokoll - LAPB , LAPM , LAPF , LAPD byggdes in av ITU i respektive X.25 , V.42 , Frame Relay , ISDN protokollstack . HDLC var också grunden för utvecklingen av inramningsmekanismer i PPP- protokollet , som används flitigt på Internet .

Stationstyper

Logiska tillstånd

Var och en av stationerna vid varje tidpunkt är i ett av tre logiska tillstånd:

Om den sekundära stationen är i normalt frånkopplingsläge (NDM) kan den endast ta emot ramar efter att ha fått ett uttryckligt tillstånd från den primära. Om den är i Asynchronous Disconnect Mode (ADM), kan den sekundära stationen initiera en överföring utan tillstånd.

Används för att överföra kontroll till en fjärrkombinerad station och för att utbyta parametrar mellan fjärrstationer.

Alla stationer får sända och ta emot information. Stationer kan vara i lägen NRM, ARM, ABM.

Överföringstillståndslägen

HDLC stöder tre logiska anslutningslägen, som skiljer sig åt i rollerna för interagerande enheter:

Kanalkonfigurationer

För att säkerställa kompatibilitet mellan stationer som kan ändra sin status (typ), tillhandahåller HDLC-protokollet 3-kanalskonfigurationer:

Personal

HDLC-ramar kan överföras med både synkrona och asynkrona anslutningar. Själva anslutningarna har inga mekanismer för att bestämma början och slutet av ramen; för dessa ändamål används en unik bitsekvens (FD - Frame Delimiter) '01111110' (0x7E i hexadecimal ) för detta ändamål, placerad i början och slutet av varje ram. Det unika med flaggan garanteras genom att använda bitstaffing i synkrona anslutningar och bytestaffing i asynkrona. Bitstuffing - bitstoppning, här - bit 0 efter 5 på varandra följande bitar 1. Bitstuffing fungerar endast under överföringen av informationsfältet (datafältet) i ramen. Om sändaren upptäcker att fem 1:or har sänts i rad, infogar den automatiskt en extra nolla i den överförda bitsekvensen (även om det redan efter dessa fem 1:or finns en nolla). Därför kommer sekvensen 01111110 aldrig att visas i datafältet för en ram. En liknande krets fungerar i mottagaren och utför den motsatta funktionen. När en nolla hittas efter fem ettor tas den automatiskt bort från ramens datafält. I bytestuffing används en escape-sekvens, här - '01111101' (0x7D i hexadecimal representation ), det vill säga att FD-byten (0x7E) i mitten av ramen ersätts av en byte-sekvens (0x7D, 0x5E), och en byte (0x7D) ersätts av en bytesekvens (0x7D, 0x5D ).

Under inaktiv media på en synkron anslutning sänds sekvensen 0x7E ('01111110') konstant över kanalen för att bibehålla bitsynkronisering. Det kan finnas en kombination av den sista biten 0 i en flagga och den initiala biten 0 i nästa. Inaktiv tid kallas också interframe time fill.

Personalstruktur

HDLC-ramstruktur inklusive FD-flaggor:

FD flagga Adress kontrollfält Informationsfält FCS FD flagga
8 bitar multipel av 8 bitar 8 eller 16 bitar 0 eller fler bitar, multipel av 8 16 bitar 8 bitar

Ramtyper

I-ramar (informationsramar, dataramar)

Designad för att överföra användardata. Under överföringen av informationsblock numreras de i enlighet med algoritmen för glidfönster. Efter att anslutningen har upprättats börjar data och positiva bekräftelser att överföras i informationsramar. Den logiska HDLC-kanalen är duplex, så dataramar, och därmed positiva bekräftelser, kan skickas i båda riktningarna. Om det inte finns något flöde av informationsramar i motsatt riktning, eller ett negativt kvitto måste sändas, används kontrollramar. Under HDLC-drift används ett skjutfönster på 7 ramar (med en kontrollfältstorlek på 1 byte) eller 127 (med en kontrollfältstorlek på 2 byte) för att säkerställa överföringssäkerhet. För att stödja fönsteralgoritmen är 2 fält tilldelade i informationsramarna för den sändande stationen:

  • N(S) är numret på ramen som skickas;
  • N(R) är det ramnummer som stationen förväntar sig att få från sin dialogpartner.

Antag för tydlighetens skull att station A skickade till station B en informationsram med några värden på NA(S) och NA(R). Om som svar på denna ram en ram anländer från station B, i vilken numret på NB(S)-ramen som sänds av denna station matchar numret på NA(R)-ramen som förväntas av station A, då anses sändningen vara korrekt. Om station A tar emot en svarsram där numret på den sända ramen NB(S) inte är lika med numret på den förväntade NA(R), så kasserar station A denna ram och skickar ett negativt kvitto REJ (från engelska  reject  - vägran) med numret NA(R ). Efter att ha mottagit ett negativt kvitto måste station B upprepa sändningen av ramen med numret NA(R), såväl som alla ramar med högre nummer som den redan har skickat med hjälp av skjutfönstermekanismen.

I-frames innehåller också P/F ( poll/final ) biten. I NRM-läge använder mastern P-biten för att polla, slaven använder F-biten i den sista I-ramen av svaret. I ARM- och ABM-lägen används P/F-bitarna för att tvinga fram svaret.

Team/

Svar

Beskrivning Format ex. fält

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

C/R Användardata .-N(R)-… P/F….-N(S)-..0
S-frames (kontroll)

Används för att kontrollera flödet av överföringsfel. Kontrollramar sänder kommandon och svar i samband med en etablerad logisk anslutning, inklusive förfrågningar om att återsända korrupta informationsblock:

Redo att ta emot (RR)

  • Används som ett positivt kvitto (upp till N(r)−1).
  • Masterstationen kan polla genom att ställa in P-biten.
  • En slavstation kan svara på en avfrågning med en ram med F-biten inställd om den inte har några data att sända.

Inte redo att ta emot (RNR)

  • Används som en positiv bekräftelse och begäran om att sluta sända I-ramar tills nästa RR-ram tas emot.
  • Masterstationen eller den kombinerade stationen kan ställa in P-biten för att klargöra mottagningsstatusen för den slav/kombinerade stationen.
  • Den slav/kombinerade stationen kan svara genom att ställa in P-biten som en stationsupptagen indikation.

Avslag (REJ)

  • Används ofta som negativt kvitto
  • Ej mottagning av ramar i det sista fönstret (återutsändning från ram N(r))

Selektivt avslag (SREJ)

  • Avvisande av en specifik ram (omsändning av en ram)
namn Team/

Svar

Beskrivning info Format ex. fält

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

Redo att ta emot (RR) C/R positivt kvitto Klar att ta emot I-frame .-N(R)-… P/F…0…0…0…1
Inte redo att ta emot (RNR) C/R positivt kvitto Inte redo att ta emot .-N(R)-… P/F…0…1…0…1
Avslag (REJ) C/R Negativt kvitto Upprepa N bildrutor .-N(R)-… P/F…1…0…1…0
Selektivt avslag (SREJ) C/R Negativt kvitto Upprepa 1 ram .-N(R)-… P/F…1…1…0…1
U-ramar (onumrerade)

U-ramar identifieras av de två minst signifikanta bitarna satta till 1. Tillsammans med P/F-flaggan lämnar detta alltså 5 bitar för ramtypen. Eftersom det finns färre än 32 värden har vissa ramtyper olika betydelser beroende på om de skickas som en begäran eller som ett svar. Så kopplingen mellan DISC -kommandot (disconnect) och RD -svaret (request disconnect) är tydlig, men anledningarna till att SARM- kommandot och DM- svaret har samma digitala värde är inte klara.[ till vem? ] .

U-ramar är avsedda för att upprätta och bryta en logisk koppling, samt att informera om fel.

M-fältet med onumrerade ramar innehåller koder som definierar typen av kommandon som används av två noder under etableringsfasen för anslutning (t.ex. SABME, UA, REST).

  • Lägesinställning (SNRM, SNRME, SARM, SARME, SABM, SABME, UA, DM, RIM, SIM, RD, DISC)
  • Onumrerad information (UPP, UI)
  • Återställning (FRMR, RSET)
    • Ogiltigt kontrollfält
    • Datafältets längd har överskridits
    • Ogiltig längd för den här ramtypen
    • Ogiltigt ramnummer
  • Andra (XID, TEST)
namn Team/

Svar

Beskrivning info Format ex. fält

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

Ställ in normalt SNRM -svarsläge C Ställ in läge ..1…0…0…P…1…1…0…1
Ställ in utökat normalsvarsläge SNRME C Ställ in läge ..1…1…0…P…1…1…1…1
Ställ in SARM asynkront svarsläge C Ställ in läge ..0…0…0..P/F..1…1…0…1
Ställ in utökat SARME asynkront svarsläge C Ställ in läge ..0…1…0…P..1…1…1…1
Ställ in asynkront SABM balanserat läge C Ställ in läge ..0…0…1..P/F..1…1…1…1
Ställ in SABME utökat asynkront balanserat läge C Ställ in läge ..0…1…1…P…1…1…1…1
Ställ in SIM -initieringsläge C Initiera linjeövervakningsfunktionen i den adresserade stationen ..0…0…0..P/F..0…1…1…1
Koppla bort DISC- anslutningen C Bryt logisk koppling ..0…1…0..P/F..0…0…1…1
Onumrerad UA - bekräftelse R Bekräftelse på mottagande av ett av lägesinställningskommandona ..0…1…0….F..0…0…1…1
DM frånkopplingsläge R Logglägesindikering. separation
RD Disconnect Request R Svar på DISC-kommandot ..0…1…0..P/F..0…0…1…1
RIM- initieringsbegäran R Initiering krävs SIM-kommandobegäran
Onumrerad UI -information C/R Används för att utbyta kontrollinformation ..0…0…0..P/F..0…0…1…1
Onumrerad UP - undersökning C Används för att begära kontrollinformation ..0…0…1..P….0…0…1…1
Startar om RSET- räknare C Använda sig av återhämtning Återställer N(R), N(S) ..1…0…0..P….1…1…1…1
XID- statusutbyte C/R Använda sig av för att fråga/sända status ..1…0…1..P/F..1…1…1…1
Testa _ C/R Utbyte av identisk inf. testfält ..1…1…1..P/F..0…0…1…1
FRMR Frame Rejected C/R Ogiltig ramavisering

UI, XID, TEST ramar innehåller användbar data och kan användas både som kommandon och som svar.

  • UI-ramen innehåller användarinformation, men (till skillnad från I-ramen) återsänds den när den går förlorad.
  • TEST-ramen liknar kommandot ping och används för felsökningsändamål. Nyttolasten för TEST-kommandot returneras i TEST-svaret.

Se även

Anteckningar

  1. Skillnaden mellan bitorienterade och byteorienterade protokoll . Hämtad 13 juni 2011. Arkiverad från originalet 9 oktober 2018.

Litteratur

  • Galkin V. A., Grigoriev Yu. A. Telekommunikation och nätverk. - M .: MSTU im. N. E. Bauman, 2003. S. 608. ISBN 5-7038-1961-X
  • Olifer V. G., Olifer N. A. Datornätverk. Principer, teknologier, protokoll: En lärobok för universitet. 3:e uppl. - St. Petersburg: Peter, 2006.

Länkar