Claims (29)
1. Способ поддержки VLAN программным мостом Linux, который характеризуется наличием следующих этапов:1. A way to support VLAN with the Linux software bridge, which is characterized by the following steps:
этап А10: в ядре Linux создают сетевой мост br0 и сетевой VLAN порт, сетевой порт и сетевой VLAN порт добавляют на сетевой мост br0, образуя соответствующий порт сетевого моста, который осуществляет обслуживание в форме группы списков ссылок порта VLAN;step A10: the br0 network bridge is created in the Linux kernel and the network VLAN port is added, the network port and the network VLAN port are added to the br0 network bridge, forming the corresponding network bridge port, which performs maintenance in the form of a list of VLAN port link lists;
этап А20: настраивают порт сетевого моста на сетевом мосту br0, создают или обновляют соответствующий список ссылок порта VLAN;step A20: configure the network bridge port on the network bridge br0, create or update the corresponding list of VLAN port links;
этап А30: с помощью сетевого моста br0 осуществляют переадресацию данных на базе VLAN.Step A30: Using the br0 network bridge, VLAN-based data forwarding is performed.
2. Способ в соответствии с п. 1, который характеризуется тем, что на этапе А10 способа обслуживания списка ссылок VLAN порта сетевого моста осуществляют следующее:2. The method in accordance with p. 1, which is characterized in that at step A10 of the method for servicing the VLAN link list of a network bridge port, the following is carried out:
(1) одну группу портов сетевого моста с аналогичным VLAN ID образуют посредством списка ссылок одного VLAN порта;(1) one group of network bridge ports with the same VLAN ID is formed by a link list of one VLAN port;
(2) в число элементов структуры каждого порта сетевого моста входит информация заголовка списка ссылок, указывающая на принадлежащий список ссылок VLAN порта, которую используют для обхода всех портов во VLAN при лавинной адресации пакетов данных;(2) the structural elements of each port of the network bridge include link list header information indicating the belonging list of VLAN ports, which is used to bypass all ports in the VLAN when data packets are flooded;
(3) при создании нового сетевого VLAN порта на сетевом мосту требуется создать новый список ссылок VLAN порта;(3) when creating a new network VLAN port on the network bridge, you need to create a new list of VLAN port links;
(4) при добавлении сетевого порта или сетевого VLAN порта на сетевой мост осуществляют поиск в соответствующем списке ссылок порта VLAN в соответствии с PVID или VLAN ID порта сетевого моста, и порт сетевого моста добавляют в конец списка ссылок данного порта VLAN;(4) when adding a network port or network VLAN port to the network bridge, search the corresponding VLAN port link list in accordance with the PVID or VLAN ID of the network bridge port, and add the network bridge port to the end of the link list of this VLAN port;
(5) при удалении сетевого порта или сетевого VLAN порта из сетевого моста осуществляют поиск в соответствующем списке ссылок порта VLAN в соответствии с VLAN ID порта сетевого моста и обход элементов, соответствующих поиску в списке ссылок порта VLAN, эти элементы удаляют.(5) when removing a network port or a network VLAN port from a network bridge, search the corresponding VLAN port link list in accordance with the VLAN ID of the network bridge port and bypass items matching the search in the VLAN port link list, delete these elements.
3. Способ в соответствии с п. 1, характеризующийся тем, что этап А20 включает:3. The method in accordance with p. 1, characterized in that step A20 includes:
этап А21: настройка сетевого порта и VLAN ID сетевого VLAN порта, создание виртуального порта на базе 802.1Q, настройка свойств PVID сетевого порта;step A21: configure the network port and VLAN ID of the network VLAN port, create a virtual port based on 802.1Q, configure the PVID properties of the network port;
этап А22: определение, является ли вновь добавленный порт сетевого моста сетевым портом, и если он является сетевым портом, то осуществляют получение PVID этого порта сетевого моста, после чего осуществляют переход к этапу А23; если он является сетевым VLAN портом, то осуществляют получение VLAN ID этого виртуального порта, после чего переход к этапу А23;step A22: determining whether the newly added network bridge port is a network port, and if it is a network port, then the PVID of this network bridge port is obtained, then go to step A23; if it is a network VLAN port, then obtain the VLAN ID of this virtual port, and then go to step A23;
этап А23: с VLAN ID или PVID в качестве индекса осуществляют поиск наличия соответствующего списка ссылок порта VLAN, и если он отсутствует, то создают новый список ссылок порта VLAN; если он существует, то на вновь добавленный порт сетевого моста добавляют соответствующий список ссылок порта VLAN.step A23: with a VLAN ID or PVID as an index, search for the presence of a corresponding list of links of the VLAN port, and if it is absent, then create a new list of links of the VLAN port; if it exists, then the corresponding link list of the VLAN port is added to the newly added network bridge port.
4. Способ в соответствии с п. 1, характеризующийся тем, что этап А30 включает:4. The method in accordance with p. 1, characterized in that step A30 includes:
этап A31: получение сетевым портом пакета данных;step A31: receiving a network port data packet;
этап А32: проверка данного пакета данных на наличие прикрепленного тэга 802.1Q, при этом если типом протокола пакета данных является 802.1Q, то осуществляют переход к этапу А33; в противном случае осуществляют переход к этапу А34;step A32: checking this data packet for the presence of an attached 802.1Q tag, while if the protocol type of the data packet is 802.1Q, then go to step A33; otherwise, proceed to step A34;
этап А33: выделение из пакета данных поля 802.1Q, исправление порта получения пакета данных на сетевой VLAN порт, переход к этапу A34;step A33: extracting the 802.1Q field from the data packet, correcting the port for receiving the data packet to the network VLAN port, proceeding to step A34;
этап A34: определение, является ли порт получения пакета данных портом сетевого моста, и если он является, то осуществляют переход к этапу A35; в противном случае осуществляют передачу на стек протоколов второго уровня Linux для обработки, после чего процедуру заканчивают;step A34: determining whether the port for receiving the data packet is a port of the network bridge, and if it is, then go to step A35; otherwise, Linux is transferred to the protocol stack of the second level for processing, after which the procedure is completed;
этап A35: пакет данных подают на стек протоколов моста для обработки, и создают или обновляют список переадресации;step A35: a data packet is fed onto the protocol stack of the bridge for processing, and a redirect list is created or updated;
этап A36: определение, является целевой МАС-адрес пакета данных широковещательным или индивидуальным адресом, и если он является широковещательным адресом, то осуществляют переход к этапу А39; в противном случае осуществляют переход к этапу А37;step A36: determining whether the target MAC address of the data packet is a broadcast or an individual address, and if it is a broadcast address, then go to step A39; otherwise, proceed to step A37;
этап А37: поиск списка переадресации в соответствии с целевым МАС-адресом пакета данных и информацией VLAN;step A37: searching the forwarding list in accordance with the target MAC address of the data packet and the VLAN information;
этап A38: если в списке переадресации содержится сетевой VLAN порт, аналогичный целевому МАС-адресу, то осуществляют переход к этапу А40; при отсутствии осуществляют переход к этапу А39;step A38: if the forwarding list contains a network VLAN port similar to the target MAC address, then go to step A40; if not, proceed to step A39;
этап A39: в соответствии с информацией VLAN ID получающего пакет данных сетевого порта осуществляют получение списка ссылок VLAN порта сетевого моста, принадлежащего данному порту сетевого моста, и осуществляют лавинную адресацию в направлении других сетевых портов в списке ссылок VLAN порта;step A39: in accordance with the VLAN ID information of the network port receiving the data packet, the VLAN link list of the network bridge port belonging to the given network bridge port is obtained, and avalanche addressing towards other network ports in the VLAN port link list is performed;
этап А40: определение местоположения сетевого VLAN порта, аналогичного целевому МАС-адресу, переадресация посредством порта сетевого моста;step A40: determining the location of the network VLAN port similar to the target MAC address, forwarding through the port of the network bridge;
этап А41: определение, является ли порт моста сетевым VLAN портом, и если является, то осуществляют переход к этапу А42; в противном случае осуществляют переход к этапу А43;step A41: determining whether the bridge port is a network VLAN port, and if so, proceed to step A42; otherwise, proceed to step A43;
этап А42: посредством стека протоколов 802.1Q добавляют соответствующий тэг 802.1Q, после чего осуществляют переход к этапу А43;step A42: add the corresponding 802.1Q tag through the 802.1Q protocol stack, after which proceed to step A43;
этап А43: пакет данных отправляют посредством сетевого порта;step A43: a data packet is sent via a network port;
этап А44: завершение.step A44: completion.