检测通信路径mtu的方法、装置和系统的制作方法

文档序号:7762676阅读:495来源:国知局
专利名称:检测通信路径mtu的方法、装置和系统的制作方法
技术领域
本发明涉及通信领域,具体涉及检测通信路径最大传输单元(Maximum Transport Unit, MTU)的方法、装置和系统。
背景技术
互联网技术领域的权威标准组织互联网工程任务组(Internet Engineering Task Force, IETF)早在2004年就开始着手制定一种被称为双向转发检测(Bidirectional Forwarding Detection, BFD)的通信故障检测协议,并最终于2010年6月通过审核成为标准 RFC 5880。BFD是一套全网统一的检测机制,用于快速检测、监控网络中链路连通状况,它提供了一种通用的、标准化的、介质无关的、可硬件实现的,同时又是协议无关的快速故障检测机制,可以为如路由协议、多协议标签交换(Multi-Protocol Label Switching,MPLS)协议等各种上层协议服务,统一快速地检测两台路由器间双向转发路径的故障。并且,BFD还支持对网络设备间任意类型的双向转发路径进行故障检测,包括直连物理链路、虚电路、隧道、MPLS标签交换路径(Label Switched Path,LSP)、单跳路由路径以及多跳路由路径等。 BFD检测到的网络故障可以基于转发平面或控制平面进行快速的保护倒换或路由恢复。BFD协议要求在两台网络设备上建立BFD会话,以检测网络设备间的双向转发路径,为上层应用服务。BFD会话的建立过程,包括标识该BFD会话的本地识别符(Local Discriminator)的交换、两端网络设备发送BFD控制报文时间周期的协商,以及BFD会话端节点上状态机的迁移。BFD会话端节点上的状态机可以处于非工作状态(DOWN)、初始化状态(INIT)和工作状态(UP)三种状态,BFD会话的成功建立要求两个BFD会话端节点上的状态机都迁移到UP状态。BFD会话是通过两端以较低速率(每秒1个)交换BFD控制报文来实现的,BFD控制报文采用用户数据报协议(User Datagram Protocol, UDP)封装,目的端口号为3784,源端口号在49152到65535的范围内选取。BFD会话建立前,两端的网络设备有主动与被动两种模式。如果一台设备为主动模式(Active Role),那么在会话建立前,无论有没有收到对端发来的BFD控制报文,都会主动发送BFD控制报文;如果一台设备为被动模式(Passive Role),那么在会话建立前就不会主动发送BFD控制报文,而是在收到对端发来的BFD控制报文后才发送。要建立BFD会话的两端网络设备中至少要有一端为主动模式才能成功建立起会话。下面针对两端都为主动模式的BFD会话建立过程进行说明;另外,一端主动模式、一端被动模式的会话建立过程基本相同。图1是根据现有技术的网络设备A与网络设备B之间建立BFD会话的流程图,如图1所示,BFD会话采用三次握手的方式来建立步骤1,网络设备A和网络设备B的BFD模块收到上层应用的通知后,启动各自BFD 会话状态机并处于DOWN状态,并且发送携带状态DOWN和本地识别符的BFD控制报文;步骤2,网络设备A和网络设备B收到对端发送的状态为DOWN的BFD控制报文后,
5本地会话状态机由DOWN状态迁移到INIT状态,随后发送携带状态INIT的BFD控制报文;步骤3,网络设备A和网络设备B收到对端发送的状态为INIT的BFD控制报文后, 本地会话状态机由INIT状态迁移到UP状态,标志BFD会话建立成功,随后发送携带状态UP 的BFD控制报文。BFD会话建立过程中,除了本地识别符的交换,还会进行时间参数的协商,以协商出两端各自的BFD控制报文发送周期,之后两端就将以协商后的发送周期来发送BFD控制报文。具体的时间参数协商机制为在两端互发的BFD控制报文中,携带有期望的最小发送间隔(Desired Min TX Interval)和要求的最小接收间隔(Required Min RX Interval), 分别表示发送方所能支持的最快发送频率和最快接收频率,两端分别对比本端所支持的最快发送频率和对端所支持的最快接收频率,从中取较小值作为本端的BFD控制报文发送频率。BFD协议描述了 BFD会话成功建立后,实现双向转发检测的两种工作模式,分别是异步模式和查询模式。在异步模式下,BFD会话两端网络节点之间相互周期性地发送BFD控制报文,如果某个网络节点在一定的检测时间内没有收到对端发送过来的BFD控制报文,则宣布该BFD 会话从UP状态转为Down状态,并可能触发保护倒换等后续操作。这里所说的一定的检测时间,是由对端发送的BFD控制报文中携带的检测时间倍数(Detect Mult)乘以经过协商的对端BFD控制报文发送时间间隔得到的。在查询模式下,BFD协议假定会话两端网络节点都有独立的方法来确认它们之间的连通性,两个节点之间不会周期性地发送BFD控制报文,只有在某个节点按需启动了对连通性显式验证时,才会发送一组BFD控制报文到对端节点;对端节点则会对该组BFD控制报文进行回复。如果发起端节点在一定的检测时间内没有收到对端发送的回应报文,则宣布该BFD会话从UP状态转为Down状态,并可能触发保护倒换等后续操作。这里所说的一定的检测时间的计算方法与异步模式中的相应计算方法相同。以上两种工作模式下所完成的功能可以统称为BFD控制报文检测功能,此外BFD 协议还定义了一种辅助性的功能,称为BFD回声(Echo)功能,它可以分别与基于上述两种工作模式的BFD控制报文检测功能结合起来使用。BFD回声功能指由BFD会话的一端周期性地发送BFD回声报文(Echo Packet),对端系统通过它的转发平面把这些BFD回声报文环回回来,如果回声报文的发送端在一定的检测时间内没有收到对端环回回来的报文,则宣布该BFD会话从UP状态转为Down状态,并可能触发保护倒换等后续操作。当BFD回声功能与异步模式下的BFD控制报文检测功能一起使用时,可以降低BFD控制报文的发送速率,而当它与查询模式下的BFD控制报文检测功能一起使用时,可以完全代替BFD控制报文的发送。由于在使用BFD回声功能时,只有BFD会话的一端需要发送回声报文,另一端只需要环回收到的回声报文;所以决定BFD回声报文发送周期的机制,相对于BFD控制报文发送周期的协商机制要简单一些,只需要回声报文的环回端在发送的BFD控制报文中携带所要求的回声报文最小接收间隔(Required Min Echo RX Interval),发送端再根据收到的回声报文最小接收间隔和自身支持的回声报文最小发送间隔来决定发送回声报文的频率。描述BFD协议的标准RFC 5880并没有定义BFD回声报文的格式,这是因为对于回声报文而言,其格式只与本地节点相关,远端节点只需要把此报文通过反向路径返回,而无需进行报文的解析处理。但是BFD协议中要求本地节点必须能够根据回声报文中相应的内容映射到对应的BFD会话;此外,协议还定义了回声报文所使用的UDP目的端口号为3785。通过以上的分析可以发现,BFD协议定义的BFD回声功能作为对BFD控制报文检测功能的补充,与BFD控制报文检测功能一样可以服务于各种上层协议,同时可应用于除多跳路由路径外的各种通信路径。但其目前只是被用来检测通信路径的转发故障,而无法检测通信路径的MTU,功能应用比较有限。

发明内容
有鉴于此,本发明的主要目的在于提供一种检测通信路径MTU的方法和装置,能够实现对除多跳路由路径外的各种通信路径所允许MTU的快速检测。本发明的另一目的在于提供一种检测通信路径MTU的系统,能够实现对除多跳路由路径外的各种通信路径所允许MTU的快速检测。为达到上述目的,本发明的技术方案是这样实现的一种检测通信路径MTU的方法,该方法包括设置包括回声报文长度在内的检测参数并启动双向转发检测BFD回声功能;本端设备采用单向反复发送方式、或电梯发送方式、或折半发送方式,发送BFD回声报文;对端设备环回收到的回声报文;本端设备根据接收到的被环回的回声报文的长度判断出通信路径的MTU。设置所述检测参数的过程包括设置检测时间倍数,配置回声报文的最小长度和最大长度。本端设备发送的所述回声报文中携带本地识别符和回声报文长度。所述发送BFD回声报文的方法为发送回声报文时以N个为一组,每组中有(N-2)个报文的长度保持为所配置的最小长度,另2个报文的长度相同并在组与组之间不断变化;长度发生变化的所述2个报文分别为一组N个报文中的第2个和第N-I个;所述N大于等于5。采用单向反复发送方式发送BFD回声报文时,所述判断出通信路径的MTU的过程包括每当一组报文中的第2、N-I个报文的长度达到所配置的最大报文长度,并且从一个特定报文的长度开始,其后的各组报文中的第2、N-I个报文都没有收到时,认为所述特定报文的长度为通信路径的MTU ;采用电梯发送方式发送BFD回声报文时,所述判断出通信路径的MTU的过程包括每当一组报文中的第2、N-I个报文的长度达到所配置的最大报文长度,然后又回到所配置的最小报文长度时;从一个特定报文的长度开始,其后的各组报文中的第2、N-I 个报文都没有收到,并且直到报文长度到达最大报文长度后又减小到所述特定报文的长度,以及其后的各组报文中的第2、N-I个报文都能够收到时,认为所述特定报文的长度为通信路径的MTU ;
采用折半发送方式发送BFD回声报文时,所述判断出通信路径的MTU的过程包括每当一组报文中的第2、N-I个报文被本端设备收到,并且经过计算本组中与前一组中第2、N-1个报文的长度的差值满足所配置的检测精度的要求时,认为所述本组中第2、 N-I个报文的长度为通信路径的MTU。所述BFD回声报文是周期性发送的,所述判断出通信路径的MTU是针对每个周期中所发送的BFD回声报文进行的。一种检测通信路径MTU的装置,该装置包括回声设置单元、回声报文处理单元、通信路径MTU判决单元;其中,所述回声设置单元,用于设置包括回声报文长度在内的检测参数并启动BFD回声功能,并将设置情况通知给回声报文处理单元;所述回声报文处理单元,用于采用单向反复发送方式、或电梯发送方式、或折半发送方式,发送BFD回声报文给对端设备;所述通信路径MTU判决单元,用于接收被对端设备环回的回声报文,根据接收到的被环回的回声报文的长度判断出通信路径的MTU。所述回声设置单元设置所述检测参数时,用于设置检测时间倍数,配置回声报文的最小长度和最大长度。所述回声报文处理单元发送的所述回声报文中携带本地识别符和回声报文长度。所述回声报文处理单元发送BFD回声报文时,用于发送回声报文时以N个为一组,每组中有(N-2)个报文的长度保持为所配置的最小长度,另2个报文的长度相同并在组与组之间不断变化;长度发生变化的所述2个报文分别为一组N个报文中的第2个和第N-I个;所述N大于等于5。所述回声报文处理单元采用单向反复发送方式发送BFD回声报文时,所述通信路径MTU判决单元判断出通信路径的MTU时,用于每当一组报文中的第2、N-I个报文的长度达到所配置的最大报文长度,并且从一个特定报文的长度开始,其后的各组报文中的第2、N-I个报文都没有收到时,认为所述特定报文的长度为通信路径的MTU ;所述回声报文处理单元采用电梯发送方式发送BFD回声报文时,所述通信路径 MTU判决单元判断出通信路径的MTU时,用于每当一组报文中的第2、N-I个报文的长度达到所配置的最大报文长度,然后又回到所配置的最小报文长度时;从一个特定报文的长度开始,其后的各组报文中的第2、N-I 个报文都没有收到,并且直到报文长度到达最大报文长度后又减小到所述特定报文的长度,以及其后的各组报文中的第2、N-I个报文都能够收到时,认为所述特定报文的长度为通信路径的MTU ;所述回声报文处理单元采用折半发送方式发送BFD回声报文时,所述通信路径 MTU判决单元判断出通信路径的MTU时,用于每当一组报文中的第2、N-I个报文被本端设备收到,并且经过计算本组中与前一组中第2、N-1个报文的长度的差值满足所配置的检测精度的要求时,认为所述本组中第2、
8N-I个报文的长度为通信路径的MTU。所述回声报文处理单元,用于周期性发送所述BFD回声报文;所述通信路径MTU判决单元,用于针对每个周期中所发送的BFD回声报文判断出通信路径的MTU。一种检测通信路径MTU的系统,该系统包括本端设备、对端设备;所述本端设备中包括回声设置单元、回声报文处理单元、通信路径MTU判决单元;其中,所述回声设置单元,用于设置包括回声报文长度在内的检测参数并启动BFD回声功能,并将设置情况通知给回声报文处理单元;所述回声报文处理单元,用于采用单向反复发送方式、或电梯发送方式、或折半发送方式,发送BFD回声报文给对端设备;所述对端设备,用于环回收到的BFD回声报文;所述通信路径MTU判决单元,用于接收被对端设备环回的回声报文,根据接收到的被环回的回声报文的长度判断出通信路径的MTU。本发明方法、装置和系统,扩展了双向转发检测协议定义的双向转发检测回声功能,使得该功能不但能用作双向通信路径转发故障的检测,也能用作双向通信路径最大传输单元的检测,提供了快速的、通用的、介质无关的、可硬件实现的,同时又是协议无关的快速最大传输单元检测机制,能够实现通信路径所允许最大传输单元的快速检测。


图1为BFD协议规定的BFD会话建立过程示意图;图2为本发明实施例的检测通信路径MTU的流程图;图3为本发明实施例1的发送BFD回声报文的方式示意图;图4为本发明实施例2的发送BFD回声报文的方式示意图;图5为本发明实施例3的发送BFD回声报文的方式示意图;图6为本发明检测通信路径MTU的流程简图;图7为本发明实施例的检测通信路径MTU的装置图。
具体实施例方式通常,MTU指通信路径所允许通过的最大包的包长,检测到的MTU可以作为该通信路径端节点进行包分片(Fragmentation)的依据。总体而言,在通信路径两端的网络设备建立起BFD会话后,在一端设备(为了描述方便,可以称为本端设备)上把BFD回声报文的检测时间倍数设为N(N大于等于5),配置回声报文的最小长度和最大长度并启动BFD回声功能,周期性发送报文长度不断变化的BFD 回声报文。回声报文携带的参数包括本地识别符和回声报文长度,发送时以N个为一组,每组中有(N-2)个报文的长度保持为所配置的最小长度,另2个报文的长度相同并在组与组之间不断变化,变化的方式有多种并将在后续的实施例中具体描述。回声报文到达对端设备后,对端设备通过转发平面环回所收到的回声报文,然后本端设备则能够根据接收到的被环回的回声报文长度判断出该通信路径的MTU。上述技术内容可以表示如图2所示,图2为本发明检测通信路径MTU的方法流程
9示意图,图2所示流程包括以下步骤步骤201 通信路径两端的网络设备通过三次握手(实际应用中的握手次数可能因应用场景的变化而变化)建立起BFD会话。通常,BFD会话建立成功的标志就是两端设备的本地BFD会话状态机都迁移到并保持于UP状态。步骤202 在本端设备上启动BFD回声功能,周期性发送长度变化的、携带本地识别符和回声报文长度的BFD回声报文。在本端设备上启动BFD回声功能之前,需要把BFD回声报文的检测时间倍数设为 N(N大于等于5);也就是说,如果连续N个周期内没有收到任何回声报文,则宣布该BFD会话从UP状态转为Down状态。此外,还需要配置回声报文的最小长度和最大长度,也就是回声报文长度的变化范围。当然,回声报文的检测时间倍数可能会因实际应用场景的变化而变化。在发送BFD回声报文时,发送周期是根据BFD协议的规定获得的,也就是根据发送端设备支持的最小发送周期和接收端设备在BFD控制报文中表明的最小接收间隔来决定, 取二者中较大值作为BFD回声报文的发送周期。回声报文发送时以N个为一组,每组中有(N-2)个报文的长度保持为所配置的最小长度,另2个报文的长度相同并在组与组之间不断变化。长度发生变化的这2个报文分别为一组N个报文中的第2个和第N-I个,报文长度的变化方式可以有多种实施例。本地识别符可以保证发送回声报文的设备在接收到被环回的报文后能够识别该报文所属的BFD会话,报文长度可以保证发送回声报文的设备在接收到被环回的报文后可以快速获得该报文的长度。步骤203 对端设备环回所有收到的BFD回声报文。根据BFD协议的规定,BFD会话的两端设备如果支持BFD回声功能,则当本端设备接收到BFD回声报文后,它会把所有接收到的回声报文通过转发平面环回,使其回到回声报文的发送端设备。步骤204:本端设备根据接收到的被环回的回声报文长度,判断出通信路径的 MTU。具体而言,根据不同实施例中回声报文长度的不同变化方式,本端设备判断通信路径MTU所需的时间和能达到的精度是不尽相同的,具体选用何种回声报文长度变化方式由上层应用的需求决定。需要说明的是,启动BFD回声功能后,由于周期性发送回声报文是一个持续的过程,所以本端设备可以反复计算通信路径的MTU,并不断把最新计算出的MTU反馈给上层应用。下面结合附图对技术方案的实施作进一步的详细描述。实施例1本实施例中,本端设备采用单向反复发送方式来发送BFD回声报文。图3为本发明实施例1发送BFD回声报文的方式示意图,结合图2和图3所示,采用实施例1检测通信路径MTU的方法包括如下步骤步骤201 通信路径两端的网络设备通过三次握手建立起BFD会话。
步骤202 在本端设备上启动BFD回声功能,周期性发送长度变化的、携带本地识别符和回声报文长度的BFD回声报文。如在启动BFD回声功能之前,把BFD回声报文的检测时间倍数设为5,配置回声报文的最小长度为Lenjiiin,最大长度为Lenjnax,变化步长为Len_Step。在周期性发送回声报文时以5个为一组,一组中的第1、3、5个报文长度为Lenjiiin并保持不变,第2、4个报文长度相同并在组与组之间不断变化,第1组中的第2、4个报文长度为Lenjiiin,第2组中的第2、4个报文长度为Len_min+Len_Step,以此类推,直到报文长度达到最大报文长度 Len_max,再开始重复前一轮的报文长度变化过程。步骤203 对端设备环回所有收到的BFD回声报文。步骤204:本端设备根据接收到的被环回的回声报文的长度判断出通信路径的 MTU。如每当一组报文中的第2、4个报文的长度达到所配置的最大报文长度Lenjiiax, 就可以判断出一次该通信路径的MTU。判断的方法为如果从某一个报文长度开始,其后的各组报文中的第2、4个报文都没有收到,则认为该报文长度为通信路径的MTU。实施例2本实施例中,本端设备采用电梯发送方式来发送BFD回声报文。图4为本发明实施例2发送BFD回声报文的方式示意图,结合图2和图4所示,采用实施例2检测通信路径MTU的方法包括如下步骤步骤201 通信路径两端的网络设备通过三次握手建立起BFD会话。步骤202 在本端设备上启动BFD回声功能,周期性发送长度变化的、携带本地识别符和回声报文长度的BFD回声报文。如在启动BFD回声功能之前,把BFD回声报文的检测时间倍数设为5,配置回声报文的最小长度为Lenjiiin,最大长度为Lenjnax,变化步长为Len_Step。在周期性发送回声报文时以5个为一组,一组中的第1、3、5个报文长度为Lenjiiin并保持不变,第2、4个报文长度相同并在组与组之间不断变化,第1组中的第2、4个报文长度为Lenjiiin,第2组中的第2、4个报文长度为Len_min+Len_Step,以此类推,直到报文长度达到最大报文长度 Lenjiiax,其后一组中的第2、4个报文长度为Lenjiiax-Len-step,以此类推,直到报文长度又重新达到最小报文长度Lenjiiin,再开始重复前一轮的报文长度变化过程。步骤203 对端设备环回所有收到的BFD回声报文。步骤204:本端设备根据接收到的被环回的回声报文的长度判断出通信路径的 MTU。如每当一组报文中的第2、4个报文的长度达到所配置的最大报文长度Lenjiiax, 然后又回到所配置的最小报文长度Lenjiiin时,就可以判断出一次该通信路径的MTU。判断的方法为如果从某一个报文长度开始,其后的各组报文中的第2、4个报文都没有收到,直到报文长度到达Lenjiiax后又减小到这一个报文长度,其后的各组报文中的第2、4个报文都能够收到,则认为该报文长度为通信路径的MTU。实施例3本实施例中,本端设备采用折半发送方式来发送BFD回声报文。图5为本发明实施例3发送BFD回声报文的方式示意图,结合图2和图5所示,采
11用实施例3检测通信路径MTU的方法包括如下步骤步骤201 通信路径两端的网络设备通过三次握手建立起BFD会话。步骤202 在本端设备上启动BFD回声功能,周期性发送长度变化的、携带本地识别符和回声报文长度的BFD回声报文。如在启动BFD回声功能之前,把BFD回声报文的检测时间倍数设为5,配置回声报文的最小长度为Lenjiiin,最大长度为Lenjnax,检测的精度为Len_difT。在周期性发送回声报文时以5个为一组,一组中的第1、3、5个报文长度为Lenjiiin并保持不变,第2、4个报文长度相同并在组与组之间不断变化,第1组中的第2、4个报文长度为Len_min+(Len_ max-Len_min)/2,即为最小长度与最大长度之间的中间值。第2组中的第2、4个报文长度要根据第1组中的第2、4个报文的接收情况和检测精度是否达到的情况来决定;本例中,由于没有收到第1组中的第2、4个报文,所以第2组中的第2、4个报文的报文长度继续折半,即为最小长度与第1组中的第2、4个报文长度之间的中间值;同理,第3组中的第2、4个报文长度要根据第2组中的第2、4个报文的接收情况和检测精度是否达到的情况来决定;本例中,由于收到了第2组中的第2、4个报文,所以需要判断检测精度是否达到,判断的标准为如果第1、2组之间报文长度的差值未超过所配置的检测精度Len_difT,则认为检测精度达到,否则认为检测精度没有达到,需要继续折半发送。本例中,由于没有达到检测精度,所以继续折半发送第3组回声报文。以此类推,直到找到满足检测精度的MTU值,本轮MTU检测过程结束,接着再开始重复前一轮的报文长度变化过程。步骤203 对端设备环回所有收到的BFD回声报文。步骤204:本端设备根据接收到的被环回的回声报文的长度判断出通信路径的 MTU。如每当一组报文中的第2、4个报文被本端设备收到,并且经过计算其报文长度满足所配置的检测精度的要求时,就可以判断出一次该通信路径的MTU,意即该报文长度为本轮判断出的该通信路径的MTU。结合以上各流程可知,本发明不影响已有技术中BFD回声功能对通信路径转发故障的检测,能够尽量避免因非MTU因素导致的回声报文偶然丢失而影响通信路径MTU检测准确性。并且,由于扩展了 BFD协议定义的BFD回声功能,使得该功能不但能用作双向通信路径转发故障的检测,也能用作双向通信路径MTU的检测,提供了一种快速的、通用的、介质无关的、可硬件实现的,同时又是协议无关的快速MTU检测机制,能够实现对除多跳路由路径外的各种通信路径所允许MTU的快速检测。结合以上各流程可知,本发明检测通信路径MTU的操作思路可以表示如图6所示。 参见图6,图6为本发明检测通信路径MTU的流程简图,该流程包括以下步骤步骤610 设置包括回声报文长度在内的检测参数并启动BFD回声功能。步骤620 本端设备发送报文长度不断变化的BFD回声报文。所述长度不断变化, 可以通过采用单向反复发送方式、或电梯发送方式、或折半发送方式实现。步骤630 对端设备环回收到的回声报文;本端设备根据接收到的被环回的回声报文的长度判断出通信路径的MTU。
为了保证上述的操作能够顺利实现,可以进行如图7所示的设置。参见图7,图7 为本发明实施例的检测通信路径MTU的装置图,该装置包括相连的本端设备和对端设备, 本端设备中设置有能够实现彼此连接的回声设置单元、回声报文处理单元、通信路径MTU 判决单元。需要说明的是,在不同的应用场景中,本端设备和对端设备的身份可以对换,当图 7中的对端设备主动发起通信路径MTU的检测时,该对端设备实际就成为了本端设备,并且包含上述的回声设置单元、回声报文处理单元、通信路径MTU判决单元。图7中只是以本端设备发起通信路径MTU的检测为例,对本发明检测通信路径MTU的技术进行说明。在实际应用时,回声设置单元能够设置包括回声报文长度在内的检测参数并启动 BFD回声功能,并将设置情况通知给回声报文处理单元。如设置检测时间倍数,配置回声报文的最小长度和最大长度并启动BFD回声功能等。在通信路径两端的网络设备建立起BFD会话后,回声报文处理单元能够发送(如周期性发送)报文长度不断变化的BFD回声报文给对端设备。对端设备能够环回收到的 BFD回声报文,使得通信路径MTU判决单元能够接收到被环回的回声报文,进而可以根据接收到的被环回的回声报文的长度判断出通信路径的MTU。图7中各功能实体所能实现的具体操作已在前述各流程及操作思路中详细描述, 在此不再赘述。综上所述可见,本发明检测通信路径MTU的方法、装置和系统,均能够实现对除多跳路由路径外的各种通信路径所允许MTU的快速检测。以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种检测通信路径最大传输单元MTU的方法,其特征在于,该方法包括 设置包括回声报文长度在内的检测参数并启动双向转发检测BFD回声功能;本端设备采用单向反复发送方式、或电梯发送方式、或折半发送方式,发送BFD回声报文;对端设备环回收到的回声报文;本端设备根据接收到的被环回的回声报文的长度判断出通信路径的MTU。
2.根据权利要求1所述的方法,其特征在于,设置所述检测参数的过程包括 设置检测时间倍数,配置回声报文的最小长度和最大长度。
3.根据权利要求1所述的方法,其特征在于,本端设备发送的所述回声报文中携带本地识别符和回声报文长度。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述发送BFD回声报文的方法为发送回声报文时以N个为一组,每组中有(N-2)个报文的长度保持为所配置的最小长度,另2个报文的长度相同并在组与组之间不断变化;长度发生变化的所述2个报文分别为一组N个报文中的第2个和第N-I个; 所述N大于等于5。
5.根据权利要求4所述的方法,其特征在于,采用单向反复发送方式发送BFD回声报文时,所述判断出通信路径的MTU的过程包括每当一组报文中的第2、N-I个报文的长度达到所配置的最大报文长度,并且从一个特定报文的长度开始,其后的各组报文中的第2、N-I个报文都没有收到时,认为所述特定报文的长度为通信路径的MTU ;采用电梯发送方式发送BFD回声报文时,所述判断出通信路径的MTU的过程包括 每当一组报文中的第2、N-I个报文的长度达到所配置的最大报文长度,然后又回到所配置的最小报文长度时;从一个特定报文的长度开始,其后的各组报文中的第2、N-I个报文都没有收到,并且直到报文长度到达最大报文长度后又减小到所述特定报文的长度,以及其后的各组报文中的第2、N-I个报文都能够收到时,认为所述特定报文的长度为通信路径的MTU ;采用折半发送方式发送BFD回声报文时,所述判断出通信路径的MTU的过程包括 每当一组报文中的第2、N-I个报文被本端设备收到,并且经过计算本组中与前一组中第2、N-I个报文的长度的差值满足所配置的检测精度的要求时,认为所述本组中第2、N-I 个报文的长度为通信路径的MTU。
6.根据权利要求1至3任一项所述的方法,其特征在于,所述BFD回声报文是周期性发送的,所述判断出通信路径的MTU是针对每个周期中所发送的BFD回声报文进行的。
7.一种检测通信路径MTU的装置,其特征在于,该装置包括回声设置单元、回声报文处理单元、通信路径MTU判决单元;其中,所述回声设置单元,用于设置包括回声报文长度在内的检测参数并启动BFD回声功能,并将设置情况通知给回声报文处理单元;所述回声报文处理单元,用于采用单向反复发送方式、或电梯发送方式、或折半发送方式,发送BFD回声报文给对端设备;所述通信路径MTU判决单元,用于接收被对端设备环回的回声报文,根据接收到的被环回的回声报文的长度判断出通信路径的MTU。
8.根据权利要求7所述的装置,其特征在于,所述回声设置单元设置所述检测参数时, 用于设置检测时间倍数,配置回声报文的最小长度和最大长度。
9.根据权利要求7所述的装置,其特征在于,所述回声报文处理单元发送的所述回声报文中携带本地识别符和回声报文长度。
10.根据权利要求7至9任一项所述的装置,其特征在于,所述回声报文处理单元发送 BFD回声报文时,用于发送回声报文时以N个为一组,每组中有(N-2)个报文的长度保持为所配置的最小长度,另2个报文的长度相同并在组与组之间不断变化;长度发生变化的所述2个报文分别为一组N个报文中的第2个和第N-I个;所述N大于等于5。
11.根据权利要求10所述的装置,其特征在于,所述回声报文处理单元采用单向反复发送方式发送BFD回声报文时,所述通信路径 MTU判决单元判断出通信路径的MTU时,用于每当一组报文中的第2、N-I个报文的长度达到所配置的最大报文长度,并且从一个特定报文的长度开始,其后的各组报文中的第2、N-I个报文都没有收到时,认为所述特定报文的长度为通信路径的MTU;所述回声报文处理单元采用电梯发送方式发送BFD回声报文时,所述通信路径MTU判决单元判断出通信路径的MTU时,用于每当一组报文中的第2、N-I个报文的长度达到所配置的最大报文长度,然后又回到所配置的最小报文长度时;从一个特定报文的长度开始,其后的各纽报文中的第2、N-I个报文都没有收到,并且直到报文长度到达最大报文长度后又减小到所述特定报文的长度,以及其后的各组报文中的第2、N-I个报文都能够收到时,认为所述特定报文的长度为通信路径的MTU ;所述回声报文处理单元采用折半发送方式发送BFD回声报文时,所述通信路径MTU判决单元判断出通信路径的MTU时,用于每当一组报文中的第2、N-I个报文被本端设备收到,并且经过计算本组中与前一组中第2、N-I个报文的长度的差值满足所配置的检测精度的要求时,认为所述本组中第2、N-I 个报文的长度为通信路径的MTU。
12.根据权利要求7至9任一项所述的装置,其特征在于,所述回声报文处理单元,用于周期性发送所述BFD回声报文;所述通信路径MTU判决单元,用于针对每个周期中所发送的BFD回声报文判断出通信路径的MTU。
13.—种检测通信路径MTU的系统,其特征在于,该系统包括本端设备、对端设备;所述本端设备中包括回声设置单元、回声报文处理单元、通信路径MTU判决单元;其中,所述回声设置单元,用于设置包括回声报文长度在内的检测参数并启动BFD回声功能,并将设置情况通知给回声报文处理单元;所述回声报文处理单元,用于采用单向反复发送方式、或电梯发送方式、或折半发送方式,发送BFD回声报文给对端设备;所述对端设备,用于环回收到的BFD回声报文;所述通信路径MTU判决单元,用于接收被对端设备环回的回声报文,根据接收到的被环回的回声报文的长度判断出通信路径的MTU。
全文摘要
本发明公开了检测通信路径最大传输单元的方法、装置和系统,均可设置包括回声报文长度在内的检测参数并启动双向转发检测回声功能;并由本端设备采用单向反复发送方式、或电梯发送方式、或折半发送方式,发送BFD回声报文;还可由对端设备环回收到的回声报文;本端设备根据接收到的被环回的回声报文的长度判断出通信路径的最大传输单元。本发明扩展了双向转发检测协议定义的双向转发检测回声功能,使得该功能不但能用作双向通信路径转发故障的检测,也能用作双向通信路径最大传输单元的检测,提供了快速的、通用的、介质无关的、可硬件实现的,同时又是协议无关的快速最大传输单元检测机制,能够实现通信路径所允许最大传输单元的快速检测。
文档编号H04L12/26GK102457404SQ20101051380
公开日2012年5月16日 申请日期2010年10月15日 优先权日2010年10月15日
发明者张磊, 肖敏 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1