Алгоритм прозрачного моста IEEE 802.1D


Слово «прозрачный» в названии алгоритм прозрачного мостаотражает тот факт, что мосты и коммутаторы в своей работе не учитывают существование в сети сетевых адаптеров конечных узлов, концентраторов, повторителей. С другой стороны, и перечисленные выше сетевые устройства функционируют, «не замечая» присутствия в сети мостов и коммутаторов.

Алгоритм прозрачного моста не зависит от технологии локальной сети, в которой устанавливается мост/коммутатор, поэтому прозрачные мосты/коммутаторы Ethernet работают точно так же, как прозрачные мосты/коммутаторы FDDI или Token Ring.

Коммутатор строит свою адресную таблицу на основании пассивного наблюдения за трафиком, циркулирующим в подключенных к его портам сегментах. При этом коммутатор учитывает адреса источников кадров данных, поступающих на порты коммутатора. По адресу источника кадра коммутатор делает вывод о принадлежности узла-источника тому или иному сегменту сети.

Каждый порт коммутатора работает, как конечный узел своего сегмента, за одним исключением — порт коммутатора не имеет собственного МАС-адреса. Порты коммутатора не нуждаются в адресах, так как они работают в так называемом неразборчивом режиме захвата кадров, когда все поступающие на порт кадры, независимо от их адреса назначения, запоминаются на время в буферной памяти. Работая в неразборчивом режиме, коммутатор «слушает» весь трафик, передаваемый в, присоединенных к нему сегментах, и использует проходящие через него кадры для изучения структуры сети.

Рассмотрим процесс автоматического создания адресной таблицы коммутатора и ее использования на примере простой сети, представленной на рис.8.

Рисунок 8. Принцип работы прозрачного моста/коммутатора

 

Коммутатор соединяет два сетевых сегмента. Сегмент 1 составляют компьютеры, подключенные с помощью одного отрезка коаксиального кабеля к порту 1 коммутатора, а сегмент 2 — компьютеры, подключенные с помощью другого отрезка коаксиального кабеля к порту 2 коммутатора. В исходном состоянии коммутатор не знает о том, компьютеры с какими МАС-адресами подключены к каждому из его портов. В этой ситуации коммутатор просто передает любой захваченный и буферизованный кадр на всесвои порты за исключением того порта, от которого этот кадр получен. В нашем примере у коммутатора только два порта, поэтому он передает кадры с порта 1 на порт 2, и наоборот. Отличие работы коммутатора в этом режиме от повторителя заключается в том, что он передает кадр, предварительно буферизуя его, а не бит за битом, как это делает повторитель. Буферизация разрывает логику работы всех сегментов как единой разделяемой среды. Когда коммутатор собирается передать кадр с сегмента на сегмент, например с сегмента 1 на сегмент 2, он, как обычный конечный узел, пытается получить доступ к разделяемой среде сегмента 2 по правилам алгоритма доступа, в данном примере — по правилам алгоритма CSMA/CD.

Одновременно с передачей кадра на все порты коммутатор изучает адрес источника кадра и делает запись о его принадлежности к тому или иному сегменту в своей адресной таблице.Эту таблицу также называют таблицей фильтрации,или таблицей маршрутизации.Например, получив на порт 1 кадр от компьютера 1, коммутатор делает первую запись в своей адресной таблице.

МАС-адрес 1 — порт 1.

Эта запись означает, что компьютер, имеющий МАС-адрес 1, принадлежит сегменту, подключенному к порту 1 коммутатора. Если все четыре компьютера данной сети проявляют активность и посылают друг другу кадры, то скоро коммутатор построит полную адресную таблицу сети, состоящую из 4 записей — по одной записи на узел (см. рис. 8).

При каждом поступлении кадра на порт коммутатора он, прежде всего, пытается найти адрес назначения кадра в адресной таблице. Продолжим рассмотрение действий коммутатора на примере (см. рис. 8).

1. При получении кадра, направленного от компьютера 1 компьютеру 3, коммутатор просматривает адресную таблицу на предмет совпадения адреса в какой-либо из ее записей с адресом назначения — МАС-адресом 3. Запись с искомым адресом имеется в адресной таблице.

2. Коммутатор выполняет второй этап анализа таблицы — проверяет, находятся ли компьютеры с адресами источника и назначения в одном сегменте. В примере компьютер 1 (МАС-адрес 1) и компьютер 3 (МАС-адрес 3) находятся в разных сегментах. Следовательно, коммутатор выполняет операцию продвижения(forwarding) кадра — передает кадр на порт 2, который подключен к сегменту получателя, получает доступ к сегменту и передает туда кадр.

3. Если бы оказалось, что компьютеры принадлежали одному сегменту, то кадр просто удаляется из буфера. Такая операция называется фильтрацией(filtering).

4. Если бы запись МАС-адрес 3 отсутствовала в адресной таблице, то есть, другими словами, адрес назначения был неизвестен коммутатору, то он передал бы кадр на все свои порты, кроме порта — источника кадра, как и на начальной стадии процесса обучения.

Процесс обучения коммутатора никогда не заканчивается и происходит одновременно с продвижением и фильтрацией кадров. Коммутатор постоянно следит за адресами источника буферизуемых кадров, чтобы автоматически приспосабливаться к изменениям, происходящим в сети, — перемещениям компьютеров из одного сегмента сети в другой, отключению и появлению новых компьютеров.

Входы адресной таблицы могут быть динамическими, создаваемыми в процессе самообучения коммутатора, и статическими, создаваемыми вручную администратором сети. Статические записине имеют срока жизни, что дает администратору возможность влиять на работу коммутатора, например, ограничивая передачу кадров с определенными адресами из одного сегмента в другой.

Динамические записиимеют срок жизни — при создании или обновлении записи в адресной таблице с ней связывается отметка времени. По истечении определенного тайм-аута запись помечается как недействительная, если за это время коммутатор не принял ни одного кадра с данным адресом в поле адреса источника. Это дает возможность коммутатору автоматически реагировать на перемещения компьютера из сегмента в сегмент — при его отключении от старого сегмента запись о его принадлежности к нему со временем вычеркивается из адресной таблицы. После подключения этого компьютера к другому сегменту его кадры начнут попадать в буфер коммутатора через другой порт, и в адресной таблице появится новая запись, соответствующая текущему состоянию сети.

Кадры с широковещательными МАС-адресами, как и кадры с неизвестными адресами назначения, передаются коммутатором на все его порты. Такой режим распространения кадров называется затоплением сети (flooding). Наличие коммутаторов в сети не препятствует распространению широковещательных кадров по всем сегментам сети. Однако это является достоинством только тогда, когда широковещательный адрес выработан корректно работающим узлом.

Нередко в результате каких-либо программных или аппаратных сбоев протокол верхнего уровня или сетевой адаптер начинают работать некорректно, а именно постоянно с высокой интенсивностью генерировать кадры с широковещательным адресом. Коммутатор в соответствии со своим алгоритмом передает ошибочный трафик во все сегменты. Такая ситуация называется широковещательным штормом(broadcast storm).

К сожалению, коммутаторы не защищают сети от широковещательного шторма, во всяком случае, по умолчанию, как это делают маршрутизаторы. Максимум, что может сделать администратор с помощью коммутатора для борьбы с широковещательным штормом, — установить для каждого узла предельно допустимую интенсивность генерации кадров с широковещательным адресом. Но при этом нужно точно знать, какая интенсивность является нормальной, а какая — ошибочной. При смене протоколов ситуация в сети может измениться, и то, что вчера считалось ошибочным, сегодня может оказаться нормой.

На рис. 9 показана типичная структура коммутатора. Функции доступа к среде при приеме и передаче кадров выполняют микросхемы MAC, которые идентичны микросхемам сетевого адаптера.

 

Рисунок 9. Структура моста\коммутатора

 

Протокол, реализующий алгоритм коммутатора, располагается между уровнями MAC и LLC (рис. 10).

 

 

Рисунок 10. Место протокола коммутатора в стеке протоколов

 

На рис. 11 показана копия экрана терминала с адресной таблицей модуля ло­кального коммутатора. Терминал подключен к консольному порту, и информа­ция на его экране высвечена модулем управления коммутатора.

Рисунок 11. Адресная таблица коммутатора

 

Из выводимой на экран адресной таблицы видно, что сеть состоит из двух сегментов — LAN А и LAN В. В сегменте LAN А имеются, по крайней мере, 3 станции, а в сегменте LAN В — 2 станции. Четыре адреса, помеченные звездочками, являются статическими, то есть назначенными администратором вручную. Адрес, помеченный плюсом, является динамическим адресом с истекшим сроком жизни.

Таблица имеет поле Dispn — «disposition» (это «распоряжение» коммутатору о том, какую операцию нужно проделать с кадром, имеющим данный адрес назначения). Обычно при автоматическом составлении таблицы в этом поле ставится условное обозначение порта назначения, но при ручном задании адреса в это поле можно внести нестандартную операцию обработки кадра. Например, операция Flood (затопление) заставляет коммутатор распространять кадр в широковещательном режиме, несмотря на то, что его адрес назначения не является широковещательным. Операция Discard (отбросить) говорит коммутатору, что кадр с таким адресом не нужно передавать на порт назначения. Вообще говоря, операции, задаваемые в поле Dispn, определяют особые условия фильтрации кадров, дополняющие стандартные условия их распространения. Такие условия обычно называют пользовательскими фильтрами,мы их рассмотрим немного позже, в подразделе «Фильтрация трафика».



Дата добавления: 2016-12-27; просмотров: 3009;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.012 сек.