一、TR069定义
TR069是CPE与自动配置服务器(ACS)之间的通信标准,如果用户服务提供商使用TR069自动服务提供功能,ACS会自动提供CPE参数。如果用户同时在CPE和ACS上设置了ACS参数,CPE利用TR069功能自动设置网络参数。
二、TR069 CR RPC与STUN
1.RPC的说明
RPC(Remote Procedure Call)—远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。
RPC采用客户机/服务器模式。请求程序就是一个客户机,而服务提供程序就是一个服务器。首先,客户机调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信息。在服务器端,进程保持睡眠状态直到调用信息到达为止。当一个调用信息到达,服务器获得进程参数,计算结果,发送答复信息,然后等待下一个调用信息,最后,客户端调用进程接收答复信息,获得进程结果,然后调用执行继续进行。
2.CPE与ACS之间的RPC
ACS与CPE之间通过TR069协议特有的RPC方法进行互操作。RPC方法分为ACS支持的方法和CPE支持的方法。ACS支持的方法实际上就是CPE能够远程调用的方法,CPE支持的方法实际上就是ACS能够远程调用的方法。
1)CPE函数由ACS调用,用来对CPE进行管理如:设置CPE参数、获取CPE参数、硬件升级、重启设备等;就是ACS让CPE执行,然后返回参数的话返回到ACS这边。
2)ACS函数由CPE调用,用来向ACS上报状态信息,请求硬件镜像文件下载(用来升级硬件)等。
3.TR069 CR RPC与STUN
NonNATed网络是指在TR069 client与ACS之间的网络不存在NAT网关,ACS可以直接发送消息到TR069 client。
NATed网络是指TR069 client与ACS之间有NAT网关,TR069 client隐藏在NAT网关后面,ACS发送到TR069 client的消息不能直达。
TR069 client与ACS之间通过inform RPC方法来建立tr069 session,在tr069 session中交换信息。Inform RPC是由TR069 client发起的,触发TR069 client发起inform RPC的原因包括:0 bootstrap, 1 boot, 2 periodic, 3 scheduled, 4 value changed, 5 kicked, 6 connection request等事件。其中”6 connection request”事件在TR069 client收到ACS的CR(connection request)RPC方法后会立即触发inform RPC方法。所以CR RPC提供了ACS随时与TR069 client交换信息的能力。
在NonNATed网络,CR RPC通过TCP传送,即ACS发起并建立到TR069 client之间的TCP连接,然后发送CR RPC,然后终止TCP连接。
在NATed网络,CR RPC通过UDP传送,即STUN Client与STUN Server之间通过STUN协议维持一个通信通道,保证STUN Server可以发送UDP消息到STUN Client,ACS的CR RPC通过这个UDP通道发送到TR069 client。
三、操作
1)在本地抓包
抓TR069的数据包
1.在本地的xShell串口内输入:
tcpdump -i eth1.1121 -w/tmp/tr069.cap
2.打开wincap,输入主机名:192.168.150.1 端口为27149
3.输入用户名和密码
4.在wincap右边找到tmp/tr069.cap的文件,把其拖拽到左边(本地)
5.再用wireshark打开搜索,查找HTTP.1
2)在核心网抓包
备注:在sgi口抓包
1.配置好抓包,过滤filter:ip host 172.16.17.xx and icmp,电脑ping网管,判断是否可以连通网管。(172.16.17.xx是CPE的WAN口地址)
2.页面配置好tr069,先过滤filter,ip host 172.16.17.xx and (icmp or tcp) ,再过滤ip.addr == 172.16.2.26,判断是否有消息上报。
3.查看CPE进程 PS |grep easycwmpd,是否已经启动了。
由此判断tr069的功能是否生效
3)GCT相关的命令操作
1.netstat -nr 查看路由
2.easycwmpd -n 查看帮助
3.easycwmpd -f 启动easycwmpd进程
4.cat /etc/ 查看该etc目录下的文件
5.cat /var/tmp/syslog 查看log
6.more /etc/sysconfig/conf/paramfile.txt