CN102594942A - 实现网络地址转换的方法及系统 - Google Patents
实现网络地址转换的方法及系统 Download PDFInfo
- Publication number
- CN102594942A CN102594942A CN2012100439965A CN201210043996A CN102594942A CN 102594942 A CN102594942 A CN 102594942A CN 2012100439965 A CN2012100439965 A CN 2012100439965A CN 201210043996 A CN201210043996 A CN 201210043996A CN 102594942 A CN102594942 A CN 102594942A
- Authority
- CN
- China
- Prior art keywords
- port
- address
- current data
- queue
- data newspaper
- 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.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种实现网络地址转换的方法及系统,涉及网络通信技术领域,所述方法包括:S1:接收需要进行网络地址端口转换处理的当前数据报,实现当前数据报的内网IP地址与公网IP地址之间的转换,所述当前数据报的公网IP地址具有N个端口队列,所述N为大于1的整数;S2:根据当前数据报的目的外网IP地址来选择所述N个端口队列中的某个端口队列,在选择的端口队列中选择一个未被分配过的端口作为当前数据报的公网端口号。本发明在PAT的转换方法之上,增加对目的IP的判断,对不同资源能够采用同样的端口号,实现了端口的复用,相当于对端口资源进行扩展了N倍,防止了端口资源被耗尽而导致数据报被丢弃。
Description
技术领域
本发明涉及网络通信技术领域,特别涉及一种实现网络地址转换的方法及系统。
背景技术
网络地址转换(NETWORK ADDRESS TRANSLATION,NAT)协议实现私有网络中的IP地址与公网中的IP地址之间的相互转换,且私网地址和公网地址一一对应。
网络地址端口转换(PORT ADDRESS TRANSLATION,PAT)是NAT的一种变形,准许多个私网地址映射到同一个公网地址上,也可称为“多对一地址转换”或“地址复用”。PAT同时映射IP地址和端口号,来自不同私网地址的数据报的源地址可以映射到同一公网地址,但这些来之不同私网地址的数据报的端口号被转换为该同一公网地址的不同端口号,因而能共享同一公网地址。即PAT实现“私网地址+私网端口号”与“公网地址+公网端口号”之间的转换。因此,在PAT中除了公网地址的管理以外,公网端口的管理也至关重要,关系到“多对一地址转换”中“多”到底是多少。目前,PAT的端口管理采用端口队列,其中,端口队列的起始端口和终止端口可以支持产品定制。当数据报做PAT处理时,首先分配得到的公网地址作为PAT处理后的源IP地址,然后获取该公网地址端口队列中闲置的端口作为PAT处理后的源端口,且一个公网地址和其端口队列中任一个端口的组合不能被重复使用。在这种方案中,由于端口队列的长度有限(端口取值范围为0到65535),因此一个公网地址可以用于转换的私网地址的数量有限,在实际使用时很容易端口资源耗尽而导致数据报被丢弃。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何对端口资源进行扩展,以防止端口资源被耗尽而导致数据报被丢弃。
(二)技术方案
为解决上述技术问题,本发明提供了一种实现网络地址转换的方法,所述方法包括以下步骤:
S1:接收需要进行网络地址端口转换处理的当前数据报,实现当前数据报的内网IP地址与公网IP地址之间的转换,所述当前数据报的公网IP地址具有N个端口队列,所述N为大于1的整数;
S2:根据当前数据报的目的外网IP地址来选择所述N个端口队列中的某个端口队列,在选择的端口队列中选择一个未被分配过的端口作为当前数据报的公网端口号。
优选地,步骤S2之后还包括以下步骤:
S3:若选择的端口队列的端口资源耗尽,则分配失败,丢弃当前数据报。
优选地,步骤S2中,采用以下公式来选择所述N个端口队列中的某个端口队列,
M=X mod N
其中,M为选择的端口队列的序号,X为当前数据报的目的外网IP地址的后八位,mod为取模运算。
本发明还公开了一种实现网络地址转换的系统,所述系统包括:
接收转换模块,用于接收需要进行网络地址端口转换处理的当前数据报,实现当前数据报的内网IP地址与公网IP地址之间的转换,所述当前数据报的公网IP地址具有N个端口队列,所述N为大于1的整数;
端口分配模块,用于根据当前数据报的目的外网IP地址来选择所述N个端口队列中的某个端口队列,在选择的端口队列中选择一个未被分配过的端口作为当前数据报的公网端口号。
优选地,所述系统还包括:
丢弃模块,用于若选择的端口队列的端口资源耗尽,则分配失败,丢弃当前数据报。
优选地,端口分配模块中,采用以下公式来选择所述N个端口队列中的某个端口队列,
M=X mod N
其中,M为选择的端口队列的序号,X为当前数据报的目的外网IP地址的后八位,mod为取模运算。
(三)有益效果
本发明在PAT的转换方法之上,增加对目的IP的判断,对不同资源能够采用同样的端口号,实现了端口的复用,相当于对端口资源进行扩展了N倍,防止了端口资源被耗尽而导致数据报被丢弃。
附图说明
图1是按照本发明一种实施方式的实现网络地址转换的方法流程图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
图1是按照本发明一种实施方式的实现网络地址转换的方法流程图;参照图1,本实施方式的方法包括以下步骤:
S1:接收需要进行网络地址端口转换处理的当前数据报,实现当前数据报的内网IP地址与公网IP地址之间的转换,所述当前数据报的公网IP地址具有N个端口队列,所述N为大于1的整数;
S2:根据当前数据报的目的外网IP地址来选择所述N个端口队列中的某个端口队列,在选择的端口队列中选择一个未被分配过的端口作为当前数据报的公网端口号。
优选地,步骤S2之后还包括以下步骤:
S3:若选择的端口队列的端口资源耗尽,则分配失败,丢弃当前数据报。
优选地,步骤S2中,采用以下公式来选择所述N个端口队列中的某个端口队列,
M=X mod N
其中,M为选择的端口队列的序号(取值范围为0、1、...、N-1),X为当前数据报的目的外网IP地址的后八位,mod为取模运算。
在原有PAT处理方法中,每个公网IP地址有一个端口队列(队列长度为65535),本发明的方法中,扩展为每个公网IP地址有N个端口队列,N为大于零的整数,用户可定义,当N=1时,与现有技术相同。本实施方式的方法在PAT的转换方法之上,在给私网地址和端口号进行公网地址和端口号的资源分配时,增加对目的IP的判断,将目的IP地址与数字N(N为自然数,用户可配置)相除,以得出的余数M(即取模结果,此时M一定小于等于N)作为一个资源分配的单元进行独立的端口资源分配,相当于在PAT方法的基础之上增加了N倍的分配资源,对不同资源能够采用同样的端口号,实现了端口的复用。
本发明还公开了一种实现网络地址转换的系统,所述系统包括:
接收转换模块,用于接收需要进行网络地址端口转换处理的当前数据报,实现当前数据报的内网IP地址与公网IP地址之间的转换,所述当前数据报的公网IP地址具有N个端口队列,所述N为大于1的整数;
端口分配模块,用于根据当前数据报的目的外网IP地址来选择所述N个端口队列中的某个端口队列,在选择的端口队列中选择一个未被分配过的端口作为当前数据报的公网端口号。
优选地,所述系统还包括:
丢弃模块,用于若选择的端口队列的端口资源耗尽,则分配失败,丢弃当前数据报。
优选地,端口分配模块中,采用以下公式来选择所述N个端口队列中的某个端口队列,
M=X mod N
其中,M为选择的端口队列的序号,X为当前数据报的目的外网IP地址的后八位,mod为取模运算。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
Claims (6)
1.一种实现网络地址转换的方法,其特征在于,所述方法包括以下步骤:
S1:接收需要进行网络地址端口转换处理的当前数据报,实现当前数据报的内网IP地址与公网IP地址之间的转换,所述当前数据报的公网IP地址具有N个端口队列,所述N为大于1的整数;
S2:根据当前数据报的目的外网IP地址来选择所述N个端口队列中的某个端口队列,在选择的端口队列中选择一个未被分配过的端口作为当前数据报的公网端口号。
2.如权利要求1所述的方法,其特征在于,步骤S2之后还包括以下步骤:
S3:若选择的端口队列的端口资源耗尽,则分配失败,丢弃当前数据报。
3.如权利要求1或2所述的方法,其特征在于,步骤S2中,采用以下公式来选择所述N个端口队列中的某个端口队列,
M=X mod N
其中,M为选择的端口队列的序号,X为当前数据报的目的外网IP地址的后八位,mod为取模运算。
4.一种实现网络地址转换的系统,其特征在于,所述系统包括:
接收转换模块,用于接收需要进行网络地址端口转换处理的当前数据报,实现当前数据报的内网IP地址与公网IP地址之间的转换,所述当前数据报的公网IP地址具有N个端口队列,所述N为大于1的整数;
端口分配模块,用于根据当前数据报的目的外网IP地址来选择所述N个端口队列中的某个端口队列,在选择的端口队列中选择一个未被分配过的端口作为当前数据报的公网端口号。
5.如权利要求4所述的系统,其特征在于,所述系统还包括:
丢弃模块,用于若选择的端口队列的端口资源耗尽,则分配失败,丢弃当前数据报。
6.如权利要求4或5所述的系统,其特征在于,端口分配模块中,采用以下公式来选择所述N个端口队列中的某个端口队列,
M=X mod N
其中,M为选择的端口队列的序号,X为当前数据报的目的外网IP地址的后八位,mod为取模运算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210043996.5A CN102594942B (zh) | 2012-02-23 | 2012-02-23 | 实现网络地址转换的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210043996.5A CN102594942B (zh) | 2012-02-23 | 2012-02-23 | 实现网络地址转换的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102594942A true CN102594942A (zh) | 2012-07-18 |
CN102594942B CN102594942B (zh) | 2014-05-14 |
Family
ID=46483135
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210043996.5A Expired - Fee Related CN102594942B (zh) | 2012-02-23 | 2012-02-23 | 实现网络地址转换的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102594942B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103401953A (zh) * | 2013-07-18 | 2013-11-20 | 东南大学 | 一种基于双层结构的端到端的语音通信节点寻址方法 |
CN103414797A (zh) * | 2013-07-31 | 2013-11-27 | 中国联合网络通信集团有限公司 | Nat穿越服务器的端口分配方法和装置 |
CN103442093A (zh) * | 2013-07-22 | 2013-12-11 | 汉柏科技有限公司 | 实现网络地址转换的方法 |
CN103442092A (zh) * | 2013-07-22 | 2013-12-11 | 汉柏科技有限公司 | 网络地址转换的方法 |
CN103780712A (zh) * | 2012-10-25 | 2014-05-07 | 中国电信股份有限公司 | 一种地址转换设备分配端口的方法和地址转换设备 |
CN103945014A (zh) * | 2013-01-21 | 2014-07-23 | 中国科学院声学研究所 | 一种pat模式下的端口复用方法及网络地址转换设备 |
CN104702591A (zh) * | 2014-12-29 | 2015-06-10 | 国家电网公司 | 一种基于端口转发复用技术穿透防火墙的方法和系统 |
CN106534394A (zh) * | 2015-09-15 | 2017-03-22 | 瞻博网络公司 | 用于使用余数来实现端口映射的nat端口管理器 |
CN107547690A (zh) * | 2017-09-25 | 2018-01-05 | 新华三信息安全技术有限公司 | Nat中的端口分配方法、装置、nat设备及存储介质 |
CN107749899A (zh) * | 2017-10-24 | 2018-03-02 | 新华三信息安全技术有限公司 | 一种报文转发方法、装置及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1477825A (zh) * | 2002-08-21 | 2004-02-25 | 华为技术有限公司 | 在pat模式下同时支持一对一和多对多的地址转换方法 |
CN101150505A (zh) * | 2007-07-31 | 2008-03-26 | 杭州华三通信技术有限公司 | 通过网络地址转换转发数据流的方法和装置 |
US7814228B2 (en) * | 2003-02-13 | 2010-10-12 | Oracle America, Inc. | System and method for using data encapsulation in a virtual network |
CN101335770B (zh) * | 2008-08-06 | 2011-04-20 | 杭州华三通信技术有限公司 | 一种网络地址端口转换方法和装置 |
-
2012
- 2012-02-23 CN CN201210043996.5A patent/CN102594942B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1477825A (zh) * | 2002-08-21 | 2004-02-25 | 华为技术有限公司 | 在pat模式下同时支持一对一和多对多的地址转换方法 |
US7814228B2 (en) * | 2003-02-13 | 2010-10-12 | Oracle America, Inc. | System and method for using data encapsulation in a virtual network |
CN101150505A (zh) * | 2007-07-31 | 2008-03-26 | 杭州华三通信技术有限公司 | 通过网络地址转换转发数据流的方法和装置 |
CN101335770B (zh) * | 2008-08-06 | 2011-04-20 | 杭州华三通信技术有限公司 | 一种网络地址端口转换方法和装置 |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103780712A (zh) * | 2012-10-25 | 2014-05-07 | 中国电信股份有限公司 | 一种地址转换设备分配端口的方法和地址转换设备 |
CN103780712B (zh) * | 2012-10-25 | 2017-10-24 | 中国电信股份有限公司 | 一种地址转换设备分配端口的方法和地址转换设备 |
CN103945014A (zh) * | 2013-01-21 | 2014-07-23 | 中国科学院声学研究所 | 一种pat模式下的端口复用方法及网络地址转换设备 |
CN103945014B (zh) * | 2013-01-21 | 2017-09-26 | 中国科学院声学研究所 | 一种pat模式下的端口复用方法及网络地址转换设备 |
CN103401953B (zh) * | 2013-07-18 | 2016-07-06 | 东南大学 | 一种基于双层结构的端到端的语音通信节点寻址方法 |
CN103401953A (zh) * | 2013-07-18 | 2013-11-20 | 东南大学 | 一种基于双层结构的端到端的语音通信节点寻址方法 |
CN103442093A (zh) * | 2013-07-22 | 2013-12-11 | 汉柏科技有限公司 | 实现网络地址转换的方法 |
CN103442092A (zh) * | 2013-07-22 | 2013-12-11 | 汉柏科技有限公司 | 网络地址转换的方法 |
CN103414797A (zh) * | 2013-07-31 | 2013-11-27 | 中国联合网络通信集团有限公司 | Nat穿越服务器的端口分配方法和装置 |
CN104702591B (zh) * | 2014-12-29 | 2019-06-28 | 国家电网公司 | 一种基于端口转发复用技术穿透防火墙的方法和系统 |
CN104702591A (zh) * | 2014-12-29 | 2015-06-10 | 国家电网公司 | 一种基于端口转发复用技术穿透防火墙的方法和系统 |
CN106534394A (zh) * | 2015-09-15 | 2017-03-22 | 瞻博网络公司 | 用于使用余数来实现端口映射的nat端口管理器 |
CN106534394B (zh) * | 2015-09-15 | 2020-01-07 | 瞻博网络公司 | 用于管理端口的设备、系统和方法 |
CN107547690A (zh) * | 2017-09-25 | 2018-01-05 | 新华三信息安全技术有限公司 | Nat中的端口分配方法、装置、nat设备及存储介质 |
CN107547690B (zh) * | 2017-09-25 | 2021-06-18 | 新华三信息安全技术有限公司 | Nat中的端口分配方法、装置、nat设备及存储介质 |
CN107749899A (zh) * | 2017-10-24 | 2018-03-02 | 新华三信息安全技术有限公司 | 一种报文转发方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN102594942B (zh) | 2014-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102594942B (zh) | 实现网络地址转换的方法及系统 | |
US8274980B2 (en) | Ethernet link aggregation | |
CN100471162C (zh) | 一种发布及处理虚线路信息的方法和供应商边缘设备 | |
CN1822570A (zh) | 在基于以太网的网络中进行的伪线路对等体地址的自动发现 | |
CN1745549A (zh) | 基于内容处理消息的系统 | |
CN106534394B (zh) | 用于管理端口的设备、系统和方法 | |
CN102882992B (zh) | 一种运营级网络地址转换设备释放端口的方法 | |
CN101075962A (zh) | 在二层网络交换设备中实现dhcp中继的装置及其方法 | |
CN103338161A (zh) | 一种实现跨设备聚合的方法和设备 | |
WO2011106984A1 (zh) | 移动终端并行传输数据的方法和移动终端 | |
JP6569374B2 (ja) | スイッチ装置及びスイッチ装置の制御方法 | |
CN100359827C (zh) | 利用复帧传送数据 | |
CN102546424A (zh) | 报文保序方法及装置 | |
CN100531215C (zh) | 一种多台网络设备链路聚集的实现方法 | |
CN102404193B (zh) | 生成转发表项、报文转发、地址获取的方法及边缘设备 | |
CN102246495A (zh) | 一种防止地址冲突的方法及接入节点 | |
RU2650189C1 (ru) | Способ передачи данных и устройство связи | |
CN102546364A (zh) | 网络数据分流方法及其装置 | |
CN102143250B (zh) | 非对称数字用户环线的IPv4/IPv6翻译和隧道组合通信方法 | |
CN101431478A (zh) | 端到端运营商级路由器和家庭网关组合的IPv4/IPv6分组转换方法 | |
JP2012175351A (ja) | サービス振分方法、サービス振分装置、およびプログラム | |
CN103354567B (zh) | 一种同步媒体访问控制地址的方法和设备 | |
CN102238164B (zh) | 面向ip电信网的多协议报文适配方法 | |
CN102075921B (zh) | 一种网络间通信的方法和装置 | |
CN1697445A (zh) | 一种实现虚拟私有网络中数据传输的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
PP01 | Preservation of patent right |
Effective date of registration: 20180823 Granted publication date: 20140514 |
|
PP01 | Preservation of patent right | ||
PD01 | Discharge of preservation of patent |
Date of cancellation: 20210823 Granted publication date: 20140514 |
|
PD01 | Discharge of preservation of patent | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140514 Termination date: 20190223 |
|
CF01 | Termination of patent right due to non-payment of annual fee |