Логическая структуризация сети. Мосты и коммутаторы
Несмотря на появление новых дополнительных возможностей, основной функцией концентраторов остается передача пакетов по общей разделяемой среде. Коллективное использование многими компьютерами общей кабельной системы в режиме разделения времени приводит к существенному снижению производительности сети при интенсивном трафике. Общая среда перестает справляться с потоком передаваемых кадров и в сети возникает очередь компьютеров, ожидающих доступа. Это явление характерно для всех технологий, использующих разделяемые среды передачи данных, независимо от используемых алгоритмов доступа (хотя наиболее страдают от перегрузок трафика сети Ethernet с методом случайного доступа к среде). Поэтому сети, построенные на основе концентраторов, не могут расширяться в требуемых пределах – при определенном количестве компьютеров в сети или при появлении новых приложений всегда происходит насыщение передающей среды, и задержки в ее работе становятся недопустимыми. Эта проблема может быть решена путем логической структуризации сети с помощью мостов, коммутаторов и маршрутизаторов. Мост ( bridge ), а также его быстродействующий функциональный аналог – коммутатор ( switch ), делит общую среду передачи данных на логические сегменты. Логический сегмент образуется путем объединения нескольких физических сегментов (отрезков кабеля) с помощью одного или нескольких концентраторов. Каждый логический сегмент подключается к отдельному порту коммутатора/моста (рисунок 4). При поступлении кадра на какой-либо из портов коммутатор/мост повторяет этот кадр, но не на всех портах, как это делает концентратор, а только на том порту, к которому подключен сегмент, содержащий компьютер-адресат.
При работе коммутатора/моста среда передачи данных каждого логического сегмента остается общей только для тех компьютеров, которые подключены к этому сегменту непосредственно. Коммутатор/мост осуществляет связь сред передачи данных различных логических сегментов. Он передает кадры между логическими сегментами только при необходимости, то есть только тогда, когда взаимодействующие компьютеры находятся в разных сегментах. Деление сети на логические сегменты улучшает производительность сети, если в сети имеются группы компьютеров, преимущественно обменивающиеся информацией между собой. Если же таких групп нет, то введение в сеть коммутаторов/мостов может только ухудшить общую производительность сети, так как принятие решения о том, нужно ли передавать кадр из одного сегмента в другой, требует дополнительного времени. Однако даже в сети средних размеров такие группы, как правило, имеются. Поэтому разделение ее на логические сегменты дает выигрыш в производительности – трафик локализуется в пределах групп, и нагрузка на их разделяемые кабельные системы существенно уменьшается. Коммутаторы/мосты принимают решение о том, на какой порт нужно передать кадр, анализируя адрес назначения, помещенный в кадре, а также на основании информации о принадлежности того или иного компьютера определенному сегменту, подключенному к одному из портов коммутатора/моста, то есть на основании информации о конфигурации сети. Для того чтобы собрать и обработать информацию о конфигурации подключенных к нему сегментов, коммутатор/мост должен пройти стадию «обучения», то есть самостоятельно проделать некоторую предварительную работу по изучению проходящего через него трафика. Определение принадлежности компьютеров сегментам возможно за счет наличия в кадре не только адреса назначения, но и адреса источника, сгенерировавшего кадр. Используя информацию об адресе источника, коммутатор/мост устанавливает соответствие между номерами портов и адресами компьютеров. В процессе изучения сети коммутатор/мост просто передает появляющиеся на входах его портов кадры на все остальные порты, работая некоторое время повторителем. После того, как коммутатор/мост узнает о принадлежности адресов сегментам, он начинает передавать кадры между портами только в случае межсегментной передачи. Если, уже после завершения обучения, на входе коммутатора вдруг появится кадр с неизвестным адресом назначения, то этот кадр будет повторен на всех портах. Коммутаторы/мосты, работающие описанным способом, обычно называются прозрачными ( transparent ), поскольку появление таких коммутаторов/мостов в сети совершенно не заметно для ее конечных узлов. Это позволяет не изменять их программное обеспечение при переходе от простых конфигураций, использующих только концентраторы, к более сложным, сегментированным. Существует и другой класс коммутаторов/мостов, передающих кадры между сегментами на основе полной информации о межсегментном маршруте. Эту информацию записывает в кадр станция-источник кадра, поэтому говорят, что такие устройства реализуют алгоритм маршрутизации от источника ( source routing ). При использовании коммутаторов/мостов с маршрутизацией от источника конечные узлы должны быть в курсе деления сети на сегменты и сетевые адаптеры, в этом случае должны в своем программном обеспечении иметь компонент, занимающийся выбором маршрута кадров. За простоту принципа работы прозрачного коммутатора/моста приходится расплачиваться ограничениями на топологию сети, построенной с использованием устройств данного типа – такие сети не могут иметь замкнутых маршрутов – петель. Коммутатор/мост не может правильно работать в сети с петлями, при этом сеть засоряется зацикливающимися пакетами и ее производительность снижается. Для автоматического распознавания петель в конфигурации сети разработан алгоритм покрывающего дерева ( Spanning Tree Algorithm, STA ). Этот алгоритм позволяет коммутаторам/мостам адаптивно строить дерево связей, когда они изучают топологию связей сегментов с помощью специальных тестовых кадров. При обнаружении замкнутых контуров некоторые связи объявляются резервными. Коммутатор/мост может использовать резервную связь
только при отказе какой-либо основной. В результате сети, построенные на основе коммутаторов/мостов, поддерживающих алгоритм покрывающего дерева, обладают некоторым запасом надежности, но повысить производительность за счет использования нескольких параллельных связей в таких сетях нельзя.
Маршрутизаторы
Маршрутизатор ( router ) позволяет организовывать в сети избыточные связи, образующие петли. Он справляется с этой задачей за счет того, что принимает решение о передаче пакетов на основании более полной информации о графе связей в сети, чем мост или коммутатор. Маршрутизатор имеет в своем распоряжении базу топологической информации, которая говорит ему, например, о том, между какими подсетями общей сети имеются связи и в каком состоянии (работоспособном или нет) они находятся. Имея такую карту сети, маршрутизатор может выбрать один из нескольких возможных маршрутов доставки пакета адресату. В данном случае под маршрутом понимают последовательность прохождения пакетом маршрутизаторов. Например, на рисунке 5 для связи станций L2 сети LAN1 и L1 сети LAN6 имеется два маршрута: М1-М5-М7 и М1-М6-М7. В отличии от коммутатора/моста, который не знает, как связаны сегменты друг с другом за пределами его портов, маршрутизатор видит всю картину связей подсетей друг с другом, поэтому он может выбрать правильный маршрут и при наличии нескольких альтернативных маршрутов. Решение о выборе того или иного маршрута принимается каждым маршрутизатором, через который проходит сообщение. Для того, чтобы составить карту связей в сети, маршрутизаторы обмениваются специальными служебными сообщениями, в которых содержится информация о тех связях между подсетями, о которых они знают (эти подсети подключены к ним непосредственно или же они узнали эту информацию от других маршрутизаторов). M1, M2, . , M7 — маршрутизаторы LAN1, LAN2, LAN3, WAN4, WAN5, LAN6 — уникальные номера сетей в едином формате L1, L2, . — локальные номера узлов (дублируются, разный формат) Рисунок 5. Структура интерсети, построенной на основе маршрутизаторов Построение графа связей между подсетями и выбор оптимального по какому-либо критерию маршрута на этом графе представляют собой сложную задачу. При этом могут использоваться
разные критерии выбора маршрута – наименьшее количество промежуточных узлов, время, стоимость или надежность передачи данных. Маршрутизаторы позволяют объединять сети с различными принципами организации в единую сеть, которая в этом случае часто называется интерсеть ( internet ). Название интерсеть подчеркивает ту особенность, что образованное с помощью маршрутизаторов объединение компьютеров представляет собой совокупность нескольких сетей, сохраняющих большую степень автономности, чем несколько логических сегментов одной сети. В каждой из сетей, образующих интерсеть, сохраняются присущие им принципы адресации узлов и протоколы обмена информацией. Поэтому маршрутизаторы могут объединять не только локальные сети с различной технологией, но и локальные сети с глобальными. Маршрутизаторы не только объединяют сети, но и надежно защищают их друг от друга. Причем эта изоляция осуществляется гораздо проще и надежнее, чем с помощью коммутаторов/мостов. Например, при поступлении кадра с неправильным адресом коммутатор/мост обязан повторить его на всех своих портах, что делает сеть незащищенной от некорректно работающего узла. Маршрутизатор же в таком случае просто отказывается передавать «неправильный» пакет дальше, изолируя дефектный узел от остальной сети. Кроме того, маршрутизатор предоставляет администратору удобные средства фильтрации потока сообщений за счет того, что сам распознает многие поля служебной информации в пакете и позволяет их именовать понятным администратору образом. Нужно заметить, что некоторые коммутаторы/мосты также способны выполнять функции гибкой фильтрации, но задавать условия фильтрации администратор сети должен сам в двоичном формате, что достаточно сложно. Кроме фильтрации, маршрутизатор может обеспечивать приоритетный порядок обслуживания буферизованных пакетов, когда на основании некоторых признаков пакетам предоставляются преимущества при выборе из очереди. В результате, маршрутизатор оказывается сложным интеллектуальным устройством, построенным на базе одного, а иногда и нескольких мощных процессоров. Такой специализированный мультипроцессор работает, как правило, под управлением специализированной операционной системы. Функциональное соответствие видов коммуникационного оборудования уровням модели OSI Лучшим способом для понимания отличий между сетевыми адаптерами, повторителями, коммутаторами/мостами и маршрутизаторами является рассмотрение их работы в терминах модели OSI. Соотношение между функциями этих устройств и уровнями модели OSI показано на рисунке 6. Повторитель, который регенерирует сигналы, за счет чего позволяет увеличивать длину сети, работает на физическом уровне. Сетевой адаптер работает на физическом и канальном уровнях. К физическому уровню относится та часть функций сетевого адаптера, которая связана с приемом и передачей сигналов по линии связи, а получение доступа к разделяемой среде передачи, распознавание МАС-адреса компьютера – это уже функция канального уровня. Мосты выполняют большую часть своей работы на канальном уровне. Для них сеть представляется набором МАС-адресов устройств. Они извлекают эти адреса из заголовков, добавленных к пакетам на канальном уровне, и используют их во время обработки пакетов для принятия решения о том, на какой порт отправить тот или иной пакет. Мосты не имеют доступа к информации об адресах сетей, относящейся к более высокому уровню. Поэтому они ограничены в принятии решений о возможных путях или маршрутах перемещения пакетов по сети.