实现家庭网关与机顶盒之间丢帧测试的系统及方法与流程

文档序号:16383633发布日期:2018-12-22 09:42阅读:853来源:国知局
实现家庭网关与机顶盒之间丢帧测试的系统及方法与流程

本发明涉及通信与网络技术领域,具体涉及一种实现家庭网关与机顶盒之间丢帧测试的系统及方法。

背景技术

目前家庭网关(residentialgateway,简称rg)与机顶盒(set-topbox,简称stb)之间的故障和通信质量无法通过远程管理查询,若出现故障,需维护人员到达用户现场进行排查,维护效率低,维护成本高。



技术实现要素:

本发明所要解决的技术问题是:提出一种实现家庭网关与机顶盒之间丢帧测试的系统及方法,可对通信链路故障和通信质量进行远程操作测试,减少维护成本,提高维护效率。

本发明解决上述技术问题所采用的技术方案是:

实现家庭网关与机顶盒之间丢帧测试的系统,包括家庭网关和机顶盒,所述家庭网关和机顶盒内均设置用于实现两者之间进行二层数据报文交互的自定义二层丢帧探测协议,所述自定义二层丢帧探测协议的报文包括以下字段:

destinationmac:报文的目的mac地址,6字节;

sourcemac:报文的源mac地址,6字节;

length/type:为0x980a/0x980b,2字节;

option部分:

数据长度:净荷长度,2字节,范围46~1500,目前固定为46;

保留:3字节,保留不用,定为0x00,0x00,0x00;

操作码:1字节,探测请求=0x08,相应报文=0x00;

报文序号:4字节,0~65535;

发送时间:当前发送测试包时间,精确到毫秒;

循环填充:35字节,循环填充0123456789abcde……。

作为进一步优化,所述家庭网关包括tr069处理模块、web处理模块和二层丢帧测试模块;所述二层丢帧测试模块包括:数据接收模块、数据发送模块、线程管理模块和数据结构管理模块;

其中,tr069处理模块用于处理tr069rpc方法,解析二层丢帧测试指令与参数;

web处理模块,用于处理http请求方法,解析二层丢帧测试指令与参数;

数据接收模块,用于处理二层丢帧测试报文的接收;

数据发送模块,用于处理二层丢帧测试报文的发送;

线程管理模块,用于开辟数据发送线程、数据接收线程和进行逻辑处理的主线程,并进行管理;

数据结构管理模块:用于管理二层丢帧测试模块涉及到的数据结构。

作为进一步优化,所述机顶盒包括:数据接收模块,用于处理二层丢帧测试报文的接收;

数据发送模块,用于处理二层丢帧测试报文的发送;

线程管理模块,用于开辟数据发送线程、数据接收线程和进行逻辑处理的主线程,并进行管理。

此外,本发明还提供了一种实现家庭网关与机顶盒之间丢帧测试的方法,应用于上述系统中,包括以下步骤:

a.机顶盒发送广播报文给家庭网关,

b.家庭网关接收到所述广播报文后,记录下机顶盒的mac地址,等待二层丢帧测试指令;

c.家庭网关在收到远程tr069管理系统或本地web管理系统发出的二层丢帧测试指令后,根据记录的机顶盒的mac地址向对应机顶盒发送单播报文;

d.对应机顶盒收到单播报文后,向家庭网关反馈响应报文;

e.家庭网关接收来自对应机顶盒的响应报文;

f.家庭网关统计丢包,并计算丢包率、时延和抖动;

g.家庭网关反馈测试结果给远程tr069管理系统或本地web管理系统;

h.远程tr069管理系统或本地web管理系统根据测试结果判断家庭网络的质量状况。

作为进一步优化,步骤c中,所述家庭网关在收到二层丢帧测试指令后,以一定频率和一定发包个数向机顶盒发送单播报文,所述一定频率和一定发包个数在远程tr069管理系统或本地web管理系统预先设置。

作为进一步优化,步骤c中,所述远程tr069管理系统通过tr069协议向家庭网关远程下发二层丢帧测试指令,所述本地web管理系统通过http协议向家庭网关发送二层丢帧测试指令。

作为进一步优化,步骤f中,家庭网关判断丢包的方法是:若家庭网关向对应机顶盒发送报文到接收到响应报文的间隔时间超过4000毫秒或者没有收到响应报文,则判定该发送报文丢包。

作为进一步优化,步骤f中,丢包率的计算方法为:丢包率=丢包数/总发包数*100%;

时延的计算方法为:单个报文的时延=报文接收时间-报文的发送时间,丢包的报文时延统一为4000毫秒;周期时延=所有报文时延/总发包数;

抖动的计算方法为:单个报文的抖动=此报文的时延–上一个报文的时延;

周期抖动=所有报文抖动/(总发包数–1)。

作为进一步优化,步骤h中,远程tr069管理系统或本地web管理系统根据测试结果判断家庭网络的质量状况,具体包括:

如果二层丢帧测试结果满足下列三个条件中的任意一个,则判断家庭网络质量不好,存在网络故障:

①丢帧率大于等于2%;

②时延大于等于5毫秒,所述时延为单个报文时延或周期时延;

③时延大于等于4毫秒,同时抖动大于等于40%,所述时延为单个报文时延或周期时延,所述抖动为单个报文抖动或周期抖动;

若二层丢帧测试结果均不满足以上条件,则判断家庭网络质量好。

本发明的有益效果是:

利用家庭网关与机顶盒之间的协同工作,通过二层数据探测报文交互,来计算丢包率、时延和抖动,从而判断家庭网关与机顶盒之间的通信链路状况和通信质量;并且可以进行远程操作测试,从而依据测试结果来判定故障原因,减少维护成本,提高维护效率。

附图说明

图1为本发明中的实现家庭网关与机顶盒之间丢帧测试的系统结构框图;

图2为本发明中的家庭网关与机顶盒之间丢帧测试的交互原理图;

图3为本发明中的自定义二层丢帧探测协议报文结构图。

具体实施方式

本发明旨在提出一种实现家庭网关与机顶盒之间丢帧测试的系统及方法,可对通信链路故障和通信质量进行远程操作测试,减少维护成本,提高维护效率。

如图1所示,本发明中的实现家庭网关与机顶盒之间丢帧测试的系统,包括家庭网关(以下简称rg模块)和机顶盒(以下简称stb模块)

rg模块包括tr069处理模块、web处理模块和二层丢帧测试模块;所述二层丢帧测试模块包括:数据接收模块、数据发送模块、线程管理模块和数据结构管理模块;

其中,tr069处理模块用于处理tr069rpc方法,解析二层丢帧测试指令与参数;

web处理模块,用于处理http请求方法,解析二层丢帧测试指令与参数;

数据接收模块,用于处理二层丢帧测试报文的接收;

数据发送模块,用于处理二层丢帧测试报文的发送;

线程管理模块,用于开辟数据发送线程、数据接收线程和进行逻辑处理的主线程,并进行管理;

数据结构管理模块:用于管理二层丢帧测试模块涉及到的数据结构。

stb模块包括:

数据接收模块,用于处理二层丢帧测试报文的接收;

数据发送模块,用于处理二层丢帧测试报文的发送;

线程管理模块,用于开辟数据发送线程、数据接收线程和进行逻辑处理的主线程,并进行管理。

为了实现rg与stb之间的二层数据报文的交互,来计算rg到stb的通信丢包率、时延、抖动,在所述家庭网关和机顶盒内均设置参照ieee802.3ah协议自定义的二层丢帧探测协议,所述自定义二层丢帧探测协议的报文如图3所示,其包括以下字段:

destinationmac:报文的目的mac地址,6字节;

sourcemac:报文的源mac地址,6字节;

length/type:为0x980a/0x980b,2字节,0x980a为rg发送探测,0x980b为stb发送探测;

option部分:

数据长度:净荷长度,2字节,范围46~1500,目前固定为46;

保留:3字节,保留不用,定为0x00,0x00,0x00;

操作码:1字节,探测请求=0x08,相应报文=0x00;

报文序号:4字节,0~65535;

发送时间:当前发送测试包时间,精确到毫秒;

循环填充:35字节,循环填充0123456789abcde……。

本发明中,rg模块和stb模块在上电初始化完成后,均开辟三个独立的线程:数据发送线程、数据接收线程和进行逻辑处理的主线程;基于上述自定义二层丢帧探测协议,家庭网关与机顶盒之间丢帧测试的交互原理如图2所示,其包括以下步骤:

1、stb模块发送广播包:

本步骤中,stb主动发出destinationmac为0xffffffff,sourcemac为stbmac,type=0x980b,操作码为0x08的广播报文;

2、rg模块接收广播报文,学习stb的mac地址:

本步骤中,rg模块在收到stb模块的广播报文后,学习stb的mac地址进行记录,然后修改报文中sourcemac为rgmac,destinationmac为stbmac,操作码为0x00,原路返回给stb,不得对外进行转发;

3、tr069管理系统或本地web管理系统发出二层丢帧测试指令:

本步骤中,tr069管理系统或本地web管理系统在发出二层丢帧测试指令之前,需要进行相关设置,

具体而言,在tr069管理系统上设置发包频率和发包周期,在需要发送测试指令时,向rg模块下发开始测试的rpc(远程过程调用,remoteprocesscall,简称rpc)方法。或者在web页面上设置发包频率和发包周期,在需要发送测试指令时,点击开始测试按钮。

4、rg模块接收二层丢帧测试指令,开始测试:

本步骤中,若为tr069管理系统发送的测试指令,则rg模块通过tr069模块对tr069rpc方法进行处理,解析出二层丢帧测试指令后发送给rg模块,rg模块的主线程接收到指令消息后开始测试;

若为本地web管理系统发出的测试指令,则rg模块通过web处理模块处理http请求,解析出二层丢帧测试指令后发送给rg模块,rg模块的主线程接收到指令消息后开始测试。

5、rg模块向stb模块发送测试包:

本步骤中,rg模块基于发包频率和发包周期通过数据发送线程向stb主动发起目的地址为stbmac地址,type=0x980a,操作码为0x08的单播报文,对stb进行探测;

6、stb模块接收测试包:

本步骤中,stb模块通过其数据接收线程接收来自于rg模块的目的地址为stbmac地址,type=0x980a,操作码为0x08的单播报文;

7、stb模块发送测试响应报文:

本步骤中,stb模块通过其数据发送线程向rg模块被动发出目的地址为rgmac,type=0x980a,操作码为0x00的单播响应报文,用于rg进行丢包统计。

8、rg模块接收测试响应报文:

本步骤中,rg模块通过其数据接收线程接收来自于stb模块的目的地址为rgmac,type=0x980a,操作码为0x00的单播响应报文;

9、rg模块统计丢包,计算丢包率,时延和抖动:

本步骤中,当测试报文从发送到接收的时间间隔超过4000毫秒或没有收到响应报文,这个报文当作丢帧;

一个统计周期内:丢帧率=丢包数/总发包数*100%,单位百分比。

时延计算方法:

单个报文的时延:报文接收时间–报文的发送时间,丢帧的报文时延统一为4000毫秒。

一个统计周期内:时延=所有报文时延/总发包数,单位毫秒。

抖动计算方法:

单个报文的抖动:此报文的时延–上一个报文的时延。

一个统计周期内:抖动=所有报文抖动/(总发包数–1),单位毫秒。

10、rg模块反馈测试结果:

本步骤中,rg模块将测试结果反馈给远程tr069管理系统进行ui显示和/或反馈给本地web管理系统在web页面进行显示。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1