Коммутация - выигрыш в скорости Всегда? Почти всегда!
Производительность сети, построенной на коммутаторе, обычно в несколько раз превышает производительность аналогичной сети, построенной с использованием концентратора.
Этот эффект является следствием нескольких факторов:
- Передачей кадров только на тот сегмент (микросегменты, если к ним подключен один конечный узел), на котором этот кадр действительно нужен. Точно также работали локальные мосты, но они не обладали следующим свойством.
- Параллельная передача кадров между входными и выходными портами, неблокирующий характер всех обрабатывающих узлов коммутатора - процессора порта, коммутирующей матрицы, внутренней межмодульной шины и т.п. Параллельная передача кадров совмещает во времени все этапы по передаче кадра от входного порта - помещение его во внутренний буфер, просмотр адресной таблицы, перенос кадра в выходной буфер выходного порта - и поэтому позволяет потенциально ускорить пропускную способность участка сети в N/2 раз по сравнению с применением концентратора, где N - число портов, работающих в классическом полудуплексном режиме. Если порты работают в полнодуплексном режиме, то ускорение может составить N раз (рис.2.5). Неблокирующий характер означает, что все узлы коммутатора могут обработать поток кадров, поступающий на входные порты с максимальной для протокола скоростью.
- Конвейерный способ передачи кадра между входным и выходным портами, когда кадр начинает передаваться на выходной порт сразу же после прихода нескольких первых байт с адресом назначения. Этот фактор не так значим, как параллельная обработка кадров, поступающих на несколько портов.
Рис. 2.5. Ускорение процесса обмена данными при использовании коммутаторов
Однако, существуют ситуации, когда применение коммутатора не приводит к заметному повышению производительности работы сегмента. Это в первую очередь следующие случаи:
- Весь трафик или его большая часть предназначен для одного выходного порта. Типичный пример такой ситуации приведен на рисунке 2.6, он соответствует сети с одним выделенным сервером, который особенно часто наблюдается при использовании ОС NovellNetWare.
Коммутатору нечего распараллеливать. Максимальный эффект в этом случае может быть достигнут при использовании полнодуплексных связей, но все равно ускорение будет далеко от N - всего в 2 раза. Для GigabitEthernet с полнодуплексным повторителем эффект вообще будет близок к нулевому. Отсюда видно, что эффект применения коммутаторов зависит от распределения трафика между узлами сети - чем больше распределение близко к равновероятному, тем больше коммутаторы повышают производительность сети. - В сети существует очень интенсивный источник широковещательного трафика (часто это является следствием сбойной работы конечного узла), и все сегменты, подключенные к портам коммутатора, засоряются этим трафиком. Коммутатор в силу алгоритма своей работы обязан передавать широковещательные кадры на все сегменты, если кадр правильно оформлен. Поэтому для борьбы с широковещательным штормом приходится использовать другие средства - виртуальные сети VLAN и маршрутизаторы - как автономные так и совмещенные с коммутатором. В последнем случае коммутатор обычно называют коммутатором 3-го уровня.
Рис. 2.6. Переполнение буфера порта из-за несбалансированности трафика - Коммутатор работает в режиме перегрузки и не справляется с потоком поступающих на него кадров. Часть кадров теряется и производительность сети не только не повышается, но иногда даже и существенно снижается.