Spirent TestCenter 快速了解高级顺序检查-云帆兴烨

发表日期:2023/08/11 浏览次数:

经常有同学咨询Spirent TestCenter测试流统计中的丢包、乱序等统计问题,Spirent TestCenter是如何定义的?为了方便记忆查阅,在此简单介绍。


一、 了解Spirent TestCenter Signature


(1)Signature结构

111.png

图-1


  • Signature 是做了一定的编码的,需要指定的或者较高版本的wireshark才能解析

  • 总共20 bytes 在报文的有效载荷最后20字节(除FCS,以及一些padding,trailer)

  • Stream ID位包含了32 bits (标记流,在detailed stream results中“Name/ID”也会体现)

  • 精确到2.5ns的 Timestamp (时延计算)

  • 序列号(Sequence),占用长度为6字节,用来指出帧在所在测试流中的顺序(高级顺序检查,帧携带的序列号)

  • 当Spirent TestCenter在payload插入PRBS 23 时 PRBS bit 将被置位 (误码率测试)

  • 告诉接收者,时间戳是在哪个位置打上的(时延计算)

  • UDP/TCP Checksum Cheater field (UDP/TCP校验和修正)


         

(2)Signature在流中的配置。

默认是勾选的,因为流统计基于signature所含内容

222.png

图-2


(3)使用wireshark查看Signature样式

3333.png

图-3


二、 认识序列检查


上文我们知道了Spirent TestCenter Signature中携带了帧的序列号。在分述之前,首先我们再了解一个概念值 Expected Sequence number(期待序列号)。

我们用 Exp(sequence)代表期待序列号,Rx(sequence)代表收到的序列号。刚启动分析器时候,Exp(sequence)无值,在收到第一个帧的时候Exp(sequence) = Rx(sequence)+1

后续过程中,如果Rx(sequence) < Exp(sequence),那么Exp(sequence)不变;如果Rx(sequence) >= Exp(sequence),那么Exp(sequence) = Rx(sequence)+1

进一步,我们简单了解一个概念sequence run windows,它是当前接收到的连续帧组成的一个队列。这个队列跟踪的最大帧个数可以通过Advanced Sequence Threshold自定义,默认为1000。

4444.png

图-4

部分统计技术原理:

(1)In sequence count (frames)

收到帧序列号比上一帧序列号大1

(2)Out of sequence count (frames)

不属于Insequence的帧

(3)Dropped count (frames)

收到的帧序列号大于期待帧,丢包数量 = Rx(sequence)- Exp(sequence)

(4)Duplicate count(frames)

Rx(sequence)< Exp(sequence)且在sequence run windows范围内

(5)In-order count (frames)

收到的帧序列号大于等于期待帧, Rx(sequence) >= Exp(sequence)

(6)Re-ordered count (frames)

Rx(sequence) < Exp(sequence),不在sequence run windows范围内,但Rx(sequence) >= Exp(sequence) - Advanced Sequence Threshold (如图-5示)

(7)Late count (frames)

晚到帧,Rx(sequence) < Exp(sequence) - Advanced Sequence Threshold (如图-5示)

5555.png

图-5

                             

希望上述介绍能对您有所帮助。