- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
下一代互联网协议(IPv6)的概念及原理
摘要:IPv6是下一代互联网采用的核心协议。本文介绍了IPv6技术发展背景、新特性、地址空间、地址格式、地址表示方法、地址类型、地址范围、IPv4到IPv6的过渡技术,以及在国土资源部的具体应用。
关键词:IPv6 路由 无状态的地址配置 双协议栈技术 隧道技术
1 IPv6诞生的发展背景
Internet协议的第4版(IPv4)为TCR/IP族和Internet提供了基本的通信机制。IP技术已经广泛应用了10多年,互联网的影响已经渗透到社会的各个方面,同时,互联网的发展也成为国家信息化和现代化建设的重要部分,并产生了重大的经济效益和社会效益。随着Internet的指数增长,互联网的体系结构由NSFNET核心网络演变为由ISP(Internet Service,Provider互联网络提供商)运营的分散的体系结构。当前互联网面临的一个严峻问题是地址消耗严重,即没有足够的地址来满足全球的需要。IPv4的问题逐渐显露出来,32位的IP地址空间枯竭、路由表急剧膨胀、路由选择效率不高、对网络安全和多媒体应用的支持不够,配置复杂,对移动性支持不好,很难开展端到端的业务等,这些问题已经成为制约互联网发展的重要障碍,而IETF开发的IPv6下一代网络彻底、有效地解决了目前IPv4所存在的上述问题。
2 IPv6的新特性
(1)巨大的地址空间
IPv6的源地址和目标地址都是128位的(16字节),几乎可以不受限制地提供IP地址。128位可以表达超过3.4×1038种可能的组合,也就是说整个地球的每平方米面积上可以分配6.65×1023个IP地址,设计这种巨大的地址空间的目的是为了能更好的把路由器域名划分出层次结构,并更好地反映出现代Internet的拓扑结构,使寻址和路由层次的设计更具灵活性,允许使用多级的子网划分和地址分配,涵盖范围从Internet骨干直到机构组织内部的各个子网,这些正是基于IPv4的Internet所缺乏的。即便是算上目前已为主机分配的所有IP地址,IPv6仍然还有充足的地址可供今后使用。由于有绝对更多地可用地址,就不再需要一些节约地址的技术,比如NAT转换,这样就可以全面建立端到端的连接了。
(2)新的协议头格式
IPv6的协议头采用一种新的格式,可最大程度地减少协议头开销。IPv6的报头有一个基本包头和多个扩展包头构成,基本包头具有40字节的固定长度,放置所有路由器都需要处理的信息。由于Internet上的绝大部分包都只是被路由器简单地转发,因此固定的包头长度有助于加快路由速度。为实现这个目标,IPv6包头中字段的数量从IPv4中的12(包括选项)个,降到了8个;中间路由器必须处理的字段从6个降到了4个,这样网络中的中间路由器在处理这种简化的IPv6协议头时,效率就更高;很少使用的字段,如支持拆分的字段,以及IPv4包头中的选项,被移到了IPv6包头的扩展包头中。IPv6定义了多种扩展包头,能提供对多种应用的强力支持,同时又为以后支持新的应用提供了可能。IPv4头和IPv6头不具有互操作性。IPv6从功能上说,并不是IPv4的超集,也就是说它并不向下兼容IPv4。因此每台主机或路由器都必须既实现IPv4,又实现IPv6协议,以便识别和处理两种不同的协议头。虽然新IPv6中的地址位数是IPv4地址位数的4倍,但是,新IPv6协议头的长度仅是IPv4协议头的2倍。
(3)有效地、分级的寻址和路由结构
与IPv4地址空间的划分准则相似,IPv6地址空间也是基于地址中高位的值来进行划分的。高位和它们的固定值称为格式前缀(FP)。根据格式前缀位的多少划分IPv6地址空间,目前已分配的有为网络服务接入点(NSAP)、可集聚全球单播地址、链路本地单播地址、站点本地单播地址和多播地址,当前可被IPv6节点使用的单播地址集合由可集聚全球单播地址、链路本地单播地址和站点本地地址组成。IPv6中的全球地址中的字段创建了一个3层的拓扑结构。
IPv6使用全球地址的设计意图是创建一个有效地、分层次的并且可以概括的路由结构,这种路由结构是基于当前存在的多级ISP体系而设计的。公共拓扑是提供接人服务的大大小小的ISP的集合。站点拓扑是一个机构站点的内部子网的集合。接口标识符惟一地标识了一个机构站点的内部子网上的一个接口。在采用IPv6的Internet中,骨干路由器具有更小的路由表,这种路由表对应着全球ISP的路由结构。
(4)有状态和无状态的地址配置
为简化主机配置,IPv6既支持有状态的地址配置(例如,在有DHCPv6服务器时的地址配置),也支持无状态的地址配置(例如,在没有DHCPv6服务器)。在无状态的地址配置中,链路上的主机会自动地为自己配置适合于这条链路的IPv6地址(称为链路本地地址),或者适合于IPv4和IPv6共存的IP地址,或者由本地路由器加上了前缀的IP地址。甚至在没有路由器的情况下,同一链路上的所有主机,也可以自动配置它们的链路本地地址,这样不用手工配置也可以进行通信。链路本地地址在一秒钟之内就能自动配置完成,因此同一链路上的节点的通信几乎是立即进行的。相比之下,一个使用DHCP的IPv4主机则要等上整整1分钟:先放弃DHCP的配置,然后自己配置一个IPv4地址。
(5)内置的安全性
IPv6协议支持IPSec,这就为网络安全性提供了一种基于标准的解决方案,并且提高了不同IPv6实现方案之间的互操作性。IPSec由两种不同类型的扩展头和一个用于处理安全设置的协议所组成。验证头(AH)为整个IPv6数据包(除了在传输过程中IPv6头必须改变的字段)提供了数据完整性、数据验证和重放保护。封装安全报文(ESP)的头和尾也为ESP封装报文提供了数据完整性、数据验证、数据机密性和重放保护。在单播通信中用于处理IPSec的安全设置的协议通常是Internet密钥交换协议(IKE)。
(6)更好的支持Qos
在多媒体应用日益广泛的今天,因特网提供对多媒体的支持将有重大意义。多媒体的一般特点是带宽要求高、持续时间长。为此引人流的概念简化因特网对多媒体的处理。流是特定源和目的地间的报文序列,源要求中间路由器对这些报文进行特殊处理。一般来说,路由器收到流中报文后,根据流标识符查找路由器中保存的流上下文,对流中的报文进行同样的处理,加快了报文处理速度。IPv4补充了对流的处理,例如使用资源预留协议(RSVP)预留资源进行因特网上的音频、视频传播。但是IPv4对流的处理有天生的缺陷,因为在IPv4定义之初就没有流的概念。IPv4定义的流包括源和目的IP地址、传输控制协议(TCP)或用户数据报协议(UDP)的端口号,路由器为了判断一个报文是否属于一个流,不但要看IP头中的IP地址,还要分析TCP头就UDP头中的端口号,这不但违背了网络分层的原则,而且加大了路由器的处理工作量。IPv6在设计之初就考虑了对流的支持。IP头的格式里,有专门的20bit流标签域。主机发送报文时,如果需要把报文放到流中传输,只需在流标签里填人相应的流编号,否则在流标签里填零就作为一般的报文处理。路由器收到流的第一个报文时,以流编号为索引建立处理上下文,流中的后续报文都按上下文处理。由于通信流是在IPv6协议头中标识的,因此,即使数据包有效载荷已经用IPSec和ESP进行了加密,仍然可以实现对Qos的支持。
(7)用新协议处理邻节点的交互
IPv6中的邻节点发现(Neighbor Discovery)协议是一系列的IPv6网络控制报文协议(ICMPv6)报文,用来管理相邻节点(在同一链路上的节点)的交互。邻节点发现协议用更加有效地多播和单播邻节点发现报文,取代了地址解析协议(ARP)(基于广播的)、ICMPv4路由器发现,以及ICMPv4重定向报文。
(8)可扩展性
IPv6可以很方便地实现功能地扩展,这主要通过在IPv6协议头之后添加新的扩展协议头方式来实现。IPv4协议头中的选项最多可以支持40个字节的选项,而IPv6扩展协议头的长度只受到IPv6数据包长度的限制。
3 IPv6的地址空间
IPv6最明显的特征是它使用更大的地址。IPv6使用128位地址,IPv4使用32位地址。32位地址空间允许4,294,967,296个可能的地址。128位地址空间允许340,282,366,920,938,463,463, 374,607,431, 768, 211, 456(3.4×1038)个可能的地址。
值得注意的是,使IPv6地址在长度上达到128位并不是说地球的每平方米能有6.5×1023个地址。更确切地说,将IPv6地址设计成较大尺寸,旨在进一步细分成反映现代Internet拓扑结构的分层路由域。使用128位地址空间,在设计分层寻址和路由时能提供多个等级的层次和灵活性,而这一点恰恰是目前基于IPv4的Internet所缺乏的。
4 IPv6的地址格式
IPv6的地址由全局路由前缀、子网ID、接口ID三部分组成。其中全局路由前缀用于指定某一站点,子网lD用于指定该站点内的一条链路,接口ID用于指定链路上的某一接口。
作者:吴伟民 来源:国土资源信息化
上一篇:布线技巧(9):并行直连线连接
下一篇:开关电源的数字控制实现方案