hostprofi.ru
Подобрать хостинг
Термин·буква T

Trunk-порт

краткое определение

Trunk-порт (транк-порт) — порт коммутатора, настроенный на передачу трафика нескольких VLAN одновременно. Использует протокол IEEE 802.1Q для маркировки пакетов тегом VLAN ID, что позволяет разграничивать трафик разных сегментов сети на одном физическом соединении.

Trunk-порт — режим работы порта коммутатора, при котором через одно физическое соединение передаётся трафик нескольких VLAN одновременно. Каждый Ethernet-фрейм на trunk-порту содержит 802.1Q-тег (VLAN tag) — 4 байта, добавляемых в заголовок, которые содержат VLAN ID (1-4094). Принимающее устройство читает тег и направляет фрейм в нужный VLAN-сегмент.

Как работает

Стандарт IEEE 802.1Q определяет формат тегирования: в заголовок Ethernet-фрейма между полями Source MAC и EtherType вставляется 4-байтный тег, содержащий:

  • TPID (Tag Protocol Identifier) — всегда 0x8100, обозначает 802.1Q-тег.
  • PCP (Priority Code Point) — 3 бита приоритета QoS (802.1p).
  • DEI (Drop Eligible Indicator) — 1 бит.
  • VID (VLAN Identifier) — 12 бит, значения 1-4094.

Trunk-порт передаёт тегированные фреймы для всех настроенных VLAN. Access-порт (обычный порт для конечного устройства) работает в одном VLAN и не добавляет тег — это делает коммутатор при приёме фрейма. Соединение между двумя коммутаторами, серверным NIC и коммутатором, или между коммутатором и маршрутизатором/файрволом — типичные места применения trunk.

В серверной инфраструктуре trunk-порты используются, когда сервер сам управляет VLAN-трафиком — например, гипервизор KVM или Proxmox создаёт виртуальные сети для VM в разных VLAN, и физический NIC работает в trunk-режиме. На Linux это реализуется через vlan-модуль и ip link add link eth0 name eth0.100 type vlan id 100.

История

До стандартизации 802.1Q (1998) каждый производитель имел проприетарный протокол тегирования: Cisco использовала ISL (Inter-Switch Link, 1996). IEEE 802.1Q унифицировал подход, и ISL был постепенно вытеснен. В 2014 году Cisco полностью отказалась от поддержки ISL в новых устройствах. 802.1Q остаётся действующим стандартом; в 2011 году принят 802.1ad (Q-in-Q) для двойного тегирования в провайдерских сетях.

Trunk vs Access

ПараметрTrunk-портAccess-порт
Количество VLANМножество (1-4094)Один
Тегирование802.1Q теги в каждом фреймеБез тегов (coммутатор снимает/добавляет)
ПрименениеСвязь коммутаторов, uplink к гипервизоруПодключение серверов, ПК, IP-телефонов
Native VLANОдин VLAN без тега (обычно VLAN 1)Весь трафик без тега

На что обращать внимание

Trunk-порт без явного ограничения разрешённых VLAN передаёт трафик всех VLAN — это угроза VLAN hopping (атака переключения VLAN). Рекомендация: явно указывать allowed VLANs на trunk-порту и отключать неиспользуемые VLAN. Native VLAN на trunk-портах следует менять с VLAN 1 на нестандартный ID — VLAN 1 нередко становится вектором атаки в устаревших конфигурациях. В хостинговой среде trunk-порты критичны для изоляции клиентских сегментов на гипервизорах.

Типичные ошибки при настройке trunk-портов

Первая ошибка — не задавать native VLAN явно: по умолчанию native VLAN = 1 на большинстве коммутаторов. Нетегированный трафик попадает в VLAN 1, что является потенциальным вектором атаки (VLAN hopping). Меняйте native VLAN на нестандартный ID командой switchport trunk native vlan 999 (Cisco). Вторая ошибка — открывать все VLAN на trunk: ограничивайте разрешённые VLAN командой switchport trunk allowed vlan 10,20,30. В Proxmox trunk-порт настраивается в bridge-конфигурации: интерфейс без указания VLAN в bridge-vlan-interfaces — trunk. В KVM/libvirt trunk-порт создаётся через <vlan trunk='yes'> в XML-конфигурации сети.

Другие термины