Передача с установлением виртуального канала

Следующий способ продвижения данных основан на частном случае логического соедине ния, в число параметров которого входит жестко определенный для всех пакетов маршрут. То есть все пакеты, передаваемые в рамках данного соединения, должны проходить по одному и тому же закрепленному за этим соединением пути.

Единственный заранее проложенный фиксированный маршрут, соединяющий конечные узлы в сети с коммутацией пакетов, называют виртуальным каналом (virtual circuit или virtual channel).

Виртуальные каналы прокладываются для устойчивых информационных потоков. С целью выделения потока данных из общего трафика каждый пакет этого потока помечается специальным видом признака — меткой.

Так же как в сетях с установлением логических соединений, прокладка виртуального канала начинается с отправки из узла-источника специального пакета — запроса на установление соединения. В запросе указываются адрес назначения и метка потока, для которого прокладывается этот виртуальный канал. Запрос, проходя по сети, формирует новую запись в каждом из коммутаторов, расположенных на пути от отправителя до получателя. Запись говорит о том, каким образом коммутатор должен обслуживать пакет, имеющий заданную метку. Образованный виртуальный канал идентифицируется той же меткой.

После прокладки виртуального канала сеть может передавать по нему соответствующий поток данных. Во всех пакетах, которые переносят пользовательские данные, адрес назначения уже не указывается, его роль играет метка виртуального канала. При поступлении пакета на входной интерфейс коммутатор читает значение метки из заголовка пришедшего пакета и просматривает свою таблицу коммутации, по которой определяет, на какой выходной порт передать пришедший пакет.

Таблица коммутациикоммутатора S1

Адрес следущего назначения  Адрес следущего коммутатора
VC1 S2
VC2 S3

На рис. показана сеть, в которой проложены два виртуальных канала (Virtual Channel,VC), идентифицируемых метками VC1 и VC2. Первый проходит от конечного узла с адресом М до конечного узла с адресом N2 через промежуточные коммутаторы 51 и 52. Второй виртуальный канал VC2 обеспечивает продвижение данных по пути M-51-53-55-M3.

В общем случае, между двумя конечными узлами может быть проложено несколько виртуальных каналов, например еще один виртуальный канал между узлами N1 и N2 мог бы проходить через промежуточный коммутатор 53. На рисунке показаны два пакета, несущие в своих заголовках метки потоков VC1 и VC2, которые играют роль адресов назначения.

Таблица коммутации в сетях, использующих виртуальные каналы, отличается от таблицы коммутации в дейтаграммных сетях. Она содержит записи только о проходящих через коммутатор виртуальных каналах, а не обо всех возможных адресах назначения, как это имеет место в сетях с дейтаграммным алгоритмом продвижения. Обычно в крупной сети количество проложенных через узел виртуальных каналов существенно меньше общего количества узлов, поэтому и таблицы коммутации в этом случае намного короче, а следовательно, анализ такой таблицы занимает у коммутатора меньше времени. По той же причине метка короче адреса конечного узла, и заголовок пакета в сетях с виртуальными каналами переносит по сети вместо длинного адреса компактный идентификатор потока.

Водной и той же сетевой технологии могут быть задействованы разные способы продвижения данных. Так, дейтаграммный протокол IP используется для передачи данных между отдельными сетями, составляющими Интернет. В то же время обеспечением надежной доставки данных между конечными узлами этой сети занимается протокол TCP, устанавливающий логические соединения без фиксации маршрута. И наконец, Интернет — это пример сети, применяющей технику виртуальных каналов, так как в состав Интернета входит немало сетей ATM и Frame Relay, поддерживающих виртуальные каналы.