一种获取设备接口MRU值的方法和装置制造方法及图纸

技术编号:14416130 阅读:166 留言:0更新日期:2017-01-12 04:26
本发明专利技术公开了一种获取设备接口最大接收单元MRU值的方法,包括:虚链源端设备向虚拟链路上自身的下一跳设备发送生存时间TTL为1的用户数据报协议UDP报文;其中,UDP报文的目的互联网协议IP地址为虚链邻居的IP地址;当发送端接收到因特网控制报文协议ICMP超时差错报文时,保存ICMP超时差错报文中的未使用字段MRU值,并继续向虚拟链路上自身的下一跳设备发送TTL比上一次发送的UDP报文的TTL大1的UDP报文。通过本发明专利技术的方案,虚链源端设备采用UDP报文获取到虚拟链路上其他设备接收接口的MRU值,实现了MTU值和MRU值之间的协商。

【技术实现步骤摘要】

本专利技术涉及动态路由技术,尤指一种获取设备接口最大接收单元(MRU,MaximumReceiveUnit)值的方法和装置。
技术介绍
动态路由协议主要分为两种,一种是距离矢量路由算法,一种是链路状态路由算法。距离矢量路由算法包括路由信息协议(RIP,RoutingInformationProtocol)、边界网关协议(BGP,BorderGatewayProtocol);链路状态路由算法包括开放式最短路径优先(OSPF,OpenShortestPathFirst)、中间系统—中间系统(ISIS,IntermediateSystem-to-IntermediateSystem)。在距离矢量路由算法中,每一台路由器维护一张表,表中列举了当前已知的自身到每个目的地的最佳路径,这些表通过邻居之间的相互交换信息而不断被更新,最终每台路由器都有到达每个目的地的最佳路径。由于距离矢量路由算法存在一定的缺点,比如当网络拓扑结构发生变化后距离矢量路由算法需要太长时间才能收敛到状态,由此逐渐出现了链路状态路由算法。在链路状态路由算法中,通过发送和接收HELLO报文来发现邻居,邻居之间进行链路状态数据库(LSDB,LinkStateDatabase)的同步,LSDB同步完成后本地路由器利用LSDB来构建最短路径优先(SPF,ShortestPathFirst)树,最终计算出自身到达每一个目的地址的最佳路径。其中,OSPF协议既可以在直连设备之间建立邻居关系,也可以跨越多台设备在非直连设备之间建立邻居关系,即虚链邻居。图1为虚链邻居的示意图。如图1所示,路由器1和路由器3之间为虚链邻居。在邻居之间进行LSDB的同步之前,发送端和接收端之间会通过数据库摘要(DD,DatabaseDescription)报文来进行最大传输单元(MTU,MaximumTransmissionUnit)值和最大接收单元(MRU,MaximumReceiveUnit)值的协商。具体地,发送端将DD报文发送给接收端;接收端接收到DD报文,如果判断出DD报文中的接口MTU字段的值大于自身接收接口的MRU值,则结束本流程,不进行LSDB的同步;如果判断出DD报文中的接口MTU字段的值小于或等于自身接收接口的MRU值,则向发送端返回DD报文,发送端接收到DD报文后,进行LSDB的同步。上述过程中,对于直连设备,发送端向接收端(即发送端的邻居)发送的DD报文中的接口MTU字段为发送端的MTU值,这样,发送端和接收端之间实现了MTU值和MRU值的协商。对于虚链邻居,发送端向接收端发送的DD报文中的接口MTU字段为0,这样,发送端和接收端之间无法实现MTU值和MRU值之间的协商,从而有可能导致发送端和接收端在进行LSDB的同步过程中,接收端无法接收发送端的报文。例如,图1中,如果路由器1的接口1的MTU值大于路由器2的接口2的MRU值或路由器3的接口3的MRU值,则在进行LSDB的同步过程中,路由器3可能无法接收路由器1发送的报文。
技术实现思路
为了解决上述问题,本专利技术提出了一种获取设备接口MRU值的方法和装置,能够实现MTU值和MRU值之间的协商。为了达到上述目的,本专利技术提出了一种获取设备接口最大接收单元MRU值的方法,包括:虚链源端设备向虚拟链路上自身的下一跳设备发送生存时间TTL为1的用户数据报协议UDP报文;其中,UDP报文的目的互联网协议IP地址为虚链邻居的IP地址;当虚链源端设备接收到因特网控制报文协议ICMP超时差错报文时,保存ICMP超时差错报文中的未使用字段MRU值,并继续向虚拟链路上自身的下一跳设备发送TTL比上一次发送的UDP报文的TTL大1的UDP报文。优选地,当所述虚链源端设备接收到ICMP目的不可达报文时,该方法还包括:保存所述ICMP目的不可达报文中的未使用字段MRU值;获取保存的所有未使用字段MRU值的最小值,判断出获得的MRU值的最小值小于自身虚链出接口的最大传输单元MTU值,重新配置自身虚链出接口的MTU值。优选地,所述重新配置自身虚链出接口的MTU值包括:将所述自身虚链出接口的MTU值配置为小于或等于所述获得的MRU值的最小值。本专利技术还提出了一种获取设备接口的最大接收单元MRU值的方法,包括:虚拟链路上的设备接收到用户数据报协议UDP报文,计算UDP报文中的生存时间TTL和1之间的差值;当虚拟链路上的设备判断出计算得到的差值为0,且UDP报文中的目的互联网协议IP地址不是自身的IP地址时,向虚链源端设备发送因特网控制报文协议ICMP超时差错报文,其中,ICMP超时差错报文中的未使用字段为自身接收接口的最大接收单元MRU值。优选地,当所述虚拟链路上的设备判断出所述计算得到的差值为0,且所述UDP报文中的目的IP地址为自身的IP地址时,该方法还包括:所述虚拟链路上的设备判断出所述UDP报文中的目的端口号不存在,向所述虚链源端设备发送ICMP目的不可达报文,其中,ICMP目的不可达报文中的未使用字段为自身接收接口的MRU值。优选地,当所述虚拟链路上的设备判断出计算得到的差值不为0时,该方法还包括:所述虚拟链路上的设备向所述虚拟链路上自身的下一跳设备转发所述UDP报文;其中,转发的UDP报文的TTL为计算得到的差值。本专利技术还提出了一种虚链源端设备,至少包括:第一发送模块,用于向虚拟链路上自身的下一跳设备发送生存时间TTL为1的用户数据报协议UDP报文;其中,UDP报文的目的互联网协议IP地址为虚链邻居的IP地址;接收到存储模块的通知消息,继续向虚拟链路上自身的下一跳设备发送TTL比上一次发送的UDP报文的TTL大1的UDP报文;第一接收模块,用于接收因特网控制报文协议ICMP超时差错报文;存储模块,用于保存ICMP超时差错报文中的未使用字段MRU值,向第一发送模块发送通知消息。优选地,所述第一接收模块还用于:接收ICMP目的不可达报文;所述存储模块还用于:保存所述ICMP目的不可达报文中的未使用字段MRU值;所述虚链源端设备还包括:配置模块,用于获取保存的所有未使用字段的MRU值的最小值,判断出获得的最小值小于自身虚链出接口的最大传输单元MTU值,重新配置自身虚链出接口的MTU值。优选地,所述配置模块具体用于:获取保存的所有未使用字段的MRU值的最小值,判断出获得的MRU值的最小值小于自身虚链出接口的最大传输单元MTU值,将所述自身虚链出接口的MTU值配置为小于或等于所述获得的MRU值的最小值。本专利技术还提出了一种虚拟链路上的设备,至少包括:第二接收模块,用于接收到用户数据报协议UDP报文;第二发送模块,用于计算UDP报文中的生存时间TTL和1之间的差值;判断出计算得到的差值为0,且UDP报文中的目的互联网协议IP地址不是自身的IP地址,向虚链源端设备发送因特网控制报文协议ICMP超时差错报文,其中,ICMP超时差错报文中的未使用字段为自身接收接口的最大接收单元MRU值。优选地,所述第二发送模块还用于:判断出所述计算得到的差值为0,且所述UDP报文中的目的IP地址为自身的IP地址,判断出所述UDP报文中的目的端口号不存在,向所述虚链源端设备发送ICMP目的不可达报文,其中,ICMP目的不可达报本文档来自技高网
...
一种获取设备接口MRU值的方法和装置

【技术保护点】
一种获取设备接口最大接收单元MRU值的方法,其特征在于,包括:虚链源端设备向虚拟链路上自身的下一跳设备发送生存时间TTL为1的用户数据报协议UDP报文;其中,UDP报文的目的互联网协议IP地址为虚链邻居的IP地址;当虚链源端设备接收到因特网控制报文协议ICMP超时差错报文时,保存ICMP超时差错报文中的未使用字段MRU值,并继续向虚拟链路上自身的下一跳设备发送TTL比上一次发送的UDP报文的TTL大1的UDP报文。

【技术特征摘要】
1.一种获取设备接口最大接收单元MRU值的方法,其特征在于,包括:虚链源端设备向虚拟链路上自身的下一跳设备发送生存时间TTL为1的用户数据报协议UDP报文;其中,UDP报文的目的互联网协议IP地址为虚链邻居的IP地址;当虚链源端设备接收到因特网控制报文协议ICMP超时差错报文时,保存ICMP超时差错报文中的未使用字段MRU值,并继续向虚拟链路上自身的下一跳设备发送TTL比上一次发送的UDP报文的TTL大1的UDP报文。2.根据权利要求1所述的方法,其特征在于,当所述虚链源端设备接收到ICMP目的不可达报文时,该方法还包括:保存所述ICMP目的不可达报文中的未使用字段MRU值;获取保存的所有未使用字段MRU值的最小值,判断出获得的MRU值的最小值小于自身虚链出接口的最大传输单元MTU值,重新配置自身虚链出接口的MTU值。3.根据权利要求2所述的方法,其特征在于,所述重新配置自身虚链出接口的MTU值包括:将所述自身虚链出接口的MTU值配置为小于或等于所述获得的MRU值的最小值。4.一种获取设备接口的最大接收单元MRU值的方法,其特征在于,包括:虚拟链路上的设备接收到用户数据报协议UDP报文,计算UDP报文中的生存时间TTL和1之间的差值;当虚拟链路上的设备判断出计算得到的差值为0,且UDP报文中的目的互联网协议IP地址不是自身的IP地址时,向虚链源端设备发送因特网控制报文协议ICMP超时差错报文,其中,ICMP超时差错报文中的未使用字段为自身接收接口的最大接收单元MRU值。5.根据权利要求4所述的方法,其特征在于,当所述虚拟链路上的设备判断出所述计算得到的差值为0,且所述UDP报文中的目的IP地址为自身的IP地址时,该方法还包括:所述虚拟链路上的设备判断出所述UDP报文中的目的端口号不存在,向所述虚链源端设备发送ICMP目的不可达报文,其中,ICMP目的不可达报文中的未使用字段为自身接收接口的MRU值。6.根据权利要求4或5所述的方法,其特征在于,当所述虚拟链路上的设备判断出计算得到的差值不为0时,该方法还包括:所述虚拟链路上的设备向所述虚拟链路上自身的下一跳设备转发所述UDP报文;其中,转发的UDP报文的TTL为计算得到的差值。7.一种虚链源端设备,其特征在于,至少包括:第一发送模块,用于向虚拟链路上自身...

【专利技术属性】
技术研发人员:何建军
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:广东;44

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

1