Мосты и коммутаторы
Несмотря на появление новых дополнительных возможностей, основной функцией концентраторов остается передача пакетов по общей разделяемой среде.
Коллективное использование многими компьютерами общей кабельной системы в режиме разделения времени приводит к существенному снижению производительности сети при интенсивном трафике. Общая среда перестает справляться с потоком передаваемых кадров, и в сети возникает очередь компьютеров, ожидающих доступа. Это явление характерно для всех технологий, использующих разделяемые среды передачи данных, независимо от используемых алгоритмов доступа (хотя наиболее страдают от перегрузок трафика сети Ethernet с методом случайного доступа к среде).
Поэтому сети, построенные на основе концентраторов, не могут расширяться в требуемых пределах - при определенном количестве компьютеров в сети или при появлении новых приложений всегда происходит насыщение передающей среды, и задержки в ее работе становятся недопустимыми. Эта проблема может быть решена путем логической структуризации сети с помощью мостов, коммутаторов и маршрутизаторов.
Мост (bridge), а также его быстродействующий функциональный аналог – коммутатор (switching hub), делят общую среду передачи данных на логические сегменты. является средством передачи кадров между двумя (или более) сегментами – доменами коллизий.
Мост прослушивает кадры, приходящие каждый на свой порт, и составляет списки МАС-адресов узлов, подключенных к этим портам (по адресам источника). Затем анализирует МАС-адреса источника и получателя.
Если приходящий кадр имеет адрес назначения, принадлежащий тому же сегменту, то этот кадр мостом фильтруется – никуда не транслируется.
Если адрес назначения известен мосту и относится к другому сегменту, мост транслирует этот кадр в соответствующий порт.
Если адресат еще не известно мосту, кадр транслируется во все порты (кроме того, откуда он пришел).
Широковещательные и многоадресные кадры также транслируются во все порты.
Трансляция предполагает доступ к сегменту по обычной схеме: ожидание отсутствия несущей, передача кадра и в случае коллизий повторные попытки передачи. Для выполнения этих процедур мост должен иметь буферную память для промежуточного хранения кадров, а также память для хранения списков МАС-адресов узлов сегментов всех портов. Описанный алгоритм поведения относится к «прозрачным» мостам (transparent bridge), определенным стандартом IEEE 802.Id.
Логический сегмент образуется путем объединения нескольких физических сегментов (отрезков кабеля) с помощью одного или нескольких концентраторов. Каждый логический сегмент подключается к отдельному порту моста/коммутатора (рисунок 2.27). При поступлении кадра на какой-либо из портов мост/коммутатор повторяет этот кадр, но не на всех портах, как это делает концентратор, а только на том порту, к которому подключен сегмент, содержащий компьютер-адресат.
Разница между мостом и коммутатором состоит в том, что мост в каждый момент времени может осуществлять передачу кадров только между одной парой портов, а коммутатор одновременно поддерживает потоки данных между всеми своими портами.
Другими словами, мост передает кадры последовательно, а коммутатор параллельно.
Коммутатор используется как средство сегментации – уменьшения количества узлов в доменах коллизий. В предельном случае –микросегментации – к каждому порту коммутатора подключается только один узел. При этом коммутатор должен направить в нужный порт каждый приходящий кадр, что предъявляет высокие требования к производительности процессора коммутатора.
Если к порту коммутатора подключается один узел (станция или другой коммутатор), то появляется возможность работы в полнодуплексном режиме. При этом коллизии как таковые отсутствуют.
Следует отметить, что в последнее время локальные мосты полностью вытеснены коммутаторами. Мосты используются только для связи локальных сетей с глобальными, то есть как средства удаленного доступа, поскольку в этом случае необходимость в параллельной передаче между несколькими парами портов просто не возникает.
При работе коммутатора среда передачи данных каждого логического сегмента остается общей только для компьютеров подключенных к этому сегменту непосредственно.
Коммутатор осуществляет связь сред передачи данных различных логических сегментов. Он передает кадры между логическими сегментами только при необходимости, то есть только тогда, когда взаимодействующие компьютеры находятся в разных сегментах.
Рисунок 2.27 – Разделение сети на логические сегменты |
Деление сети на логические сегменты улучшает производительность сети, если в сети имеются группы компьютеров, преимущественно обменивающиеся информацией между собой. Если же таких групп нет, то введение в сеть коммутаторов может только ухудшить общую производительность сети, так как принятие решения о том, нужно ли передавать пакет из одного сегмента в другой, требует дополнительного времени.
Однако даже в сети средних размеров такие группы, как правило, имеются. Поэтому разделение ее на логические сегменты дает выигрыш в производительности – трафик локализуется в пределах групп, и нагрузка на их разделяемые кабельные системы существенно уменьшается.
Коммутаторы принимают решение о том, на какой порт нужно передать кадр, анализируя адрес назначения, помещенный в кадре, а также на основании информации о принадлежности того или иного компьютера определенному сегменту, подключенному к одному из портов коммутатора, то есть на основании информации о конфигурации сети.
Для того, чтобы собрать и обработать информацию о конфигурации подключенных к нему сегментов, коммутатор должен пройти стадию "обучения", то есть самостоятельно проделать некоторую предварительную работу по изучению проходящего через него трафика.
Принадлежность компьютеров сегментам определяется по адресу назначения или адресу источника, сгенерировавшего пакет.
Используя информацию об адресе источника, коммутатор устанавливает соответствие между номерами портов и адресами компьютеров. В процессе изучения сети мост/коммутатор просто передает появляющиеся на входах его портов кадры на все остальные порты, работая некоторое время повторителем.
После того, как мост/коммутатор узнает о принадлежности адресов сегментам, он начинает передавать кадры между портами только в случае межсегментной передачи.
Если, уже после завершения обучения, на входе коммутатора вдруг появится кадр с неизвестным адресом назначения, то этот кадр будет повторен на всех портах.
Существуют два основных подхода к коммутации — с промежуточным сохранением и «на лету».
Технология с промежуточным хранением (store and forward) предполагает, что каждый кадр, пришедший в порт, целиком принимается в буферную память. Далее процессор анализирует его заголовок, адрес источника использует для построения своих таблиц, а по адресу назначения определяет порт, в который кадр должен быть передан. В случае многоадресной или широковещательной передачи это будет группа из всех остальных портов. Передача в порт(ы) производится по мере его (их) освобождения, согласно процедуре CSMA/CD. После успешной передачи (во все требуемые порты) кадр из памяти удаляется, освобождая место. Эта технология позволяет анализировать сообщение (проверять CRC-код) и игнорировать ошибочные кадры. Недостатком является значительная задержка передачи кадров – по крайней мере, на время приема кадра.
Коммутация на лету (on-the-fly) выполняется по возможности без промежуточного хранения. Порт принимает кадр, одновременно анализируя его поле заголовка. Как только пройдут биты адреса назначения – первые 6 байт после преамбулы, – коммутатор уже может пересылать кадр в порт(ы) назначения, если они не заняты. В случае если порт назначения занят, промежуточное хранение неизбежно. Коммутация на лету вносит минимальную задержку – при свободном порте назначения она составит (8+6)×8 = 112 бит, для скорости 10 Мбит/с — 11,2 мкс. Однако проверка CRC не производится, и коммутатор распространяет все кадры, в том числе и короткие, отсеченные коллизиями.
Мосты/коммутаторы, работающие описанным способом, обычно называются прозрачными (transparent), поскольку появление таких мостов/коммутаторов в сети совершенно не заметно для ее конечных узлов. Это позволяет не изменять их программное обеспечение при переходе от простых конфигураций, использующих только концентраторы, к более сложным, сегментированным.
Существует и другой класс мостов/коммутаторов, передающих кадры между сегментами на основе полной информации о межсегментном маршруте. Эту информацию записывает в кадр станция-источник кадра, поэтому говорят, что такие устройства реализуют алгоритм маршрутизации от источника (source routing).
При использовании мостов/коммутаторов с маршрутизацией от источника конечные узлы должны иметь информацию о делении сети на сегменты. Сетевые адаптеры, в этом случае должны в своем программном обеспечении иметь компонент, занимающийся выбором маршрута кадров.
Простота принципа работы прозрачного моста/коммутатора накладывает ограничения на топологию сети, построенной с использованием устройств данного типа. Такие сети не могут иметь замкнутых маршрутов –петель. Мост/коммутатор не может правильно работать в сети с петлями, при этом сеть засоряется зацикливающимися пакетами и ее производительность снижается.
Для автоматического распознавания петель в конфигурации сети разработан алгоритм покрывающего дерева (Spanning Tree Algorithm, STA).
Этот алгоритм позволяет мостам/коммутаторам адаптивно строить дерево связей, когда они изучают топологию связей сегментов с помощью специальных тестовых кадров.
При обнаружении замкнутых контуров некоторые связи объявляются резервными. Мост/коммутатор может использовать резервную связь только при отказе какой-либо основной.
В результате сети, построенные на основе мостов/коммутаторов, поддерживающих алгоритм покрывающего дерева, обладают некоторым запасом надежности, но повысить производительность за счет использования нескольких параллельных связей в таких сетях нельзя.
Маршрутизаторы
Маршрутизатор (router) позволяет организовывать в сети избыточные связи, образующие петли. Он справляется с этой задачей за счет того, что принимает решение о передаче пакетов на основании более полной информации о графе связей в сети, чем мост или коммутатор. Маршрутизатор имеет в своем распоряжении базу топологической информации, которая говорит ему, например, о том, между какими подсетями общей сети имеются связи и в каком состоянии (работоспособном или нет) они находятся. Имея такую карту сети, маршрутизатор может выбрать один из нескольких возможных маршрутов доставки пакета адресату. В данном случае под маршрутом понимают последовательность прохождения пакетом маршрутизаторов. Например, на рисунке 2.28 для связи станций L2 сети LAN1 и L1 сети LAN6 имеется два маршрута: М1-М5-М7 и М1-М6-М7.
В отличие от моста/коммутатора, который не знает, как связаны сегменты друг с другом за пределами его портов, маршрутизатор видит всю картину связей подсетей друг с другом, поэтому он может выбрать правильный маршрут и при наличии нескольких альтернативных маршрутов.
Решение о выборе того или иного маршрута принимается каждым маршрутизатором, через который проходит сообщение.
Для того, чтобы составить карту связей в сети, маршрутизаторы обмениваются специальными служебными сообщениями, в которых содержится информация о тех связях между подсетями, о которых они знают (эти подсети подключены к ним непосредственно, или же они узнали эту информацию от других маршрутизаторов).
Построение графа связей между подсетями и выбор оптимального по какому-либо критерию маршрута на этом графе представляют собой сложную задачу. При этом могут использоваться разные критерии выбора маршрута – наименьшее количество промежуточных узлов, время, стоимость или надежность передачи данных.
Маршрутизаторы позволяют объединять сети с различными принципами организации в единую сеть, которая в этом случае часто называется интерсеть (internet). Название интерсеть подчеркивает ту особенность, что образованное с помощью маршрутизаторов объединение компьютеров представляет собой совокупность нескольких сетей, сохраняющих большую степень автономности, чем несколько логических сегментов одной сети. В каждой из сетей, образующих интерсеть, сохраняются присущие им принципы адресации узлов и протоколы обмена информацией. Поэтому маршрутизаторы могут объединять не только локальные сети с различной технологией, но и локальные сети с глобальными.
Рисунок 2.28 – Структура интерсети, построенной на основе маршрутизаторов; M1, M2,... ,M7– маршрутизаторы; LAN1, LAN2, LAN3, WAN4, WAN5, LAN6 – уникальные номера сетей в едином формате L1, L2, ... - локальные номера узлов (дублируются, разный формат) |
Маршрутизаторы не только объединяют сети, но и надежно защищают их друг от друга. Причем эта изоляция осуществляется гораздо проще и надежнее, чем с помощью мостов/коммутаторов. Например, при поступлении кадра с неправильным адресом мост/коммутатор обязан повторить его на всех своих портах, что делает сеть незащищенной от некорректно работающего узла. Маршрутизатор же в таком случае просто отказывается передавать "неправильный" пакет дальше, изолируя дефектный узел от остальной сети.
Кроме того, маршрутизатор предоставляет администратору удобные средства фильтрации потока сообщений за счет того, что сам распознает многие поля служебной информации в пакете и позволяет их именовать понятным администратору образом. Нужно заметить, что некоторые мосты/коммутаторы также способны выполнять функции гибкой фильтрации, но задавать условия фильтрации администратор сети должен сам в двоичном формате, что достаточно сложно.
Кроме фильтрации, маршрутизатор может обеспечивать приоритетный порядок обслуживания буферизованных пакетов, когда на основании некоторых признаков пакетам предоставляются преимущества при выборе из очереди.
В результате, маршрутизатор оказывается сложным интеллектуальным устройством, построенным на базе одного, а иногда и нескольких мощных процессоров работающих, как правило, под управлением специализированной операционной системы.
Дата добавления: 2020-04-12; просмотров: 613;