ПРОЦЕСС ПЕРЕДАЧИ В ПРОТОКОЛЕ HDLC
Мы рассмотрели в данном разделе много терминов и понятий. Попробуем теперь свести воедино этот материал на реальных примерах процесса обмена данными между устройствами ООД. На рис. 8 — 12, а также 13 показаны различные виды коммуникации:
— асинхронный сбалансированный режим с полудуплексным потоком данных (рис. 8);
— асинхронный сбалансированный режим с полнодуплексным потоком данных (рис. 9);
— восстановление после ошибок (исправление ошибок) по методу Возвращение-на-N (Go-Back-N) (контрольная точка) (рис. 10);
— восстановление после ошибок по методу Возвращение--на-N (отвергнуть) (рис. 11);
— восстановление после ошибок по методу Выборочного неприема (Selective Reject) (рис. 12);
— SDLC с многоточечной полнодуплексной передачей (рис. 13).
Прежде всего, взяв за основу рис. 8, рассмотрим условные обозначения, используемые на рисунках. Рисунки представляют собой как бы «логические» снимки, сделанные в отдельные интервалы времени (n, n+1 и т. д.). Обозначения, находящиеся во временном «окне», отражают содержание кадра HDLC (или некоторого подмножества протокола, например SDLC), передаваемого станциями А и В в конкретное время.
Весьма маловероятно, что две станции начнут передачу строго в один и тот же момент времени, но для упрощения объяснения мы будем придерживаться этого предположения. Например, временное окно станции А могло бы быть изображено более широким, чем окно станции В, что означало бы, что станцией А передается более длинный кадр, но неравные окна неоправданно усложнили бы и без того сложную тему. Если читатель согласится с этой небольшой аномалией, принципы, которые поясняются на рисунках, остаются в силе. Кроме того, иллюстрации полнодуплексного метода показывают некоторые временные окна, относящиеся к каналу, который находится в состоянии покоя. Это может иметь место или нет в зависимости от того, как загружены станции.
Время | |||||||||
n | n+1 | n+2 | n+3 | n+4 | n+5 | n+6 | n+7 | n+8 | |
Станция А передает | B,SABM,P | B,I S=0,R=0 | B,I,P S=1,R=0 | A,RR,F R=2 | |||||
Станция В передает | B,UA,F | B,RR,F R=2 | A,I S=0,R=2 | A,I,P S=1,R=2 | B,RR,F R=2 |
Рис. 8. Асинхронный сбалансированный режим с полудуплексным потоком данных (с испольозованием P/F для реализации “контрольной точки”)
Время | |||||||||
n | n+1 | n+2 | n+3 | n+4 | n+5 | n+6 | n+7 | n+8 | |
Станция А передает | B,I S=0,R=0 | B,I,P S=1,R=1 | B,I S=2,R=3 | B,RR,P R=4 | B,I S=3,R=5 | B,RR,P R=6 | |||
Станция В передает | A,I S=0,R=0 | A,I S=1,R=1 | B,RR,F R=2 | A,I S=2,R=2 | A,I S=3,R=2 | A,I S=4,R=3 | B,RR,F R=3 | A,I S=5,R=3 | A,RR,P R=4 |
Рис. 9. Асинхронный сбалансированный режим с полнодуплексным потоком данных (P не останавливает потока данных)
Предполагается, что в предыдущих кадрах был установлен асинхронный ссбалансированный режим.
Время | |||||||||
n | n+1 | n+2 | n+3 | n+4 | n+5 | n+6 | n+7 | n+8 | |
Станция А передает | R,I S=6,R=4 | B,I S=7,R=4 (ошибка) | B,I S=0,R=4 | B,I,P S=1,R=4 | B,I S=7,R=4 | B,I S=0,R=4 | B,I,P S=1,R=4 | ||
Станция В передает | B,RR,,F R=7 | B,RR,F R=2 |
Рис. 10. Восстановление по методу Возвращение-на-N (контрольная точка).
Рисунок иллюстрирует продолжающийся сеанс; P и F используются для реализации восстановления.
Время | |||||||
n | n+1 | n+2 | n+3 | n+4 | n+5 | n+6 | |
Станция А передает | B,I S=6,R=4 | B,I S=7,R=4 (ошибка) | B,I S=0,R=4 | B,I S=7,R=4 | B,I S=0,R=4 | B,I,P S=1,R=4 | |
Станция В передает | B,REJ,F R=7 | B,RR,F R=7 |
Рис. 11. Исправление ошибок с использованием метода Возврещение-на-N (REJ)
Рисунок иллюстрирует продолжающийся сеанс.
Время | ||||||
n | n+1 | n+2 | n+3 | n+4 | n+5 | |
Станция А передает | B,I S=6,R=4 | B,I S=7,R=4 (ошибка) | B,I S=0,R=4 | B,I S=7,R=4 | B,I,P S=1,R=4 | |
Станция В передает | B,SREJ,F R=7 | B,RR,F R=7 |
Рис. 12. Исправление ошибок по методу выборочный неприкм (SREJ)
Рисунок иллюстрирует продолжающийся сеанс.
Смысл обозначений такой:
A, В — Адрес станции в заголовке кадра. I — Информационный кадр. S = x—Порядковый номер посылки x. R = x—Порядковый номер приема х. RR, SNRM, SABM, REJ, SREJ—Команды и ответы. P/F—Бит опроса/окончания установлен в 1.
Напомним, что порядковый номер приема означает включающее подтверждение всего переданного и принятого трафика. Номер в этом ноле в действительности представляет собой величину, на 1 большую номера последнего подтвержденного кадра. Например, R=4 означает, что подтверждены кадры 0, 1, 2 и 3 и что приемник ожидает, что следующий кадр будет иметь 4 в поле порядкового номера посылки передающей станции. По ходу описания процесса мы будем обсуждать бит P/F там, где это необходимо.
Все рисунки сопровождаются кратким описанием событий в каждый период времени. Читатель может заметить, что в иллюстрациях в качестве адреса станции используется либо А, либо В. Как отмечалось ранее, правилами протокола HDLC определено, какой адрес (передающей или принимающей станции) помещается в поле адреса: команды используют адрес принимающего одноуровневого логического объекта уровня звена данных, а ответы используют адрес передающего объекта уровня звена данных. Таким образом, в случае станции с адресом А, если принятый кадр содержит А, это команда; если принятый кадр содержит В, это ответ. (См. рис. 4.3, б, на котором представлены эти правила.)
За исключением рис 4.12, соглашения относительно адресации, принятые в иллюстрациях, соответствуют подмножеству HDLC—LAPB (сбалансированной процедуре доступа к звену). Этот широко используемый протокол требует, чтобы все информационные (I) кадры были командными кадрами. Вследствие этого они содержат адрес приемника. Хотя все эти примеры недопустимы в LAPB, для наглядности иллюстраций используется некоторая непротиворечивая схема адресации. Более подробно LAPB рассматривается позднее.
Ниже перечислены моменты времени и события для процесса, представленного на рис.8:
n Станция А передает команду Установить асинхронный сбалансированный режим (SABM) с установленным битом Р.
n+1 Станция В отвечает Ненумерованным подтверждением (UA) с установленным битом F.
n+2,3 Станция А посылает информационные кадры 0 и 1, устанавливает бит Р.
n+4, 5, 6 Станция В подтверждает передачу станции А, посылая 2 в поле порядкового номера приема. Станция В, кроме того, передает информационные кадры 0 и 1.
n+7 Станция А подтверждает кадры 0 и 1 станции В, порядковый номер 2 в поле приема.
n+8 Станция В также подтверждает последний переданный А кадр с номером 2 и объявляет, что ему нечего передавать. Отметим, что поле приема станции В сохраняло значение 2.
Ниже приведены моменты времени и события для процесса, представленного на рис. 9:
n Обе станции, А и В, передают информационный кадр с порядковым номером посылки 0.
n+1 Станции А и В посылают подтверждения приема кадров с номером 0, используя порядковые номера приема, равные 1. Они также передают информационные кадры с порядковыми номерами посылки, равными 1. Станция А посылает разрешение на ответ (response solicitation), устанавливая в бит Р (т.е. "1" в 5 разряде).
n+2,3 Станция В выдает команду Готов к приему (RR), чтобы подтвердить кадр с номером 1 станции А, используя порядковый номер приема 2. Она также устанавливает свой бит в ответ на предыдущий бит Р, но в режиме АВМ может продолжать передачу. Станция В передает также информационный кадр 2.
n+4 Станция А посылает информационный кадр 2 и подтверждает кадры 1 и 2 станции В, используя порядковый номер приема 3. Станция В посылает информационный кадр 3.
n+5 Станции А посылать нечего, но она подтверждает кадр c номером 3 станции В, используя порядковый номер приема Станция В подтверждает кадр с номером 2 станции А, используя порядковый номер приема 3, и передает кадр 4. Станция А разрешает посылку ответа, устанавливая в 1 бит Р.
n+6 Станция В отвечает на предыдущий бит Р установкой бита F в 1.
n+7 Станция А передает кадр 3 и подтверждает кадр 4 станции В, используя порядковый номер приема 5. Станция В передает информационный кадр 5.
n+8 Ни у одной станции нет данных для передачи. Станция А посылает Готов к приему (RR), чтобы индицировать прием кадра 5. Станция В подтверждает кадр 3 станции А, используя порядковый номер приема 4.
Рис. 10, 11 и 12 являются примерами того, как в протоколе HDLC обрабатываются ошибки передачи. На рис. 10 показано использование поля порядкового номера приема для отрицательного подтверждения (NAK) кадра (что, как мы увидим, может представить определенные проблемы). На рис. 11
показано использование Неприема (REJ), а рис. 12 иллюстрирует использование Выборочного неприема (SREJ). Здесь рассматривается момент n продолжающегося сеанса, когда станция А передает кадр с номером 6.
Ниже приведены моменты времени и события для процесса, показанного на рис. 10 (не поддерживаемого протоколом LAPB):
n, n+1, 2, 3 Станция А посылает информационные кадры 6,7,0 и 1. Отметим, что, поскольку 7 является наибольшим допустимым порядковым номером, после 7 следует 0. Во время этого периода станция В обнаруживает ошибку в кадре 7. В n+3 станция А посылает бит опроса, который производит такое же действие, как и контрольная точка, т. е. разрешает ответ от станции В.
n+4 Станция В возвращается в Готов к приему (RR) с номером посылки 7 и битом окончания F. Это означает, что станция В снова ожидает приема кадра 7 (и всех кадров, переданных после 7).
n+5, 6, 7 Станция А повторно передает кадры 7, 0 и 1 и
устанавливает бит Р в качестве контрольной точки.
n+8 Станция В подтверждает кадры 7,0 и 1 командой Готов к приему (RR) и порядковым номером приема 2 а также устанавливает бит F.
Исключительное использование поля порядкового номера приема N(Пр) для отрицательного подтверждения кадра не рекомендуется для полнодуплексной передачи. Так как кадры передаются по каналу в обоих направлениях, порядковые номера посылки и приема часто перекрываются. Например, предположим, что кадр 4 станции А [N(Пос)=4] передается примерно в то же время, что и кадр станции В, который содержит N(Пр)=4. Станция А может ошибочно заключить, что ее кадр 4 является недействительным, в то время как станция В просто указывает, что следующим она ожидает кадр 4.
Более эффективный подход к исправлению ошибок состоит в том, чтобы указать ошибочный кадр явно. Рис. 10 и 11 иллюстрируют два метода реализации явных отрицательных подтверждений NAK. Ниже приведены моменты времени и события для процесса, который поясняется рисунком 11
n, n+1, 2 Станция А посылает информационные кадры 6, 7 и 0. Станция В обнаруживает ошибку в кадре 7 и немедленно посылает кадр Неприем с порядковым номером приема 7. Станция В не ожидает санкции на реализацию контрольной точки, но посылает в качестве ответа REJ (Неприем) с установленным битом 1. Если бы станция В послала REJ в качестве команды (то есть с адресным полем, содержащимся в А), станция А потребовала бы ответить кадрами RR, RNR или REJ. Однако, поскольку REJ — это ответ, станция А немедленно осуществит повторную передачу искаженного кадра.
n+3, 4, 5 Станция А повторно передает кадры 7 и 0 и устанавливает бит Р в момент времени 5.
n+6 Станция В подтверждает кадры 7, 0 и 1, используя Готов к приему и порядковый номер приема, равный 2. Отметим: для полнодуплексных систем бит P/F обычно не используется для остановки потока данных, поскольку это снижает пропускную способность.
Ниже приведены моменты времени и события для процесса, который представлен на рис. 12 (не поддерживаемого протоколом LAPB):
n,n+1,2 Станция А передает информационные кадры 6, 7 и 0. Станция В обнаруживает ошибку в кадре 7 и передает Выборочный неприем с порядковым номером 7. Станция В не требует RR, RNR или REJ, так как кадр в n+2 не является командой.
n+3, 4 Станция А повторно передает только кадр 7 и впервые передает кадр 1. Поскольку это Выборочный неприем, кадр 0 не передается повторно.
n+5 Станция В подтверждает все остальные кадры с Готов к приему и порядковым номером приема 2.
ПОДМНОЖЕСТВА HDLC
Принятие базового множества (superset) протокола HDLC заложило прочную основу для реализации подмножеств протокола HDLC. Некоторые подмножества используются в настоящее время в промышленности. Эти подмножества показаны на дереве классификации сетей на рис. 1.
Структура базового множества HDLC дает возможность
бит-ориентированным протоколам распознавать и использовать в разнообразных приложениях одни и те же процедуры. Приложения требуют для выполнения своих функций различных режимов работы и различных подмножеств команд и ответов. Например, требования, выдвигаемые многоточечными интерактивными приложениями, отличаются от требований двухточечных неинтерактивных систем.
Будем считать, что ООД соответствует некоторому классу HDLC, если это оборудование реализует все команды и ответы, определенные для этого класса. Как указывалось ранее, тремя основными классами HDLC являются:
• класс UN (несбалансированный режим нормального ответа) ;
• класс UA (несбалансированный режим асинхронного ответа);
• класс ВА (сбалансированный асинхронный режим).
HDLC предусматривает множество факультативных расширений основных классов. Эти расширения используются фирмами-поставщиками и пользователями HDLC для обеспечения большего разнообразия в структуре базового подмножества, Напомним, что опции и базовое множество HDLC показаны на рис. 7. Классы подмножеств обозначены сокращениями, такими, как UN, UA или BA плюс факультативные расширения протокола HDLC, обозначаемые конкретным номером опции. Например, протокол, обозначенный ВА-4, является сбалансированным асинхронным протоколом, предназначенным для передачи ненумерованной информации (UI). Имея в виду эту классификационную схему, рассмотрим некоторые из основных подмножеств стандарта HDLC.
LAP (Процедура доступа к звену} является одним из наиболее ранних подмножеств HDLC. LAP основывается на команде SARM — Установить режим асинхронного ответа — в несбалансированной конфигурации. Реализация звена с LAP является несколько неуклюжей, так как требуется, чтобы прежде чем будет установлено звено, обе станции посылали SARM и UA. Она отличается от реализации широко используемой процедуры LAPB, которую мы сейчас рассмотрим.
LAPB (Сбалансированная процедура доступа к звену) используется во всем мире несколькими частными вычислительными сетями и сетями общего пользования. LAPB—это некоторое подмножество репертуара команд/ответов HDLC. LAPB классифицируется как подмножество ВА-2,8 HDLC. Это означает, что кроме использования асинхронного сбалансированного режима этот протокол использует также два функциональных расширения: опции 2 и 8. Опция 2 делает возможным одновременный неприем кадров в режиме двунаправленной передачи (см. рис. 11). Опция 8 не допускает передачу полезной информации в кадрах ответа. Это ке представляет какой-либо проблемы, так как в асинхронном сбалансированном режиме информация может передаваться в командных кадрах, и поскольку обе физические станции являются логическими первичными станциями, обе могут передавать команды.
SDLC
SDLC (Синхронное управление звеном данных) является версией базового множества HDLC, разработанной компанией IBM. SDLC использует несбалансированный режим нормального ответа. Кроме того, этот протокол использует несколько опций базового множества. Он может быть классифицирован как UN — 1, 2, 4, 5, 6 и 12. Однако при обсуждении SDLC понятие «базовое множество» становится несколько размытым, поскольку SDLC использует несколько команд, которых нет в изделиях, основанных на HDLC, или стандартах, посвященных HDLC. Эти команды и ответы обеспечивают возможность установления кольцевой топологии и выполнения кольцевых операций опроса. Следовательно, SDLC обеспечивает поддержку
двухточечных, многоточечных или кольцевых конфигураций. Последняя из упомянутых топологий использует методы группового опроса.
Учитывая ведущее положение компании IBM в промышленности, мы рассмотрим, что есть общего и чем отличается SDLC от базовой структуры HDLC. (Обратите внимание на то, что IBM имеет несколько изделий, которые специально проектировались для работы с системами HDLC.) Кроме того, мы рассмотрим пример функции протокола HDLC, используемых IBM, для того, чтобы показать другой режим работы. Конкретные различия между SDLC и HDLC таковы:
• HDLC обеспечивает опцию для расширения 8-битового адресного поля с помощью байтов расширения. Целью является адресация большего количества терминалов или групп терминалов и устройств ЭВМ. Реализации SDLC предусматривают только однобайтовое адресное поле.
• HDLC допускает также расширение управляющего поля. В соответствии с опцией расширенного формата в системах HDLC управляющее поле может быть расширено до 16 бит. Это позволяет расширять поле порядковых номеров N (Пр) и N (Пос). IBM поддерживает только базовый 8-битовый формат. Это становится важным фактором при использовании спутниковых каналов.
• SDLC-реализацни ограничивают информационное поле целым четным числом байтов, У HDLC нет такого ограничения.
• Как отмечалось ранее, в протоколе SDLC компании IBM предусмотрены некоторые дополнительные команды и ответы для операций, выполняемых в цикле.
На рис. 13 показан пример процесса передачи данных в соответствии с протоколом SDLC. Станция А является первичной станцией, управляющей станциями В и С. Отметим, что режим нормального ответа при полнодуплексной передаче допускает, чтобы первичная станция передавала кадры одной вторичной станции и принимала в то же время кадры от другой станции. На рис. 13 предполагается, что режим станции С уже установлен и станция участвует в передаче данных. В режиме нормального ответа адресное поле кадра всегда содержит адрес вторичной станции.
Ниже приведены моменты времени и события для процесса, представленного на рис. 13:
n, n+1, 2, 3, 4, 5 Станция А сначала опрашивает состояние (status) В. В отвечает запросом режима инициализации. Станция А устанавливает В и режим инициализации, а затем в режим нормального ответа. В подтверждает оба режима.
n+6 Станция А использует команду Готов к приему для опроса станции С путем установки бита опроса Р.
n+7,8 Станция А посылает кадры 0 и 1 станции В, в то время как станция С отвечает на предыдущий опрос и посылает кадры 0 и 1 станции А по другому каналу полнодуплексной цепи.
n+9 Станция С посылает информационный кадр 2 и устанавливает бит окончания F.
n+10 Станция А опрашивает В для реализации контрольной точки (подтверждение).
n+11 Станция В отвечает, подтверждая кадры 0 и 1 станции А, используя порядковый номер приема 2. Станция В также посылает информационный кадр 0.
n+12 Станция А подтверждает кадры 0, 1 и 2 станции С с помощью Готов к приему (RR) и порядкового номера приема.
Время | |||||||||
n | n+1 | n+2 | n+3 | n+4 | n+5 | n+6 | n+7 | n+8 | |
Станция А передает | B,RR,P | B,SIM,P | B,SNRM,P | C,RR,P R=0 | B,I S=0,R=0 | B,I S=1,R=0 | |||
Станция В передает | B,RIM,F | B,UA,F | B,UA,F | ||||||
Станция C передает | C,I S=0,R=0 | C,I S=1,R=0 |
Время | ||||||
n+9 | n+10 | n+11 | n+12 | n+13 | ||
Станция А передает | B,RR,P R=0 | C,RR,P R=3 | B,RR,P R=2 | |||
Станция В передает | B,I S=0,R=2 | B,I,F S=1,R=2 | ||||
Станция C передает | C,I,F S=2,R=0 | |||||
Рис. 13. SDLC в полнодуплексной многоточечной системе передачи данных.
Здесь предполагается, что В – в режиме разъединения, а С – в режиме нормального ответа.
Дата добавления: 2020-08-31; просмотров: 230;