На физическом уровне модели IEEE 802 специфицируются также и различные типы носителей, то есть среда передачи, что не входит в определение физического уровня эталонной модели OSI.
В спецификации IEEE 802 канальный уровень (DLC) разделяется на уровень управления логическим каналом (Logical Link Control, LLC) и уровень управления доступом к носителю (Media Access Control, MAC).
Двоичная экспоненциальная отсрочка.
После возникновения коллизии время разбивается на дискретные промежутки,
длительность каждого устанавливается равной 512 bt1. Назовём этот
промежуток интервалом отсрочки.
После первой коллизии станции ожидают 0 или 1 интервал отсрочки. После второй период ожидания длится 0, 1, 2 или 3 интервала отсрочки. Короче говоря, выбирается количество интервалов отсрочки из интервала [0, 2n .. 1], где n - номер попытки. После десятой попытки верхняя граница интервала фиксируется. После шестнадцатой попытки передатчик должен прекратить передачу и отбросить этот кадр.
Форматы кадров ETHERNET
В процессе развития Ethernet и стандарта IEEE 802.3 было предложено 4 формата кадров. В 1980 году консорциум трёх фирм DEC, Intel, Xerox представил на рассмотрение комитета 802.3 свою версию стандарта Ethernet (тип кадра Ethernet DIX), но комитет принял стандарт, отличающийся деталями (в том числе и форматом кадра) от предложения DIX (тип кадра 802.3/LLC). Novell, являющаяся в то время лидером сетевой индустрии в области персональных компьютеров, предложила свой формат кадра (Raw 802.3 или сырой кадр NetWare). Четвёртый вариант был предложен комитетом 802.2 для ликвидации недостатков формата кадра 802.3/LLC и приведение всех форматов кадров к общему знаменателю (тип кадра Ethernet SNAP).
Каждый кадр начинается с преамбулы (Preamble) Длиной 7 байт, заполненной шаблоном 010101010 (для синхронизации источника и получателя). После преамбулы идёт байт начального ограничителя кадра (Start of Frame Delimiter, SFD), содержащий последовательность 0b10101011 и указывающий на начало собственно кадра.
Далее идут поля адресов получателя (Destination Address, DA) и источника (Source Address, SA). В Ethernet используют 48-битные адреса MAC-уровня IEEE.
Следующее поле имеет разный смысл и разную длину в зависимости от типа кадра.
Далее идёт поле данных (Data). Если длина поля данных недостаточна для получения минимальной длины кадра, то вводится дополнительное поле заполнения (Padding), призванное обеспечить минимальную длину кадра.
В конце кадра идёт 32-битное поле контрольной суммы (Frame Check Sequence, FCS). Контрольная сумма вычисляется по алгоритму CRC-32.
Размер кадра Ethernet от 64 до 1518 байт (без учёта преамбулы, но с учётом поля контрольной суммы) (рис. 2).
Рис. 2. Формат кадра Ethernet
Рис.3. Формат кадров 802.4.
SD - (Start Delimiter) - стартовый байт-разделитель =**0**000, где * - символ, кодируемый неманчестерским кодом; FC - (Frame Control) поле управления кадром = FFxxxxxx, где FF - субполе формата кадра, а xxxxxx - биты типа кадра, SA и DA адреса отправителя и получателя, соответственно. FSC - (Frame Control Sequence) контрольная сумма (4 байта). ED - (End Delimiter) оконечный разграничитель =**1**11E (правый бит является 8-ым). MMM=000 - запрос, не требующий подтверждения; MMM=001 - запрос, требующий подтверждения, MMM=010 - отклик на запрос. PPP - биты приоритета (111 - высший приоритет, а 000 - низший). Значения кодов поля FC приведены в таблицe 1(цифрами обозначен порядок передачи разрядов).
Таблица 1. Коды поля FC
FF 12 |
xxxxxx 345678 |
Назначение |
00 | CCCCCC | Кадр управления доступом к сетевой среде |
01 | MMMPPP | Кадр управления логическим каналом |
01 | YYYYYY | Кадр управления станцией |
11 | ZZZZZZ | Зарезервировано на будущее |
Станции получают доступ к шине в результате соревновательной процедуры, называемой “окно откликов”. Окно откликов представляет собой временной интервал, равный по длительности одному системному такту, который в свою очередь равен времени распространения сигнала по шине. Это время отсчитывается от момента окончания передачи кадра управления. В течение этого времени станция-инициатор ожидает отклика от других станций. Любая станция сети, будучи владельцем маркера, может запустить этот процесс с помощью посылки кадра поиск следующей станции. Запросы на подключение осуществляются путем отправки пакета установка следующей станции, в поле данных которого записывается адрес станции, запрашивающей доступ к шине. Адрес следующей соседней станции меньше адреса станции-отправителя (маркер движется в направлении убывания адресов). Обычно посылается кадр с одним окном откликов. При этом запросы могут посылать станции с адресами не меньше, чем адрес ближайшего соседа. Если процесс инициализирован станцией с наименьшим номером, то посылается пакет с двумя окнами откликов, одно для станции с номером меньше, чем у предшественника, другое с адресом больше чем у предшественника. После этого станция ждет ответа в течение одного такта. Если ответа нет, маркер передается следующей станции. Если же получен один ответ, инициализируется подключение станции с помощью пакета установка следующей станции. При получении более одного отклика возникает конфликт, для разрешения которого посылается пакет разрешение конфликта с четырьмя окнами. Станции заносят свои запросы в окна в соответствии с первыми двумя битами своего адреса. Если попытка разрешить конфликт при этом не удалась, пакет отсылается повторно. В новой попытке участвуют только станции, участвовавшие в первом раунде, а для сравнения используются уже следующие два бита адреса. Процедура может завершиться подключением одной из станций или исчерпыванием числа попыток.
Станция может отключиться от сети в любое время, но это вызовет инициализацию системы и временное нарушение работы сети. Поэтому для отключения от сети станция должна дождаться получения маркера, после чего она шлет пакет типа установка следующей станции, в поле данных которого находится адрес ее преемника. Если держатель маркера получит пакет, показывающий наличие в сети еще одного владельца маркера, он уничтожает свой маркер и переходит в режим ожидания. Получив маркер, станция должна начать передачу данных или передать его следующей станции. После передачи маркера станция в течение одного цикла прослушивает сеть, чтобы убедиться в активности своего преемника. Если преемник не посылает ничего в течении секунды, станция повторяет передачу маркера. Если и это не помогает, то посылается пакет "кто следующий?" с адресом преемника в поле данных и тремя окнами откликов. Если станция обнаруживает в поле данных адрес своего предшественника, она посылает кадр типа установка следующей станции по адресу отправителя. В отсутствии кадра установка следующей станции станция посылает такой пакет самой себе с двумя окнами для выявления активных сетевых устройств.
При обнаружении потери маркера запускается процедура инициализации сети, при этом посылается пакет требование маркера. Станция, пославшая запрос, прослушивает шину и при обнаружении сетевой активности выбывает из соревнования (имеется станция с большим, чем у нее адресом). В сети определено 4 класса обслуживания (6, 4, 2, 0). Станция может передавать данные класса 6 в течение допустимого времени удержания маркера THT (для класса 6). При M станций в сети максимальное время ожидания будет равно THT*M. По завершении передачи данных класса 6 (или если они не передавались вовсе) можно передавать данные класса 4. Аналогично определено время обращения маркера для классов 4, 2 и 0.
Рис. 4.Топология сети Token Ring
Периферийные ЭВМ подключаются к блокам msau по схеме звезда, а сами MSAU соединены друг с другом по кольцевой схеме. Возможна реализация схемы звезда и иным способом, показанным на рис. 5. Здесь объединяющую функцию выполняет блок концентратора.
Рис. 5. Реализация Token Ring по схеме звезда
Концентратор может шунтировать каналы, ведущие к ЭВМ, с помощью специальных реле при ее отключении от питания. Аналогичную операцию может выполнить и блок msau. Управление сетью возлагаются на пять функциональных станций, определенных протоколом. Некоторые контрольные функции выполняются аппаратно, другие реализуются с помощью загружаемого программного обеспечения. Каждая из функциональных станций имеет свои логические (функциональные) адреса. Функциональные станции должны реагировать как на эти функциональные, так и на свои собственные аппаратные адреса. В сети используются кадры управления доступом к среде (УДС, код типа кадра = 00) и информационные кадры (код типа кадра =01). Имеется 25 разновидностей УДС-кадров(Управление доступом). Сюда входят кадры инициализации, управления средой, сообщения об ошибках и кадры управления рабочими станциями. Общий формат заголовка кадра Token Ring представлен на рис. 6. Размер поля данных, следующего за адресом отправителя, может иметь произвольную длину, в том числе и нулевую. В это поле может быть вложен пакет другого протокола, например, LLC.
Рис. 6. Формат информационного кадра для IEEE 802.5
В начале поля данных может размещаться LLC-заголовок, который содержит в себе 3-8 байт. Собственно этот заголовок, да поле управления кадром и отличают информационный кадр от кадра управления доступом (рис.7).
Рис. 7. Формат кадра управления доступом для IEEE 802.5 (цифрами обозначены размеры полей в байтах)
Вслед за адресом отправителя следует информация управления доступом к среде. Кадры управления доступом служат исключительно для целей управления сетью и не передаются через бриджи и маршрутизаторы. Управляющая информация включает в себя основной вектор и несколько субвекторов. Основной вектор задает тип УДС-кадра (или команду) и типы (или классы) станций отправителя и получателя, всего 4 байта. Субвекторы содержат информацию об адресе соседа-предшественника, номер физического отвода кабеля и пр.
В случае, когда передачу ведет узел В, узел С может решить, что начало передачи сообщения узлу D не возможно, так как в зоне С детектируется излучение станции В (проблема засвеченной станции). Таким образом, в радиосетях, прежде чем начать передачу данных надо знать, имеется ли радио активность в зоне приемника-адресата. В коротковолновых сетях возможна одновременная передача для нескольких адресатов, если они находятся в разных зонах приема.
Ранние протоколы беспроводных локальных сетей базировались на схеме MACA (Multiple Access with Collision Avoidance), разработанной Ф. Карном в 1990 году. Эта схема является основой стандарта IEEE 802.11. В этой схеме отправитель запрашивает получателя послать короткий кадр, будучи принят соседями, предотвратит их передачу на время последующей передачи сообщения адресату. На рис. 8 узел В посылает кадр RTS (Request To Send) узлу C. Этот кадр имеет всего 30 октетов и содержит поле длины последующего сообщения. Узел C откликается посылкой кадра CTS (Clear To Send), куда копируется код длины последующего обмена из кадра RTS. После этого узел В начинает передачу. Окружающие станции, например D или E, получив CTS, воздерживаются от начала передачи на время, достаточное для передачи сообщения оговоренной длины. Станция A находится в зоне действия станции B, но не станции C и по этой причине не получит кадр CTS. По этой причине станция A может начинать передачу, если хочет и не имеет других причин, препятствующих этому. Несмотря на все предосторожности коллизия может иметь место. Например, станции A и C могут одновременно послать кадры RTS станции B. Эти кадры будут неизбежно потеряны, после псевдослучайной выдержки эти станции могут совершить повторную попытку передачи (как в ETHERNET). Стандарт 802.11 не может использовать алгоритм доступа CSMA/CD, работающий в Ethernet.
В 1994 году схема MACA была усовершенствована и получила название MACAW. Было отмечено, что без подтверждения на канальном уровне потерянные кадры не будут переданы повторно, пока транспортный уровень много позднее не обнаружит их отсутствия. В усовершенствованной схеме требуется подтверждение получения любого информационного кадра, добавлен также механизм оповещения о перегрузке. Стандарт 802.11 поддерживает два режима работы: DCF (Distributed Coordination Function) и PCF (Point Coordination Function). Первый не имеет средств централизованного управления, второй - предполагает, что базовая станция берет на себя функцию управления локальной субсетью.
В протоколе 802.11 используется алгоритм доступа CSMA/CA (CSMA with Collision Avoidance). При этом производится прослушивание физического и виртуального каналов. CSMA/CA может работать в двух режимах. В первом - станция перед до начала передачи прослушивает канал. Если канал свободен, она начинает передачу данных. При передаче канал не прослушивается и станция передает кадр полностью. Если канал занят, отправитель ждет его освобождения и только после этого начинает передачу. В случае коллизии станции, участвующие в этом событии, смогут начать передачу через псевдостучайный интервал времени (как в Ethernet). Второй режим CSMA/CA базируется на протоколе MACAW и использует контроль виртуального канала, как это показано на рис. 9. В показанном на рисунке примере станция А намеревается передать данные станции В Станция С находится в зоне доступности стации А и, возможно, станции В. Станция D входит в зону доступности станции В, но пребывает в зне зоны досигаемости станции А.
Рис. 9. Прослушивание виртуального канала в протоколе CSMA/CA
Когда станция А решает, что ей необходимо передать данные станции В, она посылет ей кадр RTS, запрашивая разрешение на передачу. Если В может принимать данные, она пришлет отклик в виде кадра CTS. После приема CTS станция А запускает таймер ACK и начинает пересылку данных. При успешном приеме станция В формирует кадр ACK, который посылается А, свидетельствуя о завершении обмена. Если время таймоута ACK истечет раньше, алгоритм повторяется с самого начала. Станция С также принимает кадр RTS и поэтому знает, что по кканалу будут передаваться данные, и по этой причине следует воздержаться от попыток передачи. Из данных, содержащихся в RTS станция С знает, сколько времени будет продолжаться передача и пребывает в пассивном состоянии. Индикацией этого состояния является последовательность NAV (Network Allocation Vector).Станция D не слышит RTS, передаваемый А, зато воспринимает CTS, посланный станцией В, и также выдает NAV. Следует учитывать, что сигналы NAV не передаются, а являются kbim внутренними напоминаниями хранить радиомолчание. При фрагментировании каждый фрагмент имеет свою контрольную сумму и его получение подтверждается индивидуально. Посылка фрагмента k+1 невозможна пока не получено подтверждение получения фрагмента k. После получения доступа к каналу отправитель может послать несколько кадров подряд. Если фрагмент доставлен с искажением, он пересылается повторно.
Режимы PCF и DCF могут сосуществовать в пределах одной сотовой ячейки. Это достигается путем точного определения межкадрового интервала. Самый короткий интервал SIFS (Short Interframe Interval) используется для того, чтобы одна из сторон, ведущих диалог посредством кадров управления, могла получить возможность начать передачу первой. Всего регламентировано 4 разных типов межкадровых интервалов (SIFS, PIFS, DIFS и EIFS).
Помимо WLAN в настоящее время разработаны стандарты для беспроводных региональных сетей WMAN (Wireless Metropolitan-Area Networks, напимер WiMAX) и WWAN (Wireless Wide-Area Networks) со скоростями обмена в десятки килобит в сек.
В текущий момент насчитывается более полудюжины различных типов беспроводных сетей:
Рис. 10. Место стандарта IEEE 802.16 в системе радио коммуникаций
Стандарт 802.16 может решать задачи, которые возникают в каналах с асимметричным трафиком. Сейчас они часто решаются клиентами и сервис-провайдерами путем заказа выделенных линий. Внедрение нового стандарта позволит отказаться от выделенных каналов, обходясь во многих случаях исключительно беспроводными средствами.
Краткие характеристики:
Название стандарта | 802.16 | 802.16a | 802.16e |
Дата принятия | декабрь 2001 | январь 2003 | середина 2004 |
Частотный диапазон | 10-66 ГГц | 2-11 ГГц | 2-6 ГГц |
Быстродействие | 32-135 Мбит/с для 28МГц-канала |
до 75 Мбит/с для 28МГц-канала |
до 15 Мбит/с для 5МГц-канала |
Модуляция | QPSK, 16QAM, 64QAM | OFDM 256, QPSK, 16QAM, 64QAM | OFDM 256, QPSK, 16QAM, 64QAM |
Ширина канала | 20, 25 и 28 МГц | Регулируемая 1,5-20МГц |
Регулируемая 1,5-20МГц |
Радиус действия | 2-5 км | 7-10 км макс. радиус 50 км |
2-5 км |
Условия работы | Прямая видимость | Работа на отражениях | Работа на отражениях |
Стандарт 802.16е предназначен для мобильных систем. Безопасность в сети обеспечивается на уровне протокола 3-DES.
Рис.11.
Чтобы полностью использовать имеющиеся ресурсы на участке <1-2>, можно пропустить через канал еще 3/4 от того, что протекает между узлами 1 и 5. Чтобы максимально возможно использовать имеющиеся ресурсы, узлы должны взаимодействовать друг с другом. Таким образом, для обеспечения равенства доступа к ресурсам алгоритм должен дросселировать трафик на входе узлов.
В RPR также как и в Ethernet пакет удаляется в точке назначения, что позволяет использовать незадействованную часть кольца. RPR реализует алгоритм распределенного выравнивания возможностей для разных потоков. Протокол не использует алгоритм STP и по этой причине может работать с замкнутыми маршрутами без ограничений. Кольца RPR транспортируют пакеты по пути вдоль кольца с минимальным числом шагов. Если какой-то узел или двунаправленный участок кольца откажет, RPR формирует альтернативный маршрут за время не более 50 мсек. Например, если канал между узами 4 и 5 будет оборван, узлы 4 и 5 будут соединены по маршруту 4-3-2-1-10-9-8-7-6-5.
Наконец, в RPR можно определить несколько классов трафика, что крайне важно для мультимедийных приложений. Класс А реализует канальное соединение между узлами кольца с гарантированной полосой, задержкой доставки и дисперсией времени доставки (аналогично SONET, но без ограничений дискретных значений полосы - OC-3, OC-12 и т.д.). Класс В имеет гарантированную полосу, но допускает кратковременные возрастания трафика сверх согласованных значений за счет потоков, которые не имеют гарантии полосы. Класс С предлагает услуги типа "лучшее-что-возможно", при этом не гарантируются никакие параметры трафика.
Целью RPR является одновременное достижение равных возможностей для разных потоков и высокая эффективность использования имеющихся ресурсов. Достижение равных возможностей можно проследить на примере реализации алгоритма "parallel parking lot" на рис. 11. Региональный сервис-провайдер стремится предоставить равные возможности всем клиентам, вне зависимости оттого, к какому узлу они подключены. На рис. 11 это означает предоставление каждому из потоков 1/4 полосы пропускания узла 5. Требования высокой эффективности использования ресурсов предполагают возможность привлечения всех ресурсов, незадействованных для обеспечения равных возможностей для всех конкурирующих потоков. Примером использования имеющихся ресурсов является поток между узлами 1 и 2 на рис. 11, который использует до 75% пропускной способности этого канала. Если реализовать указанные цели, то любые два узла в кольце смогут обмениваться данными со скоростью, ограниченной уровнем насыщения (перегрузки) канала. Таким образом, целью алгоритма справедливого распределения ресурсов является дросселирование потоков во входных точках, чтобы обеспечить равенство доступа к ресурсам.
Это означает, что в случае, показанном на рис. 10, поток между узлами 1 и 5 должен быть дросселирован в точке 1 до уровня 0.25 от пропускной способности участка 4-5, оставляя доступной полосу на участке 1-2 на уровне 75%. Такое идеальное поведение может быть описано с помощью модели RIAS (Ring Ingress Aggregated with Spatial Reuse). Модель RIAS содержит в себе два ключевых компонента. Первый - определяет степень гранулярности трафика для определения справедливости распределения ресурсов. Модель RIAS гарантирует, что все узлы отправители получат равные доли полосы пропускания для каждого канала относительно долей других узлов отправителей. Второй компонент RIAS гарантирует максимальное использование ресурса сети при равном выделении полосы пропускания. Ресурс полосы может анонсироваться, если он не затребован или если не может быть использован из-за наличия узкого места где-то в другом узле или канале. Похожий (но несколько отличный от RPR) алгоритм распределения ресурсов реализован протоколом ТСР в сетях Интернет (уровень L4), здесь же это прелагается делать на уровне L2.
В случае класса А узлам запрещается анонсировать неиспользуемые ресурсы. Рассмотрим работу алгоритма для классов В (фиксированная полоса) и С ("лучшее-что-возможно"), в которых каждый узел анонсирует неиспользуемую полосу взвешенным образом. Архитектура RPR-узла показана на рис. 12. Весь трафик, входящий в кольцо, дросселируется контроллерами потоков. В случае алгоритма "parallel parking lot" поток <1-5> должен быть снижен до уровня 1/4. Контроллеры потоков работают с учетом гранулярности, определяемой адресатом. Трафик делится на две категории в зависимости оттого, проходит ли он через перегруженный учаcток. Протокол RPR поддерживает обслуживание выходных очередей, как это делается в обычных переключателях.
Рис.12.
Узлы RPR имеют модули измерения (счетчики байт), которые контролируют информационный поток станции и транзитные потоки. Результаты этих измерений используются алгоритмом справедливого распределения ресурсов полосы пропускания (fairness algorithm) для вычисления параметров управляющего сигнала, направляемого вышестоящим узлам для дросселирования их потоков. Узлы, которые получают такие сообщения, используют полученные данные совместно с локальной информацией для управления контроллерами входных потоков.
Узел, кроме того, содержит планировщик, который осуществляет арбитраж для внутренних и транзитных потоков. В режиме одной очереди для транзитного потока имеется один буфер типа FIFO, эта очередь называется PTQ (primary transit queue). В этом случае планировщик предоставляет абсолютный приоритет транзитному трафику по отношению к локальному. В режиме двойной очереди (dual-queue mode) имеется две транзитные очереди, одна для класса А (PTQ) и одна для класса В и С - STQ (secondary transit queue). В этом режиме планировщик всегда обслуживает в первую очередь трафик класса А. Трафик класса А самой станции будет обслужен сразу после PTQ, если STQ не заполнена. В противном случае планировщик обслуживает сначала трафик STQ, гарантируя отсутствие потерь. При прочих равных условиях планировщик использует карусельный принцип обслуживания очереди STQ для транзитного трафика и трафика станции классов В и С до тех пор, пока не будет достигнут порог для STQ. Когда достигается порог буфера STQ, транзитный трафик STQ получает преимущество по отношению к трафику станции.
В обоих случаях определяющим является стремление к простоте оборудования (исключение дорогостоящих решений с индивидуальными очередями для каждого потока или каждого входа) и подавлению потерь. Пакет, вошедший в кольцо не должен быть потерян в последующих узлах.