The Study and Design of Networking
Based on IPv6
基于IPv6的组网研究和设计
摘要 国际互联网名称与地址分配机构(ICANN)已在今年2月发布公告称其所拥
有的IP地址已经全部分配出去了,IPv4地址已经枯竭。这标志着:互联网向IPV6过渡已经开始进入了实施阶段,全人类正共同面对IP地址短缺的问题,IPV4升级到IPV6已是全球共识。并且,在北京“2011年全球IPv6下一代互联网高峰会议”的成功举行也证实了IPv6实施的紧迫性与必要性。
本论文对IPv6基本概念,地址类型,IPv6网络基础协议DHCPv6、ICMPv6,网络控制列表, IPv6路由协议RIPng和OSPFv3及IPv4向IPv6三种过渡技术进行了阐述,结合学校网络实验室设备拓扑图,实现了基于IPv6的网络设计及DHCPv6、IPv6路由协议在思科网络设备和windows系统主机上的配置及其工作原理,并充分考虑了与IPV4网络兼容性的需要,通过使用NAT-PT技术、IPv6隧道技术实现IPv4网络与IPv6网络互相通信,整个网络运行良好,IPv6和IPv4部分能够很好的兼容工作。文章最后对IPv6的安全性做了简要的分析。
关键词:IPv6 隧道技术 IPv6路由技术 NAT-PT DHCPv6
The study and design of IPv6
Abstract Internet Corporation for Assigned Names and addresses (ICANN) announced in
February this year that all the IP address had been assigned, IPv4 addresses were exhausted. This showed IPV6 transition has begun to step into the implementation phase ,all human beings are working together to face the problem of the shortage of IP address ,and the transition from IPV4 to IPV6 is a global consensus now. Besides, the successful conclusion of \"Global IPv6 Summit 2011\" in Beijing also presents the urgency and necessity of the IPv6 implementation to us.
This thesis introduces the basic concepts of IPv6,the format of IPv6 address, IPv6 network infrastructure protocols such as DHCPv6 and ICMPv6, ACL,IPv6 routing protocols such as RIPng and OSPFv3 and three method of deploying the coexisting policy connected IPv4/IPv6 in the process of transition. With the school network topology of laboratory equipment, the networks based on IPV6 with the configuration of DHCPv6 and IPv6 routing protocol are deployed .all the configurations are played on the Cisco network devices or windows operation system platform. In order to give full consideration to the compatibility with the IPV4 network, the NAT-PT technology, IPv6 tunnel techniques are employed to make sure the communication between IPv4 and IPv6 networks is successful.
With all the work done, the whole network works very well and the IPv6 network is all coexisting with the IPv4 network successfully. Besides, at the end of the thesis, the
security of IPv6 is discussed in brief.
Key words IPv6 tunnel techniques IPv6 Routing NAT-PT DHCPv6
目 录
第一章 引言 ............................................................................................... 1
...................................................................................................................................1 ...................................................................................................................................1 ...................................................................................................................................2
第二章 IPv6概述 ...................................................................................... 3 第二章 IPv6概述 ...................................................................................... 3
IPv6的表示.............................................................................................................3 IPV6地址类型 ........................................................................................................3 单播(Unicast) .................................................................................................... 3 任意播(Anycast) ............................................................................................... 4 多播(Multicast) ................................................................................................. 4 IPV6的邻居发现过程 ............................................................................................4 DNS系统 ................................................................................................................5 IPV6的ACL ...........................................................................................................6 IPv6 ACL分类 ....................................................................................................... 6 IPv6 ACL命名 ....................................................................................................... 6 IPv6 ACL匹配顺序 ............................................................................................... 6 DHCPv6 ..................................................................................................................7 DHCPv6网络构成 ................................................................................................ 7 DHCPv6地址/前缀分配过程 ............................................................................... 7 .................................................................................................................................. 8 DHCPv6无状态配置 ............................................................................................ 8
第三章 IPv6的路由选择 .......................................................................... 9
RIPng .......................................................................................................................9 RIPng报文格式 ..................................................................................................... 9 RIPng工作原理 ................................................................................................... 10
RIPng和RIPv1、RIPv2的区别 ........................................................................ 10 OSPFV3 .................................................................................................................10 OSPFv3简介 ......................................................................................................... 11 OSPFv3和OSPFv2的主要区别如下: ............................................................. 11
第四章 IPV6与IPv4的共存与整合策略 .............................................. 12
.................................................................................................................................12 隧道 .......................................................................................................................13 ................................................................................................................................ 13 隧道服务器 .......................................................................................................... 13 配置隧道 .............................................................................................................. 14 6to4隧道 .............................................................................................................. 14 ISATAP隧道 ........................................................................................................ 15 TEREDO隧道 ..................................................................................................... 15 协议转换 ...............................................................................................................15 NAT-PT原理 ........................................................................................................ 16 NAT-PT机制 ........................................................................................................ 16 NAT-PT实现过程 ................................................................................................ 17 各种隧道技术比较 ...............................................................................................18
第五章 基于IPv6的组网设计 ............................................................... 19
网络总体设计及所需环境、设备概述 ...............................................................19 综合网络拓扑图 .................................................................................................. 19 设备型号介绍 ...................................................................................................... 20 OSPFv3的配置.....................................................................................................20 OSPFv3实验拓扑图与地址规划 ........................................................................ 20 设备的基本配置 .................................................................................................. 21 RIPng的配置 ........................................................................................................21 实验拓扑图与地址分配 ...................................................................................... 22 RIPng 配置命令分析 .......................................................................................... 22 结果验证 .............................................................................................................. 23
采用配置隧道 .......................................................................................................25 实验拓扑图 .......................................................................................................... 25 配置隧道的配置 .................................................................................................. 26 实验结果的观察与验证 ...................................................................................... 28 DHCPv6的配置 ...................................................................................................29 Cisco 设备的DHCPv6应用分析 ...................................................................... 29 Cisco 路由器DHCPv6的配置 .......................................................................... 29 主机从DHCPv6服务器获取的结果 ................................................................. 31 NAT-PT ..................................................................................................................31 ................................................................................................................................ 31 ................................................................................................................................ 31 主机隧道配置 .......................................................................................................32 ................................................................................................................................ 33 ................................................................................................................................ 33 ................................................................................................................................ 34 ISATAP隧道配置 .................................................................................................34 ................................................................................................................................ 34 ................................................................................................................................ 35 ................................................................................................................................ 35
结 论 ................................................................................................. 37 致 谢 ................................................................................................. 38 参考文献 ..................................................................................................... 39 附 录 A ...................................................................................................... 40
第一章 引言
IPv4自1981年发布以来,由于它的可靠、易实施、及可操作性,经受住了从互联网扩大到今天的全球性应用的Internet的考验,这是对它最初设计的肯定。
我们现有的互联网是在IPv4协议的基础上运行的,IPV4采用32位地址,总量约为43亿个。随着网络的迅猛发展,全球数字化和信息化的加速,园区网络越来越多的应用到校园和企业当中, 由于IPv4地址空间的短缺以及存在的一些安全方面的漏洞极大地影响了园区网的发展。所以人们急需要从现有的IPv4网络中向下一代互联网即IPv6网络迁移。
用于下一代互联网的IPv6地址可以提供足够的地址空间,足以满足快速增长的全局可路由地址的需求,并能提供更多的地址层次。IPv6的地址空间不但被增加到128 bit,还将层次化要求设计到了全局可路由地址的格式之中。IPv6地址提高了扩展能力,由于吸取了IPv4的经验教训,IPv6在设计之初就解决了扩展性、易于配置性和安全性等问题。
今年2月3日,国际互联网名称与地址分配机构(ICANN)发布公告称,最后所剩的5组IP地址(基于互联网通信协议IPv4)被分配给了全球5大区域互联网注册管理机构,IPv4地址已经枯竭。于是IPV6协议的运营就显得很有必要了,其所拥有的地址容量是IPv4的约8×1028倍,正像其宣传口号一样:IPV6让地球上每一粒沙子都具有IP地址。
此课题主要分析了IPv6地址结构与分类、IPv6寻址、邻节点发现过程,域名系统、DHCPv6、ICMPv6、IPv6路由与安全等一系列有关IPv6 基础知识与特性,对IPv6进行了较为深入的研究,并介绍了IPV6与V4的共存与整合的三种方式: 隧道技术、双协议栈、NAT-PT为IPv4到IPv6过渡直至IPv6本地化提供理论基础;另外,通过具体的拓扑结构选取与配置,重点介绍了CISCO IPv6的实现,以及在Cisco路由器上设计、配置、部署和调试IPv6的技术。
1. 简述互联网的历史和发展以及互联网在中国的发展和现状,同时阐述下一代网络协议IPv6的发展历史及其优越性;
2介绍IPv6协议基本概念,了解IPv6寻址、IPv6报头结构、ICMPv6机制、邻节点发现、DHCPv6、IPv4到IPv6的过渡技术分析、IPv6路由、IPv6的安全性进行初步分析。
3. 通过路由器模拟软件完成IPv6网络逻辑拓扑搭建,并结合江苏大学计算机学院网络工程实验室的设备物理拓扑图,匹配逻辑拓扑,在网络设备IOS命令行模式下进行配置与测试,并对配置结果进行分析与论证。
本论文共由5章构成:
第一章:引言,主要介绍毕业设计的意义和IPv6的目前状况。
第二章:IPv6概述,主要介绍IPv6的地址编址方式、常用应用DHCPv6、DNS、ACL。
第三章:IPv6路由协议介绍,包括距离矢量RIPng与链路状态路由协议OSPFv3以及与IPv4中相对应路由协议的比较。
第四章:IPv4与IPv6 的共存策略,包括双协议栈、隧道技术与NAT-PT,并对各自的原理进行了分析。
第五章:基于IPv6组网设计,本章为论文的核心部分。详细论述了基于IPv6的组网设计原理与过程。
最后,对毕业设计进行简要总结。
第二章 IPv6概述
IPv6的表示
1. IPv6的数制选择
在IPv4中,为了迎合人们的习惯,IPv4地址使用点分十进制表示。在IPv6中,用点号分隔将会导致有16个十进制数要用点分隔。
2. IPv6地址的十六进制表示及其简化
IPv6地址为128位长(16个字节),但通常写作8组,每组为四个十六进制数的形式,并用冒号分隔。
例如: i) 2001:0db8:85a3:08d3:1319:8a2e:0370:7344 ii) 2001:0db8:0000:2f3b:02aa:00ff:fe28:9c5a
以上都是合法的IPv6地址。 可通过压缩每个16位的前导零,进一步简化IPv6的表示方法,但是每个块必须至少有一个数字,上面两地址压缩前导零后,结果如下:
i) 2001:db8:85a3:8d3:1319:8a2e:370:7344 ii) 2001:db8:0:2f3b:2aa:ff:fe28:9c5a
某些IPv6地址有连续的几串零,为了进一步精简IPv6地址,冒号十六进制格式中出现的连续的为0的16位段时,这些段可压缩表示为:: 。如多播地址FF02:0:0:0:0:0:0:2 可精简为FF02::2. 但这种零压缩在地址中只能出现一次,否则就无法计算出每个::包含的0段数或0位数。
3. IPv6地址的前缀
IPv6地址的前缀(FP, Format Prefix)的表示和IPv4地址前缀在CIDR中的表示方法类似。
IPV6地址类型
单播(Unicast)
单一接口的地址。发送到单播地址的数据包被送到由该地址标识的接口。并且:IPv6中的单播地址分配有多种形式,包括全部可聚集全球单播地址、NSAP
地址、IPX分级地址、站点本地地址、链路本地地址以及运行IPv4的主机地址。单播地址中有下列几种特殊地址:
(1) 不确定地址
单播地址0:0:0:0:0:0:0:0称为不确定地址。它不能分配给任何节点,它的一个应用示例是初始化主机时,在主机未取得自己的地址以前,可在它发送的任何IPv6包的源地址字段放上不确定地址。不确定地址不能在IPv6包中用作目的地址,也不能用在IPv6路由头中。
(2) 回环地址
单播地址0:0:0:0:0:0:0:1称为回环地址。节点用它来向自身发送IPv6包,它不能分配给任何物理接口。
(3) 链路本地地址
用于邻居发现协议和无状态自动配置中链路本地上节点之间的通信。使用链路本地地址作为源或目的地址的数据报文不会被转发到其他链路上。使用的前缀为FE80::/10。
(4) 站点本地地址
与IPv4中的私有地址类似。使用站点本地地址作为源或目的地址的数据报文不会被转发到本站点(相当于一个私有网络)外的其它站点。使用前缀为FEC0::/10 。 任意播(Anycast)
一组接口的地址。大多数情况下,这些接口属于不同的节点。发送到任意播地址的数据包被送到由该地址标识的其中一个接口,往往是距离源点最近。 多播(Multicast)
一组接口的地址(通常分属不同节点)。发送到多播地址的数据包被送到由该地址标识的每个接口。
IPV6的邻居发现过程
IPv6 邻居探索 (ND) 是一组确定邻居节点之间关系的消息和过程。ND 代替在 IPv4 中使用的“地址解析协议 (ARP)”、“Internet 控制消息协议 (ICMP)”、
“路由器发现”和“ICMP 重定向”,并提供了其他功能。
邻居发现协议实现了路由器和前缀发现、地址解析、下一跳地址确定、重定向、邻居不可达检测、重复地址检测等功能,可选实现链路层地址变化、输入负载均衡、泛播地址和代理通告等功能。
邻居发现协议采用5种类型的IPv6控制信息报文(ICMPv6)来实现邻居发现协议的各种功能。这5种类型消息如下。
(1) 路由器请求(Router Solicitation):当接口工作时,主机发送路由器请求消息,要求路由器立即产生路由器通告消息,而不必等待下一个预定时间。
(2) 路由器通告(Router Advertisement):路由器周期性地通告它的存在以及配置的链路和网络参数,或者对路由器请求消息作出响应。路由器通告消息包含在连接(on-link)确定、地址配置的前缀和跳数限制值等。
(3) 邻居请求(Neighbor Solicitation):节点发送邻居请求消息来请求邻居的链路层地址,以验证它先前所获得并保存在缓存中的邻居链路层地址的可达性,或者验证它自己的地址在本地链路上是否是惟一的。
(4) 邻居通告(Neighbor Advertisement):邻居请求消息的响应。节点也可以发送非请求邻居通告来指示链路层地址的变化。
(5) 重定向(Redirect):路由器通过重定向消息通知主机。对于特定的目的地址,如果不是最佳的路由,则通知主机到达目的地的最佳下一跳。
DNS系统
域名系统 Domain Name System 简称 DNS 是一个多级分层分布式的数据库管理系统,它已经成为 Internet 必不可少的组成部分。 DNS 的主要功能是通过域名和 IP 地址之间的相互映射关系来精确定位网络资源, 即根据域名查询 IP地址或根据IP地址查找对应域名。 DNS 作为当今 Internet 的基础架构 ,众多的网络服务都是建立在 DNS 体系基础之上并随着网络应用的日益广泛而变得越来越重要。
IPv6网络中的DNS与IPv4的DNS在体系结构上是一致的,都是采用树型结构的域名空间。虽然IPv4协议与IPv6协议是存在着相当大区别的两套协议,但这并不意味着需要单独两套DNS体系,相反在DNS的体系和域名空间上两者必须
是一致的,IPv4和IPv6共同拥有统一的域名空间。都支持正向解析和反向解析,只是记录方式不同。
IPV6的ACL
访问控制列表(ACL) 是路由器和交换机接口的指令列表,用来控制端口进出的数据包。IPv6 ACL则是根据三层及以上层信息进行数据包过滤的机制,通过允许或拒绝特定数据包进入网络,对网络访问进行控制。 IPv6 ACL分类
IPv6 ACL根据ACL序号来区分不同的ACL,可以分为三种类型,如表2-1所示。
表 2- 1 IPv6 ACL分类
IPv6 ACL类型 基本IPv6 ACL 高级IPv6 ACL ACL序号范围 2000~2999 3000~3999 区分报文的依据 只根据源IPv6地址信息制定匹配规则 根据报文的源IPv6地址信息、目的IPv6地址信息、IPv6承载的协议类型、协议的特性等三层、四层信息来制定匹配规则 根据报文的源IPv6地址信息、目的IPv6地址信息、IPv6地址组合标记、IPv6承载的协议类型、协议的特性等三层、四层信息来制定匹配规则。简单IPv6 ACL在TCP标记、分片报文标记上有更丰富的内容 简单IPv6 ACL 10000~42767 IPv6 ACL命名
用户在创建IPv6 ACL时,可以为ACL指定一个名称。每个IPv6 ACL最多只能有一个名称。命名的ACL使用户可以通过名称唯一地确定一个IPv6 ACL,并对其进行相应的操作。 IPv6 ACL匹配顺序
一个ACL中可以包含多个规则,而每个规则都指定不同的报文匹配选项,将一个报文和ACL的规则进行匹配时, IPv6 ACL支持以下两种匹配顺序:
(1) 配置顺序:按照用户配置规则的先后顺序进行规则匹配。 (2) 自动排序:按照“深度优先”的顺序进行规则匹配。
在报文匹配规则时,会按照匹配顺序去匹配定义的规则,一旦有一条规则被
匹配,报文就不再继续匹配其它规则了,设备将对该报文执行第一次匹配的规则指定的动作。
DHCPv6
IPv6 主机可以使用多种方法来配置地址:
(1) 无状态地址自动配置 用于对链接本地地址和其他非链接本地地址两者进行配置,方法是与相邻路由器交换路由器请求和路由器公告消息。
(2) 有状态地址自动配置 通过使用如 DHCP 的配置协议,用来配置非链接本地地址。 DHCPv6网络构成
包括以下三种角色:
(1) DHCPv6客户端:动态获取IPv6地址、IPv6前缀或其他网络配置参数的设备。
(2) DHCPv6服务器:负责为DHCPv6客户端分配IPv6地址、IPv6前缀和其他网络配置参数的设备。DHCPv6服务器不仅可以为DHCPv6客户端分配IPv6地址,还可以为其分配IPv6前缀。
(3) DHCPv6中继:DHCPv6客户端通过本地链路范围的组播地址与DHCPv6服务器通信,以获取IPv6地址和其他网络配置参数。 DHCPv6地址/前缀分配过程
DHCPv6服务器为客户端分配地址/前缀的过程分为两类: 交互两个消息的快速分配过程
(1)DHCPv6客户端在发送的Solicit消息中携带Rapid Commit选项,标识客户端希望服务器能够快速为其分配地址/前缀和网络配置参数;
(2)如果DHCPv6服务器支持快速分配过程,则直接返回Reply消息,为客户端分配IPv6地址/前缀和其他网络配置参数。如果DHCPv6服务器不支持快速分配过程,则采用交互四个消息的分配过程为客户端分配IPv6地址/前缀和其他网络配置参数。
交互四个消息的分配过程
(1) Solicit:DHCPv6客户端发送该消息,请求DHCPv6服务器为其分配IPv6地址/前缀和网络配置参数
(2) Advertise:如果Solicit消息中没有携带Rapid Commit选项,或Solicit消息中携带Rapid Commit选项,但服务器不支持快速分配过程,则DHCPv6服务器回复该消息,通知客户端可以为其分配的地址/前缀和网络配置参数
(3) Request:如果DHCPv6客户端接收到多个服务器回复的Advertise消息,则根据消息接收的先后顺序、服务器优先级等,选择其中一台服务器,并向该服务器发送Request消息,请求服务器确认为其分配地址/前缀和网络配置参数
(4) Reply:DHCPv6服务器回复该消息,确认将地址/前缀和网络配置参数分配给客户端使用
DHCPv6服务器分配给客户端的IPv6地址/前缀具有一定的租借期限。租借期限由有效生命期(Valid Lifetime)决定。地址/前缀的租借时间到达有效生命期后,DHCPv6客户端不能再使用该地址/前缀。在有效生命期到达之前,如果DHCPv6客户端希望继续使用该地址/前缀,则需要更新地址/前缀租约。 DHCPv6无状态配置
DHCPv6服务器可以为已经具有IPv6地址/前缀的客户端分配其他网络配置参数,该过程称为DHCPv6无状态配置。
DHCPv6客户端通过地址无状态自动配置功能成功获取IPv6地址后,如果接收到的RA(Router Advertisement,路由器通告)报文中M标志位(Managed address configuration flag,被管理地址配置标志位)为0、O标志位(Other stateful configuration flag,其他配置标志位)为1,则DHCPv6客户端会自动启动DHCPv6无状态配置功能,以获取除地址/前缀外的其他网络配置参数。
第三章 IPv6的路由选择
下一代路由选择信息协议(RIPng,应用于IPv6)是一种基于Ipv6的路由协议。在国际性网络中,如因特网,拥有很多应用于整个网络的路由选择协议,形成网络的每一个自治系统(AS),每个AS都有属于自己的路由选择技术,不同的自治系统,路由选择技术不同。自治系统内部的路由选择协议称为内部网关协议(IGP)。而RIPng与OSPFv3都能在AS中被用作IGP协议。
RIPng
RIPng报文格式
RIPng是基于UDP的协议,并且使用端口号521发送和接收数据报。RIPng报文大致可分为两类:选路信息报文和用于请求信息的报文。它们都使用相同的格式,由固定的首部和路由表项RTE组成,如下图所示:
8 Command 8 Version 32bUnused 16 IPv6 Prefix 1 Route Tag Prefix Length Metric Route Entry IPv6 Prefix 1 Route Prefix Length 图3- 1 RIPng报文格式
Metric Route Entry
RIPng中仍然使用固定的度量方式,即跳数,RIPng的最大工作直径为15跳, 16即意味着目的地不可达。与RIPv2不同的是,RIPng的下一跳字段是由一个单独的RTE指定的。
RIPng工作原理
与RIPv2类似,路由器在查询响应、周期更新、触发更新三种情况下会收到响应报文,接收报文的路由器根据响应报文判断是否对本地路由表进行更新。
基于距离矢量算法的路由协议会产生慢收敛和无限计数的问题而引发了路由的不一致。RIPng使用与RIPv2类似的水平分割技术、毒性逆转技术、触发更新技术来解决这些问题,同时抑制广播风暴,减少路由信息数量。 RIPng和RIPv1、RIPv2的区别
根据上面的介绍,应该看到RIPng的目标并不是创造一个全新的协议,而是对RIP进行必要的改造以使其适应IPv6的选路要求,因此RIPng的基本工作原理同RIP是一样的,其主要的变化在地址和报文格式方面,RIPng与RIPv1、RIPv2的主要区别有以下几点:
(1) 地址版本。RIPv1、RIPv2基于IPv4,地址域只有32bit,而RIPng基于IPv6,使用的所有地址均为128bit。
(2) 子网掩码和前缀长度。IPv6的地址前缀有明确的含义,因此RIPng中不再有子网掩码的概念,取而代之的是前缀长度。同样也是由于使用了IPv6地址,RIPng中也没有必要再区分网络路由、子网路由和主机路由。
(3) 对下一跳的表示。RIPv1中没有下一跳的信息,接收端路由器把报文的源IP地址作为到目的网络路由的下一跳。RIPv2中明确包含了下一跳信息,便于选择最优路由和防止出现选路环路及慢收敛。与RIPv2不同,为防止RTE过长,同时也是为了提高路由信息的传输效率,RIPng中的下一跳字段是作为一个单独的RTE存在的。
(4) 报文长度。RIPv1、RIPv2中对报文的长度均有限制,规定每个报文最多只能携带25个RTE。而RIPng对报文长度、RTE的数目都不作规定,报文的长度是由介质的MTU决定的。RIPng对报文长度的处理,提高了网络对路由信息的传输效率。
(5) RIPng使用IPv6的多播地址FF02::9收发路由更新报文。
OSPFV3
OSPFv3简介
OSPFv3也称IPv6 OSPF 协议,是一种链路状态路由协议,它是对基于IPv4的OSPFv2的改进。
OSPFv3和OSPFv2的主要区别如下:
(1)基于链路的协议
在OSPFv3中用“链路”替代了OSPFv2中的“网络”、“子网”等术语。在OSPFv3中,路由器接口与链路相连而不是连接到子网上,任意两个节点都可以通过它们所处的链路来相互通信。
(2)洪泛范围的扩大
在OSPFv2中,除了AS-External-LSA的洪泛范围是自治系统内部之外 ,每一个LSA 都与一个域相关 ,所以洪泛范围是域内部。而在OSPFv3中,LSA的洪泛范围已被扩展为三种:本地链路范围、域内部范围和自治系统内部范围。
(3)本地链路地址的使用
OSPFv3为了实现“邻居发现”和“自动配置”,在单独的链路上使用本地链路地址。IPv6路由器不转发那些有本地链路源地址的数据包并且本地链路地址只允许在Link-LSA中出现。
(4)通过路由器ID识别邻居
在OSPFv3中,所有链路类型的邻居路由器通过它的路由器ID来识别,而在OSPFv2中,在点对点链路和虚链路上的邻居路由器通过它的路由器ID来识别的,而广播 NBMA和点对多点的网络都是通过它们的IPv4的接口地址来识别的。
第四章 IPV6与IPv4的共存与整合策略
如何完成从IPv4到IPv6的转换是IPv6发展需要解决的第一个问题。现有的几乎每个网络及其连接设备都支持IPv4,因此要想一夜间就完成从IPv4到IPv6的转换是不切实际的。IPv6必须能够支持和处理IPv4体系的遗留问题。可以预见,IPv4向IPv6的过渡需要相当长的时间才能完成。目前,IETF已经成立了专门的工作组,研究IPv4到IPv6的转换问题,并且已提出了很多方案:双协议栈技术、隧道技术、网络地址转换/协议转换技术。
双协议栈(DUAL STACK):网络中的主机、服务器和路由器可以同时使用IPv4和IPv6协议栈。当双栈节点连接到一个启用双栈的网络时,双栈模式为节点在IPv6或IPv4上建立端到端的会话提供了灵活性。如图
图4-1双栈体系结构图(左)及其包含类型(右)表示了一个同时支持IPv4和IPv6的双栈体系结构图和对应的包含类型。
简单地说,就是节点即可使用IPv4地址,也可使用IPv6地址。但这里有 一个问题,节点到底使用哪个协议进行通信呢,有两种方法可以强制一个双栈节点在IPv6 连接可用时使用IPv6协议栈:
(1)用户手动控制:如果用户已知目的IPv6主机名的IPv6地址,就可以直接使用IPv6地址来建立会话。
(2)使用DNS服务:可以在域名服务(DNS)中配置一个既有IPv4地址也有IPv6地址的完全合格域名(FQDN)。FQDN可以是一个描述IPv4地址的A记录,也可以是一个描述IPv6地址的AAAA记录。如果一个IPv4单协议网络的应用请求域名服务,用A记录解析FQDN。如果应用收到A记录,就用这个IPv4地址和该主机通信;一个IPv6单协议网络的应用请求域名服务,用一个AAAA记录解析FQDN。如果应用收到AAAA记录,就用这个IPv6地址和该主机通信; 一个同时支持IPv6和IPv4的应用请求域名服务,用所有可能类型的地址解析FQDN。应用首先查找AAAA记录,如果没有找到AAAA记录,就继续查找A记
录用于通信。
应用层 TCP/UDP IPv6 TCP/UDP IPv4 TCP/UDP IPv6 网络接口层 TCP/UDP IPv4 应用层 网络接口层
IPv6 IPv6 over IP IPv4
图4-1双栈体系结构图(左)及其包含类型(右)
隧道
隧道机制就是用IPv4封装IPv6数据包并且把这些封装了的数据包通过IPv4 网络送往一个IPv4目的节点,目的节点拆封数据包并剥离出IPv6数据包。隧道封装(TUNNELING)就是运用隧道使孤立的IPv6主机、服务器、路由器和域利用现有的IPv6基础设施与其他IPV6网络通信,孤立的IPv6机也能够利用IPv4作为传输层建立端到端IPv6会话。主要有以下技术来实现IPv4隧道的配置和创建:
配置隧道需要在两个端点手动进行配置,因此,当静态配置时,配置隧道机制是不可扩展的。为了方便IPv4网络上配置隧道的部署,IETF定义了一种被称为隧道代理的机制。隧道代理是一个外部系统,而不是路由器,它在IPv4网络中作为服务器,并接受双栈节点的隧道建立请求。 隧道服务器
隧道服务器是隧道代理的简化模型。隧道服务器把代理和双栈路由器结合在一个系统中,而不是两单独的系统,请求一个配置隧道的方法大体上跟隧道代理相同,但是隧道服务器比之隧道代理是有优点的。
配置隧道
配置隧道在双栈节点上被启用并静态地配置。因为配置隧道是IPv6支持的第一个过渡机制,所以在目前所有可用的IPv6实现中被广泛地支持。配置隧道可以看作是一条点到点链路,在配置隧道的每一端,必须手动地给隧道接口分配IPv4地址和IPv6地址。隧道接口需要分配以下地址:
(1) 本地IPv4地址——通过这个IPv4地址,本地的双栈节点在IPv4网络上可达。本地的IPv4地址用作输出流的源IPv4地址。
(2)远端IPv4地址——通过这个IPv4地址,远端的双栈节点在IPv4网络上可达。远端的IPv4地址用作输出流的目的IPv4地址。
(3)本地IPv6地址——本地分配给隧道接口的IPv6地址。 6to4隧道
在两个IPv6域间建立、操作、管理和支持配置隧道至少需要两个实体的同步,对于某些组织来说有些麻烦。IETF定义了另一种称为6to4的机制来简化通过隧道在IPv4网络上配置IPv6。这种机制在由IPv6节点组成的站点之间采用动态隧道方法,不需要手动地事先调整隧道的源和目的IPv4地址。IP数据包的隧道封装是根据6to4站点上产生的数据包的目的地址自动完成的。这种机制在站点边缘的边界路由器上启用,6to4路由器必须通过IPv4路由器基础设施到达其他的6to4站点和6to4路由器。6to4前缀都基于IANA分配的2002::/16地址空间。每个6to4站点至少使用一个分配给6to4路由器的全球单播IPv4地址,IPv4的32位地址被转换为16进制格式后附加在2002::/16前缀后面。最终表现形式是2002:IPv4-address::/48。6to4前缀基于全球惟一的IPv4地址,所以没必要在6to4站点之间传播/48前缀的IPv6路由。
6to4中继:提供IPv6因特网流量转发到非2002::/16前缀的网络。如果公共6to4中继离你的站点很远,会造成你的站点和IPv6因特网之间的IPv6流量的网络性能很差。为了帮助一个6to4站点在因特网上找到可用的6to4中继并且给6to4机制增加更多可扩展性,RFC3068引入了一个任意播前缀,这样6to4数据包可以被自动路由到IPv4因特网上最近的6to4中继。。在6to4置中,可以使用ipv6 route ::/0 2002:c058:6301::命令配置默认的IPv6路由。通过GRE隧道部署IPv6,
对域内使用IS-IS作为IPv6路由选择协议的组织提供了方便。 ISATAP隧道
站点间自动隧道寻址协议(ISATAP)由RFC4212定义,它是一种地址分配技术,是主机到主机、主机到路由器以及路由器到路由器的自动隧道技术,是在一个管理域(如一个站点)内用IPv4传输IPv6的隧道传输机制,它可以在IPv4网络上创建一个虚拟IPv6网络。IPv6数据包在IPv4中的隧道封装在ISATAP主机之间或者ISATAP主机和ISATAP路由器之间执行。隧道封装是自动的,意味着当启用了ISATAP时没必要在主机上应用手动配置,对于ISATAP主机到ISATAP路由器的隧道,ISATAP主机必须首先从可用的路由器列表中找出一个ISATAP路由器的IPv4地址。分配给ISATAP主机和ISATAP路由器的ISATAP地址由专用的可聚合全球单播IPv6地址和特殊格式的接口标识组合而成。一个ISATAP主机上启用的ISATAP地址使用本地链路前缀(FE80::/10)。必须给站点内的ISATAP操作分配一个可聚合或者本地站点的/64前缀。ISATAP主机通过在IPv4上建立起来的ISATA隧道从ISATAP路由器发送的广播消息中接收/64前缀。ISATAP在ISATAP IPv6地址中嵌入IPv4地址。接口标识在IANA保留给ISATAP的高阶32位0000:5EFE后追加32位IPv4地址IPv4兼容隧道。 TEREDO隧道
这是IETF设计的用于IPv4到IPv6过渡的一种新隧道机制。它的主要目标是传送IPv6数据包到隐藏在IPv4单协议网络域上NAT设备后的双栈节点,这是因为协议41(配置隧道和6to4使用)不能穿过NAT。TEREDO使用IPv4的UDP数据报传送IPv6数据包。通过使用单个IPv4地址与一个NAT设备的UDP映射,TEREDO可以在IPv4的UDP数据报上传送IPv6连接到同一个NAT设备后的多个节点。TEREDO机制由TEREDO服务器、TEREDO中继和客户端组成。服务器连接到IPv4网络,它管理着客户端之间的信令流量;中继充当IPv6路由器,它连接到IPv6网络并且能够在IPv4的UDP数据包上提供IPv6连接到NAT之后的TEREDO客户端。客户端上必须配置TEREDO服务器的IPv4地址。
协议转换
IPv6与IPv4网络上单协议网络的节点进行通信是可能的,不过,这些机制需要在IPv4和IPv6两种网络的边界上进行协议转换。 NAT-PT原理
(Network Address Translation-Protocol)附带协议转换器的网络地址转换器,是一种纯IPv6节点和IPv4节点间的互通方式,所有包括地址、协议在内的转换工作都由网络设备来完成。支持NAT-PT的网关路由器应具有IPv4地址池,在从IPv6向IPv4域中转发包时使用,地址池中的地址是用来转换IPv6报文中的源地址的。此外网关路由器需要DNS-ALG和FTP-ALG这两种常用的应用层网关的支持,在IPv6节点访问IPv4节点时发挥作用。如果没有DNS-ALG的支持,只能实现由IPv6节点发起的与IPv4节点之间的通信,反之则不行。如果没有FTP-ALG的支持,IPv4网络中的主机将不能用FTP软件从IPv6网络中的服务器上下载文件或者上传文件,反之亦然。
如图4-2所示,NAT-PT作用于IPv4和IPv6网络边缘的设备上,所有的地址转换过程都在该设备上实现,对IPv4和IPv6网络来说是透明的,即用户不必改变目前的IPv4网络中主机得配置就可实现IPv6网络与IPv4网络的通信。
图 4-1 NAT-PT示意图
但由于NAT-PT具有一定的局限性,所以在一些场合不推荐使用(如IPv6网络中主机跨越IPv4网络与另一IPv6网络中主机通信推荐使用隧道技术),例如属于同一会话的请求和响应都必须通过同一NAT-PT设备才能进行NAT-PT转换;不能转换IPv4报文头的可选项部分;缺少端到端的安全性。 NAT-PT机制
有三种NAT-PT机制可实现IPv4和IPv6地址之间的相互转换:
静态映射的NAT-PT机制是指采用手工配置的IPv6地址与IPv4地址的一一对应关系来实现IPv6地址与IPv4地址的转换。
和静态映射不同,动态映射没有IPv6和IPv4地址之间的一一对应关系。动态映射要求先创建一个地址池,然后根据需要从地址池中选取空闲地址来完成IPv6地址与IPv4地址的映射。
3. NAPT-PT机制
NAPT-PT(Network Address Port Translation-Protocol Translation,附带协议转换的网络地址端口转换)是在IP地址动态转换的基础上对TCP、UDP的端口号也进行IPv6到IPv4的转换。采用这种“地址+端口号”的映射方式,不同的IPv6地址转换时,可以对应同一个IPv4地址,通过端口号来区分不同的IPv6主机,从而使多个IPv6主机能共享一个IPv4地址完成转换。 NAT-PT实现过程
1. IPv6侧发起会话
(1) 当IPv6网络中的设备发送给IPv4网络的报文到达NAT-PT设备后,如果设备判断该报文是要转发到IPv4网络,则会利用在IPv6侧已经配置的静态或者动态的映射关系,进行IPv6地址到IPv4地址的转换,将报文的源IPv6地址转换为IPv4地址。
(2) 根据IPv4侧配置的IPv4与IPv6的映射关系将目的地址转换为IPv4地址。如果没有配置映射关系,那么,如果报文中的目的IPv6地址的低32位可以直接转换为合法的IPv4地址,则直接转换为目的IPv4地址;否则,转换不成功。
(3) 报文的源IPv6地址和目的IPv6地址都转换为IPv4地址后,设备按照正常的转发流程将报文转发到IPv4网络中的设备。同时,将IPv6地址与转换后的IPv4地址的映射关系保存在设备中。
(4) IPv4网络中的设备发送给IPv6网络中的报文到达NAT-PT设备后,将根据存储的映射关系进行相反的转换,从而将报文回送到IPv6网络中的设备。
2. IPv4侧发起会话
(1) 当IPv4网络中的设备发送给IPv6网络的报文到达NAT-PT设备后,如果设备判断该报文是要转发到IPv6网络,则会利用在IPv4侧已经配置的静态或者动态的映射关系,进行IPv4地址到IPv6地址的转换,将报文的源IPv4地址转换为IPv6地址。
(2) 根据IPv6侧配置的IPv6与IPv4映射关系将目的IPv4转换为IPv6地址。 (3) 报文的源IPv4地址和目的IPv4地址都转换为IPv6地址后,设备按照正常的转发流程将报文转发到IPv6网络中的设备。同时,将IPv4地址与转换后的IPv6地址的映射关系保存在设备中。
(4) IPv6网络中的设备发送给IPv4网络中的报文到达NAT-PT设备后,将根据存储的映射关系进行相反的转换,从而将报文回送到IPv4网络中的设备。
各种隧道技术比较
表4- 1各种隧道机制的比较
机制 主要作用 优点 限制 要求 IPv4上的常规通信连接用的稳定而安全的链路。 著名的标准隧道技只在两点间建立隧道;ISP 注册的IPv6 地址; 术;采用 Ipv4 较大管理开销;GRE双栈路由器;如果隧道上IPSec可以保证隧隧道在主机上实施得为IPv6配置了IS-IS,则需道端点间的安全。 较少。 要 IPv6GRE隧道 当与 IPv6互联网通信自动6to4 隧道 多个远端 IPv6 域的连接;常用的通信方法 时,回程路径选择不是易于建立,无管理最优的。如果没有通过IPv6 前缀(2002::/16);双栈开销 IPsec (或IPv4或IPv6)路由器 进行保护,有潜在的安全问题 与纯 IPv6第3层交换ISATAP隧道 园区站点;无路由站点转换 当园区网上有松散机相比,可能不能提供在 IPv6主机和路由器上的 IPv6主机时,可最佳性能的路径;无法实施 ISATAP;双栈路由简化IPv6 部署 为 IPv6组播业务提供器 解决方案 园区站点;无路由站点转换 不常见,被ISATAP取代 6over4隧道 N/A N/A 第五章 基于IPv6的组网设计
网络总体设计及所需环境、设备概述
综合网络拓扑图
基于设计需要,建立如下拓扑,如图5-1 综合拓扑图:
图5-1 综合拓扑图
如图5-1 综合拓扑图所示:左右各三个路由器组成的环形结构拓扑分别使用了OSPFv3 和RIPng路由协议,构成了两个IPV6孤岛,为连接孤岛实现全网的通信,在R3和R4上使用了隧道协议。R4作为边界路由器,需同时启用OSPFv3和RIPng路由协议,并且进行路由协议重发布,才能使得各独立自治系统中的路由器拥有全网络的路由条目,实现数据转发。
另外,结合了无状态地址自动配置,在图5-1 综合拓扑图左下方区域,客户端根据网络RA(路由通告)和自己的MAC地址计算出自己的IPv6地址,同时使用DHCP服务器来获取DNS服务器的地址和域名,路由器 R1为DHCPv6 server;右下方,为PC3是手工设置IPv6,PC3、PC4运用ISATAP隧道获得IPv6地址。
设备型号介绍
1) Cisco2801 路由器,IOS版本号为:
2) Cisco 3560三层交换机以及Cisco 2960以太网二层交换机 3)PC机装载windows server 2008 及windows xp操作系统
OSPFv3的配置
OSPFv3实验拓扑图与地址规划
对图5-1 综合拓扑图中运行OSPFv3的纯IPv6网络单独进行分析,其拓扑图如下图5-2 OSPFv3拓扑图图5-1 综合拓扑图
图5-2 OSPFv3拓扑图
I Pv6地址规划如下表5- 1路由器各接口的IPv6地址
表5- 1路由器各接口的IPv6地址 设备名 R1 R1 R2 R2 R3 R3
端口 S0/0 S0/1 S0/0 S0/1 S0/0 S0/1 IPv6地址 2001::1/64 2003::1/64 2002::2/64 2001::2/64 2003::3/64 2002::3/64 设备的基本配置
(1)IPv6 unicast-routing 启用IPV6单播服务 (2)IPv6 router ospf process-id
在路由器上启用一个OSPFv3进程。process-id参数标识了一个唯一的OSPFv3进程。这个命令是在全局基础上使用的。
(3)router-id ipv4-address
对IPv6单协议网络的OSPF路由器而言,在OSPFv3配置中必须要定义router-id参数,route-id在OSPF中是作为路由器唯一标识的。使用router-id ipv4-address命令定义为一个IPv4地址,取值可以使用任何IPv4地址。
例如:router-id 。
(4)IPv6 ospf process-id area area-id
标识指定给这个接口的IPv6前缀作为OSPFv3网络的组成部分。这个命令替换了OSPFv2所使用的network area命令
(5)area area-id range IPv6-prefix/prefix-length
聚合匹配IPv6-prefix/prefix-length参数的IPv6路由。 R2的配置: R2#show run IPv6 unicast-routing interface Serial0/0 no ip address
IPv6 address 2001::2/64 IPv6 ospf 100 area 1 interface Serial0/1 no ip address
IPv6 address 2003::2/64 IPv6 ospf 100 area 1 IPv6 router ospf 100 router-id
RIPng的配置
实验拓扑图与地址分配
对图5-1 综合拓扑图中运行RIPng的纯IPv6网络单独进行分析,其拓扑图如下图5-3 RIPng配置拓扑图 所示:
图5-3 RIPng配置拓扑图
各接口地址分配如表5- 2路由器各接口的IPv6地址
表5- 2路由器各接口的IPv6地址
设备名 R4 R4 R5 R5 R6 R6 RIPng 配置命令分析
(1)IPv6 router rip tag
端口 S0/0 Loopback0 S0/0 S0/1 Loopback0 S0/1 IPv6地址 2011::1/64 2010::1/64 2011::2/64 2012::2/64 2013::3/64 2012::3/64 IPv6 router rip 命令在路由器上定义一个RIPng进程,这是用来启用RIPng。Tag参数用来标识某个特定RIPng进程的一个短字符串。Cisco IOS可以同时支持4个RIPng进程。
例如:IPv6 router rip JACKIE //RIPng进程名为JACKIE。 (2) IPv6 rip tag enable
该命令在接口上使用,使得接口启用RIPng。 R4 的配置如下所示: R4#show run
Building configuration... hostname R4
IPv6 unicast-routing interface Loopback0 no ip address
IPv6 address 2010::1/64 IPv6 rip JACKIE enable interface Serial0/0 no ip address
IPv6 address 2011::1/64 IPv6 rip JACKIE enable serial restart-delay 0 IPv6 router rip JACKIE R5、R6的配置与R4类似。 结果验证
1)显示R4的路由表,用命令show IPv6 route,可依次显示路由条目的来源、到达的网段、下一跳路由器、及本地转发接口。
R4#show IPv6 route …
C 2010::/64 [0/0] via ::, Loopback0 L 2010::1/128 [0/0] via ::, Loopback0 C 2011::/64 [0/0] via ::, Serial0/0 L 2011::1/128 [0/0] via ::, Serial0/0 R 2012::/64 [120/2]
via FE80::CE05:FFF:FEE0:10, Serial0/0 R 2013::/64 [120/3]
via FE80::CE05:FFF:FEE0:10, Serial0/0
其中C 代表的是直连路由条目, L代表路由为本地路由条目,而R则表示通过RIPng协议获得的路由条目。根据以上输出信息可知,R4获得了到2012::/64、2013::/64网段的路由条目。
2) RIPng 路由信息显示,关于RIPng的各个定时器,进程名称,最大跳数等信息。根据下面的显示信息,可知RIPng进程名为JACKIE ,能够支持的最大跳数为16。
R4#show IPv6 rip
RIP process \"JACKIE\Administrative distance is 120. Maximum paths is 16 Updates every 30 seconds, expire after 180 Holddown lasts 0 seconds, garbage collect after 120 Split horizon is on; poison reverse is off Default routes are not generated Periodic updates 29, trigger updates 3 Interfaces: Loopback0 Serial0/0 Redistribution:
根据如上结果显示可知RIPng的三个重要定时器数值:周期性广播定时器为30s、期满定时器为180s、垃圾收集定时器为120s。
其中周期性广播定时器一般被设置成25s到35s之间的任一随机数,用以避免网络上所有路由器以相同的定时发送更新报文,从而减少冲突;路由器只要收到通往特定信宿路由,就对通往该信宿的期满定时器初始化。期满定时器被设定为180s,如果一条路由在期满定时器超时前未得到相关报文的更新,则该条路由不再有效,但仍保留在路由表中,以便通知其他路由器这条路由已经失效;路由器对无效路由打上尺度为无穷大的无效标记并将垃圾收集定时器初始化。此时,定时器被设置为120s,在这段时间内这些路由仍然会被路由器周期性地广播,这样相邻路由器就能迅速从路由表中删除该路由。
3) 显示各个接口的状态,因为是IPv6,所以与RIPv2版本的show ip interface brief命令不同,采用show IPv6 int brief 命令。如下:
R4#show IPv6 int b
Serial0/0 [up/up] FE80::CE04:FFF:FEE0:10 2011::1
Serial0/1 [administratively down/down]
Serial0/2 [administratively down/down] Serial0/3 [administratively down/down] FastEthernet1/0 [administratively down/down] Loopback0 [up/up] FE80::CE04:FFF:FEE0:10 2010::1
根据显示结果,接口状态若为[up/up],则代表物理层和链路层工作正常。
采用配置隧道
因为配置隧道是IPv6支持的第一个过渡机制,所以在目前所有可用的IPv6实现中被广泛地支持。隧道接口需要分配本地IPv4地址、远端IPv4地址和本地IPv6地址。 实验拓扑图
图5-4 隧道配置拓扑图
IPv6地址规划如下表5- 1路由器各接口的IPv6地址
表5- 3路由器各接口的IPv6地址
设备名 R1 R1 R2 端口 S0/0 S0/1 S0/0 IPv6地址 2001::1/64 2003::1/64 2002::2/64 R2 R3 R3 R3 R4 R4 R5 R5 R3、R4 配置隧道的配置
S0/1 S0/0 S0/1 F1/0 F1/0 S0/0 S0/1 Loopback0 Tunnel0 2001::2/64 2003::3/64 2002::3/64 2004::4/64 2004::5/64 2006::5/64 2005::/64 如图5-4 隧道配置拓扑图,左边的纯IPv6网络采用了OSPFv3协议,所有路由器在area 1 中。 右边纯IPv6网络的R4、R5采用了RIPng协议,在R3与R4路由器上启用的是IPv4,所以,通过在配置隧道协议,连接IPv6网络孤岛。
为了使左右侧的IPv6的网络互通,仅仅在R3、R4上配置隧道还是不够的。 还必须在隧道上启用路由协议,当然还可以配置静态路由协议了,此处采用的是OSPFv3路由协议,并在RIPng 和OSPFv3中进行了路由发布,以使得各个路由器拥有全网的路由拓扑的路由条目。配置步骤如下:
1) interface tunnel tunnel-interface-number 指定了启用配置隧道的接口和编号。 2) IPv6 address IPv6-address/prefix-length
给隧道接口静态分配一个IPv6地址和前缀长度。 3) tunnel source ipv4-address
确定用作隧道接口源地址的本地IPv4地址 4) tunnel destination ipv4-address
Tunnel destination 命令确定隧道终点的目的IPv4地址。目的IPv4地址是隧道的远端。
5) tunnel mode ipv6ip
定义隧道接口的类型是配置隧道。 、。
R3和R4为同时采用了IPv6和IPv4地址,并且为连接两个IPv6网络孤岛,采用了隧道协议,下面给出主要配置,各设备的详细配置可参见附录A。
R3#show run IPv6 unicast-routing interface Tunnel0 no ip address
IPv6 address 2005::3/64 IPv6 enable IPv6 ospf 100 area 0 tunnel source tunnel destination tunnel mode IPv6ip R4具体配置如下: R4#show run IPv6 unicast-routing interface Tunnel0 no ip address
IPv6 address 2005::4/64 IPv6 enable IPv6 ospf 100 area 0 tunnel source tunnel destination tunnel mode IPv6ip interface Serial0/0 no ip address
IPv6 address 2004::4/64 IPv6 rip JACKIE enable interface FastEthernet1/0 ip address
IPv6 rip JACKIE enable IPv6 router ospf 100 router-id
redistribute rip JACKIE tag 10 include-connected //将RIPng发布到OSPFv3中 IPv6 router rip JACKIE
redistribute ospf 100 metric 4 //将OSPFv3发布到RIPng中,并设置种子度量
值。
实验结果的观察与验证
1) R4路由表: R4#show IPv6 route
Pv6 Routing Table - 10 entries OI 2001::/64 [110/11175] via FE80::C0A8:A03, Tunnel0 OI 2002::/64 [110/11175] via FE80::C0A8:A03, Tunnel0 OI 2003::/64 [110/11239]
via FE80::C0A8:A03, Tunnel0 //因为R4的tunnel0 在OSPFv3的area 0 中,与R2所在area 1 不同,所以为区域间路由条目,用OI表示。
C 2004::/64 [0/0] via ::, Serial0/0 ……
2) R1的路由条目 R1#show IPv6 route ……
OE2 2004::/64 [110/20], tag 10
via FE80::CE0A:1FFF:FE08:10, Serial0/0 OI 2005::/64 [110/11175]
via FE80::CE0A:1FFF:FE08:10, Serial0/0 OE2 2006::/64 [110/20], tag 10
via FE80::CE0A:1FFF:FE08:10, Serial0/0 //OE2 代表自治系统外部路由,也就是获得了通过在OSPFv3中重分布的RIPng路由条目。
L FE80::/10 [0/0] via ::, Null0 L FF00::/8 [0/0] via ::, Null0
3) 验证:测试R1至R5环回口的连通性 R1#ping 2006::5
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2006::5, timeout is 2 seconds:
Success rate is 100 percent (5/5), round-trip min/avg/max = 260/379/556 ms R5#ping 2001::1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2001::1, timeout is 2 seconds:
Success rate is 100 percent (5/5), round-trip min/avg/max = 140/216/288 ms 4) 显示Ospf邻居表
R3#show IPv6 ospf neighbor //显示与R3相邻的路由器。
Neighbor ID Pri State Dead Time Interface ID Interface 1 FULL/ - 00:00:31 12 Tunnel0 1 FULL/ - 00:00:32 4 Serial0/1 1 FULL/ - 00:00:35 5 Serial0/0 R1、R2、R3、R4都运行了OSPFv3协议,在同一个自治系统内。 5) 测试隧道接口的连通性 R2#ping 2005::4
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2005::4, timeout is 2 seconds: Success rate is 100 percent (5/5), round-trip min/avg/max = 120/220/272 ms
DHCPv6的配置
Cisco 设备的DHCPv6应用分析
无状态地址自动配置是指不需要DHCP服务器进行管理,客户端根据网络RA(路由通告)并根据自己的MAC地址计算出自己的IPv6地址。他们一般使用DHCP服务器来获取DNS服务器的地址。
有状态的地址自动配置是指由DHCP服务器统一管理,客户端从DHCP服务器的地址池中拿到IPv6地址和其他信息(例如DNS等)。 Cisco 路由器DHCPv6的配置
1) IPv6 dhcp pool pool-name
DHCP服务是以Pool为单位使能的,所以在启动服务器功能之前必须配置 Pool,no命令删除Pool。
2) dns-server IPv6-address [IPv6-address] [IPv6-address] 配置服务器地址,最多可以配置 3 个服务器 3) domain-name domain-name
为客户端分配 Domain-Name信息,no命令删除。
4) prefix-delegation {pool pool-name | IPv6-prefix DUID}
使用local pool作为前缀分配源,local pool需要另行配置 ,也就是运用命令4)。
5) IPv6 dhcp server pool-name [rapid-commit [preference preference]]
在接口上启动DHCP服务器, 如果接口配置了DHCPv6 客户端或者中继就不能配置服务器。pool-name为服务器使用的DHCP池信息,rapid-commit为启动快速交互模块,preference preference为指定服务器优先级,范围:0-255,默认为0。
6) IPv6 local pool pool-name IPv6-prefix assigned-length 配置本地前缀/地址池用于前缀分配管理 在图5-1 综合拓扑图中的R1上配置DHCP : IPv6 unicast-routing IPv6 dhcp pool IPv6-pool prefix-delegation pool test dns-server 2001:2EF:3000:2000::2 domain-name interface FastEthernet0/1 ip address . ---启动IPv6
IPv6 nd ns-interval 1000 ---调整邻居发现的时间间隔 IPv6 nd managed-config-flag ---“M”位置1
IPv6 nd other-config-flag ---“O”位置1 IPv6 nd ra interval 60 ---更改RA的发送时间间隔
IPv6 dhcp server IPv6-pool rapid-commit preference 1 主机从DHCPv6服务器获取的结果
图5-5 PC机上DHCPv6信息
NAT-PT
如图5-6所示:
图5-6 NAT-PT拓扑图
静态NAT-PT映射在IPv6单协议网络节点访问固定的IPv4单协议网络节点的网络中是有用的,静态NAT-PT映射需要每一个要和IPv4单协议网络节点通信的IPV6单协议网络节点对应一个确定的IPv4地址。
IPv6 nat
指定启用NAT-PT机制的网络接口,在接口配置状态中使用 IPv6 nat prefix IPv6-prefix /96
详细说明在IPv6域内NAT-PT使用的IPv6前缀。NAT-PT只支持/96的网络前缀。
IPv6 nat v6v4 source IPv6-address ipv4-address
强制将使用命令确定的源IPv6地址(发起的IPV6单协议网络主机)的输出IPV6数据包转换成IPv4数据包。IPv4数据包使用命令中指定的IPV4源地址访问目的IPv4地址。
IPv6 nat v4v6 source ipv4-address IPv6-address
强制将使用命令确定的源IPv4地址的输出IPv4数据包转换成IPv6数据包。这个IPv4地址是IPv4单协议网络中的目的主机,IPv6地址是访问IPv4单协议网络上的目的主机相应的目的IPv6地址。
在路由器R1上启用静态NAT-PT映射命令如下:
router eigrp 90 //此处用到了Cisco 私有的路由协议,EIGRP, network no auto-summary
IPv6 nat v4v6 source 2001::1 IPv6 nat v6v4 source 2000::2 IPv6 nat prefix 2001::/96
PC1#ping 2001::1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2001::1, timeout is 2 seconds:
Success rate is 100 percent (5/5), round-trip min/avg/max = 340/425/624 ms PC2#ping
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to , timeout is 2 seconds:
Success rate is 100 percent (5/5), round-trip min/avg/max = 172/249/344 ms
主机隧道配置
如图5-7所示:
图5-7 主机隧道配置拓扑
在windows xp 系统中,默认没有安装IPv6协议栈,首先使用:netsh interface IPv6 install 等价于IPv6 install 。安装之后,在DOS shell 中使用IPv6 if 命令检验安装。当键入该命令时,系统显示Windows上定义的所有IPv6伪接口的列表。
(1)配置隧道及隧道模式,在windows xp上配置隧道伪接口必须通过IPv6 ifcr ipv4-source-address ipv4-destination-address 命令启用。命令成功之后,会给配置隧道分配一个新的伪接口号。如图5-8所示:
图5-8 windows伪接口的创建
(2)给隧道接口配置 IPv6 地址: IPv6 adu 7/2001:bbbb:: 2 (3)配置缺省路由: IPv6 rtu ::/0 7 /2001:bbbb::1 路由器的配置举例: IPv6 unicast-routing
interface Tunnel1 no ip address
IPv6 address 2001:BBBB::1/64 tunnel source tunnel destination tunnel mode IPv6ip
在主机的Dos shell下可Ping通路由器的IPv6地址。如下图5-9 显示的是伪接口7的配置信息,该伪接口号是在主机上使用IPv6 。link-layer address: 和remote link-layer address:。Preferred global address:2001:bbbb::2 为该隧道的IPv6地址。
图5-9 主机隧道信息
ISATAP隧道配置
如图5-10所示:
图5-10 ISATAP配置拓扑
默认情况下ISATAP在Windows XP中是禁用的。可以运行以下命令查看当前的状态:
netsh interface IPv6 isatap show state
要在计算机上启用ISATAP,运行以下命令: netsh interface IPv6 isatap set state enabled
在默认情况下,ISATAP主机使用DNS及其他IP名称解析技术来解析名称ISATAP到一个IPv4地址,以获得ISATAP路由器的IPv4地址。一旦主机已经确定ISATAP路由器的IP地址,就会使用IPv4单播信息从路由器中获取自动配置信息。要手动配置一个ISATAP路由器地址,可以运行以下命令:
netsh interface IPv6 isatap set router IPv4Address
需要注意的是,在ISATAP主机使用该路由器作为默认网关前,路由器必须响应IPv4封装的单播路由器请求消息。
路由器的配置: interface Tunnel0
IPv6 address 3FFE:B00:FFFF:2::/64 eui-64 //ISATAP 的IPv6地址必须使用EUI-64格式,因为地址的低32比特基于IPv4地址。这个命令同时启用了隧道接口上的前缀广播。这里定义的前缀必须是分配给站点的ISATAP前缀。
no IPv6 nd suppress-ra //Cisco IOS软件默认禁止了隧道接口的路由器广播。该
命令为启用隧道接口的路由器广播。因为ISATAP隧道接口上必须启用路由器的广播。
tunnel source
tunnel mode IPv6ip isatap //确定了隧道接口的类型是ISATAP interface FastEthernet0/0 ip address
用ipconfig/all 在主机中,显示隧道接口所得配置如图5-11所示:
图5-11 主机ISATAP隧道信息
Window xp分配给ISATAP隧道使用的伪接口是2,,生成Link-local型的ISATAP IPv6地址为FE80::5EFE:,,首先生成接口标识符::0:5ffe: ,然后加上一个前缀fe80形成。
结 论
本次毕业设计课题基于IPV6技术组网设计,在网络地址的短缺,及网络安全受到威胁等条件下,对IPV6技术进行理论探讨,分析如何利用IPV6技术,选用网络工程实验室拓扑设备与部件,设计了一个中型测试网络拓扑,并完成了基于IPv6的路由协议、隧道、自动地址分配等各项配置,最后对设计和配置结果进行测试、验证和分析。整个网络运行良好,IPv6和IPv4部分能够很好的兼容工作。这无疑给用户和服务提供商将IPv4升级至IPv6提供了便利,并降低了成本,因为不必要求重新部署原有网络了。
总体来说IPv6与IPV4相比具有以下几个优势: (1)IPv6具有更大的地址空间; (2)IPv6使用更小的路由表;
(3)IPv6加入了对自动配置(Auto Configuration)的支持; (4)IPv6具有更高的安全性。
因为IPv6是新的协议,在其发展过程中必定会产生一些新的安全问题,加上IPv6与IPv4网络的长期共存,网络必然会同时存在两者的安全问题,或由此产生新的安全漏洞。与IPv4相比,IPv6在网络保密性、完整性方面有了更好的改进,在可控性和抗否认性方面有了新的保证,但IPv6不仅不可能彻底解决所有安全问题,同时还会伴随其产生新的安全问题。目前多数网络攻击和威胁来自应用层而非IP层,因此,保护网络安全与信息安全,只靠一两项技术并不能实现,还需配合多种手段,构建一个整体的防御体系,这样才能使我们的网络应用更加安全然而,对于兼容工作后的网络或是IPv6网络,文中并没有探讨其安全性或漏洞。虽然Ipv6内置了对IPSec(一种互联网安全标准,可在两个端点之间进行授权和加密通信)的支持,长期来看,IPv6是会极大地提升互联网的安全性,因为每个端点都能够加密。但是要实现这样的安全将会是一个漫长的过程。
致 谢
本次毕业设计是在曾宇老师的指导下完成的,在毕业设计完成之际,我要特别感谢我的指导老师曾宇老师的热情关怀和悉心指导。在做设计的过程中,曾宇老师倾注了大量的心血,无论是在毕业设计的构思和资料的收集方面,还是在论文的成文及定稿方面,我都得到了曾宇老师的悉心细致的教诲和无私的帮助,特别是他严谨的治学精神和一丝不苟的工作作风将使我终生受益,在此表示真诚地感谢和深深的谢意。
感谢学校提供的实验环境,在毕业设计中了学校为我提供了的实验室和昂贵的路由交换设备,在此对校的信任和帮助表示感谢。
感谢在毕业设计期间在各个方面给予过我帮助的同学和老师们,在大学生活即将结束的最后的日子里,我们再一次演绎了团结合作的童话,把一个庞大的,从来没有上手的课题,圆满地完成了。正是因为有了你们的帮助,才让我不仅学到了本次课题所涉及的新知识,更让我感觉到了知识以外的东西,那就是团结的力量。
感谢开发IPv6协议栈的前辈们,下一个时代,必将是一个ALL in IP的时代。 最后向在百忙之中评审本文的各位专家、老师表示衷心的感谢!
参考文献
[1] (美)Cprian Popoviciu.部署IPv6网络[M].北京:人民邮电出版社,2006. [2] 高阳,[M].清华大学出版社,2009.
[3] 雷震甲. 网络工程师教程第三版[M].清华大学出版社,2010. [4] 杨轶,苏啸鸣,吴越. 深入解析IPv6第二版[M].人民邮电大学出版社. [5] 谢希仁. 计算机网络(第5版)[M]. 北京:电子工业出版社,2008. [6](加)Regis Desmeules. Cisco IPv6网络实现技术[M]. 北京:人民邮电出版社,2004.
[7] Cisco .Dynamic Host Configuration Protocol for IPv6(DHCPv6) Relay Agent Subscriber –ID option RFC4580.US:Cisco System,2004.
附 录 A
图5-4 隧道配置拓扑图中各路由器的配置如下: R1的配置: hostname R1 boot-start-marker boot-end-marker no aaa new-model memory-size iomem 5 ip cef
ipv6 unicast-routing ipv6 cef nterface Serial0/0 no ip address
ipv6 address 2001::1/64 ipv6 ospf 100 area 1 serial restart-delay 0 clock rate 64000 interface Serial0/1 no ip address
ipv6 address 2003::1/64 ipv6 ospf 100 area 1 serial restart-delay 0 interface Serial0/2 no ip address shutdown
serial restart-delay 0 interface Serial0/3 no ip address shutdown
serial restart-delay 0 interface FastEthernet1/0
no ip address shutdown duplex auto speed auto ip http server
no ip http secure-server ipv6 router ospf 100 router-id
log-adjacency-changes control-plane line con 0 line aux 0 line vty 0 4 login R2的配置 R2#show run
Building configuration... Current configuration : 975 bytes version
service timestamps debug datetime msec service timestamps log datetime msec no service password-encryption hostname R2 boot-start-marker boot-end-marker no aaa new-model memory-size iomem 5 ip cef
ipv6 unicast-routing ipv6 cef interface Serial0/0 no ip address
ipv6 address 2003::2/64 ipv6 ospf 100 area 1
serial restart-delay 0 clock rate 64000 interface Serial0/1 no ip address
ipv6 address 2002::2/64 ipv6 ospf 100 area 1 serial restart-delay 0 clock rate 64000 interface Serial0/2 no ip address shutdown
serial restart-delay 0 interface Serial0/3 no ip address shutdown
serial restart-delay 0 interface FastEthernet1/0 no ip address shutdown duplex auto speed auto ip http server
no ip http secure-server ipv6 router ospf 100 router-id
log-adjacency-changes control-plane line con 0 line aux 0 line vty 0 4 login end R3的配置: R3>en
R3#show run
Building configuration... Current configuration : 1129 bytes version
service timestamps debug datetime msec service timestamps log datetime msec no service password-encryption hostname R3 boot-start-marker boot-end-marker no aaa new-model memory-size iomem 5 ip cef
ipv6 unicast-routing ipv6 cef interface Tunnel0 no ip address
ipv6 address 2005::3/64 ipv6 enable ipv6 ospf 100 area 0 tunnel source tunnel destination tunnel mode ipv6ip interface Serial0/0 no ip address
ipv6 address 2002::3/64 ipv6 ospf 100 area 1 serial restart-delay 0 interface Serial0/1 no ip address
ipv6 address 2001::3/64 ipv6 ospf 100 area 1 serial restart-delay 0 interface Serial0/2
no ip address shutdown
serial restart-delay 0 interface Serial0/3 no ip address shutdown
serial restart-delay 0 interface FastEthernet1/0 ip address duplex auto speed auto ip http server
no ip http secure-server ipv6 router ospf 100 router-id
log-adjacency-changes control-plane line con 0 line aux 0 line vty 0 4 login End R4的配置: R4#show run
Building configuration... Current configuration : 1240 bytes version
service timestamps debug datetime msec service timestamps log datetime msec no service password-encryption hostname R4 boot-start-marker boot-end-marker no aaa new-model
memory-size iomem 5 ip cef
ipv6 unicast-routing interface Tunnel0 no ip address
ipv6 address 2005::4/64 ipv6 enable ipv6 ospf 100 area 0 tunnel source tunnel destination tunnel mode ipv6ip interface Serial0/0 no ip address
ipv6 address 2004::4/64 ipv6 rip JACKIE enable serial restart-delay 0 interface Serial0/1 no ip address shutdown
ipv6 rip JACKIE enable serial restart-delay 0 interface Serial0/2 no ip address shutdown
serial restart-delay 0 interface Serial0/3 no ip address shutdown
serial restart-delay 0 interface FastEthernet1/0 ip address duplex auto speed auto
ipv6 rip JACKIE enable
ip http server
no ip http secure-server ipv6 router ospf 100 router-id
log-adjacency-changes
redistribute rip JACKIE tag 10 include-connected ipv6 router rip JACKIE redistribute ospf 100 metric 4 control-plane line con 0 line aux 0 line vty 0 4 login end R5的配置: R5#show run
Building configuration... Current configuration : 954 bytes version
service timestamps debug datetime msec service timestamps log datetime msec no service password-encryption hostname R5 boot-start-marker boot-end-marker no aaa new-model memory-size iomem 5 ip cef
ipv6 unicast-routing interface Loopback0 no ip address
ipv6 address 2006::5/64 ipv6 enable
ipv6 rip JACKIE enable
interface Serial0/0 no ip address shutdown
serial restart-delay 0 interface Serial0/1 no ip address
ipv6 address 2004::5/64 ipv6 rip JACKIE enable serial restart-delay 0 interface Serial0/2 no ip address shutdown
serial restart-delay 0 interface Serial0/3 no ip address shutdown
serial restart-delay 0 interface FastEthernet1/0 no ip address shutdown duplex auto speed auto ip http server
no ip http secure-server ipv6 router rip JACKIE control-plane line con 0 line aux 0 line vty 0 4 login End
因篇幅问题不能全部显示,请点此查看更多更全内容