Канальный уровень
Канальный уровень (также уровень звена данных, англ. Data Link Layer) — это второй уровень эталонной модели OSI (Open Systems Interconnection), отвечающий за передачу данных между двумя непосредственно соединёнными узлами (точка-точка) или в пределах одной локальной сети (широковещательный сегмент). Он обеспечивает надёжную доставку кадров (frame) по физическому каналу, включая обнаружение и, в некоторых случаях, исправление ошибок, а также управление доступом к среде передачи.
Место в модели OSI
Канальный уровень располагается между физическим (уровень 1) и сетевым (уровень 3). Физический уровень занимается передачей неструктурированного потока битов, не различая отдельные сообщения. Канальный уровень, напротив, организует этот поток в логические блоки — кадры, добавляет служебную информацию (адреса отправителя и получателя, контрольную сумму) и управляет процессом передачи. Сетевой уровень, в свою очередь, использует услуги канального для маршрутизации пакетов между разными сетями.
Функции канального уровня
Основные задачи, решаемые на канальном уровне, включают:
- Формирование кадров (framing): Разбиение потока битов на отдельные кадры с чётко определёнными границами. Для этого используются специальные последовательности битов (флаги), указатели длины или методы заполнения (bit stuffing, byte stuffing).
- Адресация: Каждый узел в сети имеет уникальный адрес канального уровня (например, MAC-адрес). Кадр содержит адреса отправителя и получателя, что позволяет доставлять данные нужному устройству в пределах одного сегмента сети.
- Обнаружение и коррекция ошибок: Канальный уровень вычисляет контрольную сумму (CRC — Cyclic Redundancy Check) для каждого кадра и помещает её в его конец. Принимающая сторона повторно вычисляет сумму и сравнивает с полученной. Если они не совпадают, кадр считается повреждённым и отбрасывается. Некоторые протоколы (например, HDLC) поддерживают автоматический запрос повторной передачи (ARQ) для исправления ошибок.
- Управление доступом к среде (MAC — Media Access Control): В средах с разделяемым доступом (например, Ethernet на коаксиальном кабеле или Wi-Fi) несколько устройств могут пытаться передавать данные одновременно, что приводит к коллизиям. Канальный уровень реализует механизмы, предотвращающие или разрешающие коллизии (CSMA/CD, CSMA/CA, token passing).
- Управление потоком (flow control): Предотвращение переполнения буфера медленного приёмника данными от быстрого отправителя. Реализуется с помощью обратной связи (например, окна приёма) или механизма готовности (RTS/CTS).
Классификация протоколов
Протоколы канального уровня можно разделить на два основных класса:
Протоколы с установлением соединения (connection-oriented)
Перед передачей данных устанавливается логическое соединение между отправителем и получателем. В процессе обмена используется нумерация кадров, подтверждения приёма (ACK) и механизмы повторной передачи. Примеры: HDLC (High-Level Data Link Control), PPP (Point-to-Point Protocol) в режиме LCP, LAPB (Link Access Procedure, Balanced). Такие протоколы обеспечивают высокую надёжность, но требуют дополнительных накладных расходов.
Протоколы без установления соединения (connectionless)
Каждый кадр передаётся независимо, без предварительной настройки соединения. Подтверждения приёма не требуются, а потерянные или повреждённые кадры восстанавливаются на более высоких уровнях (например, транспортном). Примеры: Ethernet (IEEE 802.3), Wi-Fi (IEEE 802.11), Frame Relay. Эти протоколы проще и быстрее, но менее надёжны.
Подуровни канального уровня
Стандарт IEEE 802 разделяет канальный уровень на два подуровня:
Подуровень управления логическим каналом (LLC — Logical Link Control)
LLC (IEEE 802.2) отвечает за мультиплексирование протоколов сетевого уровня (например, IP, IPX) поверх одного канального протокола. Он обеспечивает интерфейс между сетевым и MAC-подуровнями, а также может реализовывать управление потоком и обнаружение ошибок. LLC предоставляет три типа сервиса: ненадёжный (без подтверждения), надёжный (с подтверждением) и полунадёжный (с подтверждением, но без установления соединения).
Подуровень управления доступом к среде (MAC — Media Access Control)
MAC (например, IEEE 802.3 для Ethernet, IEEE 802.11 для Wi-Fi) отвечает за адресацию (MAC-адреса), формирование кадров, обнаружение коллизий и непосредственный доступ к физической среде. Каждый сетевой интерфейс имеет уникальный MAC-адрес, присваиваемый производителем. MAC-подуровень определяет, как устройство получает право на передачу в разделяемой среде.
Примеры протоколов
Ethernet (IEEE 802.3)
Наиболее распространённый протокол канального уровня для проводных локальных сетей. Использует метод доступа CSMA/CD (Carrier Sense Multiple Access with Collision Detection) для управления коллизиями. Кадр Ethernet содержит преамбулу, MAC-адреса, поле длины/типа, данные (до 1500 байт) и контрольную сумму. Современные версии Ethernet (Gigabit Ethernet, 10 Gigabit Ethernet) работают по полнодуплексным соединениям, где коллизии отсутствуют.
Wi-Fi (IEEE 802.11)
Протокол для беспроводных локальных сетей. Использует метод доступа CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance) — коллизии не обнаруживаются, а предотвращаются с помощью механизма RTS/CTS (Request to Send / Clear to Send) и случайных задержек. Кадры Wi-Fi имеют более сложную структуру, включая поле управления, длительность, адреса (до четырёх), данные и контрольную сумму.
PPP (Point-to-Point Protocol)
Протокол для соединений точка-точка, часто используется в Dial-up, DSL и VPN-туннелях. Обеспечивает аутентификацию (PAP, CHAP), сжатие данных, обнаружение ошибок и мультиплексирование протоколов сетевого уровня (IP, IPX, AppleTalk). PPP состоит из нескольких подпротоколов: LCP (Link Control Protocol) для настройки соединения, NCP (Network Control Protocol) для настройки протоколов сетевого уровня.
Frame Relay
Протокол для сетей с коммутацией кадров, использовался в глобальных сетях до появления MPLS. Обеспечивает виртуальные каналы (PVC — Permanent Virtual Circuit) с гарантированной пропускной способностью (CIR — Committed Information Rate). Frame Relay не выполняет коррекцию ошибок — повреждённые кадры просто отбрасываются.
Адресация на канальном уровне
Основной единицей адресации является MAC-адрес (Media Access Control address). Это 48-битный (6 байт) идентификатор, обычно записываемый в шестнадцатеричном формате (например, 00:1A:2B:3C:4D:5E). Первые 24 бита (OUI — Organizationally Unique Identifier) присваиваются производителю оборудования, последние 24 бита — уникальный номер устройства. MAC-адреса используются только в пределах одного сегмента сети (широковещательного домена). Для передачи данных между разными сегментами используются IP-адреса сетевого уровня.
Оборудование канального уровня
Основным устройством, работающим на канальном уровне, является коммутатор (switch). Коммутатор анализирует MAC-адреса входящих кадров и передаёт их только на тот порт, к которому подключён получатель. Это позволяет изолировать трафик и повысить пропускную способность сети по сравнению с концентраторами (хабами), работающими на физическом уровне. Коммутаторы также поддерживают функции VLAN (Virtual LAN), которые позволяют логически разделять сеть на изолированные сегменты.
Другим устройством является мост (bridge), который соединяет два сегмента сети, передавая кадры между ними на основе MAC-адресов. Мосты устарели и в современных сетях заменены коммутаторами.
Применение
Канальный уровень является основой для построения локальных сетей (LAN) и глобальных сетей (WAN). Он используется в:
- Проводных локальных сетях: Ethernet (офисы, дома, дата-центры).
- Беспроводных сетях: Wi-Fi (домашние и корпоративные сети, хот-споты).
- Широкополосных соединениях: DSL, кабельные модемы (PPP, Ethernet).
- Сотовых сетях: Протоколы L2 для передачи данных между базовыми станциями и ядром сети (например, GTP-U).
- Промышленных сетях: Profibus, Modbus (на канальном уровне реализуются специфические методы доступа).
Критика и ограничения
Основным ограничением канального уровня является его локальность — MAC-адреса не маршрутизируются за пределами одного широковещательного домена. Для соединения разных сетей требуется сетевой уровень (IP). Кроме того, протоколы канального уровня, такие как Ethernet, имеют ограничение на размер кадра (MTU — Maximum Transmission Unit), что может потребовать фрагментации на более высоких уровнях. В беспроводных сетях (Wi-Fi) из-за коллизий и помех эффективная пропускная способность значительно ниже номинальной.
Источники
- Компьютерные сети. Принципы, технологии, протоколы / В. Г. Олифер, Н. А. Олифер. — 5-е изд. — СПб.: Питер, 2016.
- Сети связи и системы коммутации / Б. С. Гольдштейн. — СПб.: BHV, 2008.
- IEEE Standard for Local and Metropolitan Area Networks: Overview and Architecture (IEEE 802-2014).
- RFC 1661 — The Point-to-Point Protocol (PPP).
- RFC 791 — Internet Protocol (IP).
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →