Информационный портал технической поддержки Центра проектирования интегральных микросхем |
В данной статье рассмотрен пример настройки К1923КХ02GI для создания простой VLAN-сети.
VLAN (аббр. от англ. Virtual Local Area Network) — топологическая («виртуальная») локальная компьютерная сеть, представляет собой группу хостов с общим набором требований, которые взаимодействуют так, как если бы они были подключены к широковещательному домену, независимо от их физического местонахождения.
Подробнее ознакомиться с понятием VLAN можно в стандарте IEEE 802.1Q, в статье будут рассмотрены только основные понятия VLAN.
Построение VLAN-сетей базируется на протоколе 802.1q. Реализация данного протокола состоит в добавлении в стандартный Ethernet-II кадр специального поля – тега, при этом пакет с тегом называется тегированным, а без – не тегированным (рисунок 1).
Рисунок 1 - Структура не тегированного и тегированного Ethernet-II кадра
Формат тега
16 бит | 3 бита | 1 бит | 12 бит |
---|---|---|---|
TPID | PCP | CFI | VID |
Тегированные кадры обычно передаются между коммутаторами, конечные же устройства (ПК) обмениваются не тегированными кадрами. Поэтому порт коммутатора часто обозначают 2-мя состояниями: access или trunk.
access port — порт, принадлежащий одной VLAN-сети и передающий нетегированный трафик. Любой кадр, который приходит на access порт, помечается номером, принадлежащим данному VLAN.
trunk port — порт, передающий тегированный трафик одной или нескольких VLAN-сетей. Этот порт, наоборот, не изменяет тег, а лишь пропускает кадры с тегами, которые разрешены на этом порту.
Рассмотрим простую компьютерную сеть, состоящую из двух VLAN-сетей, как показано на рисунке 2.
Рисунок 2 - Структура компьютерной сети, состоящей из двух VLAN
В данную часть сети входят 4 ПК, коммутатор и демоплата для К1923КХ02GI с хостом.
Относительно демоплаты для К1923КХ02GI конфигурация сети будет иметь вид, приведённый в таблице 1.
Таблица 1 - Конфигурация сети
Подключенное устройство | IP-адрес | VLAN ID | № порта |
---|---|---|---|
ПК1 | 192.168.1.10/24 | 10 | 1 |
ПК2 | 192.168.1.11/24 | 10 | 2 |
ПК3 | 192.168.1.20/24 | 20 | 5 |
ПК4 | 192.168.1.21/24 | 20 | 6 |
Коммутатор | - | - | 10 |
Микросхема К1923КХ02GI будет использоваться в режиме MODE[3:0] = 0000 – управляемый коммутатор с доступом по PCI-E. В качестве хоста выступает ПК, работающий под управлением Ubuntu 16.04 LTS, ядро Linux 4.10.17.
Сначала необходимо выполнить подготовку К1923КХ02GI к работе согласно QuickStart:
$ sudo insmod switch.ko
$ sudo ifconfig enp3s0 up
После выполнения последней команды на демоплате должны начать мигать зелёные светодиоды. Настройка К1923КХ02GI осуществляется с помощью интерфейса "proc", для этого необходимо перейти в директорию /proc/basis.
Подробное описание функционала интерфейса "proc" приводится в QuickStart.Для данной конфигурации сети вся настройка микросхемы К1923КХ02GI сводится к двум действиям: настройка таблицы VLAN и настройка соответствующих портов.
Выполним настройку таблицы VLAN. Сначала добавим запись для VLAN 10:
Остальные строки файла «add» оставляем без изменения. В итоге получился следующий файл "add" (указаны только строки, в которые были внесены изменения):
VLAN ID: 10 Forward list: 0x00203 Untag list: 0x00003
Чтобы добавить запись в таблицу VLAN, необходимо сохранить файл с помощью кнопки «add». Если файл не сохраняется сразу, выбираем "Всё равно сохранить"→ "Отмена"→ "Пропустить", после чего закрываем файл. Чтобы убедиться в добавлении записи в таблицу VLAN, можно открыть файл «show», в котором должна появиться записанная запись.
Чтобы добавить запись для VLAN 20, необходимо снова открыть файл «add» и указать необходимые настройки. В итоге получился следующий файл "add" (указаны только строки, в которые были внесены изменения):
VLAN ID: 20 Forward list: 0x00230 Untag list: 0x00030
На этом настройка VLAN-таблицы завершена.
Перейдём к настройке портов К1923КХ02GI , к которым подключены внешние устройства. Для этого переходим в директорию /proc/basis/port_settings. Выполним настройку порта 1:
В итоге получился следующий файл "port1" (указаны только строки, в которые были внесены изменения):
Fallback_BD_id (dec): 10 aft: 2 untag_from_btable: 1
Остальные поля остаются без изменения, файл необходимо сохранить и закрыть.
Для портов 2, 5 и 6 необходимо установить аналогичные настройки, только указав в поле «Fallback_BD_id (dec)» соответствующий номер VLAN.
Для порта 10 в файле «port10» необходимо указать тип принимаемых пакетов "aft: 1" - только тегированные, а также использование "untag list" - «untag_from_btable: 1», остальные параметры необходимо оставить без изменений.
Получившийся файл "port10" (указаны только строки, в которые были внесены изменения):
aft: 1 untag_from_btable: 1
Настройка микросхемы К1923КХ02GIдля данной конфигурации сети завершена, и демонстрационная плата К1923КХ02GI готова к коммутации пакетов.
Сайт: | https://support.milandr.ru |
E-mail: | support@milandr.ru |
Телефон: | +7 495 221-13-55 |