Как работают виртуальные частные сети VLAN. Native VLAN(нативный VLAN)

Статья раскрывает особенности настройки технологии VLAN на примере конкретного оборудования.

Доброго времени суток, уважаемый посетитель. Сегодня я, как обычно, по нашей доброй традиции, буду рассказывать кое-что интересное. А рассказ сегодня пойдет про замечательную штуку в локальных сетях под названием VLAN. В природе не мало разновидностей данной технологии, про все рассказывать не будем, а только про те, которые решили бы стоящую перед нашей компанией задачу. Данная технология уже не раз применялась нашими специлистами в нашей практике ИТ аутсорсинга в регионе , Но в этот раз, всё было несколько интереснее, т.к. оборудование с которым пришлось работать - несколько "урезанное" (прошлая похожая задача релизовывалась на коммутаторе D-link DES-1210-28). Но, обо всем по порядку.

Что же такое VLAN ?

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

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

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

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

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

Port - Base VLAN

Port-Base VLAN – представляет собой группу портов или порт в коммутаторе, входящий в один VLAN. Порты в таком VLAN называются не помеченными (не тегированными), это связанно с тем, что кадры приходящие и уходящие с порта не имеют метки или идентификатора. Данную технологию можно описать кратко – VLAN ’ы только в коммутаторе. Эту технологию мы будем рассматривать на управляемом коммутаторе D-link DGS-1100-24.

IEEE 802.1Q

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

Немного наркомании, а именно - процедура помещения тега в кадр называется – инъекция.

Размер тега - 4 байта. Он состоит из таких полей:

  • 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.

Порты в 802.1Q

Порты могут быть в одном из следующих режимов:

  • Tagged port (в терминологии CISCO - trunk-port) - порт пропускает пакеты маркированные указанными номерами VLAN, но при этом сам никак не маркирует пакеты
  • Untagged port (в терминологии CISCO - access-port) - порт прозрачно пропускает немаркированный трафик для указанных VLAN, если трафик уходит в другие порты коммутатора за пределы указанного VLAN, то там он уже виден как маркированный номером этой VLAN.
  • Порт не принадлежит никаким VLAN и не учувствует в работе коммутатора

Пример. Имеется офисное помещение, в котором отдел кадров разделен на два этажа, нужно, чтобы сотрудники были отделены от общей сети. Имеется два коммутатора. Создадим VLAN 3 на одном и втором, порты, которые будут в одном из VLAN укажем как Untagget Port. Для того, чтобы коммутаторы понимали в какой VLAN адресуется кадр, нужен порт, через который будет пересылаться трафик в этот же VLAN другого коммутатора. Выделим, к примеру, один порт и укажем его как Tagget. Если у нас, помимо VLAN 3, есть еще и другие, и ПК-1 расположенный в VLAN 3 будет искать ПК-2, то широковещательный трафик не будет «ходить» по всей сети, а только в VLAN 3. Прибежавший кадр будет пропускаться через MAC-таблицу, если же адрес получателя не будет найдет, такой кадр будет отправлен через все порты такого VLAN откуда он прибежал и порт Tagget с меткой VLAN, чтобы другой коммутатор воспроизвел широковещание на ту группу портов, которые указаны в поле VID. Данный пример описывает VLAN – один порт может быть только в одном VLAN.

IEEE 802.1 ad

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

Сценарии могут быть различны – провайдеру надо “пробросить” транк клиента, не затрагивая схему нумерации VLAN’ов, надо балансировать нагрузку между субинтерфейсами внутри сети провайдера, либо просто – маловато номеров. Самое простое – сделать ещё одну такую же метку (tag).

Асимметричный VLAN

В терминологиях D-Link, а также в настройках VLAN, есть понятие асимметричный VLAN – это такой VLAN, в котором один порт может быть в нескольких VLAN.

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

  • Tagged порты работают прежним образом
  • Появляется возможность назначать как Untagged несколько портов на несколько VLAN. Т.е. один порт сразу работает в нескольких VLAN как Untagged
  • У каждого порта появляется еще один параметр PVID - это VLAN ID, которым маркируется трафик с этого порта, если он уходит на Tagged порты и за пределы коммутатора. У каждого порта может быть только один PVID

Таким образом, мы получаем то, что внутри устройства один порт может принадлежать сразу нескольким VLAN, но при этом, уходящий в tagged (TRUNK) порт, трафик будет маркироваться номером, который мы задаем в PVID.

Ограничение: Функция IGMP Snooping не работает при использовании асимметричных VLAN.

Создание VLAN на D- link DGS-1100-24.

Что имеется. Два коммутатора, один из них D-link DGS-1100-24, к нему подключен коммутатор №2. В коммутатор №2 подключены машины пользователей – абсолютно всех, а также сервера, шлюз по умолчанию и сетевое хранилище.

Задача. Ограничить отдел кадров от общей среды, так, чтобы при этом были доступны сервера, шлюз и сетевое хранилище.

Ко всему прочему, коммутатор D-link DGS-1100-24 только что вынули из коробки. По умолчанию большинство управляемых коммутаторов компании D-Link имеют адрес 10.90.90.90/8. Нас не интересует физическое нахождение у коммутатора или смена адреса. Существует специальная утилита D-Link SmartConsole Utility, которая помогает найти наше устройство по сети. После установки запускаем утилиту.

Прежде чем переходить к настройке, переключим порты должным образом:

1) Переключим порт отдела кадров с коммутатора №2 в коммутатор №1

2) Переключим сервера, шлюз и сетевое хранилище с коммутатора №2 в коммутатор №1

3) Подключим коммутатор №2 в коммутатор №1

После такого переключения видим следующую картину: сервера, шлюз, сетевое хранилище и отдел кадров подключены в коммутатор №1, а все остальные пользователи в коммутатор №2.

Жмем кнопку «Discovery»

Ставим галочку и жмем значок шестеренки, открывается окно настройки коммутатора. После задания адреса, маски и шлюза, пишем пароль, который по умолчанию admin.

Жмем «Add VLAN» и указываем имя VLAN и порты

Жмем «Apply»

После создания нужных VLAN, сохраним настройку, для этого нажмем «Save», «Save configuration»

Итак, мы видим, что VLAN 3 не имеет доступа к портам 01-08, 15-24 – следовательно, не имеет доступ к серверам, шлюзу, сетевому хранилищу, к VLAN2 и остальным клиентам – которые подключены к коммутатору №2. Тем не менее VLAN 2 имеет доступ к серверам, шлюзу, сетевому хранилищу, но не имеет к остальным машинам. И наконец, все остальные машины видят сервера, шлюз, сетевое хранилище, но не видят порты 05,06.]

Таким образом, при наличии определенных знананий об особенностях оборудования и навыков ИТ-аутсорсинга , можно удовлетворить потребности клиента даже на таком бюджетном оборудовании как коммутатор D-Link DGS1100-24 .

Все, люди, Мир Вам!

VLAN (Virtual Local Area Network, виртуальная локальная вычислительная сеть) - это функция в роутерах и коммутаторах, позволяющая на одном физическом сетевом интерфейсе (Ethernet, Wi-Fi интерфейсе) создать несколько виртуальных локальных сетей.

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

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

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

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

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

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

Термины VLAN

    Что такое Native VLAN - это понятие в стандарте 802.1Q, которое обозначает VLAN на коммутаторе, где все кадры идут без тэга, т.е. трафик передается нетегированным. По умолчанию это VLAN 1. В некоторых моделях коммутаторов, например, cisco, это можно изменить, указав другой VLAN как native.

    Термин 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). Ниже рисунок VLAN на основе портов:

    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 через vconfig и автоматическая загрузка через /etc/network/interfaces не заработала, потому создаем запускной файлик и прописываем в атозагрузку сервера. vlan_create.sh #!/bin/sh -e 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) в рамках сетевой инфраструктуры. Трудно сказать, чем это вызвано. Возможно, недостатком информации о преимуществах, предоставляемых технологией VLAN, ее кажущейся сложностью, или нежеланием использовать “сырое” средство, не гарантирующее интероперабельность между сетевыми устройствами различных производителей (хотя технология VLAN уже год как стандартизована, и все ведущие производители активного сетевого оборудования поддерживают этот стандарт). Поэтому данная статья посвящена технологии VLAN. В ней будут рассмотрены преимущества от использования VLAN, наиболее распространенные способы организации VLAN и взаимодействия между ними, а также особенности построения VLAN при использовании коммутаторов некоторых известных производителей.

зачем это нужно

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

Использование VLAN дает три основных преимущества. Это значительно более эффективное использование пропускной способности, чем в традиционных ЛВС, повышенный уровень защиты передаваемой информации от несанкционированного доступа и упрощение сетевого администрирования.

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

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

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

способы организации VLAN

Ведущие производители коммутаторов уровня отдела и рабочей группы используют в своих устройствах, как правило, один из трех способов организации VLAN: на базе портов, МАС-адресов или протоколов третьего уровня. Каждый из этих способов соответствует одному из трех нижних уровней модели взаимодействия открытых систем OSI: физическому, канальному и сетевому соответственно. Существует четвертый способ организации VLAN - на основе правил. В настоящее время он используется редко, хотя обеспечивает большую гибкость при организации VLAN, и, возможно, будет широко использоваться в устройствах ближайшего будущего. Давайте вкратце рассмотрим каждый из перечисленных выше способов организации VLAN, их достоинства и недостатки.

VLAN на базе портов. Как следует из названия способа, VLAN организуются путем логического объединения выбранных физических портов коммутатора. Например, сетевой администратор может указать, что порты коммутатора с номерами 1, 2, 5 образуют VLAN1, а порты с номерами 3, 4, 6 образуют VLAN2 и т.д.. К одному порту коммутатора может быть подключено несколько компьютеров (например, через хаб). Все они будут принадлежать к одной VLAN - к той, к которой приписан обслуживающий их порт коммутатора. Такая жесткая привязка членства в VLAN является недостатком способа организации виртуальных сетей на базе портов.

VLAN на базе МАС-адресов. Этот способ позволяет строить VLAN, основываясь на уникальном шестнадцатеричном адресе канального уровня, который имеет каждый сетевой адаптер сервера или рабочей станции сети. Это более гибкий способ организации VLAN по сравнению с предыдущим, так как к одному порту коммутатора могут быть подключены устройства, принадлежащие к разным VLAN. Кроме того, перемещения компьютеров с одного порта коммутатора на другой отслеживаются коммутатором автоматически и позволяют сохранить принадлежность переместившегося компьютера к определенной VLAN без вмешательства сетевого администратора. Действует это довольно просто: коммутатор поддерживает таблицу соответствия МАС-адресов компьютеров виртуальным сетям. Как только компьютер переключается на другой порт коммутатора, сравнивая поле МАС-адреса отправителя в заголовке первого переданного после перемещения компьютером кадра с данными своей таблицы, коммутатор делает правильный вывод о принадлежности переместившегося компьютера к VLAN. Недостатком данного способа организации VLAN является изначальная трудоемкость конфигурирования VLAN, которая чревата ошибками. Хотя таблица МАС-адресов коммутаторами строится автоматически, сетевому администратору нужно всю ее просмотреть и определить, что данный шестнадцатеричный адрес МАС соответствует такой-то рабочей станции, после чего приписать его к соответствующей виртуальной сети. Правда, последующая реконфигурация VLAN на базе МАС-адресов потребует значительно меньше усилий, чем в случае VLAN на базе портов.

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

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

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

построение распределенных VLAN

Современные ЛВС нередко содержат более одного коммутатора. Принадлежащие к одной VLAN компьютеры могут быть подключены к разным коммутаторам. Таким образом, чтобы правильно направлять трафик, должен существовать механизм, позволяющий коммутаторам обмениваться информацией о принадлежности подключенных к ним устройств к VLAN. Раньше каждый производитель в своих устройствах реализовывал фирменные механизмы обмена такой информацией. Например, у 3Com эта технология носила название VLT (Virtual LAN Trunk), у Cisco Systems - ISL (Inter-Switch Link). Поэтому для построения распределенных VLAN необходимо было использовать устройства от одного производителя. Ситуация коренным образом улучшилась, когда был принят стандарт на построение тегированных VLAN - IEEE 802.1Q, который сайчас и господствует в мире VLAN. Помимо всего прочего, он регламентирует и механизм обмена информацией о VLAN между коммутаторами. Этот механизм позволяет дополнять передаваемые между коммутаторами кадры полями, указывающими на принадлежность к той или иной VLAN. На сегодняшний день все ведущие производители коммутаторов ЛВС поддерживают в своих устройствах стандарт 802.1Q. Следовательно, сегодня уже можно строить виртуальные сети, используя коммутаторы от разных производителей. Хотя, как вы увидите позже, даже работая в соответствии с 802.1Q, коммутаторы разных производителей предоставляют далеко не одинаковые возможности по организации VLAN.

организация взаимодействия между VLAN

Находящиеся в разных VLAN компьютеры не могут непосредственно взаимодействовать друг с другом. Для организации такого взаимодействия необходимо использовать маршрутизатор. Раньше для этого использовались обычные маршрутизаторы. Причем требовалось, чтобы маршрутизатор имел столько физических сетевых интерфейсов, сколько имеется VLAN. Помимо этого, на коммутаторах приходилось выделять по одному порту из каждой VLAN для подключения маршрутизатора. Учитывая дороговизну портов маршрутизатора, стоимость такого решения была очень высокой. Кроме того, обычный маршрутизатор вносил существенную задержку в передачу данных между VLAN. Сегодня для передачи данных между VLAN используют маршрутизирующие коммутаторы, которые имеют невысокую цену за порт и осуществляют аппаратную маршрутизацию трафика со скоростью работы канала связи. Маршрутизирующие коммутаторы также соответствуют стандарту IEEE 802.1Q, и для организации взаимодействия между распределенными VLAN им необходимо использовать всего по одному порту для подключения каждого из коммутаторов рабочих групп, осуществляющих подключение к сети устройств, соответствующих разным VLAN. Иными словами, через один порт современного маршрутизирующего коммутатора может происходить обмен информацией между устройствами из разных VLAN.

использование общих сетевых ресурсов компьютерами разных VLAN

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

Самый простой способ дать доступ к одному серверу пользователям из разных VLAN - это установить в сервер несколько сетевых адаптеров и подключить каждый из этих адаптеров к портам коммутатора, принадлежащим разным VLAN. Однако такой подход имеет ограничение по количеству VLAN (в сервер нельзя установить много сетевых адаптеров), предъявляет строгие требования к компонентам сервера (драйверы сетевых адаптеров требуют увеличения количества ОЗУ, создается большая нагрузка на ЦПУ и шину ввода-вывода сервера и т.д.) и не способствует экономии денежных средств (использование нескольких сетевых адаптеров и дополнительных портов коммутатора).

С появлением стандарта IEEE 802.1Q стало возможным через один порт коммутатора передавать информацию, относящуюся ко всем или нескольким VLAN. Как уже упоминалось выше, для этого в передаваемый по сети кадр коммутатор (или другое устройство, поддерживающее 802.1Q) добавляет поле, однозначно определяющее принадлежность кадра к определенной VLAN. К такому порту как раз можно подключить всего одной линией связи общий для всех VLAN сервер. Единственное условие при этом - сетевой адаптер сервера должен поддерживать стандарт 802.1Q, чтобы сервер мог знать, из какой VLAN пришел запрос и, соответственно, куда направить ответ. Так реализуется разделение сервера между VLAN в управляемых коммутаторах уровня отдела и рабочей группы у 3Com, Hewlett-Packard и Cisco Systems.

заключение

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

Олег Подуков, начальник технического отдела Компании «КОМПЛИТ»

Технология 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’ах также распространяет информацию и о других настройках.