Структуризация с помощью мостов и
коммутаторов
В данной главе рассматриваются устройства логической
структуризации сетей, работающие на канальном уровне стека протоколов, а именно
— мосты и коммутаторы. Структуризация сети возможна также на основе
маршрутизаторов, которые для выполнения этой задачи привлекают протоколы
сетевого уровня. Каждый способ структуризации — с помощью канального протокола
и с помощью сетевого протокола — имеет свои преимущества и недостатки. В
современных сетях часто используют комбинированный способ логической
структуризации — небольшие сегменты объединяются устройствами канального уровня
в более крупные подсети, которые, в свою очередь, соединяются маршрутизаторами.
Итак, сеть можно разделить на логические сегменты с помощью
устройств двух типов — мостов (bridge) и/или коммутаторов (switch, switching
hub). Сразу после появления коммутаторов в начале 90-х годов сложилось мнение,
что мост и коммутатор — это принципиально различные устройства. И хотя
постепенно представление о коммутаторах изменилось, это мнение можно услышать и
сегодня.
Тем не менее мост и коммутатор — это функциональные
близнецы. Оба эти устройства продвигают кадры на основании одних и тех же
алгоритмов. Мосты и коммутаторы используют два типа алгоритмов: алгоритм
прозрачного моста (transparent bridge), описанного в стандарте IEEE 802.ID,
либо алгоритм моста с маршрутизацией от источника (source routing bridge)
компании IBM для сетей Token Ring. Эти стандарты были разработаны задолго до
появления первого коммутатора, поэтому в них используется термин «мост». Когда
же на свет появилась первая промышленная модель коммутатора для технологии
Ethernet, то она выполняла тот же алгоритм продвижения кадров IEEE 802.ID,
который был с десяток лет отработан мостами локальных и глобальных сетей. Точно
так же поступают и все современные коммутаторы. Коммутаторы, которые продвигают
кадры протокола Token Ring, работают по алгоритму Source Routing, характерному
для мостов IBM.
Основное отличие коммутатора от моста заключается в том, что
мост обрабатывает кадры последовательно, а коммутатор — параллельно. Это
обстоятельство связано с тем, что мосты появились в те времена, когда сеть
делили на небольшое количество сегментов, а межсегментный трафик был небольшим
(он подчинялся правилу 80 на 20 %). Сеть чаще всего делили на два сегмента,
поэтому и термин был выбран соответствующий — мост. Для обработки потока данных
со средней интенсивностью 1 Мбит/с мосту вполне хватало производительности
одного процессорного блока.
При изменении ситуации в конце 80-х — начале 90-х годов —
появлении быстрых протоколов, производительных персональных компьютеров,
мультимедийной информации, разделении сети на большое количество сегментов —
классические мосты перестали справляться с работой. Обслуживание потоков кадров
между теперь уже несколькими портами с помощью одного процессорного блока
требовало значительного повышения быстродействия процессора, а это довольно
дорогостоящее решение.
Более эффективным оказалось решение, которое и «породило»
коммутаторы: для обслуживания потока, поступающего на каждый порт, в устройство
ставился отдельный специализированный процессор, который реализовывал алгоритм
моста. По сути, коммутатор — это мультипроцессорный мост, способный параллельно
продвигать кадры сразу между всеми парами своих портов. Но если при добавлении
процессорных блоков компьютер не перестали называть компьютером, а добавили
только прилагательное «мультипроцессорный», то с мультипроцессорными мостами
произошла метаморфоза — они превратились в коммутаторы. Этому способствовал
способ связи между отдельными процессорами коммутатора — они связывались
коммутационной матрицей, похожей на матрицы мультипроцессорных компьютеров, связывающие
процессоры с блоками памяти.
Постепенно коммутаторы вытеснили из локальных сетей
классические однопроцессорные мосты. Основная причина этого — очень высокая
производительность, с которой коммутаторы передают кадры между сегментами сети.
Если мосты могли даже замедлять работу сети, когда их производительность
оказывалась меньше интенсивности межсегментного потока кадров, то коммутаторы
всегда выпускаются с процессорами портов, которые могут передавать кадры с той
максимальной скоростью, на которую рассчитан протокол. Добавление к этому
параллельной передачи кадров между портами сделало производительность
коммутаторов на несколько порядков выше, чем мостов — коммутаторы могут
передавать до нескольких миллионов кадров в секунду, в то время как мосты обычно
обрабатывали 3-5 тысяч кадров в. секунду. Это и предопределило судьбу мостов и
коммутаторов.
Процесс вытеснения мостов начал протекать достаточно быстро
с 1994 года, и сегодня локальные мосты практически не производятся сетевой
индустрией. За время своего существования уже без конкурентов-мостов
коммутаторы вобрали в себя многие дополнительные функции, которые появлялись в
результате естественного развития сетевых технологий. К этим функциям
относятся, например, поддержка виртуальных сетей (VLAN), приоритезация трафика,
использование магистрального порта по умолчанию и т. п.
Сегодня мосты по-прежнему работают в сетях, но только на
достаточно медленных глобальных связях между двумя удаленными локальными
сетями. Такие мосты называются удаленными мостами (remote bridge), и алгоритм
их работы ничем не отличается от стандарта 802.ID или Source Routing.
Прозрачные мосты умеют, кроме передачи кадров в рамках одной
технологии, транслировать протоколы локальных сетей, например Ethernet в Token
Ring, FDDI в Ethernet и т. п. Это свойство прозрачных мостов описано в
стандарте IEEE 802.1H.
В дальнейшем будем называть устройство, которое продвигает
кадры по алгоритму моста и работает в локальной сети, современным термином
«коммутатор». При описании же самих алгоритмов 802.1D и Source Routing в
следующем разделе будем по традиции называть устройство мостом, как собственно
оно в этих стандартах и называется.