Интегрированные сети ISDN


Формат пакетов g-протокола



Рисунок 4.4.14.1. Формат пакетов g-протокола




Пакет начинается с восьмеричного кода 020, далее следует поле k (1 Ј k Ј 9). Для управляющих пакетов k=9. Для информационных пакетов k определяет размер поля данных. k=1 соответствует 32 байтам данных, а k=9 – 4096 байтам. Далее следуют два байта контрольной суммы, контрольный байт, определяющий тип пакета, и xor-байт. Последний равен результату операции xor для полей k, младшего байта контрольной суммы, старшего байта контрольной суммы и контрольного байта. Этот байт служит для контроля целостности заголовка пакета.

Управляющий байт заголовка содержит в себе три субполя (ttxxxyyy). Поле tt может принимать следующие значения.

0

Указатель управляющего пакета (k должно быть равно 9). При этом поле xxx определяет тип управляющего пакета;

1

Не используется UUCP;

2

Информационный пакет;

3

Короткий информационный пакет.

Пусть длина поля данных, заданная k, равна 1, пусть также первый байт поля данных равен b1. Если b1 меньше 128, тогда истинное число байт в поле данных равно 1 – b1, начиная со второго байта. Если b1і 128 и второй байт поля данных b2, то истинное число байт в поле данных равно 1 – ((b1 & 0x7f) + (b2

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

В пакетах управления поле ххх может принимать следующие значения:

CLOSE

Соединение должно быть оборвано немедленно (например, обнаружено слишком много ошибок).

RJ или NAK

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

SRJ

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

RR или ACK

Подтверждение получения пакета. Поле ууу содержит код номера последнего пакета, полученного корректно.

INITA

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

INITB

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

INITC

Третий пакет инициализации. Поле ууу содержит размер окна, который будет использован.

<


Начало  Назад  Вперед



Книжный магазин