CN108924272B - 一种端口资源分配方法及装置 - Google Patents
一种端口资源分配方法及装置 Download PDFInfo
- Publication number
- CN108924272B CN108924272B CN201810668303.9A CN201810668303A CN108924272B CN 108924272 B CN108924272 B CN 108924272B CN 201810668303 A CN201810668303 A CN 201810668303A CN 108924272 B CN108924272 B CN 108924272B
- Authority
- CN
- China
- Prior art keywords
- port
- network device
- utilization rate
- network
- port block
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2517—Translation of Internet protocol [IP] addresses using port numbers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/76—Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2542—Translation of Internet protocol [IP] addresses involving dual-stack hosts
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供了一种端口资源分配方法及装置,其中,端口资源分配方法包括:检测双主组网中各网络设备的端口资源使用情况;根据各网络设备的端口资源使用情况,确定双主组网中端口资源使用最少的第一网络设备;将第一网络设备上未被使用的端口资源,分配至双主组网中的各网络设备。通过本方案,可以提高双主组网持续提供网络服务的稳定性。
Description
技术领域
本发明涉及网络通信技术领域,特别是涉及一种端口资源分配方法及装置。
背景技术
在因特网中,设置有NAT(Network Address Translation,网络地址转换)技术的网络设备可以将IP(Internet Protocol,因特网协议)数据报文头中的IP地址转换为另一个IP地址,通过将私网IP地址转换为公网IP地址,有效缓解因特网中IP地址不足的问题。网络设备在PAT(Port Address Translation,端口地址转换)模式下,允许多个私网IP地址映射到同一个公网IP地址的不同端口上,实现多个私网终端共享同一个公网IP地址。
在双主组网中,各网络设备之间为热备份关系,各网络设备使用相同的IP地址进行NAT转换,不同私网终端的报文被传送到各网络设备上处理时,这些报文的源私网IP地址会被转换为同一个公网IP地址,并且由于不同私网终端的源私网IP地址可能相同,导致相同的源私网IP地址被映射到同一端口上,造成端口资源分配冲突。
为了解决上述端口资源分配冲突的问题,通常采用静态划分的方法对端口资源进行分配。在双主组网中,为各网络设备分别分配不同的端口使用范围,但是,网络中不可避免地会出现链路故障、设备故障等情况,报文集中通过无故障的网络设备处理,造成负载不均衡。然而,由于分配的端口资源固定,在无故障的网络设备的端口资源被使用完后,无法对新的报文进行NAT转换,导致部分私网终端的业务中断,使得双主组网持续提供网络服务的稳定性较差。
发明内容
本发明实施例的目的在于提供一种端口资源分配方法及装置,以提高双主组网持续提供网络服务的稳定性。具体技术方案如下:
第一方面,本发明实施例提供了一种端口资源分配方法,所述方法包括:
检测双主组网中各网络设备的端口资源使用情况;
根据各网络设备的端口资源使用情况,确定所述双主组网中端口资源使用最少的第一网络设备;
将所述第一网络设备上未被使用的端口资源,分配至所述双主组网中的各网络设备。
第二方面,本发明实施例提供了一种端口资源分配装置,所述装置包括:
检测模块,用于检测双主组网中各网络设备的端口资源使用情况;
确定模块,用于根据各网络设备的端口资源使用情况,确定所述双主组网中端口资源使用最少的第一网络设备;
分配模块,用于将所述第一网络设备上未被使用的端口资源,分配至所述双主组网中的各网络设备。
第三方面,本发明实施例提供了一种电子设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使执行本发明实施例第一方面的方法步骤。
第四方面,本发明实施例提供了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器执行本发明实施例第一方面的方法步骤。
本发明实施例提供的一种端口资源分配方法、装置及电子设备,通过检测双主组网中各网络设备的端口资源使用情况,根据各网络设备的端口资源使用情况,确定双主组网中端口资源使用最少的第一网络设备,将第一网络设备上未被使用的端口资源,分配至双主组网中的各网络设备。如果双主组网中有任何一个网络设备侧发生链路故障或者设备故障,发生故障或与故障链路连接的网络设备已使用的端口资源明显少于其他无故障或与正常链路连接的网络设备,因此,通过将发生故障或与故障链路连接的网络设备上未被使用的端口资源重新进行分配,使得无故障或与正常链路连接的网络设备能够分配到更多的端口资源,避免了由于链路故障或者设备故障等造成的负载不均衡而引起的NAT转换失败,提高了双主组网持续提供网络服务的稳定性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例的双主组网结构示意图;
图2为本发明实施例的端口资源分配方法的流程示意图;
图3为本发明另一实施例的双主组网结构示意图;
图4为本发明实施例的端口资源分配装置的结构示意图;
图5为本发明实施例的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
首先,对本发明实施例所提供的方法中涉及到的相关概念做简单的说明。
NAT动态地址转换,是用于建立内部网络和外部网络之间的地址映射关系。该方式通常适用于内部网络有大量终端需要访问外部网络的组网环境。
NAT444动态转换方式,是一种基于端口范围的PAT动态地址转换,一个私网IP地址映射至一个公网IP地址时,独占某个端口块的资源。例如,假设私网IP地址10.1.1.1映射至公网IP地址202.1.1.1,并且独占一个IP地址202.1.1.1的端口块10001~10100,则该私网IP向公网发起的所有连接,源IP地址都被转换为同一公网IP地址202.1.1.1,而源端口将被转换为端口块10001~10100之内的一个端口。
双机热备,各网络设备之间为热备份关系,互为热备份的网络设备对外提供一个虚拟IP地址与对端网络设备进行通信。当一台网络设备出现故障时,利用相关冗余设备协商机制,将当前网络设备上的业务流量切换到备份网络设备上继续进行业务的处理和转发,整个流量切换过程对于对端网络设备完全透明,不需要对端网络设备添加任何额外的配置。本发明实施例中所提及的网络设备可以为路由器、交换机、网关、服务器等。
双机热备按工作中的切换方式分为主备组网和双主组网。主备组网中一台网络设备处于激活状态,而另一台网络设备处于备用状态,仅当处于激活状态的网络设备故障时,备用状态的网络设备才开始工作;而双主组网中两台网络设备均处于激活状态,且两台网络设备互为主备关系,也就是说,两台网络设备同时工作,如果其中一台网络设备发生故障,业务会切换到另一台网络设备上处理。
双主组网的环境下,当源私网IP地址相同但是源端口不同的终端A、B同时经过双主组网访问C时,经过双主组网的网络设备上配置的网络地址转换方式进行业务处理,由于A、B的报文分别同时上到各网络设备上,可能会在各网络设备上转换成相同的IP地址和端口,此时,A的回应报文有可能会去到另外一台网络设备上,导致报文匹配上B终端,从而连接失败。
为避免上述情况,在双主组网的环境下,可以开启NAT端口负载分担功能,将端口进行拆分,使各网络设备各自获得一部分端口资源,使得相同私网IP地址在映射至公网IP地址时,在不同的网络设备上独占一定的端口资源,避免端口分配冲突。但是,由于端口资源通常情况下是有限的,如果端口数目少于终端的数目,则会造成部分终端NAT转换失败、业务中断。
以图1所示场景为例:私网终端A1和A2使用同一IP地址10.1.1.1,在双主组网设备聚合口2上配置了NAT动态地址转换,用于将私网IP地址10.1.1.1映射至公网IP地址202.1.1.1,且独占IP地址202.1.1.1的一个端口块10001~10100的资源,则该私网IP地址向公网发起的所有连接,源私网IP地址都将被转换为同一个公网IP地址202.1.1.1,而源端口将被转换为10001~10100之内的一个端口。为避免两台设备上端口分配冲突,开启NAT端口负载分担功能,将端口块10001~10100拆分,主网络设备(master)上对应此端口块资源为10001~10050,备网络设备(standby)上对应此端口块资源为10051~10100。这样对于从不同链路来自同一源IP地址的报文,会经NAT转换成相同的公网IP地址,但是不同的端口号。
如果交换机1(switch1)和standby之间的链路故障,switch1会将报文全部转发到master上,此时如果master上对应的端口块资源10001~10050的数目少于终端的数目,会导致部分终端报文NAT转换失败,从而造成部分终端业务中断,导致双主组网持续提供网络服务的稳定性差。
为了应对上述部分终端业务中断、双主组网持续提供网络服务的稳定性差的问题,本发明实施例提供了一种端口资源分配方法、装置、电子设备及机器可读存储介质。
下面,首先对本发明实施例所提供的一种端口资源分配方法进行介绍。
本发明实施例所提供的一种端口资源分配方法的执行主体为组网环境中控制端口资源分配的电子设备,该电子设备可以是双主组网中的任一网络设备,也可以为独立于双主组网的用于实现端口资源分配的电子设备。本发明实施例所提供的端口资源分配方法可以被设置于执行主体中的软件、硬件电路、逻辑电路、处理器中的至少一种执行实现。
如图2所示,本发明实施例所提供的一种端口资源分配方法,可以包括如下步骤。
S201,检测双主组网中各网络设备的端口资源使用情况。
双主组网中可以包括至少两个网络设备,各网络设备两两之间存在热备份关系,并且双主组网中的各网络设备开启了NAT端口负载分担功能,若聚合一侧链路故障,来自同一个私网IP地址的不同终端的报文会全部从聚合另一侧链路上送到某些网络设备上,当这些网络设备上对应的端口资源少于终端的数目时,会导致部分终端报文NAT转换失败,从而造成部分终端业务中断,而发生链路故障侧的网络设备占用了大量不能被使用的端口资源。因此,各网络设备的端口资源使用情况可以反映出各网络设备的业务处理情况。
双主组网中给各网络设备分配端口资源,可以是按比例分配的,例如平均分配:针对包含有两个网络设备的双主组网,使用同一IP地址10.1.1.1的私网终端A、B,映射至公网IP地址202.1.1.1,且独占IP地址202.1.1.1的一个端口块10001~10100的资源,将端口块10001~10100平均拆分,master上对应此端口块资源为10001~10050,standby上对应此端口块资源为10051~10100;也可将端口块10001~10100按一定比例拆分:如master上分40%,对应此端口块资源为10001~10040,standby上分60%,对应此端口块资源为10041~10100。各网络设备配置的网络地址转换方式决定了端口分配策略,例如配置了NAT444,则在拆分端口块时平均拆分。
在进行端口资源拆分时,执行主体先按比例将未使用的端口资源划分为几部分,并通过通知消息通知双主组网中的各网络设备被分配的端口资源,其中,通知消息中包含被分配端口资源的信息;各网络设备可以根据接收到的通知消息,获取自身被分配的端口资源。
例如:在堆叠环境下,执行主体为双主组网中的第一成员设备,该第一成员设备将未使用的端口资源划分为几部分,向双主组网中除第一成员设备之外的其他第二成员设备发送通知消息,其中通知消息中包括第二成员设备的IP地址以及对应的被分配端口块资源。第二成员设备在接收到通知消息后,可以从堆叠端口资源中获取与自身IP地址对应的被分配端口块资源。
又例如:在堆叠环境下,执行主体为双主组网之外的电子设备,该电子设备将双主组网中的第一成员设备未使用的端口资源划分为几部分,向双主组网中各成员设备发送通知消息,其中通知消息中包括成员设备的IP地址以及对应的被分配端口块资源。成员设备在接收到通知消息后,可以从堆叠端口资源中获取与自身IP地址对应的被分配端口块资源。
应当理解的是,上述通知消息中的成员设备的IP地址可以被替换为成员设备的成员标识。
具体的,对网络设备的端口资源使用情况的检测,可以是获取各网络设备的端口资源使用率,例如每个网络设备分配有50个端口资源,获取已使用的端口占总分配端口资源的比率,如果50个端口资源中有20个已使用,则端口资源使用率为40%;对网络设备的端口资源使用情况的检测,还可以是获取各网络设备的端口资源使用量,直接统计每个网络设备各自有多少个端口已使用。在获取到资源使用率或者资源使用量后,可以通过资源使用表对其进行记录,以便后续的端口资源再分配。
可选的,S201具体可以为:
获取双主组网中能够被各网络设备进行NAT处理的终端私网地址;在这里,能够被各网络设备进行NAT处理的终端私网地址是指在配置网络设备的NAT功能时设置的私网地址池中的任一地址;
针对每一终端私网地址,获取该终端私网地址在各网络设备上用于表示端口资源使用情况的端口块资源使用率。
本发明实施例所提供的方法还可以执行如下步骤:
建立资源使用表;利用资源使用表,统计各终端私网地址在各网络设备上的端口块资源使用率。
双主组网中各网络设备可以配置基于端口范围的动态网络地址转换方式,例如NAT444网络地址转换方式,那么一个终端私网地址即为一个私网IP地址。获取终端私网地址的方式,可以为向各网络设备发送终端私网地址获取指令,各网络设备在获取到终端私网地址获取指令后即向电子设备回复终端私网地址;获取终端私网地址的方式,还可以为各网络设备在接入网络时,将终端私网地址发送至电子设备存储,电子设备可以直接从中获取终端私网地址。终端私网地址可以为IP地址,也可以为根据IP地址分配的地址标识。
针对一个终端私网地址,各网络设备分别分配有相同数目的端口资源,则可以通过获取各网络设备的端口块资源使用率来检测端口资源使用情况。端口块资源使用率的获取方式,可以为获取端口块中正在使用的端口数目以及端口块中端口总数目,通过计算端口块中正在使用的端口数目占端口总数目的比例,来确定端口块资源使用率。
资源使用表为对获取的端口块资源使用率进行记录的表格,可以存储在电子设备的存储介质中,以为后续的端口资源再分配提供依据。以包含两个网络设备的双主组网为例,资源使用表如表1所示。
表1资源使用表
当双主组网中各网络设备设置NAT444网络地址转换方式时,表1中的终端私网地址也可以被称为NAT444地址组成员地址。
S202,根据各网络设备的端口资源使用情况,确定双主组网中端口资源使用最少的第一网络设备。
在检测到各网络设备的端口资源使用情况后,可以根据端口资源使用情况确定双主组网中端口资源使用最少的第一网络设备。比较各网络设备的资源使用情况,可以是整体进行比较,比较各网络设备的总资源使用情况。由于针对不同的私网IP地址,每个网络设备分配的端口资源是从固定端口块中拆分出来的,因此,在进行端口资源使用情况的比较时,可以是针对一个私网IP地址,对各网络设备的端口资源使用情况进行比较。则在进行端口资源再分配时,可以针对一个私网IP地址进行端口资源的再分配。
例如,针对表1所示的资源使用表,对于终端私网地址i,master上的端口块资源使用率为M(i)、standby上的端口块资源使用率为S(i),则可以通过将M(i)与S(i)进行做差,来判断哪个网络设备的资源使用最少。由于每个网络设备的端口在使用时,不一定是完全同步的,资源使用情况会有一定的差异,而发生故障的网络设备的资源使用情况与其他网络设备具有明显的差别,因此,可以设置阈值,通过该阈值,能够在链路正常时各网络设备资源使用情况有正常差异时不被认为是网络故障,而在网络故障时通过各网络设备资源使用情况的差别确定出哪条链路/哪台设备发生了故障。具体的,判断M(i)与S(i)之间差值的绝对值是否超过该阈值,如果超过该阈值,则认为资源使用率少的网络设备侧发生故障。
可选的,双主组网中包括主网络设备和备网络设备。
S202具体可以为:
获取第一终端私网地址在主网络设备上的第一端口块资源使用率,以及第一终端私网地址在备网络设备上的第二端口块资源使用率;可选的,可以从前述资源使用表中获取所述第一端口块资源使用率和第二端口块资源使用率;
判断第一端口块资源使用率和第二端口块资源使用率的差值的绝对值是否大于第一预设阈值;
若差值的绝对值大于第一预设阈值,则确定第一端口块资源使用率和第二端口块资源使用率中最小的端口块资源使用率对应的网络设备为第一网络设备。
当然,对于包含有多个网络设备的双主组网,各网络设备的端口块资源使用率之间可以两两做差,判断差值中的最大值是否大于第一预设阈值,如果大于,则说明端口块资源使用率最小的网络设备侧发生故障,则可以将该网络设备确定为第一网络设备。
如果双主组网中两个网络设备的端口块资源使用率都较小,而第一预设阈值的设置也较小,实际情况下,没有有效使用两个网络设备,无法确定是因为链路故障导致使用率低还是终端设备的报文较少。因此,需要设定另一阈值(即第二预设阈值),来确定端口资源使用率较低的原因。当两个网络设备中端口块资源使用率最小的端口块资源使用率大于该阈值时,则认为端口资源使用率较低的原因为链路故障或设备故障;否则,认为端口资源使用率较低的原因为终端设备或链路传输的报文较少。
可选的,本发明实施例所提供的方法还可以执行如下步骤:
判断第一终端私网地址在主网络设备上的第一端口块资源使用率和第一终端私网地址在备网络设备上的第二端口块资源使用率中最小的端口块资源使用率是否大于第二预设阈值;
若最小的端口块资源使用率大于第二预设阈值,则在第一端口块资源使用率和第二端口块资源使用率的差值的绝对值大于第一预设阈值时,确定最小的端口块资源使用率对应的网络设备为第一网络设备。
对于第一端口块资源使用率和第二端口块资源使用率中最小的端口块资源使用率是否大于第二预设阈值的判断步骤,以及第一端口块资源使用率和第二端口块资源使用率的差值的绝对值是否大于第一预设阈值的判断步骤,在这里不限定执行的先后顺序。
如果第一端口块资源使用率和第二端口块资源使用率的差值的绝对值不大于第一预设阈值或者第一端口块资源使用率和第二端口块资源使用率中最小的端口块资源使用率不大于第二预设阈值,则维持原本的端口资源,不进行重新分配。
S203,将第一网络设备上未被使用的端口资源,分配至双主组网中的各网络设备。
在确定第一网络设备后,将第一网络设备上未被使用的端口资源进行重新分配,例如,第一网络设备上未被使用的端口资源为10065~10100共36个端口,则可以将这36个端口分配至双主组网中的各网络设备,假设双主组网中总共有4个网络设备,则可以将36个端口资源均分为4份,每一个端口块有9个端口资源,将每个端口块分配至各网络设备,各网络设备分配的端口资源分别为10065~10073、10074~10082、10083~10091、10092~10100,还可以按照比例拆分端口资源10065~10100,例如各网络设备分配的端口资源的比例分别为:19%、11%、28%和42%,则各网络设备分配的端口资源分别为10065~10071、10072~10075、10076~10085、10086~10100。端口资源的再分配类同于上述端口资源拆分的过程,这里不再赘述。
可选的,S203具体可以为:将第一网络设备上未被使用的端口资源,按预设比例分配至双主组网中的各网络设备。
以包含两个网络设备的双主组网为例,重新分配端口资源时,master和standby两台网络设备分别获取到第一网络设备上未被使用的端口资源中一半的端口资源。也可以按照一定比例,例如master40%、standby60%的比例分别获取到相应比例的端口资源。
应用本实施例,通过检测双主组网中各网络设备的端口资源使用情况,根据各网络设备的端口资源使用情况,确定双主组网中端口资源使用最少的第一网络设备,将第一网络设备上未被使用的端口资源,分配至双主组网中的各网络设备。如果双主组网中有任何一个网络设备侧发生链路故障或者设备故障,发生故障或与故障链路连接的网络设备已使用的端口资源明显少于其他无故障或与正常链路连接的网络设备,因此,通过将发生故障或与故障链路连接的网络设备上未被使用的剩余端口资源重新进行分配,使得无故障或与正常链路连接的网络设备能够分配到更多的端口资源,避免了由于链路故障或者设备故障等造成的负载不均衡而引起的NAT转换失败,提高了双主组网持续提供网络服务的可靠性和稳定性。
并且,针对配置有基于端口范围的动态网络地址转换方式的网络设备,当各私网地址独占的端口块资源相同时,通过端口块资源使用率的比较来判断端口资源是否紧张、网络设备是否故障,判断结果的准确率较高,能够更有效的利用网络资源。
为了便于理解,下面结合具体实例,对本发明实施例所提供的端口资源分配方法进行介绍。
双主组网环境如图1或者图3所示,双主组网中包括master设备(主网络设备)和standby设备(备网络设备)。图1所示的组网环境中执行主体电子设备可用为主网络设备和备网络设备中的任一个;图3所示的组网环境中执行主体电子设备为独立于master设备和standby设备以外的设备。私网用户A1和A2使用同一个IP地址10.1.1.1访问公网IP地址202.1.1.1,且master设备上独占公网IP地址202.1.1.1的端口块10001~10050的资源,standby设备上独占公网IP地址202.1.1.1的端口块10051~10100的资源。
执行主体电子设备获取到终端私网地址为10.1.1.1,标记为1,并且假设获取到终端私网地址1在master设备上的端口块10001~10050中正在使用的端口数目为10,获取到终端私网地址1在standby设备上的端口块10051~10100中正在使用的端口数目为50,则得到终端私网地址1在master设备上的端口块资源使用率为M(1)=20%,终端私网地址1在standby设备上的端口块资源使用率S(1)=100%。其中,M(1)与S(1)中较小值20%大于第二预设阈值10%,且M(1)与S(1)的差值较大(大于第一预设阈值70%),则将端口资源使用最少的master设备上未被使用的80%的端口资源重新分配至master设备和standby设备。
对于图1所示的网络环境,master设备与standby设备堆叠成一台虚拟设备,故master设备和standby设备可用直接根据指令占用端口资源。假设执行主体电子设备为master设备,则master设备将自身未被使用的端口资源按比例进行拆分,例如均分,则自身占用未被使用的端口资源的一半,并向standby设备发送通知消息,用于通知standby设备,master设备未被使用的另一半端口资源,standby设备可直接根据通知消息占用这些端口资源;再例如,执行主体电子设备为standby设备,则standby设备将端口资源中master设备未被使用的端口资源按比例进行拆分,则自身占用未被使用的端口资源的一半,并向master设备发送通知消息,用于通知master设备,standby设备未被使用的另一半端口资源,master设备可直接根据通知消息占用这些端口资源。
对于图3所示的网络环境,电子设备可以获取到master设备和standby设备未被使用的端口资源的信息,则将master设备未被使用的端口资源按比例进行拆分,例如均分,然后分别向master设备和standby设备发送通知消息,用于通知master设备和standby设备,master设备未被使用的一半端口资源,master设备和standby设备可直接根据通知消息分别占用相应端口资源。
这样,通过检测双主组网中master设备和standby设备的端口块资源使用率,通过端口块资源使用率的比较,来判断各网络设备的使用情况,通过将双主组网中端口块资源使用最少的网络设备上未被使用的端口资源,分配至双主组网中的各网络设备。如果有任何一个网络设备侧发生链路故障或者设备故障,发生故障或与故障链路连接的网络设备已使用的端口资源明显少于其他无故障或与正常链路连接的网络设备,因此,通过将发生故障或与故障链路连接的网络设备上未被使用的剩余端口资源重新进行分配,使得无故障或与正常链路连接的网络设备能够分配到更多的端口资源,避免了由于链路故障或者设备故障等造成的负载不均衡而引起的NAT转换失败,提高了双主组网持续提供网络服务的可靠性和稳定性。
相应于上述方法实施例,本发明实施例提供了一种端口资源分配装置,如图4所示,该端口资源分配装置包括:
检测模块410,用于检测双主组网中各网络设备的端口资源使用情况;
确定模块420,用于根据各网络设备的端口资源使用情况,确定所述双主组网中端口资源使用最少的第一网络设备;
分配模块430,用于将所述第一网络设备上未被使用的端口资源,分配至所述双主组网中的各网络设备。
可选的,所述检测模块410,具体可以用于:
获取双主组网中各网络设备的终端私网地址;
针对每一终端私网地址,获取所述终端私网地址在各网络设备上用于表示端口资源使用情况的端口块资源使用率。
可选的,所述双主组网中可以包括主网络设备和备网络设备;
所述确定模块420,具体可以用于:
获取第一终端私网地址在所述主网络设备上的第一端口块资源使用率,以及所述第一终端私网地址在所述备网络设备上的第二端口块资源使用率;
判断所述第一端口块资源使用率和所述第二端口块资源使用率的差值的绝对值是否大于第一预设阈值;
若所述差值的绝对值大于所述第一预设阈值,则确定所述第一端口块资源使用率和所述第二端口块资源使用率中最小的端口块资源使用率对应的网络设备为第一网络设备。
可选的,所述确定模块420,还可以用于:
判断第一终端私网地址在主网络设备上的第一端口块资源使用率和所述第一终端私网地址在备网络设备上的第二端口块资源使用率中最小的端口块资源使用率是否大于第二预设阈值;
若所述最小的端口块资源使用率大于所述第二预设阈值,则在所述第一端口块资源使用率和所述第二端口块资源使用率的差值的绝对值大于第一预设阈值时,确定所述最小的端口块资源使用率对应的网络设备为第一网络设备。
可选的,所述分配模块430,具体可以用于:
将所述第一网络设备上未被使用的端口资源,按预设比例分配至所述双主组网中的各网络设备。
应用本实施例,通过检测双主组网中各网络设备的端口资源使用情况,根据各网络设备的端口资源使用情况,确定双主组网中端口资源使用最少的第一网络设备,将第一网络设备上未被使用的端口资源,分配至双主组网中的各网络设备。如果双主组网中有任何一个网络设备侧发生链路故障或者设备故障,发生故障或与故障链路连接的网络设备已使用的端口资源明显少于其他无故障或与正常链路连接的网络设备,因此,通过将发生故障或与故障链路连接的网络设备上未被使用的剩余端口资源重新进行分配,使得无故障或与正常链路连接的网络设备能够分配到更多的端口资源,避免了由于链路故障或者设备故障等造成的负载不均衡而引起的NAT转换失败,提高了双主组网持续提供网络服务的稳定性。
本发明实施例还提供了一种电子设备,如图5所示,包括处理器501和机器可读存储介质502,所述机器可读存储介质502存储有能够被所述处理器501执行的机器可执行指令,所述处理器501被所述机器可执行指令促使执行本发明实施例提供的端口资源分配方法的所有步骤。
上述机器可读存储介质可以包括RAM(Random Access Memory,随机存取存储器),也可以包括NVM(Non-volatile Memory,非易失性存储器),例如至少一个磁盘存储器。可选的,机器可读存储介质还可以是至少一个位于远离上述处理器的存储装置。
上述处理器可以是通用处理器,包括CPU(Central Processing Unit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(Digital Signal Processor,数字信号处理器)、ASIC(Application Specific Integrated Circuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本实施例中,处理器501通过读取计算机可读存储介质中存储的计算机程序,并通过运行计算机程序,能够实现:通过检测双主组网中各网络设备的端口资源使用情况,根据各网络设备的端口资源使用情况,确定双主组网中端口资源使用最少的第一网络设备,将第一网络设备上未被使用的端口资源,分配至双主组网中的各网络设备。如果双主组网中有任何一个网络设备侧发生链路故障或者设备故障,发生故障或与故障链路连接的网络设备已使用的端口资源明显少于其他无故障或与正常链路连接的网络设备,因此,通过将发生故障或与故障链路连接的网络设备上未被使用的剩余端口资源重新进行分配,使得无故障或与正常链路连接的网络设备能够分配到更多的端口资源,避免了由于链路故障或者设备故障等造成的负载不均衡而引起的NAT转换失败,提高了双主组网持续提供网络服务的稳定性。
另外,相应于上述实施例所提供的端口资源分配方法,本发明实施例提供了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器执行本发明实施例提供的端口资源分配方法的所有步骤。
本实施例中,计算机可读存储介质在运行时执行本发明实施例所提供的端口资源分配方法的应用程序,因此能够实现:通过检测双主组网中各网络设备的端口资源使用情况,根据各网络设备的端口资源使用情况,确定双主组网中端口资源使用最少的第一网络设备,将第一网络设备上未被使用的剩余端口资源,分配至双主组网中的各网络设备。如果双主组网中有任何一个网络设备侧发生链路故障或者设备故障,发生故障或与故障链路连接的网络设备已使用的端口资源明显少于其他无故障或与正常链路连接的网络设备,因此,通过将发生故障或与故障链路连接的网络设备上未被使用的剩余端口资源重新进行分配,使得无故障或与正常链路连接的网络设备能够分配到更多的端口资源,避免了由于链路故障或者设备故障等造成的负载不均衡而引起的NAT转换失败,提高了双主组网持续提供网络服务的稳定性。
对于电子设备以及机器可读存储介质实施例而言,由于其涉及的方法内容基本相似于前述的方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备及机器可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (8)
1.一种端口资源分配方法,其特征在于,所述方法包括:
获取双主组网中各网络设备的终端私网地址;
针对每一所述终端私网地址,获取所述终端私网地址在各网络设备上用于表示端口资源使用情况的端口块资源使用率;
建立资源使用表,利用所述资源使用表,统计所述终端私网地址在各网络设备上用于表示端口资源使用情况的端口块资源使用率;所述资源使用表包括所述终端私网地址、所述终端私网地址在主设备上的端口块资源使用率以及所述终端私网地址在备用设备上的端口块资源使用率的对应关系;
根据所述资源使用表中用于表示各网络设备的端口资源使用情况的端口块资源使用率,确定所述双主组网中端口资源使用最少的第一网络设备;
将所述第一网络设备上未被使用的端口资源,分配至所述双主组网中的各网络设备。
2.根据权利要求1所述的方法,其特征在于,所述双主组网中包括主网络设备和备网络设备;则
所述根据所述资源使用表中用于表示各网络设备的端口资源使用情况的端口块资源使用率,确定所述双主组网中端口资源使用最少的第一网络设备,包括:
获取第一终端私网地址在所述主网络设备上的第一端口块资源使用率,以及所述第一终端私网地址在所述备网络设备上的第二端口块资源使用率;
判断所述第一端口块资源使用率和所述第二端口块资源使用率的差值的绝对值是否大于第一预设阈值;
若所述差值的绝对值大于所述第一预设阈值,则确定所述第一端口块资源使用率和所述第二端口块资源使用率中最小的端口块资源使用率对应的网络设备为第一网络设备。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
判断第一终端私网地址在主网络设备上的第一端口块资源使用率和所述第一终端私网地址在备网络设备上的第二端口块资源使用率中最小的端口块资源使用率是否大于第二预设阈值;
若所述最小的端口块资源使用率大于所述第二预设阈值,则在所述第一端口块资源使用率和所述第二端口块资源使用率的差值的绝对值大于第一预设阈值时,确定所述最小的端口块资源使用率对应的网络设备为第一网络设备。
4.根据权利要求1所述的方法,其特征在于,所述将所述第一网络设备上未被使用的端口资源,分配至所述双主组网中的各网络设备,包括:
将所述第一网络设备上未被使用的端口资源,按预设比例分配至所述双主组网中的各网络设备。
5.一种端口资源分配装置,其特征在于,所述装置包括:
检测模块,用于获取双主组网中各网络设备的终端私网地址;针对每一所述终端私网地址,获取所述终端私网地址在各网络设备上用于表示端口资源使用情况的端口块资源使用率;
确定模块,用于根据资源使用表中用于表示各网络设备的端口资源使用情况的端口块资源使用率,确定所述双主组网中端口资源使用最少的第一网络设备;所述资源使用表用于统计所述终端私网地址在各网络设备上用于表示端口资源使用情况的端口块资源使用率;所述资源使用表包括所述终端私网地址、所述终端私网地址在主设备上的端口块资源使用率以及所述终端私网地址在备用设备上的端口块资源使用率的对应关系;
分配模块,用于将所述第一网络设备上未被使用的端口资源,分配至所述双主组网中的各网络设备。
6.根据权利要求5所述的装置,其特征在于,所述双主组网中包括主网络设备和备网络设备;
所述确定模块,具体用于:
获取第一终端私网地址在所述主网络设备上的第一端口块资源使用率,以及所述第一终端私网地址在所述备网络设备上的第二端口块资源使用率;
判断所述第一端口块资源使用率和所述第二端口块资源使用率的差值的绝对值是否大于第一预设阈值;
若所述差值的绝对值大于所述第一预设阈值,则确定所述第一端口块资源使用率和所述第二端口块资源使用率中最小的端口块资源使用率对应的网络设备为第一网络设备。
7.根据权利要求5或6所述的装置,其特征在于,所述确定模块,还用于:
判断第一终端私网地址在主网络设备上的第一端口块资源使用率和所述第一终端私网地址在备网络设备上的第二端口块资源使用率中最小的端口块资源使用率是否大于第二预设阈值;
若所述最小的端口块资源使用率大于所述第二预设阈值,则在所述第一端口块资源使用率和所述第二端口块资源使用率的差值的绝对值大于第一预设阈值时,确定所述最小的端口块资源使用率对应的网络设备为第一网络设备。
8.根据权利要求5所述的装置,其特征在于,所述分配模块,具体用于:
将所述第一网络设备上未被使用的端口资源,按预设比例分配至所述双主组网中的各网络设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810668303.9A CN108924272B (zh) | 2018-06-26 | 2018-06-26 | 一种端口资源分配方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810668303.9A CN108924272B (zh) | 2018-06-26 | 2018-06-26 | 一种端口资源分配方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108924272A CN108924272A (zh) | 2018-11-30 |
CN108924272B true CN108924272B (zh) | 2021-09-17 |
Family
ID=64421261
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810668303.9A Active CN108924272B (zh) | 2018-06-26 | 2018-06-26 | 一种端口资源分配方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108924272B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110311868B (zh) * | 2019-07-08 | 2021-09-21 | 新华三信息安全技术有限公司 | 业务处理方法、装置、成员设备及机器可读存储介质 |
CN110995536B (zh) * | 2019-11-29 | 2022-04-26 | 紫光华山科技有限公司 | 一种资源使用率统计方法及装置 |
CN111355805A (zh) * | 2020-03-06 | 2020-06-30 | 苏州浪潮智能科技有限公司 | 一种网络通信方法、装置、设备及存储介质 |
CN113114800B (zh) * | 2021-04-29 | 2022-05-24 | 新华三信息安全技术有限公司 | 一种资源处理方法及装置 |
CN113691645B (zh) * | 2021-08-17 | 2024-05-21 | 浪潮思科网络科技有限公司 | 一种基于m-lag环境实现nat的方法、设备、存储介质 |
CN114465987B (zh) * | 2021-12-10 | 2023-04-07 | 达闼机器人股份有限公司 | 网络地址分配方法、物联网系统、装置、设备和存储介质 |
CN114390022B (zh) * | 2022-01-03 | 2024-03-15 | 中国电子科技集团公司第二十研究所 | 基于全联通和无干扰节点的网络连接端口自动分配方法 |
CN117596212B (zh) * | 2024-01-18 | 2024-04-09 | 苏州元脑智能科技有限公司 | 一种业务处理方法、装置、设备及介质 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100477671C (zh) * | 2005-12-16 | 2009-04-08 | 中国科学院计算技术研究所 | Pat模式下支持多会话应用层协议的网络地址转换方法 |
CN101141494B (zh) * | 2007-10-12 | 2011-02-02 | 杭州华三通信技术有限公司 | 一种解决负载分担情况下资源分配冲突的方法 |
US20090265450A1 (en) * | 2008-04-17 | 2009-10-22 | Darren Helmer | Method and apparatus for managing computing resources of management systems |
CN101262506B (zh) * | 2008-04-21 | 2012-05-23 | 杭州华三通信技术有限公司 | 分布式架构下的网络地址转换端口资源分配方法及系统 |
CN102412949B (zh) * | 2011-12-30 | 2014-09-24 | 山石网科通信技术有限公司 | 一种分布式系统中nat端口资源支持双控制板的方法 |
CN102685272B (zh) * | 2012-05-30 | 2015-03-11 | 华为技术有限公司 | 一种分配公网地址的方法及装置 |
WO2015066840A1 (zh) * | 2013-11-05 | 2015-05-14 | 华为技术有限公司 | 一种网络地址转换设备及方法 |
CN105491171A (zh) * | 2014-09-17 | 2016-04-13 | 中兴通讯股份有限公司 | 网络地址转换nat资源的分配方法及装置 |
CN106571944A (zh) * | 2015-10-10 | 2017-04-19 | 中兴通讯股份有限公司 | 用户侧设备、服务器、端口资源管理方法及系统 |
US10764376B2 (en) * | 2016-10-18 | 2020-09-01 | Cisco Technology, Inc. | System and method for node selection based on mid-session and end-session event information |
-
2018
- 2018-06-26 CN CN201810668303.9A patent/CN108924272B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108924272A (zh) | 2018-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108924272B (zh) | 一种端口资源分配方法及装置 | |
EP3537670B1 (en) | Protection switching method, network device, and system | |
US10298449B2 (en) | Automatically generated virtual network elements for virtualized packet networks | |
US7505401B2 (en) | Method, apparatus and program storage device for providing mutual failover and load-balancing between interfaces in a network | |
CN107809386B (zh) | Ip地址转换方法、路由设备和通信系统 | |
US11349706B2 (en) | Two-channel-based high-availability | |
CN105450540A (zh) | 一种负载均衡方法、装置及dhcp服务器 | |
WO2020173424A1 (zh) | 报文处理的方法和网关设备 | |
CN107547373B (zh) | 一种报文转发方法、装置、设备及机器可读存储介质 | |
RU2019113321A (ru) | Системы и способы обнаружения вспомогательной сети для кластерных систем на основе нулевой конфигурации | |
CN111030932B (zh) | 一种数据报文锚定的方法、装置及系统 | |
US9729454B2 (en) | Methods, systems, and computer readable media for balancing diameter message traffic received over long-lived diameter connections | |
CN108650337B (zh) | 一种服务器探测方法、系统及存储介质 | |
CN108667957B (zh) | Ip地址分配方法、第一电子设备以及第一服务器 | |
CN114189492A (zh) | 一种基于网络地址转换技术的网卡压力测试方法和系统 | |
CN109347743B (zh) | 一种专线通信方法、计算机可读存储介质和终端设备 | |
CN112311672B (zh) | 一种路由表项获得方法、装置及设备 | |
US11115266B2 (en) | Priority based selection of time services | |
CN114157633B (zh) | 一种报文转发方法及装置 | |
CN113992685B (zh) | 一种服务控制器确定方法、系统及装置 | |
CN113010314B (zh) | 负载均衡方法、装置和电子设备 | |
CN110311868B (zh) | 业务处理方法、装置、成员设备及机器可读存储介质 | |
US11290319B2 (en) | Dynamic distribution of bidirectional forwarding detection echo sessions across a multi-processor system | |
CN110545240B (zh) | 基于分布式聚合系统的标签转发表的建立及报文转发方法 | |
US10931565B2 (en) | Multi-VRF and multi-service insertion on edge gateway virtual machines |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | 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 |