CPE上的STUN和TR069功能详解和实验

stun上所设计到的4种nat类型:

最近在测试cpe的时候遇到了一个感觉比较老的协议stun和tr069,以前没怎么用过,所以来记录一下:

  1. Full Cone NAT: 这种类型的NAT只需一个公共IP地址,它将任何外部IP地址和端口映射到内部网络中的一个特定IP地址和端口。这种类型的NAT不会更改IP地址或端口,因此被称为“全锥形”。

  2. Restricted Cone NAT: 这种类型的NAT只会将来自一个外部IP地址和端口的流量映射到内部网络中的一个特定IP地址和端口。但是,只有在内部网络中的特定IP地址和端口向外部IP地址和端口发送数据包时,才能建立连接。这种类型的NAT被称为“受限制的锥形”。

  3. Port Restricted Cone NAT: 这种类型的NAT与受限制的锥形NAT类似,但还限制了内部网络中的特定IP地址和端口只能与一个特定的外部IP地址和端口通信。这种类型的NAT被称为“端口受限的锥形”。

  4. Symmetric NAT: 这种类型的NAT会将来自外部IP地址和端口的数据包映射到内部网络中的一个特定IP地址和端口,并为该连接创建一个新的映射。当内部网络中的不同IP地址和端口向外部IP地址和端口发送数据包时,将创建不同的映射。这种类型的NAT被称为“对称的”。

备注:上述的这几种nat类型在实际应用过程中,只有第4种类型的nat无法应用与stun,至于为什么不能可以去详细搜一下相关资料;我们家庭里面所使用的路由器基本上nat类型都是属于对称nat类型,openwrt路由器在被一些厂家定制自己的uboot的时候都是默认用的该种类型的nat,可能是考虑的安全吧,因为这种nat类型和路由器上nf_conntrack里面记录的seesion会话数是一一对应的,不同的外网ip映射的公网ip和端口都是不同的,且还有会话超时时间,我没记错的话,openwrt路由器上的udp会话老化时间是60s,icmp是120s,tcp的几种状态机制我不太记得了,所以在测试stun和tr069的时候,模拟nat类型需要排除第4种nat类型;如果想知道自己的当前网络是那种nat类型可以去下载一个nat检测工具来检测一下;一般情况下,光猫是路由模式的话,这种网路环境就是对称nat,如果光猫是桥模式,路由器去pppoe拨号的话,这种网络环境就是全锥型nat类型。

什么是TR069?

这是CPE上的一种设备远程管理平台,用于远程管理和监控网络中的设备和设施。TR-069协议主要用于家庭网关、路由器、光猫等网络设备的远程管理,可以实现远程配置、监控和维护。TR-069采用客户端/服务器模型,通过服务器向客户端发送命令,控制客户端设备的配置和状态。TR-069协议的使用可以提高网络设备的管理效率,减少管理成本,同时也可以提高网络安全性。其实我也不太明白为什么要花钱去买个ACS来管理,因为现在基本上所有做路由器的厂商在进行云管理的时候,一般都通过一些TCP的长连接就管理设备了,不知道为啥还需要用这个老协议。一般acs这个平台就是通过tr069管理自己的路由设备的,比如路由器可以将自己的cpu和基本信息上报给acs平台,acs平台可以通过路由器每次上报的时间间隔所建立的会话来下发一些配置,如重启呀这些乱七八糟的东西,我看到cpe上报的这些信息和我之前所接触的snmp种mib很像,不过snmp是一个比较大的管理协议,且一般在x86架构的设备上使用,可能tr069是实用与这种小型的网络设备的管理吧。

TR069和stun有什么联系?

我们的CPE设备100%都是挂在一个nat网络环境中的,而在这种网络环境中,我们的ACS平台要去下发一些命令配置给CPE就必须要等下一次CPE主动上报后,利用这个上报所建立的seesion去反向给设备下发配置,这样设备才能收到,但是假如我们想随时随地的去下发配置和获取CPE的一些状态信息,那不是每次都要等CPE主动上报的时间间隔才能下发?这显然不是我们所期待的,于是就有个stun,一般stun和acs都继承在一个平台,通过在cpe上配置stun服务器的地址,cpe定时的想stun绑定自己的公网ip和端口,这样acs下一次就可以利用这个绑定的公网ip和端口向CPE发起udp连接,通知CPE主动和acs建立tcp连接,acs好立刻把消息通过这个会话数下发下去。

下图是我的这款CPE的tr069上报的间隔时间为18000s,所以如果我没有stun那么每次下发配置就要等18000秒后,cpe主动上报后我才能下发配置。

 

这里可能就有疑问了,我把它设置个30s或者10s不就完了?这显然是不符合现实的网络环境的,你想不可能就你一台设备在上报消息,而且acs这种平台本身稳定性感觉不高,当这个平台管理了1000台甚至1万台设备的时候,绝对会出现消息拥堵的,所以stun就是为了缓解这种现象的。

具体使用方法 

1、配置好你自己的测试环境的stun服务器地址和前面的TR069相关的配置:

2、搭建好自己的测试环境,模拟好nat,注意一定不能使用对称nat环境否则stun穿透就没啥用的,因为他穿透不进来,这是我的一个拓扑图,我没有公网的stun和acs所以只能在内网搭建环境进行测试。

 

 

3、环境搭建好后我们去acs上查看就可以看到cpe上报的udpconnect的连接地址和端口了,这个就是stun绑定的公网ip和饥饿端口,也就是我上面的openwrt路由器的外网的ip和端口。 

 

4、这个时候我们就可以不用等待18000s后下配置了,直接在acs上通过udpconnectionrequestaddress先给cpe下发url地址

备注 :这里acs连续发了三次UDP Connection Request,我去搜索了解了一下,这是acs规定的,避免网络丢包所以连续发了三次,所发送的包里面包含了一个url的消息体格式,ACS向CPE发送一个UDP Connection Request,来触发一个CWMP TR069会话的流程。此示例中,STUN服务器发送了多次相同的UDP Connection Request,以保障消息能被CPE成功接收

5、下面就是开始cpe和acs之间进行相关交互的报文,cpe主动发起TCP与acs建立好连接后开始进行相关配置的下发的操作,在下发配置前,还交互了几个TCP的data报文,我没看懂是什么意思,抓包看,我的cpe和acs之前好像不需要进行auth相关的摘要认证,cpe就直接对acs发起了http请求,然后ACS响应了200 OK,SOAP内容为InformResponse。根据响应头的Set-Cookie信息设置CPE下个请求的Cookie。

 

 6、后面cpe就发起了一个空的http请求,根据TR069协议,消息体长度必须为0,如下案例可以看到Content-Length是0:

 7、ACS响应HTTP 空请求,封装SOAP调用RPC方法,对终端设备进行参数配置或者查询等操作

8、CPE响应上述所下发的配置参数是否成功 

9、ACS下发一个空HTTP响应,根据TR069协议,状态码使用“204(无内容)”,表示本次会话结束,就是目前所有的配置我都下发完了,准备关闭咱们后续的tcp连接了

 

10、开始关闭acs和CPE之前的连接了,后面所需要再次进行下发配置,步骤应该和前面大差不差 

总结

     到这里我的stun和acs的测试已经结束了,可以看到acs这一套的流程还蛮复杂,各种各样的消息体格式,我到现在可能都还有些地方有些模糊。那么就到这里了,有问题留言哦,欢迎前辈们,指正所出现的错误。

备注:上述设计到的acs和cpe之前的交互参考了博文:ACS与CPE的全双工实现-51CTO.COM

如设计到相关侵权问题请立马告知,完全属于无意,秉承学习态度在这里记录自己所遇到的一些新的东西。

 

kerry_hsu
关注 关注
  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
TR069协议与商业应用7——Stun协议实现技术(提供源码解决方案)
eryunyong的专栏
03-06 4519
声明:原创作品,严禁用于商业目的。 如有任何问题,欢迎和我交流:408797506@qq.com(微信:408797506) 文章目录1. 协议规范2. 技术实现3. 对接公网ACS测试 1. 协议规范 STUN(Simple Traversal of UDP over NATs,NAT 的UDP简单穿越)是一种网络协议,它允许位于NAT(或多重NAT)后的客户端找出自己的公网地址,查出自己位于哪种类型的NAT之后以及NAT为某一 个本地端口所绑定的Internet端端口。这些信息被用来在两个同时处于N
TR069协议与商业应用5——TR069协议架构设计
eryunyong的专栏
04-01 4448
程序架构设计的思想来自于easycwmp官网,看过或者用过easycwmp的工程师应该都知道,该开源代码还有商业版,而且价格不菲。easycwmp官网如是说:DataModel is developped with shell as free solution and with C as commercial solution.。开源代码用来学习还是值得的,若是用于商业产品可能就会显得"力不从心"。具体原因在前面的easycwmp商业源码和免费源码对比中可见,那么如何开发可以商业使用的TR069模块,并且实
TR069-STUN
mc105的博客
05-18 825
ACS应该发送多次UDP Connection Request消息,以减少消息丢失的可能性,由于UDP消息不可靠性, ACS发送给同一CPE的多个UDP Connection Request消息的内容(包括消息ID,时间戳和cnonce等)必须完全相同。)消息通知ACS(HeMS)基站设备在NAT之后,并在SOAP报文中携带CPE在公网的IP&Port。ACS获取到CPE公网IP&Port后,在ACS主动连接CPE场景时通过发送。后,延续TR-069协议的原有流程,发送Inform(
TR-069的介绍
最新发布
hlk2011的博客
07-21 1085
本文用于介绍ISP领域常用的管理标准:TR-069,希望能给同行们一点参考和帮助。
ACS模拟器,测试TR069网管协议不错的小服务端
12-04
ACS模拟器,测试TR069网管协议不错的小服务端 可以通过wifi或者串口连接UE,进行数据传输,在没有搭建大型ACS服务器时,是个不错的调试小程序
TR069协议详解
热门推荐
EricFantastic
05-31 5万+
一、关于TR069协议  TR069, 全称“Technical Report 069”,是由DSL Forum(一个非盈利性的全球行业联盟,致力于发展宽带网络规范,其成员包括通讯、设备、计算机、网络和服务提供商等行业的领先厂商,现已更名为“Broadband Forum”)修订一份技术规范,该规范是应用层的管理协议,命名为“CPE广域网管理协议(CPE WAN Management Pro
TR069 测试
TR069 云平台 的博客
09-08 6955
对于需要测试TR069的用户,可以使用一个免费的测试平台。 TR069云平台,中国最好的免费配置平台。 一个完全免费并且功能强大的TR069 ACS平台。 TR069智能云平台提供了完全免费的终端自动配置系统. 使用须知: 1.首先登录到http://39.106.195.193:8888/acscloud 注册您的用户 2.注册成功后,在您的设备端配置ACS URL: http://39.106...
TR069测试openacs环境搭建依赖
11-19
TR069测试、cpe与ACS交互、openacs服务器搭建; 包含了jdk、jboss、mysql、openacs等搭建openacs所需的所有依赖包。
stun测试
weixin_34124939的博客
11-25 1190
2019独角兽企业重金招聘Python工程师标准>>> ...
genieacs:快速轻巧的TR-069自动配置服务器(ACS)
04-29
GenieACS是用于对启用TR-069的设备进行远程管理的高性能自动配置服务器(ACS)。 它利用声明性和容错配置引擎来大规模自动化复杂的配置方案。 经过实践检验,它可以处理数十万甚至数十万个并发设备。 快速开始 安装...
TR069协议与商业应用1——概述(带目录索引)
eryunyong的专栏
03-17 4384
1. 概述: 协议规范,acs环境,免费easycwmp开发设计思想,商业TR069开发 2. TR069知识基础:协议规范、数据模型,RPC method支持, Event事件、acs反向链接,http认证(摘要,基本认证)、STUN等。常见TR069测试的软件,有openacs(鼻祖)、CDRouter、华为的itms、国外的测试工具vigoracs、还有个人组织的xacs等常见测试软件。后续会专门介绍相关测试软件的安装和测试。......
tr069测试平台以及用户手册
03-24
TR069管理系统(XACS)基于TR069协议实现的管理系统,可支持海量CPE的管理及测试。
TR069测试指导
11-21
该文档具体描述TR069 相关项目的测试步骤。文档以中国电信的TR069服务器为样例,做了很详细的测试解析。
acs模拟器软件 用于测试tr069协议
04-27
acs模拟器软件 用于测试tr069协议,基本对这个协议的远程调用方法有个遍历。
TR069测试项列表
08-26
TR069现在是非常热门的远程管理协议,它的测试需要测试协议一致性、PD-128互通性及数据模型参数验证 可提供试用。联系email: kevin.guan#paralink.com.cn(#替换为@)
WinStun 测试工具
05-31
WinStun 测试工具,简单实用,只需输入测试的服务器,即可获取本端ip和端口信息。
TR069协议与商业应用4——TR069服务器测试工具
eryunyong的专栏
03-29 6783
声明:原创作品,严禁用于商业目的。 如有任何问题,欢迎和我交流(微信号:15240377504)。 文章目录1. openACS2. VigorACS3. XACS3.1 概述3.2. 设备接入3.3 管理端登录3.4 更多功能4. 华为ITMS软件4.1 TMS1000 简介4.2 TMS1000 系统组件4.3 TMS1000 应用案例 1. openACS Openacs是一个早期用Java编写的开源的ACS服务器,该项目于2007-09-06 由Audrius Valunas发起,经过四年的开发,O
TR069 RPC 测试
TR069 云平台 的博客
03-09 1598
在基于TR069协议中,定义了很多RPC方法,这些RPC方法的测试都需要进行一个完整的测试。 TR069协议包含了下面的RPC方法: GetParameterValues SetParameterValues AddObject DeleteObject 这些rpc方法,对于开发设备端的同学来说,需要有一个免费的acs服务来测试。 http://39.106.195.193:9090/acsclo...
TR-069 协议简介
lixin62001的专栏
01-18 3298
TR-069是由DSL论坛(www.dslforum.org)所开发的技术规范之一,其全称为“CPE广域网管理协议”。它提供了对下一代网络中家庭网络设备进行管理配置的通用框架和协议,用于从网络侧对家庭网络中的网关、路由器、机顶盒等设备进行远程集中管理。  这些设备不论是在最开始安装的时候还是在后期运行中的业务配置变更或是出现故障需要维护的时候,都需要通过管理接口对设备进行配置或是诊断。现阶
tr069 stun
10-01
TR-069 (Technical Report 069)是一种用于远程管理设备的协议,也被称为CWMP(CPE WAN Management Protocol)。TR-069协议旨在协助服务提供商(SP)远程管理和配置用户设备,如路由器、调制解调器和其他家用网关设备。 而STUN(Simple Traversal of UDP through NATs)是一种用于穿越网络地址转换器(NAT)的协议。NAT是一项常用的网络技术,它将私有IP地址转换为公共IP地址,用于连接到Internet。然而,由于NAT的存在,远程管理设备成为一项具有挑战性的任务,因为SP无法直接访问设备的私有IP地址。这时,STUN协议就可以帮助在设备和SP之间建立一条通信路径。 在TR-069中使用STUN协议,SP可以通过STUN服务器获取设备的公共IP地址和端口号,并利用这些信息建立与设备之间的连接。通过STUN协议,SP可以绕过NAT,并实现与设备之间的远程管理。 TR-069和STUN的结合使用可以帮助SP实现以下几个目标: 1. 对用户设备进行监控和管理,例如远程配置设备参数、更新固件版本等。 2. 提供设备的诊断和故障排除,以帮助用户解决问题。 3. 收集用户设备的统计数据和性能信息,用于网络优化和改进服务质量。 总之,TR-069是一种用于远程管理和配置设备的协议,而STUN协议则用于穿越NAT,在TR-069中用来建立SP与设备之间的通信路径。这种组合可以帮助提供商实现对用户设备的远程管理和故障排除。
写文章

热门文章

  • VScode不同目录下的python文件的引用和绝对路径的使用方法 4380
  • 在VMware vSphere Client客户端中挂载iso文件到虚拟机 4102
  • CPE上的STUN和TR069功能详解和实验 3487
  • 802.11 wpa3-dot1x认证使用的radius server搭建方法 3220
  • Python脚本实现dhcp报文的发送并模拟多用户并发拿取地址 1775

最新评论

  • vscode运行python代码遇见的目录不对导致导包问题的错误

    weixin_55019477: 我也,哥们威武,感谢

  • CPE上的STUN和TR069功能详解和实验

    蓝朋友(๑°3°๑): 有stun的测试原理吗流程吗。

  • VScode不同目录下的python文件的引用和绝对路径的使用方法

    ~橘子有点酸~: 说了等于白说

  • APPium 报权限错误处理“executing ‘start‘: java.lang.SecurityException: Permission Denial:”

    独钓封寒江: 唯一真神

  • APPIUM针对clickable为false的元素无法点击交互成功的解决办法

    努力再努力z: 大佬能解释一下这个命令怎么用吗

最新文章

  • uiautomator2+python报错问题处理: AttributeError: ‘Device‘ object has no attribute ‘uiautomator‘
  • appium踩坑记录:WebDriverWait设定的timeout不生效问题
  • Appium Inspector针对横屏的元素显示无法进行定位的解决办法
2024年9篇
2023年7篇
2022年2篇

目录

目录

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家盐田商场美陈装饰池州玻璃钢人物雕塑定制玻璃钢卡通雕塑超低价德州玻璃钢雕塑订购金华公园玻璃钢雕塑市场湖州玻璃钢抽象雕塑高淳玻璃钢雕塑公司西青玻璃钢花盆花器香港商场美陈费用透光玻璃钢雕塑肇庆商场玻璃钢雕塑公园玻璃钢雕塑代理商中山供应玻璃钢卡通雕塑杭州玻璃钢雕塑怎么样深圳商场美陈多少钱广州装饰商场美陈大型主题商场美陈订购长乐玻璃钢关公雕塑河北超市商场美陈市场武侯玻璃钢花盆花器成品玻璃钢雕塑制作重庆抽象玻璃钢雕塑河源树脂玻璃钢雕塑制作玻璃钢雕塑园玻璃钢新四军雕塑价格佛山玻璃钢景观人物雕塑运动风商场美陈动物玻璃钢雕塑供应商圣诞节商场门头美陈南阳玻璃钢人物雕塑制作价格香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化