CN101945140B - 地址转换设备中复用公有IPv4地址的端口的动态调整方法 - Google Patents

地址转换设备中复用公有IPv4地址的端口的动态调整方法 Download PDF

Info

Publication number
CN101945140B
CN101945140B CN 201010272624 CN201010272624A CN101945140B CN 101945140 B CN101945140 B CN 101945140B CN 201010272624 CN201010272624 CN 201010272624 CN 201010272624 A CN201010272624 A CN 201010272624A CN 101945140 B CN101945140 B CN 101945140B
Authority
CN
China
Prior art keywords
port
address
computer
execution
concurrent
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
CN 201010272624
Other languages
English (en)
Other versions
CN101945140A (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.)
Tsinghua University
Original Assignee
Tsinghua University
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 Tsinghua University filed Critical Tsinghua University
Priority to CN 201010272624 priority Critical patent/CN101945140B/zh
Publication of CN101945140A publication Critical patent/CN101945140A/zh
Application granted granted Critical
Publication of CN101945140B publication Critical patent/CN101945140B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Abstract

地址转换设备中对复用公有IPv4地址的端口的动态调整方法属于计算机网络通信技术领域,其特征在于,为复用同一个IPv4地址的多个计算机预先分配一定数量的端口,同时预留若干端口供动态调度使用。使用本方法的地址转换设备在通信过程中连续监测各个计算机的并发端口数量,当某个计算机的并发端口数量达到为该计算机预分配的端口数量时,地址转换设备动态地调度预留的传输层端口并分配给该计算机使用,当该计算机的并发端口数低于该计算机预分配的端口数量时,释放预留的传输层端口,预留为其他计算机在需要时使用。在地址转换设备上实施这种方法,就能有效地解决复用同一个IPv4地址的多个计算机通信时可能出现短时并发端口数量超出预分配并发端口数量的问题,并且能够保持预先分配端口所具有的可控、可管和安全性强的特点。

Description

地址转换设备中复用公有IPv4地址的端口的动态调整方法
技术领域
地址转换设备中复用公有IPv4地址的端口动态调整方法属于计算机互联网通信技术领域。
背景技术
互联网已经成为全世界最重要的信息基础设施,但目前互联网广泛使用的第四版网络协议IPv4的地址的寻址范围只有232,即43亿地址,根据目前IPv4地址的分配速度,预计在2011年之后,IPv4地址即将分配完毕。
目前中国网民人口的绝对数已经成为世界第一,但互联网的普及率只有28%,远低于世界发达国家的水平(70%)。同时,平均每个中国网民仅有0.6个IPv4地址。因此,对于中国来说,IPv4地址是无法满足需求的。这个问题对于印度等其它发展中国家来说,都是非常严重的。
解决上述问题目前基本上有两种技术路线,即采用下一代互联网协议标准(IPv6)和采用地址转换端口映射技术(NAPT)。由于IPv6是与IPv4不兼容的协议,全世界IPv6网络的部署进展缓慢。
目前工业界大量使用的是地址转换端口映射技术(NAPT),其基本原理是基于互联网通信的五元组概念,即“协议、原地址、原端口、目的地址、目的端口”唯一地确定一个通信的进程。端口的寻址范围为216,即65,536个。因此,如果每个计算机的通信进程只有1个,则从理论上讲1个IPv4地址通过地址转换端口映射可以同时支持6万个以上的计算机通信。在NAPT中,这个映射关系由转换设备维护。
因此,NAPT可以解决近期的IPv4地址短缺的问题,但是在NAPT中公有IPv4地址和私有IPv4地址的绑定关系是动态的,同一个公有IPv4地址在不同时刻可能分配给不同的用户使用,带来了身份认证及溯源的极大困难。根据各国不同的法律,运营商需要保存长期的动态绑定日志。
为了解决共享公有IPv4地址的用户身份认证及溯源问题,可以在地址转换设备中为每个复用同一个公有IPv4地址的计算机预先分配一定数量的端口范围。但实际运行数据表明,不同用户的计算机所使用的并发端口数量有很大的不同,即大多数的计算机使用的并发端口数量不多,但少数的计算机使用大量的并发端口。因此,预留若干传输层端口供动态调度使用。在地址转换设备上实施这种方法,就能有效地解决复用同一个IPv4地址的多个计算机通信时可能出现短时并发端口数量超出预分配并发端口数量的问题,并且能够保持预先分配端口所具有的可控、可管和安全性强的特点。
发明内容
本发明的目的是为复用同一个IPv4地址的多个计算机预先分配一定数量的传输层端口,同时预留若干传输层端口供动态调度使用,从而在保证公有IPv4复用给多个计算机使用,具有可控、可管和安全性强的特点的情况下,为可能出现短时并发端口数量超出预分配并发端口数量的问题提出解决方案。基本发明思路是:为复用同一个IPv4地址的多个计算机预先分配一定数量的传输层端口,同时预留若干传输层端口供动态调度使用。使用本方法的地址转换设备在通信过程中连续监测各个计算机的并发端口数量,当某个计算机的并发端口数量达到为该计算机预分配的端口数量时,地址转换设备动态地调度预留的传输层端口并分配给该计算机使用,当该计算机的并发端口数低于该计算机预分配的端口好数量时,释放预留的传输层端口,预留为其他计算机在需要时使用。
地址转换设备中复用公有IPv4地址的端口的动态调整方法,其特征在于,在IPv4地址转换设备中实施以下步骤:
步骤(1)初始化:
(1.7)当公有IPv4地址复用给多台计算机时,每台计算机必须使用不同的端口范围,设复用率是R,在此条件下每台计算机能够同时使用端口的数量
Figure BSA00000257015000031
(1.8)定义每台计算机能够同时使用的并发端口的集合为端口组,给定复用率R,最多有R台计算机可以使用同一个公有IPv4地址,每台计算机为一个端口组,当实际使用的计算机的编号为0,1,...,K,(K<R),则可以预留M=R-K个端口组,供动态调度使用;
(1.9)初始化可用端口组数量计数器m,使m=M;
(1.10)为每个复用的公有IPv4地址和端口组分别建立该地址和端口组的映射前后端口的映射表;
(1.11)建立对预留端口组进行动态分配的日志;
(1.12)地址转换设备不断监测复用公有IPv4地址的各台计算机正在使用的并发端口数量;
步骤(2)检查该地址转换设备收到的分组中的这些计算机的地址的位置,
如果源地址为这些计算机的分组,则执行步骤(3)-(9),如果目标地址为这些计算机的分组,则执行步骤(10)-(12),
步骤(3)地址转换设备检验每台计算机所使用的源端口组的并发端口的数量是否大于n,如大于n,执行步骤(4),如小于n,执行步骤(5);
步骤(4)地址转换设备检验每台计算机所使用的源端口组的并发端口的数量是否大于2n,如大于2n,执行步骤(9);如小于2n,执行步骤(5);
步骤(5)地址转换设备检查预留的M组端口是否已经分配完毕,如分配完毕,执行步骤(9);如尚未分配完毕,执行步骤(6);
步骤(6)对于并发进程的数量大于n的计算机动态分配另一个端口组,供这个计算机使用;可用端口组计数器m=m-1,记录动态分配端口组日志;
步骤(7)检查该计算机是否有动态分配端口组,如有,则释放动态增加的端口组;可用端口组计数器m=m+1,记录动态分配端口组日志,执行步骤(8);如没有动态分配的端口组,则执行步骤(8);
步骤(8)地址转换设备检查该地址和端口组的端口映射表,如存在,根据该映射表进行地址转换并转发该分组;如不存在,则建立端口映射表,进行地址转换并转发该分组;执行步骤(11);
步骤(9)地址转换设备丢弃相关分组,执行步骤(11);
步骤(10)根据该地址和端口组对应的预留的和动态分配的端口映射表,进行地址转换并将该分组路由到多台计算机中的对应台;
步骤(11)检查端口映射表中的各个端口映射关系是否已经超时,如超时,则取消该端口的端口映射关系,执行步骤(12);如未超时,执行步骤(12);步骤(12)返回步骤(2)。
附图说明
图1:复用公有IPv4地址的地址转换设备的端口动态调整方法流程图
具体实施方式
现举例说明按照以上方法:如公有IPv4地址为202.38.1.2,复用比为256,利用余数法分配端口,则每台计算机能够并发使用256个端口。余数表示方法为:根据公式x=P%R,如R=256,则序号为8的计算机所能够使用的端口范围为n×256+x,即x,256+x,512+x,……,其中n的取值范围为0-255(65,536/256=256),x的取值范围为0-256。
设预留56组端口动态分配,则该公有IPv4地址可以支持200台预先分配端口的计算机使用。如下所示:
第0台:0 256 512 768 1024 1280 1536 1792 2048 2304 2560...
第1台:1 257 513 769 1025 1281 1537 1793 2049 2305 2561 2817...
第2台:2 258 514 770 1026 1282 1538 1794 2050 2306 2562 2818...
第199台:199 455 711 967 1223 1479 1735 1991 2247 2503...
在这种情况下,下述的端口组供动态分配使用:
第200台:200 456 712 968 1224 1480 1736 1992 2248 2504 2760 3016 32723528...
第201台:201 457 713 969 1225 1481 1737 1993 2249 2505 2761 3017 32733529...
第255台:255 511 767 1023 1279 1535 1791 2047 2303 2559 2815 3071 33273583...
下面分别考虑下述情况:
(1)如在通信的过程中,第1台计算机所使用的并发端口数超过256,且预留的端口组尚未分配,则本发明的算法动态分配第200台的端口组给第1台计算机使用,此时,第一台计算机所能使用的端口范围变成:1 257 513 769 1025 1281 1537 1793 2049 2305 2561 2817...和200 456 712 9681224 1480 1736 1992 2248 2504 2760 3016 3272 3528...,共512个。同时系统记录在此时段,200 456 712 968 1224 1480 1736 1992 2248 2504 2760 30163272 3528...范围的端口是第1台计算机使用的。
(2)如在通信的过程中,第1台计算机所使用的并发端口数变小至256,则本发明的算法动态取消分配给第1台计算机使用的第200台的端口组,此时,第一台计算机所能使用的端口范围变成:
1 257 513 769 1025 1281 1537 1793 2049 2305 2561 2817...。同时系统记录作相应注明。
(3)如其它计算机发生所使用的并发端口数超过256时,第200台的端口组也可以分配给该计算机使用。
根据实际数据,不同用户的计算机所使用的并发端口数量有很大的不同,即大多数的计算机使用的并发端口数量不多,但少数的计算机使用大量的并发端口。因此,预留若干传输层端口供动态调度使用。在地址转换设备上实施这种方法,就能有效地解决复用同一个IPv4地址的多个计算机通信时可能出现短时并发端口数量超出预分配并发端口数量的问题,并且能够保持预先分配端口所具有的可控、可管和安全性强的特点。

Claims (1)

1.地址转换设备中复用公有IPv4地址的端口的动态调整方法,其特征在于,在IPv4地址转换设备中实施以下步骤:
步骤(1)初始化:
(1.1)当公有IPv4地址复用给多台计算机时,每台计算机必须使用不同的端口范围,设复用率是R,在此条件下每台计算机能够同时使用端口的数量 n = 65536 R ;
(1.2)定义每台计算机能够同时使用的并发端口的集合为端口组,给定复用率R,最多有R台计算机可以使用同一个公有IPv4地址,每台计算机为一个端口组,其中,当实际使用的计算机的编号为0,1,...,K,K<R,则可以预留M=R-K个端口组,供动态调度使用;
(1.3)初始化可用端口组数量计数器m,使m=M;
(1.4)为每个复用的公有IPv4地址和端口组分别建立该地址和端口组的映射前后端口的映射表;
(1.5)建立对预留端口组进行动态分配的日志;
(1.6)地址转换设备不断监测复用公有IPv4地址的各台计算机正在使用的并发端口数量;
步骤(2)检查该地址转换设备收到的分组中的这些计算机的地址的位置,如果源地址为这些计算机的分组,则执行步骤(3)-(9),如果目标地址为这些计算机的分组,则执行步骤(10)-(12),
步骤(3)地址转换设备检验每台计算机所使用的源端口组的并发端口的数量是否大于n,如大于n,执行步骤(4),如小于n,执行步骤(5);
步骤(4)地址转换设备检验每台计算机所使用的源端口组的并发端口的数量是否大于2n,如大于2n,执行步骤(9);如小于2n,执行步骤(5);
步骤(5)地址转换设备检查预留的M组端口是否已经分配完毕,如分配完毕,执行步骤(9);如尚未分配完毕,执行步骤(6);
步骤(6)对于并发进程的数量大于n的计算机动态分配另一个端口组,供这个计算机使用;可用端口组计数器m=m-1,记录动态分配端口组日志;
步骤(7)检查该计算机是否有动态分配端口组,如有,则释放动态增加的端口组;可用端口组计数器m=m+1,记录动态分配端口组日志,执行步骤(8);如没有动态分配的端口组,则执行步骤(8);
步骤(8)地址转换设备检查该地址和端口组的端口映射表,如存在,根据该映射表进行地址转换并转发该分组;如不存在,则建立端口映射表,进行地址转换并转发该分组;执行步骤(11);
步骤(9)地址转换设备丢弃相关分组,执行步骤(11);
步骤(10)根据该地址和端口组对应的预留的和动态分配的端口映射表,进行地址转换并将该分组路由到多台计算机中的对应台;
步骤(11)检查端口映射表中的各个端口映射关系是否已经超时,如超时,则取消该端口的端口映射关系,执行步骤(12);如未超时,执行步骤(12);步骤(12)返回步骤(2)。
CN 201010272624 2010-09-03 2010-09-03 地址转换设备中复用公有IPv4地址的端口的动态调整方法 Active CN101945140B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010272624 CN101945140B (zh) 2010-09-03 2010-09-03 地址转换设备中复用公有IPv4地址的端口的动态调整方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010272624 CN101945140B (zh) 2010-09-03 2010-09-03 地址转换设备中复用公有IPv4地址的端口的动态调整方法

Publications (2)

Publication Number Publication Date
CN101945140A CN101945140A (zh) 2011-01-12
CN101945140B true CN101945140B (zh) 2013-04-03

Family

ID=43436908

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010272624 Active CN101945140B (zh) 2010-09-03 2010-09-03 地址转换设备中复用公有IPv4地址的端口的动态调整方法

Country Status (1)

Country Link
CN (1) CN101945140B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102377833B (zh) 2010-08-19 2015-07-22 华为技术有限公司 一种网络地址转换的管理方法及装置
CN103024089B (zh) * 2011-09-20 2016-02-17 中国电信股份有限公司 网络地址转换方法和设备
CN102882992B (zh) * 2012-10-12 2015-02-18 江苏省邮电规划设计院有限责任公司 一种运营级网络地址转换设备释放端口的方法
CN103780712B (zh) * 2012-10-25 2017-10-24 中国电信股份有限公司 一种地址转换设备分配端口的方法和地址转换设备
CN104702710B (zh) * 2013-12-09 2019-02-26 中国联合网络通信集团有限公司 端口分配方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1933477A (zh) * 2005-09-13 2007-03-21 华为技术有限公司 一种IPv6节点访问IPv4节点的方法
US7246175B1 (en) * 2001-12-07 2007-07-17 Cisco Technology, Inc. IPv6 over MPLS IPv4 core
CN101087296A (zh) * 2006-06-08 2007-12-12 上海亿人通信终端有限公司 利用网络处理器实现IPv4/IPv6网络协议转换的方法
CN101197858A (zh) * 2008-01-07 2008-06-11 杭州华三通信技术有限公司 地址转换方法、装置及具有该装置的路由器

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7246175B1 (en) * 2001-12-07 2007-07-17 Cisco Technology, Inc. IPv6 over MPLS IPv4 core
CN1933477A (zh) * 2005-09-13 2007-03-21 华为技术有限公司 一种IPv6节点访问IPv4节点的方法
CN101087296A (zh) * 2006-06-08 2007-12-12 上海亿人通信终端有限公司 利用网络处理器实现IPv4/IPv6网络协议转换的方法
CN101197858A (zh) * 2008-01-07 2008-06-11 杭州华三通信技术有限公司 地址转换方法、装置及具有该装置的路由器

Also Published As

Publication number Publication date
CN101945140A (zh) 2011-01-12

Similar Documents

Publication Publication Date Title
CN101945140B (zh) 地址转换设备中复用公有IPv4地址的端口的动态调整方法
MX2012007195A (es) Metodo y aparato para asegurar el acceso en un sistema de comunicacion para una pluralidad de grupos.
WO2012005992A3 (en) Allocating bundles of sessions in a network element
CN101262506B (zh) 分布式架构下的网络地址转换端口资源分配方法及系统
WO2010054394A3 (en) Dynamic resource allocation in a satellite communications system
SG165340A1 (en) Transmission device
EP1942618A3 (en) Distributed determination of dynamic frame sizes in a network
WO2008054157A3 (en) Method for allocating resource, and method for transmitting resource allocation information
EP2633333A4 (en) SYSTEM AND METHOD FOR RESOURCE MANAGEMENT IN A COMMUNICATIONS SYSTEM
WO2008008883A3 (en) Method for allocating shared computing infrastructure for application server-based deployments
EP1993231A4 (en) ALLOCATION METHOD, SYSTEM AND DEVICE FOR NETWORK OPERATING DEVICES IN A COMMUNICATION NETWORK
EP1850496A3 (en) Wireless communication system, pilot sequence allocation apparatus, pilot sequence allocating method used for the system and apparatus, and mobile station used in the method
WO2009055717A8 (en) Various methods and apparatuses for a central station to allocate virtual ip addresses
CN103780712B (zh) 一种地址转换设备分配端口的方法和地址转换设备
NO20084395L (no) Ressurstildelinger for a stotte en-brukers og fler-brukers MIMO-overforinger
EP1863215A3 (en) Method and apparatus for allocating frequency resources in a wireless communication system supporting frequency division multiplexing
JP2011510523A5 (zh)
AU2002315983A1 (en) Apparatus and method for resource allocation
WO2008081313A3 (en) Resource restricted allocation in long-term evolution
WO2007000735A3 (en) Method and apparatus using multiple application cards to comprise multiple logical network entities
CN101335770A (zh) 一种网络地址端口转换方法和装置
CN102387222A (zh) 地址分配方法、装置及系统
WO2008027455A3 (en) Orchestration manager
CN102594942A (zh) 实现网络地址转换的方法及系统
CN105491171A (zh) 网络地址转换nat资源的分配方法及装置

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