一种检测报文的发送方法及装置制造方法及图纸

技术编号:14014396 阅读:81 留言:0更新日期:2016-11-17 18:38
本发明专利技术实施例提供了一种检测报文的发送方法及装置。其中,第一检测报文的第一封装报文已经根据第一链路的第一接口的信息预先封装好。所述方法包括:在报文发送时机到来之前,当第一链路满足预设条件时,确定到达第一检测报文的目的地址的第二链路;根据第二链路的第二接口的信息,对第一检测报文重新封装,得到第二封装报文;在满足报文发送条件时,通过第二链路发送第二封装报文。应用本实施例,当链路发生切换时,能够继续检测当前启用的链路,提高链路状态检测的稳定性和准确性。

【技术实现步骤摘要】

本专利技术涉及通信
,特别涉及一种检测报文的发送方法及装置
技术介绍
为了保护关键应用,网络中会设计有一定的冗余备份链路,网络发生故障时,就要求网络设备能够快速检测出故障,并将流量切换至备份链路,以加快网络收敛速度。目前,上层协议通常采用BFD(Bidirectional Forwarding Detection,双向转发检测)机制检测链路故障,其检测时间在毫秒级。BFD是一种通用的、标准化的、介质无关和协议无关的快速故障检测机制。为了实现快速检测,尽量减少报文发送流程中的时间消耗,现有技术中,BFD模块通常依据将要发送检测报文的目标链路的信息,提前封装检测报文至链路层,然后在检测报文的发送时刻到来时,调用底层的发送接口通过目标链路直接发送检测报文,以达到快速发送的目的。但是,对于两个网络设备之间存在至少两条等价链路的情况,在检测报文的发送时刻到来之前,如果目标链路发生故障,由于检测报文是依据目标链路的接口的信息封装的,所以网络设备还是会将检测报文通过目标链路发送至目的地址。但是由于该目标链路发生故障,对端将无法接收到该检测报文,从而导致BFD会话中断。而实际上,这两个网络设备之间的链路已经发生等价链路切换,即通过另一条等价链路发送报文,但由于BFD会话已经中断,因此无法继续检测这两个网络设备之间的链路。对于两个网络设备之间存在至少两条链路的情况,在检测报文的发送时刻到来之前,如果目标链路由最优链路变为非最优链路,网络设备之间的另一条链路从非最优链路变为最优链路,则业务报文不通过目标链路发送。由于检测报文已经封装好了,因此它还是会通过目标链路发送。也就是说,此时检测的链路并不是业务报文实际走的链路。例如,如图1所示,路由器A与C之间存在两条等价链路L1和L2,A创建的BFD会话采用L1的接口a发送BFD报文,预先将BFD报文封装好。在发送时刻到来之前,当L1发生故障时,AC之间的检测报文接收超时,导致BFD会话中断。同时,A检测到L1发生故障后,启用L2。但是,由于A与C之间的BFD会话已经中断了,因此无法对L2实施检测。也就是说,当网络设备之间的链路发生切换时,无法继续检测当前启用的链路,链路状态检测的稳定性和准确性不高。
技术实现思路
本专利技术实施例的目的在于提供了一种检测报文的发送方法及装置,当链路发生切换时,能够继续检测当前启用的链路,提高链路状态检测的稳定性和准确性。为了达到上述目的,本申请公开了一种检测报文的发送方法,第一检测报文的第一封装报文已经根据第一链路的第一接口的信息预先封装好;所述方法包括:在报文发送时机到来之前,当所述第一链路满足预设条件时,确定到达所述第一检测报文的目的地址的第二链路;根据所述第二链路的第二接口的信息,对所述第一检测报文重新封装,得到第二封装报文;在满足报文发送条件时,通过所述第二链路发送所述第二封装报文。为了达到上述目的,本申请公开了一种检测报文的发送装置,第一检测报文的第一封装报文已经根据第一链路的第一接口的信息预先封装好;所述装置包括:确定模块,用于在报文发送时机到来之前,当所述第一链路满足预设条件时,确定到达所述第一检测报文的目的地址的第二链路;封装模块,用于根据所述第二链路的第二接口的信息,对所述第一检测报文重新封装,得到第二封装报文;发送模块,用于在满足报文发送条件时,通过所述第二链路发送所述第二封装报文。由上述技术方案可见,本专利技术实施例中,第一检测报文的第一封装报文已经根据第一链路的第一接口的信息预先封装好,在报文发送时机到来之前,当第一链路满足预设条件时,确定到达第一检测报文的目的地址的第二链路,根据第二链路的第二接口的信息对第一检测报文重新封装,得到第二封装报文。在满足报文发送条件时,通过第二链路发送第二封装报文。也就是说,当第一链路满足预设条件时,网络设备之间的链路会从第一链路切换至第二链路。因此,应用本专利技术实施例,当链路发生切换时,能够继续检测当前切换后的链路,提高链路状态检测的稳定性和准确性。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为网络设备之间链路连接的一种原理示意图;图2为本专利技术实施例提供的检测报文的发送方法的一种流程示意图;图3为本专利技术实施例提供的检测报文的发送方法的另一种流程示意图;图4为本专利技术实施例提供的检测报文的发送方法的再一种流程示意图;图5为本专利技术实施例提供的检测报文的发送装置的一种结构示意图;图6为本专利技术实施例提供的检测报文的发送装置的另一种结构示意图;图7为本专利技术实施例提供的检测报文的发送装置的再一种结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整的描述。显然,所描述的实施例仅仅是本专利技术的一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术实施例提供了一种检测报文的发送方法及装置,当链路发生切换时,能够继续检测当前启用的链路,提高链路状态检测的稳定性和准确性。本专利技术实施例可以应用于但不限于网络设备,其中,网络设备可以包括交换机、路由器等。下面通过具体实施例,对本申请进行详细说明。图2为本专利技术实施例提供的检测报文的发送方法的一种流程示意图,第一检测报文的第一封装报文已经根据第一链路的第一接口的信息预先封装好。该方法包括如下步骤:步骤S201:在报文发送时机到来之前,当第一链路满足预设条件时,确定到达第一检测报文的目的地址的第二链路。具体的,本实施例可以由网络设备来执行。网络设备可以包括检测模块、接口管理模块和路由管理模块。更具体的,本实施例可以由检测模块执行。需要说明的是,第一链路满足预设条件可以包括多种情况,例如,第一链路的第一接口发生故障停用,或由于链路状态发生变化,第一链路不再是最优链路等都可能导致第一链路满足预设条件。也就是说,不管第一链路是发生故障,还是链路状态发生变化,都将导致网络设备之间所启用的链路发生切换。具体的,检测模块可以预先向接口管理模块注册关心的接口down事件。当检测模块关心的接口的状态由up变为down时,接口管理模块会通知检测模块down接口的索引。检测模块也可以预先向路由管理模块注册关心的链路,当该链路的从最优链路变为非最优链路时,路由管理模块向检测模块发送通知,这样,检测模块就能够确定哪条链路从最优链路变为非最优链路。具体的,上述第一检测报文可以是BFD检测报文,本申请并不对此进行限定。第一接口的信息可以是下一跳的MAC(Media Access Control,媒体访问控制)地址。在实际应用中,为了实现快速发送检测报文,一般采用提前封装报文的方式,将检测报文封装至链路层,当报文发送时机到来时,直接调用底层的发送接口发送封装好的报文。由于报文发送时少了添加用户数据包协议UDP、IP、以太等链路信息的过程,因此可以达到快速发包的效果。也就是说,当第一封装报文封装好之后,在报文发送时机到来之前,第一链路本文档来自技高网
...
一种检测报文的发送方法及装置

【技术保护点】
一种检测报文的发送方法,其特征在于,第一检测报文的第一封装报文已经根据第一链路的第一接口的信息预先封装好;所述方法包括:在报文发送时机到来之前,当所述第一链路满足预设条件时,确定到达所述第一检测报文的目的地址的第二链路;根据所述第二链路的第二接口的信息,对所述第一检测报文重新封装,得到第二封装报文;在满足报文发送条件时,通过所述第二链路发送所述第二封装报文。

【技术特征摘要】
1.一种检测报文的发送方法,其特征在于,第一检测报文的第一封装报文已经根据第一链路的第一接口的信息预先封装好;所述方法包括:在报文发送时机到来之前,当所述第一链路满足预设条件时,确定到达所述第一检测报文的目的地址的第二链路;根据所述第二链路的第二接口的信息,对所述第一检测报文重新封装,得到第二封装报文;在满足报文发送条件时,通过所述第二链路发送所述第二封装报文。2.根据权利要求1所述的方法,其特征在于,所述当所述第一链路满足预设条件时,确定到达所述第一检测报文的目的地址的第二链路,包括:当检测到所述第一接口为停用状态时,判定所述第一链路满足预设条件;根据已存储的接口与会话的对应关系,确定所述第一接口对应的第一会话;根据所述第一会话,确定所述第一检测报文的目的地址;获取所述目的地址对应的所有转发表项;从接口不为所述第一接口的转发表项对应的链路中,选择第二链路。3.根据权利要求1所述的方法,其特征在于,所述当所述第一链路满足预设条件时,确定到达所述第一检测报文的目的地址的第二链路,包括:当检测到所述第一链路从最优链路变为非最优链路时,从转发表中删除所述第一链路对应的转发表项,并判定所述第一链路满足预设条件;根据已存储的链路与会话的对应关系,确定所述第一链路对应的第一会话;根据所述第一会话,确定所述第一检测报文的目的地址;获取所述目的地址对应的所有转发表项;从所获取的转发表项对应的链路中选择第二链路。4.根据权利要求2或3任一项所述的方法,其特征在于,在所述根据所述第一会话,确定所述第一检测报文的目的地址之前,还包括:判断所述第一会话的状态是否为启用状态,如果是,则执行所述根据所述第一会话,确定所述第一检测报文的目的地址的步骤。5.根据权利要求2所述的方法,其特征在于,所述当检测到所述第一接口为停用状态时,判定所述第一链路满足预设条件,包括:接收接口管理模块发送的所述第一接口为停用状态的第一通知;根据所述第一通知,判定所述第一链路满足预设条件。6.根据权利要求3所述的方法,其特征在于,所述当检测到所述第一链路从最优链路变为非最优链路时,从转发表中删除所述第一链路对应的转发表项,并判定所述第一链路满足预设条件,包括:接收路由管理模块发送的所述第一链路从最优链路变为非最优链路的第二通知;根据所述第二通知,从转发表中删除所述第一链路对应的转发表项,并判定所述第一链路满足预设...

【专利技术属性】
技术研发人员:顾斌
申请(专利权)人:杭州华三通信技术有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1