Протокол Х.25 |
261 |
|
|
|
|
|
|
|
|
|
|
|
|
|
Рис. 9.3. Протокольные и сервисные блоки данных
9.2. СЕТИ С КОММУТАЦИЕЙ ПАКЕТОВ Х.25
Х.25 представляет собой комплект протоколов трех нижних уровней модели OSI, разработанный МККТТ для интерфейса между терминалами пользователей и сетью с коммутацией пакетов. Протоколы Х.25 использовались для создания всемирной сети коммутации
262 Глава 9___________________________________.
пакетов. В этой сети информация пользователей инкапсулируется (заключается) в пакеты, содержащие данные об адресации о последовательности пакетов и контроле ошибок, а также сведения о пользователе или приложении. Пакеты передаются по виртуальным каналам между терминалом Х.25 конечного пользователя DTE (Data Terminal Equipment) и окончанием канала двусторонней передачи данных
DCE (Data Circuit-Terminating Equipment), используемого в качестве канала доступа к сети пакетной коммутации.
Первая рекомендация Х.25 была утверждена на 6-й пленарной ассамблее МККТТ в 1976 г., а переработанные версии появлялись в 1980 и 1984 гг. К началу 80-х годов протоколы Х.25 уже широко применялись для передачи данных во всем мире, особенно между удаленными терминалами и центральными системами. Стандарты ISDN, рассмотренные в главах 3, 4 данного тома, разрабатывались с учетом поддержки сетей Х.25.
Протокол Х.25 использует неоднократно упоминавшийся в этой книге протокол доступа к звену данных LAPB (Link Access Protocol — Balanced), который был специально разработан для обеспечения надежной передачи данных через звено. Первоначально ориентированный на каналы с низким качеством, протокол LAPB использует принцип, согласно которому каждый узел в сети должен проверять каждый блок данных уровня 2 (кадр), как только он получен, и определять, может ли этот кадр маршрутизироваться к ближайшему узлу или он должен быть передан повторно. Другой принцип, который связан с Х.25, заключается в том, что повторная передача осуществляется к узлу, который детектировал ошибку, из ближайшего к нему узла, принявшего верный кадр. Это означает, что каждый узел должен обеспечивать контроль, что требует затрат на оборудование и вводит задержки в маршрутизацию данных.
Во время появления сетей Х.25 (а они функционируют с конца 60-х годов) такой уровень контроля ошибок был необходим, поскольку он учитывал характеристики существовавших тогда физических коммуникационных линий. Х.25 хорошо работает в ситуациях, когда не могут быть обеспечены каналы связи с высокой надежностью. В областях, где развернуты оптоволоконные сети, Х.25 вряд ли может считаться подходящим выбором, тем более, при наличии такой технологии, как Frame Relay (ретрансляция кадров).
На рис. 9.4 показан пример взаимодействия сетей Х.25 с использованием межсетевых шлюзов Х.75 и устройств сборки-разборки
ПротоколХ.25 |
263 |
пакетов PAD, которые обеспечивают преобразование различных потоков данных (SNA, асинхронный и т.д.) в протокол Х.25. Фактически протокол Х.25 является интерфейсом между абонентом и сетью, а Х.75 является протоколом для использования между узлами сети коммутации пакетов. Оба протокола аналогичны, но протокол Х.75 предоставляет услуги, которые запрашиваются внутри сети с коммутацией пакетов и не касаются абонентских интерфейсов. Кроме того, Х.75 может рассматриваться только как протокол сетевого уровня, в то время как Х.25 поддерживает повторную передачу, сегментирование и сборку блоков данных.
Рис. 9.4. Пример объединения сетей с коммутацией пакетов
9.3. АРХИТЕКТУРАПРОТОКОЛАХ.25
Архитектура Х.25 содержит три уровня, соответствующие трем нижним уровням модели OSI (рис. 9.5). На физическом уровне протокол Х.25 определяет электрический интерфейс между DTE и DCE. Стандарты Х.25 физического уровня приведены в рекомендациях Х21иХ21-бис.
Второй уровень интерфейса содержит функции, реализующие процедуру управления звеном данных HDLC (High-level Data Link Control Procedure), и отвечает за надежную передачу данных через физический стык. В Х.25 протоколом уровня звена передачи данных является протокол LAPB. Этому протоколу отводится роль формирования кадров, содержащих в информационном поле пере-
264 Глава 9 |
________________ _______________ |
даваемые данные. Кадр в процедуре HDLC переносит через интерфейс Х25 один пакет данных. Протокол LAPB применяется для формирования двухточечного соединения между DCE и DTE. Никаких спецификаций мультиплексирования каналов (аналогичных LAPD) не существует. LAPB используется для передачи информации уровня 3 Х.25, но, как уже отмечалось, этот протокол является не самым элегантным методом передачи данных через интерфейсы ISDN. Информацию уровня 3 Х.25 можно поместить в кадр LAPD.
Рис. 9.5. Взаимосвязь между архитектурами OSI и Х.25
Третий уровень содержит функции, необходимые для упаковки данных в пакеты и для создания виртуальных каналов, по которым эти пакеты передаются. Управление потоком осуществляет механизм окна, связанный с каждым виртуальным каналом. Средства сброса и рестарта дают возможность выполнять в интерфейсе процедуры восстановления после ошибок.
Формат пакетов Х.25 имеет вид, показанный на рис. 9.6 [59]. Первый разряд К/И в байте 3 указывает, является ли пакет информационным или управляющим. Остальная часть байта 3 служит для указания типа управляющего пакета. В следующем байте две группы по 4 разряда служат для указания длины адресного поля вызывающего и вызываемого DTE, соответственно. Затем следуют сами эти поля. В режиме быстрого поиска в конце пакета могут быть добавлены данные пользователя (до 16 байтов).
Протокол Х.25 |
__ 265 |
|
|
|
|
Рис. 9.6. Структура пакета Х.25: общий формат
Фактически различия между архитектурами Х.25 и OSI имеют место именно на этом, сетевом уровне, который по терминологии Х.25 называется уровнем пакетов. Протокол Х.25 ориентирован на соединения в виде виртуальных каналов, которые организуются с использованием ресурса постоянно существующих логических каналов. Каждому DTE доступно до 4095 таких каналов. Точнее говоря, предусматривается до 15 групп логических каналов по 255 каналов в каждом. Группа адресуется четырьмя, а канал — восемью битами в заголовке пакета. Двоичные значения этих полей означают номер группы и номер канала соответственно. Существует взаимно однозначное соответствие между номерами логических каналов в DTE и DCE. Фактическое количество логических каналов, которые может использовать DTE, определяется администрацией сети. Логические каналы используются для организации двух типов виртуальных соединений — устанавливаемых по запросу и постоянных. Иными словами, пакетный уровень реализует два типа услуг предоставления виртуальных каналов — услуги оперативного предоставления виртуального соединения (Virtual Call service, VC) и услуги предоставления постоянного виртуального канала связи (Permanent Virtual Circuit service, PVC).
Виртуальные соединения по запросу (virtual calls) формируются процедурами создания и аннулирования соединения, т.е. пакеты маршрутизируются по виртуальному каналу, организуемому в сети протоколом третьего уровня перед передачей пакетов. Процедура создания инициируется со стороны DTE, посылающего к DCE по свободному логическому каналу пакет запроса соединения. Протокол Х25 предполагает выбор свободного канала с наибольшим номером. Пакет запроса должен в явном виде содержать адрес получателя. По получении пакета с запросом соединения DCE передает этот пакет через сеть к DCE, с которым связан вызываемый DTE, причем на вызываемой стороне выбирается свободный логический