Протоколы семейства Х.25 поддерживает два вида виртуальных соединений: временные, устанавливаемые по запросу, виртуальные соединения и постоянные виртуальные соединений. Временные виртуальные соединения устанавливают динамически, по запросу с помощью специальной процедуры и с помощью специальной процедуры разрывают. Постоянное виртуальное соединение фиксировано, и его нельзя изменять, устанавливать и разрывать динамически.
Маршрутизация пакетов внутри сети не видима для абонентов. Обмен данными от абонента А к абоненту В происходит следующим образом:
А запрашивает установку виртуального соединения с В, посылая специальный служебный пакет, называемый Call Request (запрос на соединение), устройству DCE абонента В (далее просто DCE B). Этот пакет содержит адреса абонентов А и В, а так же номер нового виртуального соединения, который будет использоваться для передачи данных между А и В.
Сеть маршрутизирует этот пакет к DCE B.
DCE B получает Call Request пакет и шлет запрос DTE B. Этот запрос содержит ту же информацию и имеет тот же формат, что и Call Request пакет, но другой номер виртуального соединения, который устанавливает DCE B из набора локально доступных виртуальных соединений.
Если В согласно на установление соединения, то оно посылает специальный пакет, называемый Call Accepted, в котором указан тот же номер виртуального соединения, что и в пакете Call Request.
DCE A, получив Call Accepted пакет, шлет Call Connected пакет к DTE A. У этого пакета тот же формат, что и Call Accepted пакета, но с оригинальным номером виртуального соединения, указанным в Call Request пакете.
А и В обмениваются данными и специальными управляющими пакетами, используя номера своих локальных виртуальных соединений.
А (или В) посылает Clear Request пакет, чтобы инициировать разрыв виртуального соединения, и разорвать его получив Clear Confirmation пакет.
В (или А) получает Clear Indication пакет, отвечает Clear Confirmation пакетом.
На рис. 2-48 показаны основные форматы пакетов в Х.25. Данные абонента разбиваются на блоки некоторого определенного максимального размера и, каждому блоку добавляется 24, 32 или 56 байтовый заголовок. В результате получается пакет. Для виртуального соединения, в котором используют 15 разрядные последовательные номера, заголовок начинается со специального октета 0011000, идентифицирующего протокол. Заголовок включает 12 разрядный номер внутреннего соединения (он состоит из 4 разрядного номера группы и 8 разрядного номера соединения). Поля P(S), P(R) – это служебные поля, используемые для управления передачей и обнаружения и исправления ошибок. Бит Q не специализируется в стандарте и позволяет пользователям выделять два вида данных.
Помимо пакетов данных в Х.25 предусмотрено несколько специальных управляющих пакетов, которые используют, например, для установления, восстановления, проверки, разрыва виртуальных соединений. В таблице 2-8 приведены примеры видов пакетов и их параметры.
DTE может послать Interrupt пакет, который посылают, минуя процедуры передачи пакетов данных, и передают через сеть с более высоким приоритетом, чем пакеты данных.
Diagnostic пакет позволяет сообщить условия некоторых ошибок, после которых невозможно восстановление соединения.