扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
在本页阅读全文(共2页)
引言
随着Internet的迅速增长以及IPv4地址空间的逐渐耗尽,IPv6作为Internet协议的下一版本,对IPv4的最终取代将不可避免的成为必然。在这一系列中,我们将讨论现行Internet所存在的问题以及IPv6的解决对策,IPv6地址分配、新IPv6包头及其扩展、IPv6对ICMP协议和IGMP协议的取代、邻节点交互和IPv6地址自动配置等。
IPv6概述
现行的IPv4自1981年RFC 791标准发布以来并没有多大的改变。事实证明,IPv4具有相当强盛的生命力,易于实现且互操作性良好,经受住了从早期小规模互联网络扩展到如今全球范围Internet应用的考验。所有这一切都应归功于IPv4最初的优良设计。
但是,还是有一些发展是设计之初未曾预料到的:
近年来Internet呈指数级的飞速发展,导致IPv4地址空间几近耗竭。IP地址变得越来越珍稀,迫使许多企业不得不使用NAT将多个内部地址映射成一个公共IP地址。地址转换技术虽然在一定程度上缓解了公共IP地址匮乏的压力,但它不支持某些网络层安全协议以及难免在地址映射中出现种种错误,这又造成了一些新的问题。而且,靠NAT并不可能从根本上解决IP地址匮乏问题,随着连网设备的急剧增加,IPv4公共地址总有一天会完全耗尽。
Internet主干网路由器维护大型路由表能力的增强。目前的IPv4路由基本结构是平面路由机制和层次路由机制的混合,Internet核心主干网路由器可维护85000条以上的路由表项。
地址配置趋向于要求更简单化。目前绝大多数 IPv4地址配置需要手工操作或使用DHCP(动态宿主机配置协议)地址配置协议完成。随着越来越多的计算机和相关设备使用IP地址,必然要求提高地址配置的自动化程度,使之更简单化,且其他配置设置能不依赖于DHCP协议的管理。
IP层安全需求的增长。在Internet这样的公共媒体上进行专用数据通信一般都要求加密服务,以此保证数据在传输过程中不会泄露或遭窃取。虽然目前有IPSec协议可以提供对IPv4数据包的安全保护,但由于该协议只是个可选标准,企业使用各自私有安全解决方案的情况还是相当普遍。
更好的实时QoS支持的需求。
IPv4的QoS标准,在实时传输支持上依赖于IPv4的服务类型字段(TOS)和使用UDP或TCP端口进行身份认证。但IPv4的TOS字段功能有限,而同时可能造成实时传输超时的因素又太多。此外,如果IPv4数据包加密的话,就无法使用TCP/UDP端口进行身份认证。
为了解决上述问题,Internet工程任务组(IETF)开发了IPv6。这一新版本,也曾被称为下一代IP,综合了多个对IPv4进行升级的提案。在设计上,IPv6力图避免增加太多的新特性,从而尽可能地减少对现有的高层和低层协议的冲击。
IPv6特性
以下列举了IPv6协议的一些新增特性:
新包头格式
更大的地址空间
高效的层次寻址及路由结构
全状态和无状态地址配置
内置安全设施
更好的QoS支持
用于邻节点交互的新协议
可扩展性
下面依次具体讨论这些新特性:
新包头格式
新IPv6包头的设计原则是力图将包头开销降到最低,具体做法是将一些非关键性字段和可选字段移出包头,置于IPv6包头之后的扩展包头中,因此尽管IPv6地址长度是IPv4的四倍,但包头仅为IPv4的两倍。改进后的IPv6包头在中转路由器中处理效率更高。
由于两者的包头没有互操作性,且IPv6也并非是可向后兼容IPv4的功能扩展集,因此为了识别和处理这两种包头格式,必须在主机和路由器中分别实现IPv4和IPv6。
更大的地址空间
IPv6地址长度为128位(16字节),即有2^128-1(3.4E+38)个地址,这一地址空间是IPv4地址空间的1E28倍(或以目前全球总人数而言,人均可分配1.8×1019个IPv6地址)。IPv6采用分级地址模式,支持从Iternet核心主干网到企业内部子网等多级子网地址分配方式。 在IPv6的庞大地址空间中,目前全球连网设备已分配掉的地址仅占其中极小一部分,有足够的余量可供未来的发展之用。同时由于有充足可用的地址空间,NAT之类的地址转换技术将不再需要。
高效的层次寻址及路由结构
IPv6采用聚类机制,定义非常灵活的层次寻址及路由结构,同一层次上的多个网络在上层路由器中表示为一个统一的网络前缀,这样可以显著减少路由器必须维护的路由表项。在理想情况下,一个核心主干网路由器只须维护不超过8192个表项。这大大降低了路由器的寻路和存储开销。
全状态和无状态地址配置
为了简化主机配置,IPv6支持全状态和无状态(stateful and stateless)两种地址配置方式。在IPv4中,动态宿主机配置协议DHCP实现了主机IP地址及其相关配置的自动设置,IPv6承继IPv4的这种自动配置服务,并将其称为全状态自动配置(stateful autoconfiguration)。除了全状态自动配置,IPv6还采用了一种被称为无状态自动配置(stateless autoconfiguration)的自动配置服务。在无状态自动配置过程中,在线主机自动获得本地路由器的地址前缀以及链路局部地址以及相关配置。
内置安全设施
IPv6全面支持IPSec,这要求提供基于标准的网络安全解决方案,以便满足和提高不同的IPv6实现之间的协同工作能力。
更好的QoS支持
IPv6包头的新字段定义了数据流如何识别和处理。IPv6包头中的流标识(Flow Label)字段用于识别数据流身份,利用该字段,IPv6允许终端用户对通信质量提出要求。路由器可以根据该字段标识出同属于某一特定数据流的所有包,并按需对这些包提供特定的处理。由于数据流身份信息包含在IPv6包头中,因此即使是经过IPSec加密的数据包也可以获得QoS支持。
用于邻节点交互的新协议
IPv6的邻居发现协议(Neighbor Discovery protocol)使用一系列IPv6控制信息报文(ICMPv6)来实现相邻节点(同一链路上的节点)的交互管理。邻居发现协议以及高效的组播和单播邻居发现报文替代了以往基于广播的地址解析协议ARP、ICMPv4路由器发现和ICMPv4重定向报文。
可扩展性
IPv6特性具有很强的可扩展性,新特性可以添加在IPv6包头之后的扩展包头中。不象IPv4,包头最多只能支持40字节的的可选项,IPv6扩展包头的大小仅受到整个IPv6包最大字节数的限制。
下面我们将IPv4和IPv6的主要差别列于表一中,以便对照比较。
表一 IPv4和IPv6的主要差别
IPv6与局域网
在IPv6中,数据链路层帧结构包括三部分:数据链路层报头和报尾、IPv6包头、有效载荷,见图一。
图1 数据链路层上的IPv6数据包
在以太网、令牌环网和FDDI网等典型的局域网技术中,IPv6有两种封装方式:Ethernet II封装或应用于IEEE 802.3, IEEE 802.5, 和 FDDI的SNAP(子网访问协议)封装。
Ethernet II封装
用Ethernet II进行封装时,Ethernet II报头中的EtherType字段值为:0x86DD(该字段值 = 0x800表示IPv4包)。使用Ethernet II封装,IPv6包最小46字节,最大1500字节。图2为IPv6包的Ethernet II封装。
图2 Ethernet II封装
IEEE 802.3,IEEE 802.5,和FDDI封装 在IEEE 802.3(以太网),IEEE 802.5(令牌环网)和FDDI网中,使用SNAP协议封装,EtherType字段值为:0x86DD。图3为IPv6包的SNAP封装。
图3 SNAP封装
在以太网中使用SNAP封装,IPv6包最小38字节、最大1492字节,在FDDI网中,IPv6包最大可达4352字节。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者