Коммутируемые виртуальные каналы

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

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

Рисунок иллюстрирует процесс прокладки виртуального канала между узлами N1, А1 и N2, А2 через сеть, представленную здесь двумя коммутаторами S1 и S2. На рисунке помечены три описанных ниже этапа выполнения этой процедуры.

1. Установление виртуального канала начинается с того, что узел-инициатор N1, А1 генерирует специальный пакет — запрос на установление логического соединения с узлом N2, А2. В нашем обобщенном примере этот запрос назван Call Setup (такое же название он носит и в некоторых конкретных сиг наль- ных протоколах, например в Q.933 для Frame Relay и Q.2931 для ATM). Уп­рощенно можно сказать, что запрос содержит пару: многоразрядный адрес

узла назначения и начальное значение идентификатора виртуального канала (VCI). Пусть в нашем примере в самом начале запрос Call Setup имеет сле­дующий начальный вид:

(102, 132456.8112).

Здесь 102 — начальное значение VCI, а 132456.8112 — адрес узла назначения, старшая часть которого — номер подсети, младшая часть — номер узла[40].


 


^Таблица маршрутизации^ коммутатора S1
Адрес назначения Порт
   
   

® 101;; юг Пакет Call Setup;; Порт 2 ЩИ 1061132456.81121 101 J 106 102
Порт 4 Пакет Call Setup ■■Ш1132456.8112

Порт 4 108Ю1
Порт 3

^Порт 3 Порт 1
Пакет Call Setup Mi 1081132456.81121 Узел N2, А2: 132456.8112
©
VCI Адрес Таблица коммутации коммутатора S1
Входной порт Входная метка Выходной порт Выходная метка
       
       
       

Рис. 21.1. Установление виртуального канала


 


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

Узел-инициатор должен выбрать коммутатор сети, которому целесообразно передать запрос на установление канала. Такой выбор может происходить на
основе таблицы маршрутизации узла-отправителя, но если узел соединен с сетью единственным портом, как в приведенном примере, то таблица мар­шрутизации узлу, естественно, не требуется. Попав в буфер порта 1 коммута­тора S1, пакет Call Setup обрабатывается в соответствии со своим адресом на­значения и значениями таблицы маршрутизации. Запись с адресом 132456 говорит, что пакет нужно передать на порт 3.

ПРИМЕЧАНИЕ ------------------------------------------------------------------------------------------------------------------------------------------

Заметим, что в приведенной таблице маршрутизации нет информации об адресе следую­щего коммутатора — в отличие от таблиц IP-сетей. Это связано с тем, что в глобальных сетях коммутаторы всегда связаны двухточечными линиями связи (физическими каналами), не поддерживающими множественное подключение, типичное для технологий локальных се­тей, поэтому номер выходного порта однозначно определяет следующий коммутатор.

2. После определения для пакета Call Setup выходного порта коммутатор S1 ге­нерирует для него новое значение номера виртуального канала, а именно 106. Этот номер был выбран потому, что на участке сети от порта 3 коммутато­ра S1 до порта 1 коммутатора S2 он однозначно идентифицирует устанав­ливаемый виртуальный канал. Именно это обстоятельство имелось в виду, когда ранее отмечалось, что идентификаторы виртуальных каналов имеют ло­кальный характер. После изменения значения идентификатора виртуального канала пакет Call Setup приобретает вид (106, 132456.8112) и передается че­рез выходной порт 3 коммутатора S1 на входной порт 1 коммутатора S2.

Одновременно с продвижением пакета коммутатор создает таблицу коммута­ции (не путайте с упомянутой выше таблицей маршрутизации). Таблица ком­мутации потребуется впоследствии, когда виртуальный канал будет установ­лен и по нему начнут передаваться пользовательские данные, причем уже без адресов узлов назначения. Каждая запись таблицы коммутации состоит из четырех основных полей:

О номера входного порта;

О входной метки (SVC) в поступающих на входной порт пакетах; О номера выходного порта;

О выходной метки (SVC) в передаваемых через выходной порт пакетах.

В таблице коммутации запись 1-102-3-106 означает, что все пакеты, которые поступят на порт 1 с идентификатором виртуального канала 102, будут про­двигаться на порт 3, а в поле идентификатора виртуального канала появится новое значение — 106.


Виртуальные каналы могут быть однонаправленными и двунаправленными. В рассматриваемом примере создается двунаправленный канал, поэтому ком­мутатор создает еще одну запись в таблице коммутации — для продвижения пакетов в обратном направлении, от узла N2, А2 к узлу N1, А1. Эта запись яв­ляется зеркальной по отношению к первой записи, так что пакет, имеющий метку 106 и поступивший на порт 3 коммутатора S1, получит при выходе из порта 1 первоначальное значение метки, а именно 102. В результате узел N1, А1 правильно распознает принадлежность пришедшего пакета виртуаль­ному каналу, несмотря на постоянные смены номеров в процессе путешест­вия пакета по сети.

3. Процедуру установления виртуального канала продолжает коммутатор S2. По адресу назначения, указанному в запросе, и по своей таблице маршрутиза­ции (на рисунке она не показана) он определяет выходной порт и передает на него запрос, обновляя при этом поле идентификатора виртуального канала. В данном случае коммутатор назначил пакету Call Setup номер виртуально­го канала 108. В результате запрос приходит в конечный узел в виде (108, 132456.8112). Конечный узел, получив запрос, может его принять или отверг­нуть. О положительном решении, то есть об установлении виртуального ка­нала, он сообщает служебным пакетом Connect, который проходит по сети в обратном направлении, используя «зеркальные» записи в таблице комму­тации.

После получения подтверждения Connect конечные узлы могут начать пользо­ваться проложенным виртуальным каналом, посылая по нему пользовательские данные. Отправляемые узлом N1, А1 ячейки продвигаются на основе значения идентификатора виртуального канала, который обычно имеет небольшую длину, например, в технологии Х.25 он занимает всего полтора байта, в то время как длина адреса узла в сети Х.25 достигает 16 байт.

По существу, в сетях на основе коммутируемых виртуальных каналов использу­ются два режима работы сети.

□ При прокладке канала SVC запрос на установление соединения передается по сети в стандартном режиме маршрутизации с глобальными (для всей сети) адресами назначения и информацией о полной топологии сети. То есть про­токолы установления виртуальных каналов (сигнальные протоколы) работа­ют на сетевом уровне модели OSI.

□ После установления соединения сеть начинает работать на основе локальных меток и локальных таблиц коммутации, что позволяет отнести такой режим к канальному уровню модели OSI, а коммуникационные устройства — к классу коммутаторов (стандартное название для устройств этого уровня).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: