Тема 6.

Управление в канала - HDLC формати.

HDLC

Протоколът HDLC (High-level Data Link Control) е разработен от ISO за нуждите на каналното ниво. Той е преработка на създадения от IBM SDLC, използван в техните мрежови системи през 70те. HDLC позволява синхронна (bit-oriented) или асинхронна (byte-oriented) комуникация, двуточкови (point-to-point) или многоточкови (point-to-multipoint) канали, потвърждаване на кадрите. В наше време се използва предимно за двуточкови връзки. На негова основа се изграждат по-нови, съвместими point-to-point протоколи, например PPP (Point-to-Point Protocol). HDLC предава битовете в little endian формат -
HDLC кадърът има следния общ вид (най-левият бит е най-младши):

01111110 Адрес (8 бита) Управление (8 бита) Данни (0 или повече бита) CRC (16 бита) 01111110

Полето Адрес няма значение за двуточкови връзки, а за обширни многоточкови връзки то не е достатъчно голямо. Ще разглеждаме само двуточков HDLC.
В производния PPP полето присъства, но тъй като от него няма смисъл, то е запълнено, както и полето за контрол. Добавя се поле Протокол. Полето P/F присъства за съвместимост от едното време, когато е служело за управление на dumb терминали. PPP кадър:

Флаг (01111110) Адрес (11111111) Управление (00000011) Протокол (8 / 16 бита) Данни CRC Флаг

HDLC дефинира три типа кадри, които се различават по стойността на полето Управление:

Информационни кадри (Information)

Най-старшият бит от полето Control има стойност 0. В тези кадри полето Data не е празно, тъй като именно те пренасят полезната информация. Полето за управление има следния вид:

0 Sequence (3 бита) P/F (1 бит) Next (3 бита)

Sequence съдържа поредния номер на кадъра - прозорецът за предаване има големина 3 или 4 кадъра.
Next е поле за прикрепено потвърждение. Стойността му е номерът на кадъра, който станцията очаква да получи, тоест, равна е на Sequence на последно получения кадър плюс 1.
Важно: При комуникация между две станции - A и B - в кадъра с данни, изпратен от станция A, Sequence е пореден номер на кадър в обмена на данни от A към B, докато Next се отнася за обмена на данни от B към A - във всяка посока на дуплексната комуникация, едната страна изпраща една поредица кадри, а другата ги потвърждава. Двете поредици нямат общо помежду си.
P/F означава Poll / Final. Poll се нарича, когато се изпраща от предаващата станция, и означава незбавно изискване на потвърждение. Final - когато се изпраща в отговор на Poll, или в края на предаването на данните.

Служебни кадри (Supervisor)

Служат за изпращане потвърждение, когато няма данни за изпращане, към които да се прикрепи такова. Първите два бита от полето Control са 10, и то изглежда така:

1 0 Type (2 бита) P/F (1 бит) Next (3 бита)

Type указва типа Supervisor-кадър. Има 4 възможни стойности:

  • 00 - Receive Ready (RR) - Потвърждава се предишен прозорец (до номер NEXT - 1).
  • 01 - Reject (REJ) - Служи за NAK, не се ползва при Sliding window. Next указва първия кадър, който не е бил получен.
  • 10 - Receive Not ready (RNR) - Потвърждават се кадрите до NEXT - 1, но се указва, че адресатът не е готов за получаване.
  • 11 - Selective Reject (SREJ) - Отхвърля се само указаният кадър (без следващите).

Неномерирани кадри (Unnumbered)

Служебни, служат за управление на връзката. Control започва с 11 и изглежда така:

1 1 Modifier (част 1, 2 бита) P/F (1 бит) Modifier (част 2, 3 бита)

Modifier позволява 32 типа контролни кадри. Най-важните от тях са:

  • FRMR (Frame Reject) - Полученият неномериран кадър не е валиден.
  • DISC - Disconnect. Прекъсва осъществената комуникационна сесия.
  • SNRM (Set Normal Response Mode) - Станциите A и B работят в "нормален режим" - A изпраща, B предава. Само A има право да изпрати SNRM или DISC кадър.
  • SABM (Set Asynchronous Balanced Mode) - Всяка от станциите може да извърши DISC (асинхронна връзка).
  • SABME (SABM Extended), SNRME (SNRM Extended) - Използва се 7-битово поле за номерация, прозорецът може да се увеличи до 64 кадъра.
  • UI (Unnumbered Information) - Носи данни, за които няма да се очаква потвърждение.
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License