Эталонная сетевая модель ISO

Международная организация по стандартизации (ISO) определила 7-уровневую эталонную сетевую модель для открытых систем (OSI), (Интернет использует 4-х уровневое подмножество).

Ниже на рис. 4.3.1.1 показана схема этих уровней, справа записаны коды документов международного Телекоммуникационного союза (ITU), регламентирующих протоколы соответствующих уровней.

Рис. 4.3.1.1. Семиуровневая эталонная модель ISO

Разбиение совокупности (стека) сетевых протоколов по уровням связана с попыткой унификации аппаратного и программного обеспечения. Предполагается, что каждому из уровней соответствует определенная ункциональная программа с жестко заданными входным и выходным интерфейсами. Форматы данных на заданном уровне модели для отправителя и получателя должны быть идентичны. Физический уровень локальных сетей определен документами, например, Ethernet II, IEEE 802.3 и т.д. Модели ISO наиболее полно соответствуют сети X.25.

Физический уровень X.25 определяет стандарт на связь между ЭВМ и сетевыми коммутаторами (X.21), а также на процедуры обмена пакетами между ЭВМ. X.21 характеризует некоторые аспекты построения общественных сетей передачи данных. Следует учитывать, что стандарт X.25 появился раньше рекомендаций ITU-T и опыт его применения был учтен при составлении новейших рекомендаций. На физическом уровне могут использоваться также протоколы X.21bis, RS232 или V.35.

Канальный уровень определяет то, как информация передается от ЭВМ к пакетному коммутатору (HDLC – high data link communication, бит-ориентированная процедура управления), на этом уровне исправляются ошибки, возникающие на физическом уровне.

Сетевой уровень определяет взаимодействие различных частей субсети, форматы пакетов, процедуры повторной передачи пакетов, стандартизует схему адресации и маршрутизации.

Транспортный уровень определяет надежность передачи данных по схеме точка-точка, избавляет уровень сессий от забот по обеспечению надежной и эффективной передачи данных.

Уровень сессий описывает то, как протокольное программное обеспечение должно организовать обеспечение выполнения любых прикладных программ. Организует двухстороннее взаимодействие сетевых объектов и необходимую синхронизацию процедур.

Презентационный уровень обеспечивает прикладной уровень стандартными услугами (сжатие информации, поддержка ASN.1 (abstract syntax notation 1) управляющих протоколов и т.д.).

Прикладной уровень – это все, что может понадобиться пользователям сетей, например X.400.

Международным стандартом в процедуре HDLC определены два вида кадров:

Рис. 4.3.1.2 Два вида кадров процедур HDLC

Флаг f = 01111110 задает границы кадра, SCS – контрольная сумма. Поля информация может иметь переменную длину, кратную восьми бит. Для HDLC определены три класса кадров: информационные (I), управляющие (S -supervisory) и ненумерованные (U – unnumbered). (Эти форматы соответствуют канальному уровню протокола x.25). Формат поля управление I-кадра показан на рис. 4.3.1.3.

Рис. 4.3.1.3. Формат поля управления I-кадра (нумерация по модулю 128)

N(S) и N(S) представляют собой поля номера кадров. N(R) – номер текущего кадра, а N(R) – номер следующего кадра, который отправитель текущего кадра ожидает получить. При несоответствии ожидаемого номера и полученного возникает ошибка. Если используется нумерация кадров по модулю 8, то максимальное число кадров, не получивших подтверждение не может превышать 7, а размер полей N(S) и N(R) равен трем бит. Это справедливо и для s-кадров. i, s и u-кадры могут иметь обычный (один байт) и расширенный (2 байта) форматы. Младший бит (1) расположен слева. Поле P/F – флаг опрос/окончание опроса. Информационный (I) кадр содержит поле информация (см. рис. 4.3.1.2). Формат S– кадра показан на рис. 4.3.1.4.

Рис. 4.3.1.4. Формат поля управления s-кадра (расширенный вариант)

Для однобайтовой версии s-кадра за полем s следует непосредственно поле P/F. Поле S определяет тип управляющего кадра (см. таблицу 4.3.1.1):

Таблица 4.3.1.1. Коды поля S

Код s-поля

Назначение
00 RR-кадр (receiver ready) готов к приему
01 RNR-кадр (receiver not ready) не готов к приему
10 REJ-кадр (reject) отказ от приема
11 SREJ-кадр (selected reject) выборочный отказ от приема

S-кадры служат для передачи сигналов подтверждения, запросов повторной передачи или прекращения посылки кадров из-за блокировки приема в местной станции. При получении кадра с неверным порядковым номером (напр., предшествующий кадр потерян), приемник посылает S-кадр REJ, что означает необходимость повторной посылки предшествующего кадра и всех последующих. Кадр SREJ(n) указывает на то, что все кадры до n-1, включительно, доставлены без ошибок, а при доставке кадра n допущена ошибка и он должен быть послан повторно. В отличии от rej запрашивается пересылка только одного кадра. Связь с терминалом является временной, если бит P/F равен 1. Если адрес места назначения равен 11111111, то обращение является широковещательным. Формат U-кадра представлен на рис. 4.3.1.5.

Рис. 4.3.1.5. Формат поля управления U-кадра

U-кадр используется для формирования канала, изменения режима работы и управления системой передачи данных. Существует версия, когда поле “0” размещается не в 8-ой позиции, а в 5-ой. В нижней части рисунка показана расширенная версия формата. Младшие разряды располагаются слева. Поле m может принимать значения, приведенные в таблице 3.5.1.2.

Установление соединения начинается с передачи в канал команды SABM (или SABME). Если удаленной станцией эта команда принята правильно и имеется возможность установления соединения, то присылается отклик UA. При этом переменные состояния на удаленной станции V(S) и V(R) (аналоги полей N(S) и N(R) в пакетах) устанавливаются в нулевое состояние.

Таблица 4.3.1.2. Коды поля M (U-кадр).

Код поля М Мнемоника Назначение
00000 UI Ненумерованная информация
00001 SNRM

Установка нормального отклика (set normal regime mode)

00010 DISC/RD Отсоединение (disconnect / request disconnect)
00100 up

Ненумерованный запрос передачи (unnumbered poll)

00110 ua

Ненумерованный отклик (unnumbered acknowledgment)

00111 test

Тестирование системы передачи данных

10000 SIM/RIM

Установка режима асинхронного отклика (set initialization mode / request initialization mode)

10001 FRMR

Отклонение кадра (frame reject)

11000 SARM/DM

Установка режима асинхронного отклика (set asynchronous acknowledgment regime mode / disconnect mode)

11001 RSET Сброс (возврат в исходное состояние)
11010 SARME SARM с расширенной нумерацией
11011 SNRME

snrm с расширенной нумерацией

11100 SAMB

Установка асинхронного сбалансированного режима

11101

XID

Идентификация коммутатора (exchange identifier)

11110 SABME

SABM с расширенной нумерацией

После благополучного получения пакета ua локальной станцией соединение считается установленным и может начинаться обмен данными. Информацию несут кадры типа I, а также FRMR и UI-кадры типа U. В кадре ответа FRMR должно присутствовать информационное поле, содержащее обоснование присылки такого ответа. Структура этого поля для обычного и расширенного (внизу) форматов показана на рис. 4.3.1.6.

Рис. 4.3.1.6. Структура информационного поля для FRMR-кадров

Биты A, B, C и D определяют причину, по который кадр не был доставлен. Если бит равен 1, то это указывает на соответствующую причины недоставки. Бит A указывает на неверное значение N(R). Бит B =1 говорит о слишком большой длине информационного поля. Бит C – указывает на то, что поле управления неопределенно из-за наличия в кадре недопустимой для данной команды или отклика информационного поля, а D=1 означает, что поле управления принятого кадра не определено или же неприемлемо. V(R) и V(S) текущие значения переменных приема и передачи, соответственно. C/R (Command/Response) =1 означает, что ошибочное сообщение является откликом (=0 – командой). Большинство U-кадров интерпретируются как команды или отклики в зависимости от контекста и того, кто их послал. В некоторых случаях для разделения откликов и команд используется поле адреса. Одним из наиболее известных протоколов сетевого уровня, использующих HDLC, является X.25.

citforum.ru