Канальный уровень

Канальный уровень (англ. Data Link layer), также уровень передачи данных[1] — второй уровень сетевой модели OSI, предназначенный для передачи данных узлам, находящимся в том же сегменте локальной сети. Также может использоваться для обнаружения и, возможно, исправления ошибок, возникших на физическом уровне. Примерами протоколов, работающих на канальном уровне, являются: Ethernet для локальных сетей (многоузловой), Point-to-Point Protocol (PPP), HDLC и ADCCP для подключений точка-точка (двухузловой).

  Сетевая модель OSI
7Прикладной уровень
6Представительский уровень
5Сеансовый уровень
4Транспортный уровень
3Сетевой уровень
2Канальный уровень
1Физический уровень

Канальный уровень отвечает за доставку кадров (frame) между устройствами, подключенными к одному сетевому сегменту. Кадры канального уровня не пересекают границ сетевого сегмента. Кадры передаются последовательно с обработкой кадров подтверждения, отсылаемых обратно получателем[1].

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

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

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

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

На этом уровне работают коммутаторы, мосты.

В программировании доступ к этому уровню предоставляет драйвер сетевой платы. В операционных системах имеется программный интерфейс взаимодействия канального и сетевого уровней между собой, это не новый уровень, а просто реализация модели для конкретной ОС. Примеры таких интерфейсов: ODI, NDIS.[значимость факта?]

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

Подуровни канального уровня

Спецификация IEEE 802 разделяет этот уровень на 2 подуровня. MAC (Media Access Control, или Medium Access Control) регулирует доступ к разделяемой физической среде, LLC (Logical Link Control) обеспечивает обслуживание сетевого уровня.

Функции канального уровня

  1. Получение доступа к среде передачи. Обеспечение доступа — важнейшая функция канального уровня. Она требуется всегда, за исключением случаев, когда реализована полносвязная топология (например, два компьютера, соединенных через кроссовер, или компьютер с коммутатором в полнодуплексном режиме).
  2. Выделение границ кадра. Эта задача также решается всегда. Среди возможных решений этой задачи — резервирование некоторой последовательности, обозначающей начало или конец кадра.
  3. Аппаратная адресация (или адресация канального уровня). Требуется в том случае, когда кадр могут получить сразу несколько адресатов. В локальных сетях аппаратные адреса (MAC-адреса) применяются всегда.
  4. Обеспечение достоверности принимаемых данных. Во время передачи кадра есть вероятность, что данные исказятся. Важно это обнаружить и не пытаться обработать кадр, содержащий ошибку. Обычно на канальном уровне используются алгоритмы контрольных сумм, дающие высокую гарантию обнаружения ошибок.
  5. Адресация протокола верхнего уровня. В процессе декапсуляции указание формата вложенного PDU существенно упрощает обработку информации, поэтому чаще всего указывается протокол, находящийся в поле данных, за исключением тех случаев, когда в поле данных может находиться один-единственный протокол.

Примечания

Ссылки

Литература

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.