Модель OSI по слоям |
---|
Канальный уровень , или слой 2 , второй слой из семи слоев OSI модели в области компьютерных сетей . Этот уровень является уровнем протокола, который передает данные между узлами в сегменте сети на физическом уровне . [1] Уровень канала передачи данных предоставляет функциональные и процедурные средства для передачи данных между сетевыми объектами, а также может предоставлять средства для обнаружения и, возможно, исправления ошибок, которые могут возникнуть на физическом уровне.
Уровень канала данных связан с локальной доставкой кадров между узлами на одном уровне сети. Кадры канала передачи данных , поскольку эти блоки данных протоколавызываются, не выходят за пределы локальной сети. Межсетевая маршрутизация и глобальная адресация - это функции более высокого уровня, позволяющие протоколам передачи данных сосредоточиться на локальной доставке, адресации и арбитраже мультимедиа. Таким образом, уровень канала передачи данных аналогичен районному гаишнику; он стремится к арбитражу между сторонами, борющимися за доступ к среде, не заботясь об их конечном пункте назначения. Когда устройства пытаются использовать среду одновременно, возникают конфликты кадров. Протоколы канала передачи данных определяют, как устройства обнаруживают такие конфликты и восстанавливаются после них, и могут предоставлять механизмы для их уменьшения или предотвращения.
Примерами протоколов передачи данных являются Ethernet , протокол точка-точка (PPP), HDLC и ADCCP . В Internet Protocol Suite (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). [2]
Подуровень управления логической связью [ править ]
Самый верхний подуровень, LLC, мультиплексирует протоколы, работающие на верхнем уровне уровня канала данных, и дополнительно обеспечивает управление потоком, подтверждение и уведомление об ошибках. ООО обеспечивает адресацию и управление каналом передачи данных. Он определяет, какие механизмы должны использоваться для адресации станций через среду передачи и для управления данными, которыми обмениваются машины отправителя и получателя.
Подуровень управления доступом к среде [ править ]
MAC может относиться к подуровню, который определяет, кому разрешен доступ к носителю в любой момент (например, CSMA / CD ). В других случаях это относится к структуре кадра, доставляемой на основе MAC-адресов внутри.
Обычно существует две формы управления доступом к среде: распределенная и централизованная. [3] И то, и другое можно сравнить с общением между людьми. В сети, состоящей из людей, говорящих, то есть в разговоре, каждый из них делает паузу на случайное время, а затем пытается заговорить снова, эффективно создавая долгую и сложную игру «нет, сначала ты».
Подуровень управления доступом к среде также выполняет синхронизацию кадров , которая определяет начало и конец каждого кадра данных в потоке битов передачи . Это влечет за собой один из нескольких методов: обнаружение на основе времени, подсчет символов, заполнение байтов и заполнение битов.
- Подход, основанный на времени, предполагает определенный промежуток времени между кадрами.
- Подсчет символов отслеживает количество оставшихся символов в заголовке кадра. Однако этот метод легко нарушить, если это поле повреждено.
- Заполнение байтов предшествует кадру специальной последовательностью байтов, такой как 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):
- Множественные методы доступа для управления доступом к каналу, например протоколы CSMA / CD для обнаружения коллизий и повторной передачи в шинных сетях Ethernet и сетях концентраторов или протокол CSMA / CA для предотвращения коллизий в беспроводных сетях.
- Физическая адресация ( 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
Ссылки [ править ]
- ^ "Что такое слой 2 и почему это должно вас волновать?" . accl-networks.com. Архивировано из оригинального 18 февраля 2010 года . Проверено 29 сентября 2009 года .
- ^ Регис Дж. Бейтс и Дональд В. Грегори (2007). Справочник по передаче голоса и данных (5-е изд.). McGraw-Hill Professional. п. 45. ISBN 978-0-07-226335-0.
- ^ Гуован Мяо ; Гоцун Сон (2014). Дизайн беспроводной сети с эффективным использованием энергии и спектра . Издательство Кембриджского университета . ISBN 978-1107039889.
- С. Таненбаум, Эндрю (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.
Внешние ссылки [ править ]
Викискладе есть медиафайлы, связанные с канальным уровнем данных . |
- Моделирование уровня DataLink, написанное на C #
- Уровень DataLink, часть 2: Обнаружение и исправление ошибок