ZTE 320 ONU Settings
Конфигурация OLT ZTE C320 для различных случаев
Наиболее характерные для моего (предполагаемого) сетапа случаи
- Клиентское подключение, Влан-на-клиента, ONU в режиме бриджа, 1 eth порт. Со стороны клиента - просто нетеггированный влан, со стороны аплинка OLT - тегированный влан
- Клиентское подключение, Влан-на-клиента с двойным тегом (на перспективу), ONU в режиме бриджа, 1 eth порт. Со стороны клиента - просто нетеггированный влан, со стороны аплинка OLT - тегированный влан с двойным тегом
- Подключение коммутатора через xPON ONU Stick (ONU в виде SFP-модуля). Проброс нескольких VLAN (без Native)
- Подключение коммутатора через xPON ONU Stick (ONU в виде SFP-модуля). Проброс нескольких VLAN, один Native для управления коммутатором, остальные с тегом.
- То же самое но с двойным тегом на выходе. Подключение коммутатора через xPON ONU Stick (ONU в виде SFP-модуля). Проброс нескольких VLAN, один Native для управления коммутатором, остальные с тегом.
Вся конфигурация тестируется ИСКЛЮЧИТЕЛЬНО на прошивке 2.1.0, так как у меня используется именно такая (новые линейные платы ревизии К заработали нормально только с ней)
Части конфигурации общие для разных случаев
VLAN
Используются следующие номера VLAN
- 99 - это +/- Management VLAN в котором назначаются адреса для ONU (для тех которые могут получить адрес со стороны PON)
- 201- ... - это клиентские VLAN, в схеме предполагается Vlan-Per-User
gpon profile tcont
Профили определяющие скорость, применяются на трафик контейнеры (tcont
).
tcont
по сути буфер на стороне ONU, и имеет смысл только если говорить про восходящий трафик (от ONU, от абонента к OLT, "голове")
gpon profile tcont PROFILE-TCONT-UP-1Mb type 4 maximum 1024 profile tcont PROFILE-TCONT-UP-10Mb type 4 maximum 10240 profile tcont PROFILE-TCONT-UP-100Mb type 4 maximum 102400
Тут очевидный пример на 1, 10 и 100 мбит
Про типы tcont
подробнее написано в разделе GPON Fundamentals
gpon: profile traffic
gpon profile traffic PROFILE-TRAFFIC-DOWN-1Mb sir 1024 pir 1024 profile traffic PROFILE-TRAFFIC-DOWN-10Mb sir 1024 pir 10240 profile traffic PROFILE-TRAFFIC-DOWN-100Mb sir 1024 pir 102400
Профили трафика
pon:
onu-type
, onu-type-if
pon onu-type GPON_ONE_ETH_PORT gpon description "ONU_with_one_ethernet_interface" onu-type-if GPON_ONE_ETH_PORT eth_0/1
Самый базовый случай, клиентское подключение 1 клиента (опционально трансляция VLAN
)
Список ONU
Проверено на следующих ONU
ZTEGC6E0XXXX
, ZTE, один порт ethHWTC9E82XXXX
, Huawei, oдин порт ethJY230803XXXX
, XPON Stick (SFP), неизвестного производителя - заставить работать в режиме выдачи нетеггированного трафика (не делая настройки средствами самого стика) не удалось
Прописать ONU в разрешенных
ZTEGC6E0XXXX
- серийный номер ONUgpon-olt_1/1/1
- номер порта на котором она видна (по сути это ветка PON)
interface gpon-olt_1/1/1 no shutdown linktrap disable onu 1 type GPON_ONE_ETH_PORT sn ZTEGC6E0XXXX
interface gpon-onu_1/1/1:1
- в имнени интерфейса
interface gpon-onu_1/1/1:1
последняя цифра (:1
) совпадает с номером ONU в командеonu 1 type GPON_ONE_ETH_PORT sn ZTEGC6E0XXXX
- Насколько я понимаю, это настройка виртуального порта который "как бы смотрит в сторону
ONU
"
Полный конфиг
interface gpon-onu_1/1/1:1 tcont 1 name TCONT-INET profile PROFILE-TCONT-UP-100Mb gemport 1 name GEMPORT-INET tcont 1 gemport 1 traffic-limit upstream PROFILE-TRAFFIC-DOWN-100Mb downstream PROFILE-TRAFFIC-DOWN-100Mb service-port 1 vport 1 user-vlan 101 vlan 201 service-port 128 vport 1 user-vlan 99 vlan 99 exit
Разбор конфига
Параметры настройки означают следующее:
tcont 1 name TCONT-INET profile PROFILE-TCONT-UP-100Mb
tcont 1 name TCONT-INET
- указать что используетсяtcont
с номером 1, номер в целом произвольный,
число поддерживаемых tcont
зависит от модели ONU
, в простых случаях нет смысла использовать более чем 1 (с номером 1, который должен всегда существовать на всех моделях ONU)
profile PROFILE-TCONT-UP-100Mb
Профиль (описан выше, в начале), определяет как скорость так и типtcont
(в профиле тип 4)
gemport 1 name GEMPORT-INET tcont 1
Поместитьgemport
1 вtcont
1, при этом номера какtcont
так иgemport
- уникальны только в пределах настройки ONU, плобальные идентификаторы скрыты и назначаются автоматически, смысла узнавать их я пока-что не вижую
gemport 1 traffic-limit upstream PROFILE-TRAFFIC-DOWN-100Mb downstream PROFILE-TRAFFIC-DOWN-100Mb
Указать профиль для ограничения трафика. Почему указан лимит трафика в 2-х направлениях, я пока что не могу сказать, однако ограничения работают. (тестировалiperf
) Профиль трафика описан в начале документа.
service-port 1 vport 1 user-vlan 101 vlan 201
- по сути эта команда представляет собой прописывание VLAN в сторону ONU, примерно аналогичноswitchport allowed vlan add
service-port 1
- номерservice-port
который уникален в пределах ONU, другими словами что бы прописать несколько VLAN потребуется несколькоservice-port
, значение 1 тут взято из головы, и никакого технического смысла не несет.vport 1
Номер виртуального порта, само значение 1 выбрано произвольно. К виртуальному порту можно относиться, как к промежуточному буферу на OLT-е и ONU, куда помещается Ethernet кадр до преобразования в GEM кадр и после преобразования из GEM кадра, Часть обработчиков (например, storm-control) работают именно с виртуальными портами.user-vlan 101
Номер VLAN который будет видне уже на стороне ONU, и там именно с тэтим номером VLAN нужно будет работатьvlan 201
Номер VLAN который виден OLT, этот номер нужно указывать на UPLINK порту, именно в нем смотреть MAC-адреса, по сути тут делается трансляция VLAN. Разные номера взяты просто для эксперемента, в простейшей конфигурации особого смысла в этом нет и можно использовать один и тот же номер.
service-port 128 vport 1 user-vlan 99 vlan 99
- добавление 99 VLAN, без трансляции, VLAN используется для IP-адресов ONU. Номерservice-port 128
выбран из головы, как максимально доступный, можно использовать любой другой, кроме уже занятого 1-го
Проверить настройки:
show run interface gpon-onu_1/1/1:1
pon-onu-mng gpon-onu_1/1/1:1
pon-onu-mng gpon-onu_1/1/1:1
- это настройки на сторонеONU
, пока для того что бы уложить в голове я думаю о том как настройкеONU
, как со стороны интерфейса который смотрит вPON
в сторонуOLT
так и в сторону медных портовOLT
Полный конфиг
pon-onu-mng gpon-onu_1/1/1:1 mgmt-ip 10.99.0.1 255.255.255.0 vlan 99 priority 0 route 0.0.0.0 0.0.0.0 10.99.0.254 host 1 service VLAN99 gemport 1 vlan 99 service VLAN101 gemport 1 vlan 101 loop-detect ethuni eth_0/1 enable vlan port eth_0/1 mode tag vlan 101 exit
Разбор конфига
mgmt-ip 10.99.0.1 255.255.255.0 vlan 99 priority 0 route 0.0.0.0 0.0.0.0 10.99.0.254 host 1
Добавить управляющий адрес наONU
. Отмечу, что пока что в моей, откровенно небольшой практике, далеко не все ONU получили адрес.service VLAN99 gemport 1 vlan 99
- (предположительно) принять 99 VLAN со стороны PON, в
gemport 1
, номерgemport
(предположительно) берется изinterface gpon-onu_1/1/1:1
-->gemport 1 name GEMPORT-INET tcont 1
, хотя я пока не нашел описания как именно понять какой VLAN в какой gemport помещается.
- (предположительно) принять 99 VLAN со стороны PON, в
service VLAN101 gemport 1 vlan 101
- (предположительно) принять 99 VLAN со стороны PON, в
gemport 1
- (предположительно) принять 99 VLAN со стороны PON, в
loop-detect ethuni eth_0/1 enable
vlan port eth_0/1 mode tag vlan 101
Проверить настройки:
show onu run conf gpon-onu_1/1/1:1
Проверка VLAN
C320-Donec#show vlan 99 vlanid :99 name :VLAN0099 description :N/A multicast-packet:flood-unknown tpid :0x8100 vlan connect :disable port(untagged): port(tagged): gpon-onu_1/1/1:1-4:1 gei_1/4/1 C320-Donec#show vlan 201 vlanid :201 name :VLAN0201 description :N/A multicast-packet:flood-unknown tpid :0x8100 vlan connect :disable port(untagged): port(tagged): gpon-onu_1/1/1:1:1 gei_1/4/1,3
Клиентское подключение 1 клиента, добавление QinQ внешнего тега SVLAN
(опционально трансляция VLAN
)
В дополнение, хочется добавить к клиентскому VLAN внешний тег, для (будущего) применения вместе с ASR1000.
Список ONU
Проверено на следующих ONU
ZTEGC6E0XXXX
, ZTE, один порт eth- ???
interface gpon-onu_1/1/1:1
Все настройки очень похожи на предыдущий случай, подробно разбираю только отличия
Полный конфиг
interface gpon-onu_1/1/1:1 sn-bind enable sn tcont 1 name TCONT-INET profile PROFILE-TCONT-UP-100Mb gemport 1 name GEMPORT-INET tcont 1 gemport 1 traffic-limit upstream PROFILE-TRAFFIC-DOWN-100Mb downstream PROFILE-TRAFFIC-DOWN-100Mb service-port 1 vport 1 user-vlan 101 vlan 201 svlan 301 service-port 128 vport 1 user-vlan 99 vlan 99 exit
Разбор конфига
Параметры настройки означают следующее:
service-port 1 vport 1 user-vlan 101 vlan 201 svlan 301
svlan 301
- это и есть основная магия - добавления внешнего тега.
При этом, очевидно что в таком виде трафик попадет на OLT но не далее, что бы он был отправлен дальше требуется настройка на Uplink интерфейсах, о которой ниже
pon-onu-mng gpon-onu_1/1/1:1
Ничем не отличается от предыдущего случая - ONU ничего не "знает" про QinQ SVLAN
Настройка Uplink интерфейсов
Первый и очевидный шаг - добавить VLAN 301 (внешний тег!) на Uplink-интерфейс =)
Далее нужно сделать отступление - не смотря на то что QinQ это "как-бы" Vlan внутри Vlan, на самом деле это не совсем так, и тут возможны разные варианты.
Есть 2 (самых распространенных) варианта:
- TPID и во внешнем и во внутреннем VLAN один и тот же (
0x8100
)
ethertype 802.1Q (0x8100), length 68: vlan 301, p 0, ethertype 802.1Q, vlan 101,
Это поведение по-умолчанию у ZTE OLT но это НЕ СООТВЕТСТВУЕТ стандарту, и может ломать прохождение трафика, особенно по чужим сетям, где транспортный провайдер откажется принимать такой трафик.
Тут 301 - это внешний тег, а 101 - внутренний, но оба они имеют тип ethertype 802.1Q (0x8100)
- TPID во внешнем VLAN установлен в соответвии со стандартом (
0x88a8
)
ethertype 802.1Q-QinQ (0x88a8), length 50: vlan 301, p 0, ethertype 802.1Q, vlan 201,
Тут 301 - это внешний тег c типом ethertype 802.1Q-QinQ (0x88a8)
, а 101 - внутренний, c типом ethertype 802.1Q (0x8100)
Это поведение требует дополнительной настройки со стороны ZTE OLT
Иногда используют термин TPID для обозначения типа кадров.
Для того что бы на выхоже получить нужный тип трафика, следует изменить следужшие настройки
Глобально разрешить использование нужных TPID
tpid outer 0x8100,0x88a8 inner 0x8100
Указать тип TPID в конфигурации VLAN
vlan 301 tpid 0x88a8
Указать на интерфейсе тип используемого TPID
interface gei_1/4/1 no shutdown hybrid-attribute fiber negotiation auto flowcontrol disable linktrap enable switchport mode hybrid switchport tpid vlan switchport default vlan 3100 switchport vlan 99-299,301 tag port-protect disable uplink-isolate disable
Настройка со стороны Linux
Для тестирования у меня используется Linux в роли "BRAS", и тут есть некоторые тонкости:
Добавление интерфейса с внешним (SVLAN
) ID
ip link add link eth0 name vlan301 type vlan id 301 proto 802.1ad
eth0
- корневой интерфейсname vlan301
- имя (произвольное но с ограничением по длине: как и для других типов интерфейсов)vlan id 301
proto 802.1ad
как раз указывает нужную настройку, на уже существующих интерфейсах мне эту настройку сменить не удалось хотя команда по смене не возвращала ошибок.
Проверить результат:
ip -d link show dev vlan301 21: vlan301@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000 link/ether b8:27:eb:24:8d:f2 brd ff:ff:ff:ff:ff:ff promiscuity 0 vlan protocol 802.1ad id 301 <REORDER_HDR> addrgenmode none numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535
Добавление интерфейса с внешним (CVLAN
) ID
ip link add link vlan301 name vlan301.201 type vlan id 201 proto 802.1q
vlan301
- корневой интерфейс (добавляем влан к влану!)vlan301.201
- имя (произвольное)vlan id 201
- ID клиентского VLAN (CVLAN), напомню что номер 201 - это номер на OLT, не забывать про возможную трансляцию VLANproto 802.1q
- указывает что внутри обычный VLAN
Дополнительно про Uplink TPID
В целом возможно когда на Uplink будут разные TPID
у разных SVLAN
tpid outer 0x8100,0x88a8 inner 0x8100
vlan 301
tpid 0x88a8
В конфиге такая настройка (по умолчанию!) не отображается:
vlan 302 tpid 0x8100
interface gei_1/4/1 no shutdown hybrid-attribute fiber negotiation auto flowcontrol disable linktrap enable switchport mode hybrid switchport tpid vlan switchport default vlan 3100 switchport vlan 99-299,301-302 tag port-protect disable uplink-isolate disable
И со стороны роутера
ip -d link show dev vlan301
21: vlan301@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000 link/ether b8:27:eb:24:8d:f2 brd ff:ff:ff:ff:ff:ff promiscuity 0 vlan protocol 802.1ad id 301 <REORDER_HDR> addrgenmode none numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535
ip -d link show dev vlan302
23: vlan302@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000 link/ether b8:27:eb:24:8d:f2 brd ff:ff:ff:ff:ff:ff promiscuity 0 vlan protocol 802.1Q id 302 <REORDER_HDR> addrgenmode none numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535
тут обращать внимание на : vlan protocol 802.1ad id 301
и vlan protocol 802.1Q id 302
, при этом такие интерфейсы работают одновременно.
Подключение коммутатора через xPON ONU Stick (ONU в виде SFP-модуля). Проброс нескольких VLAN (без Native)
Тут в целом все более или менее аналогично: со стороны интерфейса interface gpon-onu_1/1/1:3
разницы практически нет
interface gpon-onu_1/1/1:3 sn-bind enable sn tcont 1 name TCONT-INET profile PROFILE-TCONT-UP-100Mb gemport 1 name GEMPORT-INET tcont 1 gemport 1 traffic-limit upstream PROFILE-TRAFFIC-DOWN-100Mb downstream PROFILE-TRAFFIC-DOWN-100Mb service-port 1 vport 1 user-vlan 103 vlan 203 service-port 128 vport 1 user-vlan 99 vlan 99
Если нужно несколько VLAN, то в конфигурации будет несколько строк вида service-port Номер_Порта vport 1 user-vlan Номер_Влан_1 vlan Номер_Влан_2
.
- Номер_Порта - произвольные но не повторяющиеся значения, для проброса нескольких VLAN потребуется несколько портов, пробросить VLAN диапазоном я не пробовал, так как такая конфигурация ни в каком виде не планируется
- user-vlan Номер_Влан_1 vlan Номер_Влан_2 - вланы на строне ONU и OLT соответвенно.
Со стороны ONU возможно несколько вариантов
pon-onu-mng gpon-onu_1/1/1:3 mgmt-ip 10.99.0.3 255.255.255.0 vlan 99 priority 0 route 0.0.0.0 0.0.0.0 10.99.0.254 host 1 service VLAN99 gemport 1 vlan 99 service VLAN101 gemport 1 vlan 103 loop-detect ethuni eth_0/1 enable vlan port eth_0/1 mode hybrid def-vlan 103 vlan port eth_0/1 vlan 103
vlan port eth_0/1 mode transparent
vlan port eth_0/1 mode hybrid def-vlan 103
- Native Vlan (НЕ ЗАРАБОТАЛО С SFP!)vlan port eth_0/1 vlan 103
- отдать с тегом (103!, 203 это тег только на OLT!)vlan port eth_0/1 mode transparent
- прозрачно пробросить, что бы не прописывать несколько VLAN как я понимаю
Проброс SVLAN
Отмечаю только различия:
interface gpon-onu_1/1/1:3 sn-bind enable sn ... service-port 1 vport 1 user-vlan 103 vlan 302
user-vlan 103
- это VLAN который будет виден за ONU (как внешний!), так как есть трансляция (если не нужна то указать одинаковые VLAN ID)vlan 302
- это VLAN из которого транслировать
Как я понимаю, тут не важно есть ли внутри вложенные VLAN или нет
Тут тоже указываю только отлииче:
pon-onu-mng gpon-onu_1/1/1:2 ... vlan port eth_0/1 mode transparent
Насколько я могу понять, эта настройка пробросит трафик не внося в него изменний, и на выходе будет двойное тегирование.
Подключение коммутатора через xPON ONU Stick (ONU в виде SFP-модуля). Проброс нескольких VLAN c Native
Тут в целом все более или менее аналогично: со стороны интерфейса interface gpon-onu_1/1/1:3
разницы практически нет
interface gpon-onu_1/1/1:4 sn-bind enable sn tcont 1 name TCONT-INET profile PROFILE-TCONT-UP-100Mb gemport 1 name GEMPORT-INET tcont 1 gemport 1 traffic-limit upstream PROFILE-TRAFFIC-DOWN-100Mb downstream PROFILE-TRAFFIC-DOWN-100Mb service-port 1 vport 1 user-vlan 104 vlan 204 service-port 2 vport 1 user-vlan 105 vlan 205 service-port 3 vport 1 user-vlan 106 vlan 206 service-port 128 vport 1 user-vlan 99 vlan 99
pon-onu-mng gpon-onu_1/1/1:4 mgmt-ip 10.99.0.4 255.255.255.0 vlan 99 priority 0 route 0.0.0.0 0.0.0.0 10.99.0.254 host 1 service VLAN99 gemport 1 vlan 99 service VLAN101 gemport 1 vlan 104 service VLAN105 gemport 1 vlan 105 service VLAN106 gemport 1 vlan 106 loop-detect ethuni eth_0/1 enable vlan port eth_0/1 mode hybrid def-vlan 104 vlan port eth_0/1 vlan 105-106
Для того что бы это заработало, мне пришлось выставить со стороны xPON STICK ONU
flash set VLAN_CFG_TYPE 1 VLAN_CFG_TYPE=1
- (Зайти на ONU в такой конфигурации можно только с "медной" стороны, зайти через оптику не выходит)
- Подробнее можно читать тут: https://github.com/Anime4000/RTL960x/tree/main#readme (информации много но примеров настройки того что я хотел - нет)
Самый ходовой конфиг
show gpon onu uncfg
OnuIndex Sn State --------------------------------------------------------------------- gpon-onu_1/1/1:1 ZTEGC192E3BD unknown
conf t interface gpon-olt_1/1/1 onu 1 type GPON_ONE_ETH_PORT sn ZTEGC192E3BD
interface gpon-onu_1/1/1:1 sn-bind enable sn tcont 1 name TCONT-INET profile PROFILE-TCONT-UP-100Mb gemport 1 name GEMPORT-INET tcont 1 gemport 1 traffic-limit upstream PROFILE-TRAFFIC-DOWN-100Mb downstream PROFILE-TRAFFIC-DOWN-100Mb service-port 1 vport 1 user-vlan 101 vlan 101 service-port 128 vport 1 user-vlan 99 vlan 99
pon-onu-mng gpon-onu_1/1/1:1 mgmt-ip 10.99.0.1 255.255.255.0 vlan 99 priority 0 route 0.0.0.0 0.0.0.0 10.99.0.254 host 1 service VLAN99 gemport 1 vlan 99 service VLAN101 gemport 1 vlan 101 loop-detect ethuni eth_0/1 enable vlan port eth_0/1 mode tag vlan 101