В 1980 году в институте IEЕЕ был организован комитет 802 по стандартизации локальных сетей, в результате работы которого было принято семейство стандартов IEEE 802.x, которые содержат рекомендации по проектированию нижних уровней локальных сетей [4]. Позже результаты работы этого комитета легли в основу комплекса международных стандартов ISO 8802-1...5. Эти стандарты были созданы на основе распространенных фирменных стандартов сетей Ethernet, ArcNet и Token Ring. Стандарты IEEE 802 имеют достаточно четкую структуру, приведенную на рис. 4.5.
Помимо IEEE в работе по стандартизации протоколов локальных сетей принимали участие и другие организации. Так, для сетей, работающих на оптоволокне, американским институтом по стандартизации ANSI был разработан стандарт FDDI, обеспечивающий скорость передачи данных 100 Мбит/с. Работы по стандартизации протоколов ведутся также ассоциацией ЕСМА, которой приняты стандарты ЕСМА-80, 81, 82 для локальной сети типа Ethernet и впоследствии стандарты ЕСМА-89,90 по методу передачи маркера.
Стандарты семейства IEEE 802.x охватывают только два нижних уровня семиуровневой модели OSI — физический и канальный. Это связано с тем, что именно эти уровни в наибольшей степени отражают специфику локальных сетей. Старшие же уровни, начиная с сетевого, в значительной степени имеют общие черты как для локальных, так и для глобальных сетей.
Специфика локальных сетей также нашла своё отражение в разделении канального уровня на два подуровня:
-управления логической связью (Logical Link Control, LLC);
-управления доступом к среде (Media Access Control, MAC).
Подуровень MAC появился из-за существования в локальных сетях разделяемой среды передачи данных. Именно этот подуровень обеспечивает корректное совместное использование общей среды, предоставляя ее в распоряжение той или иной станции сети в соответствии с определенным методом доступа. После того как доступ к среде получен, ею может пользоваться более высокий подуровень — подуровень LLC, организующий передачу логических единиц данных, кадров информации, с различной степенью качества транспортных услуг. В современных ЛС получили распространение несколько протоколов уровня MAC, реализующих различные методы доступа к разделяемой среде. Эти протоколы полностью определяют специфику таких технологий, как Ethernet, Fast Ethernet, Gigabit Ethernet, Token Ring, FDDI, 100VG-AnyLAN.
Рисунок 4.5 - Структура стандартов IEEE 802.x
Подуровень LLC осуществляет управление логической связью, то есть устанавливает виртуальный канал связи, отвечает за передачу кадров данных между узлами с различной степенью надежности и реализует функции интерфейса с прилегающим к нему сетевым уровнем. Именно через подуровень LLC сетевой протокол запрашивает у канального уровня нужную ему транспортную операцию с нужным качеством. На подуровне LLC существует несколько режимов работы, отличающихся наличием
или отсутствием на этом подуровне процедуры восстановления кадров в случае их потери или искажения, то есть отличающихся качеством транспортных услуг этого подуровня.
Протоколы подуровней MAC и LLC взаимно независимы — каждый протокол подуровня MAC может применяться с любым протоколом подуровня LLC, и наоборот.
Для предоставления сервиса сетевому уровню канальный уровень должен использовать сервисы, предоставляемые ему физическим уровнем [2]. Физический уровень принимает необработанный поток битов и пытается передать его по назначению. Этот поток не застрахован от ошибок. Количество принятых битов может быть меньше, равно или больше числа переданных битов. Кроме того, значения принятых битов могут отличаться от значений переданных. Канальный уровень должен обработать ошибки и, если нужно, исправить их.
Обычно канальный уровень разбивает поток битов на отдельные кадры и считает для каждого кадра контрольную сумму. Когда кадр прибывает в пункт назначения, его контрольная сумма подсчитывается снова. Если она отличается от содержащейся в кадре, то канальный уровень понимает, что при передаче кадра произошла ошибка, и принимает меры (например, игнорирует испорченный кадр и посылает передающей машине сообщение об ошибке).
Разбиение потока битов на отдельные кадры представляет собой более сложную задачу, чем это может показаться на первый взгляд. Один из способов разбиения на кадры заключается во вставке временных интервалов между кадрами, подобно тому, как вставляются пробелы между словами в тексте. Однако сети редко предоставляют гарантии сохранения временных параметров при передаче данных, поэтому возможно, что эти интервалы при передаче исчезнут или, наоборот, будут добавлены новые интервалы.
Поскольку для отметки начала и конца кадра полагаться на временные параметры слишком рискованно, были разработаны другие методы маркировки границ кадров:
- подсчет количества символов;
- использование сигнальных байтов с символьным заполнением;
- использование флаговых последовательностей с битовым заполнением;
- использование запрещенных сигналов физического уровня.
Второй метод формирования кадров решает проблему восстановления синхронизации после сбоя при помощи маркировки начала и конца каждого кадра специальными байтами. В прошлом стартовые и стоповые байты отличались друг от друга, но в последнее время большинство протоколов перешло на использование в обоих случаях одного и того же байта, называемого флаговым. Таким образом, если приемник теряет синхронизацию, ему необходимо просто найти флаговый байт, с помощью которого он распознает конец текущего кадра. Два соседних флаговых байта говорят о том, что закончился один кадр и начался другой.