本节书摘来自异步社区《深入解析IPv6(第3版)》一书中的第1章,第1.1节,作者: 【美】Joseph Davies 更多章节内容可以访问云栖社区“异步社区”公众号查看。
第1章 IPv6入门
在完成本章的学习之后,读者应该能够完成以下任务:
- 描述IPv4(因特网协议第4版)及当前Internet的缺陷,并及描述IPv6是如何改善上述缺陷的;
- 描述IPv4地址短缺的问题是如何通过网络地址转换(NAT)技术来缓解的,- 并描述端到端通信所存在的弊端;
- 列举出IPv6的特性,并分别进行描述;
- 列举出IPv4和IPv6的主要区别,并分别进行描述;
- 介绍部署IPv6的原因及其商业价值。
1.1 IPv4的局限
自RFC 791(1981年)发布以来,当前的IP版本(即第4版或IPv4)再未发生过什么本质上的变化。事实证明,IPv4是一个功能强大、部署简单且可交互的协议。它经受住了网络规模由局部互联到全局互联这一重大变迁的考验。这是对IPv4最初设计方案的莫大肯定。
然而,IPv4最初的设计方案并没有把下列情况考虑在内。
- Internet的爆炸式增长与IPv4地址空间行将耗竭:虽然IPv4的32位地址空间支持多达4,294,967,296个地址,但是已经分配和正在分配出去的地址占据了大量的地址空间,使得公共IPv4地址的数量只剩下了区区几亿个。结果是,公共IPv4地址已经变得相当有限,于是很多个人乃至单位只好使用NAT技术来将少量的公共IPv4地址映射为大量的私有IPv4地址。尽管NAT可以实现对于公共IPv4地址空间的复用,但这项技术违背了Internet协议设计之初的基本原则,即所有网络节点都拥有一个独立的全局可达的地址,因此,这项技术无法为所有类型的网络应用实现真正的端到端连接。
此外,各类连接Internet的设备与应用影响力越来越大,这就注定了IPv4的地址空间终将耗尽。 - 人们需要用更容易的方法配置网络:绝大多数当前的IPv4实施方案都需要使用下列两种方法之一来实现:手动进行配置或使用一种状态化地址配置协议(如DHCP[动态主机配置协议])来配置。随着计算机和各类IP设备的用户越来越多,人们需要用一种更简单且更加自动化的方式来配置地址和动态路由配置协议——动态路由配置协议不能依赖管理DHCP架构来进行配置。
网络层对于安全性的需求:私有通信是通过注入Internet这种公共媒介来实现的,因此需要通过加密服务来确保数据在传输的过程中不会遭到窃取或篡改。尽管目前有一个现成的标准可以为IPv4数据包提供安全性保障(称为IP安全,或者IPSec),但这是一项IPv4可选标准,于是一些其他的安全解决方案便大行其道,这些解决方案中有很多都是私有的。 - 人们需要协议能够更好地支持数据优先级区分和实施传输:虽然对数据进行优先级区分和实施传输的标准(人们常称之为QoS[服务质量])存在于IPv4协议中,但对于实时流量的支持需要依赖于IPv4中一个已成为历史的8比特位字段——TOS(服务类型)字段以及负载的标识符(identification)来实现,这一般还需要借助UDP(用户数据报协议)和TCP(传输控制协议)协议的端口号。不幸的是,IPv4的TOS字段功能比较有限,而且随着时间的演进,这个字段经历了重定义,并且对于它们的功能拥有许多不同的解释。当前的IPv4标准使用TOS字段来定义DSCP(差分服务代码点),这个值是由发送数据的节点进行设定的,在其后的传输过程中,路由器会根据这个值来执行区分优先级的传输和处理。此外,如果IPv4数据包负载经过了加密,那么TCP或UDP端口的负载标识符就无法再使用了。
为了能够解决上述问题及其他相关问题,IETF指定了一系列协议和标准,称为IP版本6(IPv6)。这个新的IP版本(曾被称为下一代IP[IPng])吸取了很多改善IPv4协议的推荐方法。它尽可能从设计上降低了对上层和底层协议可能产生的影响,并避免人们随意为其添加新的特性。