Алгоритмы и протоколы каналов и сетей передачи данных

Сетевые уровни

Разбить на страницы
Показывать лекцию целиком

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

(рис 12.1) Семиуровневая эталонная модель ISO

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

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

Канальный уровень определяет то, как информация передается от ЭВМ к пакетному коммутатору ( HDLC — High Data Link Communication, бит-ориентированная процедура управления), на этом уровне исправляются ошибки, возникающие на физическом уровне.

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

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

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

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

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

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

(рис 12.2) Два вида кадров процедур HDLC

Флаг .

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

). Формат S-кадра показан на рис 12.4.

(рис 12.4) Формат поля управления S-кадра (расширенный вариант)

Для однобайтовой версии S-кадра за полем S следует непосредственно поле P/F. Поле S определяет тип управляющего кадра (см. таблицу 12.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-кадра представлен на рис 12.5.

(рис 12.5) Формат поля управления U.кадра

U-кадр используется для формирования канала, изменения режима работы и управления системой передачи данных. Существует версия, когда поле "0" размещается не в 8-й позиции, а в 5-й. В нижней части рисунка показана расширенная версия формата. Младшие разряды располагаются слева. Поле M может принимать значения, приведенные в таблице 12.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 с расширенной нумерацией

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

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

(рис 12.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-кадров интерпретируются как команды или отклики в зависимости от контекста и того, кто их послал. В некоторых случаях для разделения откликов и команд используется поле адреса.

Приведенным выше регламентациям следуют сетевые протоколы ISDN, ATM, Frame Relay и Х.25. Ограниченность размера адресного поля и полей номеров кадров устанавливают определенные ограничения на эксплуатационные характеристики этих сетей (исключена динамическая маршрутизация и лимитирована пропускная способность при больших задержках в канале).

За последние годы сложилась традиция начала рассказа о стеке сетевых протоколов с 7-уровневой модели ISO, хотя уже давно стало ясно, что протоколы TCP/IP в эту модель уложить совсем не просто.

Дэвид Кларк из Масачусетского университета предложил теорию, которую назвал "апокалипсисом двух слонов". В этой модели анализируется активность вокруг любого нового объекта. Сначала появляется идея, созываются семинары, затем конференции, публикуются статьи в журналах, проводятся пробные испытания. Спустя некоторое время, когда идея доказала свою полезность, начинаются серьезные инвестиции, разрабатывается оборудование, программное обеспечение и т.д. Эта активность проиллюстрирована на рис 12.7.

(рис 12.7) Апокалипсис двух слонов

Момент разработки стандартов на оборудование и программы (протоколы) должен располагаться точно между двумя пиками активности. Если стандарты начнут создаваться во время первого пика активности, то неизбежно не учтут многих важных обстоятельств и проблем. При разработке стандартов во время второго пика различные компании успеют выполнить разработки или запустить в серию оборудование, не отвечающее этим стандартам, и будет трудно убедить их, что они потратили деньги впустую. Судьба 7-уровневой модели хорошо укладывается в эту теорию. Она возникла слишком рано. Сегодня видно, что большинство приложений игнорирует уровень сессий, да и уровень презентаций можно выявить отнюдь не всегда. Эта модель в нынешнем виде обречена. История весьма поучительна и полностью укладывается в теорию "апокалипсиса двух слонов". Впрочем, это совершенно не означает, что послойная модель несостоятельна. На рисунке 12.8 представлен достаточно общий случай такого построения сети.

(рис 12.8) Послойная 5-уровневая модель сети

Уровень 1 остается как обычно для физической транспортной среды. В случае Ethernet второй уровень занят протоколом, определяющим формат пакета Ethernet, систему МАС-адресации и взаимодействия объектов такой сети (CSMA/CD). На рис 12.8 этому уровню принадлежат заголовки Н2 и контрольные суммы Т2. В случае стека протоколов TCP/IP в Ethernet-кадр вкладывается IP-дейтограммы с ее заголовками Н3. Уровню 4 будет соответствовать протокол UDP или TCP с заголовком Н4. На верху пирамиды размещается прикладная программа, посылающая сообщение М. Как показано на рисунке, на уровне 3, если это требуется, возможна фрагментация, при которой исходное сообщение М делится на два или более фрагментов (на рисунке — М1 и М2 ).

Не следует думать, что стек протоколов TCP/IP является идеальным и безгрешным. Эти протоколы впервые были реализованы в качестве составной части ОС UNIX (Berkeley). Программы оказались удачными и (что весьма важно) бесплатными. Это способствовало их популярности и сформировало достаточно широкий круг пользователей.

К сожалению, в TCP/IP не было проведено четкого разграничения между услугами, интерфейсом и протоколом. Слой ЭВМ-сеть плохо прописан и представляет собой интерфейс между сетью и канальным уровнем. В TCP/IP вообще не оговариваются требования для физического и канального уровней (это имеет и некоторые преимущества). Здесь не оговорены форматы разграничения кадров и требования к характеристикам физической среды (скрученные пары, оптические волокна, радиоканалы). Уместно также отметить слабую устойчивость данного стека протоколов против сетевых атак. Несовершенны и некоторые прикладные протоколы, например, TELNET рассчитан на работу исключительно в символьном режиме, в нем не проработаны графические возможности, не предусмотрена работа с мышью. Несмотря на эти недостатки, данный протокол уже более 25 лет в работе. Широкое распространение протоколов TCP/IP создает определенные трудности для их модификации. Примером может служить удивительно медленное внедрение IPv6. Впрочем, многие другие протокольные системы вообще не были приспособлены к модификации и по этой причине исчезли.

7-уровневая модель OSI в настоящее время представляет интерес лишь для обсуждения сетевых проблем.

История TCP/IP показывает, что для Всемирной Сети имеют шансы лишь открытые сетевые протоколы, хорошо документированные и общедоступные. Это позволяет участвовать в разработке прикладных программ широким массам пользователей.

Машина считается подключенной к сети Интернет, если ее работа базируется на стеке протоколов TCP/IP, она имеет IP-адрес и может посылать IP-пакеты другим ЭВМ. Базовыми процедурами Интернет являются прием/передача почтовых сообщений (протокол SMTP ), передача новостей ( NNTP ), удаленный доступ (telnet, Rlogin, SSH), передача файлов ( FTP ), и World Wide Web (WWW — HTTP ) и т.д.

В сущности, Интернет — это система взаимодействующих друг с другом программ. Протоколы TCP/IP — это правила, которым эти программы должны отвечать, чтобы успешно взаимодействовать друг с другом.

Все виды сетей предназначены для передачи данных (ведь и случай использования сети для управления сопряжен с передачей информации). Передача данных в Интернете происходит от отправителя к месту назначения, определяемого IP-адресом. Но сетевое оборудование (кроме маршрутизаторов (L3)) работает с МАС-адресами ( . Машина-отправитель находится в сети Ethernet-A, а получатель с адресом IP-B — в сети Ethernet-В. Как видно из рисунка, информационная дейтограмма при транспортировке остается неизменной, она содержит IP-адрес места назначения, IP-адрес отправителя, некоторую другую служебную информацию в заголовке, и несет данные, предназначенные для получателя. По пути к месту назначения в приведенном примере использованы каналы сетей FDDI и PPP. МАС-адрес места назначения на каждом промежуточном этапе равен МАС-адресу очередного получателя, которым обычно является маршрутизатор. При этом следует иметь в виду, что каждый из маршрутизаторов сам имеет не менее двух IP-адресов (по одному на каждый вход/выход). В каждом маршрутизаторе после получения кадра информационная дейтограмма извлекается и помещается в новый кадр с соответствующим МАС-адресом назначения. Когда кадр доходит до сети места назначения, формируется кадр с адресом Ethernet-интерфейса ЭВМ-адресата. Разумеется, данная схема является упрощенной, но она отражает логику преобразования адресов.

(рис 12.9) Схема преобразования адресов

Человеку, которому приходится выбирать ту или иную сеть впервые, задача может показаться непростой, тем более что большинство из них имеют сопоставимые эксплуатационные характеристики. Попытаемся сравнить наиболее популярные стандарты локальных сетей из ряда 802.3 (Ethernet), 802.4 (маркерная шина) и 802.5 (маркерное кольцо). Начнем с сети Ethernet, распространенность которой в мире составляет около 70%, а в России — более 95% (возможно, даже 99%).

Некоторые примеры сетевых протоколов

Протокол 802.3 достаточно прост, и сетевые интерфейсы за счет массового производства весьма дешевы. Станция может быть подключена к сети без прерывания работы других сетевых устройств. Задержка доступа к сетевой среде при малых загрузках практически равна нулю. В Ethernet присутствует аналоговая обработка сигналов, ведь станция должна уметь обнаружить сигнал другой станции даже, когда она сама занята передачей кадра (способность обнаружить столкновение). Ограничение на минимальную длину кадра, налагаемое из-за задержек в сегментах и необходимости детектирования столкновений, приводит к снижению эффективности, так как для передачи одного байта при нажатии клавиши будет передаваться 64-байтный кадр. Задержка отклика при возникновении в системе определенных условий в 802.3 непредсказуема и может варьироваться от миллисекунды до десятка секунд в зависимости от ситуации в сети. Здесь обычно не предусмотрено приоритетов, а при высоких загрузках возможно снижение пропускной способности сети до нуля. Следует заметить, что если в сети, построенной с привлечением скрученных пар, используются только переключатели (с полным дуплексом), столкновения практически исключены, но это сохраняет неопределенности времени доступа и доставки, так как время пребывания кадра в буферах (очередях) может варьироваться в весьма широких пределах.

Сеть 802.4 (маркерная шина) использует стандартный телевизионный кабель и соответствующее стандартное интерфейсное оборудование, выпускаемое многими производителями. Степень неопределенности доступа к сетевой среде здесь меньше, чем в случае 802.3, хотя повторные потери маркера в критические моменты могут создать серьезные проблемы. Здесь поддерживаются приоритеты, и по этой причине эти сети более удобны для задач реального времени. Сеть может быть сконфигурирована для гарантированного пропускания определенного трафика, например цифрового голоса или мультимедиа. 802.4 имеет хорошую нагрузочную характеристику и неплохо работает при высоких загрузках. Широкополосный кабель в данном случае может поддерживать несколько каналов не только для данных, но и для речи или телевидения. Протокол 802.4 крайне сложен, задержка доступа к сетевой среде определяется приходом маркера. Станция вынуждена ждать маркер даже в условиях, когда других станций нет в наличии. Протокол мало приспособлен для работы с оптическим волокном.

Протокол 802.5 (маркерное кольцо) использует соединение "точка-точка" и работает исключительно с цифровыми данными. В качестве физической среды можно использовать что угодно: скрученную пару, коаксиальный кабель или оптическое волокно. Понятно, что самым дешевым решением для ограниченных расстояний является скрученная пара. Это одна из немногих сетей, где возможно автоматическое обнаружение и парирование обрывов связи. Так же как и в 802.4, она поддерживает приоритетное обслуживание, но станция, прежде чем получит доступ к сетевой среде, должна дождаться свободного маркера. Здесь допустимы кадры минимально достаточной длины. Но допустимы и сколь угодно длинные кадры, размер которых ограничивается только регламентным временем удержания маркера. Нагрузочная характеристика этой сети близка к идеальной. Уязвимой частью сети 802.5 является центральный монитор. Ниже представлена сравнительная таблица рассмотренных трех протоколов (табл. 12.3).

Характеристики сетей 802.3, 802.4 и 802.5
Свойства 802.3 802.4 802.5
Простота протокола + - -
Задержка доступа при малой загрузке Нулевая Ожидание маркера Ожидание маркера
Передача короткого кадра нет да да
Автоматическое обнаружение и парирование обрыва кабеля нет нет да
Возможность длинных кадров MTU MTU Ограничено только временем удержания маркера
Работа при высоких загрузках плохая хорошая великолепная
Наличие приоритетов - + +
Наличие единого центра управления (и его уязвимость) нет нет да

Следующий уровень после локальных сетей (LAN) занимают районные сети университетов, научных центров, крупных фирм и т.д. ( MAN – Metropolitan Area Network). Для реализации таких сетей применяются соответствующие сетевые протоколы – SDH (Synchronous Digital Hierarchy), DQDB (Distributed Queue Dual Bus – распределенная очередь и двойная шина) и т.д. Оба протокола пригодны для организации опорных сетей, объединяющих локальные сети. Наметилась тенденция применения технологии 10GE для сетей уровня МАN.

Сети с двойной шиной и распределенной очередью DQDB используют алгоритм доступа, называемый распределенным переключением пакетов ( QPSX — Queued-Packet Distributed-Switch). Здесь используется две несвязанные однонаправленные шины, сформированные из цепочки соединений "точка-точка". Описание работы сети содержится в документе IEEE 802.6. Пропускная способность сети составляет 150 Мбит/с (планируется 600 Мбит/с), максимально возможная длина сети — 160 км. Максимальное число узлов равно 512. В качестве транспортной среды можно использовать одно- и мультимодовое оптическое волокно (длина волны 1300 нм). Средняя частота ошибок (BER) составляет 10-9. По сетям DQDB пересылаются, так же, как и по ATM-каналам, ячейки фиксированного размера (L = 53 байта). Формат поля данных совместим с некоторыми типами AAL.

Ячейка DQDB отличается от ячейки ATM тем, что не содержит поля . Шины А и Б служат для передачи ячеек в противоположных направлениях. Если станция намерена передать ячейку по шине Б, она должна выполнить резервирование заранее на шине А. Каждый из узлов подключен к обеим шинам. По каждой из шин всегда циркулирует фиксированное число контейнеров. Содержимое контейнеров может передаваться с одной шины на другую.

(рис 12.10) Топология сети DQDB

Для опорных сетей (LAN и MAN) в настоящее время разрабатывается новый стандарт — IEEE 802.17. В этой сети предусматривается гибкая система управления трафиком.

Совсем еще недавно почти все учебники и просто книги о сетях начинались с изложения 7-уровневой модели построения сетей ISO (International Standardization Organization). Этой модели уже не один десяток лет. В основе модели лежит вполне логичный принцип: форматы данных и протоколы взаимодействия для перехода с уровня N на N+1 и обратно должны быть идентичными. Это может существенно упростить программирование и гарантирует совместимость различных программных продуктов. На первых порах (при разработке ISDN, X25 и пр.) этот принцип соблюдался — во всяком случае, для первых трех уровней (физического, канального и сетевого, см. http://book.itep.ru/4/43/iso_431.htm, а также описание сети ISDN). Предполагалось, что со временем протокольные требования будут реализованы аппаратно для всех уровней кроме, может быть, прикладного. Разработчики стека протоколов TCP/IP вначале также пытались следовать этим рекомендациям. Но вскоре выяснилось, что слепое выполнение требований по межуровневым интерфейсам вызывает много функциональных ограничений. В стеке TCP/IP неформально используются понятия четырех уровней (L1-L4). Но здесь проследить аналогию можно лишь на физическом уровне L1, хотя и здесь возникают проблемы из-за протокольного многообразия оборудования. Некоторые виды оборудование уровня L2 могут фильтровать пакеты по IP-адресам (уровень L3) и даже по портам (уровень L4). Для оборудования L3, например маршрутизаторов, отбор по номеру порта становится практически общепринятым.

Сегодня трудно себе представить, как можно было бы реализовать, например, протокол MPLS или туннельные технологии в рамках 7-уровневой модели.

Исторически первыми появились крупные сети типа ISDN/X.25, одно время они конкурировали с TCP/IP, и даже обсуждалось, какие из них лучше. Сегодня ISDN сохраняет за собой нишу телефонии, но полагаю, она постепенно сужается, теснимая IP-телефонией.

Страницы:

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

(рис 12.1) Семиуровневая эталонная модель ISO

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

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

Канальный уровень определяет то, как информация передается от ЭВМ к пакетному коммутатору ( HDLC — High Data Link Communication, бит-ориентированная процедура управления), на этом уровне исправляются ошибки, возникающие на физическом уровне.

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

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

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

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

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

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

(рис 12.2) Два вида кадров процедур HDLC

Флаг .

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

). Формат S-кадра показан на рис 12.4.

(рис 12.4) Формат поля управления S-кадра (расширенный вариант)

Для однобайтовой версии S-кадра за полем S следует непосредственно поле P/F. Поле S определяет тип управляющего кадра (см. таблицу 12.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-кадра представлен на рис 12.5.

(рис 12.5) Формат поля управления U.кадра

U-кадр используется для формирования канала, изменения режима работы и управления системой передачи данных. Существует версия, когда поле "0" размещается не в 8-й позиции, а в 5-й. В нижней части рисунка показана расширенная версия формата. Младшие разряды располагаются слева. Поле M может принимать значения, приведенные в таблице 12.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 с расширенной нумерацией

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

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

(рис 12.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-кадров интерпретируются как команды или отклики в зависимости от контекста и того, кто их послал. В некоторых случаях для разделения откликов и команд используется поле адреса.

Приведенным выше регламентациям следуют сетевые протоколы ISDN, ATM, Frame Relay и Х.25. Ограниченность размера адресного поля и полей номеров кадров устанавливают определенные ограничения на эксплуатационные характеристики этих сетей (исключена динамическая маршрутизация и лимитирована пропускная способность при больших задержках в канале).

За последние годы сложилась традиция начала рассказа о стеке сетевых протоколов с 7-уровневой модели ISO, хотя уже давно стало ясно, что протоколы TCP/IP в эту модель уложить совсем не просто.

Дэвид Кларк из Масачусетского университета предложил теорию, которую назвал "апокалипсисом двух слонов". В этой модели анализируется активность вокруг любого нового объекта. Сначала появляется идея, созываются семинары, затем конференции, публикуются статьи в журналах, проводятся пробные испытания. Спустя некоторое время, когда идея доказала свою полезность, начинаются серьезные инвестиции, разрабатывается оборудование, программное обеспечение и т.д. Эта активность проиллюстрирована на рис 12.7.

(рис 12.7) Апокалипсис двух слонов

Момент разработки стандартов на оборудование и программы (протоколы) должен располагаться точно между двумя пиками активности. Если стандарты начнут создаваться во время первого пика активности, то неизбежно не учтут многих важных обстоятельств и проблем. При разработке стандартов во время второго пика различные компании успеют выполнить разработки или запустить в серию оборудование, не отвечающее этим стандартам, и будет трудно убедить их, что они потратили деньги впустую. Судьба 7-уровневой модели хорошо укладывается в эту теорию. Она возникла слишком рано. Сегодня видно, что большинство приложений игнорирует уровень сессий, да и уровень презентаций можно выявить отнюдь не всегда. Эта модель в нынешнем виде обречена. История весьма поучительна и полностью укладывается в теорию "апокалипсиса двух слонов". Впрочем, это совершенно не означает, что послойная модель несостоятельна. На рисунке 12.8 представлен достаточно общий случай такого построения сети.

(рис 12.8) Послойная 5-уровневая модель сети

Уровень 1 остается как обычно для физической транспортной среды. В случае Ethernet второй уровень занят протоколом, определяющим формат пакета Ethernet, систему МАС-адресации и взаимодействия объектов такой сети (CSMA/CD). На рис 12.8 этому уровню принадлежат заголовки Н2 и контрольные суммы Т2. В случае стека протоколов TCP/IP в Ethernet-кадр вкладывается IP-дейтограммы с ее заголовками Н3. Уровню 4 будет соответствовать протокол UDP или TCP с заголовком Н4. На верху пирамиды размещается прикладная программа, посылающая сообщение М. Как показано на рисунке, на уровне 3, если это требуется, возможна фрагментация, при которой исходное сообщение М делится на два или более фрагментов (на рисунке — М1 и М2 ).

Не следует думать, что стек протоколов TCP/IP является идеальным и безгрешным. Эти протоколы впервые были реализованы в качестве составной части ОС UNIX (Berkeley). Программы оказались удачными и (что весьма важно) бесплатными. Это способствовало их популярности и сформировало достаточно широкий круг пользователей.

К сожалению, в TCP/IP не было проведено четкого разграничения между услугами, интерфейсом и протоколом. Слой ЭВМ-сеть плохо прописан и представляет собой интерфейс между сетью и канальным уровнем. В TCP/IP вообще не оговариваются требования для физического и канального уровней (это имеет и некоторые преимущества). Здесь не оговорены форматы разграничения кадров и требования к характеристикам физической среды (скрученные пары, оптические волокна, радиоканалы). Уместно также отметить слабую устойчивость данного стека протоколов против сетевых атак. Несовершенны и некоторые прикладные протоколы, например, TELNET рассчитан на работу исключительно в символьном режиме, в нем не проработаны графические возможности, не предусмотрена работа с мышью. Несмотря на эти недостатки, данный протокол уже более 25 лет в работе. Широкое распространение протоколов TCP/IP создает определенные трудности для их модификации. Примером может служить удивительно медленное внедрение IPv6. Впрочем, многие другие протокольные системы вообще не были приспособлены к модификации и по этой причине исчезли.

7-уровневая модель OSI в настоящее время представляет интерес лишь для обсуждения сетевых проблем.

История TCP/IP показывает, что для Всемирной Сети имеют шансы лишь открытые сетевые протоколы, хорошо документированные и общедоступные. Это позволяет участвовать в разработке прикладных программ широким массам пользователей.

Машина считается подключенной к сети Интернет, если ее работа базируется на стеке протоколов TCP/IP, она имеет IP-адрес и может посылать IP-пакеты другим ЭВМ. Базовыми процедурами Интернет являются прием/передача почтовых сообщений (протокол SMTP ), передача новостей ( NNTP ), удаленный доступ (telnet, Rlogin, SSH), передача файлов ( FTP ), и World Wide Web (WWW — HTTP ) и т.д.

В сущности, Интернет — это система взаимодействующих друг с другом программ. Протоколы TCP/IP — это правила, которым эти программы должны отвечать, чтобы успешно взаимодействовать друг с другом.

Все виды сетей предназначены для передачи данных (ведь и случай использования сети для управления сопряжен с передачей информации). Передача данных в Интернете происходит от отправителя к месту назначения, определяемого IP-адресом. Но сетевое оборудование (кроме маршрутизаторов (L3)) работает с МАС-адресами ( . Машина-отправитель находится в сети Ethernet-A, а получатель с адресом IP-B — в сети Ethernet-В. Как видно из рисунка, информационная дейтограмма при транспортировке остается неизменной, она содержит IP-адрес места назначения, IP-адрес отправителя, некоторую другую служебную информацию в заголовке, и несет данные, предназначенные для получателя. По пути к месту назначения в приведенном примере использованы каналы сетей FDDI и PPP. МАС-адрес места назначения на каждом промежуточном этапе равен МАС-адресу очередного получателя, которым обычно является маршрутизатор. При этом следует иметь в виду, что каждый из маршрутизаторов сам имеет не менее двух IP-адресов (по одному на каждый вход/выход). В каждом маршрутизаторе после получения кадра информационная дейтограмма извлекается и помещается в новый кадр с соответствующим МАС-адресом назначения. Когда кадр доходит до сети места назначения, формируется кадр с адресом Ethernet-интерфейса ЭВМ-адресата. Разумеется, данная схема является упрощенной, но она отражает логику преобразования адресов.

(рис 12.9) Схема преобразования адресов

Человеку, которому приходится выбирать ту или иную сеть впервые, задача может показаться непростой, тем более что большинство из них имеют сопоставимые эксплуатационные характеристики. Попытаемся сравнить наиболее популярные стандарты локальных сетей из ряда 802.3 (Ethernet), 802.4 (маркерная шина) и 802.5 (маркерное кольцо). Начнем с сети Ethernet, распространенность которой в мире составляет около 70%, а в России — более 95% (возможно, даже 99%).

Некоторые примеры сетевых протоколов

Протокол 802.3 достаточно прост, и сетевые интерфейсы за счет массового производства весьма дешевы. Станция может быть подключена к сети без прерывания работы других сетевых устройств. Задержка доступа к сетевой среде при малых загрузках практически равна нулю. В Ethernet присутствует аналоговая обработка сигналов, ведь станция должна уметь обнаружить сигнал другой станции даже, когда она сама занята передачей кадра (способность обнаружить столкновение). Ограничение на минимальную длину кадра, налагаемое из-за задержек в сегментах и необходимости детектирования столкновений, приводит к снижению эффективности, так как для передачи одного байта при нажатии клавиши будет передаваться 64-байтный кадр. Задержка отклика при возникновении в системе определенных условий в 802.3 непредсказуема и может варьироваться от миллисекунды до десятка секунд в зависимости от ситуации в сети. Здесь обычно не предусмотрено приоритетов, а при высоких загрузках возможно снижение пропускной способности сети до нуля. Следует заметить, что если в сети, построенной с привлечением скрученных пар, используются только переключатели (с полным дуплексом), столкновения практически исключены, но это сохраняет неопределенности времени доступа и доставки, так как время пребывания кадра в буферах (очередях) может варьироваться в весьма широких пределах.

Сеть 802.4 (маркерная шина) использует стандартный телевизионный кабель и соответствующее стандартное интерфейсное оборудование, выпускаемое многими производителями. Степень неопределенности доступа к сетевой среде здесь меньше, чем в случае 802.3, хотя повторные потери маркера в критические моменты могут создать серьезные проблемы. Здесь поддерживаются приоритеты, и по этой причине эти сети более удобны для задач реального времени. Сеть может быть сконфигурирована для гарантированного пропускания определенного трафика, например цифрового голоса или мультимедиа. 802.4 имеет хорошую нагрузочную характеристику и неплохо работает при высоких загрузках. Широкополосный кабель в данном случае может поддерживать несколько каналов не только для данных, но и для речи или телевидения. Протокол 802.4 крайне сложен, задержка доступа к сетевой среде определяется приходом маркера. Станция вынуждена ждать маркер даже в условиях, когда других станций нет в наличии. Протокол мало приспособлен для работы с оптическим волокном.

Протокол 802.5 (маркерное кольцо) использует соединение "точка-точка" и работает исключительно с цифровыми данными. В качестве физической среды можно использовать что угодно: скрученную пару, коаксиальный кабель или оптическое волокно. Понятно, что самым дешевым решением для ограниченных расстояний является скрученная пара. Это одна из немногих сетей, где возможно автоматическое обнаружение и парирование обрывов связи. Так же как и в 802.4, она поддерживает приоритетное обслуживание, но станция, прежде чем получит доступ к сетевой среде, должна дождаться свободного маркера. Здесь допустимы кадры минимально достаточной длины. Но допустимы и сколь угодно длинные кадры, размер которых ограничивается только регламентным временем удержания маркера. Нагрузочная характеристика этой сети близка к идеальной. Уязвимой частью сети 802.5 является центральный монитор. Ниже представлена сравнительная таблица рассмотренных трех протоколов (табл. 12.3).

Характеристики сетей 802.3, 802.4 и 802.5
Свойства 802.3 802.4 802.5
Простота протокола + - -
Задержка доступа при малой загрузке Нулевая Ожидание маркера Ожидание маркера
Передача короткого кадра нет да да
Автоматическое обнаружение и парирование обрыва кабеля нет нет да
Возможность длинных кадров MTU MTU Ограничено только временем удержания маркера
Работа при высоких загрузках плохая хорошая великолепная
Наличие приоритетов - + +
Наличие единого центра управления (и его уязвимость) нет нет да

Следующий уровень после локальных сетей (LAN) занимают районные сети университетов, научных центров, крупных фирм и т.д. ( MAN – Metropolitan Area Network). Для реализации таких сетей применяются соответствующие сетевые протоколы – SDH (Synchronous Digital Hierarchy), DQDB (Distributed Queue Dual Bus – распределенная очередь и двойная шина) и т.д. Оба протокола пригодны для организации опорных сетей, объединяющих локальные сети. Наметилась тенденция применения технологии 10GE для сетей уровня МАN.

Сети с двойной шиной и распределенной очередью DQDB используют алгоритм доступа, называемый распределенным переключением пакетов ( QPSX — Queued-Packet Distributed-Switch). Здесь используется две несвязанные однонаправленные шины, сформированные из цепочки соединений "точка-точка". Описание работы сети содержится в документе IEEE 802.6. Пропускная способность сети составляет 150 Мбит/с (планируется 600 Мбит/с), максимально возможная длина сети — 160 км. Максимальное число узлов равно 512. В качестве транспортной среды можно использовать одно- и мультимодовое оптическое волокно (длина волны 1300 нм). Средняя частота ошибок (BER) составляет 10-9. По сетям DQDB пересылаются, так же, как и по ATM-каналам, ячейки фиксированного размера (L = 53 байта). Формат поля данных совместим с некоторыми типами AAL.

Ячейка DQDB отличается от ячейки ATM тем, что не содержит поля . Шины А и Б служат для передачи ячеек в противоположных направлениях. Если станция намерена передать ячейку по шине Б, она должна выполнить резервирование заранее на шине А. Каждый из узлов подключен к обеим шинам. По каждой из шин всегда циркулирует фиксированное число контейнеров. Содержимое контейнеров может передаваться с одной шины на другую.

(рис 12.10) Топология сети DQDB

Для опорных сетей (LAN и MAN) в настоящее время разрабатывается новый стандарт — IEEE 802.17. В этой сети предусматривается гибкая система управления трафиком.

Совсем еще недавно почти все учебники и просто книги о сетях начинались с изложения 7-уровневой модели построения сетей ISO (International Standardization Organization). Этой модели уже не один десяток лет. В основе модели лежит вполне логичный принцип: форматы данных и протоколы взаимодействия для перехода с уровня N на N+1 и обратно должны быть идентичными. Это может существенно упростить программирование и гарантирует совместимость различных программных продуктов. На первых порах (при разработке ISDN, X25 и пр.) этот принцип соблюдался — во всяком случае, для первых трех уровней (физического, канального и сетевого, см. http://book.itep.ru/4/43/iso_431.htm, а также описание сети ISDN). Предполагалось, что со временем протокольные требования будут реализованы аппаратно для всех уровней кроме, может быть, прикладного. Разработчики стека протоколов TCP/IP вначале также пытались следовать этим рекомендациям. Но вскоре выяснилось, что слепое выполнение требований по межуровневым интерфейсам вызывает много функциональных ограничений. В стеке TCP/IP неформально используются понятия четырех уровней (L1-L4). Но здесь проследить аналогию можно лишь на физическом уровне L1, хотя и здесь возникают проблемы из-за протокольного многообразия оборудования. Некоторые виды оборудование уровня L2 могут фильтровать пакеты по IP-адресам (уровень L3) и даже по портам (уровень L4). Для оборудования L3, например маршрутизаторов, отбор по номеру порта становится практически общепринятым.

Сегодня трудно себе представить, как можно было бы реализовать, например, протокол MPLS или туннельные технологии в рамках 7-уровневой модели.

Исторически первыми появились крупные сети типа ISDN/X.25, одно время они конкурировали с TCP/IP, и даже обсуждалось, какие из них лучше. Сегодня ISDN сохраняет за собой нишу телефонии, но полагаю, она постепенно сужается, теснимая IP-телефонией.

Вернуться к учебному плану