Компьютерные сети

Компьютерные сети

Н. Олифер

о


Мост
Рис. 13.3. Изменение загрузки при делении сети на сегменты
После разделения сети на сегменты подсчитаем нагрузку отдельно для каждого сегмента. Например, нагрузка сегмента 51 стала равна где Cs\ — внутренний трафик
сегмента 51, a Cs\-si — межсегментный трафик. Чтобы показать, что загрузка сегмента 51 стала меньше, чем загрузка исходной сети, заметим, что общую загрузку сети до разделения на сегменты можно представить в таком виде:
CL - С$1 + С$1-52 + Csi
:

Значит, загрузка сегмента 51 после разделения стала равной Сх - С5г, то есть стала меньше на величину внутреннего трафика сегмента 52. Аналогичные рассуждения можно повторить относительно сегмента 52. Следовательно, в соответствии с графиками, приведенными на рис. 13.1, задержки в сегментах уменьшились, а полезная пропускная способность, приходящаяся на один узел, увеличилась.

Ранее было отмечено, что деление сети на логические сегменты почти всегда снижает загрузку новых сегментов. Слово «почти» учитывает очень редкий случай, когда сеть разбита на сегменты так, что внутренний трафик каждого сегмента оказывается нулевым, то есть весь трафик является межсегментным. Для примера на рис. 13.3 это означало бы, что все компьютеры сегмента 51 обмениваются данными только с компьютерами сегмента 52, и наоборот.

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

В 80-е годы существовало эмпирическое правило, говорящее о том, что сеть можно разделить на сегменты так, что 80 % трафика составят обращения к локальным ресурсам и только
1

20 % — к удаленным. Сегодня такая закономерность не всегда соответствует действительности, она может трансформироваться в правило 50 на 50 % и даже 20 на 80 % (например, большая часть обращений направлена к ресурсам Интернета или к централизованным серверам предприятия). Тем не менее в любом случае внутрисегментный трафик существует. Если его нет, значит, сеть разбита на логические сегменты неверно.

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

Устанавливая различные логические фильтры на мостах/коммутаторах, можно контролировать доступ пользователей к ресурсам других сегментов, чего не позволяют делать повторители. Так достигается повышение безопасности данных.
Побочным эффектом снижения трафика и повышения безопасности данных является упрощение управления сетью, то есть улучшение управляемости сети. Проблемы очень часто локализуются внутри сегмента. Сегменты образуют логические домены управления сетью.

Оба описываемых устройства продвигают кадры на основании одного и того же алгоритму, а именно алгоритма прозрачного моста, описанного в стандарте IEEE 802.ID.

Этот стандарт, разработанный задолго до появления первого коммутатора, описывал работу моста, поэтому совершенно естественно, что в его названии и содержании используется термин «мост». Некоторая путаница возникла, когда на свет появились первые модели коммутаторов — они выполняли тот же описанный в стандарте IEEE 802.ID алгоритм продвижения кадров, который с десяток лет был отработан мостами. И хотя мосты, для которых алгоритм был разработан, сегодня уже относятся к практически «вымершему» виду коммуникационных устройств, в стандартах, описывающих работу коммутатора, следуя традиции, используют термин «мост». Мы же не будем столь консервативными и при описании алгоритмов 802.1D в следующем разделе позволим себе иногда указывать термин «коммутатор», кроме тех случаев, когда речь пойдет об официальном названии стандарта или когда необходимо будет подчеркнуть разницу между двумя типами устройств.

Алгоритм прозрачного моста IEEE 802.1D
В локальных сетях 80-х и 90-х годов применялись мосты нескольких типов:
□ прозрачные мосты;
□ мосты с маршрутизацией от источника;
□ транслирующие мосты.

Мосты с маршрутизацией от источника применялись только в сетях Token Ring, а транслирующие мосты были способны соединять сегменты разных технологий, например Ethernet и Token Ring. В результате исчезновения всех технологий локальных сетей, кроме Ethernet, оба этих типа мостов также исчезли, а алгоритм прозрачного моста выжил, найдя свое применение в коммутаторах Ethernet.

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

Так как алгоритм прозрачного моста остался единственным актуальным алгоритмом мостов, то в дальнейшем мы будем опускать термин «прозрачный», подразумевая именно этот тип алгоритма работы моста/коммутатора.

Мост строит свою таблицу продвижения (адресную таблицу) на основании пассивного наблюдения за трафиком, циркулирующим в подключенных к его портам сегментах. При этом мост учитывает адреса источников кадров данных, поступающих на его порты. По адресу источника кадра мост делает вывод о принадлежности узла-источника тому или иному сегменту сети.
ВНИМАНИЕ-

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

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

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

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

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

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

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

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

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

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

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

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

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

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

На рис. 13.5 показана типичная структура моста. Функции доступа к среде при приеме и передаче кадров выполняют микросхемы MAC, которые идентичны микросхемам сетевого адаптера.
Рис. 13.5. Структура моста/коммутатора
Протокол, реализующий алгоритм коммутатора, располагается между уровнями MAC и LLC.
На рис. 13.6 показана копия экрана терминала с адресной таблицей моста.
Address
Dispn
Forwarding Table Address Dispn
Раде 1 of 1Address Dispn
00608СВ17Е58 00008101C4DF *010081000101
LAN В LAN В Discard

0000810298D6 LANA + 000081016A52 LANA /*0180C2000000 Discard
02070188АСА *010081000100 * 000081FFD166
LANAFloodFlood
/
Статус адреса:
срок жизни записи истек
Exit
Next Page Prev Page Edit Table Search Item Go Page + Unlearned * Static Total Entries = 9 Static Entries = 4 Use cursor keys to choose option. Press <RETURN> to select.Press <CTRL> <P> to return to Main Menu
Рис. 13.6. Адресная таблица коммутатора

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

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

Топологические ограничения при применении мостов в локальных сетях
Серьезным ограничением функциональных возможностей мостов и коммутаторов является отсутствие поддержки петлеобразных конфигураций сети.
Рассмотрим это ограничение на примере сети, показанной на рис. 13.7.
Новый узел 10
Рис. 13.7. Влияние замкнутых маршрутов на работу коммутаторов

Два сегмента Ethernet параллельно соединены двумя мостами, так что образовалась петля. Пусть новая станция с МАС-адресом 123 впервые начинает работу в данной сети. Обычно начало работы любой операционной системы сопровождается рассылкой широковещательных кадров, в которых станция заявляет о своем существовании и одновременно ищет серверы сети.

На этапе 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.
Коммутаторы

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

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

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


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

Report Page