一种时延测试的方法及装置的制造方法_4

文档序号:9420205阅读:来源:国知局
[0140] 计算所述网卡中所有发送队列发送数据包所需的时间除W所述网卡中所有发送 队列发送流量数据包的次数所得的第四商,获取所述第四商的整数部分作为所述网卡中每 个发送队列每次发送流量数据包所需的第二时间; 阳141] 计算所述第二个数除W所述第一个数所得的第五商,获得大于所述第五商的最小 的整数作为所述网卡中每个发送队列发送时间戳数据包的间隔;
[0142] 计算m-1除W所述时间戳数据包的间隔所得的第六商,获得所述第六商的整数部 分,计算所述第六商的整数部分与所述第一时间的乘积作为第=时间,所述第=时间为所 述网卡中每个发送队列发送m-1次流量数据包的过程中,发送时间戳数据包所需的时间; [014引计算所述预设的初始时间,m-1个所述第二时间,W及所述第S时间的和作为所述 网卡中每个发送队列发送第m次流量数据包的时刻;
[0144] 其中,l<m《第二个数。
[0145] 利用公式(6)计算第S商: 阳146]
(6 ); 阳147] 其中,R3为所述第S商,监为所述CPU的时钟主频,Rate为所述网卡发送数据包 的速率。
[0148]Rate为1秒内所述网卡发送的数据包的总个数,CPU的时钟主频监表示1秒内单 位时间的个数,监除WRate获得所述第S商。所述第一时间Tl为所述第S商R3的整数 部分,则所述第一时间Tl表示发送一个数据包所需的单位时间的个数。由于时间戳数据包 即为一个数据包,则发送一个时间戳数据包所需的时间即为所述第一时间T1。 阳1例利用公式(7)计算第四商: 阳1加]
; 阳151] 其中,监为所述CPU的时钟主频,N为所述第一个数,即所述网卡中每个发送队列 发送时间戳数据包的个数,TXQ为所述网卡中发送队列的个数,Tl为所述第一时间,即发送 一个时间戳数据包所需的时间,M为所述第二个数,即所述网卡中每个发送队列发送流量数 据包的实际次数。 阳152]监表示1秒内单位时间的个数,减去1秒内发送所有的时间戳数据包所需的单位 时间的个数,剩下的即为1秒内W突发模式发送流量数据包所需的单位时间的个数,除W1 秒内W突发模式发送流量数据包的实际次数,获得第四商。所述第二时间T2为所述第四商 R4的整数部分,每次W突发模式发送流量数据包所需的单位时间的个数即为第二时间T2。
[0153] 为了使得所述网卡中每个发送队列均匀发送时间戳数据包,计算所述第二个数M 除W所述第一个数N所得的第五商,获得大于所述第五商的最小的整数作为所述网卡中每 个发送队列发送时间戳数据包的间隔。运里需要说明的是,所述网卡中每个发送队列发送 时间戳数据包的间隔为大于所述第五商的最小的整数,为的是所述网卡中每个发送队列在 1秒内均匀发送所述时间戳数据包,所述网卡中每个队列将时间戳数据包发送完毕后,可W 连续W突发模式发送剩下的流量数据包。
[0154] 计算m-1除W所述时间戳数据包的间隔所得的第六商,获得所述第六商的整数部 分,所述时间戳数据包的间隔即为每两次发送时间戳数据包之间W突发模式发送流量数据 包的次数,则所述第六商的整数部分为所述网卡中的每个发送队列W突发模式发送第m次 流量数据包前,发送时间戳数据包的个数。 阳155] 则利用公式(8)计算所述网卡中每个队列W突发模式第m次发送流量数据包的时 刻为: 阳 156]S=S〇+(m-l)XT2+aXTl做; 阳157] 其中,S。为所述预设的初始时间,T2为所述网卡中每个发送队列每次W突发模式 发送流量数据包所需的时间,a为所述第六商的整数部分,即所述网卡中的每个发送队列W 突发模式发送第m次流量数据包前,发送时间戳数据包的个数,Tl为发送一个时间戳数据 包所需的时间。
[0158]在具体实现时,可选的,所述方法还包括: 阳159]获取所述第=商的小数部分作为第一误差;
[0160] 获取所述第四商的小数部分作为第二误差; 阳161] 计算所述网卡中每个发送队列发送第m次流量数据包前的累计误差,所述累计误 差为第S误差和第四误差的和,所述第S误差为m-1个所述第一误差的和,所述第四误差 为所述第六商的整数部分与所述第二误差的积; 阳162]当所述累计误差小于单位时间时,所述网卡中每个发送队列发送第m次流量数据 包的时刻为所述预设的初始时间,m-1个所述第二时间,W及所述第S时间的和,所述单位 时间为1个所述CPU的时钟周期;
[0163]当所述累计误差不小于所述单位时间时,所述网卡中每个发送队列发送第m次流 量数据包的时刻为所述预设的初始时间,m-1个所述第二时间,所述第S时间,W及!个所 述单位时间的和。
[0164] 由于所述第一时间为所述第=商的整数部分,即为所述网卡中每个发送队列发送 一个时间戳数据包所需的实际计算时间,但所述网卡中每个发送队列发送一个时间戳数据 包所需的理论时间为所述第=商,所述网卡中每个发送队列发送一个时间戳数据包的理论 时间比实际计算时间大一个第一误差。
[01化]同理,所述第二时间为所述第四商的整数部分,即为所述网卡中每个发送队列W突发模式发送一次流量数据包所需的实际计算时间,但所述网卡中每个发送队列W突发模 式发送一次流量数据包所需的理论时间为所述第四商,所述网卡中每个发送队列W突发模 式发送一次流量数据包的理论时间比实际计算时间大一个第二误差。
[0166] 为了使得所计算的所述网卡中每个发送队列每次发送流量数据包的时刻更精确, 对上述误差进行修订,修订的方法包括:
[0167] 当所述累计误差小于单位时间时,所述网卡中每个发送队列发送第m次流量数据 包的时刻为所述预设的初始时间,m-1个所述第二时间,W及所述第S时间的和,所述单位 时间为1个所述CPU的时钟周期。
[0168] 当所述累计误差不小于所述单位时间时,所述网卡中每个发送队列发送第m次流 量数据包的时刻为所述预设的初始时间,m-1个所述第二时间,所述第S时间,W及!个所 述单位时间的和。
[0169] 当所述累积误差小于所述单位时间时,误差小于一个所述单位时间,可W忽略不 计,不需要修订,即所述网卡中每个队列W突发模式第m次发送流量数据包的时刻为: 阳170] S=S〇+(m-l)XT2+aXTl。 阳171] 当所述累积误差不小于所述单位时间时,需要在计算所得的所述网卡中每个发送 队列发送第m次流量数据包的时刻上再加一个所述单位时间,即所述网卡中每个队列W突 发模式第m次发送流量数据包的时刻: 阳17引S=S〇+(m-l)XT2+aXTl+ 单位时间
[0173] 运里需要说明是,在具体实现时,可W计算所述网卡中每个队列每次发送时间戳 数据包的时刻,实现时间戳数据包的发送;也可W设置所述网卡中每个发送队列发送时间 戳数据包的间隔,实现时间戳数据包的发送,技术人员可W根据实际需要自行设定。
[0174] 105:根据所述网卡中每个发送队列发送时间戳数据包的间隔W及该发送队列每 次发送流量数据包的时刻向待测设备发送流量数据包和时间戳数据包,记录所述网卡每个 发送队列发送每个时间戳数据包的时刻作为该时间戳数据包的第一时刻。
[01巧]106:接收所述待测设备转发的每个时间戳数据包,记录接收每个时间戳数据包的 时刻作为该时间戳数据包的第二时刻。
[0176] 107 :根据每个时间戳数据包的第一时刻和第二时刻测试时延。
[0177] 所述网络中每个发送队列按照发送时间戳数据包的间隔发送时间戳数据包,并 且,该发送队列按照每次发送流量数据包的时刻W突发模式发送流量数据包。测试设备基 于软件实现向待测设备均匀发送时间戳数据包,测试设备每次发送一个时间戳数据包,即 记录发送该时间戳数据包的时刻作为第一时刻。所述测试设备接收到所述待测设备转发的 该时间戳数据包时,记录接收该时间戳数据包的时刻作为第二时刻。
[0178] 每个时间戳数据包的时延即为该时间戳数据包的第二时刻与第一时刻的时间间 隔,即所述待测设备的时延为所有时间戳数据包的时延的平均值。此处与现有技术类似,运 里不再寶述。
[0179] 运里需要说明的是,本发明所述的实施例中,仅对1秒内所述网卡中每个队列发 送数据包的方法进行描述,为了保证每秒发送的准确性,下一秒开始的时间为上一秒的初 始时刻与监的和,直到到达指定的运行时间为止。
[0180] 由上述内容可知,本发明有如下有益效果: 阳181] 现有技术中,主要采用FPGA等硬件设备实现在一段时间内均匀发送时间戳数据 包W及流量数据包,导致测试系统的成本很高。本发明所提供的时延测试方法中, 阳182] 图2为本发明提供的一种时延测试装置结构示意图,所述装置包括:
[0183] 获取单元201,用于获取网卡发送数据包的速率,所述网卡中发送队列的个数,预 设的初始时刻,CPU的时钟频率,预设比例W及突发包个数,所述预设比例为所述网卡中每 个发送队列发送时间戳数据包的个数占该发送队列突发数据包次数的比例,所述时间戳数 据包用于进行时延测试,所述突发包个数为所述网卡中每个发送队列每次发送流量数据包 的个数,所述流量数据包用于满足所述网卡发送数据包的速率。 阳184] 第一获得单元202,用于根据所述网卡发送数据包的速率,所述网卡中发送队列的 个数,所述预设比例W及所述突发包个数获得所述网卡中每个发送队列发送所述时间戳数 据包的个数作为第一个数。
[01化]在具体实施例中,可选的,所述第一获得单元包括: 阳186] 第一计算子单元,用于计算所述网卡发送数据包的速率除W所述网卡中发送队列 的个数所得的第一商,获取所述第一商的整数部分作为所述网卡中每个发送队列发送数据 包的速率; 阳187] 第二计算子单元,用于计算所述网卡中每个发送队列发送数据包的速率除W所述 突发包个数所得的第二商,获取所述第二商的整数部分作为所述网卡中每个发送队列发送 流量数据包的理论次数;
[0188] 第S计算子单元,用于计算所述网卡中每个发送队列发送流量数据包的理论次数 与所述预设比例的乘积获得第一值;
[0189] 第四计算子单元,用于
当前第4页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1