Что такое vlan: технология и настройка. Native VLAN(нативный VLAN)

  • 08.09.2019

Ещё один небольшой инструмент, который может немного увеличить удобство работы: banner. Это объявление, которое циска покажет перед авторизацией на устройство.

Switch(config)#banner motd q Enter TEXT message. End with the character "q". It is just banner. q Switch(config)#
После motd вы указываете символ, который будет служить сигналом о том, что строка закончена. В это примере мы поставили “q”.

Относительно содержания баннера. Существует такая легенда: хакер вломился в сеть, что-то там поломал\украл, его поймали, а на суде оправдали и отпустили. Почему? А потому, что на пограничном роутере(между интернет и внутренней сетью), в banner было написано слово “Welcome”. “Ну раз просят, я и зашел”)). Поэтому считается хорошей практикой в баннере писать что-то вроде “Доступ запрещен!”.

Для упорядочивания знаний по пунктам разберём, что вам необходимо сделать:

1) Настроить hostname. Это поможет вам в будущем на реальной сети быстро сориентироваться, где вы находитесь.
Switch(config)#hostname HOSTNAME

2) Создать все вланы и дать им название
Switch(config)#vlan VLAN-NUMBER Switch(config-vlan)#name NAME-OF-VLAN

3) Настроить все access-порты и задать им имя
Switch(config-if)#description DESCRIPTION-OF-INTERFACE Switch(config-if)#switchport mode access Switch(config-if)#switchport access vlan VLAN-NUMBER

Удобно иногда бывает настраивать интерфейсы пачками:

Msk-arbat-asw3(config)#interface range fastEthernet 0/6 - 10 msk-arbat-asw3(config-if-range)#description FEO msk-arbat-asw3(config-if-range)#switchport mode access msk-arbat-asw3(config-if-range)#switchport access vlan 102

4) Настроить все транковые порты и задать им имя:
Switch(config-if)#description DESCRIPTION-OF-INTERFACE Switch(config-if)#switchport mode trunk Switch(config-if)#switchport trunk allowed vlan VLAN-NUMBERS

5) Не забывайте сохраняться:
Switch#copy running-config startup-config

Итого: чего мы добились? Все устройства в одной подсети видят друг друга, но не видят устройства из другой. В следующем выпуске разбираемся с этим вопросом, а также обратимся к статической маршрутизации и L3-коммутаторам.
В общем-то на этом данный урок можно закончить. В видео вы сможете ещё раз увидеть, как настраиваются вланы. В качестве домашнего задания настройте вланы на коммутаторах для серверов.

Здесь вы можете скачать конфигурацию всех устройств:
Lift-me-Up_Configuration.zip
И наш проект РТ:
Lift-me-UP_v2-VLANs.pkt

P.S.
Важное дополнение: в предыдущей части, говоря о native vlan мы вас немного дезинформировали. На оборудовании cisco такая схема работы невозможна.
Напомним, что нами предлагалось передавать на коммутатор msk-rubl-asw1 нетегированными кадры 101-го влана и принимать их там в первый.
Дело в том, что, как мы уже упомянули выше, с точки зрения cisco с обеих сторон на коммутаторах должен быть настроен одинаковый номер влана, иначе начинаются проблемы с протоколом STP и в логах можно увидеть предупреждения о неверной настройке. Поэтому 101-й влан мы передаём на устройство обычным образом, кадры будут тегированными и соответственно, 101-й влан тоже необходимо создавать на msk-rubl-asw1.

Ещё раз хотим заметить, что при всём желании мы не сможем охватить все нюансы и тонкости, поэтому и не ставим перед собой такой задачи. Такие вещи, как принцип построения MAC-адреса, значения поля Ether Type или для чего нужен CRC в конце кадра, вам предстоит изучить самостоятельно. Добавить метки

VLAN (Virtual Local Area Network) - виртуальная локальная вычислительная сеть , является частью большего LAN . Простейший механизм изоляции различных подсетей на Ethernet , WI-FI интерфейсах. Для того, чтобы организовывать VLAN, сетевой коммутатор (Switch (коммутатор)) должен поддерживать технологию VLAN и протокол 802.1q.

Преимущества VLAN:

    увеличивает число широковещательных доменов, но уменьшает размер каждого широковещательного домена, которые в свою очередь уменьшают сетевой трафик и увеличивают безопасность сети (оба следствия связаны вместе из-за единого большого широковещательного домена);

    уменьшает усилия администраторов на создание подсетей;

    уменьшает количество оборудования, так как сети могут быть разделены логически, а не физически;

    улучшает управление различными типами трафика.

Термины:

    Термин untagged : только одна VLAN может получать все пакеты, не отнесённые ни к одной VLAN (в терминологии 3Com, Planet, Zyxel - untagged , в терминологии Cisco - native VLAN ). Свитч будет добавлять метки данной VLAN ко всем принятым кадрам не имеющих никаких меток.

    Транк VLAN - это физический канал, по которому передается несколько VLAN каналов, которые различаются тегами (метками, добавляемыми в пакеты). Транки обычно создаются между «тегированными портами» VLAN-устройств: свитч-свитч или свитч-маршрутизатор. (В документах Cisco термином «транк» также называют объединение нескольких физических каналов в один логический: Link Aggregation, Port Trunking). Маршрутизатор (свитч третьего уровня) выступает в роли магистрального ядра сети (backbone) для сетевого трафика разных VLAN.

    Сказать проще, vlan – это логический канал внутри физического канала (кабеля), а trunk это множество логических каналов (vlan`ов) внутри одного физического канала (кабеля) .

Сети VLAN могут быть определены по:

    Порту (наиболее частое использование). VLAN, базирующиеся на номере порта позволяют определить конкретный порт в VLAN. Порты могут быть определены индивидуально, по группам, по целым рядам и даже в разных коммутаторах через транковый протокол. Это наиболее простой и часто используемый метод определения VLAN. Это наиболее частое применение внедрения VLAN, построенной на портах, когда рабочие станции используют протокол Динамической Настройки TCP/IP (DHCP).

    MAC-адрес - адресу (очень редко). VLAN, базирующиеся на MAC адресах позволяет пользователям находиться в той же VLAN, даже если пользователь перемещается с одного места на другое. Этот метод требует, чтобы администратор определил MAC адрес каждой рабочей станции и затем внес эту информацию в коммутатор. Этот метод может вызвать большие трудности при поиске неисправностей, если пользователь изменил MAC адрес. Любые изменения в конфигурации должны быть согласованы с сетевым администратором, что может вызывать административные задержки.

    Идентификатору пользователя User ID (очень редко)

VLAN Linux и D-Link DGS-1100-08P

Настройка DGS-1100-08P . Подключимся к нему в первый порт. Присвоим ему IP 10.90.91.2. Создадим 3 VLAN: vlan1 (порт 1 (tagged)) для служебного использования, то есть только для настройки коммутатора, vlan22(порт 1 (tagged); порты 2,3,4 (untagged)), vlan35(порт 1 (tagged); порты 5,6 (untagged)). Порты 7,8 не используются и выключены через меню Port Settings(Speed: Disabled). Укажем, что в дальнейшем управлять D-Link DGS-1100-08P (IP 10.90.91.2) можно управлять только через vlan1, то есть в нашем случае системный администратор должен подключиться в первый порт DGS-1100-08P(При подключении в иной порт - коммутатор не разрешит доступ к 10.90.91.2).

    Создать VLAN с именем vlan22 привязанный к порту сетевой карты eth4. Присвоим ему IP:192.168.122.254. ip link add link eth4 name vlan22 type vlan id 22 ip addr add 192.168.122.254/ 24 dev vlan22 ifconfig vlan22 up

    Служебный vlan только для настройки коммутатора:

    Ip link add link eth4 name vlan44 type vlan id 1 ip addr add 10.90.91.254/ 24 dev vlan44 ifconfig vlan44 up ip link add link eth4 name vlan35 type vlan id 35 ip addr add 192.168.35.254/ 24 dev vlan34 ifconfig vlan35 up

    Параметры созданных vlan смотрим в файлах ls -l / proc/ net/ vlan/ итого 0 -rw------- 1 root root 0 Авг 17 15:06 config -rw------- 1 root root 0 Авг 17 15:06 vlan1 -rw------- 1 root root 0 Авг 17 15:06 vlan22

Технология VLAN позволяет разделять сеть на логические сегменты. Каждый такой логический сегмент имеет свой широковещательный домен. Уникастовый, бродкастовый и мультикастовый трафик передается только между устройствами входящими в один VLAN. VLAN часто используется для разделения IP сегментов сети, с последующей маршрутизацией и фильтрацией трафика между разными VLAN на маршрутизаторе или на L3 коммутаторе.

Как настраивать VLAN на Cisco роутере можно посмотреть в статье Cisco VLAN - настройка vlan на маршрутизаторе Cisco . Здесь речь пойдёт о настройке VLAN на коммутаторах Cisco Catalyst.

Перед настройкой VLAN на коммутаторе, необходимо определиться будет ли в сети использоваться протокол VTP (VLAN Trunking Protocol) или нет. Использование VTP облегчает управление (создание, удаление, переименовывание) VLAN-ами в сети. В случае с VTP изменение (информацию о VLAN) можно внести централизованно, на одном коммутаторе, и эти изменения распространятся на другие коммутаторы в сети. Если не использовать VTP, то изменения нужно вносить на каждом коммутаторе.

VTP накладывает свои ограничения: протокол VTP версии 1 и 2 поддерживает только базовый диапазон VLAN (c 1 по 1005), поддержка расширенного диапазона (с 1006 по 4094) возможна только в версии протокола 3. Поддержка протокола VTP 3 версии начинается с Cisco IOS версии 12.2(52)SE и выше. Настройку протокола VTP рассмотрим в другой статье, а в этой будем подразумевать, что не используем VTP.

Настройку VLAN на коммутаторе можно выделить в три этапа: создание VLAN, настройка портов, проверка.

1. Создание VLAN на Cisco Catalyst

Номера VLAN (VLAN ID) могут быть в диапазоне от 1 до 4094:

1 - 1005 базовый диапазон (normal-range)

1002 - 1005 зарезервированы для Token Ring и FDDI VLAN

1006 - 4094 расширенный диапазон (extended-range)

При создании или изменении VLAN можно задать следующие параметры:

VLAN ID Номер VLAN
VLAN name (name ) Имя VLAN
VLAN type (media ) Тип VLAN (Ethernet, Fiber Distributed Data Interface , FDDI network entity title , TrBRF, или TrCRF, Token Ring, Token Ring-Net)
VLAN state (state ) Состояние VLAN (active или suspended)
VLAN MTU (mtu ) Максимальный размер блока данных, который может быть передан на канальном уровне
SAID (said ) Security Association Identifier - идентификатор ассоциации безопасности (стандарт IEEE 802.10)
Remote SPAN (remote-span ) Создание VLAN для удаленного мониторинга трафика (В дальнейшем в такой VLAN можно зеркалировать трафик с какого-нибудь порта, и передать его через транк на другой коммутатор, в котором из этого VLAN трафик отправить на нужный порт с подключенным снифером)
Bridge identification number для TrBRF VLAN (bridge ) Идентификатор номера моста для функции TrBRF (Token Ring Bridge Relay Function). Цель функции - создание моста из колец.
Ring number для FDDI и TrCRF VLAN (ring ) Номер кольца для типов VLAN FDDI и TrCRF (Token Ring concentrator relay functions). TrCRF называют кольца, которые включены в мост.
Parent VLAN number для TrCRF VLAN (parent ) Номер родительского VLAN для типа VLAN FDDI или Token Ring
Spanning Tree Protocol (STP) type для TrCRF VLAN (stp type ) Тип протокола связующего дерева (STP) для VLAN типа TrCRF
Translational VLAN number 1 (tb-vlan1 ) Номер VLAN для первичного преобразования одного типа VLAN в другой
Translational VLAN number 2 (tb-vlan2 ) Номер VLAN для вторичного преобразования одного типа VLAN в другой

На практике чаще всего, при создании VLAN задаётся только VLAN ID и VLAN name

Значения по умолчанию:

Для создания VLAN нужно:

1. Войти в привилегированный режим и ввести необходимый пароль (команда «enable «)

Sw1> sw1>enable Password: sw1#

2. Переключиться в режим глобального конфигурирования (команда «configure terminal «)

Sw1# sw1#configure terminal Enter configuration commands, one per line. End with CNTL/Z. sw1(config)#

3. Создать VLAN командой «vlan id «, где id - номер VLAN (После создания, консоль окажется в режиме конфигурирования VLAN, где можно задать перечисленные выше параметры для VLAN)

Sw1(config)# sw1(config)#vlan 200 sw1(config-vlan)#

4. Задать необходимые параметры, для созданного VLAN (например имя)

Sw1(config-vlan)# sw1(config-vlan)#name TESTVLAN sw1(config-vlan)#

Если, в режиме конфигурирования VLAN, ввести знак вопроса, то отобразятся параметры, которые можно задать для данного VLAN:

Sw1(config-vlan)#? VLAN configuration commands: are Maximum number of All Route Explorer hops for this VLAN (or zero if none specified) backupcrf Backup CRF mode of the VLAN bridge Bridging characteristics of the VLAN exit Apply changes, bump revision number, and exit mode media Media type of the VLAN mtu VLAN Maximum Transmission Unit name Ascii name of the VLAN no Negate a command or set its defaults parent ID number of the Parent VLAN of FDDI or Token Ring type VLANs private-vlan Configure a private VLAN remote-span Configure as Remote SPAN VLAN ring Ring number of FDDI or Token Ring type VLANs said IEEE 802.10 SAID shutdown Shutdown VLAN switching state Operational state of the VLAN ste Maximum number of Spanning Tree Explorer hops for this VLAN (or zero if none specified) stp Spanning tree characteristics of the VLAN tb-vlan1 ID number of the first translational VLAN for this VLAN (or zero if none) tb-vlan2 ID number of the second translational VLAN for this VLAN (or zero if none)

5. Выйти из режима конфигурирования vlan (команда «exit «, либо «end » - выход из режима глобального конфигурирования)

Sw1(config-vlan)# sw1(config-vlan)#end sw1#

Не забываем сохранять конфигурацию командой «copy running-config startup-config » в привилегированном режиме

Sw1# sw1#copy running-config startup-config Destination filename ? Building configuration...

Удалить VLAN можно командой «no vlan id » в режиме глобального конфигурирования:

Sw1(config)# sw1(config)#no vlan 200 sw1(config)#

2. Настройка портов на Cisco Catalyst

Порт на коммутаторе Cisco может находиться в одном из режимов:

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

trunk - порт предназначен для подключения к другому коммутатору или маршрутизатору. Порт передаёт тегированный трафик. Может передавать трафик как одного, так и нескольких VLAN через один физический кабель.

На Cisco Catalyst можно самому задать режим порта (trunk или access), либо задать автоопределение. При автоопределении режима, порт будет согласовываться с соседом (подключенным к этому порту коммутатором или иным устройством). Согласование режима порта происходит путём передачи DTP (Dynamic Trunking Protocol) фреймов. Для успешной работы протокола DTP, необходимо, что бы интерфейсы были в одном VTP домене (либо один из VTP доменов был null, неточно)

Автоопределение режима порта задаётся командой «switchport mode dynamic auto » или «» в режиме конфигурации интерфейса.

switchport mode dynamic auto trunk» или «dynamic desirable «

Если на интерфейсе установлено «switchport mode dynamic desirable » - то порт переходит в режим trunk, только, если порт соседнего коммутатора установлен в режим «trunk » или «dynamic desirable » или «dynamic auto «

Не все устройства поддерживают DTP, либо могут некорректно передавать DTP фреймы, в таком случае лучше задать режим (access или trunk) принудительно командами «switchport mode access » или «switchport mode trunk » в режиме конфигурации интерфейса, и отключить передачу DTP фреймов командой «switchport nonegotiate «.

Конфигурация порта по умолчанию:

Настройка порта в режим автоопределения.

Действия:

enable «)

configure terminal «)

interface interface-id «, где interface-id - имя и номер интерфейса, например «interface GigabitEthernet0/21″)

— задать динамический режим порта/интерфейса (команда: «switchport mode dynamic auto » или «switchport mode dynamic desirable «)

— (не обязательно) задать VLAN, который будет на интерфейсе, если порт перейдёт из режима trunk в режим access, по умолчанию VLAN 1 (команда: «switchport access vlan vlan-id «, где vlan-id - номер VLAN)

— (не обязательно) задать Native VLAN, для IEEE 802.1q транка, по умолчанию Native VLAN 1 (команда: «switchport trunk native vlan vlan-id «, где vlan-id - номер Native VLAN)

— добавить/удалить VLAN в транке, по умолчанию все номера VLAN разрешены (команды: «switchport trunk allowed vlan add vlan-list » - добавить в транк VLAN-ы перечисленные в vlan-list, «switchport trunk allowed vlan remove vlan-list » - удалить из транка VLAN-ы, перечисленные в vlan-list, в vlan-list вланы перечисляются через запятую без пробелов, а диапазоны через дефис, например 2,20,30-40,50 ). Можно сразу задать список необходимых VLAN (командой: «switchport trunk allowed vlan vlan-list «)

no shutdown «)

exit » или «end »)

Sw1#configure terminal Enter configuration commands, one per line. End with CNTL/Z. sw1(config)#interface gigabitEthernet 0/23 sw1(config-if)#switchport mode dynamic desirable sw1(config-if)#switchport access vlan 50 sw1(config-if)#switchport trunk native vlan 100 sw1(config-if)#switchport trunk allowed vlan 2,30-35,40 sw1(config-if)#no shutdown sw1(config-if)#end sw1#

В данном примере порт 23 переведётся в режим trunk, если порт на соседнем коммутаторе установлен в режиме dynamic auto или dynamic disirable или trunk . В транке будут передаваться только VLAN 2, VLAN с 30 по 35 и VLAN 40. При работе порта в режиме trunk, приходящий на него не тегированный (native) трафик будет помещаться (маркироваться) в VLAN 100. Если порт на соседнем коммутаторе работает в режиме access, то интерфейс будет помещён в VLAN 50.

Настройка access порта.

VLAN на access порту может задаваться статически либо автоматически. Автоматическое назначение VLAN основывается на МАК адресе источника, используя протокол VQP (VLAN Query Protocol) и сервер VMPS (VLAN Management Policy Server). Сервером VMPS могут выступать коммутаторы только старших моделей, такие серии как Catalyst 4000, 5000 и 6500. Автоматическую настройку access порта через VQP в данной статье рассматривать не будем. Здесь будет показано только статическое задание VLAN на access порту.

Для включения access порта в необходимый VLAN, нужно сделать:

— войти в привилегированный режим (команда: «enable «)

— войти в режим глобального конфигурирования (команда: «configure terminal «)

— войти в режим конфигурирования сетевого интерфейса (команда: «interface interface-id «, где interface-id - имя и номер интерфейса)

— задать режим порта/интерфейса «access» (команда: «switchport mode access «)

— задать VLAN на порту/интерфейсе (команда: «switchport access vlan vlan-id «, где vlan-id - номер VLAN)

— включить порт/интерфейс (команда: «no shutdown «)

— выйти из режима конфигурирования интерфейса (команда: «exit » или «end »)

Пусть к 22-му порту коммутатора подключен сервер, который необходимо поместить в 200-й VLAN

Настройка порта:

Sw1> sw1>enable Password: sw1# sw1#configure terminal Enter configuration commands, one per line. End with CNTL/Z. sw1(config)#interface GigabitEthernet0/22 sw1(config-if)#switchport mode access sw1(config-if)#switchport access vlan 200 sw1(config-if)#no shutdown sw1(config-if)#exit sw1(config)#exit sw1#

Настройка trunk порта.

Настройка порта в режиме trunk идентична настройки порта в режиме автоопределения, за исключением того, что режим нужно указать не dynamic а trunk.

Sw6# sw6#configure terminal Enter configuration commands, one per line. End with CNTL/Z. sw6(config)#interface gigabitEthernet 0/23 sw6(config-if)#switchport mode trunk sw6(config-if)#switchport trunk allowed vlan 2,30-35,40 sw6(config-if)#no shutdown sw6(config-if)#end sw6#

В примере задаётся транк на 23-м порту, в транке разрешены только VLAN 2, VLAN с 30 по 35 и VLAN 40

Добавление VLAN в транковый порт выполняет команда: «switchport trunk allowed vlan add VLAN_NUM «

Пример добавления вланов 100 и 200 к существующим, в транковом порту 23:

Sw6# sw6#configure terminal Enter configuration commands, one per line. End with CNTL/Z. sw6(config)#interface Gi0/23 sw6(config-if)#switchport trunk allowed vlan add 100,200 sw6(config-if)# sw6(config-if)#end sw6#

УдалениеVLAN из транкового порта выполняет команда: «switchport trunk allowed vlan remove VLAN_NUM «

Пример удаления вланов 100 и 200 из существующих, в транковом порту 23:

Sw6# sw6#configure terminal Enter configuration commands, one per line. End with CNTL/Z. sw6(config)#interface Gi0/23 sw6(config-if)#switchport trunk allowed vlan remove 100,200 sw6(config-if)# sw6(config-if)#end sw6#

Некоторые cisco коммутаторы поддерживают два протокола для работы с VLAN это IEEE 802.1q и ISL. Протокол ISL уже устарел и на многих современных коммутаторах не поддерживается. Поэтому предпочтительнее использовать протокол IEEE 802.1q

На таких коммутаторах, перед настройкой порта в режиме транка, нужно выбрать тип инкапсуляции dot1q (комана: «switchport trunk encapsulation dot1q » в режиме конфигурации интерфейса)

3. Проверка настройки VLAN

Посмотреть информацию о VTP протоколе: «show vtp status «

Показать информацию обо всех VLAN на коммутаторе: «show vlan «

Посмотреть информацию об конкретном VLAN, и узнать на каких он портах: «show vlan id vlan-id «

Посмотреть режим работы порта, native vlan, access vlan и прочее: «show interfaces interface-id switchport «

Иногда, необходимо на коммутаторе создать интерфейс 3-го уровня для VLAN. Например, для маршрутизации и фильтрации IP трафика между разными VLAN (должна быть поддержка L3 уровня как самой моделью коммутатора так и версией IOS). Либо просто создать интерфейс для управления этим коммутатором в специальном VLAN.

Сетевой интерфейс для VLAN создаётся в режиме глобального конфигурирования командой: «interface vlan-id «, где vlan-id - это номер VLAN.

Пример создания L3 интерфейса для VLAN 200.

VLAN (от англ. Virtual Local Area Network) – логическая («виртуальная») локальная компьютерная сеть, имеющая те же свойства, что и физическая локальная сеть.

Проще говоря, VLAN – это логический канал внутри физического.

Данная технология позволяет выполнять две противоположные задачи :

1) группировать устройства на канальном уровне (т.е. устройства, находящиеся в одном VLAN’е), хотя физически при этом они могут быть подключены к разным сетевым коммутаторам (расположенным, к примеру, географически отдаленно);

2) разграничивать устройства (находящиеся в разных VLAN’ах), подключенные к одному коммутатору.

Иначе говоря, VLAN ‘ы позволяют создавать отдельные широковещательные домены. Сеть любого крупного предприятия, а уж тем более провайдера, не может функционировать без применения VLAN’ов.

Применение данной технологии дает нам следующие преимущества:

  • группировка устройств (к примеру, серверов) по функционалу;
  • уменьшение количества широковещательного трафика в сети, т.к. каждый VLAN - это отдельный широковещательный домен;
  • увеличение безопасности и управляемости сети (как следствие первых двух преимуществ).

Приведу простой пример : допустим, есть хосты, включенные в коммутатор, который, в свою очередь, подсоединен к маршрутизатору (рис. 1). Предположим, у нас есть две локальные сети, соединенные одним коммутатором и выходящие в интернет через один роутер. Если не разграничить сети по VLAN’ам, то, во-первых, сетевой шторм в одной сети будет оказывать влияние на вторую сеть, во-вторых, с каждой сети можно будет «вылавливать» трафик другой сети. Теперь же, разбив сеть на VLAN’ы, мы фактически получили две отдельные сети, связанные между собой роутером, то есть L3 (сетевым уровнем). Весь трафик проходит из одной сети в другую через роутер, а доступ теперь работает только на уровне L3, что значительно облегчает работу администратора.

Тегирование

Тегирование – процесс добавления метки VLAN’a (он же тег) к фреймам трафика.

Как правило, конечные хосты не тегируют трафик (например, компьютеры пользователей). Этим занимаются коммутаторы, стоящие в сети. Более того, конечные хосты и не подозревают о том, что они находятся в таком-то VLAN’е. Строго говоря, трафик в разных VLAN’ах чем-то особенным не отличается.

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

Наибольшее распространение получила технология, описанная в спецификации IEEE 802.1Q. Также существую и другие проприетарные протоколы (спецификации).

802.1q

802.1q – это открытый стандарт, описывающий процедуру тегирования трафика.

Для этого в тело фрейма помещается тег (рис.2), содержащий информацию о принадлежности к VLAN’у. Т.к. тег помещается в тело, а не в заголовок фрейма, то устройства, не поддерживающие VLAN’ы, пропускают трафик прозрачно, то есть без учета его привязки к VLAN’у.

Размер метки (тега) всего 4 байта. Состоит из 4-х полей (рис.3):

  • Tag Protocol Identifier (TPID, идентификатор протокола тегирования). Размер поля - 16 бит. Указывает на то, какой протокол используется для тегирования. Для 802.1Q используется значение 0x8100.
  • Priority (приоритет). Размер поля - 3 бита. Используется стандартом IEEE 802.1p для задания приоритета передаваемого трафика.
  • Canonical Format Indicator (CFI, индикатор канонического формата). Размер поля - 1 бит. Указывает на формат MAC-адреса. 0 - канонический, 1 - не канонический. CFI используется для совместимости между сетями Ethernet и Token Ring.
  • VLAN Identifier (VID, идентификатор VLAN). Размер поля - 12 бит. Указывает на то, какому VLAN принадлежит фрейм. Диапазон возможных значений - от 0 до 4095.

Если трафик теггируется, или наоборот — метка убирается, то контрольная сумма фрейма пересчитывается(CRC).

Native VLAN(нативный VLAN)

Стандарт 802.1q также предусматривает обозначение VLAN’ом трафика, идущего без тега, т.е. не тегированного. Этот VLAN называется нативный VLAN, по умолчанию это VLAN 1. Это позволяет считать тегированным трафик, который в реальности тегированным не является.

802.1ad

802.1ad -это открытый стандарт (аналогично 802.1q), описывающий двойной тег (рис.4). Также известен как Q-in-Q , или Stacked VLANs . Основное отличие от предыдущего стандарта - это наличие двух VLAN’ов - внешнего и внутреннего, что позволяет разбивать сеть не на 4095 VLAN’ов, а на 4095х4095.

Так же наличие двух меток позволяет организовывать более гибкие и сложные сети оператора. Так же, бывают случаи, когда оператору нужно организовать L2 соединение для двух разных клиентов в двух разных городах, но трафик клиенты посылают трафик с одним и тем же тегом(рис.5).

Клиент-1 и клиент-2 имеют филиалы в городе А и Б, где имеется сеть одного провайдера. Обоим клиентам необходимо связать свои филиалы в двух разных городах. Кроме того, для своих нужд каждый клиент тегирует трафик 1051 VLAN’ом. Соответственно, если провайдер будет пропускать трафик обоих клиентов через себя в одном единственном VLAN’е, авария у одного клиента может отразиться на втором клиенте. Более того, трафик одного клиента сможет перехватить другой клиент. Для того, чтобы изолировать трафик клиентов, оператору проще всего использовать Q-in-Q. Добавив дополнительный тег к каждому отдельному клиенту (например, 3083 к клиенту-1 и 3082 к клиенту-2), оператор изолирует клиентов друг от друга, и клиентам не придется менять тег.

Состояние портов

Порты коммутатора, в зависимости от выполняемой операции с VLAN’ами, делятся на два вида:

  • тегированный (он же транковый порт , trunk , в терминалогии cisco) - порт, который пропускает трафик только с определенным тегом;
  • нетегированный (он же аксесный , access , в терминалогии cisco) - входя в данный порт, нетегированный трафик «обертывается» в тег.

По назначению порта в определённый VLAN существует два подхода:

  • Статическое назначение - когда принадлежность порта VLAN’у задаётся администратором;
  • Динамическое назначение - когда принадлежность порта VLAN’у определяется в ходе работы коммутатора с помощью процедур, описанных в специальных стандартах, таких, например, как 802.1X.

Таблица коммутации

Таблица коммутации при использовании VLAN’ов выглядит следующим образом (ниже приведена таблица коммутации коммутатора, не поддерживающего работу во VLAN’ах):

Порт MAC-адрес
1 A
2 B
3 C

Если же коммутатор поддерживает VLAN’ы, то таблица коммутации будет выглядеть следующим образом:

Порт VLAN MAC-адрес
1 345 A
2 879 B
3 default C

где default — native vlan.

Протоколы, работаю с VLAN

GVRP (его аналог у cisco — VTP) — протокол, работающий на канальном уровне, работа которого сводиться к обмену информации об имеющихся VLAN’ах.

MSTP (PVSTP, PVSTP++ у cisco) — протокол, модификация протокола STP, позволяющее строить «дерево» с учетом различных VLAN’ов.

LLDP (CDP, у cisco) — протокол, служащий для обмена описательной информацией о сети, в целом, кроме информации о VLAN’ах также распространяет информацию и о других настройках.

Организация виртуальных локальных сетей VLAN абстрагирует идею физической сети (LAN), предоставляя возможность подключения виртуальной частной сети к линии передачи данных для каждой подсети в отдельности. Один или несколько сетевых vlan коммутаторов могут поддерживать несколько независимых виртуальных сетей. Тем самым давая возможность создавать различные реализации подсетей уровня передачи данных. Часто сегментирование сетей связано с необходимостью ограничения широковещательного домена. Обычно домен обслуживает один или нескольких коммутаторов Ethernet для средних и крупных сетей.

Сети VLAN упрощают сетевым администраторам задачу разбивки единой коммутируемой сети на логические сегменты в соответствии с функционалом и требованиями безопасности работы корпоративных систем. При этом нет необходимости в прокладке и перекоммутации новых кабелей или существенных изменениях в текущей сетевой инфраструктуре. Весь процесс организации новой схемы работы происходит на логическом уровне - на уровне настройки сетевого оборудования. Порты (интерфейсы) на коммутаторах могут быть назначены одной или нескольким виртуальным сетям. Что позволяет разделить систему на логические группы. На основе того, каким подразделениям принадлежит тот или иной сервис или ресурс, устанавливаются правила, согласно которым системам в отдельных группах разрешено связываться друг с другом. Конфигурация групп может варьироваться от простой идеи - компьютеры в одной виртуальной сети могут видеть принтер в этом сегменте, но компьютеры за пределами сегмента не могут, - до относительно сложных моделей. Например, компьютеры в отделах розничного банковского обслуживания не могут взаимодействовать с компьютерами в торговых отделах.

Каждый логический сегмент виртуальной сети обеспечивает доступ к линии передачи данных всем хостам, подключенным к портам коммутатора, настроенным с тем же идентификатором сети. Тег VLAN – это 12-разрядное поле в заголовке Ethernet кадра, которое обеспечивает поддержку до 4096 VLAN для каждого домена коммутации. Маркировка VLAN стандартизована в IEEE (Институт инженеров по электротехнике и электронике) 802.1Q и часто называется Dot1Q.

Маршрутизатор служит для объединения физических локальных сетей

До момента появления виртуальных частных сетей мы должны были сегментировать локальную сеть LAN на основе физических коммутаторов.

Чем больше сегментов вам необходимо организовать, тем больше коммутаторов вам необходимо закупить. Маршрутизатор используется для пересылки трафика между локальными сетями.

Ситуация становится более сложной, если у вас есть 2 отдельных офиса. И если сеть настроена согласно схеме выше, то вам потребуется не один, а два отдельных кабеля между офисами. В зависимости от удаленности локаций прокладка данных трасс может вылиться в серьезные затраты. А теперь представьте, что у вас 3 и более офисов, а отделов в компании, например, 5. Получается, что необходимо прокладывать 15 кабельных трасс - бизнес на такое не пойдет.

Нам необходимо решение, которое помогло бы устранить проблему выше. Мы больше не можем полагаться на физическую сегментацию, поскольку она не является гибкой, более дорогой и делает вашу жизнь сложнее.Решение называется Virtual LAN – VLAN.

Благодаря использованию виртуальных частных сетей VLAN у нас появляется больше возможностей для сегментации сети на основе портов или даже на основе MAC-адреса или протоколов.

Что же такое виртуальные частные сети VLAN и как они работают?

Концепции работы VLAN сетей уходит своими корнями к началу эпохи телекоммуникаций. Когда на коммутаторе настроены сегменту (VLAN10 и VLAN20), мы вставляем VLAN тег непосредственно перед отправкой кадра на магистральную линию (VLAN trunk). Этот тег указывает, к какому сегменту виртуальной сети принадлежит каждый frame. Поэтому, когда кадр прибывает на целевой Ethernet коммутатор, то он знает, в какой vlan он должен переслать сообщение.

Как работает Транк (trunk) соединение?

  • В исходящих кадрах на 2 уровне сетевой модели OSI при пересылке через trunk порт происходит модификация заголовка
  • Коммутатор добавляет VLAN тег 802.1Q между полями Source MAC и EtherType

Обратите внимание, что все эти процессы происходят на 2 уровне модели OSI (уровень передачи данных). Сетевой уровень в данном случае не задействован.

Как происходит обмен трафиком между различными VLAN?

Вопрос аналогичен тому: как передается трафик внутри локальной сети Ethernet? Разделенные сегменты локальной сети 2 уровня (LAN) не могут передавать друг другу данные, если они не связаны с маршрутизатором. Маршрутизатор отвечает за перенаправление кадров в другие сегменты. Поскольку router является устройством 3 уровня, как следствие, все устройства должны использовать заголовок 3 уровня, например IP-адрес.

Все зависит от возможностей маршрутизатора. Если маршрутизатор не поддерживает VLAN, тогда нам нужны порты доступа, которые подключаются к его интерфейсам.

Маршрутизатор не поддерживает режим trunk и VLAN-тегирование

  • 1 VLAN = 1 сегмент сети = 1 широковещательный домен
  • Нам необходим маршрутизатор для пересылки пакетов между VLAN сегментами
  • IP адрес маршрутизатора становится шлюзом по-умолчанию