| « Toradora - законченный перевод | SPB-IX, снова авария » |
У сетевых инженеров частенько появляются вопросы по механизму работы QinQ на коммутаторах D-Link указанных в заголовке серий, конкретно - по UNI, NNI, TPID, PVID.
Под ссылкой "читать далее" я описал механизм работы QinQ и вообще тегирования VLAN на данных сериях коммутаторов. Описание сделано на базе многочисленных тестов и экспериментов - т.е. является результатом кропотливого изучения механизма работы QinQ на данных сериях коммутаторов.
Основные термины (VLAN, TPID, PVID, UNI, NNI) - в описании не разжевываются, кто не совсем понимает, о чём речь - погуглите. В описании описывается только непосредственно механизм работы коммутатора.
...
QinQ и тегирование на длинках 36xx/3028-52/3200-xx работает так:
Сначала рассмотрим типовые порты, NNI:
NNI - это "сетевой", бэкбонный порт.
Когда на порт NNI приходит фрейм с тегом - если Ingress Checking включен, VLAN в теге сверяется с разрешенными тегами на порту. Если тег разрешен - фрейм пропускается в фабрику, если запрещен - дропается. Если Ingress Checking выключен - пропускаются все фреймы. Фрейм помечается номером VLAN, в котором он вошёл. Тег VLAN - снимается, в фабрику фрейм попадает без тега, но с внутренним маркером VLAN согласно тегу.
Когда на порт NNI приходит фрейм без тега - он пропускается в Native VLAN по "GVRP" PVID, и помечается номером PVID. Никаких тегов на данном этапе не навешивается.
Когда фрейм выходит с порта NNI, на него вешается тег согласно внутреннему маркеру VLAN. Если VLAN = PVID на порту, то тег не навешивается, и фрейм уходит нетегированным. В случае включенного QinQ фрейм тегируется не стандартным маркером VLAN (TPID = 0x8100), а тем, что указан как QinQ "outer" TPID.
Теперь об UNI:
UNI - это "тупой" клиентский порт.
Когда на UNI приходит фрейм, он всегда запихивается в VLAN, который установлен как "GVRP" PVID. Никаких тегов на данном этапе не снимается.
Когда фрейм из VLAN по PVID выходит с UNI, он выходит "как есть", без каких-либо преобразований.
Итого:
Фреймы, идущие с NNI на NNI, идут "как обычно" - в своих VLAN, без искажений. Разве что может поменяться TPID при включенном QinQ, поскольку на входе тег снимается, на выходе - навешивается согласно TPID исходящего порта и внутреннего маркера VLAN.
Фреймы, вошедшие на порты UNI, по фабрике пройдут вместе с тегом, и при выходе на NNI на них будет навешен дополнительный "верхний" тег VLAN (за исключением случая, когда этот VLAN - Native для порта NNI). Т.е. фрейм пойдёт с двумя тегами, в том VLAN, который указан на "GVRP" PVID порта UNI.
Фреймы, идущие между двумя UNI, сидящими по "GVRP" PVID в одном VLAN, войдут и выйдут "как есть", без изменений.
С фреймами, вошедшими с порта NNI, и выходящими по VLAN в UNI, произойдет следующее: на порту NNI при входе "верхний" тег будет снят. При выходе с UNI фрейм выйдет "как есть", без навешивания каких-либо тегов. Т.е. фрейм выйдет без верхнего тега, но с нижним, и в итоге пойдёт дальше тегированным нижним тегом.