Доступным языком о протоколе x 25. Глобальные сети с коммутацией пакетов. Протоколы сетей x.25

Доступным языком о протоколе x 25. Глобальные сети с коммутацией пакетов. Протоколы сетей x.25

14.04.2019

Уважаемые хабровчане, я хочу рассказать вам о сетях пакетной коммутации, построенных на основе протокола передачи данных ITU-T X.25. Мне посчастливилось заниматься сопровождением и развитием одной корпоративной сети X.25 на протяжении нескольких лет.

Протокол X.25

Протокол X.25 был разработан на смену протоколу ISDN, который для передачи данных обладает существенными недостатками (отсутсвие статистического мультиплексирования). Первая редакция стандарта была утверждена в 1976 году. В основу протокла легли следующие основные идеи:
- Контроль передачи между двумя узлами сети
- Контроль передачи между конечными абонентами
- Маршрутизация в момент установления соединения
- Коммутация пакетов по установленному маршруту

Во многих источниках говорится, что X.25 - протокол канального уровня. Это не так. X.25 создавался до разработки семиуровневой модели OSI. В канальный уровень его «записывают» только из-за широко применяемой инкапсуляции протокола IP в X.25. На самом деле протокол имеет все признаки сетевого уровня (маршрутизация между сетями) и обеспечивает контроль передачи между конечными абонентами, т.е. выходит транспортный уровень.

Основным преимуществом протокола является высокая эффективность в сетях, построенных на каналах связи с высоким уровнем ошибок. Основными недостатками - ограниченная производительность, не приспособленность к передаче real time данных.

Сеть X.25

Все абоненты сети X.25 делятся на синхронных и асинхронных. Синхронные имеют встроенные интерфейсы X.25, а асинхронные для передачи данных используют устройства под названием PAD (Packet Assembler-Disassembler). PAD принимает асинхронные потоки со своих портов и передает их в коммутируемом соединении через интерфейс X.25.

Основу сети составляют пакетные коммутаторы. Они соединяются между собой синхронными каналами связи (преимущественно X.21 через синхронные модемы по каналам ТЧ или радиоканалам). Синхронные абоненты сети подключаются непосредственно к пакетным коммутаторам. Также к коммутаторам подключаются PADы.

В сети используется адресация по стандарту X.121. Она чем-то напоминает IP адресацию, но без точек и с десятичной маской. Маска в явном виде никогда не указывается, просто длина адреса может варьироваться от 10 до 15 десятичных символов.

Адрес X.121 имеет вид:
DDDDNNNPPPP
где
DDDD - DNIC (Номер сети, аналог автономной системы в IP)
NNN - Node (Номер узла)
PPPP - Port (Номер порта)
SSSSS - Subadress (Субадрес)

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

Важный момент - маршрутизация происходит в момент установления логического соединения (SVC), после установления соединения происходит только коммутация. Для этого на каждом порту создаются логические каналы (LCI). Количество доступных LCI на интерфейсе ограничивает доступное количество логических соединений через него.

Если на маршруте установленного соединения произойдет сбой, то после таймаута и переповторов абоненты переустановят соединение.

Сеть, с которой мне пришлось иметь дело, вначале использовалась для работы асинхронных терминалов, которые по zmodem осуществляли передачу файлов на файловый коммутатор («вертушка»). Позже появились синхронные терминалы, обменивающиеся информацией с сервером и маршрутизаторы IP. Все работало очень медленно и очень надежно. Скорость на магистральных каналах ТЧ была не выше 19200, а в глубинке было и по 2400 «за счастье», что не мешало передавать данные.

Позже стали появляться каналы FR, которые использовались для X.25 over FR. Когда появились качественные каналы IP, постепенно начали внедрять XOT (X.25 over IP).

Важный момент - обе технологии предполагают туннелирование X.25 через неродные для него протоколы. Иногда удобно «затерминировать» протокол X.25 на интерфейсе, на который он приходит через туннель. Протокл этого не предусматривает, терминирование протокола возможно только на интерфейсах с чистым X.25 (over LAP-B), а туннелирование можно применять только внутри сети для коммутации между узлами.

Case Communications

Сеть, с которой я работал, была построена на оборудовании английской компании Case Communications . Эта компания часто меняла собственников и названия, в одно время называлась Cray Communications. Начинали они с пакетных коммутаторов, также у них были и Ethernet продкуты, маршрутизаторы. Подразделение, которое производило маршрутизаторы было выкуплено Intel, в результате чего появились достаточно известные модели Intel Express Router 9100 и иже с ним. В настоящее время компания занимается разработкой и производством linux маршрутизатров.

Линейка пакетных коммутаторов Case состояла из узлов (Packet Switch Exchange - PSE), коммутаторов X.25/Frame-Relay Assembler-Disassembler - XFRAD) и PAD. Особенность PSE была в том, что между ними можно было делать транковые соединения, которые не адресовались как обычные порты, но использовались для связи между узлами сети. С сетью поставлялась система управления на платформе Sun с графическим интерфейсом под Х11.

Самой продвинутой моделью был модульный PSE8525. Это 13 юнитовое шасси для стойки 19" на 16 модулей интерфейсов и модуль управления, в шасси устанавливалось до 5 блоков питания. Архитектура этой штуковины заслуживает особого внимания.

Основой являлась вертикальная плата backplane. Активных элементов на ней обнаружено не было (!) - просто набор шин. Backplane делила шасси на две части - спереди платы с контроллерами и процессорами, сзади - платы с интерфейсами, всего 17 слотов. В первые 16 слотов можно было установить платы портов X.25 или платы PAD. В последнем слоте - плата manager.

Все остальные платы состояли из двух частей - платы контроллеров и платы процессора. Процессорные платы (UPM) были для всех плат одинаковые, контроллер портов X.25 (SP-XIM) и менеджер были разными.

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

Все платы можно было вынимать и переустанавливать «на ходу». Известны случаи, когда шасси работало без менеджера более месяца. Сравните это с вытаскиванием супервизора из Cisco7600! ;)

Заключение

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

Развитие систем связи привело к тому, что протокол X.25 перестал удовлетворять требованиям современных приложений к скорости передачи данных, а наличие высокоскоростных каналов связи с низким уровнем ошибок позволяет решать современные задачи с помощью протоколов семейства TCP/IP.

Основы, заложенные в архитектуру протокола и сетей X.25 иллюстрируют рациональный подход к решению поставленной задачи, и являются отличным учебным материалом. Возможно, некоторые из идей, заложенных в X.25, еще вернутся но на более высоких уровнях. В частности, технология MPLS TE (Traffic Engineering) в чем-то сходна с X.25 в отношении построения логических каналов.

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

NUMBEREDHEADINGS__

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

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

Сетевой уровень Х.25 соответствует функции третьего уровня эталонной модели OSI – коммутация (маршрутизация) блока данных (в случае Х.25 – пакета данных “Д”). На сетевом уровне протокол Х.25/3 обеспечивает для уровней, расположенных выше в иерархии сервис с установлением соединений. Поэтому на этом уровне определены процедуры установления виртуальных соединений, передачи данных по виртуальным соединениям и разрыва виртуальных соединений. При использовании сервиса, ориентированного на соединение, каждый пакет данных вместо физического адреса включает в свой заголовок виртуального канала уникальный на узле коммутации номер, соответствующий логическому каналу. Протокол виртуального соединения стандарта Х.25 является мультиплексируемым протоколом, т.е. через один канал связи второго уровня может быть установлено много виртуальных соединений. Виртуальные соединения отличаются друг от друга уникальными логическими канальными номерами (LCN Logical 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 обеспечивает два вида сервиса установления соединения: постоянный виртуальный канал ПВК (PVC Permanent Virtual Circuit ) и коммутируемый виртуальный канал КВК (SVC Switched 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. Физические адреса А и Б в пакетах с данными «Д» отсутствуют, так как все пакеты с данными, принадлежащие информационному потоку А ↔ {\displaystyle \leftrightarrow } Б, будут пересылаться через сеть по одному и тому же маршруту, установленному КВК. Как видно из диаграммы, пакет «Д» проходит через ЦКП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 характерно обеспечение не только защиты от несанкционированного доступа, но и выполнение требований по качеству обслуживания.

Глобальные сети с коммутацией пакетов

Лекция №11.

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

Долгое время сеть X.25 была единственной широко распространенной коммерческой сетью (сеть Internet, как коммерческая стала эксплуатироваться совсем недавно), поэтому для корпоративных пользователей выбора не было.

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

Сеть X.25 состоит из коммутаторов, соединенных между собой по схеме «точка-точка», и работающих с установлением виртуального канала. Для связи коммутаторов могут использоваться цифровые линии PDH/SDH или аналоговые модемы, работающие по выделенной линии.

Компьютеры (маршрутизаторы), поддерживающие интерфейс X.25, могут подключаться к коммутатору непосредственно, а менее интеллектуальные терминалы (банкоматы, кассовые аппараты) – при помощи специального устройства PAD (Packet Assembler Disassembler). PAD может быть встроенным в коммутатор или удаленным. Терминалы получают доступ ко встроенному PAD по телефонной сети с помощью модемов (встроенный PAD также подключается к телефонной сети с помощью нескольких модемов). Удаленный PAD представляет собой небольшое автономное устройство, находящиеся в помещении клиента и подключенное к коммутатору через выделенную линию. К удаленному PAD терминалы подключаются через COM-порт (интерфейс RS-232C).

Один PAD обычно обеспечивает доступ для 8, 16 и 24 терминалов .

Терминалы не имеют конечных адресов в сети X.25 – адрес присваивается только порту PAD.

Адресация в сетях X.25 строиться по следующему принципу : в адресе используются десятичные цифры, длина адреса не может превышать 16 цифр . Если сеть X.25 не связана с внешним миром, то она может использовать любой адрес. Если же сеть X.25 планирует связаться с другими сетями, то необходимо придерживаться международного стандарта адресации (стандарт X.121 – International Data Numbers, IDN).

Формат адреса в сети X.25 представляет собой следующее:

4 цифры – код идентификации сети (Data Network Identification Code, DNIC), 3 цифры – определяют страну, в которой находится сеть X.25, 1 цифра – номер сети X.25 в данной стране, остальные цифры – номер национального терминала (National Terminal Number, NTN) (соответствуют адресу компьютера в сети).

Из приведенного формата, очевидно, что в одной стране может быть только 10 сетей X.25. Если требуется пронумеровать больше чем 10 сетей, то одной стране дается несколько кодов. Например, Россия имела до 1995 года один код – 250, а в 1995 году ей был выделен еще один код – 251.

В адресе могут использоваться не только цифры, но и произвольные символы (для этого к адресу нужно добавить специальный префикс), что позволяет универсальным коммутаторам, например коммутаторам сети ISDN, работать с пакетами сети X.25.

Основным недостатком сети X.25 является то, что она не дает гарантийной пропускной способности сети. Максимум на что она способна – это устанавливать приоритеты для отдельных виртуальных каналов. Поэтому сеть X.25 используется только для передачи трафика, чувствительного к задержкам (например, голоса). Решением этой проблемы занимаются сети Frame Relay и ATM.

Назначение и структура сетей Х.25

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

Стандарт Х.25 «Интерфейс между оконечным оборудованием данных и аппаратурой передачи данных для терминалов, работающих в пакетном режиме в сетях передачи данных общего пользования» был разработан комитетом CCITT в 1974 году и пересматривался несколько раз. Стандарт наилучшим образом подходит для передачи трафика низкой интенсивности, характерного для терминалов, и в меньшей степени соответствует более высоким требованиям трафика локальных сетей. Как видно из названия, стандарт не описывает внутреннее устройство сети Х.25, а только определяет пользовательский интерфейс с сетью. Взаимодействие двух сетей Х.25 определяет стандарт Х.75.

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

    Наличие в структуре сети специального устройства - PAD (Packet Assembler Disassembler) , предназначенного для выполнения операции сборки нескольких низкоскоростных потоков байт от алфавитно-цифровых терминалов в пакеты, передаваемые по сети и направляемые компьютерам для обработки. Эти устройства имеют также русскоязычное название «Сборщик-разборщик пакетов», СРП .

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

    Ориентация на однородные стеки транспортных протоколов во всех узлах сети - сетевой уровень рассчитан на работу только с одним протоколом канального уровня и не может подобно протоколу IP объединять разнородные сети. Сеть Х.25 состоит из коммутаторов (Switches, S), называемых также центрами коммутации пакетов (ЦКП) , расположенных в различных географических точках и соединенных высокоскоростными выделенными каналами. Выделенные каналы могут быть как цифровыми, так и аналоговыми.

Асинхронные старт-стопные терминалы подключаются к сети через устройства PAD. Они могут быть встроенными или удаленными. Встроенный PAD обычно расположен в стойке коммутатора. Терминалы получают доступ ко встроенному устройству PAD по телефонной сети с помощью модемов с асинхронным интерфейсом. Встроенный PAD также подключается к телефонной сети с помощью нескольких модемов с асинхронным интерфейсом. Удаленный PAD представляет собой небольшое автономное устройство, подключенное к коммутатору через выделенный канал связи Х.25. К удаленному устройству PAD терминалы подключаются по асинхронному интерфейсу, обычно для этой цели используется интерфейс RS-232C. Один PAD обычно обеспечивает доступ для 8, 16 или 24 асинхронных терминалов.

К основным функциям PAD, определенных стандартом Х.З, относятся:

    сборка символов, полученных от асинхронных терминалов, в пакеты;

    разборка полей данных в пакетах и вывод данных на асинхронные терминалы;

    управление процедурами установления соединения и разъединения по сети Х.25 с нужным компьютером;

    передача символов, включающих старт-стопные сигналы и биты проверки на четность, по требованию асинхронного терминала;

    продвижение пакетов при наличии соответствующих условий, таких как заполнение пакета, истечение времени ожидания и др.

Терминалы не имеют конечных адресов сети Х.25. Адрес присваивается порту PAD, который подключен к коммутатору пакетов Х.25 с помощью выделенного канала.

Несмотря на то что задача подключения «неинтеллектуальных» терминалов к удаленным компьютерам возникает сейчас достаточно редко, функции PAD все еще остаются востребованными. Устройства PAD часто используются для подключения к сетям Х.25 кассовых терминалов и банкоматов, имеющих асинхронный интерфейс RS-232.

Стандарт Х.28 определяет параметры терминала, а также протокол взаимодействия терминала с устройством PAD. При работе на терминале пользователь сначала проводит некоторый текстовый диалог с устройством PAD, используя стандартный набор символьных команд. PAD может работать с терминалом в двух режимах: управляющем и передачи данных. В управляющем режиме пользователь с помощью команд может указать адрес компьютера, с которым нужно установить соединение по сети Х.25, а также установить некоторые параметры работы PAD, например выбрать специальный символ для обозначения команды немедленной отправки пакета, установить режим эхо - ответов символов, набираемых на клавиатуре, от устройства PAD (при этом дисплей не будет отображать символы, набираемые на клавиатуре до тех пор, пока они не вернутся от PAD - это обычный локальный режим работы терминала с компьютером). При наборе комбинации клавиш Ctrl+P PAD переходит в режим передачи данных и воспринимает все последующие символы как данные, которые нужно передать в пакете Х.25 узлу назначения.

В сущности, протоколы Х.З и Х.28 определяют протокол эмуляции терминала, подобный протоколу telnet стека TCP/IP. Пользователь с помощью устройства PAD устанавливает соединение с нужным компьютером, а затем может вести уже диалог с операционный системой этого компьютера (в режиме передачи данных устройством PAD), запуская нужные программы и просматривая результаты их работы на своем экране, как и при локальном подключении терминала к компьютеру.

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

Адресация в сетях Х.25

Если сеть Х.25 не связана с внешним миром, то она может использовать адрес любой длины (в пределах формата поля адреса) и давать адресам произвольные значения. Максимальная длина поля адреса в пакете Х.25 составляет 16 байт.

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

Адреса Х.121 (называемые также International Data Numbers, IDN) имеют разную длину, которая может доходить до 14 десятичных знаков. Первые четыре цифры IDN называют кодом идентификации сети (Data Network Identification Code, DNIC) . DNIC поделен на две части; первая часть (3 цифры) определяет страну, в которой находится сеть, а вторая - номер сети Х.25 в данной стране. Таким образом, внутри каждой страны можно организовать только 10 сетей Х.25. Если же требуется перенумеровать больше, чем 10 сетей для одной страны, проблема решается тем, что одной стране дается несколько кодов. Например, Россия имела до 1995 года один код - 250, а в 1995 году ей был выделен еще один код - 251. Остальные цифры называются номером национального терминала (National Terminal Numbe, NTN) . Эти цифры позволяют идентифицировать определенный DTE в сети Х.25.

Международные сети Х.25 могут также использовать международный стандарт нумерации абонентов ISO 7498, описанный выше.

По стандарту ISO 7498 для нумерации сетей Х.25 к адресу в формате Х.121 добавляется только один байт префикса, несущий код 36 (использование в адресе только кодов десятичных цифр) или 37 (использование произвольных двоичных комбинаций). Этот код позволяет универсальным коммутаторам, например коммутаторам сети ISDN, поддерживающим также и коммутацию пакетов Х.25, автоматически распознавать тип адреса и правильно выполнять маршрутизацию запроса на установление соединения.

Стек протоколов сети Х.25

Стандарты сетей Х.25 описывают 3 уровня протоколов.

    На физическом уровне определены синхронные интерфейсы Х.21 и Х.21 bis к оборудованию передачи данных - либо DSU/CSU, если выделенный канал является цифровым, либо к синхронному модему, если канал выделенный.

    На канальном уровне используется подмножество протокола HDLC, обеспечивающее возможность автоматической передачи в случае возникновения ошибок в линии. Предусмотрен выбор из двух процедур доступа к каналу: LAP или LAP-B.

    На сетевом уровне определен протокол Х.25/3 обмена пакетами между оконечным оборудованием и сетью передачи данных.

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

Протокол физического уровня канала связи не оговорен, и это дает возможность использовать каналы разных стандартов.

На канальном уровне обычно используется протокол LAP-B. Этот протокол обеспечивает сбалансированный режим работы, то есть оба узла, участвующих в соединении, равноправны. По протоколу LAP-B устанавливается соединение между пользовательским оборудованием DTE (компьютером, IP- или IPX-маршрутизатором) и коммутатором сети. Хотя стандарт это и не оговаривает, но по протоколу LAP-B возможно также установление соединения на канальном уровне внутри сети между непосредственно связанными коммутаторами. Протокол LAP-B почти во всех отношениях идентичен протоколу LLC2, описанному в главе 3, кроме адресации. Кадр LAP-B содержит одно однобайтовое адресное поле (а не два - DSAP и SSAP), в котором указывается не адрес службы верхнего уровня, а направление передачи кадра - 0х01 для направления команд от DTE к DCE (в сеть) или ответов от DCE к DTE (из сети) и 0х03 для направления ответов от DTE к DCE или команд от DCE к DTE. Поддерживается как нормальный режим (с максимальным окном в 8 кадров и однобайтовым полем управления), так и расширенный режим (с максимальным окном в 128 кадров и двухбайтовым полем управления).

Сетевой уровень Х.25/3 (в стандарте он назван не сетевым, а пакетным уровнем) реализуется с использованием 14 различных типов пакетов, по назначению аналогичных типам кадров протокола LAP-B. Так как надежную передачу данных обеспечивает протокол LAP-B, протокол Х.25/3 выполняет функции маршрутизации пакетов, установления и разрыва виртуального канала между конечными абонентами сети и управления потоком пакетов.

После установления соединения на канальном уровне конечный узел должен установить виртуальное соединение с другим конечным узлом сети. Для этого он в кадрах LAP-B посылает пакет Call Request протокола X.25.

Поля, расположенные в первых трех байтах заголовка пакета, используются во всех типах кадров протокола Х.25. Признаки Q и D и Modulo расположены в старшей части первого байта заголовка. Признак Q предназначен для распознавания на сетевом уровне типа информации в поле данных пакета. При получении пакета информация, расположенная в поле данных, а также значение бита Q передается верхним уровням пользовательского стека протоколов (непосредственно транспортному уровню этого стека). Значение Q=1 означает управляющую пользовательскую информацию, а Q=0 - данные. Признак D означает подтверждение приема пакета узлом назначения. Обычный механизм подтверждения принятия пакетов с помощью квитанций имеет для протокола Х.25 только локальный смысл - прием пакета подтверждает ближайший коммутатор сети, через который конечный узел запросил и установил виртуальное соединение. Если же узел-источник запросил подтверждение приема конечным узлом, то это подтверждение индицируется установкой бита D (delivery confirmation) в пакетах, идущих от узла назначения.

Признак Modulo говорит о том, по какому модулю - 8 или 128 - ведется нумерация пакетов. Значение 10 означает модуль 128, а 01 - модуль 8.

Поле Номер логической группы (Lodical Group Number, LGN) содержит значение номера логической группы виртуального канала. Каналы образуют логические группы по функциональному признаку, например:

    постоянный виртуальный канал;

    коммутируемый виртуальный канал только для входящих сообщений (симплексный);

    коммутируемый виртуальный канал только для исходящих сообщений (симплексный);

    коммутируемый дуплексный виртуальный канал.

Максимальное количество логических групп - 12, хотя в конкретной сети допустимо и меньшее количество.

Поле Номер логического канала (Logical Channel Number, LCN) содержит номер виртуального канала, назначаемый узлом-источником (для коммутируемых виртуальных каналов) или администратором сети (для постоянных виртуальных каналов). Максимальное количество виртуальных каналов, проходящих через один порт, равно 256.

Поле Тип (Type) указывает тип пакета. Например, для пакета Call Request отведено значение типа, равное 0х0В. Младший бит этого поля определяет, является ли пакет управляющим (бит равен 1) или пакетом данных (бит равен 0). Значение 0х0В содержит 1 в младшем бите, поэтому это управляющий пакет, а остальные биты в этом случае определяют подтип пакета. В пакете данных остальные биты поля Type используются для переноса номеров квитанций N(S) и N(R).

Следующие два поля определяют длину адресов назначения и источника (DA и SA) в пакете. Запрос на установление виртуального канала указывает оба адреса. Первый адрес нужен для маршрутизации пакета Call Request, а второй - для принятия решения узлом назначения о возможности установления виртуального соединения с данным узлом-источником. Если узел назначения решает принять запрос, то он должен отправить пакет Call Accepted - «Запрос принят», в котором также указать оба адреса, поменяв их, естественно, местами. Адреса могут иметь произвольный формат или же соответствовать требованиям стандарта Х.121 или ISO 7498.

Сами адреса назначения и источника занимают отведенное им количество байт в следующих двух полях.

Поля Длина поля услуг (Facilities length) и Услуги (Facilities) нужны для согласования дополнительных услуг, которые оказывает сеть абоненту. Например, услуга «Идентификатор пользователя сети» позволяет задать идентификатор пользователя (отличный от его сетевого адреса), на основании которого могут оплачиваться счета за пользование сетью. Пользователь с помощью услуги «Согласование параметров управления потоком» может попросить сеть использовать нестандартные значения параметров протокола - размера окна, максимального размера поля данных пакета и т. п. Протокол Х.25 допускает следующие максимальные значения длины поля данных: 16,32, 64,128, 256,512 и 1024 байт. Предпочтительной является длина 128 байт.

Пакет Call Request принимается коммутатором сети и маршрутизируется на основании таблицы маршрутизации, прокладывая при этом виртуальный канал. Начальное значение номера виртуального канала задает пользователь в этом пакете в поле LCN (аналог поля VCI, упоминавшегося при объяснении принципа установления виртуальных каналов). Протокол маршрутизации для сетей Х.25 не определен.

Для сокращения размера адресных таблиц в коммутаторах в сетях Х.25 реализуется принцип агрегирования адресов. Все терминалы, имеющие общий префикс в адресе, подключаются при этом к общему входному коммутатору подсети, соответствующей значению префикса. Например, если путь ко всем терминалам, имеющим адреса с префиксом 250 720, пролегает через общий коммутатор К1, то в таблице маршрутизации коммутаторов, через которые проходит путь к коммутатору К1, помещается единственная запись - 250 720, которая соответствует как конечному узлу 250 720 11, так и конечному узлу 250 720 26. Маски в коммутаторах не используются, а младшие разряды адреса, которые не нужны при маршрутизации, просто опускаются.

После установления виртуального канала конечные узлы обмениваются пакетами другого формата - формата пакетов данных (пакет Data). Этот формат похож на описанный формат пакета Call Request - первые три байта в нем имеют те же поля, а адресные поля и поля услуг отсутствуют. Пакет данных не имеет поля, которое бы определяло тип переносимых в пакете данных, то есть поля, аналогичного полю Protocol в IP-пакете. Для устранения этого недостатка первый байт в поле данных всегда интерпретируется как признак типа данных.

Коммутаторы (ЦКП) сетей Х.25 представляют собой гораздо более простые и дешевые устройства по сравнению с маршрутизаторами сетей TCP/IP. Это объясняется тем, что они не поддерживают процедур обмена маршрутной информацией и нахождения оптимальных маршрутов, а также не выполняют преобразований форматов кадров канальных протоколов. По принципу работы они ближе к коммутаторам локальных сетей, чем к маршрутизаторам. Однако работа, которую выполняют коммутаторы Х.25 над пришедшими кадрами, включает больше этапов, чем при продвижении кадров коммутаторами локальных сетей. Коммутатор Х.25 должен принять кадр LAP-B и ответить на него другим кадром LAP-B, в котором подтвердить получение кадра с конкретным номером. При утере или искажении кадра коммутатор должен организовать повторную передачу кадра. Если же с кадром LAP-B все в порядке, то коммутатор должен извлечь пакет Х.25, на основании номера виртуального канала определить выходной порт, а затем сформировать новый кадр LAP-B для дальнейшего продвижения пакета. Коммутаторы локальных сетей такой работой не занимаются и просто передают кадр в том виде, в котором он пришел, на выходной порт.

В результате производительность коммутаторов Х.25 оказывается обычно невысокой - несколько тысяч пакетов в секунду. Для низкоскоростных каналов доступа, которыми много лет пользовались абоненты этой сети (1200-9600 бит/с), такой производительности коммутаторов хватало для работы сети.

Гарантий пропускной способности сеть Х.25 не дает. Максимум, что может сделать сеть, - это приоритезировать трафик отдельных виртуальных каналов. Приоритет канала указывается в запросе на установление соединения в поле услуг.

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



© 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows