数据包乱序度的测量方法和系统的制作方法_3

文档序号:9931161阅读:来源:国知局
0,乱序度为2出现的次数为100,乱序度为8出现的次数为50,乱序度为970出现的次数为1等。
[0067]此外,上述数据包乱序度的测量方法不限于应用于用户数据报协议的数据包传输,也可应用于其他数据协议的数据包传输中。
[0068]图6为一个实施例中数据包乱序度的测量系统的结构框图。如图6所示,一种数据包乱序度的测量系统,包括获取模块602、实际向量形成模块604、预期向量形成模块606和乱序度求取模块608。其中:
[0069]获取模块602用于获取各数据包的接收次序号及对应的序号。
[0070]本实施例中,数据包的接收次序号是指接收端接收到数据包的顺序编号,如1、2、3等。数据包的序号是指在发送端按照顺序将数据打包后形成数据包,该数据包被分配的序号。
[0071]接收的数据包的接收次序号为packUpack 2、pack 3、......、pack(n_2)、pack(n_
1)、pack n、......,对应的每个数据包pack上的seqno(Sequence number,序号)为seqno = x、
seqno = y > seqno = z >......、seqno = 0、seqno = p、seqno = q、......0
[0072]实际向量形成模块604用于按照该数据包的接收次序号将该各数据包的序号组成实际向量。
[0073]本实施例中,获取第一个数据包的序号,也就是接收次序号为I的数据包的序号,如第一个数据包的序号为X,在理想的无乱序的情况下,预期的第二个数据包的seqno的值为X+1,第三个数据包的seqno的值为x+2,依次类推,可得到各个数据包的seqno的值。
[0074]预期向量形成模块606用于按照该数据包的接收次序号获取第一个数据包的序号,根据第一个数据包的序号及该数据包的接收次序号估测其他数据包的序号,再按照该数据包的接收次序号将估测得到的各数据包的序号组成预期向量。
[0075]本实施例中,获取第一个数据包的序号,也就是接收次序号为I的数据包的序号,如第一个数据包的序号为X,在理想的无乱序的情况下,预期的第二个数据包的seqno的值为X+1,第三个数据包的seqno的值为x+2,依次类推,可得到各个数据包的seqno的值。
[0076]按照数据包的接收次序号将估测得到的各数据包的序号组成预期向量,则预期向量={x,x+l ,x+2,......,x+(n_2),x+(n_l) ,x+n,......}。其中,x、x+l、x+2、......、x+(n_2)、x+
(n-1), x+n分别为预期向量中的一个元素。
[0077]乱序度求取模块608用于将该预期向量减去该实际向量得到结果向量,该结果向量中元素值小于或等于O所对应的数据包的乱序度为0,元素值大于O所对应的数据包的乱序度为该元素值。
[0078]本实施例中,将预期向量减去实际向量得到结果向量,则结果向量={x-x,x+1-y,x+2-z,......,x+(n-2)-o,x+(n_l)-p,x+n-q,......}。
[0079]其中,x-x、x+l-y、x+2-z、......,x+(n-2)-o、x+(n_l )_p、x+n_q分别为结果向量中的一个元素。结果向量中的每个元素的值会产生3种情况:小于O、等于O和大于O。对于结果向量中元素小于O或等于O的情况,认为其和发送端的时间顺序一致,没有产生乱序,则乱序度为O;对于大于O的情况,认为其产生了乱序,其对应的乱序度为本元素值。
[0080]上述数据包乱序度的测量系统,获取到各数据包的接收次序号及对应的序号,将数据包的序号按照接收次序号形成实际向量,以及获取到第一数据包的序号后估测得到其他数据包的序号,根据估测的数据包的序号形成预期向量,将预期向量减去实际向量得到结果向量,结果向量中元素小于或等于O所对应的数据包的乱序度为0,大于O的元素所对应的数据包的乱序度为元素值,从而测量得到数据包的乱序度,测量方法简单,计算量小。
[0081]图7为另一个实施例中数据包乱序度的测量系统的结构框图。如图7所示,一种数据包乱序度的测量系统,除了包括获取模块602、实际向量形成模块604、预期向量形成模块606和乱序度求取模块608,还包括统计模块610。
[0082]统计模块610用于在将该预期向量减去该实际向量得到结果向量,该结果向量中元素值小于或等于O所对应的数据包的乱序度为0,元素值大于O所对应的数据包的乱序度为该元素值之后,统计预设时间内或预定数量的数据包中各乱序度出现的次数。
[0083]本实施例中,预设时间可根据需要设定,如3分钟、5分钟等,不限于此。预定数量的数据包可为10000个或20000个等,不限于此。统计每个乱序度出现的次数,例如统计3分钟内乱序度为O的出现次数为1000次,乱序度为I出现次数为500次,……,乱序度666出现次数为I次等。乱序度越小出现的次数越高,则说明网络状况越好,乱序度越大出现的次数越高,说明网络状态越差。
[0084]或者,统计10000个数据包的乱序度中乱序度为O的出现次数为1000次,乱序度为I出现次数为500次,......,乱序度为100出现次数为I次等。
[0085]通过统计乱序度出现次数便于后续根据乱序度进行分析网络状况。
[0086]图8为另一个实施例中数据包乱序度的测量系统的结构框图。如图8所示,一种数据包乱序度的测量系统,除了包括获取模块602、实际向量形成模块604、预期向量形成模块606、乱序度求取模块608、统计模块610,还包括计算模块612和判断模块614。
[0087]计算模块612用于在统计预设时间内或预定数量的数据包中各乱序度出现的次数之后,计算大于或等于第一乱序度阈值的乱序度的出现次数之和,得到第一次数值。
[0088]判断模块614用于判断所述第一次数值是否位于第一次数阈值范围内,若第一次数值不在第一次数阈值范围内,则认为网络发生了抖动。
[0089]本实施例中,第一乱序度阈值可根据需要设置,例如可为30、40等,不限于此。将乱序度与第一乱序度阈值进行比较,得出大于或等于第一乱序度阈值的乱序度,然后统计这些大于或等于第一乱序度阈值的乱序度的出现次数之和,得到第一次数值,判断第一次数值是否位于第一次数阈值范围内,若第一次数值不在第一次数阈值范围内,则认为网络发生了抖动,若第一次数值在第一次数阈值范围内,则认为网络未发生抖动。
[0090]具体地,第一次数阈值范围包括第一次阈值范围的上限值和下限值,其中,上限值大于下限值,例如第一次数阈值的上限值为1000,下限值为500。第一次数值大于第一次数阈值范围的上限值,则认为网络由好转为坏。第一次数值小于第一次数阈值范围的下限值,则认为网络由坏转为好。
[0091]预设时间和次数阈值可根据灵敏度设置。灵敏度越高,则预设时间和次数阈值范围越小;灵敏度越低,则预设时间和第一次次数阈值范围越大。
[0092]通过统计乱序度出现次数,根据出现次数与次数阈值比较,较准确的判断出网络是否发生抖动。
[0093]和/或,计算模块612用于计算小于第二乱序度阈值的乱序度的出现次数之和,得到第二次数值;
[0094]判断模块614用于判断所述第二次数值是否位于第二次数阈值范围内,若第二次数值不在第二次数阈值范围内,则认为网络发生了抖动。
[0095]本实施例中,第二乱序度阈值可根据需要设置,例如可为0、10等,不限于此。第二乱序度阈值小于第一乱序度阈值。将乱序度与第二乱序度阈值进行比较,得出小于或等于第二乱序度阈值的乱序度,然后统计这些小于或等于第二乱序度阈值的乱序度的出现次数之和,得到第二次数值,判断第二次数值是否位于第二次数阈值范围内,若第二次数值不在第二次数阈值范围内,则认为网络发生了抖动,若第二次数值在第二次数阈值范围内,则认为网络未发生抖动。
[0096]具体地,第二次数阈值范围包括第二次阈值范围的上限值和下限值,其中,上限值大于下限值,例如第二次数阈值的上限值为1100,下限值为400。第二次数值大于第二次数阈值范围的上限值,则认为网络由坏转为好。第二次数值小于第二次数阈值范围的下限值,则认为网络由好转为坏。
[0097]图9为另一个实施例中数据包乱序度的测量系统的结构框图。如图9所示,一种数据包乱序度的测量系统,除了包括获取模块602、实际向量形成模块604、预期向量形成模块606、乱序度求取模块608、统计模块610,还包括乱序度和求取模块616和比较模块618。
[0098]乱序度和求取模块616用于在将该预期向量减去该实际向量得到结果向量,该结果向量中元素值小于或等于O所对应的数据包的乱序度为0,元素值大于O所对应的数
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1