| | 107 | === Первоначальное присваивание VLAN ID пакетам === |
| | 108 | |
| | 109 | Каждому принятому портом коммутатора пакету присваивается идентификатор VLAN (VLAN ID, VID). Алгоритм этого присваивания зависит от типа принятого пакета и конфигурационных настроек коммутатора. Принятые пакеты классифицируется коммутатором по различным признакам. В зависимости от того, имеет ли пакет тэг 802.1q, коммутатор относит пакет к тэгированным (tagged) или нетэгированным (untagged). Тэгированные пакеты, в свою очередь, могут быть отнесены к тэгированным VLAN (VLAN-tagged), если VLAN ID тэга имеет ненулевое значение), или тэгированным приоритетом (priority-tagged), если VLAN ID равен нулю. |
| | 110 | |
| | 111 | Алгоритм первоначального присваивания VLAN ID принятому пакету показан на следующей диаграмме: |
| | 112 | |
| | 113 | {{{#!plantuml |
| | 114 | @startuml |
| | 115 | |
| | 116 | start |
| | 117 | :принят пакет; |
| | 118 | if (Port mode == Access port?) then (да) |
| | 119 | :VID = Default VLAN ID; |
| | 120 | else (нет) |
| | 121 | if(порту назначено\nприсваивать PVID\nвсем пакетам?) then (да) |
| | 122 | :VID = Default VLAN ID; |
| | 123 | else (нет) |
| | 124 | if(пакет тегирован\nи VLAN ID != 0?) then (нет) |
| | 125 | :VID = Default VLAN ID; |
| | 126 | else (да) |
| | 127 | :VID = VLAN ID принятого пакета; |
| | 128 | endif |
| | 129 | endif |
| | 130 | endif |
| | 131 | |
| | 132 | if(порту разрешено назначать VID в\nзависимости от протокола?) then (да) |
| | 133 | if(есть совпадение протокола?) then (да) |
| | 134 | :VID = протокол VID; |
| | 135 | else (нет) |
| | 136 | endif |
| | 137 | else (нет) |
| | 138 | endif |
| | 139 | |
| | 140 | if(порту разрешены политики?) then (да) |
| | 141 | if(выполняется условие правила\nполитики с переназначением VID?) then (да) |
| | 142 | :VID = протокол VID; |
| | 143 | else (нет) |
| | 144 | endif |
| | 145 | else (нет) |
| | 146 | endif |
| | 147 | stop |
| | 148 | |
| | 149 | @enduml |
| | 150 | }}} |
| | 151 | |
| | 152 | |