手册下载
TWAMP Light技术白皮书-6W100-整本手册.pdf (371.80 KB)
TWAMP Light技术白皮书
Copyright © 2020 新华三技术有限公司 版权所有,保留一切权利。
非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。
除新华三技术有限公司的商标外,本手册中出现的其它公司的商标、产品标识及商品名称,由各自权利人拥有。
本文档中的信息可能变动,恕不另行通知。
随着网络技术的飞速发展,网络中承载的业务越来越多,语音、视频、游戏等业务对网络丢包和时延要求越来越高。网络管理者需要一种测量工具来及时了解网络的丢包和时延情况,以便根据测试结果进行网络调整和优化,满足业务需求。
TWAMP(Two-Way Active Measurement Protocol,双向主动测量协议)用来测量网络中任意两台设备之间报文的双向时延、时延抖动、丢包率等性能参数,为网络质量分析提供依据。
TWAMP协议定义了两种架构:标准框架和轻量级架构。TWAMP Light是TWAMP协议的轻量级架构,简化了建立性能测量会话的控制协议,提高了测试性能,越来越多的厂家青睐并支持TWAMP Light技术。
常见的丢包、时延测量技术包括NQA(Network Quality Analyzer,网络质量分析)和RFC 6374/6375(MPLS网络的丢包和时延测量)等。与这些技术相比,TWAMP Light技术具有以下优点:
· TWAMP Light是IPPM(IP performance monitoring,IP性能监控)工作组定义的IP网络性能统计协议,具有统一的检测模型、统一的报文格式,不同厂商的设备之间可以互通。
· TWAMP Light能够部署在IP、MPLS、L3VPN(Layer 3 Virtual Private Network,三层虚拟专用网)等网络,满足不同类型网络的测量需求。
· TWAMP Light测试包含客户端(测试源端)和服务器端(测试目的端),只需在客户端生成和维护性能测量数据,服务器端无需生成和维护性能测量数据,方便网管设备快速获取测量数据。
· 与TWAMP标准架构相比,TWAMP Light将服务器端的部分功能移到客户端实现,简化了建立性能测量会话的控制协议,大大降低了对服务器端的能力要求,有助于服务器端的快速部署。
图1 TWAMP Light网络架构示意图
如图1所示,TWAMP Light网络模型中包含了以下角色:
· TWAMP Light在测试源端设备上定义了两个角色:
¡ TWAMP-light Client:负责配置TWAMP-light测试会话。
¡ TWAMP-light Sender:负责启动、停止TWAMP-light测试会话,是TWAMP-light测试的源端设备。
· TWAMP Light在测试目的端设备上定义了TWAMP-light Responder。
Responder是TWAMP-light测试的目的端设备,负责将会话测试报文反射回去。
TWAMP-light测试定义了Test-request和Test-response两种报文。
图2 Test-request报文格式示意图
TWAMP-light Sender发送Test-request报文,报文中各字段含义如下:
· Sequence Number:报文发送序列号。
· Timestamp:发送报文的时间戳,支持PTP和NTP两种时间戳格式,具体采用哪种格式由Error Estimate字段中“Z”区域的取值决定。
· Error Estimate:误差估计,单位为秒。如图3所示,误差估计由以下几个部分组成:
¡ S:取值为0,表示没有外接时钟。
¡ Z:时间戳的格式,0表示NTP格式,1表示PTP格式。
¡ Scale:取值为0x3F。
¡ Multiplier:取值为0xFF。
图3 Error Estimate字段结构示意图
· Packet Padding:报文的填充字段,随机填充数据。
图4 Test-response报文格式示意图
TWAMP-light Responder收到Test-request报文后,回应Test-response报文。报文中各字段含义如下:
· Sequence Number:报文发送序列号,取值为Responder实际发送报文的序列号。
· Timestamp:发送报文时的时间戳,支持PTP和NTP两种时间戳格式,具体采用哪种格式由Error Estimate字段中“Z”区域的取值决定。
· Error Estimate:误差估计,单位为秒,填充方法同Test-request报文。
· MBZ:Must be zero,取值必须为0。
· Receive Timestamp:接收报文时的时间戳,支持PTP和NTP两种时间戳格式,具体采用哪种格式由Error Estimate字段中“Z”区域的取值决定。
· Sender Sequence Number:请求报文的序列号,该值拷贝自对应Test-request报文中的Sequence Number字段。
· Sender Timestamp:请求报文中的时间戳,该值拷贝自对应Test-request报文中的Timestamp字段。
· Sender Error Estimate:请求报文中的误差估计,单位为秒,该值拷贝自对应Test-request报文中的Error Estimate字段。
· Sender TTL:请求报文中的TTL,该值拷贝自对应Test-request报文中的TTL字段。
· Packet Padding:报文的填充字段,随机填充数据。
如图5所示,TWAMP-light测量机制大致如下:
(1) Sender使用预先设置好的IP地址、UDP端口号等参数,构造测试报文(Test-request),每隔一段时间进行一次测试,每次测试发送一个Test-request报文给Responder。
(2) Responder收到探测报文后,构造反射报文(Test-response),填充时间戳和TTL等信息,将报文反射回Sender。
(3) Sender根据收到Test-response报文的个数,以及接收Test-response的时间,计算Test-request报文的丢失率、往返时延和时延抖动,从而判断源端到目的端、目的端到源端链路质量的好坏。
图5 TWAMP Light测量机制示意图
如图6所示,TWAMP Light丢包测量过程如下:
(1) t0时刻:Sender开始第一个发包统计周期的发包(以指定的发包间隔持续发送测试报文Test-request)和计数,并开始第一个收包统计周期的收包(接收Responder反射回来的Test-response报文)和计数。
(2) t1时刻:Sender收到Responder反射回来的首个Test-response报文。
(3) t2时刻:第一个发包统计周期(t0~t2)结束,Sender统计第一个发包周期内发送Test-request报文的个数。同时开始第二个发包统计周期的发包和计数,以及第二个收包统计周期的收包和计数。
(4) t3时刻:第一个收包统计周期(t0~t3)结束,Sender统计第一个收包周期内收到Test-response报文的个数,并计算第一个发包周期的丢包率。
丢包率计算公式为:
丢包率 = (第n个周期内发送报文数 – 第n个周期内接收报文数) / 第n个周期内发送报文数
(5) t4时刻:第二个发包统计周期(t2~t4)结束,Sender统计第二个发包周期内发送Test-request报文的个数。同时开始下一个发包统计周期的发包和计数,以及下一个收包统计周期的收包和计数。
(6) t5时刻:第二个收包统计周期(t2~t5)结束,Sender统计第二个收包周期内收到Test-response报文的个数,并计算第二个发包周期的丢包率。
如此反复,计算每一个周期的丢包率,直到测量结束。
图6 TWAMP Light丢包测量机制示意图
TWAMP Light通过以下两个重要技术使得测量结果更加准确:
· 适当放宽收包统计周期,即收包统计周期比发包统计周期长一点,这样可以最大程度地避免由于网络延时与传输乱序对统计结果的不良影响。
如图6中的第10号报文,它在第一个发包统计周期结束后、第一个收包统计周期结束前到达,Sender仍会将其统计到第一个收包统计周期中。
· 通过序列号(Sequence Number)来识别该报文所属的发送统计周期。
¡ Sender会自动为Test-request报文分配序列号;
¡ Responder构造Test-response报文时,会将Test-request报文的序列号拷贝到Test-response报文的Sender Sequence Number字段;
¡ Sender收到Test-response报文后,根据报文中的Sender Sequence Number字段,判断Test-response所属的周期。
如图6中,第一个收包统计周期只统计序列号为1~10的报文,不会统计第11号报文;第二个收包统计周期只统计序列号为11~20的报文,不会统计其他序列号的报文,从而保证了统计的准确性。
如图7所示,TWAMP Light按周期发送测试报文,并在测试报文中携带时间戳,基于相邻两个报文的时间戳来计算时延和时延抖动。测量过程如下:
(1) Sender发送一个Test-request报文给Responder,并在报文中携带报文离开时间STxTime。
(2) Test-request报文到达Responder,Responder记录接收Test-request报文的时间DRxTime。
(3) Responder根据Test-request报文中的字段构造Test-response报文,并将时间戳STxTime、DRxTime以及预估的Test-response报文离开时间DTxTime等信息记录在Test-response报文中反射回Sender。
(4) Test-response报文到达Sender,Sender记录接收Test-response报文的时间SRxTime,并根据STxTime、DRxTime、DTxTime和SRxTime四个时间戳,计算出Sender到Responder之间的双向链路时延Delay1。
Sender以固定周期发送多个探测报文,重复上述过程,从而计算出Sender到Responder之间的双向链路时延Delay2、Delay3等,以及源端到目的端的时延抖动SD-jitter、目的端到源端的时延抖动DS-jitter。
图7 TWAMP Light时延、时延抖动测量机制示意图
如图8所示,Video phone 1和Video phone 2在进行视频通话时发现语音有卡顿、视频有马赛克现象,需要测试IP承载网络的性能,确认语音和视频流量在穿越IP承载网络时,是否存在严重丢包和延时现象。在Device 1和Device 2上使用TWAMP Light功能,可以测试业务流在穿越IP承载网络时,Interface 1到Interface 2的双向路径时延、抖动及丢包率参数,协助用户定位网络问题。
图8 使用TWAMP Light测试IP网络性能组网图
如图9所示,某企业的两个分支机构分别在A地和B地办公,使用VPN通道连接两地网络。Video phone 1和Video phone 2在进行视频通话时发现语音有卡顿、视频有马赛克现象,需要测试VPN网络的性能,确认哪部分网络丢包和延时比较严重。使用TWAMP Light功能,可以测试业务流在穿越VPN网络时,路径的双向路径时延、抖动及丢包率参数,协助用户定位网络问题:
· 在PE 1和PE 2上部署TWAMP Light功能,测试整个运营商网络(Interface 1到Interface 6)的性能。如果存在严重时延和丢包,可以继续执行下面测试定位问题网络。
· 在PE 1和PE-agg 1上部署TWAMP Light功能,可以测试MPLS L2VPN网络(Interface 1到Interface 2)的性能。
· 在PE-agg 1和PE-agg 2上部署TWAMP Light功能,可以测试MPLS L3VPN网络(Interface 3到Interface 4)的性能。
· 在PE 1和PE-agg 2上部署TWAMP Light功能,可以测试MPLS L2VPN接入MPLS L3VPN网络(Interface 1到Interface 5)的性能。
图9 使用TWAMP Light测试VPN网络性能组网图