摘  要在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. rsync使用指南

    考虑到服务器数据的安全,我考虑增加一台备份服务器,通过数据同步,达到较好的冗余. linux下有非常好的一个命令rsync可以实现差异备份,下面就说说它的用法:ubuntu缺省安装的安装中,rsync ...

  2. PHP+lghttpd + postgresql 环境搭建

    PHP+lghttpd + postgresql 环境搭建 Linux 下PHP环境搭建 安装环境:PHP+lghttpd + postgresql 1:yum install lighttpd 红旗 ...

  3. 用Python对体积较大的CSV文件进行比较的经验

    用Python对体积较大的CSV文件进行比较的经验 » 进化的测试 | 进化的测试 用Python对体积较大的CSV文件进行比较的经验  python  Add comments 八 032010   ...

  4. 关于window.history.back()后退问题

    Windows下的window.history.back()后退后返回的不仅仅是前一个页而是前一个页的状态.假设一个页我改动了3次那必须后退3次才干回到前一个页.并且数据库中删除的数据依旧显示在上面感 ...

  5. IE与FF脚本兼容性问题

    (1) window.event: 表示当前的事件对象,IE有这个对象,FF没有,FF通过给事件处理函数传递事件对象 (2) 获取事件源 IE用srcElement获取事件源,而FF用target获取 ...

  6. WOJ 1055

    #include<stdio.h> #include<stdlib.h> #include<string.h> int main() { char s[6]={0} ...

  7. Oracle GoldenGate for Oracle 11g to PostgreSQL 9.2.4 Configuration

    Installing and setting up Oracle GoldenGate connecting to an Oracle database Also please make sure t ...

  8. Tutorial: 结合使用AngularJS和Django

    好吧,我承认自己很懒,时间又不够用. 翻译的几个文章都是虎头蛇尾,但我保证这次肯定不太监. 关键的单词不翻译,实在觉得翻译成汉语很别扭,括号里是参考翻译. 有问题和建议尽管提出来,我会改进完善. Tu ...

  9. c++ 如何获取系统时间 - zjnig711的信息仓库 - 博客频道 - CSDN.NET

    c++ 如何获取系统时间 - zjnig711的信息仓库 - 博客频道 - CSDN.NET c++ 如何获取系统时间 分类: C/C++ 2008-05-08 22:15 14115人阅读 评论(5 ...

  10. Android开发之使用URL訪问网络资源

    Android开发之使用URL訪问网络资源 URL (UniformResource Locator)对象代表统一资源定位器,它是指向互联网"资源"的指针. 资源能够是简单的文件或 ...