ZTE 320 ONU Settings

Материал из noname.com.ua
Перейти к навигацииПерейти к поиску

Конфигурация 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, один порт eth
  • HWTC9E82XXXX, Huawei, oдин порт eth
  • JY230803XXXX, XPON Stick (SFP), неизвестного производителя - заставить работать в режиме выдачи нетеггированного трафика (не делая настройки средствами самого стика) не удалось

Прописать ONU в разрешенных

  • ZTEGC6E0XXXX - серийный номер ONU
  • gpon-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 помещается.
  • service VLAN101 gemport 1 vlan 101
    • (предположительно) принять 99 VLAN со стороны PON, в gemport 1
  • 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, не забывать про возможную трансляцию VLAN
  • proto 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