Уровень канала передачи данных - Data link layer
Модель OSI по слоям |
---|
Канальный уровень , или слой 2 , второй слой из семи слоев OSI модели в области компьютерных сетей . Этот уровень является уровнем протокола, который передает данные между узлами в сегменте сети на физическом уровне . Уровень канала данных предоставляет функциональные и процедурные средства для передачи данных между сетевыми объектами, а также может предоставлять средства для обнаружения и, возможно, исправления ошибок, которые могут возникать на физическом уровне.
Уровень канала данных связан с локальной доставкой кадров между узлами на одном уровне сети. Кадры канала передачи данных, как называются эти блоки данных протокола , не пересекают границы локальной сети. Межсетевая маршрутизация и глобальная адресация - это функции более высокого уровня, позволяющие протоколам передачи данных сосредоточиться на локальной доставке, адресации и арбитраже мультимедиа. Таким образом, уровень канала передачи данных аналогичен районному гаишнику; он стремится к арбитражу между сторонами, борющимися за доступ к среде, не заботясь об их конечном пункте назначения. Когда устройства пытаются использовать среду одновременно, возникают конфликты кадров. Протоколы канала передачи данных определяют, как устройства обнаруживают такие конфликты и восстанавливаются после них, и могут предоставлять механизмы для их уменьшения или предотвращения.
Примерами протоколов передачи данных являются Ethernet , протокол точка-точка (PPP), HDLC и ADCCP . В пакете Интернет-протоколов (TCP / IP) функциональные возможности канального уровня содержатся в канальном уровне , самом нижнем уровне описательной модели, который, как предполагается, не зависит от физической инфраструктуры.
Функция
Канал передачи данных обеспечивает передачу кадров данных между хостами, подключенными к физическому каналу. В рамках семантики сетевой архитектуры OSI протоколы уровня канала передачи данных отвечают на запросы услуг от сетевого уровня и выполняют свою функцию, отправляя запросы на обслуживание на физический уровень . Этот перевод может быть надежным или ненадежным ; многие протоколы канала передачи данных не имеют подтверждений успешного приема и принятия кадра, а некоторые протоколы канала передачи данных могут даже не выполнять никаких проверок на наличие ошибок передачи. В таких случаях протоколы более высокого уровня должны обеспечивать управление потоком , проверку ошибок, подтверждения и повторную передачу.
Заголовок кадра содержит адреса источника и назначения, которые указывают, какое устройство создало кадр и какое устройство должно его получить и обработать. В отличие от иерархических и маршрутизируемых адресов сетевого уровня, адреса уровня 2 являются плоскими, что означает, что никакая часть адреса не может использоваться для идентификации логической или физической группы, к которой принадлежит адрес.
В некоторых сетях, таких как локальные сети IEEE 802 , уровень канала данных описывается более подробно с подуровнями управления доступом к среде (MAC) и управления логическим каналом (LLC); это означает, что протокол IEEE 802.2 LLC может использоваться со всеми уровнями MAC IEEE 802, такими как Ethernet, Token Ring , IEEE 802.11 и т. д., а также с некоторыми уровнями MAC, отличными от 802, такими как FDDI . Другие протоколы канального уровня, такие как HDLC , указаны для включения обоих подуровней, хотя некоторые другие протоколы, такие как Cisco HDLC , используют кадрирование низкого уровня HDLC в качестве уровня MAC в сочетании с другим уровнем LLC. В стандарте ITU-T G.hn , который обеспечивает способ создания высокоскоростной (до 1 Гбит / с) локальной сети с использованием существующей домашней проводки ( линии электропередач , телефонные линии и коаксиальные кабели ), уровень канала передачи данных разделен на три подуровня (конвергенция прикладных протоколов, управление логическим каналом и управление доступом к среде).
Подслои
Уровень канала передачи данных часто делится на два подуровня: управление логическим каналом (LLC) и управление доступом к среде передачи (MAC).
Подуровень управления логической связью
Самый верхний подуровень, LLC, мультиплексирует протоколы, работающие на верхнем уровне уровня канала данных, и дополнительно обеспечивает управление потоком, подтверждение и уведомление об ошибках. ООО обеспечивает адресацию и управление каналом передачи данных. Он определяет, какие механизмы должны использоваться для адресации станций через среду передачи и для управления данными, которыми обмениваются машины отправителя и получателя.
Подуровень управления доступом к среде
MAC может относиться к подуровню, который определяет, кому разрешен доступ к носителю в любой момент (например, CSMA / CD ). В других случаях это относится к структуре кадра, доставляемой на основе MAC-адресов внутри.
Обычно существует две формы управления доступом к среде: распределенная и централизованная. И то, и другое можно сравнить с общением между людьми. В сети, состоящей из людей, говорящих, то есть в разговоре, каждый из них будет делать паузу на случайное время, а затем пытаться говорить снова, эффективно создавая долгую и сложную игру «нет, сначала ты».
Подуровень управления доступом к среде также выполняет синхронизацию кадров , которая определяет начало и конец каждого кадра данных в потоке битов передачи . Это влечет за собой один из нескольких методов: обнаружение на основе времени, подсчет символов, заполнение байтов и заполнение битов.
- Подход, основанный на времени, предполагает определенный промежуток времени между кадрами.
- Подсчет символов отслеживает количество оставшихся символов в заголовке кадра. Однако этот метод легко нарушить, если это поле повреждено.
- Заполнение байтов предшествует кадру специальной последовательностью байтов, такой как DLE STX, и следует за ней с помощью DLE ETX . Появления DLE (байтовое значение 0x10) необходимо экранировать с помощью другого DLE. Метки начала и остановки обнаруживаются на приемнике и удаляются вместе с вставленными символами DLE.
- Точно так же вставка битов заменяет эти начальные и конечные метки на флаги, состоящие из специального битового шаблона (например, 0, шесть 1 бит и 0). Появление этой битовой комбинации в передаваемых данных предотвращается путем вставки бита. Чтобы использовать пример с флагом 01111110, 0 вставляется после 5 последовательных 1 в потоке данных. Флаги и вставленные 0 удаляются на принимающей стороне. Это делает кадры произвольной длины и упрощает синхронизацию для получателя. Заполненный бит добавляется, даже если следующий бит данных равен 0, что не может быть ошибочно принято за последовательность синхронизации , так что приемник может однозначно отличить заполненные биты от нормальных битов.
Услуги
На уровне канала передачи данных предоставляются следующие услуги:
- Инкапсуляция пакетов данных сетевого уровня в кадры
- Кадровая синхронизация
- На подуровне управления логическим каналом (LLC):
- Контроль ошибок ( автоматический запрос на повторение , ARQ), в дополнение к ARQ, предоставляемый некоторыми протоколами транспортного уровня , для прямого исправления ошибок (FEC), предоставляемых на физическом уровне , а также для обнаружения ошибок и отмены пакетов, предоставляемых на всех уровнях, включая сетевой уровень . Контроль ошибок на канальном уровне (т. Е. Повторная передача ошибочных пакетов) обеспечивается в беспроводных сетях и модемах телефонной сети V.42 , но не в протоколах LAN, таких как Ethernet , поскольку битовые ошибки очень редко встречаются в коротких проводах. В этом случае обеспечивается только обнаружение ошибок и отмена ошибочных пакетов.
- Управление потоком в дополнение к тому, которое предоставляется на транспортном уровне . Управление потоком на канальном уровне не используется в протоколах LAN, таких как Ethernet, но в модемах и беспроводных сетях.
- На подуровне управления доступом к среде (MAC):
- Множественные методы доступа для управления
- Физическая адресация ( MAC-адресация )
- Коммутация LAN ( коммутация пакетов ), включая фильтрацию MAC , протокол связующего дерева (STP) и мост кратчайшего пути (SPB)
- Очередь или планирование пакетов данных
- Переключение с промежуточным хранением или сквозное переключение
- Контроль качества обслуживания (QoS)
- Виртуальные локальные сети (VLAN)
Обнаружение и исправление ошибок
В дополнение к кадрированию уровень канала данных также может обнаруживать ошибки передачи и восстанавливаться после них. Чтобы получатель мог обнаружить ошибки передачи, отправитель должен добавить избыточную информацию в виде кода обнаружения ошибок в отправленный кадр. Когда приемник получает кадр, он проверяет, соответствует ли полученный код обнаружения ошибок повторно вычисленному коду обнаружения ошибок.
Код обнаружения ошибок может быть определен как функция, которая вычисляет r (количество избыточных битов), соответствующее каждой строке из N общего количества битов. Самый простой код обнаружения ошибок - это бит четности , который позволяет приемнику обнаруживать ошибки передачи, которые затронули один бит из переданных N + r битов. Если имеется несколько перевернутых битов, метод проверки может не обнаружить это на стороне приемника. Существуют более продвинутые методы, чем обнаружение ошибок четности, обеспечивающие более высокие уровни качества и функций.
ЧАС | E | L | L | О |
---|---|---|---|---|
8 | 5 | 12 | 12 | 15 |
Простым примером того, как это работает с использованием метаданных, является передача слова «ПРИВЕТ» путем кодирования каждой буквы как ее позиции в алфавите. Таким образом, буква A кодируется как 1, B как 2 и так далее, как показано в таблице справа. Сложение полученных чисел дает 8 + 5 + 12 + 12 + 15 = 52, а 5 + 2 = 7 вычисляет метаданные. Наконец, передается последовательность номеров «8 5 12 12 15 7», которую приемник увидит на своем конце, если нет ошибок передачи. Получатель знает, что последнее полученное число - это метаданные для обнаружения ошибок, а все предыдущие данные - это сообщение, поэтому получатель может пересчитать приведенную выше математику и, если метаданные совпадают, можно сделать вывод, что данные были получены без ошибок. Однако, если получатель видит что-то вроде последовательности «7 5 12 12 15 7» (первый элемент изменен из-за некоторой ошибки), он может запустить проверку, вычислив 7 + 5 + 12 + 12 + 15 = 51 и 5 + 1 = 6, и отклонить полученные данные как дефектные, так как 6 не равно 7.
Более сложные алгоритмы обнаружения и исправления ошибок предназначены для снижения риска того, что множественные ошибки передачи данных могут нейтрализовать друг друга и остаться незамеченными. Алгоритм, который может даже определить, были ли получены правильные байты, но не по порядку, - это проверка циклическим избыточным кодом или CRC. Этот алгоритм часто используется на уровне канала передачи данных.
Примеры протоколов
- ARCnet
- Банкомат
- Протокол обнаружения Cisco (CDP)
- Сеть контроллеров (CAN)
- Эконет
- Ethernet
- Автоматическое защитное переключение Ethernet (EAPS)
- Оптоволоконный распределенный интерфейс данных (FDDI)
- Ретрансляция кадров
- Управление каналом передачи данных высокого уровня (HDLC)
- IEEE 802.2 (предоставляет функции LLC для уровней MAC IEEE 802)
- Беспроводная локальная сеть IEEE 802.11
- I²C
- LattisNet
- Протокол обнаружения канального уровня (LLDP)
- LocalTalk
- MIL-STD-1553
- Многопротокольная коммутация по меткам (MPLS)
- Протокол Nortel Discovery (NDP)
- Протокол точка-точка (PPP)
- Profibus
- SpaceWire
- Интернет-протокол последовательной линии ( SLIP ) (устарел)
- Раздельный многоканальный транкинг (SMLT)
- IEEE 802.1aq - мост по кратчайшему пути
- Протокол связующего дерева
- StarLan
- Token Ring
- Обнаружение однонаправленного соединения (UDLD)
- UNI / O
- 1-проводной
- и большинство форм последовательной связи, например USB , PCI Express .
Отношение к модели TCP / IP
Набор интернет-протоколов |
---|
Уровень приложения |
Транспортный уровень |
Интернет-уровень |
Связующий слой |
В пакете Интернет-протоколов (TCP / IP) функциональные возможности канального уровня OSI содержатся на самом нижнем уровне - канальном уровне . Канальный уровень TCP / IP имеет рабочую область связи, к которой подключен хост, и занимается только аппаратными проблемами, вплоть до получения аппаратных (MAC) адресов для определения местоположения хостов в канале и передачи кадров данных по каналу. Функциональность канального уровня была описана в RFC 1122 и определяется иначе, чем канальный уровень OSI, и охватывает все методы, которые влияют на локальную связь.
Модель TCP / IP не является исчерпывающим руководством по проектированию сетей сверху вниз. Он был сформулирован с целью иллюстрации логических групп и объемов функций, необходимых при разработке набора межсетевых протоколов TCP / IP, необходимых для работы в Интернете. В общем, следует избегать прямого или строгого сравнения моделей OSI и TCP / IP, потому что разделение на уровни в TCP / IP не является основным критерием проектирования и, как правило, считается «вредным» (RFC 3439). В частности, TCP / IP не диктует строгую иерархическую последовательность требований инкапсуляции, как это приписывается протоколам OSI.
Смотрите также
- ALOHAnet § Протокол ALOHA
- ODI
- NDIS
- SANA-II - Стандартная сетевая архитектура Amiga , версия 2
использованная литература
- С. Таненбаум, Эндрю (2005). Компьютерные сети (4-е изд.). 482, FIE, Патпаргандж , Дели 110 092: Дорлинг Киндерсли (Индия) Pvt. Ltd., лицензии Pearson Education в Южной Азии. ISBN 81-7758-165-1.CS1 maint: location ( ссылка )
- Одом, Вендель (2013). CCENT / CCNA ICND1 100-101, Официальное руководство по сертификации CCENT . Пол Богер, cisco Press. ISBN 978-1-58714-385-4.