Цель системы приоритетов — предоставить полосу пропускания сети для передачи кадров более высокого приоритета и передавать кадры более низкого приоритета только при наличии достаточной полосы пропускания. Полоса сети распределяется путем синхронизации процесса циркуляции маркера по логическому кольцу. Каждому классу доступа назначается «желаемое» время оборота маркера. Для каждого класса доступа станция измеряет время, которое затрачивает ее маркер на циркуляцию по логическому кольцу. Если маркер возвращается на станцию за время, меньшее, чем желаемое время оборота маркера, станция может передавать кадры данного класса доступа до тех пор, пока не истечет это время. Если же маркер возвращается после истечения желаемого времени оборота маркера, станция не может передавать кадры данного приоритета при таком времени передачи маркера.
Каждая станция, использующая факультативный метод назначения приоритетов, должна иметь три таймера оборота маркера для трех низших классов доступа. Для каждого класса доступа имеется очередь кадров, подлежащих передаче. Когда станция принимает маркер, она сначала обслуживает очередь самого высокого класса доступа, для управления которой используется время_удержанйя_імаркера_высш_пр. После передачи всех кадров высшего приоритета станция приступает к обслуживанию таймеров оборота маркера и очередей, переходя от более высоких к более низким классам доступа.
Каждый класс-доступа действует как виртуальная подстанция в том смысле, что право на передачу передается внутри нее, проходя вниз от наивысшего класса-доступа через все другие клас- сы_доступа прежде, чем произойдет переход к преемнику станции.
Алгоритм обслуживания классов доступа состоит в загрузке остаточного значения тай'м-аута оборота маркера в таймер удержания маркера и перезагрузке того же таймера оборота маркера желаемым временем-оборота для данного класса доступа. (Таким образом, переданные станцией кадры заданного класса доступа учитываются при подсчете времени оборота следующего маркера этого класса доступа). Если тайм-аут удержания маркера имеет остаточное положительное значение, то станция может передавать кадры данного класса доступа до тех пор, пока либо не истечет тайм-аут удержания маркера, либо очередь для данного класса доступа не станет пустой. При наступлении любого из этих событий станция приступает к обслуживанию следующего нижнего класса доступа. После обслуживания самого нижнего класса станция выполняет любое необходимое обслуживание логического кольца и передает маркер своему преемнику.
Пример использования таймера оборота маркера. В следующем примере описана упрощенная система, оперирующая только двумя действующими классами доступа: высшего и одного из низких уровней. Предположим, что в логическом кольце имеются четыре станции с адресами 10, 8, 6 и 2. Предположим далее, что каждая из станций 10 и 2 за каждый оборот маркера передает кадры высокого приоритета; тогда как станции 8 и 6 передают как можно более кадров низкого приоритета. (В данном примере предполагается, что задержка распространения- сигналов незначительна по сравнению с временем передачи кадров данных).
В данном примере выполнение алгоритма начинается после периода отсутствия передачи каких-либо кадров данных, поэтому маркер обращается быстро, как только возможно. На черт. 5.2 каждая станция представлена прямоугольником, в котором указан адрес станции и желаемое значение времени оборота маркера для активной очереди кадров станции. Значения, приведенные в левой колонке для каждой станции и обозначаемые временем оборота маркера в предыдущем цикле (ВОМП), указывают «времена» оборота маркера, наблюдаемые на этой станции при предыдущем обороте маркера. Значения в правой колонке, обозначаемые число кадров, переданных за период владения маркером (ЧКПД), указывают число «кадров», переданных станцией за каждый период владения маркером. Каждая строка в этой таблице представляет один оборот маркера. В данном примере предполагается, что станция 10 имеет три высокоприоритетных кадра по 128 октетов каждый, станции 8 и 6 — только кадры низкого приоритета по 400 и 365 октетов, соответственно, а станция 2 имеет два высокоприоритетных кадра по 305 октетов. «Время» оборота маркера дано в октетных-интервалах в предположении, что на передачу маркера каждая станция затрачивает 19 октетных-интервалов.
Из примера видно, что при первом обороте маркера измеренное станцией 10 действительное время оборота маркера равно 76 (4 * 19) и ею передано три кадра данных высокого приоритета. Таким образом, измеренное станцией 8 фактическое «время» оборота маркера равно 460 (3 * 128+76) при оставшихся 1140 единицах «времени» для передачи данных до передачи маркера на станцию 6. Измеренное станцией 5 фактическое время оборота .маркера равно 1660 (поскольку с момента, когда она последней приняла маркер, она передала 1660 октетов данных). Станция 6 не может передавать данные низкого приоритета и должна немедленно отдать маркер. (Если бы станция 8 имела меньше данных для передачи, она могла бы более быстро передать маркер станции 6, позволив последней передавать в этом цикле оборота маркера). Станция 2 передает два кадра высокоприоритетных данных без ограничений со стороны низкоприоритетного тайм-аута оборота маркера.
Пример времен обращения маркера при приоритетной передаче данных
ФИЗИЧЕСКАЯ СРЕДА
Обращение маркера 1 |
ВОМП |
чкпд |
ВОМП |
чкпд |
ВОМП |
чкпд |
ВОМП |
чкпд |
76 |
3 |
460 |
3 |
1660 |
0 |
1660 |
2 |
|
2 |
2270 |
3 |
2270 |
0 |
1070 |
2 |
1782 |
2 |
3 |
1782 |
3 |
1782 |
0 |
1782 |
0 |
1070 |
2 |
4 |
1070 |
3 |
1070 |
2 |
1870 |
0 |
18170 |
2 |
5 |
1870 |
3 |
1870 |
0 |
1070 |
2 |
1782 |
21 |
6 |
1782 |
3 |
1782 |
0 |
1782 |
0 |
1070 |
2 |
7 |
1070 |
3 |
1070 |
2 |
1870 |
0 |
1870 |
2 |
8 |
1870 |
3 |
1870 |
0 |
1070 |
2 |
178-2 |
1 |
9 |
1477 |
3 |
1477 |
1 |
1877 |
0 |
1165 |
1 |
10 |
1165 |
3 |
1165 |
2 |
1565 |
1 |
192.1 |
1 |
11 |
1921 |
3 |
1921 |
0 |
1121 |
2 |
1477 |
1 |
12 |
1477 |
3 |
1477 |
1 |
1877 |
0 |
1.165 |
1 |
Черт. 5.2
При втором обороте маркера станция 8 не может передавать, но маркер успевает прибыть достаточно рано на станцию 6, чтобы она могла передать два низкоприоритетных кадра данных.
В приведенном примере при третьем обороте маркера каждая из станций 10 и 2 продолжает передавать высокоприоритетные кадры данных. Станции 8 и 6 не могут передавать свои низкоприоритетные данные из-за очень медленной циркуляции маркера по данному маршруту.
При четвертом и пятом оборотах маркера станции 10 и 2 продолжают использовать большую часть полосы пропускания сети для высокоприоритетных кадров. Станции 8 и 6 распределяют между собой оставшуюся часть полосы, передавая поочередно по два кадра за каждый оборот маркера.
При оборотах маркера с 5-го по 7-й повторно используют те же комбинации, что и при оборотах со 2-го по 4-й, показывая стабильную цикличность в распределении полосы пропускания: через ■каждые три оборота маркера станции 10 и 2 .используют 66;% полосы, а станции 6 и 8 равномерно распределяют оставшиеся 34 %. Если все станции выдают одинаковый трафик, то такое распределение продолжается неопределенно долго.
Начиная с восьмого оборота маркера, станция 2 передает только по одному кадру высокоприоритетных данных, обеспечивая станциям с более низкими приоритетами большую часть доступной полосы, Это установившееся снова стабильное циклическое использование комбинации можно видеть путем сравнения 9 и 12-го оборотов маркера. Такое использование комбинаций снова повторяется через три оборота. Станции 10 и 2 вместе используют 48 % полосы пропускания, а станции 6 и 8 распределяют оставшиеся 52 % полосы.
Этот пример показывает, как, используя тайм-аут оборота маркера, трафик низкого класса доступа может заполнять полосу пропускания, которая недоиспользуется трафиком более высокого класса доступа. Обратим внимание на то, каким образом полоса пропускания сети, недоиспользуемая станциями с трафиком более высокого класса доступа, распределяется более или менее равномерно среди станций с трафиком более низкого класса доступа. И хотя в примере каждая станция передает трафик только одного класса доступа, стандарт позволяет любой станции передавать трафик любого класса доступа.
Услуга УДС в режиме без установления соединения с подтверждением. Механизм запрос-с-ответом в сочетании с соответствующими функциями пользователя-УДС обеспечивает услуги УДС в режиме без установления соединения с подтверждением. Когда логический объект вышерасположенного уровня запрашивает передачу данных, используя услуги УДС в режиме без установления соединения с подтверждением, логический объект поль- зователя-УДС выдает логическому объекту УДС примитив УД- БЛОК-ДАННЫХ.запрос с параметром качество-услуг, определяющим запрос-с-ответом.
Когда локальный логический объект УДС получает маркер, он передает кадр запрос-с-ответом и ожидает поступления другого действительного кадра. Если тайм-аут истекает до получения действительного кадра, локальный логический объект УДС повторно передает исходный кадр. Эта последовательность действий повторяется до тех пор, пока либо не будет получен действительный кадр, либо пока не будет исчерпано допустимое число попыток.
Когда удаленный (отвечающий) логический объект-УДС получает кадр, определяющий запрос-с-ответом, он передает этот кадр логическому объекту удаленного пользователя-УДС. Этот логический объект вырабатывает соответствующий ответ и дает указание удаленному логическому объекту УДС сразу же передать этот кадр ответа отправителю кадра запрос-с-ответом (т. е. инициирующей станции).
Когда локальный (инициирующий) логический объект УДС получает кадр «ответ» или когда он 'использовал допустимое число попыток, он увязывает этот кадр (при его наличии) с обрабатываемым в данный момент кадром запрос-с-ответом, и сообщает инициирующему логическому объекту пользователя-УДС о выполнении его начального запроса.
Механизм повторения процедуры запрос-с-ответом, действуя под управлением параметра макс-число-попыток (см. п. 7.1.1), предотвращает потери кадров любой степени важности. Однако поскольку локальная станция при неполучении ответного кадра повторяет кадр запрос-с-ответом, возможно, что удаленная станция может получить дубликаты первоначального кадра запрос-с-отве- том. Удаленный логический объект пользователя-УДС должен исключать дублированные кадры.
Локальный (инициирующий) логический объект УДС в каждый момент времени может участвовать только в одном действии немедленного-хупвета. Все повторные попытки и тайм-ауты для этого запроса завершаются до того, как локальный логический объект-УДС обработает другой запрос или инициирует процедуры обслуживания-кольца/передачи-маркера.
Рандомизированные переменные. Некоторые переменные, используемые протоколом доступа к среде, имеют два бита «случайной значимости». Отдельные из этих рандомизированных переменных при определенных условиях используются для повышения вероятности восстановления ошибок. Рандомизация значения макс-счет-запросов побуждает станции работать «вне ритма» при открывании окон ответа.
Состояния конечного автомата управления доступом (УД—КА). Логика доступа к среде в станции представлена здесь в виде вычислительного автомата, который проходит последовательно через множество различных фаз, называемых состояниями. Эти состояния описаны в следующих подразделах. Сами состояния и переходы между ними представлены на черт. 5.3. (Пунктирные линии группируют состояния в функциональные области). В разд. 7 содержится полная таблица переходов состояний, которая обеспечивает формализованное описание автомата УД—КА шины с передачей маркера.
Автономное состояние. АВТОНОМНОЕ — это состояние, в которое УД—КА входит сразу после включения питания или после обнаружения подуровнем УДС некоторых ошибочных ситуаций. После включения питания станция выполняет самотестирование и проверку соединения с физической средой без передачи данных. Это «внутреннее» самотестирование зависит от реализации станции и не влияет на работу других станций сети. Таким образом, процедура самотестирования не входит в предмет рассмотрения настоящего стандарта.
После завершения любой из процедур включения питания станция остается в состоянии АВТОНОМНОЕ до тех пор, пока у нее не будут проинициированы все необходимые параметры и пока она не получит команду перейти в неавтономный режим.