HDLC

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 31. juli 2019; checks kræver 3 redigeringer .

High-Level Data Link Control ( HDLC ) er en bit-orienteret [1] linklagsprotokol af OSI-netværksmodellen udviklet af ISO .

Den nuværende standard for HDLC er ISO 13239.

HDLC kan bruges i multi-access-forbindelser, men bruges i øjeblikket hovedsageligt i punkt-til-punkt- forbindelser ved hjælp af asynkron balanceret tilstand (ABM).

Historie

HDLC blev udviklet baseret på SDLC -Dens let modificerede underordnede protokoller - LAPB , LAPM , LAPF , LAPD blev indbygget af ITU i henholdsvis X.25 , V.42 , Frame Relay , ISDN protokolstakkene . HDLC var også grundlaget for udviklingen af ​​rammemekanismer i PPP -protokollen , som er meget udbredt på internettet .

Stationstyper

Logiske tilstande

Hver af stationerne på hvert tidspunkt er i en af ​​3 logiske tilstande:

Hvis den sekundære station er i normal frakoblingstilstand (NDM), så kan den kun modtage frames efter at have modtaget en eksplicit tilladelse fra den primære. Hvis den er i Asynchronous Disconnect Mode (ADM), kan den sekundære station starte en transmission uden tilladelse.

Bruges til at overføre kontrol til en fjernkombineret station og til at udveksle parametre mellem fjernstationer.

Alle stationer har lov til at sende og modtage information. Stationer kan være i NRM-, ARM-, ABM-tilstande.

Overførselstilstande

HDLC understøtter tre logiske forbindelsestilstande, som adskiller sig i rollerne for interagerende enheder:

Kanalkonfigurationer

For at sikre kompatibilitet mellem stationer, der kan ændre deres status (type), giver HDLC-protokollen 3-kanalskonfigurationer:

Personale

HDLC-rammer kan transmitteres ved hjælp af både synkrone og asynkrone forbindelser. Forbindelserne i sig selv har ikke mekanismer til at bestemme begyndelsen og slutningen af ​​rammen; til disse formål bruges en unik bitsekvens (FD - Frame Delimiter) '01111110' (0x7E i hexadecimal ) til dette formål, placeret i begyndelsen og slutningen af ​​hver ramme. Det unikke ved flaget er garanteret ved at bruge bitstaffing i synkrone forbindelser og bytestaffing i asynkrone. Bitstuffing - bitstuffing, her - bit 0 efter 5 på hinanden følgende bit 1. Bitstuffing virker kun under transmissionen af ​​informationsfeltet (datafeltet) i rammen. Hvis senderen registrerer, at der er blevet transmitteret fem 1'ere i træk, indsætter den automatisk et ekstra nul i den transmitterede bitsekvens (også selvom der efter disse fem 1'ere allerede er et nul). Derfor vil sekvensen 01111110 aldrig vises i datafeltet i en ramme. Et lignende kredsløb fungerer i modtageren og udfører den modsatte funktion. Når et nul er fundet efter fem enere, fjernes det automatisk fra rammens datafelt. Ved bytestuffing bruges en escape-sekvens, her - '01111101' (0x7D i hexadecimal repræsentation ), det vil sige, at FD-byten (0x7E) i midten af ​​rammen erstattes af en byte-sekvens (0x7D, 0x5E), og en byte (0x7D) erstattes af en bytesekvens (0x7D, 0x5D ).

Under inaktiv medie på en synkron forbindelse sendes sekvensen 0x7E ('01111110') konstant over kanalen for at opretholde bitsynkronisering. Der kan være en kombination af den sidste bit 0 i et flag og den indledende bit 0 i det næste. Inaktiv tid omtales også som interframe time fill.

Personalestruktur

HDLC-rammestruktur inklusive FD-flag:

FD flag Adresse kontrolfelt Informationsfelt FCS FD flag
8 bit multiplum af 8 bit 8 eller 16 bit 0 eller flere bits, multiplum af 8 16 bit 8 bit

Rammetyper

I-rammer (informationsrammer, datarammer)

Designet til at overføre brugerdata. Under transmissionen af ​​informationsblokke nummereres de i overensstemmelse med glidende vinduesalgoritme. Efter at forbindelsen er etableret, begynder data og positive bekræftelser at blive transmitteret i informationsrammer. Den logiske HDLC-kanal er duplex, så datarammer og dermed positive bekræftelser kan sendes i begge retninger. Hvis der ikke er flow af informationsrammer i den modsatte retning, eller der skal sendes en negativ kvittering, så bruges kontrolrammer. Under HDLC-drift bruges et glidende vindue på 7 rammer (med en kontrolfeltstørrelse på 1 byte) eller 127 (med en kontrolfeltstørrelse på 2 byte) for at sikre transmissionspålidelighed. For at understøtte vinduesalgoritmen er der tildelt 2 felter i informationsrammerne for afsenderstationen:

  • N(S) er nummeret på den ramme, der sendes;
  • N(R) er det rammenummer, som stationen forventer at modtage fra sin dialogpartner.

Antag for nøjagtigheden, at station A sendte station B en informationsramme med nogle værdier af NA(S) og NA(R). Hvis der som reaktion på denne ramme ankommer en ramme fra station B, i hvilken nummeret på NB(S)-rammen sendt af denne station svarer til nummeret på NA(R)-rammen, der forventes af station A, så anses transmissionen for at være korrekt. Hvis station A modtager en svarramme, hvor nummeret på den sendte ramme NB(S) ikke er lig med nummeret på den forventede NA(R), så kasserer station A denne ramme og sender en negativ kvittering REJ (fra det engelske  reject )  - afslag) med nummeret NA(R ). Efter at have modtaget en negativ kvittering skal station B gentage transmissionen af ​​rammen med nummeret NA(R), samt alle rammer med højere tal, som den allerede har sendt ved hjælp af skydevinduemekanismen.

I-frames indeholder også P/F ( poll/final ) bit. I NRM-tilstand bruger masteren P-bitten til at polle, slaven bruger F-bitten i svarets sidste I-frame. I ARM- og ABM-tilstande bruges P/F-bittene til at fremtvinge svaret.

Hold/

Svar

Beskrivelse Format ex. felter

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

C/R Brugerdata .-N(R)-… P/F….-N(S)-..0
S-frames (kontrol)

Bruges til at kontrollere strømmen af ​​transmissionsfejl. Kontrolrammer transmitterer kommandoer og svar i sammenhæng med en etableret logisk forbindelse, herunder anmodninger om at gentransmittere korrupte informationsblokke:

Klar til at modtage (RR)

  • Bruges som en positiv kvittering (op til N(r)−1).
  • Masterstationen kan polle ved at indstille P-bit.
  • En slavestation kan svare på en afstemning med en ramme med F-bit sat, hvis den ikke har nogen data at sende.

Ikke klar til at modtage (RNR)

  • Bruges som en positiv bekræftelse og anmodning om at stoppe med at transmittere I-frames, indtil den næste RR-ramme er modtaget.
  • Masterstationen eller den kombinerede station kan indstille P-bitten for at tydeliggøre modtagestatus for slave/kombineret station.
  • Den slave/kombinerede station kan reagere ved at indstille P-bitten som en stationsoptaget-indikation.

Afvisning (REJ)

  • Bruges ofte som negativ modtagerkvittering
  • Ikke-modtagelse af rammer fra det sidste vindue (genudsendelse fra ramme N(r))

Selektiv afvisning (SREJ)

  • Afvisning af en specifik frame (gentransmission af én frame)
Navn Hold/

Svar

Beskrivelse info Format ex. felter

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

Klar til at modtage (RR) C/R positiv kvittering Klar til at modtage I-frame .-N(R)-… P/F…0…0…0…1
Ikke klar til at modtage (RNR) C/R positiv kvittering Ikke klar til at modtage .-N(R)-… P/F…0…1…0…1
Afvisning (REJ) C/R Negativ kvittering Gentag N rammer .-N(R)-… P/F…1…0…1…0
Selektiv afvisning (SREJ) C/R Negativ kvittering Gentag 1 ramme .-N(R)-… P/F…1…1…0…1
U-rammer (unummererede)

U-frames identificeres ved de to mindst signifikante bit sat til 1. Sammen med P/F flaget efterlader dette således 5 bits for rammetypen. Fordi der er færre end 32 værdier, har nogle rammetyper forskellige betydninger, afhængigt af om de sendes som en anmodning eller som et svar. Så forbindelsen mellem DISC (disconnect)-kommandoen og RD (request disconnect)-svaret er klar, men årsagerne til, at SARM -kommandoen og DM - svaret har den samme digitale værdi, er ikke klare.[ til hvem? ] .

U-rammer er beregnet til at etablere og bryde en logisk forbindelse, samt informere om fejl.

M-feltet af unummererede rammer indeholder koder, der definerer typen af ​​kommandoer, der anvendes af to knudepunkter under forbindelsesetableringsfasen (f.eks. SABME, UA, REST).

  • Indstilling af tilstand (SNRM, SNRME, SARM, SARME, SABM, SABME, UA, DM, RIM, SIM, RD, DISC)
  • Unummererede oplysninger (UP, UI)
  • Gendannelse (FRMR, RSET)
    • Ugyldigt kontrolfelt
    • Datafeltlængden er overskredet
    • Ugyldig længde for denne rammetype
    • Ugyldigt rammenummer
  • Andre (XID, TEST)
Navn Hold/

Svar

Beskrivelse info Format ex. felter

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

Indstil normal SNRM- responstilstand C Indstil tilstand ..1…0…0…P…1…1…0…1
Indstil udvidet normal responstilstand SNRME C Indstil tilstand ..1…1…0…P…1…1…1…1
Indstil SARM asynkron responstilstand C Indstil tilstand ..0…0…0..P/F..1…1…0…1
Indstil udvidet SARME asynkron responstilstand C Indstil tilstand ..0…1…0…P..1…1…1…1
Indstil asynkron SABM balanceret tilstand C Indstil tilstand ..0…0…1..P/F..1…1…1…1
Indstil SABME udvidet asynkron balanceret tilstand C Indstil tilstand ..0…1…1…P…1…1…1…1
Indstil SIM -initieringstilstand C Start linjeovervågningsfunktionen i den adresserede station ..0…0…0..P/F..0…1…1…1
Afbryd DISC- forbindelsen C Bryd logisk forbindelse ..0…1…0..P/F..0…0…1…1
Unummereret UA - bekræftelse R Kvittering for modtagelse af en af ​​kommandoerne til indstilling af tilstand ..0…1…0….F..0…0…1…1
DM -afbrydelsestilstand R Logtilstandsindikation. adskillelse
RD -afbrydelsesanmodning R Svar på DISC-kommandoen ..0…1…0..P/F..0…0…1…1
RIM initialiseringsanmodning R Initialisering påkrævet SIM-kommandoanmodning
Unummereret UI- oplysninger C/R Bruges til at udveksle kontroloplysninger ..0…0…0..P/F..0…0…1…1
Unummereret UP- afstemning C Bruges til at anmode om kontroloplysninger ..0…0…1..P….0…0…1…1
Genstart af RSET- tællere C Brug genopretning Nulstiller N(R), N(S) ..1…0…0..P….1…1…1…1
XID -statusudveksling C/R Brug for at forespørge/overføre status ..1…0…1..P/F..1…1…1…1
Test _ C/R Udveksling af identiske inf. testfelter ..1…1…1..P/F..0…0…1…1
FRMR Frame Rejection C/R Ugyldig rammemeddelelse

UI, XID, TEST rammer indeholder nyttige data og kan bruges både som kommandoer og som svar.

  • UI-rammen indeholder brugerinformation, men (i modsætning til I-framen) gentransmitteres den, når den går tabt.
  • TEST-rammen ligner ping-kommandoen og bruges til fejlfindingsformål. TEST-kommandoens nyttelast returneres i TEST-svaret.

Se også

Noter

  1. Forskellen mellem bit-orienterede og byte-orienterede protokoller . Hentet 13. juni 2011. Arkiveret fra originalen 9. oktober 2018.

Litteratur

  • Galkin V. A., Grigoriev Yu. A. Telekommunikation og netværk. - M .: MSTU im. N. E. Bauman, 2003. S. 608. ISBN 5-7038-1961-X
  • Olifer V. G., Olifer N. A. Computernetværk. Principper, teknologier, protokoller: En lærebog for universiteter. 3. udg. - Skt. Petersborg: Peter, 2006.

Links