CN106533969B - 一种最大传输单元值设置方法及装置 - Google Patents

一种最大传输单元值设置方法及装置 Download PDF

Info

Publication number
CN106533969B
CN106533969B CN201611013617.2A CN201611013617A CN106533969B CN 106533969 B CN106533969 B CN 106533969B CN 201611013617 A CN201611013617 A CN 201611013617A CN 106533969 B CN106533969 B CN 106533969B
Authority
CN
China
Prior art keywords
program
network forwarding
minimum
value
maximum transmission
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201611013617.2A
Other languages
English (en)
Other versions
CN106533969A (zh
Inventor
刘健男
党丽娜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Neusoft Corp
Original Assignee
Neusoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Neusoft Corp filed Critical Neusoft Corp
Priority to CN201611013617.2A priority Critical patent/CN106533969B/zh
Publication of CN106533969A publication Critical patent/CN106533969A/zh
Application granted granted Critical
Publication of CN106533969B publication Critical patent/CN106533969B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

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

Description

一种最大传输单元值设置方法及装置
技术领域
本发明属于网络转发设备技术领域,尤其涉及一种最大传输单元值设置方法及装置。
背景技术
对于IPV6(Internet Protocol Version 6,IPv4的下一代IP协议)而言,处于源节点和目的节点之间的网络转发设备不会对报文进行分片,因此当网络转发设备发送的报文长度大于链路支持的MTU(Maximum Transmission Unit,最大传输单元)值时,就会出现丢包问题,故而网络转发设备在发送报文之前,需要探测自身对应的链路支持的MTU值。
目前网络转发设备可以采用PMTU(Path MTU,路径最大传输单元)技术来探测自身对应的链路支持的MTU值,其中PMTU技术又名路径最大传输单元技术,主要用来探测源节点和目的节点之间的所有传输路径中任一链路能支持的MTU值的最小值,(简称最小PMTU值),并且网络转发设备通过PMTU技术探测到的各个最小PMTU值记录在PMTU表中,在网络转发设备发送每个ICMP(Internet Control Message Protocol,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,其示出了本发明实施例提供的MTU值设置方法的一种流程图,用于使网络转发设备中的程序可直接探测对应的最小PMTU值以及快速设置最小PMTU值,具体的,图1所示MTU值设置方法可以包括以下步骤:
101:接收网络转发设备中的程序发送的查询函数,其中网络转发设备中的程序可以是处于用户态的程序或处于内核态的程序,以调用处于用户态的程序或处于内核态的程序发送报文,处于内核态的程序可以是处于内核态的进程,处于用户态的程序可以是处于用户态的进程。
在本发明实施例中,查询函数用来查询网络转发设备中的程序发送报文时对应的最小PMTU值,通过查询函数使得网络转发设备中的程序直接探测最小PMTU值,提高探测最小PMTU值的速度。尤其是网络转发设备中的程序是处于用户态的程序时,通过查询函数,处于用户态的程序无需通过处于内核态的程序来探测最小PMTU值,从而减少用户态的程序进入内核态的次数,提高探测最小PMTU值的速度。
102:从网络转发设备的共享内存中查找查询函数对应的最小PMTU值,其中最小PMTU值是以网络转发设备为报文的源节点到报文对应的目的节点之间的所有传输路径中任一链路能支持的MTU值的最小值。
在本发明实施例中,各个最小PMTU值可以存储在网络转发设备的共享内存的PMTU表中,使得网络转发设备中的程序可以直接查询共享内存中的PMTU表,实现无锁查询。
例如PMTU表以哈希表的形式存储有各个最小PMTU值,且PMTU表是由dip地址(目的节点的IP(Internet Protocol,网络互连协议)地址)和hanlde(设备接口)组成key(关键字值),以最小PMTU值为关键值,因此在本发明实施例中,查询函数的形式可以是:bucket=hash(dip,hanlde),此查询函数的结果就是最小PMTU值。因为一个报文的dip地址和hanlde是固定且唯一的,故而通过上述查询函数可以查找到对应的最小PMTU值。
在这里需要说明的一点是:若网络转发设备中的程序使用异步消息来查找对应的最小PMTU值,会因为传输异步消息的通道堵塞而查找失败且还会因为异步消息查找导致延迟增加;如果为网络转发设备中的程序拷贝一个PMTU表的副表,则会面临如何维护PMTU表和副表中内容的一致性,且需要考虑副表的生命周期,因此在本发明实施例中优选采用查询函数。
103:当从网络转发设备的共享内存中未查找到查询函数对应的最小PMTU值时,通过网络转发设备中的程序将查询函数对应的最小PMTU值设置为预设值,这样在网络转发设备中的程序是处于用户态的程序时,通过这种设置方式可以减少用户态的程序进入内核态的次数。
在本发明实施例中,预设值可使网络转发设备中的程序成功发送报文。而对于IPV6来说,IPV6要求链路支持的最小PMTU值为1280,因此在本发明实施例中上述预设值优选1280,这样就可以避免网络转发设备中的程序通过处于内核态的程序探测最小PMTU值导致的延迟,且在未查找到查询函数对应的最小PMTU值时,直接将查询函数对应的最小PMTU值设置为1280,降低多个程序同时查找共享内存带来的资源竞争,提升网络转发设备并发的高性能。
104:由网络转发设备调用程序根据预设值发送报文。
105:当从网络转发设备的共享内存中查找到查询函数对应的最小PMTU值时,将查询到的最小PMTU值配置给发送查询函数的程序。
106:由网络转发设备调用程序根据查询到的最小PMTU值发送报文。在本发明实施例中,步骤104和步骤106中网络转发设备调用的程序是步骤101中发送查询函数的程序。
藉由上述技术方案,网络转发设备中的程序发送的查询函数可以使得网络转发设备中的程序直接探测对应的最小PMTU值,从而提高最小PMTU值的获取速度,并且在从网络转发设备的共享内存中未查找到查询函数对应的最小PMTU值的情况下,通过网络转发设备中的程序将查询函数对应的最小PMTU值设置为预设值,实现快速设置最小PMTU值,因此网络转发设备在调用程序发送报文时,尤其在调用处于用户态的程序发送报文时,可以减少用户态的程序进入内核态的次数,从而提高报文发送的速度以及提升网络转发设备的性能。
请参阅图2,其示出了本发明实施例提供的MTU值设置方法的另一种流程图,在图1基础上还可以包括以下步骤:
107:获取网络转发设备中的程序生成的异步消息,其中异步消息用于指示将设置的预设值写入到共享内存中,为此异步消息的格式可以是:msg_type,dip,hanlde,pmtu,msg_type为add类型,pmtu为预设值。
108:向指定程序发送异步消息。
109:通过指定程序在共享内存中写入异步消息中携带的预设值,并将预设值与目的节点和网络转发设备中的程序对应的设备接口绑定,这种快速设置预设值后发送报文,再异步消息通知指定程序写入设置的预设值的方式,可以保证速度的情况下保证高健壮性。
在本发明实施例中,通过指定程序写入预设值的一种可行方式是:获取共享内存的PMTU表中除第一个最小PMTU值之外的其他PMTU值,将其他PMTU值在PMTU表中的位置向后移动一位,这样就可以通过指定程序将异步消息中携带的预设值写入PMTU表中的第二个位置,从而实现在PMTU表中新建一个最小PMTU值,这样在对PMTU表同时执行新建操作和查找操作,仍能保证查找到正确的最小PMTU值,以保证高健壮性。
在本发明实施例中,上述指定程序可以是网络转发设备中的一个处于内核态的程序,即可从网络转发设备包括的多个处于内核态的程序中选取的一个处于内核态的程序作为指定程序,如图3所示,还可以包括步骤110:选取一个处于内核态的程序作为指定程序。比如网络转发设备包括:处于内核态的程序1、处于内核态的程序2和处于内核态的程序3,则可以从这三个处于内核态的程序中选取一个处于内核态的程序,如处于内核态的程序1作为指定程序。
其中指定程序用于在共享内存中新建、删除和查找最小PMTU值,而其他处于内核态的程序和所有处于用户态的程序仅能从共享内存中查找最小PMTU值。如各个最小PMTU值存储在共享内存的PMTU表,则指定程序可以在PMTU表中新建、删除和查找最小PMTU值,其他处于内核态的程序和所有处于用户态的程序仅能从PMTU表中查找最小PMTU值,如图4所示。
上述图4所示仅通过一个指定程序在PMTU表中新建、删除和查找最小PMTU值,其他处于内核态的程序和所有处于用户态的程序仅能从PMTU表中查找最小PMTU值的方式可以保证不同程序可以并行同步操作PMTU表,并且降低多个程序同时查找共享内存带来的资源竞争以及使得最小PMTU值的查找可以随程序个数的增加而线性增长。
在本发明实施例中,之所以降低多个程序同时查找共享内存带来的资源竞争是因为以下几点:
(1)存储各个最小PMTU值的PMTU表存储在共享内存中,这样处于用户态的程序和处于内核态的程序可以同时对PMTU表进行读操作(即从PMTU表中查找最小PMTU值),无需对共享内存中的PMTU表加锁;
(2)对于写操作(新建和删除)来说,仅由一个指定程序来操作;
(3)对于未查找到最小PMTU值的情况,可以直接将最小PMTU值设置为预设值。
并且指定程序仍需要协议栈支持和保有最小PMTU值新建和删除功能,保证功能的完备性,这样结合上述在未查找到查询函数对应的最小PMTU值时将查询函数对应的最小PMTU值设置为预设值后,可以保证功能的稳定性,使得整体性能优异。
通过上述技术方案,仅通过一个指定程序在PMTU表中新建、删除和查找最小PMTU值,其他处于内核态的程序和所有处于用户态的程序仅能从PMTU表中查找最小PMTU值的方式可以保证不同程序可以并行同步操作PMTU表,降低多个程序同时查找共享内存带来的资源竞争以及使得最小PMTU值的查找可以随程序个数的增加而线性增长。
此外本发明实施例提供的上述MTU值设置方法还可以包括:通过指定程序删除共享内存中的至少一个最小PMTU值,将与删除的至少一个最小PMTU值相邻的两个最小PMTU值绑定,以保证PMTU表中各个最小PMTU值之间的有序性。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
请参阅图5,其示出了本发明实施例提供的MTU值设置装置的一种结构示意图,用于使网络转发设备中的程序可直接探测对应的最小PMTU值以及快速设置最小PMTU值,具体的,图5所述MTU值设置装置可以包括:接收单元11、查找单元12和设置单元13。
接收单元11,用于接收网络转发设备中的程序发送的查询函数,其中网络转发设备中的程序可以是处于用户态的程序或处于内核态的程序,以调用处于用户态的程序或处于内核态的程序发送报文,处于内核态的程序可以是处于内核态的进程,处于用户态的程序可以是处于用户态的进程。
在本发明实施例中,查询函数用来查询网络转发设备中的程序发送报文时对应的最小PMTU值,通过查询函数使得网络转发设备中的程序直接探测最小PMTU值,提高探测最小PMTU值的速度。尤其是网络转发设备中的程序是处于用户态的程序时,通过查询函数,处于用户态的程序无需通过处于内核态的程序来探测最小PMTU值,从而减少用户态的程序进入内核态的次数,提高探测最小PMTU值的速度。
查找单元12,用于从网络转发设备的共享内存中查找查询函数对应的最小PMTU值,其中最小PMTU值是以网络转发设备为报文的源节点到报文对应的目的节点之间的所有传输路径中任一链路能支持的MTU值的最小值。
在本发明实施例中,各个最小PMTU值可以存储在网络转发设备的共享内存的PMTU表中,使得网络转发设备中的程序可以直接查询共享内存中的PMTU表,实现无锁查询。
例如PMTU表以哈希表的形式存储有各个最小PMTU值,且PMTU表是由dip地址(目的节点的IP(Internet Protocol,网络互连协议)地址)和hanlde(设备接口)组成key(关键字值),以最小PMTU值为关键值,因此在本发明实施例中,查询函数的形式可以是:bucket=hash(dip,hanlde),此查询函数的结果就是最小PMTU值。因为一个报文的dip地址和hanlde是固定且唯一的,故而通过上述查询函数可以查找到对应的最小PMTU值。
在这里需要说明的一点是:若网络转发设备中的程序使用异步消息来查找对应的最小PMTU值,会因为传输异步消息的通道堵塞而查找失败且还会因为异步消息查找导致延迟增加;如果为网络转发设备中的程序拷贝一个PMTU表的副表,则会面临如何维护PMTU表和副表中内容的一致性,且需要考虑副表的生命周期,因此在本发明实施例中优选采用查询函数。
设置单元13,用于当查找单元从网络转发设备的共享内存中未查找到查询函数对应的最小PMTU值时,通过网络转发设备中的程序将查询函数对应的最小PMTU值设置为预设值,这样在网络转发设备中的程序是处于用户态的程序时,通过这种设置方式可以减少用户态的程序进入内核态的次数。
在本发明实施例中,预设值可使网络转发设备成功发送报文。而对于IPV6来说,IPV6要求链路支持的最小PMTU值为1280,因此在本发明实施例中上述预设值优选1280,这样就可以避免网络转发设备中的程序通过处于内核态的程序探测最小PMTU值导致的延迟,且在未查找到查询函数对应的最小PMTU值时,直接将查询函数对应的最小PMTU值设置为1280,降低多个程序同时查找共享内存带来的资源竞争,提升网络转发设备并发的高性能。
藉由上述技术方案,网络转发设备中的程序发送的查询函数可以使得网络转发设备中的程序直接探测对应的最小PMTU值,从而提高最小PMTU值的获取速度,并且在从网络转发设备的共享内存中未查找到查询函数对应的最小PMTU值的情况下,通过网络转发设备中的程序将查询函数对应的最小PMTU值设置为预设值,实现快速设置最小PMTU值,因此网络转发设备在调用程序发送报文时,尤其在调用处于用户态的程序发送报文时,可以减少用户态的程序进入内核态的次数,从而提高报文发送的速度以及提升网络转发设备的性能。
请参阅图6,其示出了本发明实施例提供的MTU值设置装置的另一种结构示意图,在图5基础上,还可以包括:获取单元14、发送单元15和写入单元16。
获取单元14,用于获取网络转发设备中的程序生成的异步消息,其中异步消息用于指示将设置的预设值写入到共享内存中,为此异步消息的格式可以是:msg_type,dip,hanlde,pmtu,msg_type为add类型,pmtu为预设值。
发送单元15,用于向指定程序发送异步消息。
写入单元16,用于通过指定程序在共享内存中写入异步消息中携带的预设值,并将预设值与目的节点和网络转发设备中的程序对应的设备接口绑定,这种快速设置预设值后发送报文,再异步消息通知指定程序写入设置的预设值的方式,可以保证速度的情况下保证高健壮性。
在本发明实施例中,写入单元16的可选结构是:写入单元16包括:获取子单元、移位子单元和写入子单元。
获取子单元,用于获取共享内存的路径MTU表中除第一个最小PMTU值之外的其他最小PMTU值。移位子单元,用于将其他最小PMTU值在路径MTU表中的位置向后移动一位。写入子单元,用于通过指定程序将异步消息中携带的预设值写入路径MTU表中的第二个位置,从而实现在PMTU表中新建一个最小PMTU值,这样在对PMTU表同时执行新建操作和查找操作,仍能保证查找到正确的最小PMTU值,以保证高健壮性。
藉由上述技术方案,在通过设置单元快速设置最小PMTU值后会先指示网络转发设备,如指示发送单元15发送报文,然后再发送异步消息通知指定程序写入设置的预设值,从而能在可以保证速度的情况下保证高健壮性。
在本发明实施例中,上述指定程序可以是网络转发设备中的一个处于内核态的程序,即可从网络转发设备包括的多个处于内核态的程序中选取的一个处于内核态的程序作为指定程序,如图7所示,其示出了本发明实施例提供的MTU值设置装置的再一种结构示意图,在图6基础上,还可以包括:选取单元17。
选取单元17,用于选取一个处于内核态的程序作为指定程序。比如网络转发设备包括:处于内核态的程序1、处于内核态的程序2和处于内核态的程序3,则可以从这三个处于内核态的程序中选取一个处于内核态的程序,如处于内核态的程序1作为指定程序。
其中指定程序用于在共享内存中新建、删除和查找最小PMTU值,而其他处于内核态的程序和所有处于用户态的程序仅能从共享内存中查找最小PMTU值。如各个最小PMTU值存储在共享内存的PMTU表,则指定程序可以在PMTU表中新建、删除和查找最小PMTU值,其他处于内核态的程序和所有处于用户态的程序仅能从PMTU表中查找最小PMTU值。
也就是说,本发明实施例仅通过一个指定程序在PMTU表中新建、删除和查找最小PMTU值,其他处于内核态的程序和所有处于用户态的程序仅能从PMTU表中查找最小PMTU值的方式可以保证不同程序可以并行同步操作PMTU表,降低多个程序同时查找共享内存带来的资源竞争以及使得最小PMTU值的查找可以随程序个数的增加而线性增长,具体原因请参阅方法实施例部分的相关说明。
此外,本发明实施例提供的MTU值设置装置还可以对各个最小PMTU值进行删除操作,具体的,MTU值设置装置还可以包括:删除单元和绑定单元。删除单元,用于通过指定程序删除共享内存中的至少一个最小PMTU值。绑定单元,用于将与删除的至少一个最小PMTU值相邻的两个最小PMTU值绑定,以保证PMTU表中各个最小PMTU值之间的有序性。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (6)

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

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611013617.2A CN106533969B (zh) 2016-11-17 2016-11-17 一种最大传输单元值设置方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611013617.2A CN106533969B (zh) 2016-11-17 2016-11-17 一种最大传输单元值设置方法及装置

Publications (2)

Publication Number Publication Date
CN106533969A CN106533969A (zh) 2017-03-22
CN106533969B true CN106533969B (zh) 2020-05-08

Family

ID=58352440

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611013617.2A Active CN106533969B (zh) 2016-11-17 2016-11-17 一种最大传输单元值设置方法及装置

Country Status (1)

Country Link
CN (1) CN106533969B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108173681B (zh) * 2017-12-22 2021-07-06 新华三技术有限公司 一种mtu信息的发送方法及装置
CN114079629B (zh) * 2020-08-12 2023-02-03 华为技术有限公司 最大传输单元mtu确定方法、装置、设备以及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000124950A (ja) * 1998-10-12 2000-04-28 Nec Corp 送受信パラメータ設定方法および送受信パラメータ設定装置
CN101616078A (zh) * 2009-07-16 2009-12-30 杭州华三通信技术有限公司 一种路径最大传输单元的发现方法、路由器及节点设备
CN102299860A (zh) * 2011-09-21 2011-12-28 杭州华三通信技术有限公司 一种Pathmtu的获取方法和设备
CN102325076A (zh) * 2011-05-24 2012-01-18 中兴通讯股份有限公司 一种路径最大传输单元发现方法和节点
CN103581041A (zh) * 2013-09-26 2014-02-12 酷派软件技术(深圳)有限公司 Mtu值的设置方法和电子设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8422501B2 (en) * 2007-01-04 2013-04-16 International Business Machines Corporation Efficient path maximum transmission unit information discovery and storage
CN101022419B (zh) * 2007-03-27 2011-04-06 杭州华三通信技术有限公司 路径最大传输单元表项建立方法及报文发送方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000124950A (ja) * 1998-10-12 2000-04-28 Nec Corp 送受信パラメータ設定方法および送受信パラメータ設定装置
CN101616078A (zh) * 2009-07-16 2009-12-30 杭州华三通信技术有限公司 一种路径最大传输单元的发现方法、路由器及节点设备
CN102325076A (zh) * 2011-05-24 2012-01-18 中兴通讯股份有限公司 一种路径最大传输单元发现方法和节点
CN102299860A (zh) * 2011-09-21 2011-12-28 杭州华三通信技术有限公司 一种Pathmtu的获取方法和设备
CN103581041A (zh) * 2013-09-26 2014-02-12 酷派软件技术(深圳)有限公司 Mtu值的设置方法和电子设备

Also Published As

Publication number Publication date
CN106533969A (zh) 2017-03-22

Similar Documents

Publication Publication Date Title
US8160069B2 (en) System for forwarding a packet with a hierarchically structured variable-length identifier
EP2869537A1 (en) Using Interest Messages with Payload to Configure Network Nodes in Named Data Networks
JP6373021B2 (ja) 異なるように構成された最長プレフィックスマッチテーブルを処理するための装置および方法
US20150120924A1 (en) Software-defined named-data networking
EP2899921A1 (en) End-to-end route tracing over a named-data network
CN103023778B (zh) 路由选路方法及装置
KR20140009931A (ko) 컨텐츠 이름 기반의 컨텐츠 중심 네트워크에서 컨텐츠 및 실시간 스트리밍 컨텐츠 제공을 위한 컨텐츠 요청자 및 컨텐츠 제공자의 통신 방법
CN106533969B (zh) 一种最大传输单元值设置方法及装置
JP2017102914A (ja) コンテンツ指向型ネットワークにおける明示的なコンテンツ削除コマンド
WO2021160062A1 (zh) 一种基于蓝牙网络的通信方法、及其节点和通信系统
JP2016082479A (ja) 通信装置、通信方法およびプログラム
CN112261702A (zh) 基于位置的无线Mesh网络路由选路方法、装置和电子设备
CN103117930A (zh) 静态路由配置的检测方法和装置
CN110581805A (zh) 路由表更新方法、装置、交换机及存储介质
US20170111260A1 (en) Trill isis-based route calculation method and device
CN105282137A (zh) 将分组拆分成各层以供修改且之后将层拼接的方法及装置
CN104954419A (zh) 使用网络名称的多对象兴趣
Abada et al. A novel path selection and recovery mechanism for MANETs P2P file sharing applications
WO2016188222A1 (zh) 一种业务报文转发方法、装置及通信系统
CN111935019A (zh) 数字对象寻址方法、装置及设备、存储介质
JP5618217B2 (ja) ブロードキャスト配信システム、配信サーバ、ブロードキャスト配信方法およびプログラム
CN102413038B (zh) 一种路由下一跳不可达的处理方法及系统
CN112910776A (zh) 一种数据转发方法、装置、设备及介质
US11916789B2 (en) Prefix length expansion in packet processors
US11881935B2 (en) Reducing a network device upgrade outage using a reduced hardware resource scaling

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant