Сетевой уровень сети X.25

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 22:47, 26 января 2015.
Данная статья была согласована с её автором Р.А. Бельферым 28 апреля 2012 года.

__NUMBEREDHEADINGS__

Принцип установления виртуальных каналов в сети Х.25

Третий (сетевой) уровень выполняет функцию коммутации пакетов сети передачи данных стандарта МСЭ-Т Х.25. Описание принципа коммутации пакетов приведено в статье «Стек протоколов сети пакетной коммутации X.25».

Сетевой уровень Х.25 соответствует функции третьего уровня эталонной модели OSI – коммутация (маршрутизация) блока данных (в случае Х.25 – пакета данных “Д”). На сетевом уровне протокол Х.25/3 обеспечивает для уровней, расположенных выше в иерархии сервис с установлением соединений. Поэтому на этом уровне определены процедуры установления виртуальных соединений, передачи данных по виртуальным соединениям и разрыва виртуальных соединений. При использовании сервиса, ориентированного на соединение, каждый пакет данных вместо физического адреса включает в свой заголовок виртуального канала уникальный на узле коммутации номер, соответствующий логическому каналу. Протокол виртуального соединения стандарта Х.25 является мультиплексируемым протоколом, т.е. через один канал связи второго уровня может быть установлено много виртуальных соединений. Виртуальные соединения отличаются друг от друга уникальными логическими канальными номерами (LCNLogical Channel Number). В качестве примера покажем передачу по одному и тому же каналу второго уровня пакетов двух разных виртуальных соединений (рис. 1).

Рис. 1. Пример виртуальных соединений по одному каналу второго уровня

На рис. 1 показана маршрутизация двух виртуальных соединений (каналов): одного между оконечными станциями Н1- Н2, другого между оконечными станциями Н3 – Н4. Центр коммутации пакетов Х.25 ЦКП (А) может отличить пакеты, поступающие от Н1 и Н3 (номера LCN у них одинаковые и равны 1), так как эти пакеты поступают в ЦКП(А) по разным физическим линиям. Следующий за ним ЦКП(С) различить эти пакеты не может. Поэтому, для того, чтобы различить виртуальные соединения Н3 - Н4 и Н1 - Н2 в заголовке пакета первого соединения устанавливается уникальное для этого центра LCN, а в заголовке пакета второго соединения другое уникальное LCN, На рис 1 эти значения равны соответственно 19 и 144. Эти пакеты поступают на основании физических адресов оконечных станций в соответствии с таблицей маршрутизации в ЦКП(С). В ЦКП(С) на выходе в заголовке пакета первого соединения устанавливается уникальное для этого центра LCN(73), а в заголовке пакета второго виртуального соединения другое уникальное LCN(75). Аналогичная процедура выполняется в последнем ЦКП(Е). Таким образом на одних и тех же участках сети ЦКП(А)-ЦКП(С)-ЦКП(Е) передаются пакеты двух разных виртуальных каналов (ВК).

Сеть Х.25 обеспечивает два вида сервиса установления соединения: постоянный виртуальный канал ПВК (PVCPermanent Virtual Circuit) и коммутируемый виртуальный канал КВК (SVCSwitched Virtual Circuit).

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

Основным недостатком ПВК является его низкая надежность, так как сеть не позволяет быстро и безошибочно восстановить соединение между пользователями при неисправности звена данных (канала связи) между ЦКП. КВК устанавливается автоматически с помощью служебных пакетов. Описание установления КВК приводится позже.

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

На рис. 2 приведена иллюстрация мультиплексирования нескольких виртуальных каналов в один канал связи между ЦКП. Здесь через ВК1 обозначен виртуальный канал, соединяющий абонентов 1 и 1*, через ВК2 обозначен виртуальный канал, соединяющий абонентов 2 и 2*, через ВК3 обозначен виртуальный канал, соединяющий абонентов 3 и 3*, через ВК4 обозначен виртуальный канал, соединяющий абонентов 4 и 4*. На участке между ЦКП4 и ЦКП5 проходят все эти виртуальные каналы.

Рис. 2. Мультиплексирование виртуальных каналов

На рис. 3 приведены два виртуальных канала (КВК или ПВК), проходящие через три ЦКП. В первом виртуальном канале (КВК1 или ПВК1), изображенном сплошными линиями:

  • логический канальный номер LCN в заголовке входящего пакета в ЦКП1 –равен 5, в заголовке исходящего пакета – 3503;
  • в ЦКП2 соответственно 3503 и 1510;
  • в ЦКП3 соответственно 1510 и 2301.

Во втором виртуальном канале (изображенном пунктирными линиями) в ЦКП1 - 2020 и 1500; в ЦКП2 - 1500 и 835; в ЦКП3 - 835 и 4001.

Рис. 3. Прохождение пакетов двух виртуальных каналов через несколько ЦКП

Для того чтобы обеспечить индивидуальность виртуального канала, номер LCN в заголовке исходящего из ЦКП пакета должен быть уникальным. Это обеспечивается программным способом при установлении ВК с использованием свободного номера, не задействованного в этом ЦКП никаким другим соединением.

Рассмотрим информационные процессы в коммутируемом виртуальном канале. На рис. 4 приведен пример сети Х.25 с вычислительными средствами ЦКП1 и ЦКП2. Каждый из этих ЦКП состоит из центрального процессора (Цпр), выполняющего функции сетевого уровня и канальных процессоров, выполняющих функции канального уровня (Kпр).

Как видно из рисунка, канальные процессоры Kпр1, Kпр2, Kпр3 ЦКП1 и ЦКП2 взаимодействуют с центральным процессором Цпр своего ЦКП и процессорами оконечных станций (Пр). Канальные процессоры Kпр4, Kпр5, Kпр6 взаимодействуют с центральным процессором Цпр своего ЦКП и канальными процессорами смежных ЦКП.

Рис. 4. Вычислительные средства двух ЦКП сети X.25

Процессоры оконечных пунктов выполняют функции всех уровней модели OSI.

Диаграмма установления коммутируемого виртуального канала

На рис. 5 приведена упрощенная диаграмма установления КВК между оконечными пунктами А и Б и передача пакета данных «Д» по этому КВК от А в Б. Обработка пакетов «Запрос вызова» и «Вызов принят» выполняет одновременно функции составления таблицы маршрутизации по логическим канальным номерам LCN и установление коммутируемого виртуального канала.

Приведем краткое описание этих информационных процессов:

  1. с транспортного уровня оконечной станции А на сетевой уровень поступает примитив «Запрос» на установление КВК между А и Б;
  2. с сетевого уровня на канальный уровень станции А поступает пакет «Запрос вызова» («ЗВ»), в заголовке которого размещены физические адреса оконечных станций А и Б (адресация по рекомендации Х.121) и логический канальный номер LCN=1. Адреса Х.121 имеют максимальную длину, равную 14 цифрам, из которых одна цифра — код зоны. МСЭ-Т разделил мир на 7 зон, три цифры — идентификатор сети в зоне, десять цифр — номер сетевого терминала;
  3. с канального уровня станции А в ЦКП1 поступает кадр «I» с вложенным (инкапсулированным) в него пакетом «ЗВ». Кадр передается в канал связи;
  4. кадр «I» с входящим в него пакетом «3В» поступает на канальный процессор Kпр1 ЦКП1; На выходе Kпр1 этот кадр освобождается от заголовка и вложенный в него пакет «3В» поступает на центральный процессор Цпр.
  5. центральный процессор Цпр выполняет функции сетевого уровня и производит коммутацию этого пакета на Kпр4, установив при этом в заголовке новое значение LCN=123. Коммутация производится с помощью таблицы маршрутизации на основании физических адресов А и Б в заголовке пакета;
  6. кадр «I» с пакетом «3В» (c заголовком LCN=123) поступает на Kпр4 ЦКП2. На выходе Kпр4 кадр освобождается от заголовка;
  7. пакет с LCN=123 в заголовке поступает на Цпр ЦКП2, где производится его коммутация на Kпр2 и установка нового значения LCN=4001;
  8. на выходе Kпр2 ЦКП2 формируется кадр «I» с вложенным в него пакетом «3В» (LCN=4001);
  9. этот кадр передается в канал и затем поступает на процессор оконечной станции Б;
  10. на оконечной станции Б кадр освобождается от заголовка после его обработки, и входящий в него пакет под измененным названием («Входящий вызов» – «ВВ» ) с LCN = 4001 поступает на сетевой уровень;
  11. после обработки заголовка поступившего пакета «ВВ» ЦПр оконечной станции Б направляет примитив «индикация соединения» на транспортный уровень с указанием адресов А и Б;
  12. с транспортного уровня поступает примитив «ответ»;
  13. при положительном решении сетевой уровень оконечной станции Б формирует пакет «Вызов принят» («ВП») с LCN = 4001;
  14. процессор Пр отправляет «I» кадр с вложенным в него пакетом «ВП».
Рис. 5. Установление КВК и передача по нему пакета данных

Далее в обратном направлении по тому же пути до оконечной станции А пересылается информационный кадр, и на сетевой уровень А поступает пакет под названием «Соединение установлено» с LCN = 1. С сетевого уровня на транспортный уровень поступает примитив «подтверждение соединения». На этом завершается фаза установления КВК между оконечными пунктами А и Б. Следующая строка на диаграмме иллюстрирует прохождение от А в Б пакета «Данные» («Д») по установленному КВК.

Примитив с транспортного уровня сообщает сетевому уровню о необходимости передачи пакета «Д» по КВК между А и Б. Сетевой уровень пункта А формирует пакет «Д» c LCN = 1. Физические адреса А и Б в пакетах с данными «Д» отсутствуют, так как все пакеты с данными, принадлежащие информационному потоку А Б, будут пересылаться через сеть по одному и тому же маршруту, установленному КВК. Как видно из диаграммы, пакет «Д» проходит через ЦКП1 и ЦКП2 в оконечный пункт Б по тому же маршруту (через те же канальные процессоры) и с теми же логическими канальными номерами LCN, которые были во входящем и исходящем пакетах «Запрос вызова» и «Вызов принят».

В обратном направлении пакет «Д» (из Б в А) будет проходить по тому же маршруту и логические канальные номера LCN будут устанавливаться, как в выше приведенных пакетах «Вызов принят» и «Соединение установлено».

Установление КВК и передача пакетов «Д» между другими оконечными пунктами, подключенными к ЦКП1 и ЦКП2 (например, С-Д, Г-Е) производится через соответствующие канальные процессоры абонентского доступа (С - через Kпр2 ЦКП1, Г - через Kпр3 ЦКП1), но через одни и те же канальные процессоры Kпр4, подключенные к каналу связи между ЦКП1 и ЦКП2.

Логические канальные номера LCN в пакетах, передаваемых между ЦКП1 и ЦКП2, должны быть индивидуальными для каждого КВК. На этом участке могут проходить пакеты «Д» по всем КВК, максимальное число которых определяется в Х.25 полем в 12 бит. Максимальное число виртуальных каналов, обслуживаемых центральным процессором одного ЦКП, составляет 4094.

Перечислим некоторые из основных полей заголовка пакета сетевого уровня Х.25:

  • логический канальный номер LCN;
  • тип пакета (пакеты установления и сброса виртуального соединения, пакеты данных «Д» верхних уровней, пакеты управления потоком, пакеты прерываний, пакеты подтверждения прерываний). Длина поля данных пользователя в пакете дана по умолчанию равной 128 байт, но доступны также и другие значения: 16, 32, 64, 256, 512, 1024, 2048 и 4096 байт;
  • биты специальных операций (D – бит, М – бит, Q – бит).

Пакеты прерываний обеспечивают механизм, при помощи которого могут быть отправлены срочные данные. Большинство производителей оборудования поддерживают две очереди пакетов «Д» для каждого выходного порта – одна для обычных данных, а другая для данных прерываний (т.е с приоритетом). Прежде чем обслуживать обычную очередь производится проверка того, что очередь пакетов прерываний пуста.

Управление потоком данных является важным аспектом сервиса Х25/3 по причине природы операций виртуального соединения, требующих гарантированной доставки данных. Для гарантии того, что пакеты не потеряются, важно ограничить количество неподтвержденных пакетов, т.е. размер окна виртуального канала сетевого протокола.

На сетевом уровне Х25/3 предусмотрена возможность остановить отправку пакетов «Д» при получении пакета RNR - receive not ready (неготовность к приему) по определенному виртуальному каналу. Этот механизм используется для снятия перегрузки.

Особенности протокола сетевого уровня Х.25

При сравнении с сетевым уровнем модели OSI других технологий сетей протокол сетевого уровня Х25/3 имеет несколько отличий. Этот стандарт не содержит протокола маршрутизации. Под протоколом маршрутизации понимается автоматическая коррекция таблиц маршрутизации при отказах каналов связи, перегрузке и других изменениях в сети. Эти функции в сети Х.25 (относительно таблицы маршрутизации по физическим адресам) отнесены к специфике реализации. Следует отметить, что протоколы маршрутизации разработаны в стандартах других сетей связи, (например, в системе сигнализации ОКС№7, в IP-сети). Эти протоколы учитывают коррекцию таблицы маршрутизации при отказах каналов связи и узлов коммутации, при перегрузках.

Х.25 является протоколом интерфейса абонентского доступа.

На абонентском доступе сети Х.25 располагается два вида оборудования:

  • оконечное оборудование данных OOД (DTE, Data Terminal Equipment), машина конечного пользователя, в качестве которой может быть терминал или компьютер;
  • оборудование окончания канала данных АКД (DCE, Data Circuit-terminating Equipment). Функция канала данных состоит в подключении ООД к каналу передачи данных. АКД преобразует цифровой сигнал ООД в сигналы, согласованные с характеристиками существующих каналов связи (аналоговых или цифровых). Примером АКД является модем.

Протокол сетевого уровня Х25/3 выполняет несколько функций, которые обычно относятся к функциям транспортного уровня. Операции включают использование нескольких специальных битов в заголовках пакетов. Пакеты данных Х.25 содержит D – бит, Q – бит и М – бит.

Сквозное подтверждение (D – бит)

Когда бит D установлен в 1, то предусмотрено сквозное подтверждение приема пакета, т.е. от одного оконечного оборудования данных (ООД) до другого ООД. Если пакет с D=1 достигает ООД получателя, то это оборудование отвечает за обеспечение подтверждения. Это подтверждение направляется обратно к ООД отправителя, таким образом, реализуя сквозное подтверждение. В этом случае с транспортного уровня снимается функция гарантии правильной последовательности принятых пакетов, которая обычно имеет место в сетях других технологий.

В сети Х.25 в большинстве случаев используется локальное подтверждение правильного приема пакетов, т.е. на участке между ООД и аппаратурой канала данных АКД. В этом случае за проверку правильной последовательности пакетов во входящем потоке отвечает транспортный уровень (четвертый уровень OSI).

Формирование и сборка пакетов данных (М – бит)

В соответствии с моделью OSI, транспортный уровень отвечает за сегментацию сообщений таким образом, чтобы размер сегмента не превышал максимального размера пакета, требуемого сетевым уровнем. Транспортный уровень получателя выполняет процесс обратный сегментации, чтобы восстановить сообщение. Посредством М – бита в заголовке пакета «Д» протокол сетевого уровня Х25/3 забирает у транспортного уровня функцию сегментации сообщений и их сборки. Результатом является последовательность связанных пакетов, которые после сборки образуют исходное сообщение. Для этого отправитель устанавливает М – бит всех пакетов за исключением последнего в последовательности пакетов в 1. В последнем пакете последовательности М – бит устанавливается в 0. На основании значений М – бита, получатель может собрать пакеты в исходное сообщение, прежде чем оно будет передано на транспортный уровень.

Отправка данных специального назначения (Q – бит)

Q – бит, находящийся в заголовке пакета данных, используется для указания альтернативного места назначения для содержимого поля пользовательских данных определенного пакета. В обычных условиях Q – бит в пакете «Д» установлен в 0. Это значит, что содержащиеся в пакете данные предназначены для конечного пользователя. Если Q – бит установлен в 1, это значит, что получатель содержимого поля является не «типичным» конечным пользователем, а некоторым другим объектом в местоположении получателя. Например, можно управлять конфигурацией удаленного конечного пользовательского устройства во время установленного виртуального соединения. Допустим, мы хотим изменить значение параметра канального уровня (такого как размер окна) во время обмена пакетами «Д». Для этого, используя Q - бит, можно отправить команду с новыми параметрами настройки в поле данных пакета Х.25. Когда этот пакет достигнет получателя, его содержимое будет направлено не на сетевой уровень, а на канальный уровень. Таким образом, Q – бит позволяет выбрать одно их двух мест назначения для содержимого каждого пакета «Д». Так как Q – бит занимает поле в 1 бит, то поддерживается один «нетипичный» конечный пользователь, который определяется во время установления соединения.

Услуга информационной безопасности «Замкнутая группа абонентов»

В рекомендации Х.25 предусмотрены дополнительные услуги. Замкнутая группа пользователей CUG (Closed User Group) является одной из таких услуг и служит средством обеспечения безопасности в отношении защиты от несанкционированного доступа. Членом CUG назначается с помощью идентификатора, который включается в заголовок пакетов установления соединения коммутируемого виртуального канала. Без идентификатора CUG виртуальные соединения не будут устанавливаться с другими членами CUG. Это средство обеспечения безопасности имеет несколько режимов. В одном из них только члены CUG могут устанавливать виртуальные соединения друг с другом. Доступ за пределы группы CUG запрещен. Более того, доступ кого-либо извне также воспрещен. В другом режиме члены CUG могут устанавливать соединение с любым другим пользователем сети вне зависимости от того, является он или нет членом CUG. Однако установка соединений с членами группы CUG извне её запрещена. Хотя концепция группы CUG менее сложная и отличается от современных виртуальных частных сетей VPN (Virtual Private Network), между ними можно провести тесную параллель. Для классической VPN характерно обеспечение не только защиты от несанкционированного доступа, но и выполнение требований по качеству обслуживания.