Стандарты сетей Х.25 описывают 3 уровня протоколов (рис.3.14).
• На физическом уровне определены синхронные интерфейсы Х.21 и Х.21bis к оборудованию передачи данных — либо DSU/CSU, если выделенный канал является цифровым, либо к синхронному модему, если канал выделенный.
• На канальном уровне используется подмножество протокола HDLC, обеспечивающее возможность автоматической передачи в случае возникновения ошибки в линии. Предусмотрен выбор из двух процедур доступа к каналу: LAP и. LAP-B.
• На сетевом уровне определен протокол Х.25/3 обмена пакетами между оконечным оборудованием и сетью передачи данных.
Рис. 3. Стек протоколов сети Х.25
Транспортный уровень может быть реализован в конечных узлах, но он стандартом не определяется.
Протокол физического уровня канала связи не оговорен, и это дает возможное использовать каналы разных стандартов.
На канальном уровне обычно используется протокол LAP-B. Этот протокол o6еспечивает сбалансированный режим работы, то есть оба узла, участвующих в соединении, равноправны. По протоколу LAP-B устанавливается соединение между пользовательским оборудованием DTE (компьютером, IP- или IРХ-маршрутизатором) и коммутатором сети. Хотя стандарт это и не оговаривает, но по протоколу LAP-B возможно также установление соединения на канальном уровне внутри сети между непосредственно связанными коммутаторами. Кадр LAP-B содержит одно однобайтовое адресное поле, котором указывается направление передачи кадра — 0x01 для направления команд от DTE к DCE (в сеть) или ответов от DCE к DTE (из сети) и 0x03 для направления ответов от DTE к DCE и команд от DCE к DTE. Поддерживается как нормальный режим (с максимальным: окном в 8 кадров и однобайтовым полем управления), так и расширенный режим (с максимальным окном в 128 кадров и двухбайтовым полем управления).
Сетевой уровень Х.25/3 (в стандарте он назван не сетевым, а пакетным уровнем) реализуется с использованием 14 различных типов пакетов, по назначению аналогичных типам кадров протокола LAP-B. Так как надежную передачу данных обеспечивает протокол LAP-B, протокол Х.25/3 выполняет функции маршрутизации пакетов, установления и разрыва виртуального канала между конечными абонентами сети и управления потоком пакетов.
После установления соединения на канальном уровне конечный узел должен установить виртуальное соединение с другим конечным узлом сети.
Пакет запроса на установление соединения принимается коммутатором сети и маршрутизируется на основании таблицы маршрутизации, прокладывая при этом виртуальный канал. Протокол маршрутизации для сетей Х.25 не определен.
Для сокращения размера адресных таблиц в коммутаторах в сетях Х.25 реализуется принцип агрегирования адресов. Все терминалы, имеющие общий префикс в адресе, подключаются при этом к общему входному коммутатору подсети, соответствующей значению префикса. Например, если путь ко всем терминалам, имеющим адреса с префиксом 250 720, пролегает через общий коммутатор К1, то в таблице маршрутизации коммутаторов, через которые проходит путь к коммутатору К1, помещается единственная запись — 250 720, которая соответствует как конечному узлу 250 720 11, так и конечному узлу 250 720 26. Маски в коммутаторах не используются, а младшие разряды адреса, которые не нужны при маршрутизации, просто опускаются.
После установления виртуального канала конечные узлы обмениваются пакетами данных.
Коммутаторы (ЦКП) сетей Х.25 представляют собой гораздо более простые и дешевые устройства по сравнению с маршрутизаторами сетей TCP/IP. Это объясняется тем, что они не поддерживают процедур обмена маршрутной информацией и нахождения оптимальных маршрутов, а также не выполняют преобразований форматов кадров канальных протоколов. По принципу работы они ближе к коммутаторам локальных сетей, чем к маршрутизаторам. Однако работа, которую выполняют коммутаторы Х.25 над пришедшими кадрами, включает больше этапов, чем при продвижении кадров коммутаторами локальных сетей. Коммутатор Х.25 должен принять кадр LAP-B и ответить на него другим кадром LAP-B, в котором подтвердить получение кадра с конкретным номером. При утере или искажении кадра коммутатор должен организовать повторную передачу кадра. Если же с кадром LAP-B все в порядке, то коммутатор должен извлечь пакет Х.25, на основании номера виртуального канала определить выходной порт, а затем сформировать новый кадр LAP-B для дальнейшего продвижения пакета. Коммутаторы локальных сетей такой работой не занимаются и просто передают кадр в том виде, в котором он пришел, на выходной порт.
В результате производительность коммутаторов Х.25 оказывается обычно невысокой — несколько тысяч пакетов в секунду. Для низкоскоростных каналов доступа, которыми много лет пользовались абоненты этой сети (1200-9600 бит/с), такой производительности коммутаторов хватало для работы сети.
Гарантий пропускной способности сеть Х.25 не дает. Максимум, что может сделать сеть, — это приоритезировать трафик отдельных виртуальных каналов. Приоритет канала указывается в запросе на установление соединения в поле услуг.
Протоколы сетей Х.25 были специально разработаны для низкоскоростных линий с высоким уровнем помех.