Тема 7. Канальный уровень OSI.

User Rating: 5 / 5

Star ActiveStar ActiveStar ActiveStar ActiveStar Active
 

Тема 7. Канальный уровень OSI.

Понятие канального уровня OSI. Логическая топология сети. Протоколы доступа к носителю: конкуренция, передача маркера, опрос. Физическая адресация. Синхронизация кадров: асинхронная, синхронная, изохронная передача. Управление потоком данных: с помощью окна, с помощью гарантированной скорости.

Введение

Канальный уровень OSI выполняет следующие функции:

1. Организация битов физического уровня (0 и 1) в логические единицы информации, называемые кадрами (frames). (Кадры по своей структуре очень похожи на байты – это группа битов, представляющие собой отдельную логическую единицу данных).

2. Обнаружение и, по возможности, исправление ошибок

3. Контролирует поток данных

4. Опознает компьютер в сети

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

К канальному уровню обычно относят следующее сетевые устройства:

- мосты

- интеллектуальные концентраторы

- платы сетевого адаптера

Следующая таблица отражает темы, изучаемые на канальном уровне OSI.

Уровень OSI

Темы

Методы

Канальный (Datalink), подуровень управления доступом к среде передачи (Media Access Control)

Логическая топология (logical topology)

Шина (bus)

Кольцо (ring)

Доступ к среде передачи (Media Access)

Конкуренция (Contention)

Передача маркера (Token passing)

Опрос (Polling)

Адресация (Addressing)

по физическому устройству (physical device)

Канальный (Datalink), подуровень управления логическим каналом (Logical Link Control)

Синхронизация передачи (Transmission synchronization)

Асинхронная (Asynchronous)

Синхронная (Synchronous)

Изохронная (Isochronous)

Обслуживание соединений (Connection services)

Управление потоком LLC (LLC-level flow contro)l

Контроль ошибок (Error control)

Канальный уровень разбивают на два подуровня:

- подуровень управления доступом к среде передачи (Media Access Control, MAC)

- подуровень управления логическим каналом (Logical Link Control, LLC)

MAC-подуровень управляет совместным использованием устройствами одного и того же канала передачи данных

LLC-подуровень отвечает за установление и поддержку связи между устройствами для передачи кадров

Логическая топология (MAC-подуровень)

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

Типичным примером может служить сеть IBM Token Ring. Такие локальные сети строятся на основе физической топологии «звезда»: в центре находится хаб, а от него проложены сегменты до каждого компьютера. Но хаб здесь не переизлучает сигнал на другие компьютеры, как в топологии «звезда». Хаб передает сигнал на следующее устройство по существующему внутри хаба кольцу. Поэтому хотя физическая топология в данном случае – это «звезда», логической топологией является «кольцо».

Для определения той или иной  логической топологии нужно знать как передаются сигналы по среде передачи. В сетях с логической топологией «шина», каждый сигнал получают все устройства. В сетях с логической топологией «кольцо» каждое устройство получает  только тот сигнал, который посылается именно этому устройству. В «кольце» четко установлена процедура передачи информации и всегда можно найти с какого устройство на какое передаются данные. Сети Ethernet – это пример логической топологии «шина».

Часто встречаются физические топологии «звезда», которые на самом деле являются логическими топологиями «кольцо» или «шина». Их называют «звезда-шина» или «звезда-кольцо».

Доступ к среде передачи (Media access, MAC-подуровень)

При использовании каждой логической топологии существуют правила, которые определяют, может устройство передавать данные или нет. Эти правила управляют доступом к среде передачи данных.

Можно представить, что бы произошло при отсутствии таковых правил. Если бы все устройства передавали информацию в произвольном порядке, могла бы сложиться такая ситуация, когда несколько устройств начали одновременную передачу данных. Сигналы бы смешались и сеть перестала бы работать. Такая ошибка называется коллизией (collision). Сеть не будет работать, пока коллизия не будет устранена.

Соответственно существует несколько методов предотвращения таких коллизий:

- конкуренция (contention)

- передача маркера (token passing)

- опрос (polling).

Перед выбором протокола, который реализует тот или иной метод доступа к среде, необходимо обратить внимание на четыре фактора:

- характер нагрузки среды – постоянная нагрузка или бывают пики и простои

- количество передаваемых данных (трафик)

- критичность ко времени доставки данных

- количество действующих устройств в сети.

Каждый метод доступа к среде передачи будет далее оценен по этим четырем факторам.

Конкуренция

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

Для уменьшения числа коллизий были разработаны специальные протоколы. При использовании такого протокола устройство перед передачей прослушивает носитель. Если обнаруживается сигнал, то передача откладывается. Если сигнала не обнаруживается, происходит передача. Такие протоколы называются протоколами множественного доступа с контролем несущей (Carrier Sense, Multiple Access (CSMA). Протоколы CSMA значительно уменьшают число коллизий, но не предотвращают их совсем. Так как если предположить что два компьютера одновременно начинают прослушивать линию, не обнаруживают сигнала и начинают передачу, то происходит коллизия.

Существует два протокола CSMA:

- множественны доступ с контролем несущей и обнаружением коллизий (Carrier Sense, Multiple Access/Collision Detection (CSMA/CD)

- множественный доступ с контролем несущей и предотвращением коллизий Carrier Sense, Multiple Access/Collision Avoidance (CSMA/CA)

Протоколы CSMA/CD не только прослушивают носитель перед передачей, но и обнаруживают коллизии и производят повторную посылку данных. Эти протоколы достаточно широко используются. Примерами их применения являются Digital Equipment Corporation's Ethernet Version 2 и IEEE 802.3.

При использовании протоколов CSMA/CA устройства используют специальные схемы передачи сигналов. Передающее устройство посылает в сеть запрос на передачу (RTS, Request to send), и в течение заданного времени ожидает получения от принимающего устройства сигнала готовности к передаче (CTS, Clear to send). Если CTS в заданное время не получен, передачи не происходит. Примерами таких протоколов является Apple Computer LocalTalk.

Метод конкуренции лучше всего подходит для сетей с непостоянной нагрузкой.

В следующей таблице перечислены преимущества и недостатки метода конкуренции.

Преимущества

Недостатки

Используется относительно простое программное обеспечение устройств

Нельзя предсказать задержки ожидания при передаче (вероятностный метод)

Устройство сразу получает контроль над средой передачи пока не работают другие устройства

Нет возможности установить приоритеты у устройств

Количество коллизий растет в геометрической прогрессии при добавлении новых устройств

Передача маркера

При использовании метода передачи маркера между устройствами в установленном порядке передается небольшой кадр данных, называемый маркером (token). Устройство, получившее маркер получает контроль над средой передачи и может передавать данные. Протоколы устанавливают как долго устройство может владеть маркером.

Примерами такого метода передачи являются стандарты IEEE 802.4 Token Bus, IEEE 802.5 Token Ring и стандарт волоконно-оптических линий FDDI (fiber-distributed data interface).

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

В следующей таблице перечислены преимущества и недостатки метода передачи маркера.

Преимущества

Недостатки

В сетях с передачей маркера можно предсказать задержки на передачу данных (детерминированный метод)

Требует достаточно сложного программного обеспечения устройств

Некоторые протоколы позволяют присваивать устройствам приоритеты, что позволяет лучше регулировать передачу данных

Нужно регулировать параметры устройства при добавлении или удалении из сети

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

Может понадобиться центральный контроллер для предотвращения неисправностей сети (например потери маркера)

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

Опрос

Этот метод предусматривает наличие центрального устройства (primary, controller), которое управляет доступом к среде передачи данных. Этот контроллер опрашивает вторичные устройства (secondaries) на предмет наличия информации для передачи. Для получения данных контроллер посылает запрос на вторичное устройство, принимает данные от него и передает их на получателя. Протоколы ограничивают количество данных, которые вторичное устройство может передать за один раз.

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

Пример реализации метода опроса – стандарт 100VG-AnyLAN, который также называют методом demand priority (приоритетный доступ по требованию).

В следующей таблице перечислены преимущества и недостатки метода опроса.

Преимущества

Недостатки

Централизованное управление доступом к носителю

Задержки между опросом устройства могут быть значительными

Можно предсказать задержки на передачу данных (детерминированный метод)

Сеть сильно загружается сообщениями запросов и ответов

Устройствам могут быть присвоены приоритеты, что позволяет лучше регулировать передачу данных

Требует наличия контроллера

Этот метод предотвращает коллизии

Адресация (MAC-подуровень)

Для распознавания устройств в компьютерной сети используется адресация. Каждому сетевому устройству присвоен уникальный адрес, который называется физическим адресом устройства или MAC-адресом (MAC-address). Производителям устройств выделены диапазоны таких адресов и при изготовлении устройству присваивается адрес из выделенного диапазона (присваиванием адресов занимается Institute of Electrical and Electronic Engineers – IEEE) . Формат адреса зависит от метода доступа к среде (поэтому он и называется MAC). Физический адрес устройства нельзя изменить.

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

Физические адреса также используются мостами для разделения сегментов сети и осуществления фильтрации (filtering) пакетов.

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

Синхронизация передачи (transmission synchronization) (LLC-подуровень)

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

- асинхронная (Asynchronous)

- синхронная (Synchronous)

- изохронная (Isochronous)

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

Асинхронная передача

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

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

Хотя асинхронна передача и кажется относительно простой, в ней часто возникают ошибки. Для контроля ошибок к концу каждого байта в кадре добавляется специальный бит, называемый битом четности (parity bit). Он равен единице, если в байте находится четное число единиц. Главный недостаток такого метода – он не может определять множественные ошибки. На практике такой метод применяется редко из-за низкой надежности и большой избыточности информации.

В следующей таблице приведены преимущества и недостатки асинхронной передачи.

Преимущества

Недостатки

Простая технология и недорогое оборудование

Добавляют 20-30% избыточной информации

Не опознаются множественные битовые ошибки

Низкая скорость передачи

Синхронная передача

Этот вид передачи требует общего отсчета времени, что может быть реализовано двумя способами:

- с помощью передачи специальной строки битов (бит-ориентированные протоколы) или нескольких символов (байт-ориентированные протоколы, SYNC)

- используя отдельный канал синхронизации

Здесь не существует стартовых и стоповых битов, поэтому отдельные символы при синхронной передаче пересылать нельзя. Все обмены данных осуществляются кадрами, которые имеют заголовок и концевик. Это напоминает асинхронную передачу, но там стартовые и стоповые биты служили для других целей. Благодаря синхронизации таймеров приемника и передатчика синхронная передача более устойчива к сбоям. Для поддержки связи при отсутствии данных, в такой передаче используются биты заполнения (fill bits). С помощью битов заполнения передача информации по каналу не прерывается.

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

Для контроля ошибок используют метод циклического избыточного контроля (CRC, Cyclic Redundancy Check, контрольная сумма). К каждому участку данных добавляется код CRC, полученный по специальному алгоритму. При приеме CRC код вновь подчитывается и сравнивается с полученным. Код CRC намного более эффективно обнаруживает ошибки чем использование четности.

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

Но для передачи двоичных данных невыгодно добавлять символы в поле данных кадра, так как добавляется много избыточной информации. Сейчас применяется более универсальный метод – бит-ориентированный протокол. Здесь используются не символы, а специальные флаги – группа битов, поэтому длина кадра может быть не кратна 8 битам.

В следующей таблице приведены преимущества и недостатки синхронной передачи.

Преимущества

Недостатки

Более эффективный способ передачи по сравнению с асинхронным

Более сложное и дорогое аппаратное обеспечение приемника и передатчика

Более высокая скорость передачи

Улучшенный контроль ошибок

Изохронная передача

При изохронной передаче используется таймер с постоянной и заранее заданной частотой. Сигнал таймера передается через сеть на все остальные устройства.

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

В следующей таблице приведены преимущества и недостатки изохронной передачи.

Преимущества

Недостатки

Гарантированная определенная скорость передачи

Требуется безотказный внешний таймер

Передается крайне небольшое количество дополнительной информации

Обслуживание соединений

Существует три типа обслуживания соединений:

1. Обслуживание соединения без подтверждений и без установления связи (Unacknowledged connectionless service), отправитель и получатель передают кадры по каналу данных. Благодаря отсутствию управления потоком и контроля ошибок достигается высокая скорость. Такой режим также называется дейтаграммным. Он обычно используется когда контроль ошибок и управление потоком данных производятся более высокими уровнями OSI.

2. Обслуживание соединения с установлением связи и подтверждениями (Connection-oriented service). Устанавливается логическое соединение перед началом передачи любого блока данных. Выполняются процедуры контроля ошибок и управления потоком данных с помощью подтверждений.

3. Обслуживание соединения с подтверждениями без установления связи (Acknowledged connectionless services). Компромиссный вариант, отправитель и получатель передают кадры по каналу данных, при этом используют подтверждения для  управления потоком и контроля ошибок. При этом не происходит временных задержек на установление связи. Используется только при соединениях типа точка-точка (point-to-point).

При обслуживании соединений используются подтверждения (acknowledgments), специальные сообщения, сигнализирующие об окончании  приема кадра. Обслуживание соединений реализуется двумя способами:

- управление потоком данных

- контроль ошибок

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

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

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

Функции обслуживания соединений:

- контроль количества данных, передающихся от одного компьютера к другому

- обнаружение ошибок, после которых происходит перепосылка данных.

Управление потоком данных подуровня LLC (flow control)

Представьте что вы переехали в новую квартиру и за день перетаскали множество коробок. Вы очень хотите пить, но руки уже не поднимаются даже за стаканом с содовой. Тогда вы попросите своего приятеля дать вам попить. Он начнет вливать вам что-нибудь в рот, не имея ни малейшего представления сколько вам нужно. Вы делаете несколько глотков, а потом, боясь захлебнуться, начинаете двигать руками и мотать головой. Ваш друг понимает в чем дело и прекращает вливать в вас питье. Это и есть управление потоком. Управление потоком данных регулирует, сколько данных нужно передать по коммуникационному каналу в течение заданного времени.

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

Существует две формы управления потоком данных:

- управление потоком с помощью окна (Window flow control)

- управление потоком с помощью гарантированной скорости (Guaranteed rate flow control)

Управление потоком с помощью окна

При данном способе управления устанавливается буфер, в который можно поместить несколько кадров. Окно может быть статическим и динамическим.

При статическом окне (Static Window) буфер занимает память в размере окна.

Отправитель, посылающий кадры, осуществляет следующие функции:

1. Подготавливает кадры с данными

2. Присваивает каждому временный номер (например, от 1 до 7)

3. Передает кадры по носителю.

При получении устройством каждого кадра отсылается подтверждение с номером кадра.  Отправитель не обязан ждать подтверждения каждого кадра, но количество неподтвержденных кадров не может превысить размер окна. Например, если окно вмещает 7 кадров, отправитель не может послать кадр номер восемь не дождавшись подтверждения 1 кадра.

При динамическом окне (Dynamic Window) сетевые устройства договариваются о размере окна. Такое окно обычно называют «скользящим окном» (sliding windows). Можно привести аналогию с содовой. Если ее вливают слишком много, человек начинает захлебываться и махать руками. Если на устройство поступает слишком много кадров и они не помещаются в буфер, получатель отправляет специальный пакет (choke packet) и отправитель уменьшает размер кадров в окне. Далее отправитель постепенно увеличивает скорость передачи пакетов, пока не получит следующий специальный пакет. Таким образом размер окна постоянно плавает. Для уменьшения времени ожидания подтверждения рекомендуется размер окна отправителя ставить больше по сравнению с размером буфера получателя.

Управление потоком с помощью гарантированной скорости.

При данном способе приемник и передатчик заранее согласовывают скорость связи. В процессе сеанса эта скорость не изменяется. Это самый простом способ управления потоком.

Контроль ошибок подуровня LLC

С помощью контроля ошибок отсеиваются потерянные и ошибочные кадры. Это может произойти в двух случаях:

1. Пакет не достигает приемника – это происходит при использовании служб ориентированных на подключение и служб подтверждения без установления связи. Если передатчик не получает подтверждения о доставке кадра (или получает негативное подтверждение – NAK (negative acknowledgment), то он засчитывает ошибку и повторяет передачу.

2. Код CRC не совпадает. Получатель пересчитывает контрольную сумму кадра и сравнивает ее с полученной. Если они не совпадают, получатель запрашивает перепосылку.

Заключение

Канальный уровень OSI выполняет следующие функции:

1. Организация битов физического уровня (0 и 1) в логические единицы информации, называемые кадрами (frames). (Кадры по своей структуре очень похожи на байты – это группа битов, представляющие собой отдельную логическую единицу данных).

2. Обнаружение и, по возможности, исправление ошибок

3. Контролирует поток данных

4. Опознает компьютер в сети

К канальному уровню относят:

Логическую топологию

Доступ к среде передачи

Адресацию

Синхронизацию

Обслуживание соединений

Недавно добавили