Техническая реализация коммутаторов.
Техническая основа работы коммутатора достаточно проста, и может быть выражена одним длинным предложением. Кадр, которые попадает на его вход (source port), направляется не на все активные порты (как это делает концентратор), а только на тот, к которому подключено устройство с МАС-адресом, совпадающим с адресом назначения кадра (destination port). Соответственно, первый вопрос, который приходится решать - соответствие портов коммутатора подключенным устройствам (вернее, их MAC-адресам). Для работы используется специальная таблица соответствия (content-addressable memory, САМ), которую коммутатор формирует в процессе "самообучения" по следующему принципу: стоит порту получить ответ от устройства с физическим адресом Х, как в CAM таблице появляется соответствующая строчка соответствия. Кадры с адресом назначения (source address, SA), имеющимся в таблице, направляются на соответствующий порт. При этом кадр, предназначенный всем узлам, или имеющий неизвестный коммутатору адрес назначения (destination address, DA), направляется на все активные порты. В процессе работы физические адреса подключенного оборудования могут меняться. При этом в таблице появляется новая запись. Если в ней отсутствует свободное место, стирается самая старая запись (принцип вытеснения). Так как скорость выборки нужного адреса напрямую зависит от размера САМ таблицы, неиспользованные в течении продолжительного промежутка времени записи автоматически удаляются. Однако такой упрощенный алгоритм жестко (без изменений) действует только в неуправляемых коммутаторах (Dumb). Это недорогие, простые устройства, которые успешно вытесняют хабы из ниши простейших сетей. Как правило они имеют небольшое количество портов, "офисное" исполнение, и не высокие технические характеристики. Возможность управления администратором отсутствует. Следующей ступенью развития стали настраиваемые коммутаторы (Smart). В них, используя порт RS-232, обычный Ethernet, или даже простейшую микро-клавиатуру, администратор может менять многие важные конфигурационные параметры, которые считываются затем только один раз (при загрузке). Например, таким образом можно блокировать механизм "самообучения" (составлять статическую таблицу соответствия портов МАС-адресам), устанавливать фильтрацию, виртуальные сети, задавать скорость и многое другое. Но самые большие возможности имеют управляемые коммутаторы (Intelligent). Они имеют интерфейс к полноценному процессору (точнее, компьютеру, поскольку он имеет и свою память), который позволяет контролировать работу и изменять параметры устройства без перезагрузки. Так же появляется возможность в реальном времени наблюдать за проходящими пакетами, считать проходящий трафик, и т.п. Однако, несмотря на огромное различие в уровне возможностей (и стоимости), общий принцип остается неизменным. Все узлы оказываются соединенными "отдельными" каналами с полной полосой пропускания (если нет одновременного обращения нескольких устройств к одному), и могут работать не подозревая о существовании друг друга. Единственную опасность для коммутируемой сети представляют "бродкастовые" штормы, т. е. случаи лавинообразно нарастающей перегрузки сети широковещательными (бродкастовыми) кадрами. Однако, во-первых, это возможно только в большох сетях (несколько сотен узлов), во-вторых, большинство управляемых коммутаторов позволяет легко решать и эту проблему за счет разделения одной большой сети на несколько виртуальных. Соответственно, базовые свойства (и ограничения) Ethernet (как разделяемой среды передачи данных) не применимы к сети, построенной с использованием коммутаторов. Коллизии отсутствуют, нет физического обоснования понятия максимальной длины линии, и максимального количества подключенных устройств. Например, реально могут использоваться оптоволоконные линии, передающие кадры Ethernet на сотни километров, а локальные сети могут объединять сотни рабочих станций или серверов.
|