一种pat模式下的端口复用方法及网络地址转换设备的制作方法

文档序号:7995779阅读:300来源:国知局
一种pat模式下的端口复用方法及网络地址转换设备的制作方法
【专利摘要】本发明公开了一种PAT模式下的端口复用方法及网络转换设备,该方法包含:步骤101)采用本地端口、目的IP地址和目的端口三元组保存本地端口复用记录;步骤102)根据待分配本地端口、目的IP地址和目的端口三元组判断所述本地端口复用记录中是否存在重复记录,若不存在,则可复用所述待分配本地端口;若存在,则重新分配本地端口直至所述待分配本地端口、目的IP地址和目的端口与本地端口复用记录无重复,则端口分配成功,或本地端口已全部分配,则端口分配失败;其中,所述本地端口复用记录利用本地端口、目的IP地址和目的端口三元组唯一标识内网与外网之间的数据流。本发明的方法提升了本地端口的利用效率,节约端口资源。
【专利说明】—种PAT模式下的端口复用方法及网络地址转换设备
【技术领域】
[0001]本发明属于计算机网络【技术领域】,它是一种PAT模式下的端口复用方法。
【背景技术】
[0002]网络地址转换(NAT, Network Address Translation)是用于将互联网地址(IP地址)从一个地址域映射到另一个地址域的标准方法。利用NAT技术,可以允许采用私有地址的企业内部网络(Intranet)的主机能够透明地连接到外部的互联网(Internet)中去,而该内部主机无需拥有合法注册的IP地址。NAT技术可以用来解决目前日益严峻的IP地址不足的问题,同时,它还提供了内部网络与外部网络的隔离,隐藏并保护内部网络的主机。
[0003]互联网工程任务组(TheInternet Engineering Task Force,简称 IETF)规定的私有地址的范围为10/8,172.16/12,192.168/16三个部分。当采用私有地址的内部局域网想与外部Internet实现通信的时候,用户只需要在内部局域网和Internet之间设置NAT技术以及由少量合法IP地址组成的IP地址池,就可以解决大量内部主机访问外部Internet的需求。
[0004]目前,NAT技术的实现方式主要包括以下三种:静态转换、动态转换和端口地址转换。其中,静态转换就是将内部网络的私有IP地址转换为公有合法的IP地址时,IP地址的对应关系是一对一的,是不变的,即某个私有IP地址只能转换为某个固定的公有IP地址。动态转换,就是将内部网络的私有地址转换为公有地址时,IP地址对应关系式不确定的,随机的,所有被授权访问Internet的私有地址,可随机转换为地址池内的合法地址。端口地址转换(以下简称PAT, PortAddress Translation)是同时转换数据报文的IP地址和相应端口的地址转换技术。它可以把多个内部主机发送的数据报文的源IP地址转换成为同一个外部IP地址,利用不同的TCP/UDP端口号进行区分。因此,采用PAT方式,内部网络的所有主机均可共享一个或多个(通常为多个)合法外部IP地址实现Internet的访问,从而可以最大限度地节约IP地址资源。
[0005]在现有PAT技术的实现中,内部网络主机的IP地址和端口二元组必须与网络转换设备的IP地址和端口二元组一一对应,网络转换设备的端口无法复用。随着各种类型数码设备的普及,内网设备对外访问的连接数目日益增加,现有的PAT模式下的端口分配方式将无法满足大量用户的应用对地址转换的需求。

【发明内容】

[0006]本发明的目的在于,为克服上述问题,本发明提供一种PAT模式下的端口复用方法及网络转换设备,本发明提供的方法可将目的IP地址和端口不同的多个内网IP地址和端口分配到网络转换设备上的同一端口。
[0007]为实现上述目的,本发明提供了一种PAT模式下的端口复用方法,所述方法为:
[0008]步骤101)采用本地端口、目的IP地址和目的端口三元组保存本地端口复用记录;
[0009]步骤102 )根据待分配本地端口、目的IP地址和目的端口三元组判断所述本地端口复用记录中是否存在重复记录,若不存在,则可复用所述待分配本地端口 ;若存在,则重新分配本地端口直至所述待分配本地端口、目的IP地址和目的端口与本地端口复用记录无重复,则端口分配成功,或本地端口已全部分配,则端口分配失败;
[0010]其中,所述本地端口复用记录利用本地端口、目的IP地址和目的端口三元组唯一标识内网与外网之间的数据流。
[0011]上述本地端口复用记录可采用散列集合、散列表和关联数组的方式进行保存。
[0012]上述方法还包含:当端口分配成功后,根据本地端口、目的IP地址和目的端口生成记录并加入所述本地端口复用记录中。
[0013]上述方法还包含:
[0014]释放分配端口时,根据本地端口、目的IP地址和目的端口删除所述本地端口复用记录中对应记录信息。
[0015]上述本地端口包含:本地逻辑端口号或由本地IP地址和本地端口的组合得到的组合端口号;且所述复用方法既可实时分配本地端口,也可离线预分配本地端口。
[0016]为了实现上述方法,本发明提供了一种网络地址转换设备,其特征在于,所述设备包含:
[0017]端口复用信息管理模块,用于采用本地端口、目的IP地址和目的端口三元组保存本地端口复用记录;且该模块通过建立保存本地端口复用记录的哈希集合和用于端口分配的哈希表;其中,所述哈希集合利用本地端口、目的IP地址和目的端口三元组生成哈希键值,所述哈希表利用目的IP地址和目的端口二元组生成哈希键值,待分配的本地端口作为对应的哈希表表项;
[0018]端口分配模块,用于根据待分配本地端口、目的IP地址和目的端口三元组判断所述本地端口复用记录中是否存在重复记录,若不存在,则能复用所述待分配本地端口 ;若存在,则重新分配本地端口直至所述待分配本地端口、目的IP地址和目的端口与本地端口复用记录无重复,则端口分配成功,或本地端口已全部分配,则端口分配失败。
[0019]上述设备还包含:第一驱动模块,用于当端口分配成功后,驱动端口复用信息建立模块根据本地端口、目的IP地址和目的端口生成记录并加入所述本地端口复用记录中。和第二驱动模块,用于释放分配端口时根据本地端口、目的IP地址和目的端口驱动端口复用信息建立模块删除所述本地端口复用记录中对应记录信息。
[0020]上述本地端口包含:本地逻辑端口号或由本地IP地址和本地端口的组合得到的组合端口号;且所述复用方法既可实时分配本地端口,也可离线预分配本地端口。
[0021]与现有技术相比,本发明的优点在于:节约端口资源。在现有的地址转换方法中,如果网络地址转换设备的合法公共IP地址和端口被分配用于一对一的地址转换,则该地址及端口不能复用。用本发明的方法,不同目的地址和端口的数据包可复用已分配的本地端口,降低了组网的费用,提高了使用NAT组网的灵活性,且实现简单。
【专利附图】

【附图说明】
[0022]图1是本发明所述方法的实施例流程图;
[0023]图2_a是本发明实施例采用的哈希集合的示意图。
[0024]图2_b是本发明实施例采用的哈希表的示意图。【具体实施方式】
[0025]下面结合附图和具体实施例对本发明作进一步详细描述。
[0026]本发明提供一种PAT模式下的端口复用方法,采用本地端口、目的IP地址和目的端口三元组保存本地端口复用记录,根据待分配本地端口、目的IP地址和目的端口三元组判断所述本地端口复用记录中是否存在重复记录,若不存在,则可复用所述待分配本地端□。
[0027]其中,利用本地端口、目的IP地址和目的端口三元组唯一标识内网与外网之间的数据流。
[0028]其中,所述本地端口复用记录可采用散列集合、散列表和关联数组的方式进行保存。
[0029]其中,分配本地端口时,根据待分配本地端口、目的IP地址和目的端口三元组判断所述本地端口复用记录中是否存在重复记录,若不存在,则端口分配成功,否则,重新分配本地端口直至所述三元组与本地端口复用记录无重复,则端口分配成功,或本地端口已全部分配,则端口分配失败。
[0030]其中,端口分配成功后,根据本地端口、目的IP地址和目的端口生成记录并加入所述本地端口复用记录;释放分配端口时,根据本地端口、目的IP地址和目的端口删除所述本地端口复用记录中对应记录。
[0031]其中,所述本地端口包含但不仅限于本地逻辑端口号,本地IP地址和本地端口的组合也可采用所述复用方法进行分配。
[0032]其中,所述复用方法既可实时分配本地端口,也可离线预分配本地端口。
[0033]实施例
[0034]在本实施例中,假设应用端口地址转换(PAT)方式,对内网主机的数据包进行端口地址转换,网络地址转换设备上一段连续的端口号可用于端口分配。
[0035]图1是本发明所述方法的实施例流程图。如图1所示,需要经过如下步骤:
[0036]步骤SI,在网络地址转换设备上建立用于保存本地端口复用记录的哈希集合和用于端口分配的哈希表。
[0037]在步骤SI中,如图2_a所示,用于保存本地端口复用记录的哈希集合利用本地端口、目的IP地址和目的端口三元组生成哈希键值。如图2-b所示,用于端口分配的哈希表利用目的IP地址和目的端口二元组生成哈希键值,待分配的本地端口作为对应的哈希表表项。
[0038]步骤S2,接收端口处理请求,如果是端口分配请求,转步骤S3,如果是端口释放请求,转步骤S15。
[0039]步骤S3,根据目的IP地址和目的端口生成哈希键值KEYl。
[0040]步骤S4,判断步骤SI中所述哈希表中是否有KEY1,若没有,转步骤S5,否则,转步骤S7。
[0041]步骤S5,以本地起始端口作为转换端口。
[0042]步骤S6,以KEYl为键值,本地起始端口加I为表项加入步骤SI所述哈希表中,转步骤S13。[0043]步骤S7,在步骤SI所述哈希表中获取KEYl对应本地端口。
[0044]步骤S8,根据步骤S7所述本地端口、目的IP地址和目的端口生成哈希键值KEY2。
[0045]步骤S9,判断步骤SI所述哈希集合中是否含有KEY2,若不含有,转步骤S10,否则,转步骤SI I。
[0046]步骤S10,以步骤S7所述本地端口作为转换端口,转步骤S13。
[0047]步骤S11,将本地端口值加1,若当前本地端口值大于本地结束端口值,则将本地端口值修改为本地起始端口值,并判断是否已经遍历完所有本地端口,若是,转步骤S12,否贝U,转步骤S8。
[0048]步骤S12,分配失败,操作结束。
[0049]步骤S13,根据步骤S5、步骤SlO所述转换端口、目的IP地址和目的端口生成哈希键值KEY3。
[0050]步骤S14,在步骤SI中所述哈希集合中插入KEY3,操作结束。
[0051]步骤S15,根据本地端口、目的IP地址和目的端口生成哈希键值KEY4。
[0052]步骤S16,在步骤SI中所述哈希集合中删除KEY4,操作结束。
[0053]综上所述,本发明提供了一种PAT模式下的端口复用方法,具体采用本地端口、目的IP地址和目的端口三元组保存本地端口复用记录,根据待分配本地端口、目的IP地址和目的端口三元组判断所述本地端口复用记录中是否存在重复记录,若不存在,则可复用所述待分配本地端口。其中,上述方案利用本地端口、目的IP地址和目的端口三元组唯一标识内网与外网之间的数据流。
[0054]上述本地端口复用记录可采用散列集合、散列表和关联数组的方式进行保存。当分配本地端口时,根据待分配本地端口、目的IP地址和目的端口三元组判断所述本地端口复用记录中是否存在重复记录,若不存在,则端口分配成功,否则,重新分配本地端口直至所述三元组与本地端口复用记录无重复,则端口分配成功,或本地端口已全部分配,则端口分配失败。
[0055]当端口分配成功后,根据本地端口、目的IP地址和目的端口生成记录并加入所述本地端口复用记录;释放分配端口时,根据本地端口、目的IP地址和目的端口删除所述本地端口复用记录中对应记录。
[0056]上述本地端口包含但不仅限于本地逻辑端口号,本地IP地址和本地端口的组合也可采用所述复用方法进行分配。
[0057]上述复用方法既可实时分配本地端口,也可离线预分配本地端口。
[0058]本发明中的实施例仅为本发明的较佳实施例,并非用于限于本发明的保护范围。凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种PAT模式下的端口复用方法,所述方法为:步骤101)采用本地端口、目的IP地址和目的端口三元组保存本地端口复用记录;步骤102)根据待分配本地端口、目的IP地址和目的端口三元组判断所述本地端口复用记录中是否存在重复记录,若不存在,则可复用所述待分配本地端口 ;若存在,则重新分配本地端口直至所述待分配本地端口、目的IP地址和目的端口与本地端口复用记录无重复,则端口分配成功,或本地端口已全部分配,则端口分配失败; 其中,所述本地端口复用记录利用本地端口、目的IP地址和目的端口三元组唯一标识内网与外网之间的数据流。
2.根据权利要求1所述的PAT模式下的端口复用方法,其特征在于,所述本地端口复用记录采用散列集合、散列表和关联数组的方式进行保存。
3.根据权利要求1所述的PAT模式下的端口复用方法,其特征在于,所述方法还包含: 当端口分配成功后,根据本地端口、目的IP地址和目的端口生成记录并加入所述本地端口复用记录中。
4.根据权利要求1所述的PAT模式下的端口复用方法,其特征在于,所述方法还包含: 释放分配端口时,根据本地端口、目的IP地址和目的端口删除所述本地端口复用记录中对应记录信息。
5.根据权利要求1所述的PAT模式下的端口复用方法,其特征在于,所述本地端口包含:本地逻辑端口号或由本地IP地址和本地端口的组合得到的组合端口号。
6.一种网络地址转换设备,其特征在于,所述设备包含: 端口复用信息管理模块,用于采用本地端口、目的IP地址和目的端口三元组保存本地端口复用记录; 端口分配模块,用于根据待分配本地端口、目的IP地址和目的端口三元组判断所述本地端口复用记录中是否存在重复记录,若不存在,则能复用所述待分配本地端口 ;若存在,则重新分配本地端口直至所述待分配本地端口、目的IP地址和目的端口与本地端口复用记录无重复,则端口分配成功,或本地端口已全部分配,则端口分配失败。
7.根据权利要求6所述的网络地址转换设备,其特征在于,所述端口复用信息管理模块建立保存本地端口复用记录的哈希集合和用于端口分配的哈希表;其中,所述哈希集合利用本地端口、目的IP地址和目的端口三元组生成哈希键值,所述哈希表利用目的IP地址和目的端口 二元组生成哈希键值,待分配的本地端口作为对应的哈希表表项。
8.根据权利要求6所述的网络地址转换设备,其特征在于,所述设备还包含: 第一驱动模块,用于当端口分配成功后,驱动端口复用信息建立模块根据本地端口、目的IP地址和目的端口生成记录并加入所述本地端口复用记录中。
9.根据权利要求6所述的网络地址转换设备,其特征在于,所述设备还包含: 第二驱动模块,用于释放分配端口时根据本地端口、目的IP地址和目的端口驱动端口复用信息建立模块删除所述本地端口复用记录中对应记录信息。
10.根据权利要求6所述的PAT模式下的端口复用系统,其特征在于,所述本地端口包含:本地逻辑端口号或由本地IP地址和本地端口的组合得到的组合端口号。
【文档编号】H04L29/12GK103945014SQ201310022034
【公开日】2014年7月23日 申请日期:2013年1月21日 优先权日:2013年1月21日
【发明者】刘磊, 彭飞, 郑艳伟, 刘孝胜 申请人:中国科学院声学研究所, 北京海力汇通数字系统技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1