RL>
to return to Main IV
02070188ACA
LANA
*010081000100 Flood
* 000081FFD166 Flood
Search Item
Go Page
tic Entries = 4
RN> to select,
lenu
Рис. 13.6. Адресная таблица коммутатора
Мост как предшественник и функциональный аналог коммутатора
411Из выводимой на экран адресной таблицы видно, что сеть состоит из двух сегментов —
LAN
А и LAN
В. В сегменте LAN
А имеются, по крайней мере, 3 станции, а в сегменте
LAN
В — 2 станции. Четыре адреса, помеченные звездочками, являются статическими, то есть назначенными администратором вручную. Адрес, помеченный плюсом, является динамическим адресом с истекшим сроком жизни.
Таблица имеет поле
Dispn — «disposition» (это «распоряжение» мосту о том, какую опе
рацию нужно проделать с кадром, имеющим данный адрес назначения). Обычно при автоматическом составлении таблицы в этом поле ставится условное обозначение порта на
значения, но при ручном задании адреса в это поле можно внести нестандартную операцию обработки кадра. Например, операция
Flood (затопление) заставляет мост распространять кадр в широковещательном режиме, несмотря на то что его адрес назначения не является широковещательным. Операция
Discard (отбросить) говорит мосту, что кадр с таким адре
сом не нужно передавать на порт назначения. Вообще говоря, операции, задаваемые в поле
Dispn, определяют особые условия фильтрации кадров, дополняющие стандартные условия их распространения. Такие условия
обычно называют пользовательскими фильтрами, мы их рассмотрим немного позже в разделе «Фильтрация трафика» главы 14.
Топологические ограничения при применении мостов в локальных сетяхСерьезным ограничением функциональных возможностей мостов и коммутаторов является отсутствие поддержки петлеобразных конфигураций сети.Рассмотрим это ограничение на примере сети, показанной на рис. 13.7.
Новый узел 10Два сегмента Ethernet параллельно соединены двумя мостами, так что образовалась петля.
Пусть новая станция с МАС-адресом 123 впервые начинает работу в данной сети. Обычно
412Глава 13. Коммутируемые сети Ethernet начало работы любой операционной системы сопровождается рассылкой широковеща
тельных кадров, в которых станция заявляет о своем существовании и одновременно ищет серверы сети.
На этапе 1 станция посылает первый кадр с широковещательным адресом назначения и адресом источника 123 в свой сегмент. Кадр попадает как в мост 1, так и в мост 2. В обоих мостах новый адрес источника 123 заносится в адресную таблицу с пометкой о его принад
лежности сегменту 1, то есть создается новая запись вида:
МАС-адрес 123 — Порт 1.
Так как адрес назначения широковещательный, то каждый мост должен передать кадр на сегмент 2. Эта передача происходит поочередно в соответствии с методом случайного до
ступа технологии Ethernet. Пусть первым доступ к сегменту 2 получает мост 1 (этап 2 на рис. 13.7). При появлении кадра на сегменте 2 мост 2 принимает его в свой буфер и обраба
тывает. Он видит, что адрес 123 уже есть в его адресной таблице, но пришедший кадр являет
ся более свежим, и он решает, что адрес 123 принадлежит сегменту 2, а не 1. Поэтому мост 2 корректирует содержимое базы и делает запись о том, что адрес 123 принадлежит сегменту 2:
МАС-адрес 123 — Порт 2.
Аналогично поступает мост 1, когда мост 2 передает свою копию кадра на сегмент 2.
Далее перечислены последствия наличия петли в сети.
□ «Размножение» кадра, то есть появление нескольких его копий (в данном случае — двух, но если бы сегменты были соединены тремя мостами — то трех и т. д.).
□ Бесконечная циркуляция обеих копий кадра по петле в противоположных направле
ниях, а значит, засорение сети ненужным трафиком.
□ Постоянная перестройка мостами своих адресных таблиц, так как кадр с адресом ис
точника 123 будет появляться то на одном порту, то на другом.
В целях исключения всех этих нежелательных эффектов мосты/коммутаторы нужно применять так, чтобы между логическими сегментами не было петель, то есть строить с помощью коммутаторов только древовидные структуры, гарантирующие наличие един
ственного пути между любыми двумя сегментами. Тогда кадры от каждой станции будут поступать на мост/коммутатор всегда с одного и того же порта, и коммутатор сможет правильно решать задачу выбора рационального маршрута в сети.
В небольших сетях сравнительно легко гарантировать наличие одного и только одного пути между двумя сегментами. Но
когда количество соединений возрастает, то вероятность непреднамеренного образования петли оказывается высокой.
Возможна и другая причина возникновения петель. Так, для повышения надежности же
лательно иметь между мостами/коммутаторами резервные связи, которые не участвуют в нормальной работе основных связей по передаче информационных кадров станций, но при отказе какой-либо основной связи образуют новую связную рабочую конфигурацию без петель.
Избыточные связй необходимо блокировать, то есть переводить их в неактивное со
стояние. В сетях с простой топологией эта задача решается вручную путем блокирования соответствующих портов мостов/коммутаторов. В больших сетях со сложными связями используются алгоритмы, которые позволяют решать задачу обнаружения петель авто
матически. Наиболее известным из них является стандартный
алгоритм покрывающего дерева (Spanning Tree Algorithm, STA), который будет детально рассмотрен в главе 14.
Коммутаторы
413Коммутаторы Параллельная коммутацияПри появлении в конце 80-х начале 90-х годов быстрых протоколов, производительных персональных компьютеров, мультимедийной информации и разделении сети на большое количество сегментов классические
мосты перестали справляться с работой. Обслужи
вание потоков кадров между теперь уже несколькими портами с помощью одного про
цессорного блока требовало значительного повышения быстродействия процессора, а это довольно дорогостоящее решение.
Более эффективным оказалось решение, которое и «породило» коммутаторы: для об
служивания потока, поступающего на каждый порт, в устройство ставился отдельный специализированный процессор, который реализовывал алгоритм прозрачного моста. По сути, коммутатор — это мультипроцессорный мост, способный параллельно продвигать кадры сразу между всеми парами своих портов. Но если при добавлении процессорных блоков компьютер не перестали называть компьютером, а добавили только прилагательное
«мультипроцессорный», то с мультипроцессорными мостами произошла метаморфоза — во многом по маркетинговым причинам они превратились в коммутаторы. Нужно отметить, что помимо процессоров
портов коммутатор имеет центральный процессор, который ко
ординирует работу портов, отвечая за построение общей таблицы продвижения, а также поддерживая функции конфигурирования и управления коммутатором.
Со временем коммутаторы вытеснили из локальных сетей классические однопроцессор
ные мосты. Основная причина этого — существенно более высокая производительность, с которой коммутаторы передают кадры между сегментами сети. Если мосты могли даже замедлять работу сети, то коммутаторы всегда выпускаются с процессорами портов, спо
собными передавать кадры с той максимальной скоростью, на которую рассчитан протокол.
Ну а добавление к этому возможности параллельной передачи кадров между портами предопределило судьбу и мостов, и коммутаторов.
Производительность коммутаторов йа йеокряыш порядков выш$, чем мостов ^ коммутаторы могут передавать до нескольких десятков* а иногда и соте#миллионов кадров в секунду* в то время как мосты обычно обрабатывали 35 тысяч кадров а секунду.За время своего существования уже без конкурентов-мостов коммутаторы вобрали в себя многие дополнительные функции, родившиеся в результате естественного развития сете
вых технологий. К этим функциям относятся, например, поддержка виртуальных сетей
(VLAN), агрегирование линий связи, приоритезация трафика и т. п. Развитие технологии производства заказных микросхем также способствовало успеху коммутаторов, в резуль
тате процессоры портов сегодня обладают такой вычислительной мощностью, которая позволяет им быстро реализовывать весьма сложные алгоритмы обработки трафика, на
пример выполнять его классификацию и профилирование.
Технология коммутации сегментов Ethernet была предложена небольшой компанией
Kalpana в 1990 году в ответ на растущие потребности в повышении пропускной способ
ности связей высокопроизводительных серверов с сегментами рабочих станций. У ком
мутатора компании Kalpana при свободном в момент приема кадра состоянии выходного порта задержка между получением первого байта кадра и появлением этого же байта на
414Глава 13. Коммутируемые сети Ethernet выходе порта адреса назначения составляла всего 40 мкс, что было гораздо ниже задержки кадра при его передаче мостом.
Структурная схема коммутатора EtherSwitch, предложенного фирмой Kalpana, представ
лена на рис. 13.8.
Системный модульУправлениеМногозадачноеядроРис. 13.8. Структура коммутатора EtherSwitch компании KalpanaКаждый из 8 портов 10Base-T обслуживается одним
процессором пакетов Ethernet (Ethernet Packet Processor, EPP). Кроме того, коммутатор имеет системный модуль, ко
торый координирует работу всех процессоров ЕРР, в частности ведет общую адресную таблицу коммутатора. Для передачи кадров между портами используется
коммутационная матрица. Она функционирует по принципу коммутации каналов, соединяя порты комму
татора. Для 8 портов матрица может одновременно обеспечить 8 внутренних каналов при полудуплексном режиме работы портов и 16 — при дуплексном, когда передатчик и при
емник каждого порта работают независимо друг от друга.
При поступлении кадра в какой-либо порт соответствующий процессор ЕРР буферизует несколько первых байтов кадра, чтобы прочитать адрес назначения. После получения адреса назначения процессор сразу же приступает к обработке кадра, не дожидаясь при
хода остальных его байтов.
1. Процессор ЕРР просматривает свой кэш адресной таблицы, и если не находит там нужного адреса, обращается к системному модулю, который работает в многозадачном режиме, параллельно обслуживая запросы всех процессоров ЕРР. Системный модуль производит просмотр общей адресной таблицы и возвращает процессору найденную строку, которую тот буферизует в своем кэше для последующего использования.
2. Если адрес назначения найден в адресной таблице и кадр нужно отфильтровать, про-, цессор просто прекращает записывать в буфер байты кадра, очищает буфер и ждет nq- ступления нового кадра.
3. Если же адрес найден и
кадр нужно передать на другой порт, процессор, продолжая прием кадра в буфер, обращается к коммутационной матрице, пытаясь установит^ в ней путь, связывающий его порт с портом, через который идет маршрут к адресу
Коммутаторы
415назначения. Коммутационная матрица способна помочь только в том случае, если порт адреса назначения в этот момент свободен, то есть не соединен с другим портом данного коммутатора.
4. Если же порт занят, то, как и в любом устройстве с коммутацией каналов, матрица в соединении отказывает. В этом случае кадр полностью буферизуется процессором входного порта, после чего процессор ожидает освобождения выходного порта и об
разования коммутационной матрицей нужного пути.
5. После того как нужный путь установлен, в него направляются буферизованные байты кадра, которые принимаются процессором выходного порта. Как только процессор выходного порта получает доступ к подключенному к нему сегменту Ethernet по ал
горитму CSMA/CD1, байты кадра сразу же начинают передаваться в сеть. Процессор входного порта постоянно хранит несколько байтов принимаемого кадра в своем буфе
ре, что позволяет ему независимо и асинхронно принимать и передавать байты кадра
(рис. 13.9).
Описанный пособ передачи кадра без его полной буферизации получил название
коммутации «на лету* (on-the-fly), или
«напролет* (cut-through).
Этот способ представляет1 Во время появления коммутатора Kalpana основным режимом работы сегментов был режим раз
деления среды.
416
Глава 13. Коммутируемые сети Ethernet собой, по сути, конвейерную обработку кадра, когда частично совмещаются во времени несколько этапов его передачи.
1. Прием первых байтов кадра процессором входного порта, включая прием байтов адреса назначения.
2. Поиск адреса назначения в адресной таблице коммутатора (в кэше процессора или в общей таблице системного модуля).
3. Коммутация матрицы.
4. Прием остальных байтов кадра процессором входного порта.
5. Прием байтов кадра (включая первые) процессором выходного порта через коммута
ционную матрицу.
6. Получение доступа к среде процессором выходного порта.
7. Передача байтов кадра процессором выходного порта в сеть.
На рис. 13.10 подставлены два режима обработки кадра: режим коммутации «на лету» с частичным совмещением во времени нескольких этапов и режим полной буферизации кадра с последовательным выполнением всех этапов. (Заметим, что этапы 2 и 3 совместить во времени нельзя, так как без знания номера выходного порта операция коммутации матрицы не имеет смысла.)
f
г*--- 1----
9**
----------^-----------
Р*.
1 1 1 IbM [ 1 1 1 Т 1 Т Г1
' ' 4 2 [ 3
-------------
5-
---------
N* 1 1 1 І..ІЛ
Т Т Л .. г г ______
г Г 1
ч
ч
7
\
|
...........
1 1 1 1 I І П I T T Т.г
V
1
+
4
I I I И I И I I I I' і
.............
II
I
II
2 I 6 I
7
...... LJ.I...L I I I I I I I I
«-------- гг------- ►
Рис. 13.10. Экономия времени при конвейерной обработке кадра: а — конвейерная обработка,
б —
обычная обработка с полной буферизацией
Как показывает схема, экономия от конвейеризации получается ощутимой.
Однако главной причиной повышения производительности сети при использовании коммутатора является
параллельная
обработка нескольких кадров.
Этот эффект иллюстрирует рис. 13.11, на котором показана идеальная в отношении про
изводительности ситуация, когда четыре порта из восьми передают данные с максималь
ной для протокола Ethernet скоростью в 10 Мбит/с. Причем они передают эти данные на
Коммутаторы
417остальные четыре порта коммутатора не конфликтуя: потоки данных между узлами сети распределились так, что для каждого принимающего кадры порта есть свой выходной порт.
Если коммутатор успевает обрабатывать входной трафик при максимальной интенсивности поступления кадров на входные порты, то общая производительность коммутатора в при
веденном примере составит 4 х 10 = 40 Мбит/с, а при обобщении примера для
N портов —
(N/2) х 10 Мбит/с. В таком случае говорят, что
коммутатор предоставляет каждой станции или сегменту,
подключенному к его портам,
выделенную пропускную способность протокола.
© - ( 4 ) — потоки кадров между компьютерами Рис. 13.11. Параллельная передача кадров коммутаторомЕстественно, что в сети не всегда складывается описанная ситуация. Если двум станци
ям, например станциям, подключенным к портам 3 и 4, одновременно нужно
записывать данные на один и тот же сервер, подключенный к порту 8, то коммутатор не сможет вы
делить каждой станции по 10 Мбит/с, так как порт 8 не в состоянии передавать данные со скоростью 20 Мбит/с. Кадры станций будут ожидать во внутренних очередях входных портов 3 и 4, когда освободится порт 8 для передачи очередного кадра. Очевидно, хорошим решением для такого распределения потоков данных было бы подключение сервера к более высокоскоростному порту, например Fast Ethernet или Gigabit Ethernet.