1 (1131253), страница 28
Текст из файла (страница 28)
Теперь предположим, что остановилась не только следующая станция, но и следующая за ней. В этом случае запускается новая процедура посылкой кадра SOLICIT_SUCCESSOR_2. В ней участвует процедура разрешения конфликтов. При этом все, кто хочет подключиться к кольцу, могут это сделать. Фактически кольцо переустанавливается.
Другой вид проблем возникает, когда останавливается держатель маркера и маркер исчезает из кольца. Эта проблема решается запуском процедуры инициализации кольца. У каждой станции есть таймер, который сбрасывается каждый раз, когда маркер появляется. Если значение этого таймера превысит некоторой заранее установленное значение, то станция генерирует кадр CLAIM_TOKEN. При этом запускается алгоритм обратного двоичного счетчика.
Если оказалось два и более маркера на шине, станция, владеющая маркером, увидев передачу маркера на шине, сбрасывает свой маркер. Так повторяется до тех пор, пока не останется ровно один маркер в системе.
Билет № 30.
Стандарты IEEE 802.х для локальных и муниципальных сетей: Стандарт IEEE 802.5 – кольцо с маркером (область применения, протокол МАС подуровня, логическая поддержка кольца). Стандарт IEEE 802.2: управление логическим каналом.
Сети с кольцевой топологией известны давно и используются широко. Среди их многочисленных достоинств есть одно особенно важное - это не среда с множественным доступом, а последовательность соединений точка-точка, образующих кольцо. Соединения точка-точка хорошо изучены, могут работать на разных физических средах: витая пара, коаксиал или оптоволокно. Способ передачи в основном цифровой, в то время как у 802.3 есть значительный аналоговый компонент. Кольцо также представляет справедливую среду с известной верхней границей доступа к каналу. В силу этих причин IBM выбрало кольцо как основу своего стандарта, а IEEE включило его как стандарт 802.5 - кольцо с маркером.
Важной проблемой при создании кольцевой сети является «физическая длина» бита. Пусть данные передаются со скоростью R Mбит/сек. Это значит, что через каждые 1/R мксек. на линии появляется бит. Учитывая, что сигнал распространяется со скоростью 200 м/мксек., то один бит занимает 200/R метров кольца. Отсюда, при скорости 1 Мбит/сек. и длине окружности 1 км кольцо вмещает не более 5 бит одновременно.
Как уже отмечалось, кольцо - это последовательность соединений точка - точка. Бит, поступая на интерфейс, копируется во внутренний буфер интерфейса и передается по кольцу дальше (см. рисунок 4-25). В буфере бит может быть проанализирован и, возможно, изменен. Эти операции вносят задержку на один бит в каждом интерфейсе.
Рисунок 4-25. Устройство кольца
Пока станциям нечего передавать, в кольце циркулирует маркер - особая последовательность бит. Если станции нужно передать данные, она должна захватить маркер и удалить его из кольца. Это достигается изменением одного бита в 3-х байтном маркере, в результате чего маркер тут же превращается в заголовок обычного кадра. Поскольку в кольце может быть только один маркер, то только одна станция может передавать данные. Так в сети «кольцо с маркером» решается вопрос доступа.
Как следствие конструкции кольца с маркером, сеть должна иметь достаточную протяженность, чтобы маркер мог уместиться в ней целиком, даже когда все станции находятся в ожидании. Задержки складываются из двух компонентов: 1 бит - задержка на интерфейсе станции и задержка на распространение сигнала. Учитывая, что станции могут выключаться, например, на ночь, следует, что на кольце должна быть искусственная задержка, если оно недостаточно длинное.
Интерфейс станций может работать в двух режимах: прослушивания и передачи. В режиме прослушивания он лишь копирует бит в свой буфер и передает этот бит дальше по кольцу. В режиме передачи, предварительно захватив маркер, интерфейс разрывает связь между входом и выходом и начинает передачу. Чтобы быть способным за однобитовую задержку переключиться из одного режима в другой, интерфейс должен предварительно забуферизовать данные для передачи.
По мере распространения передаваемых битов по кольцу они будут возвращаться к передающей станции. Она должна убирать их либо с линии, либо в буфер для последующего анализа с целью повышения надежности передачи, либо просто сбрасывая. Поскольку кадр целиком никогда не появляется на линии, то архитектура сети кольца с маркером не накладывает никаких ограничений на длину кадра. Как только станция закончила передачу и удалила последний переданный бит с линии, она должна сгенерировать маркер и переключиться в режим прослушивания.
В такой сети просто уведомлять о получении кадра. В каждом кадре есть бит уведомления. Станция-получатель устанавливает этот бит при получении кадра. Станция-отправитель при возвращении кадра анализирует этот бит и может определить, был ли этот кадр получен. Так же можно поступать и с проверкой контрольной суммы, главное, чтобы эта проверка могла быть выполнена за однобитовую задержку.
При малой загрузке станции в кольце сразу могут передавать свои сообщения. По мере роста загрузки у станций будут расти очереди на передачу и они в соответствии с кольцевым алгоритмом будут захватывать маркер и вести передачу. Постепенно загрузка кольца будет расти, пока не достигнет 100%.
Теперь обратимся непосредственно к стандарту IEEE 802.5. На физическом уровне он использует витую пару со скоростью 1 или 4 Mбит/сек., хотя IBM позднее ввела 16 Mбит/сек. Сигнал на линии кодируется с помощью дифференциального манчестерского кода, используя запрещенные комбинации low-low и high-high для управляющих байтов.
С кольцом связана одна серьезная проблема - если связь в кольце где-то нарушается, то вся конфигурация становится неработоспособной. Проблема решается с помощью так называемого кабельного центра. Это решение показано на рисунке 4-26. В случае, если какая-то станция выходит из строя, реле замыкается и станция исключается из кольца. Реле может управляться и программно, выводя временно станцию из кольца, например, для тестирования. Хотя стандарт 802.5 непосредственно не предписывает использование кабельного центра, на практике он часто используется с целью повышения надежности и удобства обслуживания сети.
Рисунок 4-26. 4 станции, соединенные через кабельный центр
Вместо станции к кабельному центру может присоединяться другой кабельный центр. Таким образом, кабельные центры могут объединяться в структуры, подобно тому как хабы соединяются в 802.3. Однако форматы и протоколы у них разные.
Кольцо с маркером: протокол МАС-подуровня.
Основные операции МАС-протокола довольно просты. При отсутствии данных по кольцу циркулирует 3-байтный маркер. Как только какой-то станции надо передать данные, она инвертирует специальный бит в маркере с 0 на 1, превращая маркер в стартовую последовательность байтов для передачи кадров и добавляя данные для передачи, как это показано на рисунке 4-27.
Рисунок 4-27. Устройство маркера и кадра передачи данных
В нормальных условиях станция-отправитель должна постоянно забирать с линии биты, которые возвращаются к ней, обойдя кольцо. Даже очень длинное кольцо вряд ли будет способно вместить короткий кадр. Поэтому ранее посланные биты начнут возвращаться прежде, чем станция закончит передавать кадр.
Станция может держать маркер не более 10 мсек., если при инсталляции не было установлено иного значения. Если после отправки кадра остается достаточно времени, то посылаются следующие. После того как посланы все кадры или истекло время владения маркером, станция обязана сгенерировать маркер и вернуть его на линию.
Байты Starting delimiter и Ending delimiter отмечают начало и конец кадра соответственно. Они содержат запрещенные в дифференциальных манчестерских кодах последовательности. Байт Access control содержит маркерный бит, Monitor bit, Priority bits, Reservations bits (они будут описаны позднее).
Поля Destination address и Source address такие же, как и в стандартах 802.3 и 802.4. За ними следует поле данных, которое может быть сколь угодно длинное, лишь бы его передача уместилась во время владения маркером. Поле контрольной суммы такое же, как и в 802.3 и 802.4.
Байт, которого нет ни в 802.3 ни в 802.4 - Frame status. В нем есть биты А и С. Когда кадр поступает к станции-получателю, ее интерфейс инвертирует бит А. Если кадр успешно скопирован, то инвертируется и бит С. Кадр может быть не скопирован в силу разных причин: задержки, отсутствия места в буфере и т.п.
Когда станция-получатель снимает ранее посланные биты с линии, она анализирует биты А и С. По их комбинации она может определить, успешно ли прошла передача. Возможны три комбинации значений этих битов:
-
А=0, С=0 - получатель отсутствует
-
А=1, С=0 - получатель есть, но кадр не принят
-
А=1, С=1 - получатель есть и кадр принят
Биты А и С обеспечивают автоматическое уведомление о получении кадра. Если кадр почему-то не был принят, то у станции есть несколько попыток передать его. Биты А и С дублируются в байте Frame status с целью повысить надежность, так как этот байт не подпадает под контрольную сумму.
Ending delimiter содержит специальный бит, который устанавливает интерфейс любой станции, если он обнаруживает ошибку. Там также есть бит, которым можно помечать последний кадр в логической последовательности кадров.
В 802.5 есть тщательно проработанная схема работы с приоритетами. В среднем байте 3-байтного маркера есть поле, отведенное для приоритета. Если станции надо передать кадр с приоритетом n, то ей придется ждать, пока появится маркер с приоритетом, меньшим или равным n. Кроме того, когда кадр с данными проходит по кольцу, станция может указать значение приоритета, который ей нужен. Для этого она записывает нужное значение в поле Reservation bits. Однако если в нем уже записан более высокий приоритет, станция не может этого делать. После завершения передачи кадра генерируется маркер с приоритетом, зарезервированном в этом кадре.
Описанный механизм приоритетов имеет один недостаток: приоритет все время растет. Поэтому 802.5 предусматривает довольно сложные правила понижения приоритета. Суть этих правил сводится к тому, что станция, установившая наивысший приоритет, обязана его понизить после передачи кадра.
Заметим, что работа с приоритетами в кольце с маркером и шине с маркером организована по-разному. В шине с маркером каждая станция получает свою долю пропускной способности канала. В кольце с маркером станция с низким приоритетом может ждать сколь угодно долго маркера с надлежащим приоритетом. Это различие отражает различие подходов двух стандартов: что важнее - высокоприоритетный трафик или равномерное обслуживание всех станций.
Поддержка кольца.
В стандарте 802.5 поддержка кольца организована иначе, чем это сделано в 802.4. Там был создан довольно длинный протокол для полностью децентрализованной поддержки. В 802.5 предусмотрено, что в кольце всегда есть станция-монитор, контролирующая кольцо. Если станция-монитор по какой-либо причине потеряет работоспособность, есть протокол выбора и объявления другой станции-монитора на кольце. Любая станция способна быть монитором.
При включении или если какая-то станция заметит отсутствие монитора, она посылает кадр CLAIM_TOKEN. Если она первая, кто послал такой кадр, то она и становится монитором. В таблице 4-28 показаны кадры для поддержки кольца.
Таблица 4-28. Кадры поддержки кольца
| Контрольное поле | Название | Значение кадра |
| 00000000 | Duplicate address test | Проверка, имеют ли 2 станции одинаковый адрес |
| 00000010 | Beacon | Локализация разрыва кольца |
| 00000011 | Claim token | Попытка стать монитором |
| 00000100 | Purge | Реинициализация кольца |
| 00000101 | Active monitor present | Периодически рассылается монитором |
| 00000101 | Standby monitor present | Заявление о наличии потенциальных мониторов |
Среди задач, которые должен решать монитор, есть следующие: слежение за наличием маркера, выполнение определенных действий, если нарушено, устранение грязи или беспризорных кадров. Такие кадры могут появиться, если станция начала передачу и не закончила по какой-либо причине. Монитор обнаруживает отсутствие маркера с помощью специального таймера, отмечающего время отсутствия маркера на кольце. Если значение этого таймера превысит некоторое значение, то считается, что маркер потерян, и монитор обязан принять надлежащие меры.
При появлении грязи, т.е. кадра с неверным форматом или контрольной суммой, монитор снимает его с линии и генерирует маркер. Беспризорные кадры монитор обнаруживает с помощью Monitor bit в байте Access control. Когда кадр проходит через монитор первый раз, монитор устанавливает этот бит в единицу. Поэтому, если очередной кадр пришел с единицей в этом бите, то этот кадр не был принят и монитор должен его удалить из кольца.
Важной функцией монитора является установка задержки на кольце, достаточной, чтобы в кольце уместился 24-битный маркер.















