2019年11月25日,负责英国、欧洲、中东和部分中亚地区互联网资源分配的欧洲网络协调中心(RIPE NCC)宣布,其最后的 IPv4 地址空间储备池在 11 月 25 日 UTC + 1 15:35 完全耗尽,所有 43 亿个 IPv4 地址已分配完毕。


其实,早在20世纪80年代后期开始,全球已经开始意识到这个问题将会发生。IPv6 的研发及布署,主要就是为了解决这个问题。

什么是 IPv4?

IPv4 是 Internet Protocol version 4 的缩写,中文翻译为互联网通信协议(TCP/IP 协议)第四版,通常简称为网际协议版本 4。


IPv4 使用32位(4字节)地址,因此地址空间中只有 4,294,967,296(2^32) 个地址。

IPv4 地址可被写作任何表示一个 32 位整数值的形式,但为了方便人类阅读和分析,它通常被写作点分十进制的形式,即四个字节被分开用十进制写出,中间用点分隔。

所以,通常 IPv4 地址的地址格式为 nnn.nnn.nnn.nnn,如:

192.168.1.255

因为在点分十进制的表达形式下,共有4个字节的 IP 地址被分位四段,每一段就有一个字节,而一个字节有 8 位,那么,8 位能表示的数字范围是 0 - 255。


所以,一个 IPv4 的地址,格式为 nnn.nnn.nnn.nnn,其中 0<=nnn<=255,而每个 n 都是十进制数。可省略前导零。

IPv4 报文格式

我们知道,在 TCP/IP 五层协议模型中,一次网络请求要先后经过应用层->传输层->网络层->数据链路层->物理层。

而在请求过程中,一个请求数据也会从应用层到物理层经过层层包装,每一层把上一层的数据报文包装后加上一层头部信息之后再传给下一层。


所以,IPv4 作为网络层协议,在其报文结构中,同样包含了 IP 首部和数据部分。


其中,IPv4 的首部长度是可变的,范围在 20-60 字节之间。

首部

IPv4 报文的首部包含 14 个字段,其中 13 个是必须的,1 个是可选的。


上图是一张 IPv4 报文的首部格式,可以看到,IPv4 首部中包含的内容还是很多的,比如版本号,首部长度,标识符,分片偏移,存活时间,协议等。

由于这部分不是本文的重点,这里就不对报文头展开详细介绍了,读者可以参照上图自行学习下。

数据

报文中,除了首部以外,还有一个最重要的部分那就是数据部分,数据字段不是首部的一部分,因此并不被包含在首部检验和中。

前面说过,网络层会把传输层的报文封装成数据,并添加上首部之后传递给链路层。

所以,IPv4 的报文中数据部分就是传输层的协议报文内容,如 TCP、UDP 等。

为什么 IPv4 会枯竭?

IP 地址的全球性管理机构为互联网号码分配局(IANA),其下有五个局域网际网络注册管理机构(RIR)。

在理论上,IPv4 最多可以提供 2^32 (约 42.9 亿)个 IP 地址。不过,一些地址是为特殊用途所保留的,如约 1800 万个专用网络和约 2.7 亿个多播地址,同样减少了可在互联网上路由的地址数量。

随着地址不断被分配给终端用户,IPv4 地址枯竭问题也在随之产生。

中国是世界上互联网用户数量最多的国家,但人均只有 0.45 个 IPv4 地址。在 IPv4 的环境下,我国用户上网地址需要动态分配,人与地址没有固定的对应关系,用户溯源难,带来互联网安全和监管隐患。

所以,为了解决这个问题,IPv6 诞生了。

什么是 IPv6?

IPv6 是 Internet Protocol version 6 的缩写,中文翻译为互联网通信协议(TCP/IP协议)第 6 版,通常简称为网际协议版 6。IPv6 具有比 IPv4 大得多的编码地址空间,用它来取代 IPv4 主要是为了解决 IPv4 地址枯竭问题,同时它也在其他方面对于 IPv4 有许多改进。


IPv6 具有比 IPv4 大得多的编码地址空间。这是因为 IPv6 采用 128 位的地址,而 IPv4 使用的是 32 位。因此新增的地址空间支持 2^128 个地址,具体数量为 340,282,366,920,938,463,463,374,607,431,768,211,456 个(不知道有没有人能把这个数读出来?)

有人说 IPv6 的地址数可能比全世界的沙子还要多,足以解决目前 IPv4 地址量不足的问题。

IPv6 二进位制下为 128 位长度,以 16 位为一组,每组以冒号“:”隔开,可以分为 8 组。


IPv6 文本格式为 xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx,其中每个 x 都是十六进制数,表示 4 位。例如:

2001:0db8:86a3:08d3:1319:8a2e:0370:7344

IPv6 的报文格式

和 IPv4 一样,IPv6 的报文中同样包含首部和数据部分。


和 IPv4 不同的是,IPv6 报文的首部是 40 个字节的固定长度。

下图是 IPv6 报文的首部的结构,IPv6 定义了一种新的分组格式,目的是为了最小化路由器处理的消息标头。


从图中可以看出,和 IPv4 相比,IPv6 的头部内容少了很多。

同样是网络层协议,IPv6 和 IPv4 一样,都封装了传输层的报文内容作为自己的数据。这一点是没有任何差异的,所以我们可以说,在报文上,IPv6 和 IPv4 的主要区别是报文头的区别。

IPv4 VS IPv6

介绍完了 IPv4 和 IPv6,我们再来整体看下这两种协议之间的区别。


地址

  • IPv4 长度为 32 位(4 个字节)。

    • IPv4 地址的文本格式为 nnn.nnn.nnn.nnn,其中 0<=nnn<=255,而每个 n 都是十进制数。可省略前导零。最大打印字符数为 15 个,不计掩码。

  • IPv6 长度为 128 位(16 个字节)。

    • IPv6 地址的文本格式为 xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx,其中每个 x 都是十六进制数,表示 4 位。可省略前导零。可在地址的文本格式中使用一次双冒号(::),用于指定任意数目的 0 位。例如,::ffff:10.120.78.40 表示 IPv4 映射的 IPv6 地址。

地址解析协议

  • IPv4 使用 ARP 来查找与 IPv4 地址相关联的物理地址(如 MAC 或链路地址)。

  • IPv6 使用因特网控制报文协议版本 6(ICMPv6) 将这些功能嵌入到 IP 自身作为无状态自动配置和邻节点发现算法的一部分。因此,不存在类似于 ARP6 之类的东西。

IP 报头

  • IPv4 根据提供的 IP 选项,有 20-60 个字节的可变长度。

  • IPv6 的报文头是 40 个字节的固定长度。 没有 IP 报头选项。

  • 通常,IPv6 报头比 IPv4 报头简单。


安全性

  • IPv6 預設有 IPSec,來提升安全性。

  • 相較之下,IPv4 的 IPSec 則需要額外開啟。

地址类型

  • IPv4 地址分为三种基本类型:单点广播地址、多点广播地址和广播地址。

  • IPv6 地址分为三种基本类型:单点广播地址、多点广播地址和任意广播地址。有关描述,请参阅 IPv6 地址类型。

专用地址和公用地址

  • IPv4 除由 IETF RFC 1918 指定为专用的三个地址范围 10…

  • (10/8)、172.16.0.0 至 172.31.255.255 (172.16/12) 和 192.168.. (192.168/16) 之外,所有 IPv4 地址都是公用的。专用地址域通常在组织内部使用。专用地址不能通过因特网路由。

  • IPv6 有类似的概念,但还有重要差别。地址是公用或临时的,先前称为匿名地址。请参阅 RFC 3041。与 IPv4 专用地址不同,临时地址可进行全局路由。

  • 动机也不一样:IPv6 临时地址要在它开始通信时屏蔽其客户机的身份(涉及隐私)。临时地址的生存期有限,且不包含是链路(MAC)地址的接口标识。它们通常与公用地址没有区别。

相比 IPv4,IPv6 主要有以下几个方面的优点

  1. 更大的地址空间。IPv4 中规定IP地址长度为 32,即有 2^32 -1 个地址。而 IPv6 中 IP 地址的长度为 128,即有 2^128 -1 个地址。

  2. 更小的路由表。 IPv6 的地址分配遵循聚类原则,这使得路由器能在路由表中用一条记录表示一片子网,大大减少了路由器中路由表的长度,提高了路由器转发数据包的速度。

  3. 增强的组播支持以及对流的支持。 这使得网络上的多媒体应用有了长足发展的机会,为服务质量控制提供了良好的网络平台,加入了对自动配置的支持。 这是对 DHCP 的改进和扩展,使得网络的管理更加方便和快捷。

  4. 更高的安全性。 在使用 ipv6 的网络中用户可以对网络层的数据进行加密并对 IP 报文进行校验,这极大地增强了网络安全。

有人做了一个形象的总结,那就是『多快好省』!


IPv4 向 IPv6 的转换

一方面因为 IPv4 的枯竭,另一方面也因为 IPv6 的"多快好省",越来越多的企业开始选择使用 IPv6。


那么,想要把 IPv4 网络转换到 IPv6 网络,需要做什么呢?

首先,可以明确的事, IPv6 并不是 IPv4 协议的的升级,而是一个全新的协议,二者之间是无法互相兼容的。

为了保障 IPv4 向 IPv6 的顺利演进,国际互联网工程任务组(IETF)成立专门工作组进行研究,形成了三类技术方案:双栈技术、隧道技术、协议转换技术(NAT-PT)。

双栈技术

IPv4 和 IPv6 有功能相近的网络层协议,都是基于相同的硬件平台,同一个主机同时运行 IPv4 和 IPv6 两套协议栈,具有 IPv4/IPv6 双协议栈的结点称为双栈节点,这些结点既可以收发 IPv4 报文,也可以收发 IPv6 报文。它们可以使用 IPv4 与 IPv4 结点互通,也可以直接使用 IPv6 与 IPv6 结点互通。双栈节点同时包含 IPv4 和 IPv6 的网络层,但传输层协议(如 TCP 和 UDP)的使用仍然是单一的。


 图源: https://inews.gtimg.com/newsapp_bt/0/10497932033/1000

双栈技术的优点:

  • 处理效率高、无信息丢失。

  • 互通性好、网络规划简。

  • 充分发挥 IPv6 协议的所有优点,更小的路由表、更高的安全性等。

  • 资源占用多,运维复杂。

双栈技术的缺点:

  • 无法实现 IPv4 和 IPv6 互通。

  • 对网络设备要求较高,内部网络改造牵扯比较大,周期性相比较较长。

隧道技术

隧道技术指将另外一个协议数据包的报头直接封装在原数据包报头前,从而可以实现在不同协议的网络上直接进行传输,这种机制用来在 IPv4 网络之上连接 IPv6 的站点,站点可以是一台主机,也可以是多个主机。隧道技术将 IPv6 的分组封装到 IPv4 的分组中,或者把 IPv4 的分组封装到 IPv6 的分组中,封装后的 IPv4 分组将通过 IPv4 的路由体系传输或者 IPv6 的分组进行传输。


 图源: https://inews.gtimg.com/newsapp_bt/0/10497932035/1000

隧道技术的优点:

  • 无信息丢失。

  • 网络运维相比较简单。

  • 容易实现,只要在隧道的入口和出口进行修改。

隧道技术的缺点:

  • 隧道需要进行封装解封装,转发效率低。

  • 无法实现 IPv4 和 IPv6 互通。

  • 无法解决 IPv4 短缺问题。

  • NAT 兼容性不好。

协议转换技术

协议转换技(NAT-PT)附带协议转换器的网络地址转换器。是一种纯 IPv6 节点和 IPv4 节点间的互通方式,所有包括地址、协议在内的转换工作都由网络设备来完成。NAT-PT 包括静态和动态两种,两者都提供一对一的 IPv6 地址和 IPv4 地址的映射,只不过动态 NAT-PT 需要一个 IPv4 的地址池进行动态的地址转换。


 图源: https://inews.gtimg.com/newsapp_bt/0/10497932041/1000

NAT-PT 技术的优点:

  • 不需要进行 IPv4、IPv6 节点的升级改造。

NAT-PT 技术的缺点:

  • IPv4 节点访问 IPv6 节点的实现方法比较复杂,网络设备进行协议转换、地址转换的处理开销较大一般在其他互通方式无法使用的情况下使用。

双栈技术、隧道技术、协议转换技术在 IPv4 向 IPv6 过渡期间互相配合、协同工作,解决了过渡期间的 IPv4 与 IPv6 的共存和互通问题,保障了 IPv4 向 IPv6 的平滑演进。

有了以上的切换方法、切换原则和技术保障,以及顺应互联网的发展趋势,国家正积极推动IPv6的部署。

中国互联网信息中心(CNNIC)的第44次《中国互联网络发展状况统计报告》指出,截止2019年6月,我们国家的 IPv6 地址数量为 50286 块/32,已跃居全球第一位;IPv6 活跃用户数达1.3亿,大概占我国互联网用户的 15%。

IPv6 对中国的影响

中国比发达国家晚接入互联网20年,是互联网行业的后来者,虽然在互联网产品和互联网应用上是大国,但我们的操作系统还是国外的,我们在核心技术上仍有差距,想要在 IPv4 环境下进行技术创新,中国几乎没有什么机会了。

但是在 IPv6 上,我们跟发达国家起步差不多,我们是有机会的。

在 IPv4 时代,中国是没有根服务器的,新增几乎不可能。但是,由中国下一代互联网国家工程中心牵头发起的“雪人计划”已在全球完成 25 台 IPv6 根服务器架设,其中在中国境内就部署了其中的 4 台,打破了中国过去没有根服务器的困境。

另外,国际互联网有八千多个标准,在 IPv4 时代,中国只提了中文编码标准。但目前中国就 IPv6 提出了一百多个标准,可以说 IPv6 为中国互联网发展打开了一个新的创新空间。

所以,伴随着 IPv4 的枯竭,IPv6 的大量投入使用,中国在国际互联网的地位一定会变得愈加重要!

参考资料:

https://www.hollischuang.com/archives/1889

https://new.qq.com/rain/a/20191013A081LI https://www.upyun.com/tech/article/411/%E4%B8%80%E6%96%87%E8%AF%BB%E6%87%82%20IPv4%20%E5%88%B0%20IPv6%20%E7%9A%84%E8%BF%87%E6%B8%A1%E6%8A%80%E6%9C%AF.html

关于作者 漫话编程,是一个通过漫画+音频的形式讲解枯燥的编程知识的公众号。 致力于让编程变得更有乐趣。


喜欢我可以给我设为星标哦

好文章,我 在看

本文分享自微信公众号 - 生信科技爱好者(bioitee)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“ OSC源创计划 ”,欢迎正在阅读的你也加入,一起分享。

漫话:全球 IPv4 地址正式耗尽?是时候说说到底什么是IPv4和IPv6了!相关推荐

  1. 全球 43 亿个 IPv4 地址正式耗尽!【智能快讯】

    By 超神经 AI 无处不在的时代,每天都有新的技术与研究成果出现.无论学术界还是商界,技术还是产品,AI 的新发现都源源不断,在带给我们全新视角的同时,也引起我们更深的思考. 想知道最近的 AI 动 ...

  2. 全球IPv4地址正式耗尽,你知道吗?

    全球IPv4地址耗尽令人担忧,今天这一时刻终于来临--所有43亿个IPv4地址已分配完毕,这意味着没有更多的IPv4地址可以分配给ISP和其他大型网络基础设施提供商. 该过程自80年代以来就已预见到, ...

  3. 全球43亿IPv4地址正式耗尽,IPv6才是物联网的菜

    来源:鲜枣课堂.财经杂志.CSDN 物联网智库 整理发布 导  读 负责英国.欧洲.中东和部分亚洲地区互联网资源分配的欧洲网络协调中心(RIPE NCC)昨日宣布,其已从可用地址池中完成了最后IPv4 ...

  4. 全球 43 亿 IPv4 地址宣告耗尽!

    IPv4 是互联网的核心,也是使用最广泛的网际协议版本. 长期以来,全球 IPv4 地址耗尽令人担忧,今天这一时刻终于来临--负责英国.欧洲.中东和部分中亚地区互联网资源分配的欧洲网络协调中心(RIP ...

  5. 全球 42 亿 IPv4 地址宣告耗尽!

    整理 | 郭芮 IPv4 是互联网的核心,也是使用最广泛的网际协议版本. 长期以来,全球 IPv4 地址耗尽令人担忧,今天这一时刻终于来临--负责英国.欧洲.中东和部分中亚地区互联网资源分配的欧洲网络 ...

  6. 全球 IPv4 地址耗尽,IPv6 来了!

    本文作者:robintang,腾讯 WXG 后台开发工程师.转载自「 云加社区」. 就在昨天,2019 年 11 月 26 日,全球 43 亿个 IPv4 地址正式耗尽,很多人表示忧虑.不过不用担心, ...

  7. 全球居然还有 2 亿多 IPv4 地址未分配

    大家好,我是小弗.2019 年就有报道说,IPv4 地址已经使用完了,以为 IPv6 会全面替代 IPv4 .结果过去两年多,IPv4 还是主流,IPv6 也在上线一部分,但是更像个摆设,实际上没有用 ...

  8. 漫话:是时候说说到底什么是 IPv4 和 IPv6 了!

    作者 | 漫话编程 本文经授权转载自漫话编程(ID:mhcoding) 2019年11月25日,负责英国.欧洲.中东和部分中亚地区互联网资源分配的欧洲网络协调中心(RIPE NCC)宣布,其最后的 I ...

  9. 虚拟服务器 ip是ipv4,服务器ip地址ipv4地址是什么

    服务器ip地址ipv4地址是什么 内容精选 换一换 当前不支持使用手工配置的IPv6地址进行通信,请参考使用虚拟IP替代.了解更多虚拟IP信息,请参见虚拟IP. 弹性公网IP支持IPv4地址和IPv6 ...

最新文章

  1. 京东2017校招前端主观题汇总
  2. oracle 10g gateway 安装操作,Oracle 10g RAC启动节点报错 Default gateway is not defined
  3. hadoop: Operation category READ is not supported in state standby
  4. 可重复读隔离级别里的可能死锁
  5. 用Free Pascal IDE编写第一个程序Pascal版的hello world
  6. 两道CTF Reverse题目(windows平台)
  7. 简单的病毒制作及破解方法
  8. 两种方法分析每月工作日计算程序
  9. CDGA|数据虚拟化助力数据治理成效显著
  10. 常见路由器默认登录用户名和密码(大全)
  11. YunCharging充电桩系统开源源码,配套设备+小程序直接商用落地
  12. 并发编程之 ThreadLocal 源码剖析
  13. 咋样回复计算机桌面删除的东西,电脑桌面上的便签怎么删除及桌面便签删除后还能恢复吗...
  14. 高德地图H5 定位失败报错 geolocation time out. Get ipLocation failed解决方案
  15. 天猫精灵X1自动恢复出厂设置解决方法
  16. Python 实现图的深度优先和广度优先搜索
  17. GAMES104 B1+B2 引擎的结构与开发分层
  18. hdoj 开门人和关门人
  19. 分享一个快速的Json(反)序列化开源项目 Jil
  20. 大数据处理和编程实践Hadoop

热门文章

  1. 一文了解四种软件架构:Serverless架构、微服务架构、分布式架构、单体架构
  2. 面试官:你们Redis故障过吗,怎么解决?
  3. 三万字,Spark学习笔记
  4. 360展示广告智能化演进
  5. 阿里程序员35岁P7!4年了晋升无望!明年股票拿完,年包腰斩!世界那么大,要不要去看看?...
  6. 阿里某员工:年终奖到手,再见996
  7. 分享|智办事助力杭州佰勤医疗器械组织管理数字化过渡
  8. 做程序员的苦恼,智办事助力团队协作更简单
  9. BS4 keep on!
  10. 【C/C++】链表的理解与使用