当前位置:首页>技术文档
IPv6详解(一)
发布日期:2017-08-07浏览次数: 字号:[ ]

定义: IPv6是Internet 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。每个人将拥有更多IP地址。 

概述

目前我们使用的第二代互联网IPv4技术,核心技术属于美国。它的最大问题是网络地址资源有限,从理论上讲,编址1600万个网络、40亿台主机。但采用A、B、C三类编址方式后,可用的网络地址和主机地址的数目大打折扣,以至目前的IP地址近乎枯竭。其中北美占有3/4,约30亿个,而人口最多的亚洲只有不到4亿个,中国只有3千多万个,只相当于美国麻省理工学院的数量。地址不足,严重地制约了我国及其他国家互联网的应用和发展。

一方面是地址资源数量的限制,另一方面是随着电子技术及网络技术的发展,计算机网络将进入人们的日常生活,可能身边的每一样东西都需要连入全球因特网。在这样的环境下,IPv6应运而生。单从数字上来说,IPv6所拥有的地址容量是IPv4的约8×10^28倍,达到2^128-1个。这不但解决了网络地址资源数量的问题,同时也为除电脑外的设备连入互联网在数量限制上扫清了障碍。

但是与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报文进行校验,极大的增强了网络的安全性。[4] 

技术信息概述

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位最多可表示65535字节负载长度。超过这一字节数的负载,该字段值置为“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技术对管理网络应用程序的影响

IPv6中有足够的地址为地球上每一平方英寸的地方分配一个独一无二的IP地址。虽然这实际上能够使你能想到的任何设备都分配一个IP地址,但是,这对于管理地址分配的管理员来说却是一个恶梦。幸运的是IPv6包含一种“节点自动配置”功能。这实际上是在所有的IPv6网络中替代DHCP(动态主机配置协议)和ARP(地址解析协议)的下一代技术,能够让你不进行任何设置就可以把新设备连接到网络。如果你更换了ISP(因此被分配一个不同的全球路由前缀),这个功能可以使你的网络重新分配IP地址的过程更简单,因为你所要做的一切只是改变你的路由器的设置,你的网络将重新获得一个使用新的前缀的新地址。这将减少网络管理的巨大负担。 

[5]随着IPv6功能的增加,又出现一些潜在的管理问题。IPv6本身提供了安全支持功能,这种功能称作“IPsec”。根据VPN建立的方式,加密也许包括也许不包括某些头信息。VPN可以减少客户机和服务器之间通信管理的工作量。管理端点(IKE,互连网密钥交换)之间的安全策略也是很复杂的,如果你要亲自做这项工作的话。这是基于IPsec和VPN提供的主要功能之一。当然,IPsec可以很强大,但是,在某些远程接入的情况下是很脆弱的,例如使用一个移动设备访问一个企业网络。IT部门要提供这种服务将进一步增加管理的负担。 

IPv6 编址

从IPv4到IPv6最显著的变化就是网络地址的长度。RFC 2373 和RFC 2374定义的IPv6地址,就像下面章节所描述的,有128位长;IPv6地址的表达形式一般采用32个十六进制数。

IPv6中可能的地址有2 ≈ 3.4×10个。也可以想象为16个因为32位地址每位可以取16个不同的值。

在很多场合,IPv6地址由两个逻辑部分组成:一个64位的网络前缀和一个64位的主机地址,主机地址通常根据物理地址自动生成,叫做EUI-64(或者64-位扩展唯一标识)。[3][2] 

IPv6安装

1. Windows 2000 操作系统 

(1) 确认windows操作系统的补丁包已经升级到SP4。

(2) 下载补丁包“tcpipv6-sp4.exe”,并双击运行该自解压文件。

(3) 依次打开“控制面板”、“网络和拨号连接”,右击“本地连接”,再依次单击“属性”、“安装”、“协议”,选择“MSR IPv6 Protocol”协议,即可成功安装IPv6协议栈。

2. Windows XP/Windows 2003 操作系统 

(1) IPv6 协议栈的安装

在 开始 --> 运行 处执行 ipv6 install

(2) IPv6 地址设置

在 开始 --> 运行 处执行 netsh 进入系统网络参数设置环境,然后执行

interface ipv6 add address “ 本地连接 ” 2001:da8:207::9402

(3) IPv6 默认网关设置

在上述系统网络参数设置环境中执行

interface ipv6 add route ::/0 “ 本地连接 ” 2001:da8:207::9401 publish=yes

(4) 网络测试命令

ping6 、 tracert6

3. Windows Vista 操作系统

(1) 开始——程序——附件——右键点击“命令提示符”——以管理员身份运行

(2) netsh interface ipv6 isatap set state enabled回车

(3) netsh interface ipv6 isatap set router 隧道IP 回车

4. Linux 操作系统 

(1) 安装ipv6协议

modprobe ipv6

(2)IPv6 地址设置

ifconfig eth0 inet6 add 2001:da8:207::9402

(3) IPv6 默认网关设置

route -A inet6 add ::/0 gw 2001:da8:207::9401

(4) 网络测试命令

ping6 、 traceroute6 

5. Solaris 操作系统 

(1) 创建 IPv6 接口

touch /etc/hostname6.hme0

(2)添加 IPv6 地址

在 /etc/inet/ipnodes 文件中 , 加入如下一行 :

2001:da8:207::9402 ipv6.bnu.edu.cn bnu-ipv6

(3)设置 dns 查找顺序

在 /etc/nsswitch.conf 文件中 , 修改 hosts 和 ipnodes 项如下 :

hosts: files dns

ipnodes: files dns

(4) 添加默认路由

route add -inet6 default 2001:da8:207::9401 -interface

(5) 测试命令

ping -A inet6 IPv6 目标地址

traceroute -A inet6 IPv6 目标地址

【打印本页】 【关闭本页】