Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Section

Общее описание, причины создания и кейсы применения TR-069


Column
width70%

В роутерах SNR реализовано множество механизмов удаленного управления и диагностики, одним из которых является TR-069

Протокол TR-069, известен как "CWMP" - (CPE WAN Management Protocol), был создан в 2004 году некоммерческой организацией Broadband-forum (BBF) из-за растущего числа CPE, требовавших унификации, стандартизации обслуживания, настройки и мониторинга на сети у операторов связи. Протокол определяет принципы взаимодействия между абонентскими устройствами и сервером автоконфигурации (ACS).

  • Автоматическая настройка оборудования при его установке;
  • Мониторинг устройств на наличие неполадок;
  • Конфигурирования Wi-Fi CPE;
  • Установки и обновления ПО на CPE;
  • etc...

Одним из возможных решений для удаленного управления является GenieACS, выпускаемое под лицензией с открытым исходным кодом и не являющееся проприетарным.
Подробнее о GenieACS вы можете узнать по ссылке: https://genieacs.com

При использовании GenieACS, в разделе Devices отображаются CPE, прошедшие авторизацию на ACS.
Нажатие на CPE из списка даст доступ к подробной информации о самой CPE и о ее параметрах.

Далее, на примере GenieACS, рассмотрим часто используемый функционал CWMP.


Column
width30%


Panel
borderColorgrey
bgColorwhite
borderWidth1
borderStyledashed



...

Section


Автоматическая настройка CPE


Column
width70%

При необходимости внедрения оборудования у клиента, скрипты автонастройки помогут изменить необходимые параметры и ускорить этот процесс. Добавить 

С помощью добавления скрипта в разделе Admin → Provisions → New в GenieACS, можно задать необходимые настройки по умолчанию.

Например, в заводской конфигурации SNR-CPE задан 44 канал в Wi-Fi 5 ГГц. В примере показано отражено условие для скрипта, которое изменит параметр на "Автовыбор".

Добавьте параметр и его состояние для скрипта в разделе Admin → Provision кнопкой New.


Expand
titleПример настройки условия


Затем добавьте предустановку Admin → Presets, нажав кнопку New. 


Expand
titleПример настройки скрипта


При указании события 0 BOOTSTRAP, применение параметра "Автовыбор" для канала Wi-Fi 5 ГГц произойдет при первичной установке роутера у пользователя.


Column
width30%


Panel
borderColorgrey
bgColorwhite
borderWidth1
borderStyledashed



...

Section


Установка и обновление конфигурации ПО


Column
width70%

Чтобы обновлять группу устройств не по отдельности, а массово и централизованно, можно установить образ прошивки на ACS, затем обновить вручную, либо через provision-скрипт.

Для загрузки ПО на сервер:

  1. В разделе Admin → Files кнопкой New загрузите образ с локального устройства.
  2. В пункте Type выберите 1 Firmware Upgrade Image, пункты OUI, Product Class, Version можно оставить пустыми.
  3. В пункте File выберите бинарный образ прошивки, который хотите загрузить на ACS-сервер.
  4. Нажмите Save.
    image2021-8-25_16-14-56.png

Для установки образа ПО на подключенные к ACS роутеры есть 2 способа:


Expand
titleПример ручной установки прошивки

В разделе Devices отображаются CPE, которые успешно прошли авторизацию на ACS.

image2021-8-26_11-52-27.png

С помощью Filter выбираем нужные нам CPE, в примере это SNR-CPE-ME2-Lite. 

image2021-8-26_11-53-45.png

С помощью кнопки Push File выберите загруженную на ACS прошивку, нажмите Queue и Commit, после чего произойдет обновление прошивки на CPE.




Expand
titleПример настройки скрипта автоматического обновления

Создадим скрипт в AdminProvisions → New, укажем в нем ранее добавленный файл прошивки.

declare("Downloads.[FileType:1 Firmware Upgrade Image]", {path: 1}, {path: 1});
declare("Downloads.[FileType:1 Firmware Upgrade Image].FileName", {value: 1}, {value: "SNR-CPE-firmware.bin"});
declare("Downloads.[FileType:1 Firmware Upgrade Image].Download", {value: 1}, {value: Date.now()});

  • const now = Date.now() - объявляем константу now, которая обозначает текущий отрезок времени;
  • declare - задаем параметру значение которое он должен принять;
  • FileType - параметр указания типа передаваемого файла.

Создадим предустановку в Admin → Presets → New, указав ранее созданный скрипт, условие учета наименования модели, события 1 BOOT, условие учета текущей версии на роутере и параметр учета времени срабатывания раз в сутки с 4:00 до 4:59 в формате cron.




Column
width30%


Panel
borderColorgrey
bgColorwhite
borderWidth1
borderStyledashed




Excerpt
hiddentrue

РАЗДЕЛ СКРЫТ! НЕ ОТКРЫВАТЬ!!!

Section

Заключение


Column
width70%



Column
width30%


Panel
borderColorgrey
bgColorwhite
borderWidth1
borderStyledashed




Подробное описание логики работы CWMP (в проработке)

Section

Описание работы процедур


Column
width70%

0. Обнаружение CPE на ACS

Спецификацией TR-069 определено 2 основных способа подключения CPE к ACS:

  • При локальном конфигурировании CPE, реквизиты доступа на ACS могут быть заданы вручную;
  • При использовании DHCP, реквизиты доступа CPE на ACS могут быть переданы сервером DHCP, вместе с собственным адресом CPE. Для передачи реквизитов ACS в DHCP используется опция 43 DHCP.

1. Установка соединения

И CPE и ACS могут инициировать процесс соединения, однако, только CPE может инициировать саму сессию взаимодействия, и вот в каких случаях:

  • Включение или перезагрузка CPE
  • Первоначальное подключение и настройка CPE
  • При получении от ACS запроса соединения
  • При изменении ключевых параметров
  • При сбое в соединении предыдущей сессии

При успешной установке соединения, CPE отправляет INFORM. При успешном прохождении запроса, CPE завершит установку сессии.

При инициативе соединения от ACS, сервер отправляет GET-запрос по определенному URL CPE, без передачи каких-либо данных. CPE выполняет проверку подлинности запроса, при успешном прохождении проверки, CPE формирует ответ и инициируется сессия с ACS.

Безопасность соединений достигается за счет SSL/TLS аутентификации. ACS сервер, выступая HTTP-сервером, посылает свои SOAP-запросы в ответ на SOAP-запросы от CPE, являющимся HTTP-клиентом. SOAP-запросов в одном HTTP-сообщении может быть несколько, а параметры CPE будут передаваться в запросах/ответах от CPE. 

2. Передача файлов

При необходимости инициирования передачи файлов, CWMP определяет наличие активной сессии. Способы передаче файлов:

  • CPE может отправлять HTTP GET в рамках имеющейся сессии. После передачи файлов, CPE может перейти к передаче других сообщений в сессии;
  • CPE может открыть дополнительную сессию для передачи файлов, с сохранением основной сессии. Количество сессий регулируется в TR-069;
  • CPE может прекратить текущую сессию, но инициировать отдельную сессию для передачи файлов.

При несовпадении адреса ACS и адреса источника файла, может использоваться только 2 последних способа.

3. Закрытие соединения

В спецификации TR-069 определены условия закрытия сессии:

  • CPE получила пустой запрос от ACS;
  • CPE не осуществляет запрос на ACS и не ожидает ответ от ACS;
  • CPE получила от ACS все ответы на свои запросы;
  • CPE передал ответы на запросы ACS.

При выполнении всех условий без исключения, будет инициировано закрытие сессии. Это требуется, чтобы не допускать случайных разрывов и потерю данных.


Column
width30%


Panel
borderColorgrey
bgColorwhite
borderWidth1
borderStyledashed




Section


Параметры и стек протоколов CWMP


Column
width70%

Параметры CWMP

Представляют собой модель данных. Основное назначение - управление конфигурацией, предоставление ACS характеристик и состояния CPE. В CWMP все параметры представляют иерархическую структуру объектов, каждый из которых содержит один или несколько параметров. 

Есть 2 типа параметров:

  • read-only - используются сервером ACS для определения характеристик и их текущего состояния, накопления статистики;
  • read-write - используются сервером ACS для изменения конфигурации CPE.

Все параметры объединены в иерархическую структуру, которая представлена в виде объекта, содержащего набор параметров.

Один из таких объектов - CommonObjects, содержащий параметры определения типа CPE:

  • DeviceInfo;
  • ManagementServer;
  • GatewayInfo;
  • Time;
  • Config;
  • UserInterface;
  • LAN.



Column
width30%

Стек протоколов

CPE/ACS Application 

Локальное приложение, используемое в CWMP.


RPC

Remote Procedure Call - определенные CWMP методы двухстороннего взаимодействия между ACS и CPE. Подробнее про RPC-методы рассказывается далее.



SOAP

Основанный на XML синтаксис удаленного вызова процедур. Состоит из:

  • Envelope - определяет XML-документ, как SOAP-сообщение с помощью определенного  пространства имен;

  • Header - атрибуты сообщения;

  • Body - сообщение, передаваемое web-приложением.

HTTP

Протокол прикладного уровня для передачи данных. Используется в качестве транспортного протокола для SOAP запросов.

TLS

Протокол защиты транспортного уровня.

TCP/IP

Стандартная сетевая модель передачи данных. 





Section


RPC-методы CWMP


Column
width70%

Описание


Column
width30%

RPC-методы

GetRPCMethodsИспользуется ACS и используется CPE для получения доступных методов ACS и CPE
GetParameterValuesИспользуется ACS для получения значений параметров на CPE
SetParameterValuesИспользуется ACS для изменения значений параметров на CPE
GetPrameterNamesИспользуется ACS для определения доступных параметров CPE
SetParameterAttributesИспользуется ACS для указания атрибутов параметров CPE
GetParameterAttributesИспользуется ACS для получения атрибутов параметров CPE
AddObjectИспользуется ACS для создания экземпляров объекта в CPE
DeleteObjectИспользуется ACS для удаления экземпляров объекта из CPE



Inform

Используется CPE для отправки inform-сообщений на ACS по причине:

  • Инициированного подключения к ACS
  • Уведомления об изменении конфигурации CPE
  • Периодическое обновление статуса и значений параметров CPE на ACS
TransferCompleteИспользуется CPE вне зависимости от успешности передачи файла, для сообщении о завершении процедуры передачи файла
FactoryResetИспользуется ACS для восстановления заводских настроек CPE
DownloadИспользуется ACS для установки конфигурации или образа ПО с определенного URL для обновления CPE
UploadИспользуется ACS для выгрузки файла по определенному URL с CPE
RebootИспользуется ACS для перезагрузки CPE 




...