IPv6基础知识
IPv6是Internet Protocol Version 6的缩写,其中Internet Protocol译为“互联网协议”。IPv6是IETF(互联网工程任务组,Internet Engineering Task Force)设计的用于替代现行版本IP协议(IPv4)的下一代IP协议。目前IP协议的版本号是4(简称为IPv4),它的下一个版本就是IPv6。
目前我们使用的互联网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有利于互联网的持续和长久发展。 目前,国际互联网组织已经决定成立两个专门工作组,制定相应的国际标准。
特点
(1)IPV6地址长度为128比特,地址空间增大了2的96次方倍;
(2)灵活的IP报文头部格式。使用一系列固定格式的扩展头部取代了IPV4中可变长度的选项字段。IPV6中选项部分的出现方式也有所变化,使路由器可以简单路过选项而不做任何处理,加快了报文处理速度。
(3)IPV6简化了报文头部格式,字段只有7个,加快报文转发,提高了吞吐量;
(4)提高安全性。身份认证和隐私权是IPV6的关键特性。
(5)支持更多的服务类型;
(6)允许协议继续演变,增加新的功能,使之适应未来技术的发展。
优势
与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数据包由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。
Traffic 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逐跳选项包头、
目的地选项包头、
路由包头、
分段包头、
AH认证包头和
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)时,源节点负责对分组进行分段,并在分段扩展包头中提供重装信息。
(五)AH认证包头
提供数据源认证、数据完整性检查和反重播保护。认证包头不提供数据加密服务,需要加密服务的数据包,可以结合使用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地址的过程更简单,因为你所要做的一切只是改变你的路由器的设置,你的网络将重新获得一个使用新的前缀的新地址。这将减少网络管理的巨大负担。
随着IPv6功能的增加,又出现一些潜在的管理问题。IPv6本身提供了安全支持功能,这种功能称作“IPsec”。根据VPN建立的方式,加密也许包括也许不包括某些头信息。VPN可以减少客户机和服务器之间通信管理的工作量。管理端点(IKE,互连网密钥交换)之间的安全策略也是很复杂的,如果你要亲自做这项工作的话。这是基于IPsec和VPN提供的主要功能之一。当然,IPsec可以很强大,但是,在某些远程接入的情况下是很脆弱的,例如使用一个移动设备访问一个企业网络。IT部门要提供这种服务将进一步增加管理的负担。
IPv6 编址
从IPv4到IPv6最显著的变化就是网络地址的长度。RFC 2373 和RFC 2374定义的IPv6地址,就像下面章节所描述的,有128位长;IPv6地址的表达形式一般采用32个十六进制数。
IPv6中可能的地址有3.4×10^38个。也可以想象为16个因为32位地址每位可以取16个不同的值。
在很多场合,IPv6地址由两个逻辑部分组成:一个64位的网络前缀和一个64位的主机地址,主机地址通常根据物理地址自动生成,叫做EUI-64(或者64-位扩展唯一标识)。
IPv6地址表示
IPv6地址为128位长,但通常写作8组,每组为四个十六进制数的形式。例如:
2001:0db8:85a3:08d3:1319:8a2e:0370:7344是一个合法的IPv6地址。
如果四个数字都是零,可以被省略。例如:
2001:0db8:85a3:0000:1319:8a2e:0370:7344等价于
2001:0db8:85a3::1319:8a2e:0370:7344遵从这些规则,如果因为省略而出现了两个以上的冒号的话,可以压缩为一个,但这种零压缩在地址中只能出现一次。因此:
2001:0DB8:0000:0000:0000:0000:1428:57ab
2001:0DB8:0000:0000:0000::1428:57ab
2001:0DB8:0:0:0:0:1428:57ab
2001:0DB8:0::0:1428:57ab
2001:0DB8::1428:57ab
都使合法的地址,并且他们是等价的。但
2001::25de::cade是非法的。(因为这样会使得搞不清楚每个压缩中有几个全零的分组)
同时前导的零可以省略,因此:
2001:0DB8:02de::0e13等价于 2001:DB8:2de::e13如果这个地址实际上是IPv4的地址,后32位可以用10进制数表示;因此:
ffff:192.168.89.9 等价于 ::ffff:c0a8:5909, 但不等价于 ::192.168.89.9 和 ::c0a8:5909。
ffff:1.2.3.4格式叫做IPv4映像地址,是不建议使用的。而::1.2.3.4格式叫做IPv4一致地址。
IPv4 地址可以很容易的转化为IPv6格式。举例来说,如果IPv4的一个地址为135.75.43.52(十六进制为0x874B2B34),它可以被转化为0000:0000:0000:0000:0000:0000:874B:2B34或者::874B:2B34。同时,还可以使用混合符号(IPv4-compatible address),则地址可以为::135.75.43.52。
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
画面显示:
netsh interface ipv6>
然后再执行
add address “本地连接” 2001:da8:207::9402
(3) IPv6 默认网关设置
在上述系统网络参数设置环境中执行
add route ::/0 “本地连接” 2001:da8:207::9401 publish=yes
(4) 网络测试命令
ping6 、 tracert6
3. Windows Vista 操作系统
(1) 操作系统默认开启IPv6,直接在本地连接中可进行IPv6地址与网关、DNS等配置,与IPv4相同
4. Windows 7操作系统
(1) 操作系统默认开启IPv6,直接在本地连接中可进行IPv6地址与网关、DNS等配置,与IPv4相同
5. 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
6. 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 目标地址
地址类型
地址中的前导位定义特定的 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中的组播在功能上与IPv4中的组播类似:表现为一组接口对看到的流量都很感兴趣。
组播分组前8比特设置为FF。接下来的4比特是地址生存期:0是永久的,而1是临时的。接下来的4比特说明了组播地址范围(分组可以达到多远):1为节点,2为链路,5为站点,8为组织,而E是全局(整个因特网)。
IPv6路由
IPv6 的优点之一就是提供灵活的路由机制。由于分配 IPv4 网络 ID 所用的方式,要求位于 Internet 中枢上的路由器维护大型路由表。这些路由器必须知道所有的路由,以便转发可能定向到 Internet 上的任何节点的数据包。通过其聚合地址能力,IPv6 支持灵活的寻址方式,大大减小了路由表的规模。在这一新的寻址结构中,中间路由器必须只跟踪其网络的本地部分,以便适当地转发消息。
IPv6使用的路由协议与IPv4基本一致,但RIPng与OSPFv3为适应IPv6协议而全新开发,ISISv6与BGP4+通过扩展来支持IPv6
IPv6相关的IGP路由协议有:RIPng、OPSFv3、ISISv6;
IPv6相关的EGP路由协议有:BGP4+。
IPv6邻居发现
IPv6协议中的邻居发现提供非常重要的一些功能,针对IPv4中的一些缺陷,进行了很大的改进与完善:
路由器发现。这允许主机标识本地路由器。
地址解析。这允许节点为相应的下一跃点地址解析链路层地址(替代地址解析协议 [ARP])。
地址自动配置。这允许主机自动配置站点-本地地址和全局地址。
IPv6邻居发现将 Internet 控制消息协议用于 IPv6 (ICMPv6) 消息,这些消息包括:
路由器通告。在伪定期的基础上或响应路由器请求由路由器发送。IPv6 路由器使用路由器广告来公布其可用性、地址前缀和其他参数。
路由器请求。由主机发送,用于请求链路上的路由器立即发送路由器广告。
邻居请求。由节点发送,以用于地址解析、重复地址检测,或用于确认邻居是否仍可访问。
邻居通告。由节点发送,以响应邻居请求或通知邻居链路层地址中发生了更改。
重定向。由路由器发送,从而为某一发送节点指示指向特定目标的更好的下一跃点地址。
IPv6地址自动配置
IPv6 的一个重要目标是支持节点即插即用。也就是说,应该能够将节点插入 IPv6 网络并且不需要任何人为干预即可自动配置它。
IPv6 支持以下类型的自动配置:
有状态地址自动配置。
此类型的配置需要某种程度的人为干预,因为它需要动态主机配置协议来用于 IPv6 (DHCPv6) 服务器,以便用于节点的安装和管理。DHCPv6 服务器保留它为之提供配置信息的节点的列表。它还维护状态信息,以便服务器知道每个在使用中的地址的使用时间长度以及该地址何时可供重新分配。
无状态地址自动配置。
此类型配置适合于小型组织和个体。在此情况下,每一主机根据接收的路由器广告的内容确定其地址。通过使用 IEEE EUI-64 标准来定义地址的网络 ID 部分,可以合理假定该主机地址在链路上是唯一的。
不管地址是采用何种方式确定的,节点都必须确认其可能地址对于本地链路是唯一的。这是通过将邻居请求消息发送到可能的地址来实现的。如果节点接收到任何响应,它就知道该地址已在使用中并且必须确定其他地址。
IPv6 移动性
移动设备的迅速普及带来了一项新的要求:设备必须能够在 IPv6 Internet 上随意更改位置但仍维持现有连接。为提供此功能,需要给移动节点分配一个本地地址,通过此地址总可以访问到它。在移动节点位于本地时,它连接到本地链路并使用其本地地址。在移动节点远离本地时,本地代理(通常是路由器)在该移动节点和正与其进行通信的节点之间传递消息。
IPv6的安全性问题
现实Internet上的各种攻击、黑客、网络蠕虫病毒弄得网民人人自危,每天上网开了实时防病毒程序还不够,还要继续使用个人防火墙,打开实时防木马程序才敢上网冲浪。诸多人把这些都归咎于IPv4网络。现在IPv6来了,它设计的时候充分研究了以前IPv4的各种问题,在安全性上得到了大大的提高。但是是不是IPv6就没有安全问题了?答案是否定的。
目前,病毒和互联网蠕虫是最让人头疼的网络攻击行为。但这种传播方式在IPv6的网络中就不再适用了,因为IPv6的地址空间实在是太大了,如果这些病毒或者蠕虫还想通过扫描地址段的方式来找到有可乘之机的其他主机,就犹如大海捞针。在IPv6的世界中,对IPv6网络进行类似IPv4的按照IP地址段进行网络侦察是不可能了。
所以,在IPv6的世界里,病毒、互联网蠕虫的传播将变得非常困难。但是,基于应用层的病毒和互联网蠕虫是一定会存在的,电子邮件的病毒还是会继续传播。此外,还需要注意IPv6网络中的关键主机的安全。IPv6中的组发地址定义方式给攻击者带来了一些机会。例如,IPv6地址FF05::3是所有的DHCP服务器,就是说,如果向这个地址发布一个IPv6报文,这个报文可以到达网络中所有的DHCP服务器,所以可能会出现一些专门攻击这些服务器的拒绝服务攻击。
IPv4到IPv6的过渡技术
另外,不管是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中容易一些。
IPv4到IPv6的过渡技术
由于Internet的规模以及目前网络中数量庞大的IPv4用户和设备,IPv4到v6的过渡不可能一次性实现。而且,目前许多企业和用户的日常工作越来越依赖于Internet,它们无法容忍在协议过渡过程中出现的问题。所以IPv4到v6的过渡必须是一个循序渐进的过程,在体验IPv6带来的好处的同时仍能与网络中其余的IPv4用户通信。能否顺利地实现从IPv4到IPv6的过渡也是IPv6能否取得成功的一个重要因素。
实际上,IPv6在设计的过程中就已经考虑到了IPv4到IPv6的过渡问题,并提供了一些特性使过渡过程简化。例如,IPv6地址可以使用IPv4兼容地址,自动由IPv4地址产生;也可以在IPv4的网络上构建隧道,连接IPv6孤岛。目前针对IPv4-v6过渡问题已经提出了许多机制,它们的实现原理和应用环境各有侧重,这一部分里将对IPv4-v6过渡的基本策略和机制做一个系统性的介绍。
在IPv4-v6过渡的过程中,必须遵循如下的原则和目标:
·保证IPv4和IPv6主机之间的互通;
·在更新过程中避免设备之间的依赖性(即某个设备的更新不依赖于其它设备的更新);
·对于网络管理者和终端用户来说,过渡过程易于理解和实现;
·过渡可以逐个进行;
·用户、运营商可以自己决定何时过渡以及如何过渡。
主要分三个方面:IP层的过渡策略与技术、链路层对IPv6的支持、IPv6对上层的影响
对于IPV4向IPV6技术的演进策略,业界提出了许多解决方案。特别是IETF组织专门成立了一个研究此演变的研究小组NGTRANS,已提交了各种演进策略草案,并力图使之成为标准。纵观各种演进策略,主流技术大致可分如下几类:
双栈策略
实现IPv6结点与IPv4结点互通的最直接的方式是在IPv6结点中加入IPv4协议栈。具有双协议栈的结点称作“IPv6/v4结点”,这些结点既可以收发IPv4分组,也可以收发IPv6分组。它们可以使用IPv4与IPv4结点互通,也可以直接使用IPv6与IPv6结点互通。双栈技术不需要构造隧道,但后文介绍的隧道技术中要用到双栈。 IPv6/v4结点可以只支持手工配置隧道,也可以既支持手工配置也支持自动隧道。
隧道技术
在IPV6发展初期,必然有许多局部的纯IPV6网络,这些IPV6网络被IPV4骨干网络隔离开来,为了使这些孤立的“IPV6岛”互通,就采取隧道技术的方式来解决。利用穿越现存IPV4因特网的隧道技术将许多个“IPV6孤岛”连接起来,逐步扩大IPV6的实现范围,这就是目前国际IPV6试验床6Bone的计划。 工作机理:在IPV6网络与IPV4网络间的隧道入口处,路由器将IPV6的数据分组封装入IPV4中,IPV4分组的源地址和目的地址分别是隧道入口和出口的IPV4地址。在隧道的出口处再将IPV6分组取出转发给目的节点。 隧道技术在实践中有四种具体形式:构造隧道、自动配置隧道、组播隧道以及6to4。
TB(Tunnel Broker,隧道代理)
对于独立的v6用户,要通过现有的IPv4网络连接IPv6网络上,必须使用隧道技术。但是手工配置隧道的扩展性很差,TB的主要目的就是简化隧道的配置,提供自动的配置手段。对于已经建立起IPv6的ISP来说,使用TB技术为网络用户的扩展提供了一个方便的手段。从这个意义上说,TB可以看作是一个虚拟的IPv6 ISP,它为已经连接到IPv4网络上的用户提供连接到IPv6网络的手段,而连接到IPv4网络上的用户就是TB的客户。
双栈转换机制(DSTM)
DSTM的目标是实现新的IPv6网络与现有的IPv4网络之间的互通。使用DSTM,IPv6网络中的双栈结点与一个IPv4网络中的IPv4主机可以互相通信。DSTM的基本组成部分包括:
·DHCPv6服务器,为IPv6网络中的双栈主机分配一个临时的IPv4全网唯一地址,同时保留这个临时分配的IPv4地址与主机IPv6永久地址之间的映射关系,此外提供IPv6隧道的隧道末端(TEP)信息;
·动态隧道端口DTI:每个DSTM主机上都有一个IPv4端口,用于将IPv4报文打包到IPv6报文里; ·DSTM Deamon:与DHCPv6客户端协同工作,实现IPv6地址与IPv4地址之间的解析。
协议转换技术
其主要思想是在V6节点与V4节点的通信时需借助于中间的协议转换服务器,此协议转换服务器的主要功能是把网络层协议头进行V6/V4间的转换,以适应对端的协议类型。
优点:能有效解决V4节点与V6节点互通的问题。
缺点:不能支持所有的应用。这些应用层程序包括:① 应用层协议中如果包含有IP地址、端口等信息的应用程序,如果不将高层报文中的IP地址进行变换,则这些应用程序就无法工作,如FTP、STMP等。② 含有在应用层进行认证、加密的应用程序无法在此协议转换中工作。
SOCKS64
一个是在客户端里引入SOCKS库,这个过程称为“socks化”(socksifying),它处在应用层和socket之间,对应用层的socket API和DNS名字解析API进行替换;
另一个是SOCKS网关,它安装在IPv6/v4双栈结点上,是一个增强型的SOCKS服务器,能实现客户端C和目的端D之间任何协议组合的中继。当C上的SOCKS库发起一个请求后,由网关产生一个相应的线程负责对连接进行中继。SOCKS库与网关之间通过SOCKS(SOCKSv5)协议通信,因此它们之间的连接是“SOCKS化”的连接,不仅包括业务数据也包括控制信息;而G和D之间的连接未作改动,属于正常连接。D上的应用程序并不知道C的存在,它认为通信对端是G。
传输层中继(Transport Relay)
与SOCKS64的工作机理相似,只不过是在传输层中继器进行传输层的“协议翻译”,而SOCKS64是在网络层进行协议翻译。它相对于SOCKS64,可以避免“IP分组分片”和“ICMP报文转换”带来的问题,因为每个连接都是真正的IPV4或IPV6连接。但同样无法解决网络应用程序数据中含有网络地址信息所带来的地址无法转换的问题。
应用层代理网关(ALG)
ALG是Application Level Gateway的简称,与SOCKS64、传输层中继等技术一样,都是在V4与V6间提供一个双栈网关,提供“协议翻译”的功能,只不过ALG是在应用层级进行协议翻译。这样可以有效解决应用程序中带有网络地址的问题,但ALG必须针对每个业务编写单独的ALG代理,同时还需要客户端应用也在不同程序上支持ALG代理,灵活性很差。显然,此技术必须与其它过渡技术综合使用,才有推广意义。
过渡策略总结
双栈、隧道是主流
所有的过渡技术都是基于双栈实现的
不同的过渡策略各有优劣、应用环境不同
网络的演进过程中将是多种过渡技术的综合
根据运营商具体的网络情况进行分析
由不同的组织或个人提出的IPV4向IPV6平滑过渡策略技术很多,它们都各有自己的优势和缺陷。因此,最好的解决方案是综合其中的几种过渡技术,取长补短,同时,兼顾各运营商具体的网络设施情况,并考虑成本的因素,为运营商设计一套适合于他自己发展的平滑过渡解决方案。
IPv6测试
一、产品测试
IPv6产品经过测试,获得“IPv6 Ready”Logo,即表明该产品是业界公认的支持.
1. IPv6 Ready:Phase-1 第一阶段银牌认证
基本测试(RFC2460, 2461, 2462, 2463)
测试对象:主机,路由器,交换机,应用终端,系统软件,特殊设备通告设备、服务的互通性和一致性情况
2. IPv6 Ready Phase-2 第二阶段金牌认证
Phase-2面向专业应用, 增加Core,IPsec,MIPv6等增强特性的测试,根据IPv6技术标准检查和确保设备与服务的互通性和一致性.
2.1 IPv6 Ready Phase-2 增强核心协议认证
RFC: 1981, 2460,4291,4443,4861,4862,5095
测试对象:主机,路由器
注释:2009年前获得认证的产品都是第二阶段核心协议金牌认证,从2009年后获得的都是IPv6 Ready Phase-2 第二阶段核心协议增强金牌认证
2.2 IPv6 Ready Phase-2 IPsec认证
RFC: 1829,1851,2401,2403,2404,2405,2406,2410,3566,3602
测试对象: End-Node(终端节点),SGW(信令网关)
2.3 IPv6 Ready Phase-2 MIPv6认证
RFC: 3775,3776
测试对象: MN(移动节点),CN(通信节点),HA(家乡代理)
2.4 IPv6 Ready Phase-2 NEMO认证
RFC:3963,3775
测试对象:家乡代理和移动路由器
2.5 IPv6 Ready Phase-2 DHCPv6认证
RFC:3315,3646,3736
测试对象:客户端、服务器和中继代理
2.6 IPv6 Ready Phase-2 SIP认证
RFC: 3261,3264,4566,2617,3665
测试对象:SIP服务器和SIP UA
2.7 IPv6 Ready Phase-2 management 认证
RFC: 3416,3418,4001,4293,2578,2579,2580
测试对象:Agent,Manager
二、应用和服务测试
IPv6论坛的IPv6 Enabled认证程序包括IPv6 Enabled WWW 认证程序和IPv6 Enabled ISP认证程序。
IPv6 Enabled WWW 认证主要是为已经部署了IPv6的网站提供一系列的测试认证服务。通过DNS解析、HTTP访问等测试项,为符合国际IPv6 Enabled WWW规范标准的IPv6网站客户办法logo。IPv6 Enabled WWW测试认证的目标是推进IPv6技术的部署,通过有效的IPv6应用示范,增强用户对IPv6技术应用的信息。鼓励网站、网络服务商部署IPv6,并为其提供测试服务。
IPv6 Enabled ISP 认证程序目标是为支持IPv6的ISP设计,通过认证来鼓励和加速ISP的IPv6的部署。我们定义了互联网服务提供商(ISP也叫互联网访问提供商或IAP)作为一个能为其用户提供互联网和相关服务的机构。激励服务提供商(如 ISP, ASPs 和 CSP)为用户提供IPv6使能的服务。申请的ISP将被按照规范检验,如果通过IPv6 Forum将授权该ISP的 IPv6 Enabled ISP的使用。IPv6 Enabled 标识程序 (v6eLogo) 致力于通过展示IPv6目前可用来增加用户的信心。
IPV6地址申请
申请办法
CNNIC可以代理成员从APNIC申请IPV6地址,申请条件:
1. 是ISP或提供互联网络服务的单位
2. 是CNNIC会员
3. 不是终端站点
4. 计划给用户提供IPv6连接并提供/48的地址分配,通过单一聚合的地址为这些单位通告分配的IPV6地址。
5. 计划两年内至少给200个用户提供/48的分配。
目前的地址分配通常是是/32。
申请FAQ
1. IPv6怎样收费?
答:IPv6的收费根据以下两种情况,收费标准不同
1)只申请IPv6地址:
CNNIC联盟成员只申请IPv6地址的,按IPv6地址拥有量的多少划分为不同的级别,并按级别收取年费。
2)同时申请IPv4地址和IPv6地址:
CNNIC联盟成员同时申请IPv4和IPv6地址的,按IPv4地址拥有量和IPv6地址拥有量的多少分别计算,取其中较高的作为会员级别,并按级别收取年费。 2. CNNIC可以给会员分配多大的IPv6地址?
答:CNNIC目前分配给会员的IPv6地址大小为/32。
3. IPv6地址的申请条件?
答:1)是ISP或提供互联网络服务的单位
2)是CNNIC会员
3)不是终端站点
4)计划给用户提供IPv6连接并提供/48的地址分配,通过单一聚合的地址为这些单位通告分配的IPV6地址。
5)计划两年内至少给200个用户提供/48的分配。
注:以上内容大部分来自百度百科,但已根据实际情况进行部分修改与完善
原创文章,作者:满天星,如若转载,请注明出处:https://www.ipv6s.com/basis/20100806141.html