TR-069 协议中 CPE 与 ACS 的会话过程

发布时间: 2023-03-11 15:26:51 作者: 大象笔记

建立连接前 CPE 需要的配置

会话 (Session) 发起者

CPE,即由设备向 ACS 发起会话。

注意:ACS 并不能发起 session 会话,只能由 CPE 发起。

但是,ACS 可以向 CPE 请求 (Connection Request),请求 CPE 发起会话。 对应的场景是,当配置需要立即下发到 TPE 中。

认证过程

会话发起时,ACS 会验证 CPE 提供的账号密码(设备端配置)。密码验证的过程使用了 HTTP Digest method,非 HTTP 明文。为了提高安全性,也可以启用 HTTPS。

CPE 设备标识

由设备序列号(serial number)及生产厂家的唯一标识组成,类似一个联合唯一索引。而设备的 MAC 地址并不作为唯一标识,但是 ACS 依然会保存设备的 Mac 地址,用于 GUI 后台界面的显示,及查询。

设备上的任务执行

在设备认证之后,ACS 会发起一系列的任务 (task)。包括:参数的读取及保存,执行诊断,重启,文件传输等。

CPE 何时向 ACS 发起会话

teamsacs 定义 events 在代码文件 common/cwmp/Message.go:

const (
	// EventBootStrap first connection
	EventBootStrap string = "0 BOOTSTRAP"
	// EventBoot reset or power on
	EventBoot string = "1 BOOT"
	// EventPeriodic periodic inform
	EventPeriodic string = "2 PERIODIC"
	// EventScheduled scheduled infrorm
	EventScheduled string = "3 SCHEDULED"
	// EventValueChange value change event
	EventValueChange string = "4 VALUE CHANGE"
	// EventKicked acs notify cpe
	EventKicked string = "5 KICKED"
	// EventConnectionRequest cpe request connection
	EventConnectionRequest string = "6 CONNECTION REQUEST"
	// EventTransferComplete download complete
	EventTransferComplete string = "7 TRANSFER COMPLETE"
	// EventClientChange custom event client online/offline
	EventClientChange string = "8 CLIENT CHANGE"
)

参考

我是一名山东烟台的开发者,联系作者