В данной главе рассматриваются устройства логической структуризации сетей, работающие на канальном уровне стека протоколов, а именно - мосты и коммутаторы. Структуризация сети возможна также на основе маршрутизаторов, которые для выполнения этой задачи привлекают протоколы сетевого уровня. Каждый способ структуризации - с помощью канального протокола и с помощью сетевого протокола - имеет свои преимущества и недостатки. В современных сетях часто используют комбинированный способ логической структуризации - небольшие сегменты объединяются устройствами канального уровня в более крупные подсети, которые, в свою очередь, соединяются маршрутизаторами.
Итак, сеть можно разделить на логические сегменты с помощью устройств двух типов - мостов (bridge) и/или коммутаторов (switch, switching hub). Сразу после появления коммутаторов в начале 90-х годов сложилось мнение, что мост и коммутатор - это принципиально различные устройства. И хотя постепенно представление о коммутаторах изменилось, это мнение можно услышать и сегодня.
Тем не менее мост и коммутатор - это функциональные близнецы. Оба эти устройства продвигают кадры на основании одних и тех же алгоритмов. Мосты и коммутаторы используют два типа алгоритмов: алгоритм прозрачного моста (transparent bridge), описанного в стандарте IEEE 802. ID, либо алгоритм моста с маршрутизацией от источника (source routing bridge) компании IBM для сетей Token Ring. Эти стандарты были разработаны задолго до появления первого коммутатора, поэтому в них используется термин «мост». Когда же на свет появилась первая промышленная модель коммутатора для технологии Ethernet, то она выполняла тот же алгоритм продвижения кадров IEEE 802.1D, который был с десяток лет отработан мостами локальных и глобальных сетей. Точно так же поступают и все современные коммутаторы. Коммутаторы, которые продвигают кадры протокола 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.1Н.
В дальнейшем будем называть устройство, которое продвигает кадры по алгоритму моста и работает в локальной сети, современным термином «коммутатор». При описании же самих алгоритмов 802.1D и Source Routing в следующем разделе будем по традиции называть устройство мостом, как собственно оно в этих стандартах и называется.