linuxlab.io
Учебники▾
  • Линукс и сети
    Файловая система, процессы, TCP/IP, BGP и OSPF
    →
  • Terraform и IaC
    HCL, state, plan/apply на sandbox LocalStack
    →
  • Git и GitHub
    Объектная модель, plumbing, ветвление, GitHub Actions
    →
Все учебники →
ЦеныО платформеВойтиСоздать аккаунт
/
Intro
Lessons
Footer
linuxlab-УчебникиЦеныО платформеКонфиденциальность и куки
Copyright © 2026 LinuxLab. Все права защищены.
linuxlab.io
Учебники▾
  • Линукс и сети
    Файловая система, процессы, TCP/IP, BGP и OSPF
    →
  • Terraform и IaC
    HCL, state, plan/apply на sandbox LocalStack
    →
  • Git и GitHub
    Объектная модель, plumbing, ветвление, GitHub Actions
    →
Все учебники →
ЦеныО платформеВойтиСоздать аккаунт
/
  • Введение
  • Уроки
  • How it works
  • Симулятор
  • База знаний
  • Собеседование
home/linux/how/vlan

how/network

VLAN и 802.1Q tagging

Один физический свитч, одна сеть кабелей - но логически разделено на несколько изолированных broadcast-доменов. Магия в 4-байтном теге.

Представь офис: 50 розеток, один свитч в шкафу, бухгалтерия и разработка должны быть изолированы друг от друга. Тянуть второй свитч и второй комплект кабелей? Нет - у нас есть VLAN.

VLAN (Virtual LAN) - это способ логически разделить один физический свитч на несколько независимых broadcast-доменов. Хосты в VLAN 10 не «слышат» хосты в VLAN 20, даже если воткнуты в соседние порты одного свитча.

Реализуется через 802.1Q tagging - 4-байтный тег с VLAN ID вставляется в Ethernet-фрейм при передаче через trunk-порт между свитчами, и снимается на access-порту перед отдачей хосту.

Нажми ▶ - посмотрим как один свитч обслуживает 2 VLAN, и где вставляется/снимается тег.

step 1/5·00 · 4 хоста, 1 свитч, 2 VLAN
VLAN 10VLAN 20VLAN-aware switchaccess · vlan 10access · vlan 10access · vlan 20access · vlan 20trunkinternetдругие свитчиhost A1vlan 10host A2vlan 10host B1vlan 20host B2vlan 204 хоста на одном свитче, но в 2 разных vlan: A1/A2 в vlan 10, B1/B2 в vlan 20

§ шаги

  1. На свитче подключены 4 хоста, но они логически разделены:

    • A1, A2 - в VLAN 10 (например, отдел бухгалтерии)
    • B1, B2 - в VLAN 20 (например, разработка)

    Конфигурация порта на свитче говорит «этот порт принадлежит VLAN N». Это access-порты - к ним подключены конечные устройства, и они работают без тегов.

итого

Что важно запомнить:

  • Access-порт = подключён к одному хосту, одна VLAN. Хост не видит и не отправляет теги - для него это обычная сеть
  • Trunk-порт = подключён к другому свитчу, по нему ходят фреймы разных VLAN с тегами. Тег указывает «этот фрейм для VLAN N» - принимающий свитч на основании этого решает в какие access-порты выпустить
  • 802.1Q tag - это 4 байта, вставляется между MAC-адресами и ethertype в Ethernet-заголовке. Содержит VLAN ID (12 бит, до 4096 VLAN) + приоритет (3 бита, для QoS)
  • Фреймы между VLAN не ходят на L2. Чтобы хост из VLAN 10 поговорил с хостом из VLAN 20 - нужен router (L3-устройство), который обрабатывает обе VLAN. Это называется inter-VLAN routing или router-on-a-stick
  • Native VLAN - это VLAN, которая на trunk идёт без тега. По умолчанию VLAN 1. Несовпадение native VLAN на двух концах trunk'а - частая ошибка конфигурации
  • В Linux можно создавать VLAN-интерфейсы: ip link add link eth0 name eth0.10 type vlan id 10 - теперь eth0.10 принимает только фреймы с тегом VLAN 10

Связано с broadcast-domain (VLAN = логический broadcast-домен) и ethernet-frame (куда вставляется 802.1Q tag).

§ копнуть в базу знаний

  • ethernet-frameEthernet-фрейм - куда втыкается 802.1Q
  • broadcast-domainbroadcast-домен - то что VLAN режет
  • mac-addressMAC-адрес - из которых состоит тег
Footer
linuxlab-
Copyright © 2026 LinuxLab. Все права защищены.
Учебники
Цены
О платформе
Конфиденциальность и куки