IPv4和IPv6对比以及区别


前言

这几天在看网络方面的书,很多已经开始科普 IPv4 和 IPv6 了,所以我就想自己总结一下关于二者到底有哪些实质性上的区别。

基础

首先我们应该知道 IP 处于 TCP/IP 四层网络协议中的第三层,也就是网络层。网络层的主要作用就是实现主机与主机之间的通信,也叫做点对点(end to end)通信。具体更加基础的知识可以参考这篇:OSI七层网络模型和TCP/IP四层网络协议详解

在 TCP/IP 网络通信时,为了保证能够正常通信,每个设备都应该配置正确的 IP,否则无法进行正常的通信。在互联网诞生之初,IP 地址是非常充裕的,计算机科学家们还设计了分类地址,将 IP 地址分为了 A 类、B类、C类、D类、E类,其中 D 类和 E 类在日常使用中并不常见,分别是组播和保留待用。在日常生活工作中涉及到最多的还是前三类,A、B、C 类地址范围划分为如下,且每类中都有私有范围段。

类别 IP 地址范围 最大数量 私有 IP 地址范围
A 类 0.0.0.0 ~ 127.255.255.255 16777214 10.0.0.0 ~ 10.255.255.255
B 类 128.0.0.0 ~ 191.255.255.255 65534 172.16.0.0 ~ 172.31.255.255
C 类 192.0.0.0 ~ 223.255.255.255 254 192.168.0.0 ~ 192.168.255.255

在平常我们生活中,办公室、学校、家里这些场景中用到的大多数都是属于私有 IP 地址范围,因为这些地址是允许 IT 管理人员自己分配的,可能你的电脑用着是 192.168.0.111 这个地址,但是可能我也用的是这个地址,因为这些是私有的是可以随意分配的,但是对于非私有的 IP 地址则是有着绝对的唯一性,它是由 ICANN 组织管理并进行分配,它存在的作用为的就是保证 IP 地址分配的唯一性。假设我要搭建一个可以供所有人访问的博客网站,那么就需要公网 IP,因为他是唯一的,所有人都可以访问。但是如果我在我自己的电脑上(IP:192.168.0.111)上面搭建一个博客,别人是无法访问的,因为我这个 IP 地址是谁都可以拥有的,别人是无法找到我这个的。

接下来来说说 IPv4 和 IPv6 到底有什么区别:

数量

首先从数量上来说,由于早起没有想到互联网发展能够有这么迅速,设计的 IPv4 地址是 32 位的,也就是最多有 2^32 共计约 42 亿个地址,进入互联网时代之后,互联网计算机飞速发展,所以导致 IP 资源消耗也是非常迅速的,在 2011 年 IPv4 地址已经被分配完了,但是在今年 2020 年才正式宣告全部耗尽,因为当时分配的时候,大部分 IP 段是被类似于谷歌云、阿里云、腾讯云这些厂商给买断了,但是买回来之后并没有使用,直到 2020 年才消耗使用完毕。按理说 42 亿个 IP 地址我们中国 14 亿人口,手机、电脑、iPad、联网电视等早就把它耗尽了,这里涉及的是 NAT 技术,暂且不讲,但是IPv6 发展的目标之一是让NAT技术边缘化,可以确保创建一个唯一的IP地址。

IPv6 在现代互联网社会中设计的,所以科学家们为了避免重蹈覆辙,过几年再重新设计 IP 划分,直接一步到位,设计 IPv6 地址为 128 位,也就是总数量为:2^128 (喜欢较真的可以拿个计算器算一下),以幽默的方式来说也就是 IPv6 可以保证地球上的每一粒沙子都能分配到属于自己的独一无二的 IP。

首部改进

包头包首部采用固定值 40 字节。IPv4报头:长度20字节,但是有12个字段,比较复杂。IPv6报头:长度40个字节,虽然字节上增加了但是只有8个字段,能精简的都简化了。报头的字段越少,说明报文结构越简单,也就越便于传输。

取消了首部校验和字段。 因为在数据链路层和传输层都会校验,因此 IPv6 直接取消了 IP 的校验。在传输上也就减轻了其经过的每一个路由器的负荷,大大提高了传输的性能。

取消了分片重新组装相关字段。 分片与重组是耗时的过程,IPv6 不允许在中间路由器进行分片与重组,这种操作只能在源与目标主机,这将大大提高了路由器转发的速度。

安全性

IPSec(互联网安全协议) 是由 IETF 开发是确保秘密、完整、真实的信息穿越公共IP网的一种工业标准。在 IPv6 中 IPsec 不再是 IP 协议的补充部分,而是 IPv6 自身所具有的功能。IPv4 选择性支持 IPSec,IPv6 则自动支持 IPSec。

自动配置

IPv6 协议中引入了自动配置(“即插即用”)功能,一个主机进行 Internet 网络登记后,位置或配置发生变化时只需进行很少的改动即可进行工作,这样可大幅度降低网络管理者的配置和地址映射管理,移动工作者也可方便地在任何地方任何时间接入到 Internet 网络。

IPv6 协议中具有自动配置功能,所以可以不必像 IPv4 那样使用 DHCP 服务器进行管理 IP 分配和租用时间等问题。IPv6 协议可为任意主机生成一个“本地IP地址”,这个地址内嵌一个以太网卡地址,由于 MAC 地址是全球唯一的,这样 IP 地址就不会重复,IPv6 的自动配置功能正是基于这种唯一 IP 地址的概念。

本机地址

IPv4 中本机地址为:127.0.0.1

IPv6 中本机地址为:000:0000:0000:0000:0000:0000:0000:0001(可简写为 ::1)

PS:目前国内已经开始推广部署 IPv6,其中我在上大学时学校网络中心其实就已经开始在校园网络内部署使用等,但是进度十分缓慢,目前国内也可以说世界范围内 IPv6 推广部署进度较慢主要是因为很多基础设施以及硬件设施是跟不上的,而且推测来看是不会出现一刀切彻底放弃 IPv4 的情况,这点算是个好处,但是也算是阻碍 IPv6 发展的一部分。

PPS:假设以后出现人手一个 IPv6 地址,是不是爱折腾的小伙伴就不用给移动联通电信打电话要公网 IP 在家搭建博客了?


文章作者: Writeup
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Writeup !
 上一篇
Windows执行定时任务隐藏窗口 Windows执行定时任务隐藏窗口
前言自己用 Python 写了个定时执行计划任务的小程序,然后又用 pyinstaller 打包成了一个 exe 文件,为的是方便使用 Windows 的计划任务程序来定时执行,我在 Windows 定时任务计划中是每小时执行一次,但是后来
2020-11-08
下一篇 
Windows快捷键冲突检测与解决办法 Windows快捷键冲突检测与解决办法
前言今天晚上在外面一边散着步一边听着歌,就这样听着歌突然想起来自己写的代码的一个 bug 想到了解决办法,于是立马回家,打开电脑,顺手打开 QQ 音乐电脑版,想着能够继续灵感迸发,因为我一般很少在电脑上听歌,所以一直没有给电脑上的 QQ 音
2020-11-01
  目录