Виртуальные локальные сети

6.1 Введение. Технология виртуальных локальных сетей

Виртуальной сетью называется группа узлов сети, трафик которой, в том числе и широковещательный, на канальном уровне полностью изолирован от других узлов сети (рис. 4.39). Это означает, что передача кадров между разными виртуальными сетями на основании адреса канального уровня невозможна, независимо от типа адреса - уникального, группового или широковещательного. В то же время внутри виртуальной сети кадры передаются по технологии коммутации, то есть только на тот порт, который связан с адресом назначения кадра. Виртуальные сети могут пересекаться, если один или несколько компьютеров входят в состав более чем одной виртуальной сети. На рис. 4.39 сервер электронной почты входит в состав 3 и 4 виртуальных сетей. Это значит, что его кадры передаются коммутаторами всем компьютерам, входящим в эти сети. Если же какой-то компьютер входит в состав только виртуальной сети 3, то его кадры до сети 4 доходить не будут, но он может взаимодействовать с компьютерами сети 4 через общий почтовый сервер. Такая схема не полностью защищает виртуальные сети друг от друга -так, широковещательный шторм, возникший на сервере электронной почты, захлестнет сеть 3 и сеть 4.

 

Рис. 4.39. Виртуальные сети

Говорят, что виртуальная сеть образует домен широковещательного трафика (broadcast domain), по аналогии с доменом коллизий, который образуется повторителями сетей Ethernet.

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

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

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

 

Рис.Интерсеть, состоящая из сетей, построенных на основе повторителей

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

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

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

При использовании технологии виртуальных сетей в коммутаторах одновременно решаются две задачи:

· повышение производительности в каждой из виртуальных сетей, так как коммутатор передает кадры в такой сети только узлу назначения;

· изоляция сетей друг от друга для управления правами доступа пользователей и создания защитных барьеров на пути широковещательных штормов.

Для связи виртуальных сетей в общую сеть требуется привлечение сетевого уровня. Он может быть реализован в отдельном маршрутизаторе, а может работать и в составе программного обеспечения коммутатора, который тогда становится комбинированным устройством - так называемым коммутатором 3-го уровня. Коммутаторы 3-го уровня рассматриваются в главе 5.

Технология образования и работы виртуальных сетей с помощью коммутаторов долгое время не стандартизировалась, хотя и была реализована в очень широком спектре моделей коммутаторов разных производителей. Такое положение изменилось после принятия в 1998 году стандарта IEEE 802.1Q, который определяет базовые правила построения виртуальных локальных сетей, не зависящие от протокола канального уровня, который поддерживает коммутатор.

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

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

 

Рис. 4.41. Виртуальные сети, построенные на одном коммутаторе

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

Создание виртуальных сетей на основе группирования портов не требует от администратора большого объема ручной работы - достаточно каждый порт приписать к одной из нескольких заранее поименованных виртуальных сетей. Обычно такая операция выполняется с помощью специальной программы, прилагаемой к коммутатору. Администратор создает виртуальные сети путем перетаскивания мышью графических символов портов на графические символы сетей.

6.2 Организация виртуальных локальных сетей

Виртуальные сети созданы, чтобы реализовать сегментацию сети на коммутаторах. Таким образом, создание виртуальных локальных сетей (Virtual Local Area Networks – VLAN ), которые представляют собой логическое объединение групп станций сети (рис. 16.1), является одним из основных методов защиты информации в сетях на коммутаторах.

 


Рис. 16.1. Виртуальные локальные сети VLAN

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

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

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

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

Управление виртуальными сетями VLAN реализуется через первую сеть VLAN1 и сводится к управлению портами коммутатора. Сеть VLAN1 получила название сеть по умолчанию ( default VLAN ). По крайней мере, один порт должен быть в VLAN 1, чтобы управлять коммутатором. Все другие порты на коммутаторе могут быть назначены другим сетям VLAN. Поскольку данная информация известна всем, хакеры пытаются атаковать в первую очередь именно эту сеть. Поэтому на практике администраторы изменяют номер сети по умолчанию, например, на номер VLAN 101.

Каждой виртуальной сети при конфигурировании должен быть назначен IP-адрес сети или подсети с соответствующей маской, для того чтобы виртуальные сети могли общаться между собой. Например, VLAN1 (рис. 16.1) может иметь адрес 192.168.10.0/24, VLAN2 – адрес 192.168.20.0/24, VLAN3 – адрес 192.168.30.0/24. Каждому хосту необходимо задать IP-адрес из диапазона адресов соответствующей виртуальной сети, например, host-1 – адрес 192.168.10.1, host-2 – адрес 192.168.20.1, host-3 – адрес 192.168.20.2, host-7 – адрес 192.168.20.3, host-10 – адрес 192.168.30.4.

Идентификаторы виртуальных сетей (VLAN1, VLAN2, VLAN3 и т. д.) могут назначаться из нормального диапазона 1-1005, в котором номера 1002 – 1005 зарезервированы для виртуальных сетей технологий Token Ring и FDDI. Существует также расширенный диапазон идентификаторов 1006-4094. Однако для облегчения управления рекомендуется, чтобы сетей VLAN было не более 255 и сети не расширялись вне Уровня 2 коммутатора.

Таким образом, сеть VLAN является широковещательным доменом, созданным одним или более коммутаторами. На рис. 16.2 три виртуальных сети VLAN созданы одним маршрутизатором и тремя коммутаторами. При этом существуют три отдельных широковещательных домена (сеть VLAN 1, сеть VLAN 2, сеть VLAN 3). Маршрутизатор управляет трафиком между сетями VLAN, используя маршрутизацию Уровня 3.

 


Рис. 16.2. Три виртуальных сети VLAN

Если рабочая станция сети VLAN 1 захочет послать кадр рабочей станции в той же самой VLAN 1, адресом назначения кадра будет МАС- адрес рабочей станции назначения. Если же рабочая станция сети VLAN 1 захочет переслать кадр рабочей станции сети VLAN 2, кадры будут переданы на МАС-адрес интерфейса F0/0 маршрутизатора. То есть маршрутизация производится через IP-адрес интерфейса F0/0 маршрутизатора виртуальной сети VLAN 1.

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

При построении сети на нескольких коммутаторах необходимо выделить дополнительные порты для объединения портов разных коммутаторов, приписанных к одноименным виртуальным сетям (рис. 16.3). Дополнительных пар портов двух коммутаторов должно быть выделено столько, сколько создано сетей VLAN.

 


Рис. 16.3. Объединение виртуальных сетей двух коммутаторов

Поскольку кадры данных могут быть получены коммутатором от любого устройства, присоединенного к любой виртуальной сети, при обмене данными между коммутаторами в заголовок кадра добавляется уникальный идентификатор кадратег (tag) виртуальной сети, который определяет VLAN каждого пакета. Стандарт IEEE 802.1Q предусматривает введение поля меток в заголовок кадра, содержащего два байта (табл. 16.1).

Таблица 16.1. Формат тега виртуальной сети
3 бита 1 бит 12 бит
Приоритет CFI VLAN ID

Из них 12 двоичных разрядов используются для адресации, что позволяет помечать до 4096 виртуальных сетей и соответствует нормальному и расширенному диапазону идентификаторов VLAN. Еще три разряда этого поля позволяют задавать 8 уровней приоритета передаваемых сообщений, т. е. позволяют обеспечивать качество (QoS) передаваемых данных. Наивысший приоритет уровня 7 имеют кадры управления сетью, уровень 6 – кадры передачи голосового трафика, 5 – передача видео. Остальные уровни обеспечивают передачу данных с разным приоритетом. Единичное значение поля CFI показывает, что виртуальная сеть является Token Ring.

Пакет отправляется коммутатором или маршрутизатором, базируясь на идентификаторе VLAN и МАС-адресе. После достижения сети назначения идентификатор VLAN (tag) удаляется из пакета коммутатором, а пакет отправляется присоединенному устройству. Маркировка пакета (Packet tagging) обеспечивает механизм управления потоком данных.

6.3 Транковые соединения

Согласно принципу, представленному на рис. 16.3, в виртуальных локальных сетях для соединения нескольких коммутаторов между собой задействуют несколько физических портов. Совокупность физических каналов между двумя устройствами (рис. 16.4а) может быть заменена одним агрегированным логическим каналом (рис. 16.4б), получившим название транк (trunk).

Транковые соединения используются и для подключения маршрутизатора к коммутатору (рис. 16.2). При этом на интерфейсе маршрутизатора формируются несколько субинтерфейсов (по количеству виртуальных сетей).

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

 

Рис. 16.4. Транковые соединения коммутаторов

На практике используются статические и динамические VLAN. Динамические VLAN создаются через программное обеспечение управления сети. Однако динамические VLAN не применяются широко.

Наибольшее распространение получили статические VLAN. Входящие в сеть устройства автоматически становятся членами VLAN-порта, к которому они присоединены. Для статического конфигурирования используется интерфейс командной линии CLI.

6.4 Конфигурирование виртуальных сетей

Конфигурационный файл в виде базы данных vlan.dat хранится во флэш-памяти коммутатора. Каждая VLAN должна иметь уникальный адрес Уровня 3 или выделенный ей адрес подсети. Это позволяет маршрутизаторам переключать пакеты между виртуальными локальными сетями.

Статическое конфигурирование виртуальных сетей сводится к назначению портов коммутатора на каждую виртуальную локальную сеть VLAN, что может непосредственно конфигурироваться на коммутаторе через использование командной строки CLI. Таким образом, при статическом конфигурировании каждый порт приписывается к какой-то виртуальной сети. Статически сконфигурированные порты поддерживают назначенную конфигурацию до тех пор, пока не будут изменены вручную. Пользователи подключены к портам коммутатора на уровне доступа (access layer). Маркировка (Frame tagging) применяется, чтобы обмениваться информацией сетей VLAN между коммутаторами.

По умолчанию управляющей сетью является первая сеть VLAN 1, однако ей может быть назначен другой номер, причем сеть VLAN 1 будет Ethernet-сетью, и ей принадлежит IP-адрес коммутатора.

Ниже рассмотрено конфигурирование коммутатора для виртуальной локальной сети (рис. 16.5).

 

Рис. 16.5. Виртуальная локальная сеть

Примеры конфигурирования даны для коммутаторов серии 2950 и последующих модификаций. Конфигурирование виртуальных сетей на коммутаторах серии 1900 описано в учебном пособии [8].

Состояние виртуальных сетей и интерфейсов коммутатора Cisco Catalyst серии 2950-24 с именем Sw_A можно посмотреть по следующей команде:

Sw_A#sh vlan brief

 

VLAN Name Status Ports

---- ---------------- -------- -------------------------------

1 default active Fa0/1, Fa0/2, Fa0/3, Fa0/4

Fa0/5, Fa0/6, Fa0/7, Fa0/8

Fa0/9, Fa0/10, Fa0/11, Fa0/12

Fa0/13, Fa0/14, Fa0/15, Fa0/16

Fa0/17, Fa0/18, Fa0/19, Fa0/20

Fa0/21, Fa0/22, Fa0/23, Fa0/24

1002 fddi-default active

1003 token-ring-default active

1004 fddinet-default active

1005 trnet-default active

Из распечатки команды Sw_A#sh vlan brief следует, что все 24 интерфейса Fast Ethernet по умолчанию приписаны к сети VLAN 1, других активных виртуальных сетей нет, за исключением 1002-1005, зарезервированных для сетей Token Ring и FDDI.

Создание виртуальных сетей может производиться двумя способами:

· в режиме глобального конфигурирования;

· из привилегированного режима конфигурирования по команде vlan database.

6.5 Краткие итоги

· Сеть VLAN состоит из узлов, объединенных единственным широковещательным доменом, который образован приписанными к виртуальной сети портами коммутатора. Широковещательные передачи снижают безопасность информации.

· Для функционирования VLAN необходимо на коммутаторе сконфигурировать все виртуальные локальные сети и приписать порты коммутатора к соответствующей сети.

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

· Управление виртуальными сетями VLAN реализуется через первую сеть VLAN 1 и сводится к управлению портами коммутатора. Администраторы обычно изменяют номер сети по умолчанию для повышения безопасности.

· Каждой виртуальной сети при конфигурировании должен быть назначен IP-адрес сети или подсети с соответствующей маской и шлюзом.

· При построении сети на нескольких коммутаторах необходимо выделить дополнительные порты для объединения портов разных коммутаторов, приписанных к одноименным виртуальным сетям.

· При обмене данными между коммутаторами в заголовок добавляется уникальный идентификатор кадра – тег (tag) виртуальной сети, который определяет членство VLAN каждого пакета.

7. Адресация в сетях TCP/IP

7.1 Типы адресов стека TCP/IP

В стеке TCP/IP используются три типа адресов: локальные (называемые также аппаратными), IP-адреса и символьные доменные имена.

В терминологии TCP/IP под локальным адресом понимается такой тип адреса, который используется средствами базовой технологии для доставки данных в пределах подсети, являющейся элементом составной интерсети. В разных подсетях допустимы разные сетевые технологии, разные стеки протоколов, поэтому при создании стека TCP/IP предполагалось наличие разных типов локальных адресов. Если подсетью интерсети является локальная сеть, то локальный адрес - это МАС - адрес. МАС - адрес назначается сетевым адаптерам и сетевым интерфейсам маршрутизаторов. МАС - адреса назначаются производителями оборудования и являются уникальными, так как управляются централизованно. Для всех существующих технологий локальных сетей МАС - адрес имеет формат 6 байт, например 11-AO-17-3D-BC-01. Однако протокол IP может работать и над протоколами более высокого уровня, например над протоколом IPX или Х.25. В этом случае локальными адресами для протокола IP соответственно будут адреса IPX и Х.25. Следует учесть, что компьютер в локальной сети может иметь несколько локальных адресов даже при одном сетевом адаптере. Некоторые сетевые устройства не имеют локальных адресов. Например, к таким устройствам относятся глобальные порты маршрутизаторов, предназначенные для соединений типа «точка-точка».

IP-адреса представляют собой основной тип адресов, на основании которых сетевой уровень передает пакеты между сетями. Эти адреса состоят из 4 байт, например 109.26.17.100. IP-адрес назначается администратором во время конфигурирования компьютеров и маршрутизаторов. IP-адрес состоит из двух частей: номера сети и номера узла. Номер сети может быть выбран администратором произвольно, либо назначен по рекомендации специального подразделения Internet (Internet Network Information Center, InterNIC), если сеть должна работать как составная часть Internet. Обычно поставщики услуг Internet получают диапазоны адресов у подразделений InterNIC, а затем распределяют их между своими абонентами. Номер узла в протоколе IP назначается независимо от локального адреса узла. Маршрутизатор по определению входит сразу в несколько сетей. Поэтому каждый порт маршрутизатора имеет собственный IP-адрес. Конечный узел также может входить в несколько IP-сетей. В этом случае компьютер должен иметь несколько IP-адресов, по числу сетевых связей. Таким образом, IP-адрес характеризует не отдельный компьютер или маршрутизатор, а одно сетевое соединение.

Символьные доменные имена. Символьные имена в IP-сетях называются доменными и строятся по иерархическому признаку. Составляющие полного символьного имени в IP-сетях разделяются точкой и перечисляются в следующем порядке: сначала простое имя конечного узла, затем имя группы узлов (например, имя организации), затем имя более крупной группы (поддомена) и так до имени домена самого высокого уровня (например, домена объединяющего организации по географическому принципу: RU - Россия, UK - Великобритания, SU - США), Примеров доменного имени может служить имя base2.sales.zil.ru. Между доменным именем и IP-адресом узла нет никакого алгоритмического соответствия, поэтому необходимо использовать какие-то дополнительные таблицы или службы, чтобы узел сети однозначно определялся как по доменному имени, так и по IP-адресу. В сетях TCP/IP используется специальная распределенная служба Domain Name System (DNS), которая устанавливает это соответствие на основании создаваемых администраторами сети таблиц соответствия. Поэтому доменные имена называют также DNS-именами,

7.2 Классы IP-адресов