0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

利用IP流量发生器实现IPTV测试仪的设计方案

电子设计 来源:电子技术应用 作者:陈玉花,张治中, 2021-04-24 09:28 次阅读

作者:陈玉花,张治中,杜西亚

以IPTV测试仪的网络层测试功能为研究背景,介绍了IPTV的整体设计框架、网络层测试指标的算法设计,并在此基础上探讨了利用IP流量发生器测试这些指标的设计方案。分析了方案中先进的主从机模式和高效的流量产生算法及调度算法,给出了测试方案的仿真结果。结果表明,方案思路清晰、稳定可靠。此方案已应用于IPTV测试仪中,效果良好。

随着数字媒体娱乐的兴起,IPTV吸引了业界众多眼球,成为全球电信业投资重点之一。IPTV业务是伴随着宽带互联网的飞速发展而兴起的一项新兴的互联网增值业务,它利用宽带互联网的基础设施,以家用电视机和电脑作为主要终端,利用网络机顶盒STB(Set-TopBox),通过互联网协议来传送电视信号,提供包括电视节目在内的多种数字媒体服务。IPTV简单来说就是交互式网络电视,它能为用户提供电信级的服务和使用简便的电视式体验。然而,在融合的环境中,使用IPTV这样的应用,服务质量和性能测试显得比以往更加重要。因此,IPTV测试仪应运而生。

IPTV测试仪网络层质量测试,主要指传统IP网络层的性能指标,根据ITU-T Y.1540[3]建议,主要为IP丢包率、IP包时延、IP包抖动及其相关参数。IPTV用户最为注重的就是服务质量,而网络的时延、抖动和丢包将导致图像斑点和马赛克、图片模糊和边缘失真、音频中断以及通道更改延迟等,严重影响了服务质量。因此,本文对网络层指标的测试设计与实现的研究具有重要意义。

1 测试仪的整体框架

IPTV测试仪由软件和硬件两部分组成,而对网络层的测试,主要由硬件部分FPGA模块的IP流量发生器实现,如图1所示。

本文研究的IPTV测试仪网络层测试,采用了单MAC主从机测试模式进行主动测试,利用IP流量发生器自发自收IP包,分析相应的时间戳和包数量等参数,由此计算IP包的时延、抖动和丢包率。

2 网络层测试指标算法设计

IPTV测试仪网络层的测试指标主要包括丢包率、时延、抖动及其相关参数。

2.1 时延和抖动算法设计

在测试中,时延是指测试仪发送测试包与接收测试包的时间的差值。当音频和视频IP包离开发送端时,按照规则的间隔均匀地排列。在通过网络之后,这一均匀的间隔因不同的时延大小而遭到破坏,从而产生抖动。抖动会导致目标终端上音频和视频流的不连贯性。

测试时,在发送的IP 包中加上发送时间戳,在接收时提取IP包中的时间戳,同时记录接收时间,接收和发送的时间的差值即统计时延。

假设发送IP包的时间戳为SentTimei,接收时间为RecvTimei,i为计算时延值Delayi和抖动值Jitteri的个数。为了使计算更为精确,采用概率的统计平均算法,取前2m(m=0、1…16,可设置)个值计算平均值,作为预估平均值,即为所求的时延值和抖动值。具体算法如下:

2.2 丢包率算法设计

丢包对视频播放质量有直接的影响,发生IP数据包丢失可能基于多个原因,如带宽限制、网络拥塞、链路故障以及传输错误。数据包丢失通常代表了一种突发式行为,经常与网络拥塞时段相关联。

丢包率是指测试中所丢失数据包数量占所发送数据包的比率,通常在吞吐量范围内测试。假设第j次主测试仪发送IP包的个数为IPSentj,接收回来的包为IPRecvj,则丢包率IPLostj为:

以上网络层指标的测试,采取主动测试模式,利用IP流量发生器来完成。

3 测试方案设计

3.1主从机测试模式

普通测试仪采用的双MAC单机测试模式,只能测试单个网络,测试距离短、范围小。IPTV测试仪网络层测试采用的是单MAC主从机测试模式,可远距离跨网测试,比单机测试模式测试距离更长,范围更广,精确度更高。

IPTV测试仪在测试网络层指标时,可作为主机发送IP包,可作为从机转发IP包,也可同时作为主机和从机,同时发送接收和转发IP包。如图2所示。

测试仪A和测试仪B测试网络1,测试仪B和测试仪C测试网络2。其中A选择主机状态,发送接收IP包,分析测试指标。C选择从机状态转发B发送的IP包给B。而B则同时作为A的从机和C的主机,负责发送和接收给C的IP包,同时转发回A发送来的IP包。

主从机通信流程图如图3所示。

首先主机A发送连接请求消息,从机B回复连接响应消息。收到回复后,主机A发送连接建立完成消息并发送加上发送时间戳的IP包,从机B接收并转发回IP包给主机A。主机A根据返回IP包的数据计算时延抖动和丢包率。

3.2 整体设计

测试仪的主从机测试模式以及测试指标参数提取是采用IP流量发生器实现的。其主要由控制模块、同步模块、响应模块、ARP/RARP模块、转发模块、IP流量发生模块、自身IP包处理模块、发送模块、发送调度模块、接收模块、接收调度模块等组成。具体方案设计如图4所示。

控制模块负责IP流量发生器与CPU的交互,并控制测试仪处于何种状态:主机状态、从机状态、主从机状态;ARP/RARP模块主要负责ARP/RARP包的处理;同步模块负责主机向从机发送连接请求;响应模块负责从机向主机发送响应信息;转发模块完成主机发送来的IP包的转发;IP流量发生模块产生主机要发送的IP包;自身IP包处理模块完成对从机转发回的IP包进行分析处理,提取网络测试指标参数;接收模块完成网络上各种测试包的接收;接收调度模块调度接收到的测试包发送到相应的模块处理,如将ARP包送到ARP模块;发送模块负责将各种测试包发送到网络;发送调度模块完成各个模块测试包的发送顺序。

3.3 IP流量发生方案

IP流量发生模块是整个IP流量发生器最重要的模块。用户在进行网络层测试时,启动IP流量发生器。用户输入每秒产生的IP包的个数、IP包的长度、IP包的类型、目的IP地址等关键参数。IP流量发生模块根据这些信息生成IP流量。

发送的IP包的生成采用“定点填充、规律生成”的方案,即一些关键信息如测试时间、IP头长度、IP包总长度等在IP包中分配有固定的位置,且取值会对测试结果产生影响。对于这样的信息就要根据IP包的类型和用户填写的信息填充到固定的位置。如图5中的伪码所示。

而IP包承载的一些数据信息可以是任何随意的值,取值多少对测试结果不会产生影响。对于这些信息,为了避免出现全0,将按一定规律产生。如伪码中所示,最高8位为一个固定前缀ti,低8位为位置偏移量的值offset(以4字节为单位)。当offset=x‘01F4’ 时,ti《=ti+1。这样规律产生的数据,便于测试时检查传输数据的正确性和纠错。

3.4 调度算法设计

在IPTV测试仪的IP流量发生器中主要有2个重要的调度:接收调度和发送调度。测试仪处于不同的状态时,采用不同的调度算法。现在以调度最为复杂的主从机状态为例,介绍2个重要调度的算法设计。

(1) 接收调度

接收模块接收的测试包有4种可能:ARP/RARP包、作为从机要转发的包、应主机同步包的响应包、作为主机接收回的自身的IP包。

接收调度就是判断测试包的类型,接收的是哪种类型的测试包就送到相应的处理模块进行处理。

(2)发送调度

相对接收调度,发送调度要复杂很多。因为测试仪同时处于主机和从机状态,它要发送的测试包有:ARP/RARP包、作为主机自身产生的IP包、请求从机建立连接的同步包、作为从机要转发回去的IP包。但是几种测试包可能都在等待发送。因此发送调度模块采用了“先来先服务,同在看级别”的算法思想。

发送模块主要调度4种测试包的发送。当4种IP包到来时间不同时,且每次只有1种包需要发送时,则采用先来先服务FCFS(First Come First Serve)调度算法,哪种测试包先到达,调度模块则将其送到发送模块发送。当有2种或3种测试包在同时等待发送时,根据其优先级排队发送,优先发送级别高的测试包,然后发送级别低的测试包。本方案中ARP/RARP包的级别最高为1,同步包次之为2,转发的IP包级别为3,自身IP流量发生的IP包的级别最低为4。即如果3种包同时需要发送时,优先发送ARP包。

这种算法思想结合了经典的先来先服务调度算法和优先级调度算法的优点,实现了发送模块的最优调度。

4 仿真结果及分析

测试时,IP流量发生器接收用户输入的数据,根据这些数据产生IP包,发送模块在和从机建立连接后,按一定的帧间隔发送IP包,并在IP包头后打上发送时间戳。接收模块接收转发回来的IP包,记录每个IP包的时延,并统计接收到的IP包个数,送到上层应用程序进行计算。

为了便于观察测试结果,测试输入如下:选择主机状态,发送时钟周期选择20 ns,1 s发送50 000个IP包,发送间隔为3个时钟周期,IP包头长度为20个字节,总长度为64字节,没有分片。主机IP地址为10.11.107.75(十六进制表示为0A0B6B4B),从机IP地址为10.11.105.34(十六进制表示为0A0B6922)。发送时间戳存放在IP包头的目的IP地址后。发送和接收模块的仿真图如图6所示。

从图中可以看到,接收到的发送模块发送的IP包包头数据与用户输入数据完全吻合,且IP包数据完全按照IP流量产生算法规律产生。接收模块接收到的目的IP地址与发送模块的源IP地址相同都为主机的IP地址,说明主从机连接成功,通信正常。

FPGA模块有一个公共时钟计数器,以时钟计数器值作为时间戳,接收和发送时的计数器值的差值,乘上时钟周期即为所求时延。统计接收到的IP包的个数,在开始接收时钟与当前时钟差值等于时钟频率时,即接收开始1 s后,输出和1 s钟丢包个数,时间未到时丢包个数保持为0。从图5可以看到,接收模块收到的第6个IP包的发送时间为0x000001F4,接收时钟为 0x000061AB,时延为124 500(0X00005FB4)个时钟周期。在未到1 s时,丢包个数保持为0。

测试结果与预期结果完全一致。同时,经示波器测试,测试结果与仿真结果基本一致。

本文首先介绍了IPTV测试仪的整体框架;然后分析了网络层测试指标算法,提出了利用IP流量发生器实现网络层测试的的设计方案;最后将方案在仿真软件上进行测试和仿真,并给出了部分结果。测试表明,本方案思路清晰,实现简单,程序稳定可靠。本方案已应用到“重邮东电IPTV测试仪”中,测试效果良好。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1624

    文章

    21597

    浏览量

    601009
  • 测试仪
    +关注

    关注

    6

    文章

    3663

    浏览量

    54677
  • 电视
    +关注

    关注

    15

    文章

    2454

    浏览量

    75324
收藏 人收藏

    评论

    相关推荐

    电阻、电容、电感测试仪设计方案与系统的原理框图

    电阻、电容、电感测试仪设计方案比较电阻、电容、电感测试仪的设计可用多种方案完成,例如利用模拟电路,电阻可用比例运算
    发表于 04-12 10:25

    求一款2M误码测试仪设计方案

    本文给出了基于Altera公司的cyclone系列FPGA芯片EP1C12-240PQFP的2M误码测试仪设计方案
    发表于 05-06 08:32

    求一种基于单片机的太阳能参数测试仪设计方案

    求一种基于单片机的太阳能参数测试仪设计方案
    发表于 05-07 06:01

    基于VxWorks的以太网流量发生器实现

    基于VxWorks的以太网流量发生器实现
    发表于 03-29 12:28 23次下载

    正弦信号发生器设计方案

    正弦信号发生器设计方案1 引言    为了精确地输出正弦波、调幅波、调频波、PSK及
    发表于 04-15 15:34 7652次阅读
    正弦信号<b class='flag-5'>发生器</b><b class='flag-5'>设计方案</b>

    手持式IPTV测试仪中传输流解析的设计

    IPTV测试仪IPTV业务开发和应用中必不可少的测试和调试工具,本文详细研究和分析了IPTV系统中流媒体技术MPEG-2 TS的语法和语义
    发表于 10-10 18:10 30次下载
    手持式<b class='flag-5'>IPTV</b><b class='flag-5'>测试仪</b>中传输流解析的设计

    视频信号发生器设计方案

    视频信号发生器设计方案除能产生多种数字化视频外,还能灵活更改所产生的视频各项参数,因此视频信号发生器具有一定应用价值。
    发表于 12-28 16:08 1944次阅读
    视频信号<b class='flag-5'>发生器</b><b class='flag-5'>设计方案</b>

    智能大电流发生器功能特点有哪些

    回路电阻测试仪,绝缘电阻测试仪,管状电加热,高压无线核相,动平衡测量仪,智能大电流发生器,直流高压
    发表于 04-02 16:51 630次阅读

    采用LM324设计的电源测试仪方案

    通用型集成运放LM324内部有四个运放利用其中两个运放可以制作一个电源测试仪。此测试仪对于工厂生产线上大批量生产电源板进行检验特别适合
    的头像 发表于 02-18 15:07 5273次阅读
    采用LM324设计的电源<b class='flag-5'>测试仪</b><b class='flag-5'>方案</b>

    基于FPGA的伪随机数发生器设计方案

    基于FPGA的伪随机数发生器设计方案
    发表于 06-28 14:36 4次下载

    简易信号发生器设计方案

    电子发烧友网站提供《简易信号发生器设计方案.pdf》资料免费下载
    发表于 10-20 09:43 1次下载
    简易信号<b class='flag-5'>发生器</b><b class='flag-5'>设计方案</b>

    蓝牙测试仪的作用

    公司主营出售/回收:示波器、频谱分析、网络分析、信号发生器、万用表/示波器校准、手机综合测试仪、噪声系数分析
    的头像 发表于 03-29 11:19 812次阅读

    函数发生器、信号发生器和波形发生器的区别

    在电子测试和测量领域,函数发生器、信号发生器和波形发生器都是重要的测试仪器,它们各自具有独特的功能和应用场景。本文将详细介绍这三种
    的头像 发表于 05-15 14:49 1318次阅读

    麻醉针针管流量测试仪简述

    文章由济南三泉智能科技有限公司提供针管流量测试仪是用于检测医用针管流量性能的专用仪器。以下是关于针管流量测试仪的详细介绍:一、概述针管
    的头像 发表于 05-27 11:56 294次阅读
    麻醉针针管<b class='flag-5'>流量</b><b class='flag-5'>测试仪</b>简述

    IP67气密测试仪压力不足怎么解决

    讨论IP67气密性测试仪压力不足的解决方案。首先,当发现IP67气密测试仪压力不足时,应检查测试仪
    的头像 发表于 10-31 11:32 60次阅读
    <b class='flag-5'>IP</b>67气密<b class='flag-5'>测试仪</b>压力不足怎么解决