一种最大传输单元值设置方法及装置制造方法及图纸

技术编号:14881151 阅读:82 留言:0更新日期:2017-03-24 03:46
本发明专利技术提供一种MTU值设置方法及装置,网络转发设备中的程序发送的查询函数可以使得网络转发设备中的程序直接探测对应的最小PMTU值,从而提高最小PMTU值的获取速度,并且在从网络转发设备的共享内存中未查找到查询函数对应的最小PMTU值的情况下,通过网络转发设备中的程序将查询函数对应的最小PMTU值设置为预设值,实现快速设置最小PMTU值,因此网络转发设备在调用程序发送报文时,尤其在调用处于用户态的程序发送报文时,可以减少用户态的程序进入内核态的次数,从而提高报文发送的速度以及提升网络转发设备的性能。

【技术实现步骤摘要】

本专利技术属于网络转发设备
,尤其涉及一种最大传输单元值设置方法及装置
技术介绍
对于IPV6(InternetProtocolVersion6,IPv4的下一代IP协议)而言,处于源节点和目的节点之间的网络转发设备不会对报文进行分片,因此当网络转发设备发送的报文长度大于链路支持的MTU(MaximumTransmissionUnit,最大传输单元)值时,就会出现丢包问题,故而网络转发设备在发送报文之前,需要探测自身对应的链路支持的MTU值。目前网络转发设备可以采用PMTU(PathMTU,路径最大传输单元)技术来探测自身对应的链路支持的MTU值,其中PMTU技术又名路径最大传输单元技术,主要用来探测源节点和目的节点之间的所有传输路径中任一链路能支持的MTU值的最小值,(简称最小PMTU值),并且网络转发设备通过PMTU技术探测到的各个最小PMTU值记录在PMTU表中,在网络转发设备发送每个ICMP(InternetControlMessageProtocol,Internet控制报文协议)报文前需要调用处于内核态的程序,如处于内核态的进程或者处于内核态的软中断上下文来访问PMTU表,以探测到网络转发设备发送的ICMP报文对应的最小PMTU值,使得网络转发设备根据ICMP报文对应的最小PMTU值来发送IPV6报文。但是处于内核态的程序在访问PMTU表时,需要协议栈的支持且访问PMTU表来探测最小PMTU值的过程复杂,导致处于内核态的程序探测最小PMTU值的时间增长,从而延迟报文发送和降低网络转发设备的性能,尤其是对于处于用户态的程序来说,处于用户态的程序无需协议栈的支持,因此网络转发设备在调用处于用户态的程序发送ICMP报文时,会由于调用处于内核态的程序来探测最小PMTU值而降低处于用户态的程序发送ICMP报文的速度,导致网络转发设备的性能降低。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种最大传输单元值设置方法及装置,用于快速设置最小PMTU值,以提高网络转发设备调用程序发送报文的速度以及提升网络转发设备的性能。技术方案如下:第一方面,本专利技术提供一种最大传输单元值设置方法,所述方法由网络转发设备执行,所述方法包括:接收所述网络转发设备中的程序发送的查询函数;从所述网络转发设备的共享内存中查找所述查询函数对应的最小路径最大传输单元值,其中所述最小路径最大传输单元值是以所述网络转发设备为报文的源节点到所述报文对应的目的节点之间的所有传输路径中任一链路能支持的最大传输单元值的最小值;当从所述网络转发设备的共享内存中未查找到所述查询函数对应的最小路径最大传输单元值时,通过所述网络转发设备中的程序将所述查询函数对应的最小路径最大传输单元值设置为预设值,以使所述网络转发设备成功发送所述报文。优选地,所述方法还包括:获取所述网络转发设备中的程序生成的异步消息;向指定程序发送所述异步消息;通过所述指定程序在所述共享内存中写入所述异步消息中携带的所述预设值,并将所述预设值与所述目的节点和所述网络转发设备中的程序对应的设备接口绑定。优选地,所述通过所述指定程序在所述共享内存中写入所述异步消息中携带的所述预设值包括:获取所述共享内存的路径最大传输单元表中除第一个最小路径最大传输单元值之外的其他最小路径最大传输单元值;将所述其他最小路径最大传输单元值在所述路径最大传输单元表中的位置向后移动一位;通过所述指定程序将所述异步消息中携带的所述预设值写入所述路径最大传输单元表中的第二个位置。优选地,所述方法还包括:选取一个处于内核态的程序作为所述指定程序。优选地,所述方法还包括:通过所述指定程序删除所述共享内存中的至少一个所述最小路径最大传输单元值;将与删除的所述至少一个所述最小路径最大传输单元值相邻的两个最小路径最大传输单元值绑定。第二方面,本专利技术提供一种最大传输单元值设置装置,所述装置应用于网络转发设备中,所述装置包括:接收单元,用于接收所述网络转发设备中的程序发送的查询函数;查找单元,用于从所述网络转发设备的共享内存中查找所述查询函数对应的最小路径最大传输单元值,其中所述最小路径最大传输单元值是以所述网络转发设备为所述报文的源节点到所述报文对应的目的节点之间的所有传输路径中任一链路能支持的最大传输单元值的最小值;设置单元,用于当所述查找单元从所述网络转发设备的共享内存中未查找到所述查询函数对应的最小路径最大传输单元值时,通过所述网络转发设备中的程序将所述查询函数对应的最小路径最大传输单元值设置为预设值,以使所述网络转发设备成功发送所述报文。优选地,所述装置还包括:获取单元,用于获取所述网络转发设备中的程序生成的异步消息;发送单元,用于向指定程序发送所述异步消息;写入单元,用于通过所述指定程序在所述共享内存中写入所述异步消息中携带的所述预设值,并将所述预设值与所述目的节点和所述网络转发设备中的程序对应的设备接口绑定。优选地,所述写入单元,包括:获取子单元,用于获取所述共享内存的路径最大传输单元表中除第一个最小路径最大传输单元值之外的其他最小路径最大传输单元值;移位子单元,用于将所述其他最小路径最大传输单元值在所述路径最大传输单元表中的位置向后移动一位;写入子单元,用于通过所述指定程序将所述异步消息中携带的所述预设值写入所述路径最大传输单元表中的第二个位置。优选地,所述装置还包括:选取单元,用于选取一个处于内核态的程序作为所述指定程序。优选地,所述装置还包括:删除单元,用于通过所述指定程序删除所述共享内存中的至少一个所述最小路径最大传输单元值;绑定单元,用于将与删除的所述至少一个所述最小路径最大传输单元值相邻的两个最小路径最大传输单元值绑定。与现有技术相比,本专利技术提供的上述技术方案具有如下优点:藉由上述技术方案,网络转发设备中的程序发送的查询函数可以使得网络转发设备中的程序直接探测对应的最小PMTU值,从而提高最小PMTU值的获取速度,并且在从网络转发设备的共享内存中未查找到查询函数对应的最小PMTU值的情况下,通过网络转发设备中的程序将查询函数对应的最小PMTU值设置为预设值,实现快速设置最小PMTU值,因此网络转发设备在调用程序发送报文时,尤其在调用处于用户态的程序发送报文时,可以减少用户态的程序进入内核态的次数,从而提高报文发送的速度以及提升网络转发设备的性能。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例提供的MTU值设置方法的一种流程图;图2是本专利技术实施例提供的MTU值设置方法的另一种流程图;图3是本专利技术实施例提供的MTU值设置方法的再一种流程图;图4是本专利技术实施例提供的PMTU表操作的示意图;图5是本专利技术实施例提供的MTU值设置装置的一种结构示意图;图6是本专利技术实施例提供的MTU值设置装置的另一种结构示意图;图7是本专利技术实施例提供的MTU值设置装置的再一种结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施本文档来自技高网
...
一种最大传输单元值设置方法及装置

【技术保护点】
一种最大传输单元值设置方法,其特征在于,所述方法由网络转发设备执行,所述方法包括:接收所述网络转发设备中的程序发送的查询函数;从所述网络转发设备的共享内存中查找所述查询函数对应的最小路径最大传输单元值,其中所述最小路径最大传输单元值是以所述网络转发设备为报文的源节点到所述报文对应的目的节点之间的所有传输路径中任一链路能支持的最大传输单元值的最小值;当从所述网络转发设备的共享内存中未查找到所述查询函数对应的最小路径最大传输单元值时,通过所述网络转发设备中的程序将所述查询函数对应的最小路径最大传输单元值设置为预设值,以使所述网络转发设备成功发送所述报文。

【技术特征摘要】
1.一种最大传输单元值设置方法,其特征在于,所述方法由网络转发设备执行,所述方法包括:接收所述网络转发设备中的程序发送的查询函数;从所述网络转发设备的共享内存中查找所述查询函数对应的最小路径最大传输单元值,其中所述最小路径最大传输单元值是以所述网络转发设备为报文的源节点到所述报文对应的目的节点之间的所有传输路径中任一链路能支持的最大传输单元值的最小值;当从所述网络转发设备的共享内存中未查找到所述查询函数对应的最小路径最大传输单元值时,通过所述网络转发设备中的程序将所述查询函数对应的最小路径最大传输单元值设置为预设值,以使所述网络转发设备成功发送所述报文。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取所述网络转发设备中的程序生成的异步消息;向指定程序发送所述异步消息;通过所述指定程序在所述共享内存中写入所述异步消息中携带的所述预设值,并将所述预设值与所述目的节点和所述网络转发设备调用的程序对应的设备接口绑定。3.根据权利要求2所述的方法,其特征在于,所述通过所述指定程序在所述共享内存中写入所述异步消息中携带的所述预设值包括:获取所述共享内存的路径最大传输单元表中除第一个最小路径最大传输单元值之外的其他最小路径最大传输单元值;将所述其他最小路径最大传输单元值在所述路径最大传输单元表中的位置向后移动一位;通过所述指定程序将所述异步消息中携带的所述预设值写入所述路径最大传输单元表中的第二个位置。4.根据权利要求2所述的方法,其特征在于,所述方法还包括:选取一个处于内核态的程序作为所述指定程序。5.根据权利要求2所述的方法,其特征在于,所述方法还包括:通过所述指定程序删除所述共享内存中的至少一个所述最小路径最大传输单元值;将与删除的所述至少一个所述最小路径最大传输单元值相邻的两个最小路径最大传输单元值绑定。6.一种最大传输单元值设置装置,其特征在于,所述装置应用于网络转发设...

【专利技术属性】
技术研发人员:刘健男党丽娜
申请(专利权)人:东软集团股份有限公司
类型:发明
国别省市:辽宁;21

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

1