• 550.00 KB
  • 2022-04-22 13:36:52 发布

基于IPv6的组网研究和设计毕业论文.doc

  • 50页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'基于IPv6的组网研究和设计毕业论文目录第一章引言11.1选题的意义11.2本人所作工作11.3论文的组织结构2第二章IPv6概述3第二章IPv6概述32.1IPv6的表示32.2IPV6地址类型32.2.1单播(Unicast)32.2.2任意播(Anycast)42.2.3多播(Multicast)42.3IPV6的邻居发现过程42.4DNS系统52.5IPV6的ACL62.5.1IPv6ACL分类62.5.2IPv6ACL命名62.5.3IPv6ACL匹配顺序62.6DHCPv672.6.1DHCPv6网络构成72.6.2DHCPv6地址/前缀分配过程72.6.3地址/前缀租约更新过程82.6.4DHCPv6无状态配置8 第三章IPv6的路由选择93.1RIPng93.1.1RIPng报文格式93.1.2RIPng工作原理103.1.3RIPng和RIPv1、RIPv2的区别103.2OSPFV3103.2.1OSPFv3简介113.2.2OSPFv3和OSPFv2的主要区别如下:11第四章IPV6与IPv4的共存与整合策略124.1双协议栈124.2隧道134.2.1隧道代理134.2.2隧道服务器134.2.3配置隧道144.2.46to4隧道144.2.5ISATAP隧道154.2.6TEREDO隧道154.3协议转换164.3.1NAT-PT原理164.3.2NAT-PT机制164.3.3NAT-PT实现过程174.4各种隧道技术比较18第五章基于IPv6的组网设计195.1网络总体设计及所需环境、设备概述195.1.1综合网络拓扑图195.1.2设备型号介绍205.2OSPFv3的配置205.2.1OSPFv3实验拓扑图与地址规划205.2.2设备的基本配置21 5.3RIPng的配置225.3.1实验拓扑图与地址分配225.3.2RIPng配置命令分析225.3.3结果验证235.4采用配置隧道255.4.1实验拓扑图255.4.2配置隧道的配置265.4.3实验结果的观察与验证285.5DHCPv6的配置295.5.1Cisco设备的DHCPv6应用分析295.5.2Cisco路由器DHCPv6的配置305.5.3主机从DHCPv6服务器获取的结果315.6NAT-PT315.6.1实验拓扑图315.6.2相关配置说明315.7主机隧道配置335.7.1主机隧道配置拓扑335.7.2主机隧道配置过程335.7.3主机隧道配置的结果验证345.8ISATAP隧道配置345.8.1ISATAP实验拓扑355.8.2主机启用ISATAP355.8.3路由器的ISATAP配置及其主机的结果验证35结论37致谢38参考文献39附录A40 第一章引言1.1选题的意义IPv4自1981年发布以来,由于它的可靠、易实施、及可操作性,经受住了从互联网扩大到今天的全球性应用的Internet的考验,这是对它最初设计的肯定。我们现有的互联网是在IPv4协议的基础上运行的,IPV4采用32位地址,总量约为43亿个。随着网络的迅猛发展,全球数字化和信息化的加速,园区网络越来越多的应用到校园和企业当中,由于IPv4地址空间的短缺以及存在的一些安全方面的漏洞极大地影响了园区网的发展。所以人们急需要从现有的IPv4网络中向下一代互联网即IPv6网络迁移。用于下一代互联网的IPv6地址可以提供足够的地址空间,足以满足快速增长的全局可路由地址的需求,并能提供更多的地址层次。IPv6的地址空间不但被增加到128bit,还将层次化要求设计到了全局可路由地址的格式之中。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本地化提供理论基础;另外,通过具体的拓扑结构选取与配置,重点介绍了CISCOIPv6的实现,以及在Cisco路由器上设计、配置、部署和调试IPv6的技术。1.2本人所作工作 1.简述互联网的历史和发展以及互联网在中国的发展和现状,同时阐述下一代网络协议IPv6的发展历史及其优越性;2介绍IPv6协议基本概念,了解IPv6寻址、IPv6报头结构、ICMPv6机制、邻节点发现、DHCPv6、IPv4到IPv6的过渡技术分析、IPv6路由、IPv6的安全性进行初步分析。3.通过路由器模拟软件完成IPv6网络逻辑拓扑搭建,并结合江苏大学计算机学院网络工程实验室的设备物理拓扑图,匹配逻辑拓扑,在网络设备IOS命令行模式下进行配置与测试,并对配置结果进行分析与论证。1.3论文的组织结构本论文共由5章构成:第一章:引言,主要介绍毕业设计的意义和IPv6的目前状况。第二章:IPv6概述,主要介绍IPv6的地址编址方式、常用应用DHCPv6、DNS、ACL。第三章:IPv6路由协议介绍,包括距离矢量RIPng与链路状态路由协议OSPFv3以及与IPv4中相对应路由协议的比较。第四章:IPv4与IPv6的共存策略,包括双协议栈、隧道技术与NAT-PT,并对各自的原理进行了分析。第五章:基于IPv6组网设计,本章为论文的核心部分。详细论述了基于IPv6的组网设计原理与过程。最后,对毕业设计进行简要总结。 第二章IPv6概述2.1IPv6的表示1.IPv6的数制选择在IPv4中,为了迎合人们的习惯,IPv4地址使用点分十进制表示。在IPv6中,用点号分隔将会导致有16个十进制数要用点分隔。2.IPv6地址的十六进制表示及其简化IPv6地址为128位长(16个字节),但通常写作8组,每组为四个十六进制数的形式,并用冒号分隔。例如:i)2001:0db8:85a3:08d3:1319:8a2e:0370:7344ii)2001:0db8:0000:2f3b:02aa:00ff:fe28:9c5a以上都是合法的IPv6地址。可通过压缩每个16位的前导零,进一步简化IPv6的表示方法,但是每个块必须至少有一个数字,上面两地址压缩前导零后,结果如下:i)2001:db8:85a3:8d3:1319:8a2e:370:7344ii)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,FormatPrefix)的表示和IPv4地址前缀在CIDR中的表示方法类似。2.2IPV6地址类型2.2.1单播(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。2.2.2任意播(Anycast)一组接口的地址。大多数情况下,这些接口属于不同的节点。发送到任意播地址的数据包被送到由该地址标识的其中一个接口,往往是距离源点最近。2.2.3多播(Multicast)一组接口的地址(通常分属不同节点)。发送到多播地址的数据包被送到由该地址标识的每个接口。2.3IPV6的邻居发现过程IPv6邻居探索(ND)是一组确定邻居节点之间关系的消息和过程。ND代替在IPv4中使用的“地址解析协议(ARP)”、“Internet控制消息协议(ICMP)”、“路由器发现”和“ICMP重定向”,并提供了其他功能。 邻居发现协议实现了路由器和前缀发现、地址解析、下一跳地址确定、重定向、邻居不可达检测、重复地址检测等功能,可选实现链路层地址变化、输入负载均衡、泛播地址和代理通告等功能。邻居发现协议采用5种类型的IPv6控制信息报文(ICMPv6)来实现邻居发现协议的各种功能。这5种类型消息如下。(1)路由器请求(RouterSolicitation):当接口工作时,主机发送路由器请求消息,要求路由器立即产生路由器通告消息,而不必等待下一个预定时间。(2)路由器通告(RouterAdvertisement):路由器周期性地通告它的存在以及配置的链路和网络参数,或者对路由器请求消息作出响应。路由器通告消息包含在连接(on-link)确定、地址配置的前缀和跳数限制值等。(3)邻居请求(NeighborSolicitation):节点发送邻居请求消息来请求邻居的链路层地址,以验证它先前所获得并保存在缓存中的邻居链路层地址的可达性,或者验证它自己的地址在本地链路上是否是惟一的。(4)邻居通告(NeighborAdvertisement):邻居请求消息的响应。节点也可以发送非请求邻居通告来指示链路层地址的变化。(5)重定向(Redirect):路由器通过重定向消息通知主机。对于特定的目的地址,如果不是最佳的路由,则通知主机到达目的地的最佳下一跳。2.4DNS系统域名系统DomainNameSystem简称DNS是一个多级分层分布式的数据库管理系统,它已经成为Internet必不可少的组成部分。DNS的主要功能是通过域名和IP地址之间的相互映射关系来精确定位网络资源,即根据域名查询IP地址或根据IP地址查找对应域名。DNS作为当今Internet的基础架构,众多的网络服务都是建立在DNS体系基础之上并随着网络应用的日益广泛而变得越来越重要。IPv6网络中的DNS与IPv4的DNS在体系结构上是一致的,都是采用树型结构的域名空间。虽然IPv4协议与IPv6协议是存在着相当大区别的两套协议,但这并不意味着需要单独两套DNS体系,相反在DNS的体系和域名空间上两者必须是一致的,IPv4和IPv6 共同拥有统一的域名空间。都支持正向解析和反向解析,只是记录方式不同。2.5IPV6的ACL访问控制列表(ACL)是路由器和交换机接口的指令列表,用来控制端口进出的数据包。IPv6ACL则是根据三层及以上层信息进行数据包过滤的机制,通过允许或拒绝特定数据包进入网络,对网络访问进行控制。2.5.1IPv6ACL分类IPv6ACL根据ACL序号来区分不同的ACL,可以分为三种类型,如表2-1所示。表2-1IPv6ACL分类IPv6ACL类型ACL序号范围区分报文的依据基本IPv6ACL2000~2999只根据源IPv6地址信息制定匹配规则高级IPv6ACL3000~3999根据报文的源IPv6地址信息、目的IPv6地址信息、IPv6承载的协议类型、协议的特性等三层、四层信息来制定匹配规则简单IPv6ACL10000~42767根据报文的源IPv6地址信息、目的IPv6地址信息、IPv6地址组合标记、IPv6承载的协议类型、协议的特性等三层、四层信息来制定匹配规则。简单IPv6ACL在TCP标记、分片报文标记上有更丰富的内容2.5.2IPv6ACL命名用户在创建IPv6ACL时,可以为ACL指定一个名称。每个IPv6ACL最多只能有一个名称。命名的ACL使用户可以通过名称唯一地确定一个IPv6ACL,并对其进行相应的操作。2.5.3IPv6ACL匹配顺序一个ACL中可以包含多个规则,而每个规则都指定不同的报文匹配选项,将一个报文和ACL的规则进行匹配时,IPv6ACL支持以下两种匹配顺序:(1)  配置顺序:按照用户配置规则的先后顺序进行规则匹配。(2)  自动排序:按照“深度优先”的顺序进行规则匹配。 在报文匹配规则时,会按照匹配顺序去匹配定义的规则,一旦有一条规则被匹配,报文就不再继续匹配其它规则了,设备将对该报文执行第一次匹配的规则指定的动作。2.6DHCPv6IPv6主机可以使用多种方法来配置地址:(1) 无状态地址自动配置用于对链接本地地址和其他非链接本地地址两者进行配置,方法是与相邻路由器交换路由器请求和路由器公告消息。(2) 有状态地址自动配置通过使用如DHCP的配置协议,用来配置非链接本地地址。2.6.1DHCPv6网络构成包括以下三种角色:(1)DHCPv6客户端:动态获取IPv6地址、IPv6前缀或其他网络配置参数的设备。(2)DHCPv6服务器:负责为DHCPv6客户端分配IPv6地址、IPv6前缀和其他网络配置参数的设备。DHCPv6服务器不仅可以为DHCPv6客户端分配IPv6地址,还可以为其分配IPv6前缀。(3)DHCPv6中继:DHCPv6客户端通过本地链路范围的组播地址与DHCPv6服务器通信,以获取IPv6地址和其他网络配置参数。2.6.2DHCPv6地址/前缀分配过程DHCPv6服务器为客户端分配地址/前缀的过程分为两类:交互两个消息的快速分配过程(1)DHCPv6客户端在发送的Solicit消息中携带RapidCommit选项,标识客户端希望服务器能够快速为其分配地址/前缀和网络配置参数;(2)如果DHCPv6服务器支持快速分配过程,则直接返回Reply消息,为客户端分配IPv6地址/前缀和其他网络配置参数。如果DHCPv6服务器不支持快速分配过程,则采用交互四个消息的分配过程为客户端分配IPv6地址/前缀和其他网络配置参数。交互四个消息的分配过程(1)Solicit:DHCPv6客户端发送该消息,请求DHCPv6服务器为其分配IPv6 地址/前缀和网络配置参数(2)Advertise:如果Solicit消息中没有携带RapidCommit选项,或Solicit消息中携带RapidCommit选项,但服务器不支持快速分配过程,则DHCPv6服务器回复该消息,通知客户端可以为其分配的地址/前缀和网络配置参数(3)Request:如果DHCPv6客户端接收到多个服务器回复的Advertise消息,则根据消息接收的先后顺序、服务器优先级等,选择其中一台服务器,并向该服务器发送Request消息,请求服务器确认为其分配地址/前缀和网络配置参数(4)Reply:DHCPv6服务器回复该消息,确认将地址/前缀和网络配置参数分配给客户端使用2.6.3地址/前缀租约更新过程DHCPv6服务器分配给客户端的IPv6地址/前缀具有一定的租借期限。租借期限由有效生命期(ValidLifetime)决定。地址/前缀的租借时间到达有效生命期后,DHCPv6客户端不能再使用该地址/前缀。在有效生命期到达之前,如果DHCPv6客户端希望继续使用该地址/前缀,则需要更新地址/前缀租约。2.6.4DHCPv6无状态配置DHCPv6服务器可以为已经具有IPv6地址/前缀的客户端分配其他网络配置参数,该过程称为DHCPv6无状态配置。DHCPv6客户端通过地址无状态自动配置功能成功获取IPv6地址后,如果接收到的RA(RouterAdvertisement,路由器通告)报文中M标志位(Managedaddressconfigurationflag,被管理地址配置标志位)为0、O标志位(Otherstatefulconfigurationflag,其他配置标志位)为1,则DHCPv6客户端会自动启动DHCPv6无状态配置功能,以获取除地址/前缀外的其他网络配置参数。 第三章IPv6的路由选择下一代路由选择信息协议(RIPng,应用于IPv6)是一种基于Ipv6的路由协议。在国际性网络中,如因特网,拥有很多应用于整个网络的路由选择协议,形成网络的每一个自治系统(AS),每个AS都有属于自己的路由选择技术,不同的自治系统,路由选择技术不同。自治系统内部的路由选择协议称为内部网关协议(IGP)。而RIPng与OSPFv3都能在AS中被用作IGP协议。3.1RIPng3.1.1RIPng报文格式RIPng是基于UDP的协议,并且使用端口号521发送和接收数据报。RIPng报文大致可分为两类:选路信息报文和用于请求信息的报文。它们都使用相同的格式,由固定的首部和路由表项RTE组成,如下图所示:32bitCommandVersionUnusedIPv6Prefix1RouteTagPrefixLengthMetricIPv6Prefix1RouteTagPrefixLengthMetricRouteEntryRouteEntry8168图3-1RIPng报文格式RIPng中仍然使用固定的度量方式,即跳数,RIPng的最大工作直径为15跳,16即意味着目的地不可达。与RIPv2不同的是,RIPng的下一跳字段是由一个单独的RTE指定的。 3.1.2RIPng工作原理与RIPv2类似,路由器在查询响应、周期更新、触发更新三种情况下会收到响应报文,接收报文的路由器根据响应报文判断是否对本地路由表进行更新。基于距离矢量算法的路由协议会产生慢收敛和无限计数的问题而引发了路由的不一致。RIPng使用与RIPv2类似的水平分割技术、毒性逆转技术、触发更新技术来解决这些问题,同时抑制广播风暴,减少路由信息数量。3.1.3RIPng和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收发路由更新报文。3.2OSPFV3 3.2.1OSPFv3简介OSPFv3也称IPv6OSPF协议,是一种链路状态路由协议,它是对基于IPv4的OSPFv2的改进。3.2.2OSPFv3和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的转换问题,并且已提出了很多方案:双协议栈技术、隧道技术、网络地址转换/协议转换技术。4.1双协议栈双协议栈(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/UDPIPv6TCP/UDPIPv4网络接口层应用层TCP/UDPIPv6TCP/UDPIPv4网络接口层IPv6IPv6overIPIPv4图4-1双栈体系结构图(左)及其包含类型(右)4.2隧道隧道机制就是用IPv4封装IPv6数据包并且把这些封装了的数据包通过IPv4网络送往一个IPv4目的节点,目的节点拆封数据包并剥离出IPv6数据包。隧道封装(TUNNELING)就是运用隧道使孤立的IPv6主机、服务器、路由器和域利用现有的IPv6基础设施与其他IPV6网络通信,孤立的IPv6机也能够利用IPv4作为传输层建立端到端IPv6会话。主要有以下技术来实现IPv4隧道的配置和创建:4.2.1隧道代理配置隧道需要在两个端点手动进行配置,因此,当静态配置时,配置隧道机制是不可扩展的。为了方便IPv4网络上配置隧道的部署,IETF定义了一种被称为隧道代理的机制。隧道代理是一个外部系统,而不是路由器,它在IPv4网络中作为服务器,并接受双栈节点的隧道建立请求。4.2.2隧道服务器隧道服务器是隧道代理的简化模型。隧道服务器把代理和双栈路由器结合在一个系统中,而不是两单独的系统,请求一个配置隧道的方法大体上跟隧道代理相同,但是隧道服务器比之隧道代理是有优点的。 4.2.3配置隧道配置隧道在双栈节点上被启用并静态地配置。因为配置隧道是IPv6支持的第一个过渡机制,所以在目前所有可用的IPv6实现中被广泛地支持。配置隧道可以看作是一条点到点链路,在配置隧道的每一端,必须手动地给隧道接口分配IPv4地址和IPv6地址。隧道接口需要分配以下地址:(1)本地IPv4地址——通过这个IPv4地址,本地的双栈节点在IPv4网络上可达。本地的IPv4地址用作输出流的源IPv4地址。(2)远端IPv4地址——通过这个IPv4地址,远端的双栈节点在IPv4网络上可达。远端的IPv4地址用作输出流的目的IPv4地址。(3)本地IPv6地址——本地分配给隧道接口的IPv6地址。4.2.46to4隧道在两个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中继。IANA分配了6to4中继任意播前缀192.88.99.0/24专门用于自动路由6to4数据包到最近的6to4中继。在6to4 置中,可以使用ipv6 route ::/0 2002:c058:6301::命令配置默认的IPv6路由。通过GRE隧道部署IPv6,对域内使用IS-IS作为IPv6路由选择协议的组织提供了方便。4.2.5ISATAP隧道站点间自动隧道寻址协议(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兼容隧道。4.2.6TEREDO隧道这是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地址。 4.3协议转换IPv6与IPv4网络上单协议网络的节点进行通信是可能的,不过,这些机制需要在IPv4和IPv6两种网络的边界上进行协议转换。4.3.1NAT-PT原理(NetworkAddressTranslation-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-1NAT-PT示意图但由于NAT-PT具有一定的局限性,所以在一些场合不推荐使用(如IPv6网络中主机跨越IPv4网络与另一IPv6网络中主机通信推荐使用隧道技术),例如属于同一会话的请求和响应都必须通过同一NAT-PT设备才能进行NAT-PT转换;不能转换IPv4报文头的可选项部分;缺少端到端的安全性。4.3.2NAT-PT机制有三种NAT-PT机制可实现IPv4和IPv6地址之间的相互转换:1.静态映射的NAT-PT机制 静态映射的NAT-PT机制是指采用手工配置的IPv6地址与IPv4地址的一一对应关系来实现IPv6地址与IPv4地址的转换。2.动态映射的NAT-PT机制和静态映射不同,动态映射没有IPv6和IPv4地址之间的一一对应关系。动态映射要求先创建一个地址池,然后根据需要从地址池中选取空闲地址来完成IPv6地址与IPv4地址的映射。3.NAPT-PT机制NAPT-PT(NetworkAddressPortTranslation-ProtocolTranslation,附带协议转换的网络地址端口转换)是在IP地址动态转换的基础上对TCP、UDP的端口号也进行IPv6到IPv4的转换。采用这种“地址+端口号”的映射方式,不同的IPv6地址转换时,可以对应同一个IPv4地址,通过端口号来区分不同的IPv6主机,从而使多个IPv6主机能共享一个IPv4地址完成转换。4.3.3NAT-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.4各种隧道技术比较表4-1各种隧道机制的比较机制主要作用优点限制要求IPv4上的IPv6GRE隧道常规通信连接用的稳定而安全的链路。著名的标准隧道技术;采用Ipv4IPSec可以保证隧道端点间的安全。只在两点间建立隧道;较大管理开销;GRE隧道在主机上实施得较少。ISP注册的IPv6地址;双栈路由器;如果隧道上为IPv6配置了IS-IS,则需要自动6to4隧道多个远端IPv6域的连接;常用的通信方法易于建立,无管理开销当与IPv6互联网通信时,回程路径选择不是最优的。如果没有通过IPsec(或IPv4或IPv6)进行保护,有潜在的安全问题IPv6前缀(2002::/16);双栈路由器ISATAP隧道园区站点;无路由站点转换当园区网上有松散的IPv6主机时,可简化IPv6部署与纯IPv6第3层交换机相比,可能不能提供最佳性能的路径;无法为IPv6组播业务提供解决方案在IPv6主机和路由器上实施ISATAP;双栈路由器6over4隧道园区站点;无路由站点转换N/A不常见,被ISATAP取代N/A 第五章基于IPv6的组网设计5.1网络总体设计及所需环境、设备概述5.1.1综合网络拓扑图基于设计需要,建立如下拓扑,如图5-1综合拓扑图:图5-1综合拓扑图如图5-1综合拓扑图所示:左右各三个路由器组成的环形结构拓扑分别使用了OSPFv3和RIPng路由协议,构成了两个IPV6孤岛,为连接孤岛实现全网的通信,在R3和R4上使用了隧道协议。R4作为边界路由器,需同时启用OSPFv3和RIPng路由协议,并且进行路由协议重发布,才能使得各独立自治系统中的路由器拥有全网络的路由条目,实现数据转发。另外,结合了无状态地址自动配置,在图5-1综合拓扑图左下方区域,客户端根据网络RA(路由通告)和自己的MAC地址计算出自己的IPv6地址,同时使用DHCP服务器来获取DNS服务器的地址和域名,路由器R1为DHCPv6server;右下方,为PC3是手工设置IPv6,PC3、PC4运用ISATAP隧道获得IPv6地址。 5.1.2设备型号介绍1)Cisco2801路由器,IOS版本号为:c280nm-advipservicesk9-mz.124-15.T1.bin2)Cisco3560三层交换机以及Cisco2960以太网二层交换机3)PC机装载windowsserver2008及windowsxp操作系统5.2OSPFv3的配置5.2.1OSPFv3实验拓扑图与地址规划对图5-1综合拓扑图中运行OSPFv3的纯IPv6网络单独进行分析,其拓扑图如下图5-2OSPFv3拓扑图图5-1综合拓扑图图5-2OSPFv3拓扑图IPv6地址规划如下表5-1路由器各接口的IPv6地址表5-1路由器各接口的IPv6地址设备名端口IPv6地址R1S0/02001::1/64R1S0/12003::1/64R2S0/02002::2/64R2S0/12001::2/64R3S0/02003::3/64R3S0/12002::3/64 5.2.2设备的基本配置(1)IPv6unicast-routing启用IPV6单播服务(2)IPv6routerospfprocess-id在路由器上启用一个OSPFv3进程。process-id参数标识了一个唯一的OSPFv3进程。这个命令是在全局基础上使用的。(3)router-idipv4-address对IPv6单协议网络的OSPF路由器而言,在OSPFv3配置中必须要定义router-id参数,route-id在OSPF中是作为路由器唯一标识的。使用router-idipv4-address命令定义为一个IPv4地址,取值可以使用任何IPv4地址。例如:router-id10.1.1.3则定义10.1.1.3为该路由器的唯一标识。(4)IPv6ospfprocess-idareaarea-id标识指定给这个接口的IPv6前缀作为OSPFv3网络的组成部分。这个命令替换了OSPFv2所使用的networkarea命令(5)areaarea-idrangeIPv6-prefix/prefix-length聚合匹配IPv6-prefix/prefix-length参数的IPv6路由。R2的配置:R2#showrunIPv6unicast-routinginterfaceSerial0/0noipaddressIPv6address2001::2/64IPv6ospf100area1interfaceSerial0/1noipaddressIPv6address2003::2/64IPv6ospf100area1IPv6routerospf100router-id2.2.2.25.3RIPng的配置 5.3.1实验拓扑图与地址分配对图5-1综合拓扑图中运行RIPng的纯IPv6网络单独进行分析,其拓扑图如下图5-3RIPng配置拓扑图所示:图5-3RIPng配置拓扑图各接口地址分配如表5-2路由器各接口的IPv6地址表5-2路由器各接口的IPv6地址设备名端口IPv6地址R4S0/02011::1/64R4Loopback02010::1/64R5S0/02011::2/64R5S0/12012::2/64R6Loopback02013::3/64R6S0/12012::3/645.3.2RIPng配置命令分析(1)IPv6routerriptagIPv6routerrip命令在路由器上定义一个RIPng进程,这是用来启用RIPng。Tag参数用来标识某个特定RIPng进程的一个短字符串。CiscoIOS可以同时支持4个RIPng进程。例如:IPv6routerripJACKIE//RIPng进程名为JACKIE。(2)IPv6riptagenable该命令在接口上使用,使得接口启用RIPng。R4的配置如下所示:R4#showrunBuildingconfiguration...hostnameR4 IPv6unicast-routinginterfaceLoopback0noipaddressIPv6address2010::1/64IPv6ripJACKIEenableinterfaceSerial0/0noipaddressIPv6address2011::1/64IPv6ripJACKIEenableserialrestart-delay0IPv6routerripJACKIER5、R6的配置与R4类似。5.3.3结果验证1)显示R4的路由表,用命令showIPv6route,可依次显示路由条目的来源、到达的网段、下一跳路由器、及本地转发接口。R4#showIPv6route…C2010::/64[0/0]via::,Loopback0L2010::1/128[0/0]via::,Loopback0C2011::/64[0/0]via::,Serial0/0L2011::1/128[0/0]via::,Serial0/0R2012::/64[120/2]viaFE80::CE05:FFF:FEE0:10,Serial0/0R2013::/64[120/3]viaFE80::CE05:FFF:FEE0:10,Serial0/0其中C代表的是直连路由条目,L代表路由为本地路由条目,而R则表示通过RIPng协议获得的路由条目。根据以上输出信息可知,R4获得了到2012::/64、2013::/64网段的路由条目。 2)RIPng路由信息显示,关于RIPng的各个定时器,进程名称,最大跳数等信息。根据下面的显示信息,可知RIPng进程名为JACKIE,能够支持的最大跳数为16。R4#showIPv6ripRIPprocess"JACKIE",port521,multicast-groupFF02::9,pid184Administrativedistanceis120.Maximumpathsis16Updatesevery30seconds,expireafter180Holddownlasts0seconds,garbagecollectafter120Splithorizonison;poisonreverseisoffDefaultroutesarenotgeneratedPeriodicupdates29,triggerupdates3Interfaces:Loopback0Serial0/0Redistribution:根据如上结果显示可知RIPng的三个重要定时器数值:周期性广播定时器为30s、期满定时器为180s、垃圾收集定时器为120s。其中周期性广播定时器一般被设置成25s到35s之间的任一随机数,用以避免网络上所有路由器以相同的定时发送更新报文,从而减少冲突;路由器只要收到通往特定信宿路由,就对通往该信宿的期满定时器初始化。期满定时器被设定为180s,如果一条路由在期满定时器超时前未得到相关报文的更新,则该条路由不再有效,但仍保留在路由表中,以便通知其他路由器这条路由已经失效;路由器对无效路由打上尺度为无穷大的无效标记并将垃圾收集定时器初始化。此时,定时器被设置为120s,在这段时间内这些路由仍然会被路由器周期性地广播,这样相邻路由器就能迅速从路由表中删除该路由。3)显示各个接口的状态,因为是IPv6,所以与RIPv2版本的showipinterfacebrief命令不同,采用showIPv6intbrief命令。如下:R4#showIPv6intbSerial0/0[up/up]FE80::CE04:FFF:FEE0:102011::1Serial0/1[administrativelydown/down] Serial0/2[administrativelydown/down]Serial0/3[administrativelydown/down]FastEthernet1/0[administrativelydown/down]Loopback0[up/up]FE80::CE04:FFF:FEE0:102010::1根据显示结果,接口状态若为[up/up],则代表物理层和链路层工作正常。5.4采用配置隧道因为配置隧道是IPv6支持的第一个过渡机制,所以在目前所有可用的IPv6实现中被广泛地支持。隧道接口需要分配本地IPv4地址、远端IPv4地址和本地IPv6地址。5.4.1实验拓扑图图5-4隧道配置拓扑图IPv6地址规划如下表5-1路由器各接口的IPv6地址表5-3路由器各接口的IPv6地址设备名端口IPv6地址R1S0/02001::1/64R1S0/12003::1/64R2S0/02002::2/64 R2S0/12001::2/64R3S0/02003::3/64R3S0/12002::3/64R3F1/0192.168.10.1R4F1/0192.168.10.2R4S0/02004::4/64R5S0/12004::5/64R5Loopback02006::5/64R3、R4Tunnel02005::/645.4.2配置隧道的配置如图5-4隧道配置拓扑图,左边的纯IPv6网络采用了OSPFv3协议,所有路由器在area1中。右边纯IPv6网络的R4、R5采用了RIPng协议,在R3与R4路由器上启用的是IPv4,所以,通过在配置隧道协议,连接IPv6网络孤岛。为了使左右侧的IPv6的网络互通,仅仅在R3、R4上配置隧道还是不够的。还必须在隧道上启用路由协议,当然还可以配置静态路由协议了,此处采用的是OSPFv3路由协议,并在RIPng和OSPFv3中进行了路由发布,以使得各个路由器拥有全网的路由拓扑的路由条目。配置步骤如下:1)interfacetunneltunnel-interface-number指定了启用配置隧道的接口和编号。2)IPv6addressIPv6-address/prefix-length给隧道接口静态分配一个IPv6地址和前缀长度。3)tunnelsourceipv4-address确定用作隧道接口源地址的本地IPv4地址4)tunneldestinationipv4-addressTunneldestination命令确定隧道终点的目的IPv4地址。目的IPv4地址是隧道的远端。5)tunnelmodeipv6ip定义隧道接口的类型是配置隧道。路由器OSPFv3与RIPng路由协议配置详见5.1、5.2的说明。R3和R4为同时采用了IPv6和IPv4地址,并且为连接两个IPv6网络孤岛,采用了隧道协议,下面给出主要配置,各设备的详细配置可参见附录A。 R3#showrunIPv6unicast-routinginterfaceTunnel0noipaddressIPv6address2005::3/64IPv6enableIPv6ospf100area0tunnelsource192.168.10.3tunneldestination192.168.10.4tunnelmodeIPv6ipR4具体配置如下:R4#showrunIPv6unicast-routinginterfaceTunnel0noipaddressIPv6address2005::4/64IPv6enableIPv6ospf100area0tunnelsource192.168.10.4tunneldestination192.168.10.3tunnelmodeIPv6ipinterfaceSerial0/0noipaddressIPv6address2004::4/64IPv6ripJACKIEenableinterfaceFastEthernet1/0ipaddress192.168.10.4255.255.255.0IPv6ripJACKIEenableIPv6routerospf100router-id4.4.4.4redistributeripJACKIEtag10include-connected//将RIPng发布到OSPFv3中IPv6routerripJACKIEredistributeospf100metric4 //将OSPFv3发布到RIPng中,并设置种子度量值。5.4.3实验结果的观察与验证1)R4路由表:R4#showIPv6routePv6RoutingTable-10entriesOI2001::/64[110/11175]viaFE80::C0A8:A03,Tunnel0OI2002::/64[110/11175]viaFE80::C0A8:A03,Tunnel0OI2003::/64[110/11239]viaFE80::C0A8:A03,Tunnel0//因为R4的tunnel0在OSPFv3的area0中,与R2所在area1不同,所以为区域间路由条目,用OI表示。C2004::/64[0/0]via::,Serial0/0……2)R1的路由条目R1#showIPv6route……OE22004::/64[110/20],tag10viaFE80::CE0A:1FFF:FE08:10,Serial0/0OI2005::/64[110/11175]viaFE80::CE0A:1FFF:FE08:10,Serial0/0OE22006::/64[110/20],tag10viaFE80::CE0A:1FFF:FE08:10,Serial0/0//OE2代表自治系统外部路由,也就是获得了通过在OSPFv3中重分布的RIPng路由条目。LFE80::/10[0/0]via::,Null0LFF00::/8[0/0]via::,Null03)验证:测试R1至R5环回口的连通性R1#ping2006::5Typeescapesequencetoabort. Sending5,100-byteICMPEchosto2006::5,timeoutis2seconds:Successrateis100percent(5/5),round-tripmin/avg/max=260/379/556msR5#ping2001::1Typeescapesequencetoabort.Sending5,100-byteICMPEchosto2001::1,timeoutis2seconds:Successrateis100percent(5/5),round-tripmin/avg/max=140/216/288ms4)显示Ospf邻居表R3#showIPv6ospfneighbor//显示与R3相邻的路由器。NeighborIDPriStateDeadTimeInterfaceIDInterface4.4.4.41FULL/-00:00:3112Tunnel01.1.1.11FULL/-00:00:324Serial0/12.2.2.21FULL/-00:00:355Serial0/0R1、R2、R3、R4都运行了OSPFv3协议,在同一个自治系统内。5)测试隧道接口的连通性R2#ping2005::4Typeescapesequencetoabort.Sending5,100-byteICMPEchosto2005::4,timeoutis2seconds:Successrateis100percent(5/5),round-tripmin/avg/max=120/220/272ms5.5DHCPv6的配置5.5.1Cisco设备的DHCPv6应用分析无状态地址自动配置是指不需要DHCP服务器进行管理,客户端根据网络RA(路由通告)并根据自己的MAC地址计算出自己的IPv6地址。他们一般使用DHCP服务器来获取DNS服务器的地址。有状态的地址自动配置是指由DHCP服务器统一管理,客户端从DHCP服务器的地址池中拿到IPv6地址和其他信息(例如DNS等)。5.5.2Cisco路由器DHCPv6的配置1)IPv6dhcppoolpool-name DHCP服务是以Pool为单位使能的,所以在启动服务器功能之前必须配置Pool,no命令删除Pool。2)dns-serverIPv6-address[IPv6-address][IPv6-address]配置服务器地址,最多可以配置3个服务器3)domain-namedomain-name为客户端分配Domain-Name信息,no命令删除。4)prefix-delegation{poolpool-name|IPv6-prefixDUID}使用localpool作为前缀分配源,localpool需要另行配置,也就是运用命令4)。5)IPv6dhcpserverpool-name[rapid-commit[preferencepreference]]在接口上启动DHCP服务器,如果接口配置了DHCPv6客户端或者中继就不能配置服务器。pool-name为服务器使用的DHCP池信息,rapid-commit为启动快速交互模块,preferencepreference为指定服务器优先级,范围:0-255,默认为0。6)IPv6localpoolpool-nameIPv6-prefixassigned-length配置本地前缀/地址池用于前缀分配管理在图5-1综合拓扑图中的R1上配置DHCPServer.步骤如下:IPv6unicast-routingIPv6dhcppoolIPv6-poolprefix-delegationpooltestdns-server2001:2EF:3000:2000::2domain-nameexample.cominterfaceFastEthernet0/1ipaddress192.168.10.1255.255.255.---启动IPv6IPv6ndns-interval1000---调整邻居发现的时间间隔IPv6ndmanaged-config-flag---“M”位置1IPv6ndother-config-flag---“O”位置1IPv6ndrainterval60---更改RA的发送时间间隔 IPv6dhcpserverIPv6-poolrapid-commitpreference15.5.3主机从DHCPv6服务器获取的结果图5-5PC机上DHCPv6信息5.6NAT-PT5.6.1实验拓扑图如图5-6所示:图5-6NAT-PT拓扑图5.6.2相关配置说明静态NAT-PT映射在IPv6单协议网络节点访问固定的IPv4单协议网络节点的网络中是有用的,静态NAT-PT映射需要每一个要和IPv4单协议网络节点通信的IPV6单协议网络节点对应一个确定的IPv4地址。IPv6nat 指定启用NAT-PT机制的网络接口,在接口配置状态中使用IPv6natprefixIPv6-prefix/96详细说明在IPv6域内NAT-PT使用的IPv6前缀。NAT-PT只支持/96的网络前缀。IPv6natv6v4sourceIPv6-addressipv4-address强制将使用命令确定的源IPv6地址(发起的IPV6单协议网络主机)的输出IPV6数据包转换成IPv4数据包。IPv4数据包使用命令中指定的IPV4源地址访问目的IPv4地址。IPv6natv4v6sourceipv4-addressIPv6-address强制将使用命令确定的源IPv4地址的输出IPv4数据包转换成IPv6数据包。这个IPv4地址是IPv4单协议网络中的目的主机,IPv6地址是访问IPv4单协议网络上的目的主机相应的目的IPv6地址。在路由器R1上启用静态NAT-PT映射命令如下:routereigrp90//此处用到了Cisco私有的路由协议,EIGRP,network202.168.0.0noauto-summaryIPv6natv4v6source202.168.1.22001::1IPv6natv6v4source2000::2202.168.0.3IPv6natprefix2001::/965.6.3实验结果验证PC1#ping2001::1Typeescapesequencetoabort.Sending5,100-byteICMPEchosto2001::1,timeoutis2seconds:Successrateis100percent(5/5),round-tripmin/avg/max=340/425/624msPC2#ping202.168.0.3Typeescapesequencetoabort.Sending5,100-byteICMPEchosto202.168.0.3,timeoutis2seconds:Successrateis100percent(5/5),round-tripmin/avg/max=172/249/344ms5.7主机隧道配置 5.7.1主机隧道配置拓扑如图5-7所示:图5-7主机隧道配置拓扑5.7.2主机隧道配置过程在windowsxp系统中,默认没有安装IPv6协议栈,首先使用:netshinterfaceIPv6install等价于IPv6install。安装之后,在DOSshell中使用IPv6if命令检验安装。当键入该命令时,系统显示Windows上定义的所有IPv6伪接口的列表。(1)配置隧道及隧道模式,在windowsxp上配置隧道伪接口必须通过IPv6ifcripv4-source-addressipv4-destination-address命令启用。命令成功之后,会给配置隧道分配一个新的伪接口号。如图5-8所示:图5-8windows伪接口的创建(2)给隧道接口配置IPv6地址:IPv6adu7/2001:bbbb::2(3)配置缺省路由:IPv6rtu::/07/2001:bbbb::1路由器的配置举例:IPv6unicast-routing interfaceTunnel1noipaddressIPv6address2001:BBBB::1/64tunnelsource10.10.10.254tunneldestination10.10.10.1tunnelmodeIPv6ip5.7.3主机隧道配置的结果验证在主机的Dosshell下可Ping通路由器的IPv6地址。如下图5-9显示的是伪接口7的配置信息,该伪接口号是在主机上使用IPv6ifcr10.10.10.110.10.10.254命令由系统自动生成的。link-layeraddress:10.10.10.1和remotelink-layeraddress:10.10.10.254表示的是该配置隧道的源和目的IPv4地址。Preferredglobaladdress:2001:bbbb::2为该隧道的IPv6地址。图5-9主机隧道信息5.8ISATAP隧道配置5.8.1ISATAP实验拓扑如图5-10所示: 图5-10ISATAP配置拓扑5.8.2主机启用ISATAP默认情况下ISATAP在WindowsXP中是禁用的。可以运行以下命令查看当前的状态:netshinterfaceIPv6isatapshowstate要在计算机上启用ISATAP,运行以下命令:netshinterfaceIPv6isatapsetstateenabled在默认情况下,ISATAP主机使用DNS及其他IP名称解析技术来解析名称ISATAP到一个IPv4地址,以获得ISATAP路由器的IPv4地址。一旦主机已经确定ISATAP路由器的IP地址,就会使用IPv4单播信息从路由器中获取自动配置信息。要手动配置一个ISATAP路由器地址,可以运行以下命令:netshinterfaceIPv6isatapsetrouterIPv4Address需要注意的是,在ISATAP主机使用该路由器作为默认网关前,路由器必须响应IPv4封装的单播路由器请求消息。5.8.3路由器的ISATAP配置及其主机的结果验证路由器的配置:interfaceTunnel0IPv6address3FFE:B00:FFFF:2::/64eui-64//ISATAP的IPv6地址必须使用EUI-64格式,因为地址的低32比特基于IPv4地址。这个命令同时启用了隧道接口上的前缀广播。这里定义的前缀必须是分配给站点的ISATAP前缀。noIPv6ndsuppress-ra//Cisco IOS软件默认禁止了隧道接口的路由器广播。该命令为启用隧道接口的路由器广播。因为ISATAP隧道接口上必须启用路由器的广播。tunnelsource206.123.31.200tunnelmodeIPv6ipisatap//确定了隧道接口的类型是ISATAPinterfaceFastEthernet0/0ipaddress206.123.31.200255.255.255.0用ipconfig/all在主机中,显示隧道接口所得配置如图5-11所示:图5-11主机ISATAP隧道信息Windowxp分配给ISATAP隧道使用的伪接口是2,隧道的源目IPv4地址为206.123.31.100和206.123.31.200,生成Link-local型的ISATAPIPv6地址为FE80::5EFE:206.123.31.100,它是根据IPv4地址206.123.31.100,首先生成接口标识符::0:5ffe:206.123.31.100,然后加上一个前缀fe80形成。 结论本次毕业设计课题基于IPV6技术组网设计,在网络地址的短缺,及网络安全受到威胁等条件下,对IPV6技术进行理论探讨,分析如何利用IPV6技术,选用网络工程实验室拓扑设备与部件,设计了一个中型测试网络拓扑,并完成了基于IPv6的路由协议、隧道、自动地址分配等各项配置,最后对设计和配置结果进行测试、验证和分析。整个网络运行良好,IPv6和IPv4部分能够很好的兼容工作。这无疑给用户和服务提供商将IPv4升级至IPv6提供了便利,并降低了成本,因为不必要求重新部署原有网络了。总体来说IPv6与IPV4相比具有以下几个优势:(1)IPv6具有更大的地址空间;(2)IPv6使用更小的路由表;(3)IPv6加入了对自动配置(AutoConfiguration)的支持;(4)IPv6具有更高的安全性。因为IPv6是新的协议,在其发展过程中必定会产生一些新的安全问题,加上IPv6与IPv4网络的长期共存,网络必然会同时存在两者的安全问题,或由此产生新的安全漏洞。与IPv4相比,IPv6在网络保密性、完整性方面有了更好的改进,在可控性和抗否认性方面有了新的保证,但IPv6不仅不可能彻底解决所有安全问题,同时还会伴随其产生新的安全问题。目前多数网络攻击和威胁来自应用层而非IP层,因此,保护网络安全与信息安全,只靠一两项技术并不能实现,还需配合多种手段,构建一个整体的防御体系,这样才能使我们的网络应用更加安全然而,对于兼容工作后的网络或是IPv6网络,文中并没有探讨其安全性或漏洞。虽然Ipv6内置了对IPSec(一种互联网安全标准,可在两个端点之间进行授权和加密通信)的支持,长期来看,IPv6是会极大地提升互联网的安全性,因为每个端点都能够加密。但是要实现这样的安全将会是一个漫长的过程。 致谢本次毕业设计是在曾宇老师的指导下完成的,在毕业设计完成之际,我要特别感谢我的指导老师曾宇老师的热情关怀和悉心指导。在做设计的过程中,曾宇老师倾注了大量的心血,无论是在毕业设计的构思和资料的收集方面,还是在论文的成文及定稿方面,我都得到了曾宇老师的悉心细致的教诲和无私的帮助,特别是他严谨的治学精神和一丝不苟的工作作风将使我终生受益,在此表示真诚地感谢和深深的谢意。感谢学校提供的实验环境,在毕业设计中了学校为我提供了的实验室和昂贵的路由交换设备,在此对校的信任和帮助表示感谢。感谢在毕业设计期间在各个方面给予过我帮助的同学和老师们,在大学生活即将结束的最后的日子里,我们再一次演绎了团结合作的童话,把一个庞大的,从来没有上手的课题,圆满地完成了。正是因为有了你们的帮助,才让我不仅学到了本次课题所涉及的新知识,更让我感觉到了知识以外的东西,那就是团结的力量。感谢开发IPv6协议栈的前辈们,下一个时代,必将是一个ALLinIP的时代。最后向在百忙之中评审本文的各位专家、老师表示衷心的感谢! 参考文献[1](美)CprianPopoviciu.部署IPv6网络[M].北京:人民邮电出版社,2006.[2]高阳,王建强.计算机网络技术及应用[M].清华大学出版社,2009.[3]雷震甲.网络工程师教程第三版[M].清华大学出版社,2010.[4]杨轶,苏啸鸣,吴越.深入解析IPv6第二版[M].人民邮电大学出版社.[5]谢希仁.计算机网络(第5版)[M].北京:电子工业出版社,2008.[6](加)RegisDesmeules.CiscoIPv6网络实现技术[M].北京:人民邮电出版社,2004.[7]CiscoSystem.Ins.DynamicHostConfigurationProtocolforIPv6(DHCPv6)RelayAgentSubscriber–IDoptionRFC4580.US:CiscoSystem,2004. 附录A图5-4隧道配置拓扑图中各路由器的配置如下:R1的配置:hostnameR1boot-start-markerboot-end-markernoaaanew-modelmemory-sizeiomem5ipcefipv6unicast-routingipv6cefnterfaceSerial0/0noipaddressipv6address2001::1/64ipv6ospf100area1serialrestart-delay0clockrate64000interfaceSerial0/1noipaddressipv6address2003::1/64ipv6ospf100area1serialrestart-delay0interfaceSerial0/2noipaddressshutdownserialrestart-delay0interfaceSerial0/3noipaddressshutdownserialrestart-delay0interfaceFastEthernet1/0 noipaddressshutdownduplexautospeedautoiphttpservernoiphttpsecure-serveripv6routerospf100router-id1.1.1.1log-adjacency-changescontrol-planelinecon0lineaux0linevty04loginR2的配置R2#showrunBuildingconfiguration...Currentconfiguration:975bytesversion12.4servicetimestampsdebugdatetimemsecservicetimestampslogdatetimemsecnoservicepassword-encryptionhostnameR2boot-start-markerboot-end-markernoaaanew-modelmemory-sizeiomem5ipcefipv6unicast-routingipv6cefinterfaceSerial0/0noipaddressipv6address2003::2/64ipv6ospf100area1 serialrestart-delay0clockrate64000interfaceSerial0/1noipaddressipv6address2002::2/64ipv6ospf100area1serialrestart-delay0clockrate64000interfaceSerial0/2noipaddressshutdownserialrestart-delay0interfaceSerial0/3noipaddressshutdownserialrestart-delay0interfaceFastEthernet1/0noipaddressshutdownduplexautospeedautoiphttpservernoiphttpsecure-serveripv6routerospf100router-id2.2.2.2log-adjacency-changescontrol-planelinecon0lineaux0linevty04loginendR3的配置:R3>en R3#showrunBuildingconfiguration...Currentconfiguration:1129bytesversion12.4servicetimestampsdebugdatetimemsecservicetimestampslogdatetimemsecnoservicepassword-encryptionhostnameR3boot-start-markerboot-end-markernoaaanew-modelmemory-sizeiomem5ipcefipv6unicast-routingipv6cefinterfaceTunnel0noipaddressipv6address2005::3/64ipv6enableipv6ospf100area0tunnelsource192.168.10.3tunneldestination192.168.10.4tunnelmodeipv6ipinterfaceSerial0/0noipaddressipv6address2002::3/64ipv6ospf100area1serialrestart-delay0interfaceSerial0/1noipaddressipv6address2001::3/64ipv6ospf100area1serialrestart-delay0interfaceSerial0/2 noipaddressshutdownserialrestart-delay0interfaceSerial0/3noipaddressshutdownserialrestart-delay0interfaceFastEthernet1/0ipaddress192.168.10.3255.255.255.0duplexautospeedautoiphttpservernoiphttpsecure-serveripv6routerospf100router-id3.3.3.3log-adjacency-changescontrol-planelinecon0lineaux0linevty04loginEndR4的配置:R4#showrunBuildingconfiguration...Currentconfiguration:1240bytesversion12.4servicetimestampsdebugdatetimemsecservicetimestampslogdatetimemsecnoservicepassword-encryptionhostnameR4boot-start-markerboot-end-markernoaaanew-model memory-sizeiomem5ipcefipv6unicast-routinginterfaceTunnel0noipaddressipv6address2005::4/64ipv6enableipv6ospf100area0tunnelsource192.168.10.4tunneldestination192.168.10.3tunnelmodeipv6ipinterfaceSerial0/0noipaddressipv6address2004::4/64ipv6ripJACKIEenableserialrestart-delay0interfaceSerial0/1noipaddressshutdownipv6ripJACKIEenableserialrestart-delay0interfaceSerial0/2noipaddressshutdownserialrestart-delay0interfaceSerial0/3noipaddressshutdownserialrestart-delay0interfaceFastEthernet1/0ipaddress192.168.10.4255.255.255.0duplexautospeedautoipv6ripJACKIEenable iphttpservernoiphttpsecure-serveripv6routerospf100router-id4.4.4.4log-adjacency-changesredistributeripJACKIEtag10include-connectedipv6routerripJACKIEredistributeospf100metric4control-planelinecon0lineaux0linevty04loginendR5的配置:R5#showrunBuildingconfiguration...Currentconfiguration:954bytesversion12.4servicetimestampsdebugdatetimemsecservicetimestampslogdatetimemsecnoservicepassword-encryptionhostnameR5boot-start-markerboot-end-markernoaaanew-modelmemory-sizeiomem5ipcefipv6unicast-routinginterfaceLoopback0noipaddressipv6address2006::5/64ipv6enableipv6ripJACKIEenable interfaceSerial0/0noipaddressshutdownserialrestart-delay0interfaceSerial0/1noipaddressipv6address2004::5/64ipv6ripJACKIEenableserialrestart-delay0interfaceSerial0/2noipaddressshutdownserialrestart-delay0interfaceSerial0/3noipaddressshutdownserialrestart-delay0interfaceFastEthernet1/0noipaddressshutdownduplexautospeedautoiphttpservernoiphttpsecure-serveripv6routerripJACKIEcontrol-planelinecon0lineaux0linevty04loginEnd'