定义

IPv6Internet Protocol Version 6的缩写,其中Internet Protocol译为“互联网协议”。

IPv6是IETF(互联网工程任务组,Internet Engineering Task Force)设计的用于替代现行版本IP协议(IPv4)的下一代IP协议。

目前的全球因特网所采用的协议族是TCP/IP协议族。IP是TCP/IP协议族中网络层的协议,是TCP/IP协议族的核心协议。

目前IP协议的版本号是4(简称为IPv4),它的下一个版本就是IPv6。IPv6正处在不断发展和完善的过程中,它在不久的将来将取代目前被广泛使用的IPv4。

概述

目前我们使用的第二代互联网IPv4技术,核心技术属于美国。它的最大问题是网络地址资源有限,从理论上讲,IPv4技术可使用的IP地址有43亿个,其中北美占有3/4,约30亿个,而人口最多的亚洲只有不到4亿个,中国只有3千多万个,只相当于美国麻省理工学院的数量。地址不足,严重地制约了我国及其他国家互联网的应用和发展。

随着电子技术及网络技术的发展,计算机网络将进入人们的日常生活,可能身边的每一样东西都需要连入全球因特网。但是与IPv4一样,IPv6一样会造成大量的IP地址浪费。准确的说,使用IPv6的网络并没有2^128-1个能充分利用的地址。首先,要实现IP地址的自动配置,局域网所使用的子网的前缀必须等于64,但是很少有一个局域网能容纳2^64个网络终端;其次,由于IPv6的地址分配必须遵循聚类的原则,地址的浪费在所难免。

但是,如果说IPv4实现的只是人机对话,而IPv6则扩展到任意事物之间的对话,它不仅可以为人类服务,还将服务于众多硬件设备,如家用电器、传感器、远程照相机、汽车等,它将是无时不在,无处不在的深入社会每个角落的真正的宽带网。而且它所带来的经济效益将非常巨大。

当然,IPv6并非十全十美、一劳永逸,不可能解决所有问题。IPv6只能在发展中不断完善,也不可能在一夜之间发生,过渡需要时间和成本,但从长远看,IPv6有利于互联网的持续和长久发展。 目前,国际互联网组织已经决定成立两个专门工作组,制定相应的国际标准。

优势

与IPV4相比,IPV6具有以下几个优势:

一,IPv6具有更大的地址空间。IPv4中规定IP地址长度为32,即有2^32-1(符号^表示升幂,下同)个地址;而IPv6中IP地址的长度为128,即有2^128-1个地址。

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

三,IPv6增加了增强的组播(Multicast)支持以及对流的支持(Flow Control),这使得网络上的多媒体应用有了长足发展的机会,为服务质量(QoS,Quality of Service)控制提供了良好的网络平台。

四,IPv6加入了对自动配置(Auto Configuration)的支持。这是对DHCP协议的改进和扩展,使得网络(尤其是局域网)的管理更加方便和快捷。

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

技术信息概述

IPv6包由IPv6包头(40字节固定长度)、扩展包头和上层协议数据单元三部分组成。

IPv6包扩展包头中的分段包头(下文详述)中指名了IPv6包的分段情况。其中不可分段部分包括:IPv6包头、Hop-by-Hop选项包头、目的地选项包头(适用于中转路由器)和路由包头;可分段部分包括:认证包头、ESP协议包头、目的地选项包头(适用于最终目的地)和上层协议数据单元。但是需要注意的是,在IPv6中,只有源节点才能对负载进行分段,并且IPv6超大包不能使用该项服务。

下文还将简述IPv6寻址、路由以及自动配置的相关内容。

IPv6数据包:包头

IPv6包头长度固定为40字节,去掉了IPv4中一切可选项,只包括8个必要的字段,因此尽管IPv6地址长度为IPv4的四倍,IPv6包头长度仅为IPv4包头长度的两倍。

其中的各个字段分别为:

Version(版本号):4位,IP协议版本号,值= 6。

Traffice Class(通信类别):8位,指示IPv6数据流通信类别或优先级。功能类似于IPv4的服务类型(TOS)字段。

Flow Label(流标记):20位,IPv6新增字段,标记需要IPv6路由器特殊处理的数据流。该字段用于某些对连接的服务质量有特殊要求的通信,诸如音频或视频等实时数据传输。在IPv6中,同一信源和信宿之间可以有多种不同的数据流,彼此之间以非“0”流标记区分。如果不要求路由器做特殊处理,则该字段值置为“0”。

Payload Length(负载长度):16位负载长度。负载长度包括扩展头和上层PDU,16位最多可表示65,535字节负载长度。超过这一字节数的负载,该字段值置为“0”,使用扩展头逐个跳段(Hop-by-Hop)选项中的巨量负载(Jumbo Payload)选项。

Next Header(下一包头):8位,识别紧跟IPv6头后的包头类型,如扩展头(有的话)或某个传输层协议头(诸如TCP,UDP或着ICMPv6)。 

Hop Limit(跳段数限制):8位,类似于IPv4的TTL(生命期)字段。与IPv4用时间来限定包的生命期不同,IPv6用包在路由器之间的转发次数来限定包的生命期。包每经过一次转发,该字段减1,减到0时就把这个包丢弃。

Source Address(源地址):128位,发送方主机地址。

Destination Address(目的地址):128位,在大多数情况下,目的地址即信宿地址。但如果存在路由扩展头的话,目的地址可能是发送方路由表中下一个路由器接口

IPv6数据包:扩展包头

IPv6包头设计中对原IPv4包头所做的一项重要改进就是将所有可选字段移出IPv6包头,置于扩展头中。由于除Hop-by-Hop选项扩展头外,其他扩展头不受中转路由器检查或处理,这样就能提高路由器处理包含选项的IPv6分组的性能。

通常,一个典型的IPv6包,没有扩展头。仅当需要路由器或目的节点做某些特殊处理时,才由发送方添加一个或多个扩展头。与IPv4不同,IPv6扩展头长度任意,不受40字节限制,以便于日后扩充新增选项,这一特征加上选项的处理方式使得IPv6选项能得以真正的利用。 但是为了提高处理选项头和传输层协议的性能,扩展头总是8字节长度的整数倍。

目前,RFC 2460中定义了以下6个IPv6扩展头:Hop-by-Hop(逐个跳段)选项包头、目的地选项包头、路由包头、分段包头、认证包头和ESP协议包头:

(一)Hop-by-Hop选项包头包含分组传送过程中,每个路由器都必须检查和处理的特殊参数选项。其中的选项描述一个分组的某些特性或用于提供填充。这些选项有:

Pad1选项(选项类型为0),填充单字节。

PadN选项(选项类型为1),填充2个以上字节。

Jumbo Payload选项(选项类型为194),用于传送超大分组。使用Jumbo Payload选项,分组有效载荷长度最大可达4,294,967,295字节。负载长度超过65,535字节的IPv6包称为“超大包”。

路由器警告选项(选项类型为5),提醒路由器分组内容需要做特殊处理。路由器警告选项用于组播收听者发现和RSVP(资源预定)协议。

(二)目的地选项包头指名需要被中间目的地或最终目的地检查的信息。有两种用法:

如果存在路由扩展头,则每一个中转路由器都要处理这些选项。

如果没有路由扩展头,则只有最终目的节点需要处理这些选项。

(三)路由包头

类似于IPv4的松散源路由。IPv6的源节点可以利用路由扩展包头指定一个松散源路由,即分组从信源到信宿需要经过的中转路由器列表。

(四)分段包头

提供分段和重装服务。当分组大于链路最大传输单元(MTU)时,源节点负责对分组进行分段,并在分段扩展包头中提供重装信息。

(五)认证包头

提供数据源认证、数据完整性检查和反重播保护。认证包头不提供数据加密服务,需要加密服务的数据包,可以结合使用ESP协议。

(六)ESP协议包头

提供加密服务。

IPv6数据包:上层协议数据单元

上层数据单元即PDU,全称为Protocol Data Unit。  

PDU由传输头及其负载(如ICMPv6消息、或UDP消息等)组成。而IPv6包有效负载则包括IPv6扩展头和PDU,通常所能允许的最大字节数为65535字节,大于该字节数的负载可通过使用扩展头中的Jumbo Payload(见上文)选项进行发送。

IPv6寻址

在 Internet 协议版本 6 (IPv6) 中,地址的长度是 128 位。地址空间如此大的一个原因是将可用地址细分为反映 Internet 的拓扑的路由域的层次结构。另一个原因是映射将设备连接到网络的网络适配器(或接口)的地址。IPv6 提供了内在的功能,可以在其最低层(在网络接口层)解析地址,并且还具有自动配置功能。

文本表示形式

以下是用来将 IPv6 地址表示为文本字符串的三种常规形式:

(一)冒号十六进制形式。

这是首选形式 n:n:n:n:n:n:n:n。每个 n 都表示八个 16 位地址元素之一的十六进制值。例如:

3FFE:FFFF:7654:FEDA:1245:BA98:3210:4562.

(二)压缩形式。

由于地址长度要求,地址包含由零组成的长字符串的情况十分常见。为了简化对这些地址的写入,可以使用压缩形式,在这一压缩形式中,多个 0 块的单个连续序列由双冒号符号 (::) 表示。此符号只能在地址中出现一次。例如,多路广播地址 FFED:0:0:0:0:BA98:3210:4562 的压缩形式为 FFED::BA98:3210:4562。单播地址 3FFE:FFFF:0:0:8:800:20C4:0 的压缩形式为 3FFE:FFFF::8:800:20C4:0。环回地址 0:0:0:0:0:0:0:1 的压缩形式为 ::1。未指定的地址 0:0:0:0:0:0:0:0 的压缩形式为 ::。

(三)混合形式。

此形式组合 IPv4 和 IPv6 地址。在此情况下,地址格式为 n:n:n:n:n:n:d.d.d.d,其中每个 n 都表示六个 IPv6 高序位 16 位地址元素之一的十六进制值,每个 d 都表示 IPv4 地址的十进制值。

地址类型

地址中的前导位定义特定的 IPv6 地址类型。包含这些前导位的变长字段称作格式前缀 (FP)。

IPv6 单播地址被划分为两部分。第一部分包含地址前缀,第二部分包含接口标识符。表示 IPv6 地址/前缀组合的简明方式如下所示:ipv6 地址/前缀长度。

以下是具有 64 位前缀的地址的示例。

3FFE:FFFF:0:CD30:0:0:0:0/64.

此示例中的前缀是 3FFE:FFFF:0:CD30。该地址还可以以压缩形式写入,如 3FFE:FFFF:0:CD30::/64。

IPv6 定义以下地址类型:

单播地址。用于单个接口的标识符。发送到此地址的数据包被传递给标识的接口。通过高序位八位字节的值来将单播地址与多路广播地址区分开来。多路广播地址的高序列八位字节具有十六进制值 FF。此八位字节的任何其他值都标识单播地址。

以下是不同类型的单播地址:

链路-本地地址。这些地址用于单个链路并且具有以下形式:FE80::InterfaceID。链路-本地地址用在链路上的各节点之间,用于自动地址配置、邻居发现或未提供路由器的情况。链路-本地地址主要用于启动时以及系统尚未获取较大范围的地址之时。

站点-本地地址。这些地址用于单个站点并具有以下格式:FEC0::SubnetID:InterfaceID。站点-本地地址用于不需要全局前缀的站点内的寻址。

全局 IPv6 单播地址。这些地址可用在 Internet 上并具有以下格式:010(FP,3 位)TLA ID(13 位)Reserved(8 位)NLA ID(24 位)SLA ID(16 位)InterfaceID(64 位)。

多路广播地址。一组接口的标识符(通常属于不同的节点)。发送到此地址的数据包被传递给该地址标识的所有接口。多路广播地址类型代替 IPv4 广播地址。

任一广播地址。一组接口的标识符(通常属于不同的节点)。发送到此地址的数据包被传递给该地址标识的唯一一个接口。这是按路由标准标识的最近的接口。任一广播地址取自单播地址空间,而且在语法上不能与其他地址区别开来。寻址的接口依据其配置确定单播和任一广播地址之间的差别。

通常,节点始终具有链路-本地地址。它可以具有站点-本地地址和一个或多个全局地址。

IPv6路由

IPv6 的优点之一就是提供灵活的路由机制。由于分配 IPv4 网络 ID 所用的方式,要求位于 Internet 中枢上的路由器维护大型路由表。这些路由器必须知道所有的路由,以便转发可能定向到 Internet 上的任何节点的数据包。通过其聚合地址能力,IPv6 支持灵活的寻址方式,大大减小了路由表的规模。在这一新的寻址结构中,中间路由器必须只跟踪其网络的本地部分,以便适当地转发消息。

邻居发现

邻居发现提供以下一些功能:

路由器发现。这允许主机标识本地路由器。

地址解析。这允许节点为相应的下一跃点地址解析链路层地址(替代地址解析协议 [ARP])。

地址自动配置。这允许主机自动配置站点-本地地址和全局地址。

邻居发现将 Internet 控制消息协议用于 IPv6 (ICMPv6) 消息,这些消息包括:

路由器广告。在伪定期的基础上或响应路由器请求由路由器发送。IPv6 路由器使用路由器广告来公布其可用性、地址前缀和其他参数。

路由器请求。由主机发送,用于请求链路上的路由器立即发送路由器广告。

邻居请求。由节点发送,以用于地址解析、重复地址检测,或用于确认邻居是否仍可访问。

邻居广告。由节点发送,以响应邻居请求或通知邻居链路层地址中发生了更改。

重定向。由路由器发送,从而为某一发送节点指示指向特定目标的更好的下一跃点地址。

IPv6自动配置

IPv6 的一个重要目标是支持节点即插即用。也就是说,应该能够将节点插入 IPv6 网络并且不需要任何人为干预即可自动配置它。

自动配置的类型

IPv6 支持以下类型的自动配置:

全状态自动配置。此类型的配置需要某种程度的人为干预,因为它需要动态主机配置协议来用于 IPv6 (DHCPv6) 服务器,以便用于节点的安装和管理。DHCPv6 服务器保留它为之提供配置信息的节点的列表。它还维护状态信息,以便服务器知道每个在使用中的地址的使用时间长度以及该地址何时可供重新分配。

无状态自动配置。此类型配置适合于小型组织和个体。在此情况下,每一主机根据接收的路由器广告的内容确定其地址。通过使用 IEEE EUI-64 标准来定义地址的网络 ID 部分,可以合理假定该主机地址在链路上是唯一的。

不管地址是采用何种方式确定的,节点都必须确认其可能地址对于本地链路是唯一的。这是通过将邻居请求消息发送到可能的地址来实现的。如果节点接收到任何响应,它就知道该地址已在使用中并且必须确定其他地址。

IPv6 移动性

移动设备的迅速普及带来了一项新的要求:设备必须能够在 IPv6 Internet 上随意更改位置但仍维持现有连接。为提供此功能,需要给移动节点分配一个本地地址,通过此地址总可以访问到它。在移动节点位于本地时,它连接到本地链路并使用其本地地址。在移动节点远离本地时,本地代理(通常是路由器)在该移动节点和正与其进行通信的节点之间传递消息。

此处插入介绍。

英文说明(in english)

IPv6 is short for "Internet Protocol Version 6". IPv6 is the "next generation" protocol designed by the IETF to replace the current version Internet Protocol, IP Version 4 ("IPv4").

Most of today''''s internet uses IPv4, which is now nearly twenty years old. IPv4 has been remarkably resilient in spite of its age, but it is beginning to have problems. Most importantly, there is a growing shortage of IPv4 addresses, which are needed by all new machines added to the Internet.

IPv6 fixes a number of problems in IPv4, such as the limited number of available IPv4 addresses. It also adds many improvements to IPv4 in areas such as routing and network autoconfiguration. IPv6 is expected to gradually replace IPv4, with the two coexisting for a number of years during a transition period.

Some introductory information about the protocol can be found in our IPv6 FAQ. For those interested in the technical details, we have a list of IPv6 related specifications.

IPv6的安全性问题

现实Internet上的各种攻击、黑客、网络蠕虫病毒弄得网民人人自危,每天上网开了实时防病毒程序还不够,还要继续使用个人防火墙,打开实时防木马程序才敢上网冲浪。诸多人把这些都归咎于IPv4网络。现在IPv6来了,它设计的时候充分研究了以前IPv4的各种问题,在安全性上得到了大大的提高。但是是不是IPv6就没有安全问题了?答案是否定的。

目前,病毒和互联网蠕虫是最让人头疼的网络攻击行为。但这种传播方式在IPv6的网络中就不再适用了,因为IPv6的地址空间实在是太大了,如果这些病毒或者蠕虫还想通过扫描地址段的方式来找到有可乘之机的其他主机,就犹如大海捞针。在IPv6的世界中,对IPv6网络进行类似IPv4的按照IP地址段进行网络侦察是不可能了。

所以,在IPv6的世界里,病毒、互联网蠕虫的传播将变得非常困难。但是,基于应用层的病毒和互联网蠕虫是一定会存在的,电子邮件的病毒还是会继续传播。此外,还需要注意IPv6网络中的关键主机的安全。IPv6中的组发地址定义方式给攻击者带来了一些机会。例如,IPv6地址FF05::3是所有的DHCP服务器,就是说,如果向这个地址发布一个IPv6报文,这个报文可以到达网络中所有的DHCP服务器,所以可能会出现一些专门攻击这些服务器的拒绝服务攻击。

另外,不管是IPv4还是IPv6,都需要使用DNS,IPv6网络中的DNS服务器就是一个容易被黑客看中的关键主机。也就是说,虽然无法对整个网络进行系统的网络侦察,但在每个IPv6的网络中,总有那么几台主机是大家都知道网络名字的,也可以对这些主机进行攻击。而且,因为IPv6的地址空间实在是太大了,很多IPv6的网络都会使用动态的DNS服务。而如果攻击者可以攻占这台动态DNS服务器,就可以得到大量的在线IPv6的主机地址。另外,因为IPv6的地址是128位,很不好记,网络管理员可能会常常使用一下好记的IPv6地址,这些好记的IPv6地址可能会被编辑成一个类似字典的东西,病毒找到IPv6主机的可能性小,但猜到IPv6主机的可能性会大一些。而且由于IPv6和IPv4要共存相当长一段时间,很多网络管理员会把IPv4的地址放到IPv6地址的后32位中,黑客也可能按照这个方法来猜测可能的在线IPv6地址。所以,对于关键主机的安全需要特别重视,不然黑客就会从这里入手从而进入整个网络。所以,网络管理员在对主机赋予IPv6地址时,不应该使用好记的地址,也要尽量对自己网络中的IPv6地址进行随机化,这样会在很大程度上减少这些主机被黑客发现的机会。

以下这些网络攻击技术,不管是在IPv4还是在IPv6的网络中都存在,需要引起高度的重视:报文侦听,虽然IPv6提供了IPSEC最为保护报文的工具,但由于公匙和密匙的问题,在没有配置IPsec的情况下,偷看IPv6的报文仍然是可能的;应用层的攻击,显而易见,任何针对应用层,如WEB服务器,数据库服务器等的攻击都将仍然有效;中间人攻击,虽然IPv6提供了IPsec,还是有可能会遭到中间人的攻击,所以应尽量使用正常的模式来交换密匙;洪水攻击,不论在IPv4还是在IPv6的网络中,向被攻击的主机发布大量的网络流量的攻击将是会一直存在的,虽然在IPv6中,追溯攻击的源头要比在IPv4中容易一些。

Copyright© 1999-2024 C114 All Rights Reserved | 联系我们 | 沪ICP备12002291号-4