X.25

X.25 представляет собой рекомендации CCITT для интерфейса между устройствами DTE и DCE через телефонную сеть общего пользования (Public Switched Telephone Network- PSTN). В общем случае X.25 функционирует на уровнях 1 – 3 эталонной модели OSI, однако в данной главе термин X.25 используется только применительно к сетевому уровню модели OSI. Пакеты протокола X.25 передаются по сетям общего пользования в информационном поле кадров LAPB.

В данной главе описываются следующие протоколы:

  • LAPB
  • X.25
  • X.75
  • MLP
  • HDLC.

На рисунке показано расположение протоколов X.25 в эталонной модели OSI.

gif_32

Положение протоколов X.25 в эталонной модели OSI

LAPB

LAPB является протоколом канального уровня, используемым для передачи пакетов X.25. Формат стандартного кадра LAPB показан на рисунке.

Флаг

Адрес

Управление

Информация

FCS

Флаг

Структура заголовка LAPB

Флаг

Флаг служит для разделения кадров и всегда имеет значение 0x7E. Для того, чтобы исключить появление такой же последовательности битов внутри пакета, на приемной и передающей стороне используется метод вставки битов (Bit Stuffing).

Адрес

Первый байт после флага содержит поле адреса. Для протокола LAPB это значение не имеет смысла, поскольку протокол работает в режиме соединений “точка-точка” и адреса сетевого уровня устройств DTE представлены в пакетах сетевого уровня. В силу сказанного, поле адреса используется для других целей – оно служит для того, чтобы различать канальные команды и отклики и может содержать только два значения – 0x01 (команда от DTE к DCE или отклик на такую команду в обратном направлении) или 0x03 (команда от DCE к DTE или отклик на такую команду в обратном направлении).

Управление

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

Протокол LAPB не используется отношений ведущий-ведомый (master-slave), поэтому отправитель должен установить бит опроса (Poll) для того, чтобы получить ответ незамедлительно. В кадрах откликов этот бит служит флагом завершения (Final). Получатель всегда устанавливает флаг завершения в откликах на команды с установленным флагом Poll (опрос). Бит Poll/Final (P/F) в общем случае используется для проверки корректности порядка передачи кадров, поскольку существует возможность отсутсвия подтверждений приема.

Режимы работы

LAPB использует в асинхронный сбалансированный режим (Asynchronous Balanced Mode – ABM), обозначаемый SABM(E). Термин сбалансированный в данном случае обозначает отсутствие в соединении отношений “ведущий-ведомый”. Каждая станция может инициировать соединение, управлять им, обеспечивать восстановление после ошибок, а также передавать кадры в любой момент времени. Понятия DTE и DCE трактуются как эквивалентные.

FCS

Контрольная сумма (Frame Check Sequence – FCS) позволяет контролировать целостность передаваемых данных. Значение FCS рассчитывается отправителем кадра с учетом всех битов кадра. При получении пакета контрольная сумма рассчитывается заново и сравнивается со значением, содержащимся в принятом пакете.

Размер окна

LAPB поддерживает расширенный размер окна (модуль 128), при котором число ожидающих подтверждения кадров может составлять от 8 до 128. Этот режим используется для спутниковых каналов, где задержка подтверждения приема значительно больше, чем время передачи кадров. Тип кадра, инициирующего соединение, определяет модуль для сессии. При использовании расширенного окна к имени базового типа пакета добавляет “E” (т. е. SABM становится SABME).

Типы кадров

Протокол LAPB поддерживает следующие типы управляющих кадров (Supervisory Frame):

RR Подтверждение приема информационного кадра и индикация готовности к приему следующих кадров.

REJ Запрос повторной передачи всех кадров, начиная с указанного порядкового номера.

RNR Индикация состояния временной занятости станции (окно заполнено).

Ненумерованные кадры (Unnumbered Frame) могут быть следующих типов:

DISC Запрос разъединения.

UA Кадр подтверждения.

DM Отклик на запрос DISC, показывающий режим разъединения.

FRMR Отбрасывание (reject) кадра.

SABM Иницирует режим SABM, не использующий отношений ведущий -ведомый.

SABME Расширенный режим SABM.

Информационные кадры могут быть только одного типа:

Info Информационный кадр.

X.25

Структура пакета X.25 для модуля 8 показана на рисунке.

8

7

6

5

4

3

2

1

GFI

Q

D

s

s

LGN

LCN

Тип

P(R)

M

P(S)

0

Пользовательские данные

.

.

.

.

Структура пакета X.25 с модулем 8

Структура пакета X.25 с модулем 128 показана на следующем рисунке.

8

7

6

5

4

3

2

1

GFI

Q

D

s

s

LGN

LCN

Тип

P(S)

0

P(R)

M

Пользовательские данные

.

.

Структура пакета X.25 с модулем 128

GFI

Поле идентификатора формата (General format identifier – GFI) определяет структуру оставшейся части заголовка пакета.

Q Бит Q.

D Бит D.

s Последовательная схема – поле указывает модуль 8 (ss=1) или 128 (ss=2).

LGN

Номер группы логических каналов (Logical channel group number – LGN) – 4-битовое поле, совместно с полем LCN задающее номер логического канала.

LCN

Номер логического канала (Logacal channel number – LCN) – 8-битовое поле, задающее номер логического канала на линии DTE – DCE.

Тип пакета

8-битовое поле, указывающее тип пакета (в пакетах с модулем 128 поле типа имеет размер 16 битов). Поддерживаются следующие типы пакетов:

P(R) порядковый номер приема пакета, который содержится в пакетах данных и управления потоком (flow control), или адрес вызываемого DTE, который может содержаться в пакетах организации, регистрации или разрыва соединений.

P(S) порядковый номер передачи пакета, который содержится в пакетах данных, или адрес вызывающего DTE из пакетов

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

Пакеты могут быть следующих типов:

CALL ACC Вызов принят.

CALL REQ Запрос соединения.

CLR CNF Подтверждение разрыва (clear).

CLR REQ Запрос разрыва.

DATA Пакет данных.

DIAG Диагностика.

INT CNF Подтверждение прерывания.

INT REQ Запрос прерывания.

REJ Отказ.

RES CNF Подтверждение сброса.

RES REQ Запрос сброса.

RNR Приемник не готов.

RR Приемник готов.

RSTR CNF Подтверждение перезапуска.

RSTR REQ Запрос перезапуска.

REG REQ Запрос регистрации.

REG CNF Подтверждение регистрации.

X.75

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

На канальном уровне X.75 использует проткол LAPB аналогично тому, как это делает X.25. На сетевом уровне X.75 отличается от протокола X.25 наличием поля сетевых утилит (переменной длины) перед полем сетевых возможностей (также переменной длины) протокола X.25.

 X75

Пример декодирования X.75

MLP

Мультиканальный протокол MLP (Multilink procedure) располагается на дополнительном верзнем подуровне протокола канального уровня (LAPB) и работает между уровнем пакетов и множеством отдельных функций протокола канального уровня (SLP – Single Link).

Кадр MPL вставляется перед информационным полем LAPB, когда это указано в кадре LAPB. Структура MLC (multilink control field – поле управления мультиканалом) показана на рисунке.

4

5

6

7

8

16

MNH(S)

V

S

R

C

MNL(S)

Структура кадра MLC

MNH(S)

Биты 9-12 порядкового номера мультиликанальной передачи (12 битов).

MNL(S)

Биты 1-8 порядкового номера мультиликанальной передачи (12 битов).

V

Флаг отсутствия продолжения (последователей).

S

Бит опции проверки последовательности.

R

Бит запроса на сброс MLP.

C

Бит подтверждения сброса MLP.

MLP_LAPB

Пример декодирования MLP в LAPB

HDLC

Протокол HDLC (High Level Data Link Control – протокол управления логическим каналом на высоком уровне) был разработан ISO на основе ранних разработок компании IBM для протокола SDLC.

Формат стандартного пакета HDLC показан на рисунке.

Флаг

Адрес

Управление

Информация

FCS

Флаг

Структура кадра HDLC

Флаг

Флаг служит для разделения кадров и всегда имеет значение 0x7E. Для того, чтобы исключить появление такой же последовательности битов внутри пакета, на приемной и передающей стороне используется метод вставки битов (Bit Stuffing).

Поле адреса

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

Управление

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

Каждый кадр содержит однобитовое поле Poll/Final (опрос/завершение). В режиме NRM этот бит указывает «говорящую» станцию, а также определяет, кто будет «говорить» следующим и когда. После того, как ведущая станция завершает передачу серии кадров, она устанавливает бит опроса (Poll), передавая управление ведомой станции. Получив управление, ведомая станция, может ответить ведущей. По окончании передачи ведомая станция устанавливает бит завершения, возвращая управление ведущей станции.

Режимы работы

HDLC может работать в трех режимах, отличающихся друг от друга уровнем отношений ведущий-ведомый (master/slave). Режим работы определяется типом пакета (uniwue frame type specifier):

  • Режим нормального отклика (Normal Response Mose – NRM) использует соотношение ведущий-ведомый и обозначается кадрами SNRM(E). Ведущая станция инициирует сессию, а для передачи используется система опроса ведомых узлов.
  • Режим асинхронного отклика (Asynchronous Response Mode – ARM) работает подобно NRM и обозначается кадрами SARM(E). Однако в этом режиме ведомая станция может передавать данные, не ожидая сигнала опроса (polling) от ведущей станции.
  • Асинхронный сбалансированный режим (Asynchronous Balanced Mode – ABM). В данном случае термин сбалансированный обозначает отношений ведущий-ведомый при связи устройств. Данный режим обозначается кадрами SABM(E). Каждая станция может инициировать соединение, обеспечивать восстановление после ошибок, поддерживать функции управления и передавать пакеты в любой момент времени.
FCS

Контрольная сумма (Frame Check Sequence – FCS) позволяет контролировать целостность принятых данных. FCS рассчитывается отправителем с учетом всех битов кадра. При получении кадра контрольная сумма вычисляется заново и сравнивается со значением, содержащимся в пакете.

Размер окна

HDLC поддерживает использование окон расширенного размера (по модулю 128), т. е. количество переданных и неподтвержденных пакетов данных может составлять от 8 до 128. Расширенный размер окна передачи обычно используется при спутниковой связи, где задержка подтверждений приема может быть значительно больше, чем время передачи самих кадров данных.Тип кадра инициализации соединения определяет модуль для сессии – в случае использования расширенного окна к имени базового типа пакета добавляется “E” (SABM превращается в SABME).

Расширенный адрес

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

Типы кадров

Протокол HDLC использует управляющие кадры (Supervisory Frame) нескольких типов:

RR Подтверждение приема информационного кадра и индикация готовности к приему последующей информации.

REJ Запрос повторной передачи всех кадров, начиная с указанного в данном кадре порядкового номера.

RNR Индикация временной перегрузки станции (окно заполнено).

SREJ Запрос на повторную передачу кадра с указанным порядковым номером.

Ниже перечислены типы ненумерованных кадров (Unnumbered Frame), используемых в протоколе HDLC:

DISC Запрос разрыва соединения.

UA Кадр подтверждения приема данных.

DM Отклик на кадр DISC, указывающий на разрыв соединения.

FRMR Сброс кадра

SABM Кадр, инициализирующий асинхронный балансовый режим.

SABME SABM в расширенном режиме.

SARM Кадр, инициирующий режим асинхронных откликов.

SARME Расширенный режим SARM.

REST Сброс порядковых номеров.

CMDR Сброс команды.

SNRM Кадр, инициирующий режим нормального отклика.

SNRME Расширенный режим SNRM.

RD Запрос разрыва соединения.

RIM Запрос вторичной станции на инициализацию после разрыва соединения.

SIM Установка режима инициализации

UP Ненумерованный опрос.

UI Ненумерованная информация.

XID Идентификация команды обмена.

HDLC использует единственный тип информационных кадров:

Info Информационный кадр.

Терминология X.25

Команда

Кадры LAPB являются командами или откликами на них (в зависимости от значения поля адреса и направления передачи кадра). Кадры команд от DTE содержат в поле адреса значение 1, кадры команд DCE – 3.

Управляющие кадры (Control frames)

Все кадры LAPB, исключая информационные кадры.

Управляющие пакеты (Control packets)

Все пакеты X.25, исключая пакеты типа данных (DATA).

Бит D

Флаг подтверждения доставки в заголовке пакета X.25, используемый для индикации уровня подтверждений между устройствами DTE и DCE – локальный (0) или глобальный (1). Этот флаг используется не всегда и в общем случае имеет нулевое значение.

Информационные кадры (Information frames)

Кадры LAPB, используемые для передачи данных через канал в информационном поле кадра. Информационное поле содержит заголовок пакета X.25 и данные в соответствии со стандартным протоколом сетевого уровня X.25.

LAPB

Протокол LAPB (Link Access Procedure-Balanced – процедура сбалансированного доступа к каналу), являющийся адаптацией CCITT для канального уровня протокола HDLC с интерфейсом X.25. Поле адреса LAPB (в отличие от адреса HDLC) может содержать только два возможных значения.

LCN

Номер логического канала (Logical Channel Number) совместно с номером группы каналов LGN идентифицирует логический канал на линии между устройствами DTE и DCE. 8-битовое поле LCN может содержать значения от 0 до 255.

LGN

Номер группы логических каналов (Logical Channel Group Number) совместно с номером канала LСN идентифицирует логический канал на линии между устройствами. 4-битовое поле LGN может содержать значения от 0 до 15.

Бит M

Флаг наличия дополнительных данных. Этот бит содержится в заголовке X.25 и устанавливается уровнями, расположенными над сетевым для извещения DTE-получателя о наличии дополнительных данных в следующем пакете. Использую бит M, можно логически объединять пакеты для переноса больших блоков информации.

Модуль (Modulo)

Размер окна. Указывает максимальное количество кадров (канальный уровень) или пакетов (сеетвой уровень), которые могут быть переданы без подтверждения доставки. При использовании модуля 8 (Modulo 8) порядковый номер кадра может быть представлен числом от 0 до 7, поскольку для номера выделено 3 бита. При использовании модуля 128 номер кадра может принимать значения от 0 до 127 (7 битов).

N(R)

Порядковый номер кадра, используемый в информационных и управляющих кадрах LAPB для того, чтобы показать передатчику состояние переданных информационных кадров. Значение N(R) зависит от типа кадра и может включать подтверждение приема, а также информацию о пропуске кадров и состоянии занятости. При использовании модуля 8 порядковый номер последовательности кадра представляется 3-битовым полем (0-7), для модуля 128 номер определяется 7-битовым полем (0 – 127).

N(S)

Порядковый номер информационного кадра LAPB, используемый для идентификации каждого кадра, переданного приемнику. При использовании модуля 8 порядковый номер последовательности кадра представляется 3-битовым полем (0-7), для модуля 128 номер определяется 7-битовым полем (0 – 127).

P(R)

Порядковый номер пакета данных X.25, используемый для индикации состояния переданных пакетов передатчику. Значение P(R) зависит от типа пакета и может включать подтверждение приема, а также информацию о пропуске кадров и состоянии занятости. При использовании модуля 8 порядковый номер последовательности кадра представляется 3-битовым полем (0-7), для модуля 128 номер определяется 7-битовым полем (0 – 127).

P(S)

Порядковый номер пакета данных X.25, используемый для идентификации каждого пакета, переданного приемнику. При использовании модуля 8 порядковый номер последовательности кадра представляется 3-битовым полем (0-7), для модуля 128 номер определяется 7-битовым полем (0 – 127).

Бит P/F

Бит Poll/Final (опрос/завершение) может быть установлен передатчиком в информационном кадре LAPB для получения незамедлительного отклика от получателя. Получатель такого кадра всегда устанавливает бит P/F в ответном кадре.

Бит Q

Бит, содержащийся в заголовке пакета X.25 для обозначения управляющих пакетов X.25 используемых асинхронным устройством PAD. Обычно этот флаг служит для индикации использования фирменного (proprietary) протокола.

Отклик (Response)

Кадры LAPB являются командами или откликами на них (в зависимости от значения поля адреса и направления передачи кадра). Кадры отклика от DCE содержат в поле адреса значение 1, кадры отклика от DTE – 3.

Порядковый номер (Sequence number)

Число, присваиваемое кадру или пакету, для обеспечения корректного порядка их доставки. Размер данного поля зависит от используемого модуля (максимального размера окна) и определяет максимальное количество кадров или пакетов, которое может быть передано без подтверждения их доставки.

Кадры управления (Supervisory frames)

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

Ненумерованные кадры (Unnumbered frames)

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

X.25

Протокол X.25 представляет собой рекомендации CCITT, описывающие интерфейс между устройствами DTE и DCE через телефонную сеть общего пользования (Public Switched Telephone Network- PSTN). X.25 функционирует на уровнях 1 – 3 эталонной модели OSI, однако в данной главе термин X.25 относится только к сетевому уровню.

Запись опубликована в рубрике Мир протоколов. Добавьте в закладки постоянную ссылку.