sonyps4.ru

Сети с коммутацией пакетов Х.25 и frame relay. Глобальные сети с коммутацией пакетов

Уважаемые хабровчане, я хочу рассказать вам о сетях пакетной коммутации, построенных на основе протокола передачи данных 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, не смотря на то, что его знание не является обязательным для работы во многих предприятиях связи. При его изучении, рекомендую делать акцент не на том, как реализована та или иная функция, а на том, с какой целью, она была включена в протокол.

Назначение и структура сетей Х.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 будут по-прежнему еще долго являться наиболее рациональным выбором для многих регионов.

NUMBEREDHEADINGS__

Многоуровневый принцип построения сети

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

При декомпозиции в сетях связи используют многоуровневый подход. Он заключается в следующем:

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

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

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

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

Протокол – это набор формализованных правил, процедур, спецификаций, определенный формат и способ передачи данных.

Обычно протокол обеспечивает взаимодействие между процессами, находящимися на одном иерархическом уровне, но в разных оконечных и транзитных пунктах сети. Элементы данных, пересылаемых на одном иерархическом уровне, называются элементами данных протокола блока данных PDU (Protocol Data Unit).

На рис. 1. показана пятиуровневая сеть. Объекты различных узлов сети включают соответствующие уровни. Они виртуально (логически) общаются при помощи протоколов. В действительности, данные не пересылаются с уровня n одной машины на уровень n другой машины. Вместо этого, каждый уровень машины-отправителя, начиная с верхнего, передает данные и управление уровню, лежащему ниже, пока не будет достигнут самый нижний уровень. Такие сообщения называются служебными элементами данных SDU (Service Data Unit). Ниже первого уровня находится физический носитель, по которому и производится обмен информацией. На приемной стороне пересылаемый блок данных последовательно проходит уровни машины-получателя снизу вверх. Каждый уровень выполняет свою группу функций, необходимых для приема данных.

Между каждой парой смежных уровней интерфейс . Это аппаратно-программные средства, а также совокупность правил, которые обеспечивают взаимодействие смежных уровней.

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

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

Представим, что существуют два абонента Боб и Алиса (уровень 3), один из них говорит на английском языке, а другой – на французском. Поскольку нет общего языка, на котором они могут общаться непосредственно, каждый из них использует переводчика (одноранговые процессы уровня 2). Каждый из переводчиков, в свою очередь, нанимает секретаря (одноранговые процессы уровня 1). Боб желает сказать своему собеседнику «Я люблю Вас». Для этого он передает сообщение на английском языке по интерфейсу 2/3 (интерфейс, находящийся между вторым и третьим уровнем) своему переводчику. Переводчики договорились общаться на нейтральном языке – русском. Таким образом, сообщение преобразуется к виду «Я люблю Вас». Выбор языка является протоколом второго уровня и осуществляется одноранговыми процессами уровня 2. Затем переводчик отдает сообщение секретарю для передачи, например, по факсу (протокол первого уровня). Когда сообщение получено другим секретарем, оно переводится на французский язык и через интерфейс 2/3 передается абоненту Алисе. Заметим, что каждый протокол полностью независим, поскольку интерфейсы одинаковы с каждой стороны. Переводчики могут переключиться с русского языка, скажем, на финский, при условии, что оба будут согласны. При этом в интерфейсах второго уровня с первым или с третьим уровнем ничего не изменится. Подобным образом секретари могут сменить факс на электронную почту или телефон, не затрагивая (и даже не информируя) другие уровни. Каждое изменение касается только обмена информацией на своем уровне. Эта информация не будет передаваться на более высокий уровень.

Рассмотрим технический пример: как обеспечить общение для верхнего уровня пятиуровневой сети (рис. 3). Сообщение M создается приложением, работающим на уровне 5, и передается уровню 4 для передачи. Уровень 4 добавляет к сообщению заголовок (З4), например, для идентификации номера сообщения, и передает результат уровню 3. Во многих сетях сообщения (данные), передаваемые на уровне 4, не ограничиваются по размеру, однако почти всегда подобные ограничения накладываются на протокол третьего уровня. Соответственно, уровень 3 должен разбить входящее сообщение на более мелкие единицы – пакеты, предваряя каждый пакет заголовков уровня 3 – З31(для М1) и З32 (для М2). В данном примере сообщение М разбивается на две части М1 и М2. Заголовок З31 и З32 включают управляющую информацию, например, последовательные номера, позволяющие уровню 4 принимающей машины доставить сообщения своему приложению в правильном порядке, если на нижних уровнях произойдет нарушение этой последовательности. На некоторых уровнях заголовки также включают в себя размеры пересылаемых блоков данных, время пребывания в сети и другие управляющие поля.

Уровень 3 решает, какую из выходных линий использовать, то есть определяет направление дальнейшей передачи, и передает пакеты уровню 2.

Рис. 3. Пример пятиуровневой сети

Здесь рассматривается разделение нагрузки, когда часть соединения М передается по одному каналу, а другая часть по другому каналу. Уровень 2 добавляет не только заголовки З21 и З22 к каждому пакету, но также и концевики К21 и К22 – завершители пакета. Заголовки и концевики уровни 2 служат для обнаружения искаженных в канале пакетов и повтора их с буфера. Пакеты уровня 2 передаются уровню 1 для физической передачи. На приемной машине сообщение передается по уровням вверх, при этом заголовки убираются на каждом уровне по мере продвижения сообщения. Заголовки нижних уровней более высоким уровням не передаются.

Необходимо понять соотношение между виртуальным и реальным общением и разницу между протоколом и интерфейсом. Одноранговые процессы уровня 4, например, воспринимают свое общение горизонтальным, использующим протокол 4-го уровня. У каждого из них имеется процедура с названием вроде «Передать на противоположную сторону» или «Принять от противоположной стороны». На самом деле эти процедуры общаются не друг с другом, а с нижними уровнями при помощи интерфейсов 3/4.

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

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

Службы с установлением и без установления соединений, надежные и ненадежные соединения

Уровни могут предлагать вышестоящим уровням услуги двух типов: с наличием или отсутствием установления соединения. В технике связи процедура обмена сообщениями в процессе установления или разъединения соединений называется сигнализацией (signaling).

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

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

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

Пакетная коммутация

В соответствии с законом «О связи» от 18 июня 2003 года для сетей связи общего пользования стратегическим направлением является коммутация пакетов.

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

Рис. 4. Передача данных в сети КП

устанавливается по согласованию (по умолчанию - 128 байт). В заголовке пакета устанавливается адресная информация, необходимая для доставки пакета в оконечное устройство получателя. В сети Х.25 используется формат адресации, определенный в рекомендации ITU-T Х.121, содержащий код зоны (всего в мире 7 зон), код определенной сети в зоне и номер сетевого терминала из десяти цифр. На рис. 4 показана передача сообщения абонента абоненту . Абонент a i {\displaystyle a_{i}} подключён к центру коммутации А, а абонент a j {\displaystyle a_{j}} к центру коммутации D. Перед передачей сообщение разбивается на три пакета, которые поступают получателю через транзитные центры коммутации B и C.

К сетям с коммутацией пакетов относится не только сеть Х.25, но и более современные технологии (сети Frame Relay , ATM), а также Интернет.Пропускная способность канала в сети КП при неравномерном трафике существенно выше, чем в сетях КК. Один и тот же физический канал используется для обслуживания многих абонентов, поочередно предоставляя свою пропускную способность разным соединениям абонентов. Наибольший эффект от КП достигается при высоком коэффициенте пульсации трафика пользователей сети.

Коэффициент пульсации трафика отдельного пользователя сети определяется как отношение пиковой скорости на каком-либо коротком интервале времени к средней скорости обмена данными на длинном интервале времени и может достигать значений 100:1. Если использовать коммутацию каналов, то большую часть времени канал будет простаивать. В то же время часть ресурсов сети остается закрепленной за данной парой абонентов и недоступна другим пользователям сети.

На рис. 5 приведен пример мультиплексирования пакетов разных информационных потоков в одном физическом канале.

Рис. 5. Пример мультиплексирования пакетов в одном физическом канале

На первых трех осях изображены потоки пакетов, генерируемых абонентами a 1 {\displaystyle a_{1}} , a 2 {\displaystyle a_{2}} , a 3 {\displaystyle a_{3}} . Двойная нумерация пакетов на рис. 5 обозначает номер абонента и номер пакета в потоке. Канал используется для обслуживания трех абонентов – путем разделения по времени, т.е. поочередного предоставления канала абонентам. Один канал может обеспечить работу многих взаимодействующих абонентов.

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

Стек протокола сети пакетной коммутации стандарта X.25

Рассмотрев многоуровневый принцип построения сети, перейдем к стеку протоколов (или уровней) конкретной сети пакетной коммутации стандарта X.25 .


Изучение стека протоколов именно этой сети объясняется следующими причинами:

  1. рекомендации МСЭ-Т X.25 и родственные с ней (X.3, X.28, X.75, X.121 и др.) наиболее полно соответствуют стандартизированной МСЭ-Т эталонной модели взаимодействия открытых систем OSI , (Open System Telecommunication), включающей 7 уровней. Следует отметить, что модель OSI не полностью отражают архитектуру построения современных технологий сетей связи. Несмотря на это модель OSI является прекрасным механизмом для анализа основ архитектуры этих сетей .
  2. многие из современных технологий имеют корни в стандарте Х.25. Сети Х.25 продолжают находится в эксплуатации (в том числе и в России – сеть общего пользования «РОСПАК», система защиты банкоматов Сбербанка России и др.).
  3. изложение принципов программного обеспечения в сети X.25 позволяет изучить процедуры функционирования технологий более современных сетей (Frame Relay , ATM , IP-сети , ОКС№7 , MPLS).
  4. для классификации сетей связи используются различные признаки. Чаще всего сети делятся по величине территории, которую покрывает сеть. Причиной является отличие технологий локальных и глобальных сетей. Глобальные сети, к которым относятся сети Х.25 предназначены для обслуживания большого количества абонентов, разбросанных на большой территории – в пределах региона, страны, континента или всего земного шара. Услугами глобальной сети могут пользоваться локальные сети предприятий или отдельные компьютеры. Исторически глобальные сети появились первыми, хотя технология их значительно сложнее. Именно при их построении были впервые отражены основные концепции сетей, такие как многоуровневое построение коммуникационных протоколов, технология коммутации пакетов, требования к качеству обслуживания QoS (Quality of Service) и соглашение о гарантии обслуживания SLA (Service Level Agreements).

На рис. 6 представлен стек протоколов сети ПК Х.25.

Здесь приведена транспортная сеть, состоящая из трех центров коммутации пакетов ЦКП (ЦКП1 , ЦКП2 , ЦКП3 ) и двух оконечных станций - А и В. ЦКП включает три нижних уровня, соответствующих модели OSI:

  • физический уровень (уровень 1), осуществляющий передачу бит;
  • канальный уровень или уровень звена данных Х.25/2 (уровень 2), осуществляющий свободную от ошибок передачу по отдельному каналу связи;
  • сетевой уровень Х.25/3 (уровень 3), обеспечивающий маршрутизацию (коммутацию) сообщений по каналам, связывающим ЦКП.

На этих уровнях действуют протоколы транспортной сети между ЦКП и протоколы доступа к сети. Как правило, протоколы верхних уровней модели OSI (с 4 по 7) реализуются только на оконечных устройствах сети и являются сквозными протоколами.

Четвертый уровень в модели OSI является транспортным уровнем. Транспортный уровень располагается на оконечных станциях и обеспечивает интерфейс между транспортной сетью (ЦКП1, ЦКП2, ЦКП3) и верхними тремя уровнями обработки данных, размещенными у пользователя. Транспортный уровень, в частности, выполняет сегментирование данных, передаваемых в сеть, в случае необходимости.

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

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

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

На рис. 7 показан перенос данных в сетях ПК X.25 через все уровни оконечных устройств абонентов А и Б, а также нижние три уровня узлов транспортной сети. Здесь приняты обозначения D3, D4, D5, D6, D7 - блоки данных уровней соответственно уровней 3, 4, 5, 6, 7. Обозначения З2, З3, З4, З5, З6 – заголовки блоков данных соответственно уровней 2, 3, 4, 5, 6. Передача данных физически производится по вертикали: на передачу с верхнего уровня на нижний и на приёме наоборот. Для передачи сообщения четвертого уровня оконечного устройства (состоящего из заголовка З4 и данных Д5) оно вкладывается (инкапсулируется ) в пакет третьего уровня (сетевого). При этом к пакету добавляется заголовок З3 (включающий адрес). На основе адресов заголовка производится коммутация в центре коммутации пакетов. Далее производится инкапсуляция этого пакета в кадр второго уровня. Как видно из рисунка, кроме заголовка З2 в кадр добавляется концевик К2, который служит для обнаружения на приёме искаженного в канале кадра.

Шифрование сообщений в сети пакетной коммутации

Одним из способов обеспечения противодействия угрозам информационной безопасности некоторых сетей ограниченного пользования является шифрование. При использовании шифрования необходимо решать, что именно следует шифровать и на каком уровне эталонной модели OSI следует осуществлять защиту информации. Для таких сетей коммутация информационных пакетов производится на основании таблицы маршрутизации, включающих физические адреса. В этом отношении они отличаются от сети пакетной коммутации стандарта Х.25 (подробно об этом будет изложено в главе 7) и в них предусмотрено два основных варианта шифрования: канальное и сквозное шифрование . Их использование показано на рис. 8.

Рис. 8. Шифрование в сети коммутации пакетов

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

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

Какую часть каждого пакета при сквозном шифровании должен шифровать источник? Предположим, что шифрует весь пакет, включая заголовок. Но этого делать нельзя, так как выполнить расшифровку сможет только получатель. ЦКП, получивший такой пакет, не сможет прочитать заголовок и поэтому не сумеет переслать пакет в соответствии с адресом. Отсюда следует, что отправитель должен шифровать только ту часть пакета, которая содержит данные пользователя, и оставить заголовок нетронутым.

Итак, при сквозном шифровании данные пользователя оказываются защищенными, чего нельзя сказать о самом потоке данных, поскольку заголовки пакетов передаются в открытом виде. Возможность изучения структуры потока по адресам проходящих пакетов называется анализом трафика . Чтобы достичь более высокого уровня защищенности, необходима комбинация канального и сквозного шифрования, например, как показано на рис. 8, на котором приведена сеть коммутации пакетов с четырьмя центрами коммутации ЦКП. К трем из этих ЦКП подключены оконечные устройства a 1 {\displaystyle ~a_{1}} , a 2 {\displaystyle ~a_{2}} , a 3 {\displaystyle ~a_{3}} . Рассмотрим следующую ситуацию. Два оконечных устройства устанавливают соединение для передачи данных с использованием шифрования. Сообщения передаются пакетами, состоящими из заголовка и поля данных. Какую часть пакета должен шифровать оконечный пункт-источник сообщения?

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

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

Сеть коммутации пакетов состоит из центров коммутации пакетов (ЦКП), расположенных в различных географических точках и соединенных высокоскоростными каналами обмена (рисунок 17.7).

Рис. 17.7. Сеть коммутации пакетов X. 25

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

Этот стандарт основан на синхронной передаче данных. Асинхронные старт-стопные терминалы подключаются к сети через так называемые пакетные адаптеры данных (ПАД). Они могут быть встроенными или удаленными. Встроенный ПАД обычно расположен в стойке ЦКП. Удаленный ПАД представляет собой небольшое автономное устройство, подключенное к ЦКП через один канал связи X.25. Один ПАД обычно обеспечивает доступ для 8, 16 или 24 асинхронных терминалов.

К основным функциям ПАД относятся:

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

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

Управление процедурами установления соединения и разъединения, сброса и прерывания,

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

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

На физическом уровне определены протоколы X.21 и X.21bis. Протокол физического уровня X.21 определяет интерфейс между компьютером и цифровым каналом связи, а X.21bis - между компьютером и аналоговым каналом (с использованием модемов).

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

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

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

Прежде, чем пакет будет передан через сеть, необходимо установить соединение между исходными ООД - терминалами и компьютерами. Существует два типа соединений - коммутируемый виртуальный канал (SVC - Switched Virtual Channel) и постоянный виртуальный канал (PVC - Permament Virual Channel). SVC можно сравнить с коммутируемым каналом телефонной сети общего пользования. Для установления соединения необходимо знать сетевой номер - адрес пользователя. Рекомендация X. 121 МККТТ определяет международную систему нумерации адресов для сетей передачи данных общего пользования.

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

Маршрутизация на основе виртуальных каналов - это обычный прием, используемый в глобальных сетях. Кроме сетей X.25, такая техника применяется в сетях frame relay и АТМ. Суть такой маршрутизации показана на рисунке 17.8. При установлении соединения между конечными узлами используется специальный тип пакета - запрос на установление соединения - который содержит длинный адрес узла-адресата, а также номер виртуального соединения, присвоенного данному виртуальному соединению в узле-отправителе, например, 15. Адрес назначения используется для маршрутизации пакета на основании таблиц маршрутизации, аналогичных тем, которые использовались при описании протоколов RIP или OSPF. В приведенном примере оказалось необходимым передать пакет с порта 1 на порт 0. Одновременно с передачей пакета маршрутизатор изменяет у пакета номер виртуального соединения - он присваивает пакету первый неиспользованный номер виртуального канала для данного коммутатора. Каждый конечный узел и каждый коммутатор ведет свой список использованных и свободных номеров виртуальных соединений. В таблице коммутации входного порта маршрутизатор отмечает, что в дальнейшем пакеты, прибывшие на этот порт с номером 15, должны передаваться на порт 0, причем номер виртуального канала должен быть изменен на 10, Одновременно делается и соответствующая запись в таблице коммутации порта 0 - пакеты с номером 10 нужно передавать на порт с номером 1, меняя номер виртуального канала на 15.

Рис. 17.8. Коммутация в сетях с виртуальными соединениями.

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

За уменьшение служебного заголовка приходится платить невозможностью баланса трафика внутри виртуального соединения. При отказе какого-либо канала соединение приходится также устанавливать заново.

Протокол X.25 допускает использование следующих максимальных значений длины поля данных: 16, 32, 64, 128, 256, 512 и 1024 байта. Предпочтительной является длина 128 байтов. Пакеты данных циклически нумеруются от 0 до 7 или от 0 до 127. В заголовке пакета помещаются два номера: порядковый номер передачи и порядковый номер приема. Порядковый номер передачи необходим для обеспечения последовательной транспортировки данных по виртуальному каналу, обнаружения потерь пакетов и для управления интенсивностью поступления пакетов в сеть передачи данных.

Услуги по стандарту Х.25 предоставляются многими общественными сетями передачи данных - в США Sprint/Telenet, BT/Tymnet, Infonet и другими, в России - "Исток-К". "Спринт Сеть", ИАСНЕТ, РОСПАК, ИНФОТЕЛ, Релком и другими. Сети Х.25 часто являются единственной возможностью для создания международной сети, так как почти во всех странах имеются сети данного типа. Можно построить и свою собственную сеть Х.25, купив коммутационное оборудование Х.25 и арендовав выделенные линии.

Сети frame relay - сравнительно новые сети, которые гораздо лучше подходят для передачи трафика локальных сетей по сравнению с сетями X.25. Преимущество сетей frame relay заключается в их низкой избыточности, высокой емкости при низких задержках и надежности передачи данных по существующим общественным сетям. Они специально разработаны как общественные сети для соединения частных локальных сетей. Сети frame relay стандартизованы подкомитетом СС1ТТ 1.122. Они обеспечивают скорость передачи данных до 2 Мб/с и позволяют потребителю наращивать требуемую пропускную способность частями по 56 Кб/с.

Сети frame relay обеспечивают высокую пропускную способность и низкие задержки за счет исключения избыточных операций по коррекции ошибок, так как они рассчитаны на использование надежных цифровых и волоконно-оптических линий связи. Протокол frame relay занимается обнаружением ошибок только на первых двух уровнях модели OSI. в то время как в протоколе X.25 этим занимаются три уровня. Протокол frame relay, так как он работает только на первых двух уровнях модели OSI, является независимым от верхних уровней стека протокола, из-за чего его легко встраивать в сети. Существует спецификация RFC 1490, определяющая методы инкапсуляции в трафик frame relay трафика SNA и локальных сетей.

Протокол frame relay подразумевает, что коммуникационное оборудование конечных пользователей (а, точнее, протоколы сетевого и транспортного уровней, подобные IP и TCP) будут обнаруживать и корректировать ошибки за счет повторной передачи пакетов сетевого или более высоких уровней. Это требует некоторой степени интеллектуальности от конечного оборудования, что по большей части справедливо для современных локальных сетей.

Frame relay предлагает независимую адресацию пакетов. Сети frame relay, как и сети X.25, позволяют устанавливать частные виртуальные каналы между локальными сетями без добавления задержки между узлами. После установления виртуального соединения кадры frame relay маршрутизируются (транслируются, передаются, если более точно следовать переводу глагола relay) через коммутаторы сети. Стандарт frame relay определяет как постоянные виртуальные каналы (PVC), так и коммутируемые (SVC), но в большинстве коммерческих сетей frame relay реализованы в основном сервисы постоянных коммутируемых каналов.

Поле номера виртуального соединения (DLCI) состоит из 11 битов и называется идентификатором связи данных. Это поле содержит номер виртуального канала, соответствующий определенному порту сетевого моста или маршрутизатора. Посылающее устройство помещает этот адрес в кадр (фрейм) и передает кадр в сеть для перемещения к приемному устройству.

Поле данных может иметь размер до 4056 байтов.

В сетях frame relay предусмотрена процедура заказа качества обслуживания, отсутствующая в сетях Х.25. Для каждого виртуального соединения определяются несколько параметров, Два параметра определяют среднюю скорость соединения:

CIR (Committed Information Rate) - средняя скорость, с которой сеть согласна передавать данные пользователя,

CBS (Committed Burst Size) - максимальное количество битов, которое сеть согласна передать от этого пользователя за интервал времени Т.

Если эти величины определены, то время Т определяется формулой

На рисунке 17.9 приведен пример использования сети frame relay пятью удаленными региональными отделениями корпорации. Обычно доступ к сети осуществляется каналами с большей пропускной способностью, чем CIR - пропускная способность канала должна быть равна по крайней мере величине CBS/T. Но при этом пользователь платит не за пропускную способность канала, а за заказанные величины CIR и CBS.

Для управления потоком кадров в сетях frame relay используются механизмы оповещения конечных пользователей о том, что в коммутаторах сети возникли перегрузки (переполнение необработанными кадрами). Бит FECN

Рис. 17.9. Пример использования сети frame relay

(Forward Explicit Congestion Bit) кадра извещает об этом принимающую сторону. На основании значения этого бита принимающая сторона должна с помощью протоколов более высоких уровней (TCP/IP. SPX и т.п.) известить передающую сторону о том, что та должна снизить интенсивность отправки пакетов в сеть.

Бит BECN (Backward Explicit Congestion Bit) извещает о переполнении в сети передающую сторону и является рекомендацией немедленно снизить темп передачи. Бит BECN обычно отрабатывается на уровне устройств доступа к сети frame relay - маршрутизаторов, мультиплексоров и устройств CSU/DSU.

В общем случае биты FECN и BECN могут игнорироваться. Но если конечный пользователь нарушает условия, определяемые параметрами его соединения CIR и CBS, то сеть может просто отбрасывать (не передавать) "избыточные кадры" пользователя, выходящие за рамки договоренностей. Для этого в кадре имеется бит DE (Discard Eligible) -"удаление желательно", который устанавливается при превышения конечным узлом максимальной интенсивности трафика. И если в коммутаторе сети возникает перегрузка, то он может отбрасывать кадры с установленным битом DE.

Сервис frame relay обычно предоставляют те же операторы, которые эксплуатируют сети X.25. Большая часть производителей выпускает сейчас коммутаторы, которые могут работать как по протоколам Х.25, так и по протоколам frame relay.

Принципы построения и компоненты сети X.25

Главной особенностью сети X.25 является использование аппарата виртуальных каналов для обеспечения информационного взаимодействия между компонентами сети. Виртуальные каналы предназначены для организации вызова и непосредственной передачи данных между абонентами сети. Информационный обмен в сети X.25 во многом похож на аналогичный процесс в сетях ISDN и состоит из трех обязательных фаз:

  • Установление вызова (виртуального канала)
  • Информационный обмен по виртуальному каналу
  • Разрывание вызова (виртуального канала)

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

  • Устройства DTE (Data Terminal Equipment)
  • Устройства DCE (Data Circuit-Terminating Equipment)
  • Устройства PSE (Packet Switching Exchange)

Устройство PAD (packet assembler/ disassembler) является специфическим устройством сети X.25. PAD предназначен для обеспечения взаимодействия неспециализированных терминалов с сетью, для преобразования потока символов, который поступает от неспециализированного терминала в пакеты X.25 и выполнения обратного преобразования.

Взаимодействие на канальном уровне сети X.25

Протоколы канального уровня HDLC/SDLC, были разработаны для того, чтобы решать следующие задачи:

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

Протоколы семейства HDLC

Протоколы осуществляют передачу данных в виде кадров переменной длины. Начало и конец кадра помечается специальной последовательностью битов, которая называется флагом . Для обеспечения дисциплины управления процессом передачи данных, одна из станций, которые обеспечивают информационный обмен, может быть обозначена, как первичная , а другая (или другие) станции могут быть обозначены, как вторичные . Кадр, который посылает первичная станция, называется командой (command). Кадр, который формирует и передает вторичная станция, называется ответ (response).

Режимы организации взаимодействия на канальном уровне

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

Процедура LAPB

Процедура LAPB (Link Access Procedure Balanced) используется в сетях X.25 в качестве протокола канального уровня.

Флаг

Протокол LAPB использует в качестве флага комбинацию из 8 бит, которая состоит из 6-ти единиц и двух нулей, которые обрамляют эту последовательность спереди и сзади (01111110). Процесс приема кадра завершается при получении следующего флага. В том случае, если к моменту получения завершающего флага приемник получил менее 32 бит, принятый кадр считается ошибочным и уничтожается. Для предотвращения появления флаговой комбинации в теле кадра используется специальная процедура.

Структура кадра LAPB

Рекомендация X.25 определяет два основных типа процедуры LAPB - основной тип (modulo 8, basic) и расширенный тип (modulo 128, extended). Эти режимы отличаются разрядностью счетчиков, которые используются для управления потоком кадров. Кадр протокола LAPB содержит 4 поля: ADRESS, CONROL, Data, FCS . Поле DATA в кадре LAPB может отсутствовать.

Поле ADRESS

Поле ADRESS занимает в кадре один байт. В этом поле располагается бит признака C/R (Command /Response) В поле ADDRESS кадра управляющей команды размещается физический адрес принимающей станции. В поле ADRESS кадра ответа на команду размещается физический адрес передающей станции.

Поле CONTROL

Содержимое этого поля поля определяет тип кадра.

  • Информационные кадры (Information Frames, I-кадры). В битах поля CONTROL размещаются 3-х разрядный номер передаваемого кадра и 3-х разрядный номер кадра, который ожидается для приема для обеспечения управления потоком.
  • Управляющие кадры (Supervisory Frames, S-кадры). В поле CONTROL размещается 3-х разрядный номер информационного кадра, который ожидается для приема и два бита, которые определяют тип передаваемого управляющего кадра.
    Обозначение Тип кадра Бит №3 Бит №4
    RR Приемник готов (Receiver Ready) 0 0
    RNR Приемник не готов (Receiver Not Ready) 1 0
    REJ Отказ/переспрос (Reject) 0 1

    Наиболее часто в процессе информационного взаимодействия используются управляющие кадры типа RR . Кадры данного типа передает получатель данных для того, чтобы обозначить готовность к приему очередного кадра, в том случае, когда он сам не имеет информации для передачи. Кадры RNR используются устройствами DCE и DTE для того, чтобы сообщить абоненту о возникновении аварийной ситуации, в которой дальнейший прием информационных кадров невозможен. Кадры REJ используются устройствами DCE и DTE для того, чтобы сигнализировать абоненту о разрешении аварийной ситуации, в которой был невозможен прием информационных кадров. Кадр REJ передается после кадра RNR и подтверждает факт перехода линии в нормальный режим работы.

  • Ненумерованные кадры (Unnumbered Frames, U - кадры). Предназначены для организации и разрывания логического соединения, согласования параметров линии и формирования сигналов о возникновении неустранимых ошибок в процессе передачи данных I-кадрами.
    Обозначение Тип Признак
    SABM(E) Set Asynchronous Balanced Mode Команда
    DISC Disconnect Команда
    DM Disconnect Mode Ответ
    UA Unnumbered Acknowledgement Ответ
    FRMR Frame Reject Ответ
  • Кадр FRMR передается вторичной станцией для того, чтобы указать на возникновение аварийной ситуации, которая не может быть разрешена путем повторной передачи аварийного кадра.

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

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

Виртуальные каналы X.25

Процесс сетевого уровня получает в свое распоряжение часть полосы пропускания физического канала в виде виртуального канала. Полная полоса пропускания канала делится в равных пропорциях между виртуальными каналами, которые активны в текущий момент. В сети X.25 существует два типа виртуальных каналов: коммутируемые (SVC) и постоянные (PVC).

Формат пакета X.25

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

Идентификатор общего формата

Поле идентификатора общего формата содержит признак, который устанавливает тип процедуры управления потоком пакетов (modulo 8 или modulo 128).

Номер логического канала

Номер логического канала задается содержимым двух полей — номер группы логического канала от 0 до 15 и номер канала в группе от 0 до 255. Таким образом, максимальное число логических каналов может достигать значения 4095. Номер логического канала определяет виртуальный порт, с которым ассоциируется конкретный пользовательский процесс.

Идентификатор типа пакета

DCE " width="11" height="9"> DTE DTE " width="11" height="9"> DCE Код (16)
Incoming Call Call Request 0B
Call Connected Call Accepted 0F
Clear Indication Clear Request 13
Clear Confirmation Clear Confirmation 17
Interrupt Interrupt 23
Interrupt Confirmation Interrupt Confirmation 27
Receiver Ready (RR) Receiver Ready (RR) X1
Receiver Not Ready (RNR) Receiver Not Ready (RNR) X5
— Reject (REJ) X9

Cетевые адреса получателя и отправителя пакета размещаются в поле "данные", и предназначены для управления вызовами.

Формат сетевого адреса X.25

Сетевой адрес состоит из двух частей

  • Data Network ID Code (DNIC)
  • Network Terminal Number

Поле DNIC содержит 4 десятичных цифры и определяет код страны и номер провайдера. Содержимое поля Network Terminal Number содержит 10 или 11 десятичных цифр, которые определяет провайдер и предназначено для определения конкретного пользователя.

Управление потоком кадров

Для управления потоком пакетов на сетевом уровне X.25 используются такие же процедуры и механизмы, какие используются для управления потоком кадров на канальном уровне сети X.25.

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

Данная рекомендация определяет наименования и назначения основных параметров, с помощью которых осуществляется настройка PAD. Параметры X.3 обозначаются символами P1 — P32.Параметр P1 определяет, возможен ли выход из режима передачи в режим команд по инициативе оператора терминала.

Для управления потоком используются специальные кодовые комбинации XON и XOFF. В том случае, если терминал по каким-либо причинам временно не способен принимать символы от PAD, он передает символ XOFF (^S). PAD должен прекратить передачу данных этому терминалу до получения от него разрешающего символа XON(^Q). Значения этих символов могут быть переопределены с помощью параметров Р28 и Р29.

Эта рекомендация определяет процедуры, в соответствии с которыми, пользователь может прочитать или изменить текущие значения параметров X.3 PAD. Для изменения установленных параметров X.3 PAD пользователь должен использовать команду SET. Для того, чтобы прочитать текущие значения параметров X.3 PAD пользователь должен использовать команду PAR.



Загрузка...