Содержание

Создание и настройка VLAN сети на демонстрационной плате для 1923КХ028

В этой статье мы разберём пример настройки 1923КХ028 для создания простых VLAN сетей. Согласно вики:

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

Подробнее ознакомится с понятием VLAN можно в стандарте IEEE 802.1Q, или, например, в данной статье, здесь же мы остановимся только на основных моментах.

Краткая информация о VLAN

Построение VLAN сетей базируется на протоколе 802.1q. Реализация данного протокола состоит в добавлении в стандартный Ethernet-II кадр специального поля – тега, при этом пакет с тегом называется тегированным, а без – не тегированным.

Формат тега

16 бит 3 бита 1 бит 12 бит
TPID PCP CFI VID

Тегированные кадры обычно передаются между коммутаторами, конечные же устройства (ПК) обмениваются уже не тегированными кадрами. Поэтому порт коммутатора часто обозначают 2-мя состояниями: access или trunk.

access port — порт, принадлежащий одному VLAN’у и передающий нетегированный трафик. Любой кадр, который приходит на access порт, помечается номером, принадлежащим этому VLAN’у.

trunk port — порт, передающий тегированный трафик одного или нескольких VLAN’ов. Этот порт, наоборот, не изменяет тег, а лишь пропускает кадры с тегами, которые разрешены на этом порту.

Настройка 1923КХ028 для создания VLAN сети

Рассмотрим простую компьютерную сеть, состоящую из двух VLAN сетей.

В интересующую нас часть сети входят 4 ПК, коммутатор и демоплата для 1923КХ028 с хостом.

Относительно демоплаты для 1923КХ028 конфигурация сети будет иметь вид

Подключенное устройство 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КХ028 будем использовать в режиме MODE[3:0] = 0000 – управляемый коммутатор с доступом по PCI-E. В качестве хоста выступает ПК, работающий под управлением Ubuntu 16.04 LTS, ядро Linux 4.10.17.

Согласно QuickStart, подготовим 1923КХ028 к работе, а именно:

$ sudo insmod switch.ko
$ sudo ifconfig enp3s0 up

После выполнения последней команды на демоплате должны начать мигать зелёные светодиоды. Настройку 1923КХ028 будем осуществлять с помощью интерфейса proc, для это переходим в директорию /proc/basis.

Подробное описание функционала интерфейса proc приводится в QuickStart.

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

Начнём с таблицы VLAN. Для создания записей в таблице VLAN нам необходимо выполнить действия, описанные ниже. Сначала добавим запись для VLAN 10:

Остальные строки файла «add» оставляем без изменения. В итоге у нас получился следующий файл (указаны только строки, в которые были внесены изменения):

VLAN ID:       10
Forward list:  0x00203
Untag list:    0x00003

Чтобы добавить нашу запись в таблицу VLAN, просто сохраняем файл «add». Если файл не сохраняется сразу, выбираем "Всё равно сохранить"→ "Отмена"→ "Пропустить", после чего закрываем файл. Чтобы убедиться в добавлении записи в таблицу VLAN, можно открыть файл «show», в котором должна появиться записанная нами запись.

Чтобы добавить запись для VLAN 20, снова открываем файл «add» и прописываем необходимые настройки. В итоге получился следующий файл (указаны только строки, в которые были внесены изменения):

VLAN ID:       20
Forward list:  0x00230
Untag list:    0x00030

На этом настройка VLAN таблицы завершена.

Теперь перейдём к настройке портов 1923КХ028, к которым подключены внешние устройства. Для этого переходим в директорию /proc/basis/port_settings. Настроим сначала порт 1:

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

Fallback_BD_id (dec): 10
aft: 2
untag_from_btable: 1

Остальные поля оставляем без изменения, сохраняем файл и закрываем его.

Настройки портов 2, 5 и 6 устанавливаем абсолютно такими же, как и для порта 1, только в поле «Fallback_BD_id (dec)» указываем соответствующий номер VLAN.

Для порта 10 необходимо изменить только следующие строки в файле «port10»:

aft: 1
untag_from_btable: 1

"aft: 1" означает, что принимаемые пакеты будут только тегированными.

На этом настройка микросхемы 1923КХ028 для данной конфигурации сети завершена и демоплата 1923КХ028 готова к коммутации пакетов.