Простой отказ от поддержки алгоритма доступа к разделяемой среде без какой- либо модификации протокола ведет к повышению вероятности потерь кадров коммутаторами, так как при этом теряется контроль за потоками кадров, направляемых конечными узлами в сеть. В полудуплексном режиме, свойственном технологиям с разделяемой средой, поток кадров регулировался самим методом доступа к разделяемой среде. При переходе на полнодуплексный режим узлу разрешается отправлять кадры в коммутатор всегда, когда это ему нужно, поэтому коммутаторы сети могут в этом режиме сталкиваться с перегрузками, не имея при этом никаких средств «притормаживания» потока кадров.
Причина перегрузок обычно кроется не в том, что коммутатор является блокирующим, то есть ему не хватает производительности процессоров для обслуживания потоков кадров, а в ограниченной пропускной способности отдельного выходного порта, которая определяется параметрами протокола.
Поэтому, если входной трафик неравномерно распределяется между выходными портами, легко представить ситуацию, когда в какой-либо выходной порт коммутатора будет направляться трафик с суммарной средней интенсивностью большей, чем протокольный максимум. На рис. 15.20 показана как раз такая ситуация, когда в порт 3 коммутатора Ethernet направляется от портов 1, 2, 4 и 6 поток кадров размером в 64 байт с суммарной интенсивностью в 22 100 кадров в секунду. Вспомним, что максимальная скорость в кадрах в секунду для сегмента Ethernet составляет 14 880. Естественно, что когда кадры поступают в буфер порта со скоростью 22 100 кадров в секунду, а уходят со скоростью 14 880 кадров в секунду, то внутренний буфер выходного порта начинает неуклонно заполняться необработанными кадрами.
|
|
Нетрудно подсчитать, что при размере буфера в 100 Кбайт в приведенном примере полное заполнение буфера произойдет через 0,22 с после начала работы в таком интенсивном режиме. Увеличение буфера до 1 Мбайт даст увеличение времени заполнения буфера до 2,2 с, что также неприемлемо. Проблему можно решить с помощью средств контроля перегрузки, которые были рассмотрены в главе 7.
Как мы знаем, существуют различные типы средств контроля перегрузки: управление очередями в коммутаторах, обратная связь, резервирование пропускной способности. На основе этих средств можно создать эффективную систему поддержки показателей QoS для трафика разных классов.
В этом разделе мы рассмотрим механизм обратной связи, который был стандартизован для сетей Ethernet в марте 1997 года как спецификация IEEE 802.3х. Механизм обратной связи 802.3х используется только в дуплексном режиме работы портов коммутатора. Этот механизм очень важен для коммутаторов локальных сетей, так как он позволяет уменьшить потери кадров из-за переполнения буферов независимо от того, обеспечивает сеть дифференцированную поддержку показателей QoS для разных типов трафика или же предоставляет базовый сервис по доставке с максимальными усилиями («по возможности»). Другие механизмы поддержания показателей QoS будут рассмотрены в следующей главе.
|
|
Спецификация 802.3х вводит новый подуровень в стеке протоколов Ethernet — подуровень управления уровня MAC. Он располагается над уровнем MAC и является необязательным (рис. 15.21).
Рис. 15.21. Подуровень управления уровня MAC |
Кадры этого подуровня могут использоваться в различных целях, но пока в стандартах Ethernet для них определена только одна задача — приостановка передачи кадров другими узлами на определенное время.
Кадр подуровня управления отличается от кадров пользовательских данных тем, что в поле дины/типа всегда содержится шестнадцатериччое значение 88-08. Формат кадра подуровня управления рассчитан на универсальное применение, поэтому он достаточно сложен (рис. 15.22).
6 байт 6 байт 2 байта 2 байта |
Адрес назначения
Адрес источника
Длина/Тип
Код операции подуровня управления
Байты внутри кадра следуют сверху вниз
Параметры подуровня управления |
(Минимальная длина кадра-160)/8 байт |
Зарезервировано (передаются нули) |
Младший бит |
I I | Старший бит
Бит 0
Биты внутри кадра следуют слева направо
Рис. 15.22. Формат кадра подуровни управления
КоЫауга*Ьр использует кадр подуровня управ пения в том случае, когда ему нужно на врем» фибсУановитъ гюотуп/^еиие кадровот соседнего узла* чтобы разгрузить свои внутренние'
В качестве адреса назначения можно использовать зарезервированное для этой цели значение группового адреса 01-80-С2-00-00-01. Это удобно в том случае, когда соседний узел также является коммутатором (так как порты коммутатора не имеют уникальных МАС-адресов). Если сосед — конечный узел, можно также использовать уникальный МАС-адрес.
В поле кода операции подуровня управления указывается шестнадцатеричный код 00-01, поскольку, как уже было отмечено, пока определена только одна операция подуровня управления, она называется PAUSE (пауза) и имеет шестнадцатеричный код 00-01.
Битв |
В поле параметров подуровня управления указывается время, на которое узел, получивший такой код, должен прекратить передачу кадров узлу, отправившему кадр с операцией PAUSE. Время измеряется в 512 битовых интервалах конкретной реализации Ethernet, диапазон возможных вариантов приостановки равен 0-65535.
Как видно из описания, этот механизм обратной связи относится к типу 2 в соответствии с классификацией, приведенной в главе 7. Специфика его состоит в том, что в нем предусмотрена только одна операция — приостановка на определенное время. Обычно же в механизмах этого типа используются две операции — приостановка и возобновление передачи кадров. Именно так этот механизм реализован в одном из наиболее старых протоколов сетей с коммутацией пакетов — протоколе сети Х.25 под названием LAP-B.