High-Level Data Link Control ( HDLC ) je bitově orientovaný [1] protokol linkové vrstvy modelu sítě OSI vyvinutý společností ISO .
Současný standard pro HDLC je ISO 13239.
HDLC lze použít v multi-access spojení, ale v současné době se používá hlavně v point-to-point spojení pomocí asynchronního vyváženého režimu (ABM).
HDLC byl vyvinut na základě SDLC Jeho mírně upravené podřízené protokoly - LAPB , LAPM , LAPF , LAPD byly zabudovány ITU do protokolových zásobníků X.25 , V.42 , Frame Relay , resp . ISDN . HDLC bylo také základem pro vývoj rámovacích mechanismů v protokolu PPP , který je široce používán na internetu .
Každá ze stanic je v každém okamžiku v jednom ze 3 logických stavů:
Pokud je sekundární stanice v normálním režimu odpojení (NDM), může přijímat rámce pouze po obdržení výslovného povolení od primárního. Pokud je v režimu asynchronního odpojení (ADM), sekundární stanice může zahájit přenos bez povolení.
Používá se k přenosu řízení na vzdálenou kombinovanou stanici a k výměně parametrů mezi vzdálenými stanicemi.
Všechny stanice mohou vysílat a přijímat informace. Stanice mohou být v režimech NRM, ARM, ABM.
HDLC podporuje tři logické režimy připojení, které se liší v rolích interagujících zařízení:
Pro zajištění kompatibility mezi stanicemi, které mohou změnit svůj stav (typ), poskytuje protokol HDLC 3 konfigurace kanálů:
Rámce HDLC lze přenášet pomocí synchronního i asynchronního připojení. Samotná spojení nemají mechanismy pro určování začátku a konce rámce, pro tyto účely je pro tyto účely použita unikátní bitová sekvence (FD - Frame Delimiter) '01111110' (0x7E v hexadecimální soustavě ), umístěná na začátku resp. konec každého rámu. Jedinečnost příznaku je zaručena použitím bitstaffingu v synchronních připojeních a bytestaffingu v asynchronních. Bitstuffing - bit stuffing, zde - bit 0 po 5 po sobě jdoucích bitech 1. Bitstuffing funguje pouze při přenosu informačního pole (datového pole) rámce. Pokud vysílač detekuje, že bylo vysláno pět jedniček za sebou, automaticky vloží do vysílané bitové sekvence navíc nulu (i když po těchto pěti jedničkách je již nula). Proto se sekvence 01111110 nikdy neobjeví v datovém poli rámce. Podobný obvod pracuje v přijímači a plní opačnou funkci. Když je po pěti jedničkách nalezena nula, je automaticky odstraněna z datového pole snímku. V bytestuffingu se používá sekvence escape, zde - '01111101' (0x7D v hexadecimální reprezentaci ), to znamená, že bajt FD (0x7E) uprostřed rámce je nahrazen sekvencí bajtů (0x7D, 0x5E) a byte (0x7D) je nahrazen sekvencí bajtů (0x7D, 0x5D ).
Během nečinnosti média na synchronním připojení je sekvence 0x7E ('01111110') neustále přenášena kanálem, aby byla zachována bitová synchronizace. Může existovat kombinace posledního bitu 0 jednoho příznaku a počátečního bitu 0 dalšího. Doba nečinnosti se také označuje jako vyplnění doby mezi snímky.
Struktura rámce HDLC včetně příznaků FD:
vlajka FD | Adresa | kontrolní pole | Informační pole | FCS | vlajka FD |
---|---|---|---|---|---|
8 bitů | násobek 8 bitů | 8 nebo 16 bitů | 0 nebo více bitů, násobek 8 | 16 bit | 8 bitů |
Navrženo pro přenos uživatelských dat. Během přenosu informačních bloků jsou číslovány v souladu s algoritmem posuvného okna. Po navázání spojení se v informačních rámcích začnou přenášet data a pozitivní potvrzení. Logický kanál HDLC je duplexní, takže datové rámce, a tedy i pozitivní potvrzení, lze odesílat oběma směry. Pokud nedochází k toku informačních rámců v opačném směru nebo musí být vysílán negativní příjem, pak se použijí řídicí rámce. Při provozu HDLC se pro zajištění spolehlivosti přenosu používá posuvné okno o 7 snímcích (s velikostí řídicího pole 1 bajt) nebo 127 (s velikostí řídicího pole 2 bajty). Pro podporu algoritmu okna jsou v informačních rámcích odesílající stanice přidělena 2 pole:
Pro jistotu předpokládejme, že stanice A vyslala stanici B informační rámec s některými hodnotami NA(S) a NA(R). Pokud v odezvě na tento rámec přijde ze stanice B rámec, ve kterém se číslo rámce NB(S) odeslaného touto stanicí shoduje s číslem rámce NA(R) očekávaným stanicí A, pak se přenos považuje za správný. Pokud stanice A přijme rámec odpovědi, ve kterém se číslo odeslaného rámce NB(S) nerovná číslu očekávaného NA(R), pak stanice A tento rámec zahodí a odešle negativní příjem REJ (z anglického odmítnutí - odmítnutí) s číslem NA(R ). Po obdržení negativního příjmu musí stanice B zopakovat přenos rámce s číslem NA(R), jakož i všech rámců s vyššími čísly, které již odeslala pomocí mechanismu posuvného okna.
I-snímky také obsahují bit P/F ( poll/final ). V režimu NRM používá master bit P k dotazování, slave bit F v posledním I-snímku odpovědi. V režimech ARM a ABM se k vynucení odezvy používají bity P/F.
Tým/
Odpovědět |
Popis | Formát ex. pole
8…7…6…5…4…3…2…1…. |
---|---|---|
C/R | Uživatelská data | .-N(R)-...P/F....-N(S)-..0 |
Používá se k řízení toku chyb přenosu. Řídicí rámce přenášejí příkazy a odpovědi v kontextu vytvořeného logického spojení, včetně požadavků na opětovné odeslání poškozených informačních bloků:
Připraveno k příjmu (RR)
Není připraveno k příjmu (RNR)
Odmítnutí (REJ)
Selektivní odmítnutí (SREJ)
název | Tým/
Odpovědět |
Popis | info | Formát ex. pole
8…7…6…5…4…3…2…1…. |
---|---|---|---|---|
Připraveno k příjmu (RR) | C/R | pozitivní příjem | Připraveno k příjmu I-frame | .-N(R)-… P/F…0…0…0…1 |
Není připraveno k příjmu (RNR) | C/R | pozitivní příjem | Nejste připraveni přijímat | .-N(R)-… P/F…0…1…0…1 |
Odmítnutí (REJ) | C/R | Negativní příjem | Opakujte N snímků | .-N(R)-… P/F…1…0…1…0 |
Selektivní odmítnutí (SREJ) | C/R | Negativní příjem | Opakujte 1 snímek | .-N(R)-… P/F…1…1…0…1 |
U-rámce jsou identifikovány dvěma nejnižšími významnými bity nastavenými na 1. Spolu s příznakem P/F to tedy ponechává 5 bitů pro typ rámce. Protože existuje méně než 32 hodnot, některé typy rámců mají různý význam v závislosti na tom, zda jsou odeslány jako požadavek nebo jako odpověď. Spojení mezi příkazem DISC (disconnect) a odpovědí RD (požadavek na odpojení) je tedy jasné, ale důvody, proč mají příkaz SARM a odpověď DM stejnou digitální hodnotu, nejsou jasné.[ komu? ] .
U-snímky jsou určeny k navázání a přerušení logického spojení a také k informování o chybách.
Pole M nečíslovaných rámců obsahuje kódy definující typ příkazů používaných dvěma uzly během fáze navazování spojení (např. SABME, UA, REST).
název | Tým/
Odpovědět |
Popis | info | Formát ex. pole
8…7…6…5…4…3…2…1…. |
---|---|---|---|---|
Nastavte normální režim odezvy SNRM | C | Nastavit režim | ..1…0…0…P…1…1…0…1 | |
Nastavte rozšířený režim normální odezvy SNRME | C | Nastavit režim | ..1…1…0…P…1…1…1…1 | |
Nastavte režim asynchronní odezvy SARM | C | Nastavit režim | ..0…0…0..P/F..1…1…0…1 | |
Nastavte rozšířený režim asynchronní odezvy SARME | C | Nastavit režim | ..0…1…0…P..1…1…1…1 | |
Nastavte asynchronní vyvážený režim SABM | C | Nastavit režim | ..0…0…1..P/F..1…1…1…1 | |
Nastavte rozšířený asynchronní vyvážený režim SABME | C | Nastavit režim | ..0…1…1…P…1…1…1…1 | |
Nastavte režim inicializace SIM karty | C | Spusťte funkci dohledu nad linkou v adresované stanici | ..0…0…0..P/F..0…1…1…1 | |
Odpojte připojení DISC | C | Přerušte logické spojení | ..0…1…0..P/F..0…0…1…1 | |
Nečíslované potvrzení UA | R | Potvrzení přijetí jednoho z příkazů nastavení režimu | ..0…1…0….F..0…0…1…1 | |
Režim odpojení DM | R | Indikace režimu záznamu. oddělení | ||
Požadavek na odpojení RD | R | Reakce na příkaz DISC | ..0…1…0..P/F..0…0…1…1 | |
Požadavek na inicializaci RIM | R | Vyžaduje se inicializace | Žádost o příkaz SIM | |
Nečíslované informace o uživatelském rozhraní | C/R | Slouží k výměně kontrolních informací | ..0…0…0..P/F..0…0…1…1 | |
Nečíslovaná anketa UP | C | Používá se k vyžádání kontrolních informací | ..0…0…1..P….0…0…1…1 | |
Restartování čítačů RSET | C | Použití zotavení | Resetuje N(R), N(S) | ..1…0…0..P….1…1…1…1 |
Výměna stavu XID | C/R | Použití na stav dotazu/vysílání | ..1…0…1..P/F..1…1…1…1 | |
Test _ | C/R | Výměna identických inf. testovací pole | ..1…1…1..P/F..0…0…1…1 | |
Rámeček FRMR zamítnut | C/R | Oznámení o neplatném rámu |
Rámce UI, XID, TEST obsahují užitečná data a lze je použít jako příkazy i jako odpovědi.
protokoly TCP /IP podle vrstev modelu OSI | Základní|
---|---|
Fyzický | |
odvedeny | |
síť | |
Doprava | |
zasedání | |
Zastoupení | |
Aplikovaný | |
Uplatněno jiné | |
Seznam portů TCP a UDP |