一种链路质量测量的方法、装置以及系统与流程

文档序号:14125530阅读:293来源:国知局
一种链路质量测量的方法、装置以及系统与流程

本发明涉及通讯技术领域,特别涉及一种链路质量测量的方法、装置以及系统。



背景技术:

在复杂的网络环境和业务逻辑之下,当端到端的用户业务体验异常出现时,运维人员很难在短时间内快速判断是业务系统的问题,还是基础网络引起的问题,更不用说快速定位具体的问题及原因了。如何主动监控端到端业务质量情况,准确掌握一条特定业务流的全路径转发情况以实现端到端网络故障的快速精准诊断,已经成为当前广大运维人员面临的首要难题,也是当今网络运维领域急需解决的问题。twamp(two-wayactivemeasurementportocol,双向主动测量协议)协议正是为解决该问题而生。

twamp是在owamp(one-wayactivemeasurementprotocol,单向主动测量协议)的基础上演进而来,可以进行两个网络设备间双向的网络性能测量,遵循ietfrfc5357标准。

twamp协议由两部分协议组成:twamp控制协议(twamp-contrl)和twamp测试协议(twamp-test),前者基于tcp用于连接建立、会话参数协商、启动会话和结束会话,后者基于udp由会话发送端(session-sender)发送twamp-test协议报文,会话反射端(session-reflector)反射报文,根据报文中的时间戳等信息,进行传输的性能指标度量。

链路聚合是将多条物理链路聚合在一起,形成一条逻辑链路,以实现出/入负荷在聚合组中各个成员端口中的分担与链路备份,同时也提供了更高的连接可靠性。比如基于ieee802.3ad标准的lacp(linkaggregationcontrolprotocol,链路聚合控制协议)是一种实现链路动态聚合的协议,它通过lacpdu(linkaggregationcontrolprotocoldataunit,链路汇聚控制协议数据单元)与对端交互信息,实现动态聚合端口。

如图1所示,以enodeb为例,enodeb与交换机之间采用链路聚合,由链路1与链路2聚合在一起成为一条聚合链路,enodbb的端口1和2聚合在一起成为聚合口,交换机的端口3和4聚合在一起成为聚合口。现有twamp标准只能进行聚合链路的ip性能度量,无法测量链路1的ip性能或者链路2的ip性能,这样当其中一条物理链路性能下降,会造成整个逻辑链路即聚合链路的性能下降,但twamp无法知道具体是哪条物理链路造成的。



技术实现要素:

根据本发明实施例提供的方案解决的技术问题是twamp协议中在链路聚合的场景下无法测量出具体物理链路性能指标。

根据本发明实施例提供的一种链路质量测量的方法,包括:

客户侧在发起链路质量测量时,向服务侧发送用于协商测试发送端的哪个链路聚合子端口为测试发送端口以及测试反射端的哪个链路聚合子端口为测试反射端口的协商报文;

客户侧根据来自所述服务侧的应答报文,得到通过所述协商确定的所述测试发送端口和所述测试反射端口;

测试发送端利用所述测试发送端口向测试反射端发送测试报文,并根据测试反射端利用所述测试反射端口返回的测试应答报文,对所述测试发送端所连接的链路和所述测试反射端所连接的链路进行链路质量测量。优选地,所述协商报文包含需要协商的测试发送端的链路聚合子端口的信息和测试反射端的链路聚合子端口的信息。

优选地,所述应答报文包含协商后的测试发送端的链路聚合子端口的信息和测试反射端的链路聚合子端口的信息。

优选地,所述的测试反射端的链路聚合子端口包括:

与所述测试发送端链路聚合子端口相连接的链路上相对应的测试反射端的链路聚合子端口;

同一聚合链路中与所述测试发送端链路聚合子端口不相连接的其他链路上相对应的测试反射端的链路聚合子端口。

优选地,所述的测试发送端利用所述测试发送端口向测试反射端发送测试报文,并根据测试反射端利用所述测试反射端口返回的测试应答报文,对所述测试发送端所连接的链路和所述测试反射端所连接的链路进行链路质量测量包括:

所述测试发送端向与所述测试发送端链路聚合子端口相连接的链路上相对应的测试反射端发送测试报文,并根据测试反射端返回的测试应答报文,对所述链路的上行和下行分别进行链路质量测量。

优选地,所述测试发送端利用所述测试发送端口向测试反射端发送测试报文,并根据测试反射端利用所述测试反射端口返回的测试应答报文,对所述测试发送端所连接的链路和所述测试反射端所连接的链路进行链路质量测量包括:

所述测试发送端向与所述测试发送端链路聚合子端口不相连接的其他链路上相对应的测试反射端发送测试报文,并根据测试反射端返回的测试应答报文,对与所述测试发送端相连接的链路上行和与所述测试反射端相连接的链路下行进行链路质量测量。

根据本发明实施例提供的一种链路质量测量的装置,包括:

发送模块,用于客户侧在发起链路质量测量时,向服务侧发送用于协商测试发送端的哪个链路聚合子端口为测试发送端口以及测试反射端的哪个链路聚合子端口为测试反射端口的协商报文;

确定模块,用于客户侧根据来自所述服务侧的应答报文,得到通过所述协商确定的所述测试发送端口和所述测试反射端口;

链路质量测量模块,用于测试发送端利用所述测试发送端口向测试反射端发送测试报文,并根据测试反射端利用所述测试反射端口返回的测试应答报文,对所述测试发送端所连接的链路和所述测试反射端所连接的链路进行链路质量测量。优选地,所述协商报文包含需要协商的测试发送端的链路聚合子端口的信息和测试反射端的链路聚合子端口的信息。

优选地,所述应答报文包含协商后的测试发送端的链路聚合子端口的信息和测试反射端的链路聚合子端口的信息。

优选地,所述的测试反射端的链路聚合子端口包括:

与所述测试发送端链路聚合子端口相连接的链路上相对应的测试反射端的链路聚合子端口;

同一聚合链路中与所述测试发送端链路聚合子端口不相连接的其他链路上相对应的测试反射端的链路聚合子端口。

根据本发明实施例提供的一种链路质量测量的系统,包括:

基站,用于在发起链路质量测量时,向交换机发送用于协商测试发送端的哪个链路聚合子端口为测试发送端口以及测试反射端的哪个链路聚合子端口为测试反射端口的协商报文,并接收交换机协商确定的所述测试发送端口和所述测试反射端口,以及测试发送端利用所述测试发送端口向测试反射端发送测试报文,并根据测试反射端利用所述测试反射端口返回的测试应答报文,对所述测试发送端所连接的链路和所述测试反射端所连接的链路进行链路质量测量;

交换机,用于根据基站发送的协商报文,确定所述测试发送端口和所述测试反射端口。

优选地,所述协商报文包含需要协商的测试发送端的链路聚合子端口的信息和测试反射端的链路聚合子端口的信息;所述应答报文包含协商后的测试发送端的链路聚合子端口的信息和测试反射端的链路聚合子端口的信息。

根据本发明实施例提供的方案,通过在twamp控制报文的request-tw-session和accept-session报文中保留字节中增加了聚合成员信息相关字段,并在客户侧和服务侧协商参数时解析出协商的聚合口信息,twamp测试报文时两端采用各自协商的该聚合口成员发包,实现测试报文在指定的物理链路里传输,从而达到了测量聚合链路中的物理链路的质量性能效果。且能够在链路聚合的网络实施twamp进行每个实际物理链路的性能度量。

附图说明

图1是现有技术提供的端口聚合网络示意图;

图2是本发明实施例提供的一种链路质量测量的方法流程图;

图3是本发明实施例提供的一种链路质量测量的装置示意图;

图4是本发明实施例提供的twamp报文交互示意图;

图5是本发明实施例提供的twamp-control报文中request-tw-session报文格式示意图;

图6是本发明实施例提供的twamp-control报文中accept-session报文格式示意图;

图7是本发明实施例提供的twamp的控制客户端发送request-tw-session报文的流程图;

图8是本发明实施例提供的twamp的服务端发送accept-session报文的流程图;

图9是本发明实施例提供的twamp的控制客户端收到accept-session报文的流程图;

图10是本发明实施例提供的twamp会话发送端发送twamp-test报文的流程图;

图11是本发明实施例提供的twamp会话反射端收到twamp-test报文的流程图;

图12是本发明实施例提供的链路质量测量的示意图。

具体实施方式

以下结合附图对本发明的优选实施例进行详细说明,应当理解,以下所说明的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

图2是本发明实施例提供的一种链路质量测量的方法流程图,如图2所示,包括:

步骤s201:客户侧在发起链路质量测量时,向服务侧发送用于协商测试发送端的哪个链路聚合子端口为测试发送端口以及测试反射端的哪个链路聚合子端口为测试反射端口的协商报文;

步骤s202:客户侧根据来自所述服务侧的应答报文,得到通过所述协商确定的所述测试发送端口和所述测试反射端口;

步骤s203:测试发送端利用所述测试发送端口向测试反射端发送测试报文,并根据测试反射端利用所述测试反射端口返回的测试应答报文,对所述测试发送端所连接的链路和所述测试反射端所连接的链路进行链路质量测量。

其中,所述协商报文包含需要协商的测试发送端的链路聚合子端口的信息和测试反射端的链路聚合子端口的信息。所述应答报文包含协商后的测试发送端的链路聚合子端口的信息和测试反射端的链路聚合子端口的信息。

具体地说,所述的测试反射端的链路聚合子端口包括:与所述测试发送端链路聚合子端口相连接的链路上相对应的测试反射端的链路聚合子端口;同一聚合链路中与所述测试发送端链路聚合子端口不相连接的其他链路上相对应的测试反射端的链路聚合子端口。

其中,所述的测试发送端利用所述测试发送端口向测试反射端发送测试报文,并根据测试反射端利用所述测试反射端口返回的测试应答报文,对所述测试发送端所连接的链路和所述测试反射端所连接的链路进行链路质量测量包括:所述测试发送端向与所述测试发送端链路聚合子端口相连接的链路上相对应的测试反射端发送测试报文,并根据测试反射端返回的测试应答报文,对所述链路的上行和下行分别进行链路质量测量。或者所述测试发送端向与所述测试发送端链路聚合子端口不相连接的其他链路上相对应的测试反射端发送测试报文,并根据测试反射端返回的测试应答报文,对与所述测试发送端相连接的链路上行和与所述测试反射端相连接的链路下行进行链路质量测量。

图3是本发明实施例提供的一种链路质量测量的装置示意图,如图3所示,包括:发送模块301,用于客户侧在发起链路质量测量时,向服务侧发送用于协商测试发送端的哪个链路聚合子端口为测试发送端口以及测试反射端的哪个链路聚合子端口为测试反射端口的协商报文;确定模块302,用于客户侧根据来自所述服务侧的应答报文,得到通过所述协商确定的所述测试发送端口和所述测试反射端口;链路质量测量模块303,用于测试发送端利用所述测试发送端口向测试反射端发送测试报文,并根据测试反射端利用所述测试反射端口返回的测试应答报文,对所述测试发送端所连接的链路和所述测试反射端所连接的链路进行链路质量测量。

其中,所述协商报文包含需要协商的测试发送端的链路聚合子端口的信息和测试反射端的链路聚合子端口的信息。所述应答报文包含协商后的测试发送端的链路聚合子端口的信息和测试反射端的链路聚合子端口的信息。

具体地说,所述的测试反射端的链路聚合子端口包括:与所述测试发送端链路聚合子端口相连接的链路上相对应的测试反射端的链路聚合子端口;同一聚合链路中与所述测试发送端链路聚合子端口不相连接的其他链路上相对应的测试反射端的链路聚合子端口。

本发明实施例还提供了一种链路质量测量的系统,包括:基站,用于在发起链路质量测量时,向交换机发送用于协商测试发送端的哪个链路聚合子端口为测试发送端口以及测试反射端的哪个链路聚合子端口为测试反射端口的协商报文,并接收交换机协商确定的所述测试发送端口和所述测试反射端口,以及测试发送端利用所述测试发送端口向测试反射端发送测试报文,并根据测试反射端利用所述测试反射端口返回的测试应答报文,对所述测试发送端所连接的链路和所述测试反射端所连接的链路进行链路质量测量;交换机,用于根据基站发送的协商报文,确定所述测试发送端口和所述测试反射端口。

其中,所述协商报文包含需要协商的测试发送端的链路聚合子端口的信息和测试反射端的链路聚合子端口的信息;所述应答报文包含协商后的测试发送端的链路聚合子端口的信息和测试反射端的链路聚合子端口的信息。

下面结合附图4至附图12对本发明实施例的内容进行详细说明,其中,下文中的控制客户端为上文中的客户侧,下文中的服务端为上文中的服务侧,下文中的会话发送端为上文中的测试发送端,下文中的会话反射端为上文中的测试反射端。

图4是本发明实施例提供的twamp报文交互示意图,如图4所示,以协商报文与应答报文复用twamp协议中的request-tw-session和accept-session报文为例,此时twamp交互与twamp标准是一致的,该实施例只是对会话参数协商阶段的request-tw-session和accept-session报文与处理有所更改,更改如图5和图6所示。

其中,twamp-control报文中request-tw-session报文格式,如图5所示,type表示是否有扩展类型。type为0没有扩展,type为1表示聚合类型。mbz(mustbezero,必须为0)表示必须为0,控制客户端发送时必须填0,服务端接收时不检查为0。sendertrunkid表示会话发送端的聚合成员号。rcvtrunkid表示会话反射端的聚合成员号。其它字段按twamp标准定义。

控制客户端发送request-tw-session报文时,如果type=0,即该报文不携带任何聚合信息,mbz及其后的sendertrunkid和rcvtrunkid必须为0,同twamp标准里原定义的request-tw-session报文一致。服务端收到该报文判断type=0就忽略mbz及其后的sendertrunkid和rcvtrunkid。

控制客户端发送request-tw-session报文时,如果type=1,即该报文携带任何聚合信息,此时mbz必须为0,sendertrunkid表示会话发送端的聚合成员号,rcvtrunkid表示建议会话反射端的聚合成员号。以附图1为例,twamp的服务端和会话反射端为交换机,twamp的控制客户端和会话发送端为enb,sendertrunkid可以为1表示会话发送端的端口1。rcvtrunkid可为3表示会话反射端的端口3。

其中,twamp-control报文中accept-session报文格式,如图6所示,type表示是否有扩展类型。type为0没有扩展,type为1表示聚合类型。mbz表示必须为0,控制客户端发送时必须填0,服务端接收时不检查为0。sendertrunkid表示会话发送端的聚合成员号。rcvtrunkid表示会话反射端的聚合成员号。其它字段按twamp标准定义。

图7是本发明实施例提供的twamp的控制客户端发送request-tw-session报文的流程图,如图7所示,根据twamp协议的状态机进入发送完set-up-response报文且收到server-start报文后,按原协议标准处理server-start报文。如果服务端表示同意建立连接,连接建立成功,控制客户端将要发送request-tw-session报文。

先为request-tw-session报文准备buffer缓存,按原协议标准填写request-tw-session的所有字段。再判断请求会话发送端的地址是否承载在聚合口上,如果不是,就将type、mbz、sendertruckid和rcvtrunkid都填0。如果是,判断请求会话的目的是测量聚合链路还是测量子链路,判断依据可以是用户配置。如果会话目的是测量聚合链路,则将type、mbz、sendertruckid和rcvtrunkid都填0。如果会话目的是测量是子链路,选择聚合成员号,依据可以是用户配置,或者依次请求所有子链路。将选择的会话发送端的聚合成员号填入缓存中。同时会选择一个会话反射端的聚合成员号建议值,建议值可以是用户配置,也可以是聚合口协商时确认的会话发送端的聚合成员对应的反射端的聚合成员号。填写完所有字段后,控制客户端将request-tw-session报文发送给服务端。

也就是说,控制客户端设备在连接建立成功后,发送协商报文给服务端;此处协商报文可以是request-tw-session报文,也可以是自定义的报文。控制客户端确定所述的协商报文是否需要携带聚合口成员号;所述聚合口成员号包括发送端聚合口成员号和反射端聚合口成员号。如果会话协商的senderaddress是基于聚合口的地址,那么可选的,可以携带发送端聚合口成员号,表示该会话所有twamp-test报文,发送端只从该聚合口成员端口发出。如果会话协商的senderaddress不是基于聚合口的地址,则一定不携带聚合口成员号。同样所述远端聚合口成员可选填建议会话反射端(session-reflector)聚合口对应的成员端口号。

图8是本发明实施例提供的twamp的服务端发送accept-session报文的流程图,如图8所示,根据twamp协议的状态机进入发送完server-start报文,收到request-tw-session报文后,按原协议标准处理request-tw-session报文。再判断request-tw-session报文中type是否为0,如果type为0,按原来twamp标准协议处理,就将accept-session报文中的type、mbz、sendertruckid和rcvtrunkid都填0;如果type为1,再判断请求的会话反射端的地址是否承载在聚合口上,如果不是,就将request-tw-session报文中的type、mbz、sendertruckid拷贝到accept-session报文的type、mbz、sendertruckid,但是rcvtrunkid填0xff表示无效。如果请求的会话反射端的地址承载在聚合口上,且rcvtrunkid的端口是该receiveraddress对应的聚合口的成员,可以作为反射端反射twamp-test报文的端口,就将request-tw-session报文中的type、mbz、sendertruckid、rcvtrunkid拷贝到accept-session报文的type、mbz、sendertruckid、rcvtrunkid。如果请求的会话反射端的地址承载在聚合口上,但是rcvtrunkid的端口不能作为反射端反射twamp-test报文的端口,或者它不是receiveraddress对应的聚合口的成员,就将request-tw-session报文中的type、mbz、sendertruckid拷贝到accept-session报文的type、mbz、sendertruckid,rcvtrunkid填写服务端认可的会话反射端的端口,该端口是receiveraddress对应的聚合口的成员。

也就是说,服务端收到协商报文,确认报文是否有携带聚合口成员号。如果有携带,则分析会话反射端是否有携带。如果没有,则不管是否存在链路聚合,其twamp-test报文由request-tw-session报文里指定的会话反射端ip地址(receiveraddress)承载的端口发送;如果有,则判断是否会话反射端有链路聚合,当会话反射端有链路聚合,且会回应应答报文且报文中accept=0时,可以在应答报文里携带会话反射端认可的聚合口成员号;当会话反射端没有链路聚合时,则会话反射端回应应答报文且报文中accept=0时,建议通知会话发送端,会话反射端不使用聚合成员。当会话反射端回应应答报文且报文中accept不为0时不需要携带聚合成员号。上述应答报文可以是accept-session报文或是自定义报文。

图9是本发明实施例提供的twamp的控制客户端收到accept-session报文的流程图,如图9所示,当控制客户端收到accept-session报文,会读取报文中的聚合信息。如果报文中accept不为0,表示服务端拒绝了该会话协商参数,需要重新协商。如果accept为0,表示服务端同意了该会话协商的参数,并且读取accept-session报文的rcvtrunkid,表示后续的ip性能度量是sendertruckid和rcvtrunkid之间的链路性能。

也就是说,控制客户端收到应答报文后,确认accept是否为0.当accept非0时表示服务端拒绝了协商请求,当accept为0时表示服务端接受了协商请求,这时需要读取出应答报文携带的聚合成员号。

图10是本发明实施例提供的twamp会话发送端发送twamp-test报文的流程图,如图10所示,在发送测试报文时,查看自己保存的聚合口信息,如果有,则按协商的聚合口信息发送出去。

具体地说,当启动会话之后,会话发送端开始发送twamp-test报文。当会话发送端准备好要发送的twamp-test报文buffer,并且各字段已经填充好后,查询twamp参数协商结果中的聚合信息,如果没有聚合信息或聚合信息中sendertrunkid为0xff无效值时,表示该报文不用指定聚合成员端口发送,直接由senderaddress关联的端口发送出去。如果有聚合信息且sendertrunkid为有效值,则按协商结果将twamp-test报文从sendertrunkid指定的端口发送出去。

图11是本发明实施例提供的twamp会话反射端收到twamp-test报文的流程图,如图11所示,当会话反射端收到twamp-test报文后,并按标准协议填充了各字段,查询twamp参数协商结果中的聚合信息,如果没有聚合信息或聚合信息中rcvtrunkid为0xff无效值时,表示该报文不用指定聚合成员端口发送,直接由receiveraddress关联的端口发送出去。如果有聚合信息且rcvtrunkid为有效值,则按协商结果将twamp-test报文从rcvtrunkid指定的端口发送出去。

图12是本发明实施例提供的链路质量测量的示意图,左边设备包括twamp模块和lacp模块,该设备作为twamp控制客户端和会话发送端。右边设备包括twamp模块和lacp模块,该设备作为twamp服务端和会话反射端。两个设备均有两个网口eth1和eth2,分别连接在一起。

lacp模块实施lacp协议,将两个网口聚合在一起,分别与对端协商与保活。

twamp控制客户端模块实现与twamp服务端模块建立连接、会话参数协商、启动会话、结束会话。twamp控制客户端在会话参数协商阶段去查询lacp模块的信息,确定要测量的链路是否为聚合口,如果是将会根据测量需要选择聚合口成员来测量,以选择eth1来测量为例,将按图5所示的request-tw-session报文发送给twamp服务端。之后对收到服务端模块发回的accept-session报文解析,得到两端的聚合口信息并保存,具体流程如图7和图9所示。

twamp服务端模块实现与twamp控制客户端模块建立连接、会话参数协商、启动会话、结束会话。twamp服务端模块在会话参数协商阶段,收到request-tw-session报文,确定要测量的链路是否为聚合口,如果是将会根据测量需要选择聚合口成员来测量,以选择eth1来测量为例,保存聚合口信息。将按图6所示的accept-session报文发送给twamp控制客户端。具体流程如图8所示。

twamp的会话发送端,实现将测试报文发送给会话反射端。这时会话发送端会查询在会话参数协商保存的聚合口信息,将twamp测试报文全都由eth1发送出去。

twamp的会话反射端,实现将测试报文反射给会话反射端。这时会话反射端会查询在会话参数协商保存的聚合口信息,将twamp测试报文全都由eth1反射出去。

根据本发明实施例提供的方案,通过在request-tw-session和accept-session报文中增加了聚合成员信息相关字段,使twamp-test阶段测试报文指定只从其中一个聚合成员口发出,达到可以对聚合链路中的具体物理链路进行质量测量的效果。

尽管上文对本发明进行了详细说明,但是本发明不限于此,本技术领域技术人员可以根据本发明的原理进行各种修改。因此,凡按照本发明原理所作的修改,都应当理解为落入本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1