Фэндом


VLAN (Virtual Local Area Network) — группа устройств, имеющих возможность взаимодействовать между собой напрямую на канальном уровне, хотя физически при этом они могут быть подключены к разным сетевым коммутаторам. И наоборот, устройства, находящиеся в разных VLAN'ах, невидимы друг для друга на канальном уровне, даже если они подключены к одному коммутатору, и связь между этими устройствами возможна только на сетевом и более высоких уровнях.

В современных сетях VLAN — главный механизм для создания логической топологии сети, не зависящей от её физической топологии. VLAN'ы используются для сокращения широковещательного трафика в сети. Имеют большое значение с точки зрения безопасности, в частности как средство борьбы с ARP-spoofing'ом.

Зачем нужен VLAN? Править

Гибкое разделение устройств на группы
Как правило, одному VLAN соответствует одна подсеть. Устройства, находящиеся в разных VLAN, будут находиться в разных подсетях. Но в то же время VLAN не привязан к местоположению устройств и поэтому устройства, находящиеся на расстоянии друг от друга, все равно могут быть в одном VLAN независимо от местоположения
Уменьшение количества широковещательного трафика в сети
Каждый VLAN — это отдельный широковещательный домен. Например, коммутатор — это устройство 2 уровня модели OSI. Все порты на коммутаторе с лишь одним VLAN находятся в одном широковещательном домене. Создание дополнительных VLAN на коммутаторе означает разбиение коммутатора на несколько широковещательных доменов. Если один и тот же VLAN настроен на разных коммутаторах, то порты разных коммутаторов будут образовывать один широковещательный домен.
Увеличение безопасности и управляемости сети
Когда сеть разбита на VLAN, упрощается задача применения политик и правил безопасности. С VLAN политики можно применять к целым подсетям, а не к отдельному устройству. Кроме того, переход из одного VLAN в другой предполагает прохождение через устройство 3 уровня, на котором, как правило, применяются политики, разрешающие или запрещающие доступ из VLAN в VLAN.

Тегирование трафика VLAN Править

Компьютер при отправке трафика в сеть даже не догадывается,в каком VLAN'е он размещён. Об этом думает коммутатор. Коммутатор знает, что компьютер, который подключен к определённому порту,находится в соответствующем VLAN'e. Трафик, приходящий на порт определённого VLAN'а, ничем особенным не отличается от трафика другого VLAN'а. Другими словами, никакой информации о принадлежности трафика определённому VLAN'у в нём нет.

Однако, если через порт может прийти трафик разных VLAN'ов, коммутатор должен его как-то различать. Для этого каждый кадр (frame) трафика должен быть помечен каким-то особым образом. Пометка должна говорить о том, какому VLAN'у трафик принадлежит.

Наиболее распространённый сейчас способ ставить такую пометку описан в открытом стандарте IEEE 802.1Q. Существуют проприетарные протоколы, решающие похожие задачи, например, протокол ISL от Cisco Systems, но их популярность значительно ниже (и снижается).

Коммутатор и VLAN'ы Править

VLAN'ы могут быть настроены на коммутаторах, маршрутизаторах, других сетевых устройствах и на хостах. Однако, для объяснения VLAN лучше всего подойдет коммутатор.

Коммутатор — устройство 2го уровня и изначально все порты коммутатора находятся, как правило, в VLAN 1 и, следовательно, в одном широковещательном сегменте.

Это значит, что если одно из устройств, которое подключено к порту коммутатора, отправит широковещательный фрейм, то коммутатор перенаправит этот фрейм на все остальные порты, к которым подключены устройства, и они получат этот фрейм.

Принципы работы коммутатора Править

В этом разделе рассматривается коммутатор с настройками по умолчанию, то есть все его порты находятся в VLAN 1.

Для того чтобы передавать фреймы, коммутатор использует таблицу коммутации. Изначально, после включения коммутатора таблица пуста. Заполняет её коммутатор автоматически, при получении фреймов от хостов.Когда коммутатор получает фрейм от хоста, он сначала передает его в соответствии со своими правилами (описаны ниже), а затем запоминает MAC-адрес отправителя во фрейме и ставит его в соответствие порту на котором он был получен.

Например, для изображенной схемы, итоговая таблица коммутации будет иметь такой вид (после того как все хосты передавали какой-то трафик):
200px-Vlan 0.png
Порт коммутатора MAC-адрес хоста
1 A
2 B
3 C
4 D

Когда таблица заполнена, коммутатор знает на каких портах у него находятся какие хосты и передает фреймы на соответствующие порты.

Unicast фрейм с MAC-адресом получателя для которого у коммутатора нет записи в таблице коммутации, называется unknown unicast.

Механизмы передачи фреймов Править

Для того, чтобы передавать фреймы, коммутатор использует три базовых механизма:
  • Flooding — фрейм, полученный на один из портов, передается на остальные порты коммутатора. Коммутатор выполняет эту операцию в двух случаях:
    • при получении широковещательного или multicast (если не настроена поддержка multicast) фрейма,
    • при получении unknown unicast фрейма. Это позволяет коммутатору доставить фрейм хосту (при условии, что хост достижим и существует), даже когда он не знает, где хост находится.
  • Forwarding — передача фрейма, полученного на одном порту, через другой порт в соответствии с записью в таблице коммутации.
  • Filtering— если коммутатор получает фрейм через определенный порт, и MAC-адрес получателя доступен через этот же порт (это указано в таблице коммутации), то коммутатор отбрасывает фрейм. То есть, коммутатор считает, что в этом случае хост уже получил этот фрейм, и не дублирует его.

Пример сети для демонстрации использования механизмов передачи фреймов Править

На рисунке изображен коммутатор sw1 и повторитель (hub) к которому подключены два хоста.

Изначально к коммутатору были подключены три хоста A, B и C.

Соответственно у коммутатора такая таблица коммутации:
250px-Vlan 01.png
Порт коммутатора MAC-адрес хоста
1 A
2 B
3 C

Когда хост A отправляет фрейм хосту B, коммутатор использует механизм forwarding, так как ему известно где находятся оба хоста и хосты находятся на разных портах коммутатора.

Далее к коммутатору подключили хост D. Если хост A отправляет фрейм хосту D, то для коммутатора это unknown unicast фрейм, так как в таблице коммутации нет записи о MAC-адресе D. В соответствии со своими правилами коммутатор выполняет flooding и передает фрейм на все порты, кроме 1 (с которого фрейм был получен).

После того как коммутатор получит фрейм от хоста D, он запомнит его адрес и создаст соответствующую запись в таблице коммутации.

К коммутатору подключили повторитель с двумя хостами и коммутатор выучил их адреса.

Соответствующая таблица коммутации:

Порт коммутатора MAC-адрес хоста
1 A
2 B
3 C
4 D
5 E
5 F

Если после этого хост E будет передавать фрейм хосту F, то коммутатор получит его, но не будет передавать далее. В этой ситуации коммутатор использует механизм filtering, так как MAC-адрес получателя доступен через тот же порт, что и отправитель.

Хосты в одном VLAN на одном коммутаторе Править

К коммутатору подключены 4 хоста. Для упрощения будем считать, что A, B, C и D это соответствующие MAC-адреса хостов.

Соответствующая таблица коммутации:
200px-Vlan 0.png
Порт коммутатора MAC-адрес хоста
1 A
2 B
3 C
4 D


Хосты в разных VLAN на одном коммутаторе Править

Обычно, по умолчанию все порты коммутатора считаются нетегированными членами VLAN 1. В процессе настройки или работы коммутатора они могут перемещаться в другие VLAN'ы.

На коммутаторе, который изображен на рисунке, настроены два VLAN'а, все порты в соответствующих VLAN настроены как нетегированные, т. е. не используют теги IEEE 802.1Q при передаче фреймов (access-порты в терминологии Cisco).

После этого на коммутаторе существуют две таблицы коммутации.
280px-Vlan 1.png
Для VLAN 2:
Порт коммутатора MAC-адрес хоста
1 A
2 B

Для VLAN 10:

Порт коммутатора MAC-адрес хоста
3 C
4 D

Все базовые механизмы коммутатора остаются точно такими же как и до разделения на VLAN, но они используются только в пределах соответствующего VLAN.

Например, если хост из VLAN 10 отправляет широковещательный фрейм, то он будет отправлен только на порты в этом VLAN.

Получается, что нетегированные порты это "обычные" порты коммутатора. Это просто возможность сообщить коммутатору о том, какому VLAN принадлежат порты. Затем коммутатор использует эту информацию при передаче фреймов.

Как правило, реально в таблице коммутации в коммутаторах указывается порт, MAC-адрес и VLAN. То есть, для указанного примера таблица коммутации будет такая:

Порт коммутатора VLAN MAC-адрес хоста
1 2 A
2 2 B
3 10 C
4 10 D

Однако, далее для упрощения используется запись таблицы коммутации в виде соответствия между портами и MAC-адресами.

Хосты в разных VLAN на разных коммутаторах (объяснение тегированных портов) Править

К используемому примеру добавляется ещё один коммутатор.

В ходе объяснения используются промежуточные схемы подключения устройств и настройки коммутаторов, которые обычно не используются в реальной сети. Но они необходимы для объяснения.

Добавлен второй коммутатор и хосты в VLAN 2 Править

Для начала добавлен коммутатор sw2 и два хоста E и F в VLAN 2. Если рассматривать два коммутатора отдельно, то получается, что на коммутаторе sw1 осталась прежняя таблица коммутации, а на коммутаторе sw2 таблица такая (пока что коммутаторы не соединены):

Порт коммутатора MAC-адрес хоста
7 E
8 F

Теперь необходимо чтобы хосты A, B, E, F "увидели" друг друга. Они должны находиться в одном VLAN. То есть, необходимо каким-то образом указать коммутатору, что ещё на одном порту есть хосты в соответствующем VLAN'е.

Для указанного примера достаточно добавить на коммутаторе sw1 порт 10 в VLAN 2, а на коммутаторе sw2 порт 9 в VLAN 2. Принадлежность к VLAN указывается настройкой порта нетегированным в VLAN 2 (пока что). После этого на коммутаторах в таблицах коммутации добавятся новые порты и соответствующие MAC-адреса хостов. Теперь четыре хоста на разных коммутаторах находятся в одном широковещательном сегменте.

Таблица коммутации sw1 для VLAN 2:
450px-Vlan 2.png
Порт коммутатора MAC-адрес хоста
1 A
2 B
10 E
10 F

Таблица коммутации sw2 для VLAN 2:

Порт коммутатора MAC-адрес хоста
7 E
8 F
9 A
9 B


Ко второму коммутатору добавлены хосты в VLAN 10 Править

К коммутатору sw2 добавлены два хоста G и H в VLAN 10.

Для того чтобы хосты C и D в VLAN 10 на коммутаторе sw1, могли обмениваться информацией с хостами VLAN 10 на коммутаторе sw2 добавлен линк между коммутаторами. Логика аналогична добавлению хостов в VLAN 2.

Таблица коммутации sw1 для VLAN 10:
450px-Vlan 3.png
Порт коммутатора MAC-адрес хоста
3 C
4 D
11 G
11 H

Таблица коммутации sw2 для VLAN 10:

Порт коммутатора MAC-адрес хоста
13 G
14 H
12 C
12 D


Обнаружено использование расширения AdBlock.


Викия — это свободный ресурс, который существует и развивается за счёт рекламы. Для блокирующих рекламу пользователей мы предоставляем модифицированную версию сайта.

Викия не будет доступна для последующих модификаций. Если вы желаете продолжать работать со страницей, то, пожалуйста, отключите расширение для блокировки рекламы.

Также на Фэндоме

Случайная вики