Logical Link Control
Logical Link Control (LLC) — это подуровень управления логическим каналом, входящий в состав канального уровня (Data Link Layer) эталонной модели OSI (Open Systems Interconnection). Он отвечает за установление, поддержание и завершение логических соединений между узлами сети, а также за управление потоками данных, обнаружение и коррекцию ошибок на уровне кадра. В отличие от подуровня MAC (Media Access Control), который управляет доступом к физической среде передачи, LLC обеспечивает независимость вышележащих протоколов от конкретной реализации физической среды.
История и стандартизация
Подуровень LLC был впервые определён в стандарте IEEE 802.2, опубликованном в 1985 году. Этот стандарт был разработан для обеспечения совместимости различных сетевых технологий, таких как Ethernet, Token Ring и FDDI. Впоследствии IEEE 802.2 был принят как международный стандарт ISO 8802-2. С развитием сетей и появлением более высокоуровневых протоколов (например, TCP/IP) роль LLC в локальных сетях постепенно снизилась, однако он остаётся важным элементом в некоторых специализированных областях, таких как промышленные сети и системы управления.
Функции и задачи
Основные функции подуровня LLC включают:
- Управление логическим каналом: LLC может устанавливать соединение между двумя узлами (режим с установлением соединения) или работать без него (дейтаграммный режим).
- Обнаружение и коррекция ошибок: LLC использует контрольные суммы (например, CRC) для выявления ошибок в кадрах и может запрашивать повторную передачу повреждённых кадров.
- Управление потоком: LLC регулирует скорость передачи данных между отправителем и получателем, чтобы избежать перегрузки приёмного буфера.
- Мультиплексирование: LLC позволяет нескольким протоколам вышележащего уровня (например, IP, IPX, NetBIOS) использовать один и тот же канал передачи данных, идентифицируя их через поля DSAP (Destination Service Access Point) и SSAP (Source Service Access Point).
Классификация режимов работы
Стандарт IEEE 802.2 определяет три основных режима работы LLC:
LLC Type 1 (LLC1)
Режим без установления соединения (connectionless). Кадры передаются без подтверждения получения. Этот режим используется в сетях с низкой вероятностью ошибок, где важна скорость передачи, а не надёжность. Примером является использование LLC1 в Ethernet для передачи IP-пакетов.
LLC Type 2 (LLC2)
Режим с установлением соединения (connection-oriented). Перед передачей данных устанавливается логическое соединение между узлами, после чего кадры передаются с подтверждением и, при необходимости, повторной передачей. LLC2 обеспечивает высокую надёжность, но требует больше ресурсов. Этот режим редко используется в современных локальных сетях, но применяется в некоторых промышленных протоколах.
LLC Type 3 (LLC3)
Режим с подтверждением, но без установления соединения (acknowledged connectionless). Кадры передаются с подтверждением получения, но без предварительного установления соединения. Этот режим является компромиссом между LLC1 и LLC2 и используется в системах реального времени, где требуется быстрая доставка с контролем ошибок.
Структура кадра LLC
Кадр LLC состоит из заголовка и поля данных. Заголовок включает:
- DSAP (Destination Service Access Point) — 1 байт, указывает на протокол верхнего уровня, которому адресован кадр.
- SSAP (Source Service Access Point) — 1 байт, указывает на протокол верхнего уровня, от которого отправлен кадр.
- Control field — 1 или 2 байта, определяет тип кадра (информационный, управляющий или ненумерованный) и содержит информацию о номере кадра, подтверждении и т.д.
Поле данных может содержать до 1492 байт (для Ethernet) или больше в зависимости от используемой технологии.
Взаимодействие с подуровнем MAC
LLC получает от вышележащего уровня (например, сетевого уровня) пакет данных, добавляет к нему свой заголовок и передаёт полученный кадр подуровню MAC. MAC, в свою очередь, добавляет свой заголовок (с MAC-адресами отправителя и получателя) и контрольную сумму, после чего передаёт кадр на физический уровень. При приёме данных процесс идёт в обратном порядке: MAC удаляет свой заголовок, проверяет целостность кадра, а затем передаёт его LLC, который анализирует свой заголовок и направляет данные соответствующему протоколу верхнего уровня.
Применение
Подуровень LLC используется в различных сетевых технологиях:
- Ethernet: В большинстве современных сетей Ethernet LLC применяется в режиме LLC1 для передачи IP-пакетов. Однако в некоторых реализациях (например, в Ethernet II) LLC может отсутствовать, и данные передаются напрямую между MAC и сетевым уровнем.
- Token Ring: В сетях Token Ring LLC используется для обеспечения надёжной передачи данных, часто в режиме LLC2.
- FDDI (Fiber Distributed Data Interface): В оптоволоконных сетях FDDI LLC применяется для управления потоком и обнаружения ошибок.
- Промышленные сети: В протоколах, таких как PROFIBUS и Modbus, LLC используется для управления логическими каналами и обеспечения детерминированной передачи данных.
- Беспроводные сети: В стандартах IEEE 802.11 (Wi-Fi) LLC используется для мультиплексирования протоколов верхнего уровня.
Сравнение с другими подуровнями
В отличие от подуровня MAC, который работает с физическими адресами и управляет доступом к среде, LLC работает с логическими адресами (SAP) и обеспечивает интерфейс между MAC и сетевым уровнем. В некоторых моделях, таких как TCP/IP, функции LLC могут быть частично или полностью реализованы на более высоких уровнях, что делает его менее заметным для конечного пользователя.
Критика и ограничения
Стандарт IEEE 802.2, хотя и является важным для понимания сетевых архитектур, подвергается критике за избыточность в современных сетях. В большинстве локальных сетей LLC используется в минимальном режиме (LLC1), а его функции по управлению соединением и коррекции ошибок дублируются протоколами транспортного уровня (например, TCP). Это привело к тому, что в некоторых реализациях (например, в Ethernet II) LLC не используется вовсе, что упрощает стек протоколов и повышает производительность.
Интересные факты
- Значения DSAP и SSAP могут быть зарезервированы для определённых протоколов. Например, значение 0xAA указывает на протокол SNAP (Subnetwork Access Protocol), который используется для инкапсуляции пакетов IPX или AppleTalk.
- В некоторых старых сетях, таких как ARCNET, LLC был единственным способом мультиплексирования протоколов, так как MAC не поддерживал эту функцию.
- Стандарт IEEE 802.2 был отозван в 2011 году, но его функции продолжают использоваться в рамках других стандартов, таких как IEEE 802.1Q (VLAN).
Источники
- IEEE Standard for Local and Metropolitan Area Networks: Logical Link Control (IEEE Std 802.2-1998).
- ISO/IEC 8802-2:1998 — Information technology — Telecommunications and information exchange between systems — Local and metropolitan area networks — Specific requirements — Part 2: Logical Link Control.
- Таненбаум Э., Уэзеролл Д. Компьютерные сети. — 5-е изд. — СПб.: Питер, 2012.
- Олифер В.Г., Олифер Н.А. Компьютерные сети. Принципы, технологии, протоколы. — 4-е изд. — СПб.: Питер, 2010.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →