CN106506724B - 一种分配端口块的方法及装置 - Google Patents

一种分配端口块的方法及装置 Download PDF

Info

Publication number
CN106506724B
CN106506724B CN201611047085.4A CN201611047085A CN106506724B CN 106506724 B CN106506724 B CN 106506724B CN 201611047085 A CN201611047085 A CN 201611047085A CN 106506724 B CN106506724 B CN 106506724B
Authority
CN
China
Prior art keywords
port
address
port block
source
public network
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
CN201611047085.4A
Other languages
English (en)
Other versions
CN106506724A (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.)
Hangzhou H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies Co Ltd
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 Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN201611047085.4A priority Critical patent/CN106506724B/zh
Publication of CN106506724A publication Critical patent/CN106506724A/zh
Application granted granted Critical
Publication of CN106506724B publication Critical patent/CN106506724B/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
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2517Translation of Internet protocol [IP] addresses using port numbers

Landscapes

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

Abstract

本发明实施方式提供了一种分配端口块的方法及装置,应用于网络地址转换NAT设备,所述方法包括:接收私网设备发送的第一报文;若NAT设备未建立所述第一报文对应的会话,则根据所述第一报文的第一源IP地址,判断端口块分配记录表中是否保存有第二报文的第二源IP地址与第二公网端口块之间的对应关系;其中,第二报文为NAT设备使用除发送第一报文时待使用的链路以外的其他链路发送的报文,第一源IP地址与第二源IP地址相同;若端口块分配记录表中保存有对应关系,则利用第二公网端口块中的端口标识,替换第一报文的源端口标识。应用本发明实施方式能够避免一个私网设备占用多个公网端口块资源,提高公网端口块资源的利用率。

Description

一种分配端口块的方法及装置
技术领域
本发明涉及通信技术领域,特别是涉及一种分配端口块的方法及装置。
背景技术
随着因特网的快速发展,IP地址资源的极度短缺严重制约了因特网的发展。目前,地址转换技术(Network Address Translation,NAT)是解决这一问题的主要技术手段,随着NAT技术的不断发展,运营商级NAT(NAT444)技术应运而生,成为目前应用较为广泛的NAT技术。
目前,在NAT444技术中,当一个NAT设备连接多个运营商时,会使得一个私网设备对应多个NAT接口。比如,在NAT设备上配置有连接联通运营商的链路1、和连接电信运营商的链路2,首先,私网设备可以使用链路1对应的NAT接口,此时,NAT设备会向所述私网设备分配一个公网端口块(10000~14000)。当链路1出现故障时,所述私网设备还可以使用链路2对应的NAT接口,此时,由于之前分配给私网设备的公网端口块属于链路1对应的NAT接口,因此,NAT设备需要向所述私网设备分配一个新的公网端口块(14001~18000)。可见,所述私网设备同时占用了两个公网端口块。可以理解的,随着NAT设备上链路的继续增加,所述私网设备还会占用更多的公网端口块。
这样,在NAT设备连接多个运营商的场景下,同一个私网设备可能占用多个公网端口块,导致公网端口块资源可能很快就被消耗殆尽,影响新的私网设备的正常通信。
发明内容
本发明实施方式的目的在于提供一种分配端口块的方法及装置,避免一个私网设备占用多个公网端口块资源,提高公网端口块资源的利用率。具体技术方案如下:
本发明实施方式公开了一种分配端口块的方法,应用于NAT设备,所述方法包括:接收私网设备发送的第一报文;若所述NAT设备未建立所述第一报文对应的会话,则根据所述第一源IP地址,判断端口块分配记录表中是否保存有第二报文的第二源IP地址与第二公网端口块之间的对应关系;其中,所述第二报文为所述NAT设备使用除发送所述第一报文时待使用的链路以外的其他链路发送的报文,所述第一源IP地址与所述第二源IP地址相同;若所述端口块分配记录表中保存有所述对应关系,则利用所述第二公网端口块中的端口标识,替换所述第一报文的源端口标识。
本发明实施方式还公开了一种分配端口块的装置,应用于NAT设备,所述装置包括:接收单元,用于接收私网设备发送的第一报文;判断单元,用于若所述NAT设备未建立所述第一报文对应的会话,则根据所述第一源IP地址,判断端口块分配记录表中是否保存有第二报文的第二源IP地址与第二公网端口块之间的对应关系;其中,所述第二报文为所述NAT设备使用除发送所述第一报文时待使用的链路以外的其他链路发送的报文,所述第一源IP地址与所述第二源IP地址相同;替换单元,用于若所述端口块分配记录表中保存有所述对应关系,则利用所述第二公网端口块中的端口标识,替换所述第一报文的源端口标识。
本发明实施方式提供的一种分配端口块的方法及装置,所述方法能够接收私网设备发送的第一报文;若NAT设备未建立所述第一报文对应的会话,则根据第一报文携带的第一源IP地址,判断端口块分配记录表中是否保存有第二报文的第二源IP地址与第二公网端口块之间的对应关系,需要说明的是是,第二报文为NAT设备使用除发送第一报文时待使用的链路以外的其他链路发送的报文,且第一源IP地址与第二源IP地址相同;接下来,若端口块分配记录表中保存有第二源IP地址与第二公网端口块之间的对应关系,则利用第二公网端口块中的端口标识,替换第一报文的源端口标识。这样,在NAT设备上存在至少两个NAT接口,且至少两个NAT接口分别对应至少两条链路的情况下,能够保证在一个私网设备向NAT设备发送的报文均使用同一个公网端口块。也就是说,在一个公网端口块能够满足一个私网设备使用需求的前提下,即使NAT设备向运营商转发来自私网设备的报文时使用了不同链路,一个私网设备也只对应一个公网端口块,避免一个私网设备占用多个公网端口块,提高公网端口块资源的利用率。
附图说明
为了更清楚地说明本发明实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施方式的分配端口块的方法的一种流程图;
图2为本发明实施方式的分配端口块的方法的又一种流程图;
图3为本发明实施方式的分配端口块的方法的另一种流程图;
图4为本发明实施方式的分配端口块的方法的再一种流程图;
图5为本发明实施方式的分配端口块的方法的再一种流程图;
图6为本发明实施方式的分配端口块的方法的再一种流程图;
图7为本发明实施方式的分配端口块装置的一种结构图。
具体实施方式
下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
在本发明的一种实施方式中,公开了一种分配端口块的方法,应用于NAT设备。参见图1,图1为本发明实施方式的分配端口块的方法的一种流程图,包括如下步骤:
步骤101,接收私网设备发送的第一报文;
其中,第一报文可以是数据报文,也可以是协议报文。
步骤102,若所述NAT设备未建立所述第一报文对应的会话,则根据所述第一源IP地址,判断端口块分配记录表中是否保存有第二报文的第二源IP地址与第二公网端口块之间的对应关系;
其中,第二报文为NAT设备使用除发送第一报文时待使用的链路以外的其他链路发送的报文,第一源IP地址与第二源IP地址相同。
具体地,在NAT设备上存在多个NAT接口,且多个NAT接口对应多条链路的情况下,私网设备可以使用NAT设备上的多条链路将报文发送至公网服务器,且一个私网设备发送报文的源IP地址均相同。
在本步骤中,第一报文和第二报文来自于同一个私网设备,但为通过NAT设备上的不同链路到达公网服务器。如果NAT设备尚未建立第一报文对应的会话,则可以说明来自私网设备的第一报文为NAT设备发送第一报文时待使用的链路上的第一条报文。
在实际应用中,端口块分配记录表能够保存IP地址与公网端口块之间的对应关系。也就是说,只要给某一IP地址分配过公网端口块,那么,端口块分配记录表中就会保存所述某一IP地址与分配的公网端口块之间的对应关系。当所述某一IP地址对应的流量为零,且流量为零的持续时间超过预设阈值时,端口块分配记录表会清除所述某一IP地址与分配的公网端口块之间的对应关系;其中,通常预设阈值为5分钟。
在本发明实施例方式中,所述对应关系可以称为所述某一IP地址在端口块分配记录表中对应的端口块分配记录表项。通常情况下,将所述某一IP地址对应的端口块分配记录表项从生成到被清除之间的时长称为所述端口块分配记录表项的生存周期。
需要说明的是,端口块分配记录表属于现有技术,是由NAT设备在为私网设备分配公网端口块时建立的。
具体地,所述端口块分配记录表可以记录如下信息:
Dynamic port-block mapping tables:
Figure BDA0001160232240000041
Total mappings found:2
在端口块分配记录表中,Local VPN为IP地址所属的VPN实例,具体地,---表示IP地址不属于任何VPN实例;Local IP为报文对应的源IP地址;Global IP为公网IP地址;Portblock为向Local IP分配的公网端口块;Connections为当前使用公网端口块中端口建立的连接数;Total mappings found为NAT设备上的当前公网端口块总数。
可见,端口块分配记录表可以包括多个IP地址对应的端口块分配记录表项。以上文列出的端口块分配记录表为例,第三行为IP地址200.0.0.1对应的端口块分配记录表项,第四行为IP地址201.0.0.1对应的端口块分配记录表项。
在实际应用中,即使私网设备断开当前与NAT设备的连接,在私网设备对应的端口块分配记录表项的生存周期内,所述端口块分配记录表项会一直保存,也就是说,在所述生存周期内,当NAT设备接收到来自私网设备的报文时,可以使用所述端口块分配记录表项中记录的IP地址与分配的公网端口块之间的对应关系,获取可以使用的公网端口块;但是在超过所述生存周期后,NAT设备就需要为私网设备分配新的公网端口块。
步骤103,若所述端口块分配记录表中保存有所述对应关系,则利用所述第二公网端口块中的端口标识,替换所述第一报文的源端口标识。
在本步骤中,由于来自同一个私网设备的报文的源IP地址相同,因此,NAT设备可以根据第一报文的第一源IP地址在端口块分配记录表中进行查找,确定端口块分配记录表中是否存在第二源IP对应的端口块分配记录表项。
这样,NAT设备在存在至少两个NAT接口,且至少两个NAT接口分别对应至少两条链路的情况下,在一个公网端口块能够满足私网设备使用需求的前提下,可以为一个私网设备只分配一个公网端口块。
比如,NAT设备上配置有连接联通运营商的链路1、和连接电信运营商的链路2;首先,私网设备向NAT设备发送第二报文,通过NAT设备上链路1对应的NAT接口连接联通运营商,NAT设备向私网设备分配一个公网端口块(10000~14000),同时,将第二报文的第二源IP地址和分配的公网端口块(10000~14000)之间的对应关系记录在端口块分配记录表中;接下来,当私网设备需要使用链路2对应的NAT接口来连接电信运营商时,私网设备可以向NAT设备发送第一报文,在分配公网端口块时,NAT设备通过查看端口块分配记录表,发现端口块分配记录表中已经保存有第二源IP地址与分配的公网端口块(10000~14000)之间的对应关系;那么,NAT设备可以不再向私网设备分配新的公网端口块,将公网端口块(10000~14000)分配给第一报文即可,具体地,可以利用公网端口块(10000~14000)中的端口标识,替换第一报文的源端口标识。这样,虽然私网设备使用了两条链路连接运营商,但只占用了一个公网端口块。
可以理解的,在本发明实施方式中,由于公网端口块不再与NAT接口绑定在一起,而是由NAT设备进行全局分配,这样,无论一个私网设备使用多少个NAT接口对应的链路,在一个公网端口块资源能够满足私网设备的使用需求的前提下,一个私网设备只能占用一个公网端口块,避免一个私网设备占用多个公网端口块资源,提高公网端口块资源的利用率。
在实际应用中,在私网设备使用的NAT接口出现故障的场景下,私网设备开始使用新NAT接口,此时,NAT设备可以将出现故障的NAT接口对应的公网端口块替换给新NAT接口,使私网设备仍然使用出现故障的NAT接口对应的公网端口块,使得出现故障的NAT接口对应的公网端口块能够被继续使用,提高了公网端口块的利用率。
可见,本发明实施方式能够通过接收私网设备发送的第一报文,判断NAT设备是否已建立第一报文对应的会话,若否,则根据第一报文携带的第一源IP地址,判断端口块分配记录表中是否保存有第二报文的第二源IP地址与第二公网端口块之间的对应关系,需要说明的是,第二报文为NAT设备使用除发送第一报文时待使用的链路以外的其他链路发送的报文,且第一源IP地址与第二源IP地址相同;若端口块分配记录表中保存有第二源IP地址与第二公网端口块之间的对应关系,则利用第二公网端口块中的端口标识,替换第一报文的源端口标识。这样,在NAT设备上存在至少两个NAT接口分别对应至少两条链路的情况下,能够保证在一个私网设备向NAT设备发送的报文均使用同一个公网端口块。也就是说,在一个公网端口块能够满足一个私网设备使用需求的前提下,即使NAT设备向运营商转发来自NAT设备的报文时使用了不同链路,一个私网设备也只对应一个公网端口块,避免一个私网设备占用多个公网端口块,提高公网端口块资源的利用率。
在本发明的一种优选实施方式中,参见图2,图2为本发明实施方式的分配端口块的方法的又一种流程图,所述方法还可以包括:
步骤201,当所述端口块分配记录表中没有保存所述对应关系时,为所述第一源IP地址分配第一公网端口块,并将所述第一源IP地址与所述第一公网端口块之间的对应关系更新至所述端口块分配记录表中;
步骤202,利用所述第一公网端口块中的端口标识,替换所述第一报文的源端口标识。
具体地,在端口块分配记录表没有保存第二源IP地址与分配的公网端口块的对应关系时,NAT设备需要向第一源IP地址分配新的公网端口块,记为第一公网端口块;进而利用第一公网端口块中的端口标识,替换第一报文的源端口标识。
需要说明的是,如果端口块分配记录表没有保存第二报文的第二源IP地址分别与分配的公网端口块之间的对应关系,则能够说明可能存在以下两种情况:
第一种情况:第一报文为私网设备向NAT设备发送的第一条报文,在此之前,私网设备没有连接过NAT设备;
第二种情况:第二源IP地址对应的端口块分配记录表项的生存周期均已过,端口块分配记录表已经清除第二源IP地址对应的端口块分配记录表项。
在以上两种情况下,都需要为第一源IP地址分配公网端口块。
在实际应用中,在NAT设备向私网设备分配公网端口块后,NAT设备可以用预设的公网IP地址和分配的公网端口块修改私网设备发送报文的源IP地址和源端口号,其中,可以从分配的公网端口块中按顺序选取一个公网端口号作为发送报文的源端口号;接下来,可以根据修改后报文的源IP地址和源端口号,调整所述报文的检验码Checksum。
在本发明的又一种优选实施方式中,参见图3,图3为本发明实施方式的分配端口块的方法的另一种流程图,步骤201中所述为所述第一源IP地址分配第一公网端口块的步骤,具体可以包括:
子步骤11,在预设的端口块使用记录表中,根据所述第一源IP地址,查询所述第一源IP地址对应的目标端口使用量;
子步骤12,根据所述目标端口使用量,确定待分配给所述第一源IP地址的公网端口块的大小;
子步骤13,根据所述公网端口块的大小,为所述第一源IP地址分配所述第一公网端口块。
其中,所述端口块使用记录表包括IP地址与端口使用量的对应关系;且端口使用量可以根据端口块分配记录表Connections项中记录的端口建立的连接数统计得到。
这样,本发明实施方式具有端口块减量分配功能,具体地,在为第一源IP地址分配公网端口块时,能够根据第一源IP地址对应的目标端口使用量,来确定待分配的公网端口块的大小;当目标端口使用量较小,也就是说,使用第一源IP地址的连接请求较少时,可以减小分配给第一源IP地址的公网端口块的大小,以实现避免浪费公网端口块资源,提高公网端口资源的利用率的目的。其中,端口使用量为分配给第一源IP地址的公网端口块中、实际使用的端口数量。
在实际应用中,为了实现针对公网端口块的端口块减量分配功能,在私网设备已经连接NAT设备,但还未向NAT设备发送第一条报文之前,还需要执行以下步骤:
首先,可以在DHCP服务器上配置一条触发指令,比如DHCP send to X.X.X.X(NAT设备地址),配置完成后,当DHCP服务器为私网设备分配私网IP地址后,就能够使用预设的端口号,向NAT设备发送包含私网设备的私网IP地址和DHCP服务器地址的触发指令;触发指令为UDP报文格式,预设的端口号是与NAT设备协商好的。其中,私网设备的私网IP地址也就是私网设备发送报文对应的源IP地址。
具体地,触发指令中的载荷可以采用类型、长度、值(Type Length Value,TLV)格式,载荷的具体形式如表1所示:
TYPE Length Value
1个字节 2个字节 私网设备IP地址(32bit)
表1
由表1可知,触发指令中的载荷可以包括类型TPYE、长度Length和赋值Value;其中,TPYE可以是1个字节,取值0或1;Length可以是2个字节;Value可以是私网设备的私网IP地址,占用32bit。其中,TYPE=0表示添加的私网IP地址信息;TYPE=1表示删除已经建立的私网IP地址信息。
接下来,可以根据私网设备的私网IP地址,确定私网IP地址对应的目标端口块使用记录表项;其中,端口块使用记录表项保存了私网IP地址与端口使用量之间的对应关系。
在实际应用中,NAT设备通过侦听与DHCP服务器协商好的预设的端口号,接收到来自DHCP服务器发送的包含私网设备对应的私网IP地址和DHCP服务器地址的触发指令后,可以在预设的端口块使用记录表中建立私网IP地址对应的端口块使用记录表项。
当然,也可以使每个私网IP对应一个单独的端口块使用记录表,如果每个私网IP对应一个单独的端口块使用记录表,那么,NAT设备在接收到来自DHCP服务器发送的包含私网IP地址和DHCP服务器地址的触发指令后,可以为私网IP地址建立一个端口块使用记录表。为了便于说明,本发明以每个私网IP分别对应一个端口块使用记录表项为例进行说明。本发明对记录私网IP与端口使用量之间对应关系的具体形式不加以限制。
具体地,预设的端口块使用记录表的具体形式如表2所示:
Figure BDA0001160232240000091
表2
如表2所示,192.168.1.2为DHCP服务器给私网设备分配的私网IP地址,20.0.0.1为DHCP服务器的地址,私网IP地址192.168.1.2对应的端口使用量为1227。
可知,端口块使用记录表具体可以包括DHCP服务器地址、私网设备的私网IP地址、以及私网IP地址对应的端口使用量。其中,当端口使用量为无效值时,标记为“--”。
在本发明的另一种优选实施方式中,端口使用量可以是端口使用量峰值。当然,端口使用量也可以是端口使用量均值。为了方便理解,本发明以端口使用量峰值作为端口使用量的具体形式进行说明,本发明对端口使用量的具体形式不加以限制。
关于端口使用量,需要进一步说明的是:
在本发明实施方式中,只有在向IP地址分配新的公网端口块时,才需要查询端口块使用记录表,以确定待分配的公网端口块的大小。根据前文中的说明,只有在以下两种情况下,才需要向私网设备发送报文的源IP地址分配公网端口块:第一种情况:私网设备从未向NAT设备发送过报文,第二种情况:来自私网设备报文的源IP地址对应的端口块分配记录表项的生存周期已超期。
那么,可以理解的,只有在私网设备的私网IP地址对应的端口使用量为有效值的情况下,才能使用针对公网端口块的端口块减量分配功能。对于第一种情况,由于从未使用私网IP地址产生过流量,所以私网IP地址对应的端口使用量为无效值,此时,无法使用端口块减量分配功能,可以向私网IP地址分配大小为端口块大小默认值的公网端口块。具体地,端口块大小默认值可以通过配置命令来预设,一般情况下,端口块大小默认值为4000。
对于第二种情况,需要说明的是,在源IP地址对应的端口块分配记录表项的生存周期已超期后,虽然所述端口块分配记录表项已经被清除,但源IP地址也即私网IP地址在端口块使用记录表中对应的端口使用量仍然保存,记为私网IP地址与端口使用量之间的对应关系。当私网设备重新开始向NAT设备发送报文时,NAT设备可以根据私网IP地址,在端口块使用记录表查找到对应的端口使用量,进而根据端口使用量确定待分配给私网设备的公网端口块大小。
因此,端口使用量峰值具体可以为第三公网端口块中的端口使用量峰值;其中,第三公网端口块为NAT设备向私网设备对应的第一源IP地址分配过的、且已从端口块分配记录表中删除的公网端口块。此外,端口使用量还可以是第三公网端口块的端口使用量均值。
在实际应用中,处于当前生存周期的私网IP地址的端口使用量峰值具体可以是:在所述当前生存周期之前的至少一个生存周期中,私网IP地址对应的端口使用量中的最大值。同样的,处于当前生存周期的私网IP地址的端口使用量均值具体可以是,在所述当前生存周期之前的至少一个生存周期中,私网IP地址对应的端口使用量中的平均值。
在本发明的再一种优选实施方式中,参见图4,图4为本发明实施方式的分配端口块的方法的再一种流程图,子步骤12具体可以包括:
子步骤21,判断所述目标端口使用量是否大于预设配置命令中的预设减量阈值;
子步骤22,若所述目标端口使用量不大于所述预设减量阈值,则根据所述预设配置命令中的预设减量规则,确定待分配给所述第一源IP地址的公网端口块的大小;
子步骤23,若所述目标端口使用量大于所述预设减量阈值,则根据预设的端口块大小默认值,确定待分配给所述第一源IP地址的公网端口块的大小。
为了实现端口块减量分配功能,NAT设备需要执行配置命令,下面举例对配置命令进行详细说明:
#
nat address-group 123
port-range 1 60000
port-block block-size 4000 reduce-block-size 50
address 11.1.1.1 11.1.1.10
#
在上述命令中,用下划线标注的reduce-block-size为实现端口块减量分配功能的预设配置命令;nat address-group用于创建公网地址组,nat address-group123表示公网地址池组的编号为123;port-range用于配置公网IP地址的端口范围,port-range 160000表示公网IP地址的端口范围为从1至160000;port-block block-size为公网端口块的预设的默认值,port-block block-size 4000表示公网端口块的默认值为4000;address为公网地址组的地址范围,address 11.1.1.111.1.1.10表示公网地址组123的地址范围为从11.1.1.1到11.1.1.10。
其中,reduce-block-size用于表示上述地址池支持端口块减量分配功能;只有在NAT设备上成功配置reduce-block-size命令后,NAT设备才能根据端口块使用记录表中的私网IP地址对应的端口使用量、以及配置命令中的各参数,针对不同私网设备的端口使用情况,分别为各私网设备确定待分配的公网端口块的大小。
具体地,reduce-block-size用于设定减量规则和减量阈值;在实际使用中,需要为减量阈值添加百分号,具体地,如果私网IP地址对应的端口块使用记录表项中,端口使用量占公网端口块中端口总数目的比例没有超过减量阈值,则确定待分配给私网IP地的公网端口块的大小为:预设的端口块大小默认值乘以减量阈值。
以reduce-block-size 50为例进行说明,如果私网设备实际使用的端口数量未超过公网端口块中端口总数量的50%,那么,可以确定当前待分配给私网设备的公网端口块的大小为预设默认值的50%,具体为4000*50%=2000;如果私网设备实际使用的端口数量超过公网端口块中端口总数量的50%,那么,可以确定当前待分配给私网设备的公网端口块的大小仍为预设的端口块大小默认值,具体为4000。
需要说明的是,由于NAT设备可以根据端口块分配记录表中Connections项保存的端口建立的连接数,统计得到各私网IP地址通过NAT设备连接公网服务器实际使用的端口数量,并且在现有技术中,NAT设备可以通过多种权重与算法来实现公网端口块的减量功能,在此不再赘述;本发明对实现端口块减量分配功能的具体减量规则不加以限制。
这样,当私网IP地址对应的端口使用量较大,也即使用私网IP地址的连接请求较多时,向私网设备分配的公网端口块的大小不变;当私网IP地址对应的端口使用量较小,也即使用私网IP地址的连接请求较少时,为了避免浪费公网端口块资源,提高公网端口资源的利用率,可以减少分配给私网设备的公网端口块的大小。
在本发明的再一种优选实施方式中,参见图5,图5为本发明实施方式的分配端口块的方法的再一种流程图,所述方法还可以包括:
步骤501,统计所述第一公网端口块中端口的端口使用量;
在实际应用中,在为第一源IP地址分配第一公网端口块之后,统计在第一源IP地址对应的端口块分配记录表项的当前生存周期中,第一公网端口块中实际使用的端口数量。
步骤502,根据统计得到的所述第一公网端口块中端口的端口使用量,更新所述端口块使用记录表中所述第一源IP地址对应的端口块使用量。
这样,在所述当前生存周期超期后,再次为第一源IP地址分配公网端口块时,根据端口块使用记录表中记录的第一源IP地址对应的端口块使用量,确定待分配给私网设备的公网端口块的大小。
此外,在本发明的再一种优选实施方式中,参见图6,图6为本发明实施方式的分配端口块的方法的再一种流程图,所述方法还可以包括:
步骤601,接收DHCP服务器发送的表项删除指令,其中,所述表项删除指令,是所述DHCP服务器确定IP地址对应的租约到期时发送的;
在实际应用中,当IP地址对应的租约到期时,将租约到期的IP地址作为私网IP地址的私网设备需要使用其他IP地址作为私网IP地址,因此,私网设备的私网IP地址就会发生变更,此时,DHCP服务器会向NAT设备发送针对租约到期的IP地址的表项删除指令。
步骤602,根据所述表项删除指令,删除所述IP地址对应的端口块使用记录表项。
在本步骤中,当DHCP服务器确定IP地址对应的租约到期时,会向NAT设备发送针对租约到期的IP地址的表项删除指令,以删除端口块使用记录表中租约到期的IP地址对应的端口块使用记录表项。
具体地,DHCP服务器会通过预设的端口号向NAT设备发送包含TYPE=2的UDP消息,通知NAT设备从端口块使用记录表中删除租约到期的IP地址对应的端口块使用记录表项。
由于端口块使用记录表没有生存周期,只要没有收到来自DHCP服务器的表项删除指令,私网IP地址对应的端口块使用记录表项就会一直保留。这样,对于一个私网设备,可能会出现在端口块分配表中对应的端口块分配表项已经经历过多次的新建和清除,而在端口块使用记录表中对应的端口块使用记录表项则一直存在。
可见,在本发明实施方式中,在为私网设备分配公网端口块时,能够根据端口块使用记录表项中记录的端口块使用量来确定待分配的公网端口块的大小;当私网设备的私网IP地址对应的端口块使用量较小,也即使用私网IP地址发起的连接请求较少时,可以减小分配给私网设备的公网端口块的大小,以实现避免浪费公网端口块资源,提高公网端口资源的利用率的目的。
在本发明的一种装置实施方式中,参见图7,图7为本发明实施方式的分配端口块装置的一种结构图,具体可以包括以下单元:
接收单元701,用于接收私网设备发送的第一报文;
判断单元702,用于若所述NAT设备未建立所述第一报文对应的会话,则根据所述第一源IP地址,判断端口块分配记录表中是否保存有第二报文的第二源IP地址与第二公网端口块之间的对应关系;其中,第二报文为NAT设备使用除发送第一报文时待使用的链路以外的其他链路发送的报文,第一源IP地址与第二源IP地址相同;
替换单元703,用于若所述端口块分配记录表中保存有所述对应关系,则利用所述第二公网端口块中的端口标识,替换所述第一报文的源端口标识。
在本发明的一种优选实施方式中,所述装置还包括:
分配单元,用于当所述端口块分配记录表中没有保存所述对应关系时,为所述第一源IP地址分配第一公网端口块,并将所述第一源IP地址与所述第一公网端口块之间的对应关系更新至所述端口块分配记录表中;
第二替换单元,用于利用所述第一公网端口块中的端口标识,替换所述第一报文的源端口标识。
在本发明的一种优选实施方式中,所述分配单元,包括:查询子单元、第一确定子单元和分配子单元;
所述查询子单元,用于在预设的端口块使用记录表中,根据所述第一源IP地址,查询所述第一源IP地址对应的目标端口使用量;
所述第一确定子单元,用于根据所述目标端口使用量,确定待分配给所述第一源IP地址的公网端口块的大小;
所述分配子单元,用于根据所述公网端口块的大小,为所述第一源IP地址分配所述第一公网端口块。
在本发明的一种优选实施方式中,所述目标端口使用量包括:所述第一源IP地址对应的端口使用量峰值;所述端口使用量峰值包括:第三公网端口块中的端口使用量峰值;其中,所述第三公网端口块为向所述第一源IP地址分配过的、且已从所述端口块分配记录表中删除的公网端口块。
在本发明的一种优选实施方式中,所述第一确定子单元,包括:判断子单元、第二确定子单元和第三确定子单元;
所述判断子单元,用于判断所述目标端口使用量是否大于预设配置命令中的预设减量阈值;
所述第二确定子单元,用于若所述目标端口使用量不大于所述预设减量阈值,则根据所述预设配置命令中的预设减量规则,确定待分配给所述第一源IP地址的公网端口块的大小;
所述第三确定子单元,用于若所述目标端口使用量大于所述预设减量阈值,则根据预设的端口块大小默认值,确定待分配给所述第一源IP地址的公网端口块的大小。
在本发明的一种优选实施方式中,所述装置还包括:
统计单元,用于统计所述第一公网端口块中端口的端口使用量;
更新单元,用于根据统计得到的所述第一公网端口块中端口的端口使用量,更新所述端口块使用记录表中所述第一源IP地址对应的端口块使用量。
在本发明的一种优选实施方式中,所述装置还包括:
接收单元,用于接收DHCP服务器发送的表项删除指令,其中,所述表项删除指令,是所述DHCP服务器确定IP地址对应的租约到期时发送的;
删除单元,用于根据所述表项删除指令,删除所述IP地址对应的端口块使用记录表项。
可见,本发明实施方式在NAT设备上存在至少两个NAT接口,且至少两个NAT接口分别对应至少两条链路的情况下,能够保证在一个私网设备向NAT设备发送的报文均使用同一个公网端口块。也就是说,在一个公网端口块能够满足一个私网设备使用需求的前提下,即使NAT设备向运营商转发来自私网设备的报文时使用了不同链路,一个私网设备也只对应一个公网端口块,避免一个私网设备占用多个公网端口块,提高公网端口块资源的利用率;并且,在为私网设备分配公网端口块时,能够根据端口块使用记录表项中记录的端口块使用量来确定待分配的公网端口块的大小;当私网设备的私网IP地址对应的端口块使用量较小,也即使用私网IP地址发起的连接请求较少时,可以减小分配给私网设备的公网端口块的大小,以实现避免浪费公网端口块资源,提高公网端口资源的利用率的目的。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施方式均采用相关的方式描述,各个实施方式之间相同相似的部分互相参见即可,每个实施方式重点说明的都是与其他实施方式的不同之处。尤其,对于系统实施方式而言,由于其基本相似于方法实施方式,所以描述的比较简单,相关之处参见方法实施方式的部分说明即可。
以上所述仅为本发明的较佳实施方式而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (14)

1.一种分配端口块的方法,应用于网络地址转换NAT设备,其特征在于,所述方法包括:
接收私网设备发送的第一报文;
若所述NAT设备未建立所述第一报文对应的会话,则根据所述第一报文的第一源IP地址,判断端口块分配记录表中是否保存有第二报文的第二源IP地址与第二公网端口块之间的对应关系;其中,所述第二报文为所述NAT设备使用除发送所述第一报文时待使用的链路以外的其他链路发送的报文,所述第一源IP地址与所述第二源IP地址相同;
若所述端口块分配记录表中保存有所述对应关系,则利用所述第二公网端口块中的端口标识,替换所述第一报文的源端口标识;
所述NAT设备存在至少两个NAT接口,且所述至少两个NAT接口分别对应至少两条链路。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述端口块分配记录表中没有保存所述对应关系时,为所述第一源IP地址分配第一公网端口块,并将所述第一源IP地址与所述第一公网端口块之间的对应关系更新至所述端口块分配记录表中;
利用所述第一公网端口块中的端口标识,替换所述第一报文的源端口标识。
3.根据权利要求2所述的方法,其特征在于,所述为所述第一源IP地址分配第一公网端口块的步骤,包括:
在预设的端口块使用记录表中,根据所述第一源IP地址,查询所述第一源IP地址对应的目标端口使用量;其中,所述端口块使用记录表包括IP地址与端口使用量的对应关系;
根据所述目标端口使用量,确定待分配给所述第一源IP地址的公网端口块的大小;
根据所述公网端口块的大小,为所述第一源IP地址分配所述第一公网端口块。
4.根据权利要求3所述的方法,其特征在于,所述目标端口使用量包括:所述第一源IP地址对应的端口使用量峰值;所述端口使用量峰值包括:第三公网端口块中的端口使用量峰值;其中,所述第三公网端口块为向所述第一源IP地址分配过的、且已从所述端口块分配记录表中删除的公网端口块。
5.根据权利要求4所述的方法,其特征在于,所述根据所述目标端口使用量,确定待分配给所述第一源IP地址的公网端口块的大小的步骤,包括:
判断所述目标端口使用量是否大于预设配置命令中的预设减量阈值;
若所述目标端口使用量不大于所述预设减量阈值,则根据所述预设配置命令中的预设减量规则,确定待分配给所述第一源IP地址的公网端口块的大小;
若所述目标端口使用量大于所述预设减量阈值,则根据预设的端口块大小默认值,确定待分配给所述第一源IP地址的公网端口块的大小。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
统计所述第一公网端口块中端口的端口使用量;
根据统计得到的所述第一公网端口块中端口的端口使用量,更新所述端口块使用记录表中所述第一源IP地址对应的端口块使用量。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
接收DHCP服务器发送的表项删除指令,其中,所述表项删除指令,是所述DHCP服务器确定IP地址对应的租约到期时发送的;
根据所述表项删除指令,删除所述IP地址对应的端口块使用记录表项。
8.一种分配端口块的装置,其特征在于,应用于网络地址转换NAT设备,所述装置包括:
接收单元,用于接收私网设备发送的第一报文;
判断单元,用于若所述NAT设备未建立所述第一报文对应的会话,则根据所述第一报文的第一源IP地址,判断端口块分配记录表中是否保存有第二报文的第二源IP地址与第二公网端口块之间的对应关系;其中,所述第二报文为所述NAT设备使用除发送所述第一报文时待使用的链路以外的其他链路发送的报文,所述第一源IP地址与所述第二源IP地址相同;
第一替换单元,用于若所述端口块分配记录表中保存有所述对应关系,则利用所述第二公网端口块中的端口标识,替换所述第一报文的源端口标识;
所述NAT设备存在至少两个NAT接口,且所述至少两个NAT接口分别对应至少两条链路。
9.根据权利要求8所述装置,其特征在于,所述装置还包括:
分配单元,用于当所述端口块分配记录表中没有保存所述对应关系时,为所述第一源IP地址分配第一公网端口块,并将所述第一源IP地址与所述第一公网端口块之间的对应关系更新至所述端口块分配记录表中;
第二替换单元,用于利用所述第一公网端口块中的端口标识,替换所述第一报文的源端口标识。
10.根据权利要求9所述装置,其特征在于,所述分配单元,包括:查询子单元、第一确定子单元和分配子单元;
所述查询子单元,用于在预设的端口块使用记录表中,根据所述第一源IP地址,查询所述第一源IP地址对应的目标端口使用量;其中,所述端口块使用记录表包括IP地址与端口使用量的对应关系;
所述第一确定子单元,用于根据所述目标端口使用量,确定待分配给所述第一源IP地址的公网端口块的大小;
所述分配子单元,用于根据所述公网端口块的大小,为所述第一源IP地址分配所述第一公网端口块。
11.根据权利要求10所述装置,其特征在于,所述目标端口使用量包括:所述第一源IP地址对应的端口使用量峰值;所述端口使用量峰值包括:第三公网端口块中的端口使用量峰值;其中,所述第三公网端口块为向所述第一源IP地址分配过的、且已从所述端口块分配记录表中删除的公网端口块。
12.根据权利要求11所述装置,其特征在于,所述第一确定子单元,包括:判断子单元、第二确定子单元和第三确定子单元;
所述判断子单元,用于判断所述目标端口使用量是否大于预设配置命令中的预设减量阈值;
所述第二确定子单元,用于若所述目标端口使用量不大于所述预设减量阈值,则根据所述预设配置命令中的预设减量规则,确定待分配给所述第一源IP地址的公网端口块的大小;
所述第三确定子单元,用于若所述目标端口使用量大于所述预设减量阈值,则根据预设的端口块大小默认值,确定待分配给所述第一源IP地址的公网端口块的大小。
13.根据权利要求12所述装置,其特征在于,所述装置还包括:
统计单元,用于统计所述第一公网端口块中端口的端口使用量;
更新单元,用于根据统计得到的所述第一公网端口块中端口的端口使用量,更新所述端口块使用记录表中所述第一源IP地址对应的端口块使用量。
14.根据权利要求13所述装置,其特征在于,所述装置还包括:
接收单元,用于接收DHCP服务器发送的表项删除指令,其中,所述表项删除指令,是所述DHCP服务器确定IP地址对应的租约到期时发送的;
删除单元,用于根据所述表项删除指令,删除所述IP地址对应的端口块使用记录表项。
CN201611047085.4A 2016-11-23 2016-11-23 一种分配端口块的方法及装置 Active CN106506724B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611047085.4A CN106506724B (zh) 2016-11-23 2016-11-23 一种分配端口块的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611047085.4A CN106506724B (zh) 2016-11-23 2016-11-23 一种分配端口块的方法及装置

Publications (2)

Publication Number Publication Date
CN106506724A CN106506724A (zh) 2017-03-15
CN106506724B true CN106506724B (zh) 2020-10-30

Family

ID=58328624

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611047085.4A Active CN106506724B (zh) 2016-11-23 2016-11-23 一种分配端口块的方法及装置

Country Status (1)

Country Link
CN (1) CN106506724B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106878487B (zh) * 2017-03-29 2020-02-11 新华三技术有限公司 公网地址分配方法及装置
CN107547690B (zh) * 2017-09-25 2021-06-18 新华三信息安全技术有限公司 Nat中的端口分配方法、装置、nat设备及存储介质
CN109347993B (zh) * 2018-09-30 2021-11-05 新华三信息安全技术有限公司 一种端口分配方法及装置
CN110166474B (zh) * 2019-05-29 2021-07-09 新华三信息安全技术有限公司 一种报文处理方法及装置
CN112600765B (zh) * 2020-12-02 2022-07-29 杭州迪普科技股份有限公司 一种配置资源调度方法及装置
CN112637374B (zh) * 2020-12-15 2022-07-01 杭州迪普科技股份有限公司 转换地址处理方法、装置、设备及计算机可读存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101262506A (zh) * 2008-04-21 2008-09-10 杭州华三通信技术有限公司 分布式架构下的网络地址转换端口资源分配方法及系统
CN102882992A (zh) * 2012-10-12 2013-01-16 江苏省邮电规划设计院有限责任公司 一种运营级网络地址转换设备释放端口的方法
CN103167049A (zh) * 2011-12-13 2013-06-19 中国电信股份有限公司 按需分配的网络地址转换方法、设备和系统
CN103780712A (zh) * 2012-10-25 2014-05-07 中国电信股份有限公司 一种地址转换设备分配端口的方法和地址转换设备
CN104144226A (zh) * 2013-05-10 2014-11-12 中国电信股份有限公司 端口分配方法和网络地址转换装置
CN104506667A (zh) * 2014-12-22 2015-04-08 迈普通信技术股份有限公司 一种分配端口资源的方法及装置、用户认证管理的装置
CN105100299A (zh) * 2010-11-25 2015-11-25 华为技术有限公司 报文发送方法、nat表项建立方法及nat设备
US9258272B1 (en) * 2011-10-21 2016-02-09 Juniper Networks, Inc. Stateless deterministic network address translation
CN105491171A (zh) * 2014-09-17 2016-04-13 中兴通讯股份有限公司 网络地址转换nat资源的分配方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9306903B2 (en) * 2011-09-13 2016-04-05 Cable Television Laboratories, Inc. Deterministic mapping

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101262506A (zh) * 2008-04-21 2008-09-10 杭州华三通信技术有限公司 分布式架构下的网络地址转换端口资源分配方法及系统
CN105100299A (zh) * 2010-11-25 2015-11-25 华为技术有限公司 报文发送方法、nat表项建立方法及nat设备
US9258272B1 (en) * 2011-10-21 2016-02-09 Juniper Networks, Inc. Stateless deterministic network address translation
CN103167049A (zh) * 2011-12-13 2013-06-19 中国电信股份有限公司 按需分配的网络地址转换方法、设备和系统
CN102882992A (zh) * 2012-10-12 2013-01-16 江苏省邮电规划设计院有限责任公司 一种运营级网络地址转换设备释放端口的方法
CN103780712A (zh) * 2012-10-25 2014-05-07 中国电信股份有限公司 一种地址转换设备分配端口的方法和地址转换设备
CN104144226A (zh) * 2013-05-10 2014-11-12 中国电信股份有限公司 端口分配方法和网络地址转换装置
CN105491171A (zh) * 2014-09-17 2016-04-13 中兴通讯股份有限公司 网络地址转换nat资源的分配方法及装置
CN104506667A (zh) * 2014-12-22 2015-04-08 迈普通信技术股份有限公司 一种分配端口资源的方法及装置、用户认证管理的装置

Also Published As

Publication number Publication date
CN106506724A (zh) 2017-03-15

Similar Documents

Publication Publication Date Title
CN106506724B (zh) 一种分配端口块的方法及装置
US10122679B2 (en) Method, relay agent, and system for acquiring internet protocol address in network
CN102882699B (zh) 边缘节点的分配方法和装置及边缘节点控制器
KR100908320B1 (ko) IPv6 네트워크 내 호스트 차단 및 탐색방법
EP3328156B1 (en) Data transmission method, relay device and packet data network gateway
CN112105091B (zh) 会话管理方法、会话管理功能smf实体、终端及网络侧实体
KR20090027943A (ko) 근거리 무선 네트워크 시스템에서 아이피 버전 6 패킷전송을 위한 게이트웨이 제공 방법 및 장치
CN103595638B (zh) 一种mac地址学习方法及装置
CN1251710A (zh) 路由选择动态主机配置协议分组的系统、装置和方法
EP2434703A1 (en) Method and terminal for transmitting service data
CN106454959B (zh) 一种分布式网络的服务质量控制方法、及服务器
EP2466796A1 (en) User access method, system and access server, access device
KR101786620B1 (ko) 소프트웨어 정의 네트워크에서 서브넷을 지원하는 방법, 장치 및 컴퓨터 프로그램
WO2017059742A1 (zh) 用户侧设备、服务器、端口资源管理方法及系统
CN101018193A (zh) 负载分流的方法和系统及分配备份组虚ip地址的装置
EP2566139B1 (en) Method and device for obtaining remote ip address
CN106572030B (zh) 一种分布式网络中多路径发送控制方法、及系统
US12021824B2 (en) Address management method, apparatus, and system
US10225191B2 (en) Service packet distribution method and apparatus
EP2882167B1 (en) Method for management of ip (internet protocol) addresses in a telecommunications network, and telecommunications network
CN111418194B (zh) 数据网络中的流量管理
KR101319716B1 (ko) 부하분산 이동통신 시스템 및 방법
CN111147617B (zh) 基于dhcp服务器集群负载分配地址的方法和系统
KR101997559B1 (ko) 네트워크 개체 불능에 대비한 부분 분산 이동성 제어 구조의 안정적 서비스 제공 방법
CN109921918B (zh) 一种服务质量QoS控制方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
CB02 Change of applicant information

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Applicant after: Xinhua three Technology Co., Ltd.

Address before: 310053 Hangzhou science and Technology Industrial Park, high tech Industrial Development Zone, Zhejiang Province, No. six and road, No. 310

Applicant before: Huasan Communication Technology Co., Ltd.

CB02 Change of applicant information
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant