Уровень канала передачи данных , или уровень 2 , является вторым уровнем семиуровневой модели OSI компьютерных сетей . Этот уровень является уровнем протокола, который передает данные между узлами в сегменте сети через физический уровень . [2] Уровень канала передачи данных предоставляет функциональные и процедурные средства для передачи данных между сетевыми объектами, а также может предоставлять средства для обнаружения и возможного исправления ошибок, которые могут возникнуть на физическом уровне.
Канальный уровень занимается локальной доставкой кадров между узлами на одном уровне сети. Канальные кадры, как называются эти протокольные единицы данных , не пересекают границ локальной сети. Межсетевая маршрутизация и глобальная адресация являются функциями более высокого уровня, позволяющими протоколам канального уровня сосредоточиться на локальной доставке, адресации и арбитраже среды. Таким образом, канальный уровень аналогичен местному регулировщику; он пытается вынести решение между сторонами, борющимися за доступ к среде, не заботясь об их конечном пункте назначения. Когда устройства пытаются использовать среду одновременно, происходят коллизии кадров. Канальные протоколы определяют, как устройства обнаруживают и восстанавливаются после таких коллизий, и могут предоставлять механизмы для их уменьшения или предотвращения.
Примерами протоколов канала передачи данных являются Ethernet , протоколы WiFi IEEE 802.11 , ATM и Frame Relay . В наборе протоколов Интернета (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). [3]
Самый верхний подуровень, LLC, мультиплексирует протоколы, работающие на вершине уровня канала передачи данных, и опционально обеспечивает управление потоком, подтверждение и уведомление об ошибках. LLC обеспечивает адресацию и управление каналом передачи данных. Он определяет, какие механизмы должны использоваться для адресации станций по среде передачи и для управления данными, которыми обмениваются машины-отправитель и получатель.
MAC может относиться к подслою, который определяет, кому разрешен доступ к медиа в любой момент времени (например, CSMA/CD ). В других случаях это относится к структуре кадра , предоставляемой на основе внутренних MAC-адресов .
Обычно существуют две формы управления доступом к среде: распределенная и централизованная. [4] Оба эти вида можно сравнить с общением между людьми. В сети, состоящей из говорящих людей, т. е. в разговоре, каждый из них делает паузу на случайное количество времени, а затем пытается заговорить снова, фактически создавая длительную и сложную игру, в которой говорят «нет, ты первый».
Подуровень управления доступом к среде также выполняет синхронизацию кадров , которая определяет начало и конец каждого кадра данных в потоке битов передачи . Он подразумевает один из нескольких методов: обнаружение на основе синхронизации, подсчет символов, заполнение байтами и заполнение битами.
Услуги, предоставляемые уровнем канала передачи данных:
В дополнение к кадрированию, уровень канала передачи данных может также обнаруживать и восстанавливаться после ошибок передачи. Чтобы получатель мог обнаружить ошибки передачи, отправитель должен добавить избыточную информацию в качестве кода обнаружения ошибок к отправленному кадру. Когда получатель получает кадр, он проверяет, соответствует ли полученный код обнаружения ошибок пересчитанному коду обнаружения ошибок.
Код обнаружения ошибок можно определить как функцию, которая вычисляет r (количество избыточных битов), соответствующих каждой строке из N битов. Простейшим кодом обнаружения ошибок является бит четности , который позволяет приемнику обнаруживать ошибки передачи, которые повлияли на один бит среди переданных N + r битов. Если есть несколько перевернутых битов, то метод проверки может не обнаружить это на стороне приемника. Существуют более продвинутые методы, чем обнаружение ошибок четности, обеспечивающие более высокие уровни качества и функций.
Простым примером того, как это работает с использованием метаданных , является передача слова "HELLO" путем кодирования каждой буквы как ее позиции в алфавите. Таким образом, буква 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. Этот алгоритм часто используется на уровне канала передачи данных.
В Internet Protocol Suite (TCP/IP) функциональность уровня канала передачи данных OSI содержится в его самом нижнем уровне, уровне канала . Уровень канала передачи данных TCP/IP имеет рабочую область канала, к которому подключен хост, и занимается только аппаратными проблемами с точки зрения получения аппаратных (MAC) адресов для определения местоположения хостов на канале и передачи кадров данных по каналу. Функциональность уровня канала передачи данных была описана в RFC 1122 и определена иначе, чем уровень канала передачи данных OSI, и охватывает все методы, которые влияют на локальный канал передачи данных.
Модель TCP/IP не является всеобъемлющим справочником по проектированию сетей сверху вниз. Она была сформулирована с целью иллюстрации логических групп и областей действия функций, необходимых при проектировании набора межсетевых протоколов TCP/IP, необходимых для работы Интернета. В целом, следует избегать прямых или строгих сравнений моделей OSI и TCP/IP, поскольку многослойность в TCP/IP не является основным критерием проектирования и в целом считается «вредной» (RFC 3439). В частности, TCP/IP не диктует строгую иерархическую последовательность требований инкапсуляции, как это приписывается протоколам OSI.
{{cite book}}
: CS1 maint: location (link)