HDLC

High-Level Data Link Control (HDLC) е синхрон, бит-ориентиран, протокол на data link нивото развиен од Интернационална Организација за Стандардизација (ISO). Оригиналните ISO стандарди за HDLC се:
ISO 3309 — Рамка Структура (Frame Structure)
ISO 4335 — Елементи на постапка (Elements of Procedure)
ISO 6159 — Небалансирани класи на постапка (Unbalanced Classes of Procedure)
ISO 6256 — Балансирани класи на постапка (Balanced Classes of Procedure)

Важечки стандард за HDLC е ISO 13239, кој ги заменува сите останати стандарди.

HDLC обезбедува и конекциски ориентирана услуга и без конекциска услуга.

HDLC може да биде користен за поврзување на еден уред со повеќе уреди, но скоро секогаш се користи само за да се поврзат два уреди меѓу себе, познато како Асинхром Балансиран Режим (Asynchronous Balanced Mode (ABM)). Другите два режими Normal Response Mode (NRM) и Asynchronous Response Mode (ARM) се ретко користени.

 Историја 
HDLC е заснован на IBM-от SDLC протокол, кој е протокол од второ ниво за IBM-та Системска Мрежна Архитектура (SNA). Беше проширена и стандардизирана од ITU како LAP, додека ANSI нивната идентична верзија ја нарече ADCCP.

Дериватите оттогаш се појавиле во безброј стандарди. Беше посвоен во X.25 протоколовиот магацин како LAPB, во V.42 протоколот како LAPM, во Frame Relay протоколот како LAPF и во ISDN протоколт како LAPD. Тоа беше инспирација за IEEE 802.2 LLC протоколот, и тоа е основата за оформување на механизам користен со PPP на синхрони линии, користен од многу опслужувачи за да се конекнтираат на WAN, најчесто на Интернет. Благо поинаква верзија исто така се користи како канал за контрола на E-carier(E1) и во SONET повеќе каналните телефонски линии. Некој произведувачи како Cisco, имплементираа протоколи како Cisco HDLC кој користат ниско ниво од HDLC врамувачката технологија но додадоа поле за протокол во стандардниот HDLC хедер. Уште поважно, HDLC е стандардна енкапсулација за сериски интерфејси на насочувачите на Cisco.

Врамување (Framing)
HDLC рамките можат да бидат пренесени преку синхрони или асинхрони врски. Овие врски немаат механизам да го означат почетокот или крајот на рамката, па почетокот и крајот на секоја рамка мора да бидат идентифицирани. Ова е направено со користење на раздвојувач на рамки, или знаменце, кое е уникатна секвенца од битови која сигурно нема да постои внатре во рамката. Оваа секвенца е '01111110', или, во хексадецимална нотација, 0x7E. Секоја рамка започнува и завршува со раздвојувач на рамки. Раздвојувачот на крајот од рамката исто така може да биде и почеток на наредната рамка. Секвенца од 7 или повеќе последователни 1-битови во рамката ќе предизвика рамката да биде прекината.

Кога без рамки се пренесуваат на симплекс или full-duplex синхрона врска, раздвојувачот на рамката постојано се пренесува на линкот. Користеики го стандардното NRZI кодирање од битови во нивоа на линии (0 бит = пренос, 1 бит = нема пренос), ова генерира еден од двата континуирани бранови, во зависност од почетната состојба: 
Image:NrziEncodedFlags.png

Ова се користи од страна на модем за да се обучат и синхронизираат нивните часовници преку phase-locked loops. Некој протокили дозволуваат 0-бит на крајото од расвојувачот на рамки да се сподели со почетокот на следниот раздвојувач на рамки, пр. '011111101111110'.

Синхронизирано Врамување
Во синхронизираните врски, ова е завршено со вметнување бит. Секој пат кога ќе се појават 5 последователни 1-битови во податоците кој се пренесуваат, податоците се паузираат и се префрла 0-бит. Ова осигурува дека не повеќе од 5 последователни 1-битови ќе бидат пратени. Уредот кој ги прифака знае дека ова е направено, и после примени 5 1-бита во ред, следниот 0-бит се отврла од примените податоци. Ако следниот бит е 1-бит, примачот пронашол знаменце.

HDLC пренесува бити од  податоци од кој првиот бит е најмалку значајниот.

Асинхроно врамување
При користење на асинхрона сериска комуникација како стандардот RS-232, битовите се пракаат во групи од 8, спојувањето на битови е незгодно. Наместо тоа тие користат "транспарентност на октет-контрола", наречено "бајт пополнување" или "октет пополнување". Октетот на границата на рамката е 01111110, (7E во хексадецимална нотација). "Контролата избеган октет" има бит секвенца '01111101', (7D хексадецимално). Ако некоја од овие два октети се појави во пренесуваните податоци, еден избеган октет е прратен, пратен од оригиналниот октет податоци со извртени 5 бита. На пример, податочната секвенца "01111110" (7E хексадецимално) ќе биде пренесена како  "01111101 01011110" ("7D 5E" хексадецимално). Другиот резервиран октет вредности (како XON или XOFF) може да биде избегнат на истиот на истиот начин ако е потребно.

Структура
Содржината на HDLC рамката е прикажана во следната табела:

ЗнаменцеАдресаКонтролаИнформацииFCSЗнаменце8 битови8 или повеќе битови8 или 16 битовиПроменлива должина, 0 или повеќе битови16 или 32 битови8 битови

Забележете дека крајното знаменце на една рамка може да биде (но не мора) почетно знаменце од наредната рамка.

 Линк Конфифурации 

Линк Конфигурациите можат да бидат категоризирани како:
Небалансирани, кој се состои од еден примарен терминал, и еден или повеќе секундарни терминали.
Балансирани, кој се состои од два peer терминали.

Трите Линк Конфигурации се:
Режим на нормална реакција (NRM) е небалансирана конфигурација во која само примарниот терминал може да иницира трансфер на податоци. Секундарниот терминал пренесува податоци само како одговор на команда зададена од примарниот терминал. Примарниот терминал го приморува секундарниот терминал(и) да утврди дали има податоци за пренесување, а потоа да селектира една за пренесување.
Режим на асинхрона реакција (ARM) е небалансирана конфигурација во која секундарните терминали можат да пренесуваат без дозвола од примарниот терминал. Како и да е примарниот терминал сè уште ја има одговорноста за инцијализација на линија, поправки на грешки и логички дисконектирања.
Асинхрон балансиран режим (ABM) е балансирана конфигурација во која двете станици можат да иницираат пренос.
Дополнителна Линк Конфигурација е Дисконектиран Режим. Ова е режим каде секундарната станица е внатре пред да биде иницијализирана од примарната, или кога е изречно дисконектирана. Во овој режим, секундарниот одговара на скоро секоја рамка освен на оние со наместена наредба "Дисконектиран режим" да одговори. Целта на овој режим е да му овозможи на примарната станица сигурно да открие доколку секундарната станица е исклучена или рестартирана.

HDLC Команда и Одговор на репертоарот
Команди (BALA, I, RR, RNR, (SNRM or SARM or SABM) DISC
Одговори (I, RR, RNR, UA, DM, FRMR)
Основни операции
Иницијализацијата може да биде побарана од обете страни. Кога шестиот режим сет команди е користен. Оваа команда:
Ја сигнализира другата страна дека иницијализацијата е побарана
Го одредува режимот, NRM, ABM, ARM
Одредува дали 3 или 7 битна секвенца на броеви е во употреба.
HDLC режимот го пренесува на другиот крај на рамката кога барањето е прифатено. И ако барањето е одбиено тоа се праќа на рамката од Дисконектираниот режим.

Функционални Екстензии (Опции)
За (For) Switched Circuits 
Команди: ADD - XID
ОДговори: ADD - XID, RD
За 2-насочен Симултани команди & одговори се ADD - REJ
За Единствена Рамка за Реемитување командите & одговорите: ADD - SREJ
За Информации Командите & Одговорите: ADD - Ul
За Иницијализација
Команди: ADD - SIM
Одговори: ADD - RIM
За Избирачките Групи
Команди: ADD - UP
Проширено Адресирање
Избриши Одговори I Рамки
Избриши Команди I Рамки
Проширено Нумерирање
За Рестартирање на Режим(ABM only) Командите се: ADD - RSET
Data Link Тест Команди & Одговори се: ADD - TEST
Барање за Дисконектирање. Одговорите се ADD - RD
32-битна FCS

 HDLC Команда/Одговор Репертоар 
Тип на РамкаИмеКоманда/ОдговорОбјаснувањеИнфоC-поле Формат76543210Информации(I)C/RРазмена на податоци од КорисницитеN(R) P/F N(S)0 Супервизија (Supervisory) (S)Спремен за Примање (Receive Ready) (RR)C/RПозитивна Потврда (Positive Acknowledgement)Спремен за примање на I-рамка N (Ready to receive I-frame N(R))N(R) P/F 0001 Не Спремен за Примање (Receive Not Ready (RNR))C/RПозитивна Потврда (Positive Acknowledgement)Неспремен за примањеN(R) P/F 0101 Отфрлање (REJ)C/RНегативна ПотврдаПовторното префрлање започнува за N(R)N(R) P/F 1001 Селективно Отфрлање (SREJ)C/RНегативна ПотврдаПовторно пренеси само N(R)N(R) P/F 1101 
Ненумерирани Рамки
Ненумерирани рамки се идентификуваат преку ниските два бити и тоа ако се 1. Со P/F знаменцето, тоа остава 5 бита како тип на рамка. Иако помалку од 32 вредносити се во употреба, некој типови имаат различни значења зависно од правецот каде се пратени: како барање или како одговор. Односот помеѓу DISC (disconnect) командата и  RD (request disconnect) одговорот се чини доволно јасни, но причината за создавање на SARM наредба бројчено еднаква на DM одговорот е непознат.

ИмеКоманда/ОдговорОбјаснувањеИнфоC-поле Формат76543210Намести нормален Одговор SNRMCИзбери режим Користи 3 битен секвенцен број100P0011 Избери нормален одговор во проширениот режим SNRMECИзбери режим; проширен Користи 7 битен секвенцен број110P1111 Избери асинхрон одговор SARMCНамести режим Користи 3 битен секвенцен број000P1111 Избери асинхрон одговор во проширениот режим SARMECИзбери режим; роширен Use 7 bit sequence number010P1111 Намести асинхрон балансиран режим SABMCНамести режимКористи 3 битен секвенцен број001P1111 Намести асинхрон балансиран во прожирен режимSABMECНамести режим; проширен Користи 7 битен секвенцен број011P1111 Постави иницијализациски режимSIMCИницијализирај линк контролна функција во адресираната станица000P0111 Дисконект DISCCПрекинете логичка линк врскаИдни I и S фрејмови враќаат DM010P0011 Ненумерирана Конфирмација UARПотврди прифаќање на една од постави-мод командите.011F0011 Дисконектирај Мод DMRОдговарач во Дисконект Модпоставување на мод потребно000F1111 Побарај Дисконект RDRПокана за DISC Команда010F0011 Побарај Иницијализациски Мод RIMRИницијализација потребнаБарање за SIM команда000F0111 Ненумерирана Информација UIC/RНепризнат податокима товар000P/F0011 Ненумерирана Анкета UPCСе користи за делење на контролна информација001P0011 Ресетирање RSETCСе користи за обновувањеРесетира N(R) но не N(S)100P1111 Размени Идентификација XIDC/RСе користи за Барање/Пријавување способности101P/F1111 Тестирање TESTC/RРазмени идентични информациски полиња за тестирање111P/F0011 Фрејм Одбивање FRMRR Пријави примање на непризнат фрејм100F0111 Нерезервирани 0 NR0C/RНестандардизираниЗа апликациска употреба000P/F1011 Нерезервирани 1 NR1C/RНестандардизираниЗа апликациска употреба100P/F1011 Нерезервирани 2 NR2C/RНестандардизираниЗа апликациска употреба010P/F1011 Нерезервирани 3 NR3C/RНестандардизираниЗа апликациска употреба110P/F1011 Конфигурирање за тестирање CFGRC/RНе е дел од HDLCБеше дел од SDLC110P/F0111 Зрак BCNRНе е дел од HDLCБеше дел од SDLC111F1111
UI, XID и TEST рамки содржат товар, и може да се користат и како команди и одговори.
 UI рамката содржи информации за корисниците, но разлика од I рамката нема потврда или повторно испраќање ако е изгубено.
 XID рамката се користи за размена на терминал способностите.  IBM Systems Network Architecture дефинира еден формат, но варијантата е дифинирана во ISO 8885 е почесто користена.  Примарниот ги рекламира своите способности со XID команда, и секундарниот враќа XID одговор. 
 TEST рамката е едноставна ping команда за дебагирачки цели. Товарот од TEST командата е вратена во TEST одговорот.
FRMR рамката содржи товар кој ги опишува непоригатливите рамки. Првите 1 или 2 бајти се копија од отфрленото контролно поле, наредните 1 или 2 ја содржат пратената или примената секвенца од бројќи, а наредните 4 или 5 бити ја наведува причината поради која се случило одбивањето.

Исто така погледнете
 PPP, SLIP

Белешки

Наводи

Надворешни врски 
 RFC 2687, Proposed Standard, PPP in a Real-time Oriented HDLC-like Framing 
 RFC 1662, standard 51, PPP in HDLC-like Framing
 HDLC information page 
 Data Communication Lectures of Manfred Lindner - Part HDLC 
 HDLC packet format and other information
 The HDLC Family of Protocols  

Категорија:Семрежни протоколи