Глава 35 : Модели коммуникации (OSI)
Глава 35 : Модели коммуникации (OSI)
Связь между моделью OSI и стеком TCP/IP
Модель OSI | Протоколы информационного обмена | Стек TCP/IP |
7 | HTTP, SNMP, FTP, Telnet, SSH, и много других | I |
6 | ||
5 | TCP, UDP, DNS, NetBios | II |
4 | ||
3 | IP, ARP(RARP), ICMP, RIP, DHCP | III |
2 | Ethernet, ATM, Frame Relay, SDH (Для стека TCP/IP не регламентируется) | IV |
1 |
Наряду с рассмотренными выше двумя методами описания сетевых протоколов на практике встречаются и другие методы. Например, хорошо известно разделение канального уровня модели OSI на 2 подуровня. То же касается и сетки TCP/IP, в которой происходит разделение на канальный и физический подуровень. Однако такой подход не имеет широкого распространения, поэтому здесь он рассмотрен не будет.
Физический уровень модели OSI

Физический и канальный уровень модели OSI для Ethernet и Fast Ethernet
Согласно приведенной схеме следует различать такие подуровни:
- - Auto-negotiation (AN) - означает согласование соростных режимов. Этот уровень служит для того, чтобы устройства автоматически выбирали подходящий протокол взамодействия.
- - Medium Independent Interface (MII)- это интерфейс, который не имеет зависимости от среды. Его цель состоит в создании типичного интерфейса между физическим и МАС-уровнем.
- - hysical Medium Dependent(PMD) - на этом подуровне осуществляется связь с физической средой передачи данных. Выполняет следующие функции: осуществляет усиление сигнала, его модуляция, формирование самого сигнала.
- - Reconciliation (подуровень, на котором происходит согласование). Его основное назначение - осуществлять трансформацию команд МАС-уровня в электрические сигналы, относящиеся к физическому уровню.
- - Physical Coding Sublayer (PCS) - это подуровень, на котором происходит физическое кодирование. На этом уровне осуществляется декодирование и кодирование последовательности данных.
- - Physical Medium Attachment (PMA) - этот уровень отвечает за контакт с физической средой. Происходит это за счет преобразования потока данных в битную форму электрических сигналов. Преобразование происходит в обоих направлениях. Этот подуровень так же отвественен за синхронизацию приема-передачи.
- - PMedium Dependent Interface (MDI) - переводится как "интерфейс, зависимый от среды". С его помощью происходит определение вида коннектора, необходимого для PMD-устройств и разнообразных физических сред.
Далее стоит указать на разницу между Fast Ethernet 802.3u и Ethernet 802.3i (10 Мбит), который принять называть "классическим" и включающий в себя FX, TX, и T4. В классической модели связь между PHY и MAC-уровнем осуществляет AUI интерфейс. Здесь схема достаточно проста, т.к. кодировка осуществлялась всегда по одинаковому сценарию. В этой связи, местом расположения AUI является промежуток между подуровнем физического присоединения к среде и подуровнем физического кодирования сигнала. Fast Ethernet на порядок сложнее "классической" модели, поэтому и схема значительно усложнена. К классической модели были прибавлены еще несколько блоков. В результате подуровень кодирования сигнала логически вошел в PHY, а над ним расположился интерфейс MII.
К тому же AN (подуровень согласования скоростей) применим не для любых способов передачи сигнала. Как пример - стандарт 10baseT или 10/100baseF, где его просто нет.
Детальное изучение подуровней правильнее всего начинать от физической среды. Напомним, что выше, в предыдущих разделах, уже были подробно рассмотрены все вопросы, связанные с соединением с MDI (физической средой) и формированием сигналов.
Согласование скорости (Auto-negotiation)
Уже в конце девяностых годов в пределах одной сети и по одному и тому же кабелю работало сразу 5 протоколов: 100base-T full-duplex, 10base-T, 100base-T, 10base-T full-duplex, 100base-T4. Спустя несколько лет в их число вошел и 1000base-T. Управлять такой сетью в ручную сетевым администратоам было весьма затруднительно.
Первым протоколом, который осуществлял автоматическое согласование скоростей, стал Nway. Его разработала компания National Semiconductor. Спустя некоторое время его приняли как стандарт IEEE 802.3u (Auto-negotiation).
Отсюда следует логичный вывод, что могут существовать только 2 варианта: либо каждое из договаривающихся устройств поддерживает Auto-negotiation, либо только одно из них. Если каждое устройство поддерживает Auto-negotiation, то коммутаторы выбирают наиболее подходящий протокол из поддерживаемых. Если же автоматической подстройкой обладает только одно устройство, то оно приспосабливается к скорости партнера (обычно, 10Base-T).
Автоподстройка начинается тогда, когда подается питание на устройства, либо если поступает команда от управляющего устройства. Чтобы согласовать сигналы применяются специальные импульсы, носящие название FLP - Fast Link Pulses. То устройство, у которого нет Auto-negotiation, такой сигнал расценивает как служебный, направленный на проверку целостности линии 10Base-T.
Взаимодействие осуществляется следующим образом: оборудование, которое начало auto-negotiation, посылает своему оппоненту 8-битное слово, в виде пачки импульсов. Это слово кодирует режим, на котором планируется осуществлять взаимодействие. Предлагаемый протокол является самым лучшим из возможных.
В результате, если оппонент в состоянии поддерживать Auto-negotuiation, то он передает слово подтверждения и на этом переговоры заканчиваются. Если предложение не подходит принимающему устройству, то оно предлагает свой вариант, который и принимается как основа для взаимодействия.
Если при построении сети использовались разные устройства, то при negotiation могут возникнуть трудности. Решить эти проблемы можно, если каждый из портов настроить на режим auto, или настроить на определенное значение.
С устройствами, которые поддерживают только 10Base-T, ситуация выглядит иначе. Они не отвечают на запрос FLP и посылают импульсы, с целью проверки целостности линии, каждые шестнадцать миллисекунды. Когда коммутатор получает только импульсы проверки целостности линии в качестве ответа на свой запрос, то он перестает посылать сигналы согласования и подстраивается под предложенный режим работы.
Присоединение к физической среде (PMA)
Из всего выше сказанного можно сделать вывод о том, что основной функцией оборудования физического уровня является доступ к среде передачи. Напомним, для Ethernet характерен множественный доступ с контролем несущей/обнаружением коллизий (CSMA/CD). Если возникает ситуация, когда сигнал передается одновременно, то его передает только одно из них, а физическую среду все устройства делят между собой.

Если смотреть со стороны, то принцип работы простой: если после проверки оказывается, что канал пуст, то устанавливается связь, если же канал занят, то немного подождать, пока среда станет свободной. Если же по истечению определенного временного промежутка канал так и не освобождается, то составляется сигнал об ошибке.
Для сети Ethernet "отсутствие несущей" является признаком свободного канала. В стандарте Fast Ethernet все происходит наоборот: если канал свободен, то по нему передается специальный Idle-символ (11111)соответствующего избыточного кода. Этот код ответственен за синхронность и целостность всей сети.
Для того, чтобы одно устройство не могло постоянно пользоваться одним и тем же каналом, разработан специальный простой механизм: после прохождения каждого кадра происходят перерывы в сплошном потоке передачи данных. Такие промежутки носят название "межкадровый интервал" (IPG). По времени такой промежуток длиться 9,6 мкс (для Ethernet 10 Мбит), а для Fast Ethernet этот интервал в десять раз короче - 0,96 мкс.
В отличии от рассмотренной проблемы, более весомой является одновременная параллельная передача сигнала двумя устройствами (коллизии). Проблема возникает из-за того, что передаваемый сигнал не может проскакивать между узлами мгновенно. Этого времени вполне достаточно, чтобы другое оборудование сети начало передачу этого же сигнала. В результате пакеты сталкиваются и деформируются. Описанная ситуация весьма типична для некоммутируемого Ethernet.
Распознавание коллизий
Чтобы вычислить коллизию, каждое оборудование сканирует (прослушивает) сеть во время передачи кадра и после ее завершения. Происходит сравнение сигнала: если полученный сигнал не соответствует передаваемому, то имеет место коллизия. В сетях Fast Ethernet, если обнаружена коллизия, то станция посылает в сеть 32-битный сигнал (jam-последовательность) и перестает передавать. Функциональное назначение этого сигнала - оповестить все узлы о появлении коллизии.
Как бы там ни было, после этой ошибки передача сигналов должна быть восстановлена. Происходит это по не простому алгоритму, представленному на рисунке:

Значение параметра Т (задержка передачи перед повтором) равно произведению количества интервалов (N) и времени t. Количество интервалов выбирается случайным образом из заданного диапазона, а сам параметр Т является ключевым. Формула имеет следующий вид: Т = N*t, где t = 51,2 мкс. Система будет пытаться передать кадр не более 16-ти раз, если передача так и не последовала, то система отправляет уведомление об ошибке.
Чтобы кадр отправился повторно при коллизии, оборудование должно ее распознать. В случае расположения передающих узлов на значительном расстоянии друг от друга может возникнуть ситуация, когда коллизия не сможет быть обнаружена вовремя и передача одного из них завершится.
В этом случае возникает угроза потери пакета, т.к. на канальном уровне Ethernet подтверждение получения пакета информации не предусмотрено. Снова отправить пакет сможет только протокол более высокого уровня, но такая операция занимает в сотни раз больше времени.
Из всего сказанного видно, что грамотное распознание коллизий возможно лишь при строгих ограничениях на размер пакета и расстояние между узлами сети.

Определение коллизий
На MAC-уровне для стандарта Ethernet назначен минимальный размер кадра равный 64 байта (512 бит). Если скорость установлена на отметке 10 Мбит/c, то размер кадра равен 51,2 мкс. Неприятность возникает тогда, когда один из узлов ("Б") дает старт передаче пакета перед самым получением этого самого пакета, переданного чуть ранее другим узлом ("А"). В такой ситуации узел "Б" должен передать сигнал до того, как узел "А" завершит его передачу.
При рассмотрении процесса определения коллизий зачастую применяется термин "столкновение" пакетов, которое затем распознается передатчиком. Такое определение не корректно показывает суть физических процессов, но объяснение становится более наглядным.
Скорость, с которой перемещается электромагнитный или оптический сигнал в канале передачи рамен 200 м/мкс (это примерно 2/3 от скорости света в вакууме). Не составляет особого труда подсчитать, что за 51,2 мкс сигнал успеет преодолеть почти 12 км. В результате допустимый интервал между узлами может доходить до шести километров, если при этом не возникают дополнительные задержки, вызванные другими причинами. На практике задержки все-таки возникают, и происходят они, в основном, на сетевых адаптерах и на хабах (повторителях).
Нельзя сказать определенно, чем руководствовались изобретатели стандартов на 10Base5, но он предусматривает максимальное расстояние между узлами, равное 2,5 км. В стандарте 10baseT максимально допустимое расстояние составляет 500 метров, при этом число повторителей должно оставаться прежним, технического обоснования для такого подхода не существует. Для стандарта Fast Ethernet (100 Мбит) ограничения на расстояния между узлами еще более жестокое, т.к. передача кадра в среду происходит за 5 мкс.

На графике четко прослеживается ситуация, возникающая при сильной загруженности сети: число и вероятность появления коллизий сильно увеличивается, а пропускная способность сети падает (т.к. система все время пытается передавать одни и те же кадры). Существует специальный термин, характеризующий такое положение дел - деградация производительности.
Практический совет в этом случае будет следующим: не применять некоммутируемый Ethernet при загрузке более 30-40%.
Принципы кодирования Ethernet
Совершенно по иному дело обстоит в случае применения коммутируемого Ethernet. При таком типе соединения применяются свитчи (коммутаторы), которые без взаимного влияния способны устанавливать соединения между пользователями (основой служат адреса узлов).
В такой ситуации каждый узел сети может свободно принимать и передавать данные не испытывая зависимости от поведения других устройств. Таким образом , доступ к каналу становится на много проще. Кроме того здесь отсутствует деградация производительности, не существует ограничения на интервалы между узлами, нет коллизий. Такие преимущества дают возможность Ethernet конкурировать с технологиями детерминированного доступа к среде в области опреторских решений. К тому же Ethernet стоит значительно дешевле.
Если компьютер работает в полнодуплексном режиме, то для не будет проблемой отправка кадра в коммутатор в любой момент времени. Происходит это без оглядки на другие компьютеры сети (как если б он был единственным компьютером в сети). На практике не является редкостью ситуация, когда несколько ПК направляют кадры в один и тот же поток, что может превысить возможности среды. В такой ситуации неизбежна перегрузка порта коммутатора.
Если перегруженный поток будет идти не долго, то ситуацию выровняет буфер входного порта. Если перегрузка носит долговременный характер, то должен быть предусмотрен специальный механизм регуляции кадрового потока. Чтобы выполнять такую функцию, коммутатор должен применять кадры "паузы" технологии Advanced Flow Control (стандарт IEEE 802.3х).
Минус состоит в том, что такая технология на может применяться в полудуплексном режиме, когда используются сетевые адаптеры без поддержки 802.3х. В сложившейся ситуации коммутатор для осуществления управления потоком кадров применяет два метода, в основу которых легло нарушение ряда правил доступа к потоку передачи данных.
Первый - backpressure (метод обратного давления). используется для Fast Ethernet. Суть его в следующем: коммутатор посылает jam-последовательности (искусственно создает коллизии), подавляя активность определенного устройства.
Не применяемый сегодня на практике второй метод (для Ethernet 10 Мб), в основу которого заложено агрессивное поведение коммутатора. Суть в следующем: для работы порт применяет межкадровый интервал в 9,1 мкс. Однако по стандарту положен интервал в 9,6 мкс. В итоге порт такого коммутатора получает в свое распоряжение всю шину. Таким образом сетевой адаптер получает только кадры от такого коммутатора, при этом внутренний буфер последнего значительно разгружается. Выдерживая интервал отсрочки = 50 мкс (вместо 51,2 мкс) осуществляется захват шины после коллизии.
Кодирование битовой последовательности
Чтобы исключить возможную путаницу в терминах, нужно знать разницу между кодированием битовой последовательности в электрический сигнал и кодированием данных (его функция заключается в преобразовании одной последовательности битов в другую).
Способ передачи битовой последовательности в стандарте Ethernet не отличается необычностью:
Сначала синхронизируется тактовая частота передатчика и приемника. Затем со стороны передатчика последовательность битов-импульсов раскладывается на сумму синусоидальных электрических сигналов принятого уровня напряжения. После этого гармоники (кроме первой, которая нужна для восстановления формы сигнала) фильтруются.
На стороне приемника происходит усиление полученного сигнала, восстанавливается его форма, аналоговый сигнал преобразуется в цифровой.
Скорость битового потока определяется исходя из дискретных изменений сигнала (числа бит) за единицу времени. Что такое тактовая частота? Тактовая частота - это число синусоидальных изменений сигнала в единицу времени. Она измеряется в герцах.
В связи с таким видимым совпадением возникает ложное впечатление о том, что скорость передачи данных и тактовая частота являются одним и тем же. Однако с практической точки зрения дело обстоит несколько по-другому. На практике информация не всегда передается отдельными битами, чаще она состоит из группы бит и имеет от 2 до 5 уровней напряжения. Так же пакеты могут перемещаться по нескольким парам одновременно.
Ethernet (классический) является последней технологией передачи информации, которая не предусматривает кодировку данных. Здесь при помощи алгоритма Манчестер-2 прямо с МАС-уровня в поток передаются битовые последовательности.

Кодирование Манчестер-2, NRZI, MLT-3.
К самому большому достоинству такого кода относят отсутствие константы при передаче длинной цепочки "0" и "1". В результате с целью синхронизации приема/передачи используется изменение сигнала в центре каждого бита, и такой меры вполне достаточно.
Теперь рассмотрим один из простейших кодов - Non Return to Zero (без возврата к нулю), сокращенно - NRZ. Здесь "0" является нижний уровень сигнала, а верхний соответственно "1". Сам переход происходит, когда электрический сигнал преодолевает границу битов.
Основным преимуществом данного кода является его простота. На рисунке отчетливо видно, что кодировка как таковая практически отсутствует. Вторым плюсом является скорость передачи сигнала. Скорость передачи пакетов будет в два раза выше частоты, даже если последовательность данных состояла из чередования единиц и нулей. Если же комбинация будет другой, то частота изменения сигнала еще более снизится, а если биты будут одинаковыми, то она вовсе станет равна нулю.
Основным недочетом этого способа кодировки (другими словами инвертированного NRZI) является его неспособность синхронизироваться. Для ликвидации такого недостатка используют специальные искусственные меры. Например, к ним относится ограничение на появление длинных последовательности одинаковых байтов. Так же это может быть специально запускаемый стартовый служебный бит.
Основной сферой применения данной кодировки является оптоволоконная среда (PHY FX), а регулируется она протоколом 100Base-FX.
Следующая кодировка - Multi Level Transmission - 3 (MLT-3). Она схожа с NRZ, но здесь работа идет с 3-мя уровнями сигнала. Здесь числу "1" присваивается переход с одного уровня на другой. Уровень сигнала изменяется последовательно, учитывается совершенный ранее переход. Если происходит передача нулей, то сигнал не изменяется. Передача последовательности из "1" свидетельствует о максимуме частоты сигнала. Данному способу кодировки характерен тот же недостаток, что и предыдущему ее виду – несинхронизируемость.
Сфера применения - это витая пара (PHY TX) в сетях стандарта 100base-T. Различия в физических средах обуславливает появление 2-х методов кодирования даже для протоколов одной скорости. Метод имеет широкую полосу пропускания, но не используется для оптического волокна, так как здесь не применимо кодирование, имеющее не два уровня. Однако такой подход позволяет значительно сократить частоту несущей: 3-х уровневое или 5-ти уровневое кодирование сигнала хорошо подходит для витой пары, т.к. она сильно критична к полосе пропускания.
Прямоугольники на схеме 9.7. обозначают электрические сигналы. На практике такая форма сигнала почти невозможна, поэтому используются синусоидальные колебания. Более точно: берется сумма задающих форму высших гармоник и несущей частоты. Для этой ситуации используется термин "спектр", означающий совокупность нескольких подобных колебаний.

Реальный вид сигнала при использовании протокола 100baseT (MLT-3).
Например, с помощью графика 9.7. не сложно проследить ситуацию, когда передача 100 Мбит информации, закодированной по технологии MLT-3, затребует частоту несущей в 25 Мгц. Частота возрастет до 50 МГц, если учесть первую гармонику. Если сюда прибавить еще и избыточное кодирование 4B/5B, требуемая частота будет равна 62,5 МГц.
Для кодировки информации методом Манчестер-2 при скорости передачи в 10 Мбит будет необходима полоса пропускания шириной 20 Мгц. Такой показатель ширины полосы пропускания является окончательным, т.к. здесь не используется избыточное кодирование.
Физическое кодирование (PCS)
Мы уже знаем, что метод кодировки NRZI и MLT-3 не поддерживает самосинхронизации. В случае передачи сигнала, содержащего длинную последовательность "1" и "0", произойдет потеря несущей и, как следствие, возникнет ошибка приема.
Что бы таких сбоев не происходило, используют кодирование данных 4B/5B, которое исключает появление описанных цепочек. Метод 4B/5B предполагает применение 5-ти битовой основы для передачи 4-х битовых сигналов. Так же этот позволяет повысить помехоустойчивость за счет контроля над принимаемым потоком на 5-ти битном интервале. Однако при этом падает скорость передачи данных (на 25%).
Преобразованный 5-ти битовый импульс содержит 16 значений, предназначенных для передачи информации, а так же 16 избыточных значений. Из этих избыточных значений 9 символов используется для передачи служебных импульсов, а оставшиеся 7 не применяются, т.к. имеют более 3-х нулей. Таким образом, не использоваться будут следующие сигналы: 01 - 00001, 02 - 00010, 03 - 00011, 08 - 01000, 16 - 10000. Для их обозначения используется символ "V" - сбой (VIOLATION).
Безостановочный обмен сигналами между приемником и передатчиком происходит благодаря служебным символам. Такое положение дает возможность сетям стандарта 100base-T предлагать более выгодные условия доступа к физической среде. Особенно по сравнению с 10Base-T.
Стоит указать на тот факт, что рост скоростей передачи данных в Ethernet и других технологиях, обязан появлению различных методов кодирования информации. При этом кабельная инфраструктура остается без изменений. На рисунке выше проиллюстрирована ситуация, когда смена способа кодирования сигнала, способна уменьшить необходимую полосу пропускания почти на сорок процентов.
Самым ярким примером служит протокол 1000base-T, в котором скорость передачи информации существенно возрастает благодаря применению современных способов кодировки. Если взглянуть на данную ситуацию под другим углом, то становится видна возможность передавать на расстояния до трех километров при невысокой скорости (примерно 10 мегабит). На этой ситуации мы остановимся подробнее в последующих главах.
Здесь же обратим внимание еще на немаловажный аспект: в PHY TX предусмотрен специальный механизм scrambler/descrambler (шифрования/дешифрования). Его назначение - обеспечение равномерного распределения сигнала по частотному спектру. Регулируется он спецификацией ANSI TP-PMD. Такой подход значительно снижает электромагнитное излучение кабеля.
Независимый от среды интерфейс (MII) и подуровень согласования (Reconciliation)
Трансивер применялся для доступа к конкретной среде передачи данных тогда, когда был популярен 10base5. Связь трансивера с повторителем или сетевым адаптером осуществлялась при помощи кабеля снижения. Его основными характеристиками были: 15 контактов в разъеме, длина до 50 м. и амплитуда сигнала 12 Вт. Здесь же применялся независимый от конечной среды передачи данных интерфейс подключения устройства (Attachment Unit Interface - AUI). Поток данных абсолютно не подвергался кодированию. Битовая последовательность преобразовывалась в электрический сигнал непосредственно в сетевом адаптере.
После появления стандарта Fast Ethernet (802.3u) стал очевидным тот факт, что связь на уровне MAC и PHY должна стать более удобной и иметь большую скорость. Для соответствия новым требованиям, стал применяться MII. Если интерфейс не встроен, то он имеет длину кабеля не более одного метра, большой по размеру разъем с 40 контактами, выдает сигнал с амплитудой 5 Вт.
Однако обычно шина MII встроена в одну микросхему с другими логическими элементами повторителя. Структура такой шины сильно отличается от канонического вида.
Тактовый сигнал генерируется PHY и сигналом "Передача", который подает MAC-подуровень. Тактовый сигнал синхронизирует канал передачи данных от подуровня MAC к PHY. Сам канал передачи образуется 4-битной шиной данных. Подобным образом происходит прием данных: используется другая 4-битная шина, а вместо "Передача" поступает команда "Прием".
Для обмена управленческими командами используется другая двухпроводная шина. Каждый из подуровней может сообщать другому об ошибках приема или передачи. Предусмотрены два регистра: Control Register (регистр управления) и Status Register (регистр статуса), которых находится информация о состоянии линии, порта, данные о конфигурации.
Назначение регистра управления - установление параметров и скорости работы порта. Назначение регистра статуса – хранение информации о реальном состоянии работы порта.
Интерфейс MII так же может использоваться для объединения нескольких устройств PHY.
Подуровень согласования выполняет весьма очевидные и простые функции, несмотря на то, что ему и назначили отдельный подуровень. Интерфейс МАС-подуровня должен быть согласован с новой шиной MII, т.к указанный интерфейс решено было оставить без изменений. Для выполнения указанной функции согласования и применяется этот подуровень.