摘  要在IP地址紧缺的背景下,IPv6、NAPT、SuIP几种解决方案应运而生。分析、比较几种方案后,可知SuIP是最佳方案。

关键词:IPv6;NAPT;SuIP;IP地址空间扩展

The Investigation About Several Solutions To Expand The IP Address Space

Zhongxing Song

(Computer Science And Technology Academy Of Henan University, Kaifeng, 475004, China)

Abstract: In the background of the lacking of IP address space, several solution emerged, such as IPv6, NAPT, and SuIP. After the analysis of the solutions, SuIP is the best.

Key words: IPv6; NAPT; SuIP; Expand the IP address space

美国时间2011年2月3日,国际互联网名称和编号分配公司(英文简写:ICANN)宣布IPv4地址分配完毕。至2013年3月25日,中国大陆IPv4 地址数量约为3.30亿个,而今年三大运营商的IPv4地址将要告罄,与之相对应的一组数字是:截至2012年12月底,我国网民规模达5.64亿,全年共计新增网民5090万人。因此,IP地址紧缺问题也就成为我国乃至世界网络发展的一个瓶颈。目前针对这个问题,主要有IPv6、NAPT、SuIP三种可行的解决方案。下面将就这三种方案分析其各自优缺点。

 

1 IPv6

这种解决方案很易懂,即将IP位数又32位增加至128位,这样据说地球上每粒沙子都能分到一个IP。但这样带来问题也是显而易见的:

1)IP地址将会变的太过廉价,非法网站可能会掌握一大批IP,利用经常更换IP来逃避监管,这给网络监管带来极大困难。

2)网络边缘的设备可能会由于缺少动力,而不会统一行动。

3)IPv6需要网络上所有的节点都支持此协议,操作系统、软件等也需要更换。更严重的是大量的设备要更新硬件,这将造成成本的急剧提高。

这样看来IPv6的推广是有很大的难度的。

2 NAPT(Network Address and Port Translator)

NAPT首先用专用IP组建起来局域网,然后通过一个拥有一个或若干个全球IP的路由器,实现局域网内主机与互联网上主机的交互。如图1所示的拓扑结构中,主机1由30000端口向主机2的80端口发送请求时,路由器将源IP和端口修改为172.32.0.1:60000,并留下如表1的一条记录;当主机2向路由器60000端口发送报文时,路由器便会查找记录,发现记录中60000端口对应的网路主机IP和端口和发来的报文匹配上了,于是将目的IP和端口修改为172.20.0.1:30000并转发,若匹配失败,就丢弃报文。

这种方式可以极大扩展IP空间,目前我们常用的手机上网、WiFi、以及网通和电信提供的服务,此外还有教育网、大量的企业网也都采用这种方式来应对IP地址紧缺的情况。NAPT的缺点在于它的访问方式是单向的,也就是互联网上的其它主机不能主动访问私有网络里的主机,使得因特网中主机端到端的访问受到极大限制。虽然我们可以用端口来标识专用网中的IP,但这样就将使IP协议复杂化。

图1 NAPT拓扑示意图

表1 NAPT地址转换表

路由端口

局域网内主机IP端口

网络主机IP端口

60000

172.20.0.1:30000

172.33.0.1:80

3 SuIP

SuIP是由汪涛发明,其思想是基于NAPT,给每个使用专用地址的网络编号,就可实现从互联网上的主机主动向使用专用地址的主机发送数据。而其编号可以使用连接私有网络与互联网的路由器的全球IP,这样私有网络里的一个主机IP便可这样表示173.32.0.1.172.20.0.1。报文在互联网上传播时,在穿越了图1中路由器后只需将目的地址173.32.0.1替换为172.20.0.1,而其本身与IPv4所用的协议并无太大差别,所以升级只需将原来担任NAPT网关的路由器软件升级一下即可,成本极小。另外,SuIP可支持多层,所以其可以扩展的到的IP数量也极为可观。

4 结论

通过以上分析可知,在IPv6,、NAPT、SuIP三种扩展IP地址空间的解决方案中,SuIP是最佳方案。

参考文献:

[1]  谢希仁.计算机网络[M].第五版.北京市:电子工业出版社,2009.

[2]  汪涛.超级IP协议横空出世,IPv6进程面临彻底终止.[EB/OL]. http://unsnet.blog.163.com/blog/static/64284222200811104359780/,2008-02-01/2013-06-01.

[3]  李刚.IPv4和IPv6、IPv9研究的现状与分析.[EB/OL]. http://www.doc88.com/p-07339294725.html,未知/2013-06-01.

关于扩展IP地址空间的几个方案的探讨的更多相关文章

  1. PHP 扩展 trie-tree, swoole过滤敏感词方案

    在一些app,web中评论以及一些文章会看到一些*等,除了特定的不显示外,我们会把用户输入的一些敏感字符做处理,具体显示为*还是其他字符按照业务区实现. 下面简单介绍下业务处理. 原文地址:小时刻个人 ...

  2. 访问控制技术- 扩展IP访问列表

    1.设置pc IP 网关 192.168.1.1 192.168.1.254 192.168.1.2 192.169.1.254 192.168.3.1 192.168.3.254 192.168.3 ...

  3. EasyNVR摄像机网页直播中,推流组件EasyRTMP推送RTMP扩展支持HEVC(H.265)的方案

    众所周知,RTMP标准协议实际是不支持HEVC(H.265)编码格式的,同样,现行的H5标准里面,也没有对H.265的描述,所以,在很大程度上,H5网页浏览器是无法接入HEVC(H.265)的,但是, ...

  4. 空间搜索(圆范围)中Geohash编码方案和网格编码方案对比探讨

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 多个项目中实现范围(圆)搜索的方案为:依赖库表中的X和Y字段构 ...

  5. 七种方案!探讨Redis分布式锁的正确使用姿势

    前言 日常开发中,秒杀下单.抢红包等等业务场景,都需要用到分布式锁.而Redis非常适合作为分布式锁使用.本文将分七个方案展开,跟大家探讨Redis分布式锁的正确使用方式.如果有不正确的地方,欢迎大家 ...

  6. 彻底理解Cisco/Linux/Windows的IP路由

    -1.只要理解实质,名称并不重要! 很多使用Linux的网络高手在面对Cisco管理员的诸如管理距离,路由度量等词汇时,还没有PK就自觉败下阵来了.我觉得这实在太可惜了,大家本是一家,为何这么为难对方 ...

  7. IP地址 A\B\C类

    互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),缩写为IP地址(IP Address),在Internet上,一种给主机编址的方式.常见的IP地址,分为 ...

  8. 八 ip和子网详解

    IP和子网掩码我们都知道,IP是由四段数字组成,在此,我们先来了解一下3类常用的IP A类IP段 0.0.0.0 到127.255.255.255  B类IP段 128.0.0.0 到191.255. ...

  9. Windows 之 IP地址

    IP地址是指互联网协议地址(Internet Protocol Address,又译为网际协议地址),是IP Address的缩写.IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络 ...

随机推荐

  1. Delphi 中TWebBrowser的扩展控件TExWebBrowser

    主要扩展了3D界面.右键菜单.是否显示图片.是否支持JAVA等功能. 代码如下: unit ExtWebBrowser; interface uses Windows, SysUtils, Class ...

  2. 与众不同 windows phone (32) - Communication(通信)之任意源组播 ASM(Any Source Multicast)

    原文:与众不同 windows phone (32) - Communication(通信)之任意源组播 ASM(Any Source Multicast) [索引页][源码下载] 与众不同 wind ...

  3. hdu4055 Number String

    Number String Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tota ...

  4. 后缀数组--可重叠的K次最长重复子串(POJ3261)

    题目:Milk Patterns #include <stdio.h> #include <string.h> #define N 1000010 int wa[N],wb[N ...

  5. 在浏览器中通过bartender,调用条码打印机的active控件代码的实现

    系统中须要在浏览器,直接调用条码打印机,打印出产品条码. 现实中的条码打印机,品种繁多,非常难在一个程序中实现, 于是我们用已经支持全部条码打印机的bartender软件 调用它的api ,来实如今浏 ...

  6. 使用HashMap须要注意的事儿:不要暴露Map.entry给外部不可信代码Map.entrySet()

    Map/HashMap是java中一种非经常常使用的数据结构,一般我们在应用中做的事情就是调用put向容器写入数据或者是get从容器读取数据. Map.entrySet()这种方法返回了键值对的集合, ...

  7. Defender Game 游戏实践(1) 基本游戏场景实现

    在网上看到 郑州|boy 这个博客,里面有几篇文章,记录了其用cocos2d-x这个游戏引擎编写的一个游戏,十分不错,所以这段时间,依样画葫芦,依次学习一下. 由于博主开发的平台是在win32,而且屏 ...

  8. EF中的事务处理的初步理解

    http://yanwushu.byethost7.com/?p=87 1. EF对事务进行了封装:context的saveChange()是有事务性的. 2. 依赖多个不同的Context的操作(即 ...

  9. VSTO学习笔记(二)Excel对象模型

    原文:VSTO学习笔记(二)Excel对象模型 上一次主要学习了VSTO的发展历史及其历代版本的新特性,概述了VSTO对开发人员的帮助和效率提升.从这次开始,将从VSTO 4.0开始,逐一探讨VSTO ...

  10. [置顶] 一步一步学android之事件篇——下拉列表事件

    上一篇RadioGroup比较简单,所以再学习个spinner的OnItemSelectedListener事件,前面说过spinner的主要功能就是提供列表显示的选择,比如我们在选择城市的时候就会用 ...