Доклад по дисциплине “Сетевые технологии” на тему: “Принципы построения VLAN. Access и trunk порты”
Работу выполнил:
VLAN (Virtual Local Area Network) — группа устройств, имеющих возможность взаимодействовать между собой напрямую на канальном уровне, хотя физически при этом они могут быть подключены к разным сетевым коммутаторам. И наоборот, устройства, находящиеся в разных VLAN'ах, невидимы друг для друга на канальном уровне, даже если они подключены к одному коммутатору, и связь между этими устройствами возможна только на сетевом и более высоких уровнях.
В современных сетях VLAN — главный механизм для создания логической топологии сети, не зависящей от её физической топологии.
Гибкое разделение устройств на группы - Как правило, одному VLAN соответствует одна подсеть. Устройства, находящиеся в разных VLAN, будут находиться в разных подсетях. Но в то же время VLAN не привязан к местоположению устройств и поэтому устройства, находящиеся на расстоянии друг от друга, все равно могут быть в одном VLAN независимо от местоположения
Уменьшение количества широковещательного трафика в сети: Каждый VLAN — это отдельный широковещательный домен. Например, коммутатор — это устройство 2 уровня модели OSI. Все порты на коммутаторе с лишь одним VLAN находятся в одном широковещательном домене. Создание дополнительных VLAN на коммутаторе означает разбиение коммутатора на несколько широковещательных доменов. Если один и тот же VLAN настроен на разных коммутаторах, то порты разных коммутаторов будут образовывать один широковещательный домен.
Увеличение безопасности и управляемости сети: Когда сеть разбита на VLAN, упрощается задача применения политик и правил безопасности. С VLAN политики можно применять к целым подсетям, а не к отдельному устройству. Кроме того, переход из одного VLAN в другой предполагает прохождение через устройство 3 уровня, на котором, как правило, применяются политики, разрешающие или запрещающие доступ из VLAN в VLAN.
Существует три различных варианта: на базе портов, протоколов третьего уровня или MAC-адресов. Каждый способ соответствует одному из трех нижних уровней модели OSI: физическому, сетевому и канальному соответственно.
VLAN на базе портов: Здесь предполагается логическое объединение определенных физических портов коммутатора, выбранных для взаимодействия. К примеру, сетевой администратор может определить, что определенные порты, к примеру, 1, 2, и 5 формируют VLAN1, а номера 3, 4 и 6 используются для VLAN2 и так далее. Один порт коммутатора вполне может использоваться для подключения нескольких компьютеров, для чего применяют, к примеру, хаб. Все они будут определены в качестве участников одной виртуальной сети, к которой прописан обслуживающий порт коммутатора. Подобная жесткая привязка членства виртуальной сети является основным недостатком подобной схемы организации.
VLAN на базе МАС-адресов: В основу этого способа заложено использование уникальных шестнадцатеричных адресов канального уровня, имеющихся у каждого сетевого адаптера сервера либо рабочей станции сети. Если говорить о том, что такое VLAN, то стоит отметить, что этот способ принято считать более гибким в сравнении с предыдущим, так как к одному порту коммутатора вполне допускается подключение компьютеров, принадлежащих к разным виртуальным сетям. Помимо этого, он автоматически отслеживает перемещение компьютеров с одного порта на другой, что позволяет сохранить принадлежность клиента к конкретной сети без вмешательства администратора. В качестве недостатки подобного способа называется сложность конфигурирования VLAN, которая может изначально стать причиной появления ошибок. При том, что коммутатор самостоятельно строит таблицы адресов, сетевой администратор должен просмотреть ее всю, чтобы определить, какие адреса каким виртуальным группам соответствуют, после чего он прописывает его к соответствующим VLANs.
VLAN на базе протоколов третьего уровня: Этот метод довольно редко используется в коммутаторах на уровне рабочей группы или отдела. Он характерен для магистральных, оснащенных встроенными средствами маршрутизации основных протоколов локальных сетей - IP, IPX и AppleTalk. Этот способ предполагает, что группа портов коммутатора, которые принадлежат к определенной VLAN, будут ассоциироваться с какой-то подсетью IP или IPX. В данном случае гибкость обеспечивается тем, что перемещение пользователя на другой порт, который принадлежит той же виртуальной сети, отслеживается коммутатором и не нуждается в переконфигурации. Маршрутизация VLAN в данном случае довольно проста, ведь коммутатор в данном случае анализирует сетевые адреса компьютеров, которые определены для каждой из сетей. Данный способ поддерживает и взаимодействие между различными VLAN без применения дополнительных средств. Есть и один недостаток у данного способа – высокая стоимость коммутаторов, в которых он реализован.
VLAN'ы могут быть настроены на коммутаторах, маршрутизаторах, других сетевых устройствах и на хостах. Однако, для объяснения VLAN лучше всего подойдет коммутатор.
Коммутатор — устройство 2го уровня и изначально все порты коммутатора находятся, как правило, в VLAN 1 и, следовательно, в одном широковещательном сегменте. Это значит, что если одно из устройств, которое подключено к порту коммутатора, отправит широковещательный фрейм, то коммутатор перенаправит этот фрейм на все остальные порты, к которым подключены устройства, и они получат этот фрейм.
Рассмотрим коммутатор с настройками по умолчанию, то есть все его порты находятся в VLAN 1.
Для того чтобы передавать фреймы, коммутатор использует таблицу коммутации. Изначально, после включения коммутатора таблица пуста. Заполняет её коммутатор автоматически, при получении фреймов от хостов. Когда коммутатор получает фрейм от хоста, он сначала передает его в соответствии со своими правилами, а затем запоминает MAC-адрес отправителя во фрейме и ставит его в соответствие порту, на котором он был получен. Пример таблицы коммутации после того, как все хосты передали какой-то трафик:
Порт коммутатора |
MAC-адрес хоста |
1 |
A |
2 |
B |
3 |
C |
4 |
D |
У коммутатора существуют 3 базовых механизма передачи фреймов:
Flooding - фрейм, полученный на один из портов, передается на остальные порты коммутатора. Коммутатор выполняет эту операцию в двух случаях:
при получении широковещательного или multicast (если не настроена поддержка multicast) фрейма
при получении unknown unicast фрейма. Это позволяет коммутатору доставить фрейм хосту (при условии, что хост достижим и существует), даже когда он не знает, где хост находится.
Forwarding — передача фрейма, полученного на одном порту, через другой порт в соответствии с записью в таблице коммутации.
Filtering— если коммутатор получает фрейм через определенный порт, и MAC-адрес получателя доступен через этот же порт (это указано в таблице коммутации), то коммутатор отбрасывает фрейм. То есть, коммутатор считает, что в этом случае хост уже получил этот фрейм, и не дублирует его.
Для того, чтобы продемонстрировать механизмы передачи фреймов, воспользуемся следующей картинкой:
Н
а
ней изображен коммутатор sw1
и повторитель (hub),
к которому подключены 2 хоста. Изначально
к коммутатору подключили хосты A,B,C.
Соответственно у коммутатора была такая
таблица коммутации:
Порт коммутатора |
MAC-адрес хоста |
1 |
A |
2 |
B |
3 |
C |
Когда хост A отправляет фрейм хосту B, коммутатор использует механизм forwarding, так как ему известно где находятся оба хоста и хосты находятся на разных портах коммутатора.
Далее к коммутатору подключили хост D. Если хост A отправляет фрейм хосту D, то для коммутатора это unknown unicast фрейм, так как в таблице коммутации нет записи о MAC-адресе D. В соответствии со своими правилами коммутатор выполняет flooding и передает фрейм на все порты, кроме 1 (с которого фрейм был получен). После того как коммутатор получит фрейм от хоста D, он запомнит его адрес и создаст соответствующую запись в таблице коммутации.
К коммутатору подключили повторитель с двумя хостами и коммутатор выучил их адреса. Соответствующая таблица коммутации:
Порт коммутатора |
MAC-адрес хоста |
1 |
A |
2 |
B |
3 |
C |
4 |
D |
5 |
E |
5 |
F |
Если после этого хост E будет передавать фрейм хосту F, то коммутатор получит его, но не будет передавать далее. В этой ситуации коммутатор использует механизм filtering, так как MAC-адрес получателя доступен через тот же порт, что и отправитель.
Обычно, по умолчанию все порты коммутатора считаются нетегированными членами VLAN 1. В процессе настройки или работы коммутатора они могут перемещаться в другие VLAN'ы.
На
коммутаторе, который изображен на
рисунке, настроены два VLAN'а, все порты
в соответствующих VLAN настроены как
нетегированные, т. е. не используют
теги IEEE 802.1Q при передаче фреймов
(access-порты в терминологии Cisco). После
этого на коммутаторе существуют две
таблицы коммутации.
Порт коммутатора |
MAC-адрес хоста |
1 |
A |
2 |
B |
Порт коммутатора |
MAC-адрес хоста |
3 |
С |
4 |
D |
Все базовые механизмы коммутатора остаются точно такими же как и до разделения на VLAN, но они используются только в пределах соответствующего VLAN. Например, если хост из VLAN 10 отправляет широковещательный фрейм, то он будет отправлен только на порты в этом VLAN. Получается, что нетегированные порты это "обычные" порты коммутатора. Это просто возможность сообщить коммутатору о том, какому VLAN принадлежат порты. Затем коммутатор использует эту информацию при передаче фреймов.
Добавим второй коммутатор и хосты в VLAN 2.
Необходимо, чтобы хосты A, B, E, F "увидели" друг друга. Они должны находиться в одном VLAN. То есть, необходимо каким-то образом указать коммутатору, что ещё на одном порту есть хосты в соответствующем VLAN'е.
Для указанного примера достаточно добавить на коммутаторе sw1 порт 10 в VLAN 2, а на коммутаторе sw2 порт 9 в VLAN 2. Принадлежность к VLAN указывается настройкой порта нетегированным в VLAN 2. После этого на коммутаторах в таблицах коммутации добавятся новые порты и соответствующие MAC-адреса хостов. Теперь четыре хоста на разных коммутаторах находятся в одном широковещательном сегменте.
Таблица коммутации sw1 для VLAN 2:
Порт коммутатора |
MAC-адрес хоста |
1 |
A |
2 |
B |
10 |
E |
10 |
F |