原创做品,转载请注明出处,严禁非法转载。若有错误,请留言!html
email:40879506@qq.comtcp
参考:spa
http://www.cnblogs.com/myblesh/p/6259765.html.net
http://www.cnblogs.com/myblesh/p/6225651.htmlserver
开篇我就计划stun的高级部分,如今终于理清楚实现的原理和CPE侧代码实现。要作一个言而有信的人。htm
一. 协议规范blog
TR069 TR111事件
二. 执行流程
get
在TR111中,CPE设备穿透NAT的策略是STUN,可是STUN是基于UDP的,而TR069中CPE和ACS之间创建的链接是TCP的,那么ACS是如何主动发起链接的呢?实际上ACS主动发起的并非TCP链接,而是能够不须要响应的无链接的。ACS可以自动检测到位于NAT设备或者gateway后面的设备(与STUN bind成功),而后发送UDP connection Request到STUN server,经过STUN server进行转发到与STUN server关联的内部CPE设备,进而CPE发起tr069规范中定义的6 connection request事件(TCP链接成功),在tcp链接超时时间范围内可进行设备管理操做。若是超时,ACS再次主动发送UDP connection Request,而后对设备进行管理操做。io
三. CPE侧实现
下面的流程图是目前CPE侧实现的stun功能,如需高清PDF版,请留言邮箱地址。或者到csdn下载:http://download.csdn.net/detail/eryunyong/9809748