Канальный уровень
Канальный уровень (англ. Data Link layer), также уровень передачи данных[1], уровень звена данных[2] — второй уровень сетевой модели OSI, предназначенный для передачи данных узлам, находящимся в том же сегменте локальной сети. Также может использоваться для обнаружения и, возможно, исправления ошибок, возникших на физическом уровне. Примерами протоколов, работающих на канальном уровне, являются: Ethernet для локальных сетей (многоузловой), Point-to-Point Protocol (PPP), HDLC и ADCCP для подключений точка-точка (двухузловой).
Сетевая модель OSI | |
---|---|
7 | Прикладной уровень |
6 | Представительский уровень |
5 | Сеансовый уровень |
4 | Транспортный уровень |
3 | Сетевой уровень |
2 | Канальный уровень |
1 | Физический уровень |
Описание
правитьКанальный уровень отвечает за доставку кадров (frame) между устройствами, подключенными к одному сетевому сегменту. Кадры канального уровня не пересекают границ сетевого сегмента. Кадры передаются последовательно с обработкой кадров подтверждения, отсылаемых обратно получателем[1].
Функции межсетевой маршрутизации и глобальной адресации осуществляются на более высоких уровнях модели OSI, что позволяет протоколам канального уровня сосредоточиться на локальной доставке и адресации.
Заголовок кадра содержит аппаратные адреса отправителя и получателя, что позволяет определить, какое устройство отправило кадр и какое устройство должно получить и обработать его. В отличие от иерархических и маршрутизируемых адресов, аппаратные адреса одноуровневые. Это означает, что никакая часть адреса не может указывать на принадлежность к какой-либо логической или физической группе.
Когда устройства пытаются использовать среду одновременно, возникают коллизии кадров. Протоколы канального уровня выявляют такие случаи и обеспечивают механизмы для уменьшения их количества или же их предотвращения.
Многие протоколы канального уровня не имеют подтверждения о приёме кадра, некоторые протоколы даже не имеют контрольной суммы для проверки целостности кадра. В таких случаях протоколы более высокого уровня должны обеспечивать управление потоком данных, контроль ошибок, подтверждение доставки и ретрансляции утерянных данных.
На этом уровне работают коммутаторы, мосты.
В программировании доступ к этому уровню предоставляет драйвер сетевой платы.[источник не указан 4432 дня] В операционных системах имеется программный интерфейс взаимодействия канального и сетевого уровней между собой, это не новый уровень, а просто реализация модели для конкретной ОС. Примеры таких интерфейсов: ODI, NDIS.[источник не указан 4432 дня][значимость факта?]
Длина пакета, формируемого протоколом канального уровня, ограничена сверху посредством MTU. MTU может быть изменено. Минимальная длина кадра прописывается в стандартах и не может быть изменена.
Подуровни канального уровня
правитьСпецификация IEEE 802 разделяет этот уровень на 2 подуровня. MAC (Media Access Control, или Medium Access Control) регулирует доступ к разделяемой физической среде, LLC (Logical Link Control) обеспечивает обслуживание сетевого уровня.
Функции канального уровня
править- Получение доступа к среде передачи. Обеспечение доступа — важнейшая функция канального уровня. Она требуется всегда, за исключением случаев, когда реализована полносвязная топология (например, два компьютера, соединенных через кроссовер, или компьютер с коммутатором в полнодуплексном режиме).
- Выделение границ кадра. Эта задача также решается всегда. Среди возможных решений этой задачи — резервирование некоторой последовательности, обозначающей начало или конец кадра.
- Аппаратная адресация (или адресация канального уровня). Требуется в том случае, когда кадр могут получить сразу несколько адресатов. В локальных сетях аппаратные адреса (MAC-адреса) применяются всегда.
- Обеспечение достоверности принимаемых данных. Во время передачи кадра есть вероятность, что данные исказятся. Важно это обнаружить и не пытаться обработать кадр, содержащий ошибку. Обычно на канальном уровне используются алгоритмы контрольных сумм, дающие высокую гарантию обнаружения ошибок.
- Адресация протокола верхнего уровня. В процессе деинкапсуляции указание формата вложенного PDU существенно упрощает обработку информации, поэтому чаще всего указывается протокол, находящийся в поле данных, за исключением тех случаев, когда в поле данных может находиться один-единственный протокол.
Примечания
править- ↑ 1 2 Таненбаум, 2019, с. 59.
- ↑ ГОСТ 24402-88 Телеобработка данных и вычислительные сети. термины и определения . Росстандарт. Дата обращения: 10 июня 2023. Архивировано 10 июня 2023 года.
Литература
править- А.А.Зайка. Компьютерные сети. — ОЛМА-ПРЕСС. — М., 2006. — С. 39—40.
- А.Ю.Филимонов. Протоколы интернета. — СпБ., 2003. — С. 9—10,33-65.
- Таненбаум Эндрю С, Уэзеролл Дэвид. Компьютерные сети = Computer Networks. — 5-е. — СПб.: «Питер», 2019. — С. 59,216-280.
Ссылки
править- ISO 7498-1 7.6 Dat Link layer 46—48. ISO.
- ГОСТ Р ИСО/МЭК 7498-1-99 7.6 Уровень звена данных 45—47. Росстандарт.
- Модель OSI — Канальный уровень
В другом языковом разделе есть более полная статья Data Link Layer (англ.). |