Рис. 4.37. Формат сообщения Query
Следующие флаги, DR, M и TR, определяют параметры физического уровня для передачи считывателя и ответов метки. Например, скорость ответа может быть установлена между 5 и 640 Кбит/с. Мы пропустим подробности этих флагов.
Затем следуют три поля, Sel, Сеанс и Цель, для выбора отвечающих меток. Так же как считыватели имеют возможность выбрать подмножество идентификаторов, метки отслеживают до четырех параллельных сеансов и были ли они идентифицированы в этих сеансах. Таким образом, несколько считывателей могут действовать в пересекающейся области при использовании разных сеансов.
Затем идет самый важный параметр этой команды, Q. Это поле определяет диапазон слотов, по которым ответят метки, от 0 до 2Q - 1. Наконец, имеется CRC, чтобы защитить поля сообщения. Она занимает 5 бит, что короче, чем большинство CRC, которые мы рассматривали, но и сообщение Query намного короче, чем большинство пакетов.
Сообщения от метки к считывателю более просты. Так как считыватель управляет ситуацией, он знает, какое сообщение ожидать в ответ на каждую из своих передач. Ответы метки просто переносят данные, такие как идентификатор EPC.
Первоначально метки применялись только в целях идентификации. Однако со временем они выросли и стали напоминать очень маленькие компьютеры. У некоторых исследовательских меток есть датчики, и они в состоянии выполнить маленькие программы, чтобы собрать и обработать данные (Sample и др., 2008). Один из взглядов на эту технологию — «Интернет вещей», который присоединяет объекты материального мира к Интернету (Welboume и др., 2009; Gershenfeld и др., 2004).
4.8. Коммутация на канальном уровне
У многих организаций имеется по нескольку локальных сетей, которые необходимо объединять между собой. Может быть, удобно объединить эти сети в одну большую локальную сеть? Это можно сделать с помощью специальных устройств, называемых мостами (bridges). Коммутаторы Ethernet, которые мы описали в разделе 4.3.4, — это современное название мостов; они обеспечивают функциональность, которая идет вне классического Ethernet и концентраторов Ethernet, чтобы облегчить соединение нескольких ЛВС в большую и более быструю сеть. Мы будем использовать термины «мост» и «коммутатор» попеременно.
Мосты работают на канальном уровне. Они анализируют адреса, содержащиеся в кадрах этого уровня, и в соответствии с ними осуществляют маршрутизацию. Поскольку мосты не исследуют сами данные, передающиеся в кадрах, то они одинаково хорошо справляются с пакетами IP, а также с другими типами пакетов, например пакетами AppleTalk. В отличие от мостов маршрутизаторы (routers) анализируют адреса в пакетах и работают, основываясь на этой информации, поэтому они могут работать только с теми протоколами, для которых предназначены.
В этом разделе мы рассмотрим работу мостов и соединение с их помощью нескольких физических локальных сетей в одну логическую локальную сеть. Кроме того, мы рассмотрим противоположную задачу — разделение одной физической локальной сети на несколько логических локальных сетей, так называемых виртуальных ЛВС (ВЛВС - VLAN, Virtual LAN). Обе технологии предоставляют полезную гибкость в управлении сетями. Подробную информацию о мостах, коммутаторах и близких темах можно найти у (Seifert и Edwards, 2008) и (Perlman, 2000).
4.8.1. Применение мостов
Прежде чем перейти к обсуждению мостов, давайте рассмотрим несколько часто встречающихся ситуаций, в которых они используются. Перечислим шесть причин, по которым в организации может появиться несколько локальных сетей.
Во-первых, у многих подразделений университетов и отделов корпораций есть свои локальные сети, соединяющие персональные компьютеры, серверы и такие устройства, как принтеры. Поскольку цели различных факультетов или отделов различны, то и объединение в локальные сети часто происходит по факультетам и отделам, которым не очень интересно, как построена сеть у соседей. Однако рано или поздно им требуется взаимодействие, поэтому появляется необходимость в мостах. В данном примере несколько отдельных локальных сетей образовалось вследствие автономности их владельцев.
Во-вторых, организации могут размещаться в нескольких зданиях, значительно удаленных друг от друга. Может оказаться дешевле создать несколько отдельных локальных сетей и затем соединить их с помощью мостов и нескольких оптоволоконных кабелей на большое расстояние, вместо того чтобы протягивать все кабели к одному центральному коммутатору.
Даже если кабели легко проложить, есть пределы их возможной длины (например, 200 м для витой пары Gigabit Ethernet). Сеть не будет работать с более длинными кабелями из-за чрезмерного ослабления сигнала или задержки туда и обратно. Единственное решение состоит в том, чтобы разделить ЛВС и установить мосты, соединяющие ее части, чтобы увеличить полную физическую дистанцию, которая может быть преодолена.
В-третьих, иногда бывает необходимо логически разделить одну локальную сеть на несколько отдельных локальных сетей, соединенных мостами, чтобы снизить нагрузку. Так, например, во многих крупных университетах в сети объединены тысячи рабочих станций, на которых работают студенты и сотрудники. В организации могут работать тысячи сотрудников. Огромные масштабы не позволяют объединить все эти рабочие станции в одну локальную сеть — компьютеров больше, чем портов в любом Ethernet концентраторе, станций больше, чем возможно в одном классическом Ethernet.
Однако емкость двух отдельных ЛВС в два раза больше, чем у одной. Мосты позволяют объединять ЛВС, сохраняя эту емкость. Идея в том, чтобы не посылать трафик на порты, где он не нужен, так чтобы каждая ЛВС могла работать на максимальной скорости. Такое поведение также увеличивает надежность, так как на одной ЛВС дефектный узел, который продолжает выводить непрерывный поток мусора, может забить всю ЛВС. Решая, что пересылать, а что нет, мост действует, как пожарные двери в здании, защищая всю систему от разрушения одним ненормальным узлом.
Для лучшего использования этих преимуществ мосты должны быть полностью прозрачны. Должна быть возможность пойти и купить мосты, включить в них кабели ЛВС, и чтобы все немедленно отлично работало.
Все это должно происходить без каких-либо изменений аппаратуры, настроек адресов коммутатора, программного обеспечения или конфигурационных таблиц и т. п. Кроме того, работа существующих ЛВС вообще не должна быть затронута мостами. Что касается затронутых станций, не должно быть никакого заметного различия, являются ли они частью ЛВС с мостами или нет. Должно быть столь же легко переместить станции в ЛВС с мостами, как и в одиночной ЛВС.
Удивительно, но создать прозрачные мосты возможно. Используется два алгоритма: алгоритм противоточного обучения, чтобы остановить трафик, посылаемый, где это не необходимо; и алгоритм связующего дерева, чтобы разрушить циклы, которые могут возникнуть при соединении коммутаторов. Теперь рассмотрим эти алгоритмы по очереди, чтобы изучить, как это волшебство достигнуто.
4.8.2. Обучаемые мосты
Топология двух ЛВС, соединенных мостом, показана на рис. 4.38 для двух вариантов. Слева, к двум многоточечным ЛВС, таким как классический Ethernet, присоединяется специальная станция — мост, который сидит на обеих ЛВС. Справа объединены ЛВС с двухточечными кабелями, включая один концентратор. Мосты — устройства, к которым присоединены станции и концентратор. Если технология ЛВС — Ethernet, мосты более известны под названием коммутаторы.
Рис. 4.38. Мосты: а — мост, соединяющий две многоточечные ЛВС; б — мосты (и концентратор), соединяющие семь станций по двухточеной схеме