1、IPv6网络部署本科生毕业设计(论文)IPv6网络部署(Deploying IPv6 Network)姓 名:学 号:专 业:网络工程完成时间:指导老师:摘 要 文章对ipv6基本概念,ipv6路由协议RIPng和OSPFv3理论知识及ipv4向ipv6过渡的现行技术进行了阐述,并给出了路由协议及ipv4向ipv6过渡技术的实现方法,结合学校校园网的ipv6实际解决方案,系统描述了ipv6在网络出口设备Cisco3620上的配置,以及ipv6校园网中的实际应用。 关键词:IPv6;隧道技术;双协议栈;IPv6路由协议Abstract The mainly content of article
2、is about ipv6 concept,ipv6 routing protocol(RIPng, OSPFv3) and the transition technical from ipv4 to ipv6.The article instructs us how to implement ipv6 routing protocol and transition technical. It provides us an example of deploying ipv6 network in university.Key word:ipv6; tunnel technical; dual
3、stack; ipv6 routing protocol目录第一章 引言11.1 IPv6的背景及设计目标11.2 本文的主要工作和内容2第二章Ipv6相关技术背景与简介32.1IPv6基本概念32.1.1 IPv6地址表示方法32.1.2 IPv6地址类型32.1.3 IPv6地址指定方法:42.2 DHCPv6的基本概念52.3 IPv6的路由协议RIPng及OSPFv3的概念62.3.1 RIPng62.3.2 OSPFv362.4 几种IPv4到IPv6的过渡技术82.4.1 IPv4/IPv6双协议栈(dualstack)82.4.2 隧道(tunneling)技术92.5 IPv6
4、的访问控制列表10第三章 实验案例113.1实验案例一:DHCPv6113.2 实验案例二:IPv6路由协议RIPng与OSPFv3133.3实验案例三:IPv4到IPv6的过渡技术183.3.1 双协议栈技术:183.3.2 隧道技术(一):手动隧道(manual)183.3.3 隧道技术(二):GRE(generic routing encapsulation)隧道213.4 实验案例四:IPv6访问控制列表233.5 综合案例:IPV6网络部署25第四章 总结与展望274.1工作总结:274.2下一步展望27参考文献:28致谢2928第一章 引言Internet是人类历史上最伟大、意义最
5、深远的发明之一,通过它,人们既可以在Internet上自由发表自己的观点,也可以从Internet上获取任何信息,它深刻地改变了人类社会传递信息和利用信息的方式,极大地加速了人类文明的进步和发展,已经成为人们生活中不可缺少的一部分。今天,就在我们享受着Internet带来的方便快捷的同时,Internet的基础正在酝酿着一场脱胎换骨的变革。1.1 IPv6的背景及设计目标 IPv4协议是目前Internet的基础协议,诞生于20世纪70年代,设计之初仅计划用于范围有限的大学、科研单位和军方机构,随着Internet的急速发展,其32bits的地址不但空间有限,而且分配严重不均。到二十世纪末,I
6、Pv4已经暴露出可用地址资源不足的问题,虽然采用NAT(Net Access Translation)和CIDR(Classless Inter-Domain Routing)等技术,在一定程度上缓解了IPv4地址不足的状况,但同时也增加了地址解析和处理方面的开销,导致某些高层应用失效,而且仍然无法回避IPv4地址即将被分配殆尽这个问题。在这种情况下,IETF(互联网工程任务组,Internet Engineering Task Force)开始着手开发IP的新版本IPv6(Internet Protocol version 6)。它的主要目标有:():地址空间无限大,永不会用尽地址():减少
7、路由表的长度():简化协议,使路由器处理分组的速度更快():提供更好的IP层安全(5):增加对服务质量的支持,特别要支持实时通信(6):支持即插即用,主机可以不改变地址即可实现漫游(7):允许新旧协议共同存在一些年(8):协议具有良好的可扩展性(9):通过定义范围来实现多点播送IPv6采用128bits地址,即使按最保守的方法估算,地球每平方米表面仍可以分配到1000多个IPv6地址,从而根本解决了地址短缺问题。同时,针对IPv4在使用过程中暴露出来的其它一些主要不足,IPv6设计了全新的报文结构,提供了全新的地址配置方式和邻居发现协议、内置的安全性和移动性、良好的QoS支持和扩展能力。业界公
8、认,IPv6将全面推动以移动通信和数字家电为代表的一系列新业务和新技术的发展,为社会全面信息化提供可靠的基础协议。 1.2 本文的主要工作和内容本文简单的介绍了IPv6, DHCPv6, IPv6路由协议RIPng及OSPFv3, 几种IPv4到IPv6的过渡技术,IPv6访问控制列表的一些概念,以及DHCPv6, IPv6路由协议RIPng及OSPFv3, 几种IPv4到IPv6的过渡技术,IPv6访问控制列表简单实现方法,并以一个综合网络对Ipv6路由,IPv4到IPv6的过渡技术,IPv6访问控制列表这些内容加以巩固利用。第二章Ipv6相关技术背景与简介本章主要介绍了IPv6, DHCP
9、v6, IPv6路由协议RIPng及OSPFv3, 几种IPv4到IPv6的过渡技术,IPv6访问控制列表的一些概念。2.1IPv6基本概念2.1.1 IPv6地址表示方法IPv6地址有128位,使用冒号来隔开一系列16位十六进制项IPv6地址格式:():X:X:X:X:X:X:X:X,其中是一个16位十六进制字段():字段中的前导零可以省略():连续的零字段可表示为:每个地址只能用一次2.1.2 IPv6地址类型IPv6地址是独立接口的标识符,所有的IPv6地址都被分配到接口,而非节点。由于每个接口都属于某个特定节点,因此节点的任意一个接口地址都可用来标识一个节点。IPv6有三种类型地址:
10、1单点传送(单播)地址 一个IPv6单点传送地址与单个接口相关联。发给单播地址的包传送到由该地址标识的单接口上。但是为了满足负载平衡系统,在RFC 2373中允许多个接口使用同一地址,只要在实现中这些接口看起来形同一个接口。 2多点传送(组播)地址 一个多点传送地址标识多个接口。发给组播地址的包传送到该地址标识的所有接口上。IPv6协议不再定义广播地址,其功能可由组播地址替代。 3任意点传送(任播)地址 任意点传送地址标识一组接口(通常属于不同的节点),发送给任播地址的包传送到该地址标识的一组接口中根据路由算法度量距离为最近的一个接口。如果说多点传送地址适用于one-to-many的通讯场合,
11、接收方为多个接口的话,那么任意点传送地址则适用于one-to-one-of-many的通讯场合,接收方是一组接口中的任意一个。 IPv6单点传送地址类型 IPv6单点传送地址包括:可聚集全球单点传送地址、链路本地地址、站点本地地址和其他一些特殊的单点传送地址。 2.1.3 IPv6地址指定方法:(1):手工指定(2):无状态地址自动配置(SLAAC):IPv6节点通过同一网段上另一个节点发送路由通告(RA)来获得IPV6地址。(3):有状态的DHCPv6:DHCP服务器发送一个IPV6地址给IPv6客户端。(4):DHCPv6-PD(Prefix Delegation):DHCPv6服务器发送
12、IPV6地址(可以是一个网段)和一些参数给IPv6客户端。(5):无状态的DHCPv6:是SLAAC和DHCPv6的结合,经常用在不稳定的环境中。2.2 DHCPv6的基本概念DUID(DHCPv6 Unique Identifier):在交换DHCPv6信息时用来标志设备。DUID-LLT:Link-Layer Address plus timeDHCPv6信息交换在UDP端口546和547,客户端侦听信息在端口546上,服务器和中继代理侦听信息在端口547M标志:1bit“Managed address configuration”标志,当设置了M标志,客户端用DHCPv6来地址配置。O标
13、志:1bit“Other stateful configuration”标志,当设置了O标志,客户端用DHCPv6来获得除地址之外的信息。M,O标志在RA(Router Advertisement)中。DHCP v6 SERVER 用保留的本地链路地址ff02:1:2(所有DHCPv6中继代理和服务器)以及本地站点地址ff05:1:3(所有DHCPv6服务器)作为组播地址。DHCPv6客户机与服务器的交换过程: (1):客户机发送Solicit信息给ff02:1:2来找寻可用的DHCP服务器。 (2):任何接收到客户机Solicit信息的服务器都会返回一个Advertise信息。 (3):客户
14、机选择一台服务器,并发送一个Request信息来请求获得地址和其它信息。 (4):服务器发送一条包含地址和其它信息的Reply信息。2.3 IPv6的路由协议RIPng及OSPFv3的概念2.3.1 RIPngRIPng主要特性与RIP一样,是距离矢量协议,最大跳数为15,使用水平分割,毒性逆转和其它的环路避害避免机制,使用UDP端口521特点:(1):使用组播地址FF02:9(2):路由器使用链路本地地址作为下一跳,不是使用全局单播地址(3):从接口配置模式下通告网络,而不是在路由器配置模式使用网络命令来通告Router(config-if)#ipv6 rip processs-name e
15、nable2.3.2 OSPFv3OSPFv3使组用组播地址:FF02:5和FF02:6OSPFv3在协议设计思路和工作机制与OSPFv2基本一致:(1):报文类型相同:包含Hello、DD、LSR、LSU、LSAck五种类型的报文。(2):区域划分相同。(3):LSA泛洪和同步机制相同:为了保证LSDB内容的正确性,需要保证LSA的可靠泛洪和同步。(4):路由计算方法相同:采用最短路径优先算法计算路由。(5):网络类型相同:支持广播、NBMA、P2MP和P2P四种网络类型。(6):邻居发现和邻接关系形成机制相同:OSPF路由器启动后,便会通过OSPF接口向外发送Hello报文,收到Hello
16、报文的OSPF路由器会检查报文中所定义的参数,如果双方一致就会形成邻居关系。形成邻居关系的双方不一定都能形成邻接关系,这要根据网络类型而定,只有当双方成功交换DD报文,交换LSA并达到LSDB的同步之后,才形成真正意义上的邻接关系。OSPFv3与OSPFv2不同主要表现在:(1):基于链路的运行OSPFv3的实现是基于链路,一个链路可以划分为多个子网,节点即使不在同一个子网内,只要在同一链路上就可以直接通话。 DR选举机制相同:在NBMA和广播网络中需要选举DR和BDR。(2):使用链路本地地址 OSPFv3的路由器使用链路本地地址作为发送报文的源地址。一个路由器可以学习到这个链路上相连的所有
17、其它路由器的链路本地地址,并使用这些链路本地地址作为下一跳来转发报文。但是在虚连接上,必须使用全球范围地址或者站点本地地址作为OSPFv3协议报文的源地址。由于链路本地地址只在本链路上有意义且只能在本链路上泛洪,因此链路本地地址只能出现在Link LSA中。(3):链路支持多实例复用(4):通过Router ID唯一标识邻居在OSPFv2中,当网络类型为点到点或者通过虚连接与邻居相连时,通过Router ID来标识邻居路由器,当网络类型为广播或NBMA时,通过邻居接口的IP地址来标识邻居路由器。OSPFv3取消了这种复杂性,无论对于何种网络类型,都是通过Router ID来唯一标识邻居。(5)
18、:认证的变化(6):Stub区域的支持(7):报文的不同(8):Option字段的不同(9):LSA的异同2.4 几种IPv4到IPv6的过渡技术2.4.1 IPv4/IPv6双协议栈(dualstack)双协议栈(以下简称为“双栈”)技术是在指在终端设备和网络节点上既安装IPv4又安装IPv6的协议栈。从而实现使用IPv4或IPv6的节点间的信息互通。支持IPv4/IPv6双栈的路由器,作为核心层边缘设备支持向IPv6的平滑过渡。一个典型的IPv4/IPv6双协议栈结构如图1所示2。在以太网中,数据报头的协议字段分别用值0x86dd和00x0800来区分所采用的是IPv6还是IPv43。图1
19、 IPv4/IPv6双协议栈结构双栈方式的工作机制可以简单描述为:链路层解析出接收到的数据包的数据段,拆开并检查包头。如果IPv4/IPv6包头中的第一个字段,即IP包的版本号是4,该包就由IPv4的协议栈来处理;如果版本号是6,则由IPv6的协议栈处理。IPv4/IPv6双协议栈的工作过程如图2所示。图2 支持IPv4和IPv6的双协议栈应用双栈机制是使IPv6节点与IPv4节点兼容的最直接的方式,互通性好,易于理解。但是双协议栈的使用将增加内存开销和CPU占用率,降低设备的性能,也不能解决地址紧缺问题。同时由于需要双路由基础设施,这种方式反而增加了网络的复杂度。2.4.2 隧道(tunne
20、ling)技术随着IPv6网络的发展,出现了许多局部的IPv6网络。为了实现这些孤立的IPv6网络之间的互通,采用隧道技术。隧道技术是在IPv6网络与IPv4网络间的隧道入口处4,由路由器将IPv6的数据分组封装入到IPv4分组中。IPv4分组的源地址和目的地址分别是隧道入口和出口的IPv4地址。在隧道的出口处拆封IPv4分组并剥离出IPv6数据包。隧道技术的优点在于隧道的透明性,IPv6主机之间的通信可以忽略隧道的存在,隧道只起到物理通道的作用。在IPv6发展初期,隧道技术穿越现存IPv4因特网实现了IPv6孤岛间的互通,从而逐步扩大了IPv6的实现范围,因而是IPv4向IPv6过渡初期最易
21、于采用的技术。配置Manual IPv6隧道: (5步)interface tunnel tunnel-number ipv6 address ipv6-prefix/prefix-length eui-64 tunnel source ip-address | interface 指定源IPv4地址或端口,如指定端口,必须配置IPv4地址 tunnel destination ip-address 指定隧道另一头的IP地址 tunnel mode ipv6ip 启用Manual IPv6隧道 配置GRE/IPv6隧道: (5步)interface tunnel tunnel-number i
22、pv6 address ipv6-prefix/prefix-length eui-64 tunnel source ip-address | ipv6-address | interface tunnel destination host-name | ip-address | ipv6-address tunnel mode aurp | cayman | dvmrp | eon | gre | gre multipoint | gre ipv6 | ipip decapsulate-any | iptalk | ipv6 |mpls | nos 启用GRP IPv6隧道2.5 IPv6的
23、访问控制列表 访问控制列表(Access Control Lists)即为一组访问控制规则的表项的集合;作为路由器中的一个强有力的基础工具,访问列表实现对报文的详细分类,其可用于安全过滤,流量标识,报文标识等。 访问列表使用名称来命名,以区分不同的访问列表,每个访问列表由一组按序号标识的访问控制规则组成,每条规则指明将要匹配的报文特征及相应的执行动作(permit或deny)。IPv6访问列表规则的匹配过程与IPv4访问列表规则的匹配过程相同,它按照规则的序号依次来进行匹配;一个报文与一条规则相匹配,则执行此条规则的相应动作,否则报文将继续与下一条规则进行匹配;若所有配置规则都没有匹配发生,则
24、对报文执行默认的动作。第三章 实验案例本章主要介绍了DHCPv6, IPv6路由协议RIPng及OSPFv3, 几种IPv4到IPv6的过渡技术,IPv6访问控制列表简单实现方法,并以一个综合案例总结前面几种技术。本章中所有实验环境均是Dynamips。3.1实验案例一:DHCPv6实验要求:Client的loopback0接口能从DHCPV6 SERVER中获得一个IPv6地址。实验过程:第一阶段:配置服务器端R1(config)#host SERVERSERVER(config)#ipv6 unicast-routing开启IPv6单播转发SERVER(config)#ipv6 cef .
25、开启IPv6快速转发SERVER(config)#ipv6 local pool POOL 2001:1:1:/48 48.建立本地地址池SERVER(config)#ipv6 dhcp pool SERV 建立DHCP服务器SERVER(config-dhcp)#prefix-delegation pool POOL 指定分配地址池SERVER(config-dhcp)#dns-server 2001:100:100:1 指定DNS服务器SERVER(config-dhcp)#domain-name SERVER(config-dhcp)#exitSERVER(config)#interfa
26、ce fastethernet0/0SERVER(config-if)#ipv6 dhcp server SERV rapid-commit将此接口作为服务器端SERVER(config-if)#exit第二阶段:配置客户端Client(config)#ipv6 unicast-routingClient(config)#ipv6 cefClient(config)#interface fastethernet0/0Client(config-if)#ipv6 enableClient(config-if)#ipv6 address autoconfig default接口IPV6通过对方节点
27、发送RA获得IPV6地址Client(config-if)#ipv6 dhcp client pd PREFIX rapid-commit将接口配置为客户模式,并且使用PREFIX为全缀,启动快速确认机制Client(config)#interface loopback 0Client(config-if)#ipv6 address PREFIX :1/48指定IPV6地址Client(config-if)#exit第三阶段:验证Client#show ipv6 dhcp interface fastethernet0/0FastEthernet0/0 is in client mode St
28、ate is OPEN Renew will be sent in 3d11h List of known servers: Reachable via address: FE80:CE00:4FF:FEF0:0 DUID: 00030001CC0004F00000 Preference: 0 Configuration parameters: IA PD: IA ID 0x00040001, T1 302400, T2 483840 Prefix: 2001:1:1:/48 preferred lifetime 604800, valid lifetime 2592000 expires a
29、t Mar 31 2002 12:09 AM (2591821 seconds) DNS server: 2001:100:100:1 Domain name: Prefix name: PREFIX Rapid-Commit: enabledClient#show ipv6 interface briefFastEthernet0/0 up/up FE80:CE00:BFF:FE1C:0Ethernet1/0 administratively down/downLoopback0 up/up FE80:CE00:BFF:FE1C:02001:1:1:1实验结果分析:通过命令show ipv6
30、 interface brief和show ipv6 dhcp interface fastethernet0/0可以知道Loopback0能够通过服务器获得IP地址,并获得DNS,Domain name等信息,说明实验成功。3.2 实验案例二:IPv6路由协议RIPng与OSPFv3实验要求:配置多区域的OSPFv3,使得各个路由器能够互相通信,并且通过OSPFv3及RIPng获得所有的路由。实验过程:第一阶段:给所有网络设备配置IPV6地址。以R1的fastethernet0/0接口为例。R1(config)#interface fastethernet0/0R1(config-if)#n
31、o shutdownR1(config-if)#ipv6 enable.启用IPv6R1(config-if)#ipv6 address 2001:1/64配置一个IPv6地址R1(config-if)#exit第二阶段:在路由器R1,R2,R3上创建OSPFv3进程,并把相应的接口加入OSPF进程R1(config)#ipv6 router ospf 100 创建一个进程号为100 的OSPF进程*Mar 1 00:11:51.575: %OSPFv3-4-NORTRID: OSPFv3 process 100 could not pick a router-id,please config
32、ure manuallyR1(config-rtr)#router-id 1.1.1.1指定路由ID为1.1.1.1R1(config-rtr)#exitR1(config)#interface loopback 0R1(config-if)#ipv6 ospf 100 area 0将接口加入进程号为100的区域0里R1(config-if)#exitR1(config)#interface fastethernet0/0R1(config-if)#ipv6 ospf 100 area 0将接口加入进程号为100的区域0里R2(config)#ipv6 router ospf 100创建一个进
33、程号为100 的OSPF进*Mar 1 00:12:41.227: %OSPFv3-4-NORTRID: OSPFv3 process 100 could not pick a router-id,please configure manuallyR2(config-rtr)#router-id 2.2.2.2指定路由ID为2.2.2.2R2(config-rtr)#exit R2(config)#interface fastethernet0/0R2(config-if)#ipv6 ospf 100 area 0将接口加入进程号为100的区域0里R2(config-if)#exitR2(co
34、nfig)#interface serial1/0R2(config-if)#ipv6 ospf 100 area 1将接口加入进程号为100的区域1里R2(config-if)#*Mar 1 00:16:13.923: %OSPFv3-5-ADJCHG: Process 100, Nbr 3.3.3.3 on Serial1/0 from LOADING to FULL, Loading DoneR3(config)#ipv6 router ospf 100创建一个进程号为100的OSPF进程R3(config-rtr)#*Mar 1 00:13:02.119: %OSPFv3-4-NORT
35、RID: OSPFv3 process 100 could not pick a router-id,please configure manuallyR3(config-rtr)#router-id 3.3.3.3指定路由ID为2.2.2.2R3(config-rtr)#exitR3(config)#interface serial0/0R3(config-if)#ipv6 ospf 100 area 1将接口加入进程号为100的区域1里*Mar 1 00:16:08.123: %OSPFv3-5-ADJCHG: Process 100, Nbr 2.2.2.2 on Serial0/0 f
36、rom LOADING to FULL, Loading Done第三阶段:在路由器R3和R4阶段创建RIPng进程,并把相应的接口加入RIPng进程中R3(config)#ipv6 router rip TEST创建RIP进程TESTR3(config-rtr)#exitR3(config)#interface fastethernet1/0R3(config-if)#ipv6 rip TEST enable.将接口加入进程TEST里R3(config-if)#exit R4(config)#ipv6 router rip TEST创建RIP进程TESTR4(config-rtr)#exit
37、R4(config)#interface fastethernet0/0R4(config-if)#ipv6 rip TEST enable.将接口加入进程TEST里R4(config-if)#exitR4(config)#interface loopback 0R4(config-if)#ipv6 rip TEST enable.将接口加入进程TEST里R4(config-if)#exit第四阶段:在路由器R3上重分布OSPFv3和RIPng路由R3(config)#ipv6 router ospf 100R3(config-rtr)#redistribute rip TEST includ
38、e-connected tag 10.将RIP路由重分布到OSPF中,并打上标志10R3(config-rtr)#exitR3(config)#ipv6 router rip TESTR3(config-rtr)#redistribute ospf 100 include-connected metric 5.将OSPF路由重分布到RIP中,并将其度量标为5注:include-connected必须写,不然路由器学不到直连的网络R3(config-rtr)#end第五阶段:测试与验证 R1#show ipv6 routeIPv6 Routing Table - 9 entriesCodes:
39、C - Connected, L - Local, S - Static, R - RIP, B - BGPU - Per-user Static routeI1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summaryO - OSPF intra, OI - OSPF inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2C 2001:/64 0/0via :, FastEthernet0/0L 2001:C
40、E00:3FF:FEF4:0/128 0/0via :, FastEthernet0/0OI 2002:/64 110/65via FE80:CE00:AFF:FEE0:0, FastEthernet0/0OE2 2003:/64 110/20, tag 10via FE80:CE00:AFF:FEE0:0, FastEthernet0/0C 2004:/64 0/0via :, Loopback0L 2004:CE00:3FF:FEF4:0/128 0/0via :, Loopback0OE2 2005:/64 110/20, tag 10via FE80:CE00:AFF:FEE0:0,
41、FastEthernet0/0L FE80:/10 0/0via :, Null0L FF00:/8 0/0via :, Null0R1#ping 2005:CE00:FFF:FE14:0Type escape sequence to abort.Sending 5, 100-byte ICMP Echos to 2005:CE00:FFF:FE14:0, timeout is 2 seconds:!Success rate is 100 percent (5/5), round-trip min/avg/max = 40/58/100 ms测试连通性,通过R1的fastethernet0/0
42、 ping R4的环回接口loopback0在R4上ping R1的环回接口,ping通了,表示实验成功R4#ping ipv6 Target IPv6 address: 2004:CE00:3FF:FEF4:0Repeat count 5: Datagram size 100: Timeout in seconds 2: Extended commands? no: Sweep range of sizes? no: Type escape sequence to abort.Sending 5, 100-byte ICMP Echos to 2004:CE00:3FF:FEF4:0, ti
43、meout is 2 seconds:!Success rate is 100 percent (5/5), round-trip min/avg/max = 40/78/160 ms实验结果分析:通过show ipv6 route以及ping命令可知路由器能够学到所有的路由,能够互相ping通,说明实验成功。3.3实验案例三:IPv4到IPv6的过渡技术3.3.1 双协议栈技术:一个接口同时配置了IPv4和IPv6地址,就可以看成是双协议栈接口。R(config)#ipv6 unicast-routing.开启IPv6单播转发R(config)#interface fastethernet0/0R(config-if)#ip address 192.168.99.1R(config-if)#ipv6 address 3ffe:b00:800:1:3R(config-if)#exit3.3.2 隧道技术(一):手动隧道(manual)实验要求:IPV6网段通过IPV4网段能够互相通信实验过程:第一阶段:在R1,R2,R3,R4上创建OSPFv3进程,并将相应的接口加入不同的区域中。以R1为例:R1(config)#ipv6 unicast-routing.开启IPv6单播转发R1(config)#ipv6 cef.开启IPv6快速