题 目基于Packet Tracer的IPv6校园网组建 学生 车轲 学号 113014160 所在学院 物理与电信工程学院 专业班级 电子信息工程1105 指导教师 菊叶 完成地点 博远楼
2015 年 5 月 29日
毕业论文﹙设计﹚任务书
院(系) 物电学院 专业班级 电子信息工程1105 学生 车轲 一、毕业论文﹙设计﹚题目基于Packet Tracer的IPV6校园网组建
二、毕业论文﹙设计﹚工作自 2015 年 3 月 10 日 起至 2015 年 6 月 20 日止
三、毕业论文﹙设计﹚进行地点: 物电学院计算机信息处理分室 四、毕业论文﹙设计﹚的容要求: 1、本次毕业设计要求如下:
随着网络规模的不断扩大和IPV4地址的不断减少给网络发展带来了一定的影响,IPV6能很好 的解决IPV4地址不足的问题。
本设计要求学生以理工学院校园网为设计实体,分别从网络拓扑结构的构建与网络设备选型、网络互联配置、网络连通性测试等方面进行校园网组网探讨,并要求通过Packet Tracer软件仿真实现IPV6校园网的组建模型。 2、毕业设计成果要求:
测试结果和论文,论文要求计算机打印(A4纸),论文有不少于3000词的相关英文中文翻译。
3、毕业设计时间安排: 1—4周:查阅相关资料,熟悉题目容,完成系统需求分析、相关硬件与软件环境的选择。提交开题报告; 5—10周:熟练掌握IPV4和IPV6的地址分配方法,以校园网的地址分配布局为实体,给出具体分配方案。
11—12周:并在软件环境下进行运行调试,进一步完善系统功能,整理资料;
13—14周:毕业设计验收;
15—16周:撰写、修改、提交毕业论文,毕业答辩。
指 导 教 师系(教 研 室) 系(教研室)主任签名批准日期
接受论文 (设计)任务开始执行日期学生签名
基于Packet Tracer的IPV6校园网组建
车轲
(理工学院物理与电信工程学院电子信息工程,2011级5班, 723003)
指导教师:菊叶
[摘要]随着网络规模的不断扩大,IPv4地址空间的严重不足,给网络的发展带来了一定的影响。本文主要介绍
IPv6协议与地址体系结构等相关理论知识,并探讨了IPv4到IPv6的过渡技术。本课题以理工学院校园网络为模型利用Packet Tracer模拟软件分别从网络拓扑结构的构建与网络设备选型、网络设备互联配置、网络连通性测试等方面进行了IPv6组网探讨,最终实现了IPv6校园网组建。
[关键词]校园网;IPv6;局域网;网络安全
0 / 48
Organize of IPv6 campus network based on Packet Tracer
Che Yangke
(Grade11,Class5,Major of Electronic Information Engineering,School of Physics and telecommunication Engineering,Shaanxi University of Technology, Hanzhong 723003,Shaanxi)
Tutor:Li Juye
Abstract:With the expanding of network size and the continuous decrease of IPv4 address to the
development of the network has brought serious influence. This paper mainly introduces IPv6 protocol and address architecture and related theory knowledge, and discusses the transition of IPv4 to IPv6 technology. This topic in shaanxi institute of technology campus network for the model using Packet Tracer simulation software respectively from the construction of network topology and network equipment selection, network equipment interconnected configuration and network connectivity testing discussed IPv6network, finally achieved IPv6campus network building.
Key words:Campus network; IPv6; LAN; Network security
1 / 48
目 录
1引言0
1.1 课题研究背景0 1.2 课题研究目的和意义0 1.3论文的简要介绍0
2 IPV6组网实验涉与的主要技术0
2.1 RIP简介0
2.1.1 RIPng工作原理0 2.1.2 RIPng的协议报文格式0
2.1.3 RIPng和RIPv1、RIPv2的区别1 2.2 OSPFv3简介1
2.2.1 OSPFv3的报文格式:1
2.2.2 OSPFv3和OSPFv2的主要区别如下:1 2.3 隧道技术2
2.3.1 配置隧道2
2.4 IPV6的访问控制列表(ACL)2
2.4.1 IPv6 ACL分类2 2.4.2 IPv6 ACL命名2 2.4.3 IPv6 ACL匹配顺序2
3IPv6简述与实验工具选择4
3.1 IPv6的表示4
/ 48
3.2 IPV6地址类型4
3.3 IPV6网络实验所用实验工具选择4
3.3.1 Packet Tracer6.1的基本界面5 3.3.2互连设备线型选择5
4系统设计7
4.1 IPV6的RIP实现7
4.1.1 拓扑结构图7 4.1.2 IPv6地址规划7 4.1.3 配置过程7 4.2 Ipv6的Ospfv3实现10
4.2.1 拓扑结构图10 4.2.2 IPv6地址规划10 4.2.3配置过程10 4.3 IPV6的隧道实验14
4.3.1 拓扑结构图14 4.3.2 IP地址规划14 4.3.3 配置过程14
4.4 Ipv6的安全实验---访问控制列表15
4.4.1拓扑结构图15 4.4.2 IP地址规划15 4.4.3 配置过程16
5测试结果19
I / 48
5.1 拓扑结构图19 5.2 IPv6地址规划19
5.3 配置过程19 5.4 测试结果与配置23
6总结25 致26
参考文献26 附录A26 附录B38
II / 48
1 引言
1.1 课题研究背景
1994年7月,IETF决定以SIPP作为IPng地基础,同时把地址数由64位增加到128位。新的IP协议称为IPv6。其版本是在1994年由IETF批准的RFC1752,在RFC1884中介绍了IPv6的地址结构。现在RFC1884已经被RFC2373所替代。
制定IPv6的专家们充分总结了早期制定IPv4的经验以与互联网的发展和市场需求,认为下一代互联网协议应侧重于网络的容量和网络的性能。IPv6继承了IPv4的优点,摒弃了它的缺点。IPv6与IPv4是不兼容的,但它同所有其他的TCP/IP协议簇中的协议兼容。即IPv6完全可以取代IPv4。同IPv4相比较,IPv6在地址容量、安全性、网络管理、移动性以与服务质量等方面有明显的改进,是下一代互联网可采用的比较合理的协议。
[1]在IPv6已确定为下一代互联网IP层技术的情况下,世界各国对IPv6技术的研究十分重视。目前对IPv6的研究围主要涉与用于主机的单独IPv6协议栈软件、用于主机的支持IPv6的操作系统、独立的路由协议软件、用于路由器的支持IPv6的操作系统、应用程序实现以与硬件支持IPv6的路由器产品。国际上众多机构的研究容重点不同,各具优势。世界上在IPv6的研究和应用方面比较领先的主要是美国、日本和欧洲等发达国家和地区。
中国是公认的迫切需要发展IPv6的国家,需要从技术和经济上给予IPv6高度重视。2001年以来,国家计委、科技部、自然基金委、信息产业部相继启动关于IPv6的研究项目。如2002年863高性能IPv6路由器重大研究项目分为硬件、协议栈软件以与测试三个子课题完成了招标工作,其它有关IPv6网络安全和服务质量的重大课题也相继公布。 1.2 课题研究目的和意义
随着电子技术与网络技术[2]的发展,计算机网络将进入人们的日常生活,可能身边的每一样东西都需要连入全球因特网。目前我们使用的第二代互联网IPv4技术,核心技术属于美国。它的最大问题是网络地址资源有限,从理论上讲,IPv4技术可使用的IP地址有43亿个,其中北美占有3/4,约30亿个,而人口最多的亚洲只有不到4亿个,中国只有3千多万个,只相当于美国麻省理工学院的数量。地址不足,严重地制约了我国与其他国家互联网的应用和发展[3]。但是与IPv4一样,IPv6
128
一样会造成大量的IP地址浪费。准确的说,使用IPv6的网络并没有2-1个能充分利用的地址。首先,要实现IP地址的自动配置,局域网所使用的子网的前缀必须等于64,但是很少有一个局域
64
网能容纳2个网络终端;其次,由于IPv6的地址分配必须遵循聚类的原则,地址的浪费在所难免。但是,如果说IPv4实现的只是人机对话,而IPv6则扩展到任意事物之间的对话,它不仅可以为人类服务,还将服务于众多硬件设备,如家用电器、传感器、远程照相机、汽车等,它将是无时不在,无处不在的深入社会每个角落的真正的宽带网。而且它所带来的经济效益将非常巨大。
与IPV4相比,IPV6具有以下几个优势:
1.IPv6具有更大的地址空间。IPv4中规定IP地址长度为32,既有232-1个地址;而IPv6中IP地址的长度为128,即有2128-1个地址。
2.IPv6使用更小的路由表。IPv6的地址分配就遵循聚类(Aggregation)的原则,这使得路由器能在路由表中用一条记录(Entry)表示一片子网,大大减少路由器中路由表的长度,提高了路由器转发数据包的速度。
3.IPv6增加了增强的组播(Multicast)支持以与对流的支持(Flow Control),这使得网络上的多媒体应用有了长足的发展机会,为服务质量(QoS,Quality of Service)控制提供了良好的网络平台。
4.IPv6加入了对自动配置(Auto ConfiguR1tion)的支持。这使对DCHP协议的改进和扩展,使得网络(尤其是局域网)的管理更加方便和快捷。
5.IPv6具有更高的安全性。在使用IPv6网络中用户可以对网络层的数据进行加密并对IP报文进行校验,极大的增强了网络的安全性。
0 / 48
但从长远看,IPv6有利于互联网的持续和长久发展。 目前,国际互联网组织已经决定成立两个
1 / 48
专门工作组,制定相应的国际标准。IPv6取代IPv4技术势在必行。 1.3论文的简要介绍
1.介绍IPv6协议基本概念[4],了解IPv6寻址、IPv6报头结构、邻节点发现、IPv4到IPv6的过渡技术分析、IPv6路由、IPv6的安全性进行初步分析。
2.简要介绍本论文使用的模拟软件 packet tracer与其基本使用方法。
3. 通过路由器模拟软件packet tracer完成论文相关的IPv6网络实验,并对结果进行测试、分析。
2 IPv6组网实验涉与的主要技术
2.1 RIP简介
RIP是一种分布式的基于距离向量的路由选择协议,是因特网的标准协议,其最大的优点就是简单。RIP协议要求网络中每一个路由器都要维护从它自己到其他每一个目的网络的距离记录(这一组距离,即“距离向量”)。RIP协议将“距离”定义为:从一路由器到直接连接的网络的距离定义为1。从路由器到非直接连接的网络的距离定义为每经过一个路由器则距离加1。“距离”也成为“跳数”。RIP允许一条路径最多只能包含15个路由器,因此,距离等于16时即为不可达。可见RIP协议只适用于小型互联网[5]。 2.1.1 RIPng工作原理
与RIPv2类似,路由器在查询响应、周期更新、触发更新三种情况下会收到响应报文,接收报文的路由器根据响应报文判断是否对本地路由表进行更新。
基于距离矢量算法的路由协议会产生慢收敛和无限计数的问题而引发了路由的不一致。RIPng使用与RIPv2类似的水平分割技术、毒性逆转技术、触发更新技术来解决这些问题,同时抑制广播风暴,减少路由信息数量。 2.1.2 RIPng的协议报文格式
RIPng是基于UDP的协议,并且使用端口号521发送和接收数据报。RIPng报文大致可分为两类:选路信息报文和用于请求信息的报文。如下图所示: 8 Command 8 Version 32bit Unused 16 IPv6 Prefix 1 Route Entry Route Tag Prefix Length Metric IPv6 Prefix 1 Route Prefix Length 图2.1RIPng报文格式
Metric Route Entry 0 / 48
RIPng中仍然使用固定的度量方式,即跳数,RIPng的最大工作直径为15跳, 16即意味着目的地不可达。与RIPv2不同的是,RIPng的下一跳字段是由一个单独的RTE指定的。 2.1.3 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收发路由更新报文。 2.2 OSPFv3简介
OSPFv3也称IPv6 OSPF 协议,是一种链路状态路由协议,它是对基于IPv4的OSPFv2的改进。 2.2.1 OSPFv3的报文格式:
OSPFv3和OSPFv2均使用同样的IP协议号89.但OSPFv在组播只是上,对所有SPF路由器的组播地址定义为FF02::5,对所有DR路由器组播地址定义为FF02::6,相当于IPv4中,OSPFv2定义的224.0.0.5和224.0.0.6。
OSPFv3同样使用5种消息(Hello, Database Description,LSDatabase Request,LS Database Update, LS Ack)来建立连接,但OSPFv3的报文和v2有很多不同, OSPFv3的报头版本号更新为3,加入了Instance ID,也就是说,同一条链路上可以运行多个Instance。但接口标示仅在本地链路上有意义,因此OSPFv3消息不能转发到始发它的链路之外。同时OSPFv3去掉了认证报文
OSPFv3的Hello和数据库描述报文与OSPFv2也有所不同,新的OSPFv3的报文由于IPv6不需要子网掩码,所以消息格式中该字段被取消,可选字段加大到24bit,无效时间从32bit缩短为16bit。 2.2.2 OSPFv3和OSPFv2的主要区别如下:
(1)基于链路的协议
在OSPFv3中用“链路”替代了OSPFv2中的“网络”、“子网”等术语。在OSPFv3中,路由器接口与链路相连而不是连接到子网上,任意两个节点都可以通过它们所处的链路来相互通信。
(2)洪泛围的扩大
在OSPFv2中,除了AS-External-LSA的洪泛围是自治系统部之外 ,每一个LSA 都与一个域相关 ,所以洪泛围是域部。而在OSPFv3中,LSA的洪泛围已被扩展为三种:本地链路围、域部围和自治系统部围。
(3)本地链路地址的使用
OSPFv3为了实现“邻居发现”和“自动配置”,在单独的链路上使用本地链路地址。IPv6路由器不转发那些有本地链路源地址的数据包并且本地链路地址只允许在Link-LSA中出现。
1 / 48
2.3 隧道技术
隧道机制就是用IPv4封装IPv6数据包并且把这些封装了的数据包通过IPv4 网络送往一个IPv4目的节点,目的节点拆封数据包并剥离出IPv6数据包。隧道封装(TUNNELING)就是运用隧道使孤立的IPv6主机、服务器、路由器和域利用现有的IPv6基础设施与其他IPV6网络通信,孤立的IPv6机也能够利用IPv4作为传输层建立端到端IPv6会话。 2.3.1 配置隧道
配置隧道在双栈节点上被启用并静态地配置。因为配置隧道是IPv6支持的第一个过渡机制,所以在目前所有可用的IPv6实现中被广泛地支持。配置隧道可以看作是一条点到点链路,在配置隧道的每一端,必须手动地给隧道接口分配IPv4地址和IPv6地址。隧道接口需要分配以下地址:
(1) 本地IPv4地址——通过这个IPv4地址,本地的双栈节点在IPv4网络上可达。本地的IPv4地址用作输出流的源IPv4地址。
(2)远端IPv4地址——通过这个IPv4地址,远端的双栈节点在IPv4网络上可达。远端的IPv4地址用作输出流的目的IPv4地址。
(3)本地IPv6地址——本地分配给隧道接口的IPv6地址。 2.4 IPV6的访问控制列表(ACL)
访问控制列表(ACL) 是路由器和交换机接口的指令列表,用来控制端口进出的数据包。IPv6 ACL则是根据三层与以上层信息进行数据包过滤的机制,通过允许或拒绝特定数据包进入网络,对网络访问进行控制。 2.4.1 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 ACL
10000~42767
根据报文的源IPv6地址信息、目的IPv6地址信息、IPv6地址组合标记、IPv6承载的协议类型、协议的特性等三层、四层信息来制定匹配规则。简单IPv6 ACL在TCP标记、分片报文标记上有更丰富的容
2.4.2 IPv6 ACL命名
用户在创建IPv6 ACL时,可以为ACL指定一个名称。每个IPv6 ACL最多只能有一个名称。命
名的ACL使用户可以通过名称唯一地确定一个IPv6 ACL,并对其进行相应的操作。 2.4.3 IPv6 ACL匹配顺序
一个ACL中可以包含多个规则,而每个规则都指定不同的报文匹配选项,将一个报文和ACL的
2 / 48
规则进行匹配时, IPv6 ACL支持以下两种匹配顺序:
(1)配置顺序:按照用户配置规则的先后顺序进行规则匹配。 (2)自动排序:按照“深度优先”的顺序进行规则匹配。
在报文匹配规则时,会按照匹配顺序去匹配定义的规则,一旦有一条规则被匹配,报文就不再继续匹配其它规则了,设备将对该报文执行第一次匹配的规则指定的动作。
3 / 48
3 IPv6简述与实验工具选择
3.1 IPv6的表示
1. IPv6地址的十六进制表示
IPv6地址为128位长(16个字节),但通常写作8组,每组为四个十六进制数的形式,并用冒号分隔。例如:
1) 2001:0db8:85a3:08d3:1319:8a2e:0370:7344 2) 2001:0db8:0000:2f3b:02aa:00ff:fe28:9c5a
以上都是合法的IPv6地址。 可通过压缩每个16位的前导零,进一步简化IPv6的表示方法,但是每个块必须至少有一个数字,上面两地址压缩前导零后,结果如下:
1) 2001:db8:85a3:8d3:1319:8a2e:370:7344 2) 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.2 IPV6地址类型
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 。 3.3 IPV6网络实验所用实验工具选择
Packet Tracer 是思科公司为思科网络技术学院开发的一款模拟软件。Packet Tracer模拟器可以在软件的图形用户界面上直接使用拖曳物件建立网络拓扑,并可提供数据包在网络中行进的详细处理过程。
相对于其他网络实验模拟器来说,Packet Tracer主要具备以下优势: 1、模拟实际设备的硬件。 2、支持报文分析功能。
3、支持IPV6、支持无线功能。 4、绘图功能。
4 / 48
3.3.1 Packet Tracer6.1的基本界面
打开Packet Tracer 6.1时界面如下图所
图3.1 Packet Tracer 6.1 基本界面
各部分具体功能如下表所示
表3.1 Packet Tracer 6.1基本界面介绍
序号 1
名称 菜单栏
功能
此栏中有文件、选项和帮助按钮,我们在此可以找到一些基本的命令如打开、保存、打印和选项设置,还可以访问活动向导。
2
主工具栏
此栏提供了文件按钮中命令的快捷方式,我们还可以点击右边的网络信息按钮,为当前网络添加说明信息。
3
常用工具栏
此栏提供了常用的工作区工具包括:选择、整体移动、备注、删除、查看、添加简单数据包和添加复杂数据包等。
4
逻辑/物理工作区转换
栏
5
工作区
此区域中我们可以创建网络拓扑,监视模拟过程查看各种信息和统计数据。
6
实时/模拟转换栏
我们可以通过此栏中的按钮完成实时模式和模拟模式之间转换。 我们可以通过此栏中的按钮完成逻辑工作区和物理工作区之间转换。
7 8
网络设备库 设备类型库
该库包括设备类型库和特定设备库。
此库包含不同类型的设备如路由器、交换机、HUB、无线设备、连线、终端设备和网云等。
9 特定设备库 此库包含不同设备类型中不同型号的设备,它随着设备类型库的选择级联显示。
10 用户数据包窗口 此窗口管理用户添加的数据包。
3.3.2互连设备线型选择
在工作区中添加一个2600 XM路由器[6]。首先在设备类型库中选择路由器,特定设备库中单击2600 XM路由器,然后在工作区中单击一下就可以把2600 XM路由器添加到工作区中了。用同样的方式再添加一个2950-24交换机和两台PC。注意可以按住Ctrl键再单击相应设备以连续添加设备。
5 / 48
如图3.2 所示:
图3.2 设备添加
接下来要选取合适的线型将设备连接起来。可以根据设备间的不同接口选择特定的线型来连接,当然如果只是想快速的建立网络拓扑而不考虑线型选择时可以选择自动连线,如图所示:
图3.3 线型介绍
图3.4 设备连接
6 / 48
4 系统设计
4.1 IPV6的RIP实现 4.1.1拓扑结构图
图4.1 拓扑结构
4.1.2 IPv6地址规划
表4.1 IPv6地址规划
4.1.3配置过程
Pc1 R1 f0/0 R1 f0/1
2002:60:1/64 2002:62:1/64 2002:64:1/64
Rb f0/1 Rb f0/0 Pc2
2002:61:1/64 2002:63:1/64 2002:65:1/64
(1)步骤1:配置PC机的IPv6地址与默认网关
7 / 48
图4.2 配置IPv6地址
图4.3配置默认网关
(2)步骤2:配置路由器Ra[7]
R1 (config)#ipv6 unicast-routing //启用IPV6单播服务 R1 (config)#ipv6 router rip 1 //启动IPv6 RIPng 进程 R1 (config)#interface f0/0
R1 (config-if)#ipv6 address 2002:60:1/64
R1 (config-if)#ipv6 rip 1 enable //在接口上启用RIPng R1 (config-if)#no shutdown R1 (config)#interface f0/1
R1 (config-if)#ipv6 address 2002:61:1/64 R1 (config-if)#ipv6 rip 1 enable R1 (config-if)#no shutdown (3)步骤3:配置路由器Rb
R2 (config)#ipv6 unicast-routing R2 (config)#ipv6 router rip 1 R2 (config)#interface f0/0
R2 (config-if)#ipv6 address 2002:62:1/64 R2 (config-if)#ipv6 rip 1 enable
8 / 48
R2 (config-if)#no shutdown R2 (config)#interface f0/1
R2 (config-if)#ipv6 address 2002:63:1/64 R2 (config-if)#ipv6 rip 1 enable R2 (config-if)#no shutdown (4)步骤4:测试与抓包过程
图4.4路由器使用ICMP协议请求逻辑地址和物理地址
图4.5路由器使用RIP协议通信
(5)步骤5:查看路由表
9 / 48
4.2 IPv6的Ospfv3实现 4.2.1拓扑结构图
图4.6 拓扑结构图
4.2.2 IPv6地址规划
表4.2 IPv6地址规划
Pc1 R1 f0/0
2002:70:1/64 2002:72:1/64 2002:74:1/64 2002:76:1/64
R2 f0/0 R3 f0/0 R3 f0/1 Pc2
2002:71:1/64 2002:73:1/64 2002:75:1/64 2002:77:1/64
R1 f0/1 R2 f0/1
4.2.3配置过程
(1)步骤1:配置PC机的IPv6地址与默认网关[8]
10 / 48
图4.7配置PC的IPv6地址
图4.8配置PC的默认网关
(2)步骤2:配置路由器R1
R1(config)#ipv6 unicast-routing
R1(config)#ipv6 router ospf 1 //启动OSPFv3 路由进程 R1(config-rtr)#router-id 1.1.1.1 //定义路由器ID R1(config)#interface f0/0
R1(config-if)#ipv6 address 2002:70:1/64
R1(config-if)#ipv6 ospf 1 area 1 //在接口上启用OSPFv3,并声明接口所在区域 R1(config-if)#no shutdown R1(config)#interface f0/1
R1(config-if)#ipv6 address 2002:71:1/64 R1(config-if)#ipv6 ospf 1 area 1 R1(config-if)#no shutdown
11 / 48
(3)步骤3:配置路由器R2
R2(config)#ipv6 unicast-routing R2(config)#ipv6 router ospf 1 R2(config-rtr)#router-id 2.2.2.2 R2(config)#interface f0/0
R2(config-if)#ipv6 address 2002:72:1/64 R2(config-if)#ipv6 ospf 1 area 1 R2(config-if)#no shutdown R2(config)#interface f0/1
R2(config-if)#ipv6 address 2002:73:1/64 R2(config-if)#ipv6 ospf 1 area 1 R2(config-if)#no shutdown (4)步骤4:配置[9]路由器R3 R3(config)#ipv6 unicast-routing R3(config)#ipv6 router ospf 1 R3(config-rtr)#router-id 3.3.3.3 R3(config)#interface f0/0
R3(config-if)#ipv6 address 2002:74:1/64 R3(config-if)#ipv6 ospf 1 area 1 R2(config-if)#no shutdown R3(config)#interface f0/1
R3(config-if)#ipv6 address 2002:75:1/64 R3(config-if)#ipv6 ospf 1 area 1 R3(config-if)#no shutdown (5)步骤5:测试与抓包过程
图4.9路由器使用OSPF通告自己的网段以与使用CDB发现邻居
图4.10 路由器使用OSPF协议通信
(6)步骤6:查看路由表
12 / 48
13 / 48
4.3 IPv6的隧道实验 4.3.1拓扑结构图
图4.11 拓扑结构图
4.3.2 IP地址规划
表4.3 IP地址规划
R1 L0 R1 F0/0 R2 F0/0 R1 T0
2012:1::1/64 10.1.1.1/24 10.1.1.2/24 2002:1:11::1/64
R2 F0/1 R3 F0/1 R3 L0 R3 T0
20.1.1.1/24 20.1.1.2/24 2012:2::2/64 2002:1:11::2/64
4.3.3配置过程
(1)步骤1
配置R1[10]:
ipv6 unicast-routing ipv6 router ospf 100 router-id 1.1.1.1 interface Loopback0
ipv6 address 2012:1::1/64 ipv6 ospf 100 area 0 interface Tunnel0 ipv6 address 2002:1:11::1/64 ipv6 ospf 100 area 0 tunnel source F0/0 tunnel destination 20.1.1.2 tunnel mode ipv6ip interface F0/0
ip address 10.1.1.1 255.255.255.0
ip route 20.1.1.0 255.255.255.0 10.1.1.2 (2)步骤2
配置R2:
ipv6 unicast-routing interface f0/0
ip address 10.1.1.2 255.255.255.0 interface f0/1
14 / 48
ip address 20.1.1.1 255.255.255.0 (3)步骤3
配置R3:
ipv6 unicast-routing ipv6 router ospf 100 router-id 3.3.3.3 interface Loopback0
ipv6 address 2022:2:2:22::2/64 ipv6 ospf 100 area 0 interface Tunnel0
ipv6 address 2002:1:11::2/64 ipv6 ospf 100 area 0 tunnel source F0/1
tunnel destination 10.1.1.1 tunnel mode ipv6ip interface f0/1
ip address 20.1.1.2 255.255.255.0
ip route 10.1.1.0 255.255.255.0 20.1.1.1 4.4 IPv6的安全实验---访问控制列表 4.4.1拓扑结构图
图4.12 拓扑结构图
4.4.2 IP地址规划
表4.4 IP地址规划
Pc0 R1:f0/0 R1:f0/1 R3:f0/0 R3:f0/1 R2:f0/1
2012:1:1::1/64 2012:1:1::2/64 2012:2:2::1/64 2012:2:2::2/64 2012:3:3::1/64 2012:3:3::2/64
R2:f0/0 Pc1 R3:e1/0 R3:e1/1 S1 S0
2012:4:4::2/64 2012:4:4::1/64 2012:5:5::2/64 2012:6:6::2/64 2012:5:5::1/64 2012:6:6::1/64
15 / 48
4.4.3配置过程
步骤1:配置PC与服务器的IPv6地址、默认网关[11]
图4.12 配置PC的IPv6地址
图4.13 配置PC的IPv6默认网关
(2)步骤2:配置路由器R1: R1(config)#ipv6 unicast-routing
R1(config)#ipv6 router ospf 1 //启动OSPFv3 路由进程 R1(config-rtr)#router-id 1.1.1.1 //定义路由器ID R1(config)#interface f0/0
R1(config-if)#ipv6 address 2012:1:1::2/64
R1(config-if)#ipv6 ospf 1 area 0 //在接口上启用OSPFv3,并声明接口所在区域 R1(config-if)#no shutdown R1(config)#interface f0/1
R1(config-if)#ipv6 address 2012:2:2::1/64 R1(config-if)#ipv6 ospf 1 area 0 R1(config-if)#no shutdown
16 / 48
(3)步骤3:配置路由器R2: R2(config)#ipv6 unicast-routing
R2(config)#ipv6 router ospf 1 R2(config-rtr)#router-id 2.2.2.2 R2(config)#interface f0/0
R2(config-if)#ipv6 address 2012:4:4::2/64 R2(config-if)#ipv6 ospf 1 area 0 R2(config-if)#no shutdown R2(config)#interface f0/1
R2(config-if)#ipv6 address 2012:3:3::2/64 R2(config-if)#ipv6 ospf 1 area 0 R2(config-if)#no shutdown (4)步骤4:配置路由器R3: R3(config)#ipv6 unicast-routing
R3(config)#ipv6 router ospf 1 R3(config-rtr)#router-id 3.3.3.3 R3(config)#interface f0/0
R3(config-if)#ipv6 address 2012:2:2::2/64 R3(config-if)#ipv6 ospf 1 area 0 R3(config-if)#no shutdown R3(config)#interface f0/1
R3(config-if)#ipv6 address 2012:3:3::1/64 R3(config-if)#ipv6 ospf 1 area 0 R3(config-if)#no shutdown R3(config)#interface e1/0
R3(config-if)#ipv6 address 2012:5:5::2/64 R3(config-if)#ipv6 ospf 1 area 0 R3(config-if)#no shutdown R3(config)#interface f0/1
R3(config-if)#ipv6 address 2012:6:6::2/64 R3(config-if)#ipv6 ospf 1 area 0 R3(config-if)#no shutdown
R3(config)# ipv6 access-list anqu
R3(config-ipv6-acl)#deny ipv6 host 2012:1:1::1 host 2012:6:6::1 R3(config-ipv6-acl)# permit ipv6 any any (5)步骤5:测试
17 / 48
图4.14 在PC0上PINGS0和S1的结果
18 / 48
5测试结果
5.1 拓扑结构图
图5.1拓扑结构图
5.2 IPV6地址规划
表5.1 IPV6地址规划
PC0 R1 f0/1 R1 f0/0 R2 f0/0
2002:60::1/64 2002:61::1/64 2002:61::2/64 2002:62::1/64
R2 f0/1 Web server Dns server
2002:62::2/64 2002:65::1/64 2002:65::2/64
5.3 配置过程
(1)步骤1:配置PC机的ipv6地址[12]、默认网关与DNS
19 / 48
图5.2 配置PC的IPv6地址
图5.3 配置PC的默认网关、DNS
(2)步骤2:配置dns服务器IPv6地址、默认网关以与dns映射
图5.4 配置DNS服务器的IPv6地址
20 / 48
图5.5 配置DNS服务器的默认网关和DNS
图5.6 添加一条DNS映射
(3)步骤3:配置WEB服务器IPv6[13]地址与默认网关
图5.7 配置WEB服务器的IPv6地址
21 / 48
图5.8 配置Web服务器的默认网关与DNS
(4)步骤4:配置路由器R1、R2[14] R1: Router> Router>en Router#conf t
Router(config)#hostname R1 R1(config)#int fa0/1
R1(config-if)#ipv6 enable //在接口上开启IPv6 R1(config-if)#no shut
R1(config-if)#ipv6 address 2002:61::1/64 R1(config-if)#end R1(config)#int fa0/1
R1(config-if)#ipv6 enable R1(config-if)#no shut
R1(config-if)#ipv6 address 2002:61::2/64 R1(config-if)#end
在R1上配置IPv6静态路由。
R1(config)#ipv6 route 2001:1:2:3::0/64 2002:62::1/64 R2: Router> Router>en Router#conf t
Router(config)#hostname R2 R2(config)#int fa0/1
R2(config-if)#ipv6 enable R2(config-if)#no shut
R2(config-if)#ipv6 address 2002:62::2/64 R2(config-if)#end R2(config)#int fa0/1
R2(config-if)#ipv6 enable R2(config-if)#no shut
R2(config-if)#ipv6 address 2002:62::1/64
22 / 48
R2(config-if)#end
在R2上配置IPv6静态路由。
R2(config)#ipv6 route 2002:61::1/642002:62::1/64 5.4测试结果与配置
图5.9 R1的路由表信息
图5.10 R2的路由表信息
在客户机PC3上 ping DNS、WEB服务器地址通[15],访问WEB。
23 / 48
图5.11 PING DNS服务器
图5.12 PING WEB服务器
图5.13 访问WEB服务器
.
24 / 48
6结论
本次毕业设计课题基于Packet Tracer 6.1的IPv6网络实验研究,在网络地址的短缺,与网络安全受到威胁等条件下,对IPv6技术进行理论探讨,分析如何利用IPv6技术,完成了基于IPv6的路由协议、隧道、访问控制列表等各项配置[16],最后对设计和配置结果进行测试、验证和分析。IPv6和IPv4部分能够很好的兼容工作。这无疑给用户和服务提供商将IPv4升级至IPv6提供了便利[17],并降低了成本,因为不必要求重新部署原有网络了。
总体来说IPv6与IPv4相比具有以下几个优势: (1)IPv6具有更大的地址空间; (2)IPv6使用更小的路由表;
(3)IPv6加入了对自动配置(Auto Configuration[18])的支持; (4)IPv6具有更高的安全性。
对于兼容工作后的网络或是IPv6网络,文中并没有探讨其安全性或漏洞。虽然Ipv6置了对IPSec(一种互联网安全标准,可在两个端点之间进行授权和加密通信)的支持,长期来看,IPv6是会极提升互联网的安全性,因为每个端点都能够加密。但是要实现这样的安全将会是一个漫长的过程。
IPv6作为下一代互联网的核心协议,将会涉与到多种层面,会需要更多不同部门和服务商的参与,共同推动IPv6 技术向着一个崭新的网路时代发展。
25 / 48
致
时光飞逝,四年的大学生活和学习阶段即将结束。我想这是我生命中一段美好、难忘的时光,是我不断超越自我的历程。在论文最终完成之际,我想在这里向各位老师和同学致以衷心的意。他们在我的学习和生活中,给了我最大的关怀和帮助,在四年的大学学习中是在你们的指导下,我才打下了扎实的基础知识,成为一个合格的本科毕业生。四年的学习生活对我来说是短暂的、愉快的、丰富多彩的。在这里我实现了自己的理想,在以后的路上我将带着您们教给我的一切去继续努力奋斗。在此一并送上我最真诚的意,感各位老师的知遇之恩。
再次我要感我的指导老师菊叶老师,是她给了我这个毕业设计课题,同时在我的整个毕业设计过程中,老师给我提出了许多具有指导性的建议,并给予了我耐心的指导和督促,使我能顺利完成毕业设计。
还有我的同学,感同学们一直以来的支持与鼓励,我是在这个团结友爱、互相帮助的集体中慢慢成长起来的,毕业在即,希望大家一切顺利。
最后,再一次对所有给予我关心和帮助的老师、同学们表示诚挚的意,祝愿大家工作顺利,健康快乐!
参考文献
[1] [美]Cprian Popoviciu.部署IPv6网络[M].:人民邮电,2006.23-27. [2] 高阳,王建强.计算机网络技术与应用[M].:清华大学,2009.18-20. [3] 雷震甲,网络工程师教程第三版[M].:清华大学,2010.34-37.
[4] 轶,啸鸣,吴越. 深入解析IPv6第二版[M].:人民邮电大学,2005.15-16. [5] 希仁.计算机网络(第5版)[M].:电子工业,2008.13-20.
[6](加)Regis Desmeules. Cisco IPv6网络实现技术[M].:人民邮电,2004.23-40.
[7] Cisco System.Ins.Dynamic Host Configuration Protocol for IPv6(DHCPv6) Relay Agent Subscriber –ID option RFC4580.US:Cisco System,2004.12-18.
[8] 运清.构建运营级IPv6网络[M].:电子工业,2010 .34-39.
[9] 宏科,伟.IPv6路由协议栈原理与技术[M].:邮电大学,2006.45-47. [10] 王相林.IPv6技术:新一代网络技术[M].:机械工业,2008.30-48. [11] [美] Scott Hogg.IPv6安全[M].:人民邮电,2011.35-46. [12] [美]joseph davies理解ipv6[M].:清华大学,2004.44-56.
[13] 津生,洪佩琳.下一代Internet网络技术[M].:人民邮电,2011.22-33. [14] 羽 .IPv6技术项目实验指导书[M].:电子工业,2010.12-18. [15] 伍孝金.IPv6技术与应用[M].:清华大学,2010.12-16.
[16] 领治,陆建德.计算机网络理论与实践教学改革[J].计算机教育,2010.23:90-92 [17] 毕军,王优,冷晓翔.IPV6过渡研究综述[J].电信科学,2008.10:12-21.
[18] Hyong Soon Kim.IEEE IPv6 Pilot Project Experience in Korea[S]. 2008.3:17-20.
附录 A
中英文参考文献
IPv6
I hope you're ready to learn about the nuts and bolts of InternetProtocol version 6 (IPv6), because you're going to get the rub onit in this chapter!
You should have a solid hold on IPv4 by now, but if you think you could use a refresher, justpage back to Chapter 3, \"Sub netting, Variable Length Subnet Masks (VLSMS), and
Troubleshooting TCP/IP.\" And if you're not crystal clear on the address problems inherent to IPv4, youreally should review Chapter 11, \"Network Address Translation (NAT)”
People refer to IPv6 as \"the next-generation Internet protocol,\" and it was originally createdas the answer to IPv4's inevitable, looming address-exhaustion crisis. Though you've probablyheard a thing or two about IPv6 already, it has been improved even further in the quest to bringus the flexibility, efficiency, capability, and optimized functionality that can truly meet our everincreasing needs. The capacity of its predecessor, IPv4, pales in comparison-and that's thereason it will eventually fade into history completely.
The IPv6 header and address structure has been completely overhauled, and many of thefeatures that were basically just afterthoughts and addendums in IPv4 are now included asfull-blown standards in IPv6. It's seriously well equipped, poised, and ready to manage themind-blowing demands of the Internet to come. I promise-really-to make this chapter pretty painless. In fact, you might even find yourself actually enjoying it-I definitely did! Because IPv6 is so complex yet elegant, innovative and chock-full of features, it fascinates me like some weird combination of a brand-new Lamborghini and a riveting futuristic novel. Hopefully you'll experience this chapter as the cool ride that I did writing it!
Why Do We Need IPv6?
Well, the short answer is, because we need to communicate, and our current system isn't really cutting it anymore-kind of like how the Pony Express can't compete with airmail. Just look at how much time and effort we've invested in coming up with slick new ways to conserve bandwidth and IP addresses. We've even come u p with Variable Length Subnet Masks (VLSMS) in our struggle to overcome the worsening address drought It's reality-the number of people and devices that connect to networks increases each and every day. That's not a bad thing at all-we're finding new and exciting ways to communicate to more people all the time, and that's a good thing. In fact, it's a basic human need. But the forecast isn't exactly blue skies and sunshine because, as I alluded to in this chapter's introduction, IPv4, upon which our ability to communicate is presently dependent, is going to run out of addresses for us to use. IPv4 has only about 4.3 billion addresses available-in theory, and we know that we don't even get to use all of those. There really are only about 250 million addresses that can be assigned to devices. Sure, the use of Classless Inter-Domain Routing (CIDR) and Network Address Translation (NAT) has helped to extend the inevitable dearth of addresses, but we will run out of them, and it's going to happen within a few years. China is barely online, and we know there's a huge population of people and corporations there that surely want to be. There are a lot of reports that give us all kinds of numbers, but all you really need to think about to convince yourself that I'm not just being an alarmist is the fact that there are about 6.5 billion people in the world today, and it's estimated that just over 10 percent of that population is connected to the Internet-wow!
That statistic is basically screaming at us the ugly truth that based on IPv4's capacity, every person can't even have a computer-let alone all the other devices we use with them. I have more than one computer, and it's pretty likely you do too. And I'm not even including in the mix phones, laptops, game consoles, fax machines, routers, switches, and a mother
27 / 48
lode of other devices we use every day! So I think I've made it pretty clear that we've got to do something before we run out of addresses and lose the ability to connect with each other as we know it. And that \"something\" just happens to be implementing IPv6. The Benefits and Uses of IPv6 So what's so fabulous about IPv6? Is it really the answer to our coming dilemma? Is it really worth it to upgrade from IPv4? All good questions-you may even think of a few more. Of course, there's going to be that group of people with the time-tested and well-known \"resistance to change syndrome,\" but don't listen to them. If we had done that years ago, we'd still be waiting weeks, even months for our mail to arrive via horseback. Instead, just know that the answer is a resounding YES! Not only does IPv6 give us lots of addresses (3.4 x 38
10=definitely enough), but there are many other features built into this version that make it well worth the cost, time, and effort required to migrate to it. Later in the chapter I'll talk about all that effort in the section called \"Migrating to IPv6.\" In it, I'll cover some of the transition types required to move from version 4 to version 6, and I promise you'll discover that the huge benefits of migrating will vastly outweigh any associated cons.
Today's networks, as well as the Internet, have a ton of unforeseen requirements that simply were not considerations when IPv4 was created. We've tried to compensate with a collection of add-ons that can actually make implementing them more difficult than they would be if they were required by a standard. By default, IPv6 has improved upon and included many of those features as standard and mandatory. One of these sweet new standards is IPSec-a feature that provides end-to-end security that I'll cover ili Chapter 14, \"Wide Area Networks.\" Another littlebeauty is known as mobility, and as its name suggests, it allows a device to roam from one network to another without dropping connections.
But it's the efficiency features that are really going to rock the house! For starters, the header in an IPv6 packet have half the fields, and they are aligned to 64 bits, which gives us some seriously souped-up processing speed-compared to IPv4, lookups happen at light speed! Most of the information that used to be bound into the IPv4 header was taken out, and now you can choose to put it, or parts of it, back into the header in the form of optional extension headers that follow the basic header fields.
38
And of course there's that whole new universe of addresses (3.4 x 10) we talked about already. But where did we get them? Did that Criss Angel-Mindfreak dude just show up and, Blammo? I mean, that huge proliferation of addresses had to come from somewhere! Well it just so happens that IPv6 gives us a substantially larger address space, meaning the address is a whole lot bigger-four times bigger as a matter of fact! An IPv6 address is actually 128 bits in length, and no worries-I'm going to break down the address piece by piece and show you exactly what it looks like coming up in the section \"IPv6 Addressing and Expressions.\" For now, let me just say that all that additional room permits more levels of hierarchy inside the address space and a more flexible address architecture. It also makes routing much more efficient and scalable because the addresses can be aggregated a lot more effectively. And IPv6 also allows multiple addresses for hosts and networks. This is especially important for enterprises jonesing for availability. Plus, the new version of IP now includes an expanded use of multicast communication (one device sending to many hosts or to a select group), which will also join in to boost efficiency on networks because
28 / 48
communications will be more specific.
IPv4 uses broadcasts very prolifically, causing a bunch of problems, the worst of which is of course the dreaded broadcast storm-an uncontrolled deluge of forwarded broadcast traffic that can bring an entire network to its knees and devour every last bit of bandwidth. Another nasty thing about broadcast traffic is that it interrupts each and every device on the network. When a broadcast is sent out, every machine has to stop what it's doing and respond to the traffic whether the broadcast is meant for it or not. But smile everyone: There is no such thing as a broadcast in IPv6 because it uses multicast traffic instead. And there are two other types of communication as well: unicast, which is the same as it is in IPv4, and a new type called anycast. Anycast communication allows the same address to be placed on more than one device so that when traffic is sent to one device addressed in this way, it is routed to the nearest host that shares the same address. This is just the beginning-we'll get more into the various types of communication in the section called \"Address Types” IPv6 Addressing and Expressions
Just as understanding how IP addresses are structured and used is critical with IPv4 addressing, it's also vital when it comes to IPv6. You've already read about the fact that at 128 bits, an IPv6 address is much larger than an IPv4 address. Because of this, as well as the new ways the addressesmanage. But can be used, you've probably guessed that IPv6 will be more complicated to no worries! As I said, I'll break down the basics and show you what the address looks like, how you can write it, and what many of its common uses are. It's going to be a little weird at first, but before you know it, you'll have it nailed! So let's take a look at Figure 13.1, which has a sample IPv6 address broken down into sections.
FIGURE 13 .1IPv6 address example
So as you can now see, the address is truly much larger-but what else is different? Well, first, notice that it has eight groups of numbers instead of four and also that those groups are separated by colons instead of periods. And hey wait a second…there are letters in that address! Yep, the address is expressed in hexadecimal just like a MAC address is, so you could say this address has eight 16-bit hexadecimal colon-delimited blocks. That's already quite a mouthful, and you probably haven't even tried to say the address out loud yet!
One other thing I want to point out is for when you set up your test network to play with IPv6, because I know you're going to want to do that. When you use a web browser to make an connection to an IPv6 device, you have to type the address into the browser with brackets around the literal address. Why? Well, a colon is already being used by the browser for specifying a port number. So basically, if you don't enclose the address in brackets, the browser will have no way to identify the information Here's an example of how this looks:
[2001:Odb8:3c4d:0012:0000:0000:1234:56ab]/default.html
Now obviously if you can, you would rather use names to specify a destination (like .lannmle.), but even though it's definitely going to be a pain in the rear, we just have to accept the fact that sometimes we have to bite the bullet and type in the address
29 / 48
number So it should be pretty clear that DNS is going to become extremely important when implementing IPv6. Shortened Expression
The good news is there are a few tricks to help rescue us when writing these monster addresses. For one thing, you can actually leave out parts of the address to abbreviate it, but to get away with doing that you have to follow a couple of rules. First, you can drop any leading zeros in each of the individual blocks.After you do that, the sample address from earlier would then look like this: 2001:db8:3c4d:12:0:0:1234:56ab
Okay, that's a definite improvement-at least we don't have to write all of those extra zeros! But what about whole blocks that don't have anything in them except zeros? Well, we can kind of lose those too-at least some of them. Again referring to our sample address, we can remove the two blocks of zeros by replacing them with double colons, like this: 2001:db8:3c4d:12::1234:56ab
Cool-we replaced the blocks of all zeros with double colons. The rule you have to follow to get away with this is that you can only replace one contiguous block of zeros in an address. So if my address has four blocks of zeros and each of them were separated, I just don't get to replace them all; remember the rule is that you can only replace one contiguous block with a double colon. Check out this example: 2001:0000:0000:0012:0000:0000:1234:56ab And just know that you can't do this: 2001::12::1234:56ab
Instead, this is the best that you can do: 2001::12:0:0:1234:56ab
The reason why the above example is our best shot is that if we remove two sets of zeros, the device looking at the address will have no wav of knowing where the zeros go back in Basically, the muter would look at the incorrect address and say, \"Well, do I place two blocks into the first set of double colons and two into the second set, or do I place three blocks into the first set and one block into the second set?\" And on and on it would go because the information the muter needs just isn't there. Address Types
We're all familiar with IPv4's unicast, broadcast, and multicast addresses that basically define who or at least how many other devices we're talking to. But as I mentioned, IPv6 adds to that trio and introduces the anycast. Broadcasts, as we know them, have been eliminated in IPv6 because of their cumbersome inefficiency.
So let's find out what each of these types of IPv6 addressing and communication methods do for us.
Unicast Packets addressed to a unicast address are delivered to a single interface. For load balancing, multiple interfaces can use the same address. There are a few different types of unicast addresses, but we don't need to get into that here.
Global unicast addresses These are your typical publicly mutable addresses, and they're the same as they are in IPv4 Link-local addresses These are like the private addresses in IPv4 in that they're not meant to be routed. Think of them as a handy tool that gives you the ability to throw a temporary
30 / 48
LAN together for meetings or for creating a small LAN that's not going to be routed but still needs to share and access files and services locally.
Unique local addresses These addresses are also intended for non-routing purposes, but they are nearly globally unique, so it's unlikely you'll ever have one of them overlap. Unique local addresses were designed to replace site-local addresses, so they basically do almost exactly what IPv4 private addresses do-allow communication throughout a site while being mutable to multiple local networks. Site-local addresses were denounced as of September 2004.
Multicast Again, same as in IPv4, packets addressed to a multicast address are delivered to all interfaces identified by the multicast address. Sometimes people call them one-to-many addresses. It's really easy to spot a multicast address in IPv6 because they always start with FF. I'll get into greater detail about multicast operation in the section \"How IPv6 Works in an Internetwork.\"
Anycast Like multicast addresses, an anycast address identifies multiple interfaces, but there's a big difference: the anycast packet is only delivered to one address-actually, to the first one it finds defined in terms of routing distance. And again, this address is special because you can apply a single address to more than one interface. You could call them one-to-one-of-many addresses, but just saying \"anycast\" is a lot easier. You're probably wondering if there know they're there in IPv4. Well there are any special, reserved addresses in IPv6 because you are-plenty of them! Let's go over them now Special Addresses
I'm going to list some of the addresses and address ranges that you should definitely make a point to remember because you'll eventually use them. They're all special or reserved for specific use, but unlike IPv4, IPv6 gives us a galaxy of addresses, so reserving a few here and there doesn't hurt a thing!
0:0:0:0:0:0:0:0 Equals::This is the equivalent of IPv4's 0.0.0.0, and is typically the source address of a host when you're using stateful configuration. 0:0:0:0:0:0:0:1 Equals ::1. The equivalent of 127.0.0.1 in IPv4. 0:0:0:0:0:0:192.168.100.1 This is how an IPv4 address would be written in a mixed IPv6/IPv4 network environment.
2000::/3 The global unicast address range. FC00::/7 The unique local unicast range. FE80::/10 The link-local unicast range. FF00::/8 The multicast range.
3FFF:FFFE:/32 Reserved for examples and documentation.
2001:ODP8::/32 Also reserved for examples and documentation.
2002::/16 Used with 6to4, which is the transition system-the structure that allows IPv6 packets to be transmitted over an IPv4 network without the need to configure explicit tunnels. We'll get more into this later in \"Migrating to IPv6,\" but for now let me show you how IPv6 actually works in an internetwork. We all know how IPv4 works, so let's see what's new.
How IPv6 Works in an Internetwork
It's time to explore the finer points of IPv6. A great place to start is by showing you how to address a host and what gives it the ability to find other hosts and resources on
31 / 48
a network
I'll also demonstrate a device's ability to automatically address itself-something called stateless autoconfiguration, plus another type of autoconfiguration known as stateful. Keep in mind that stateful autoconfiguration uses a DHCP server in a very similar way to how it's used in an IPv4 configuration. I'll also show you how Internet Control Message Protocol (ICMP) and multicast works for us on an IPv6 network Autoconfiguration
Autoconfiguration is an incredibly useful solution because it allows devices on a network to address themselves with a link-local unicast address. This process happens through first learning the prefix information from the roister and then appending the device's own interface address as the interface ID. But where does it get that interface ID? Well, you know every device on an Ethernet network has a physical MAC address, and that's exactly what's used for the interface ID. But since the interface ID in an IPv6 address is 64 bits in length and a MAC address is only 48 bits, where do the extra 16 bits come from? The MAC address is padded in the middle with the extra bits-it's padded with FFFE. For example, let's say I have a device with a MAC address that looks like this: 0060.d673.1987. After it's been padded, it would look like this: 0260.d6FF.FE73.1987.
So where did that 2 in the beginning of the address come from? Another good question. You see, part of the process of padding (called modified eui-64 format) changes a bit to specify if the address is locally unique or globally unique. And the bit that gets changed is the seventh bit in the address. A bit value of 1 means globally unique, and a bit value of 0 means locally unique, so looking at this example, would you say that this address is globally or locally unique? If you answered that it's a globally unique address, you're right! Trust me, this is going to save you time in addressing your host machines because they communicate with the muter to make this happen.
To perform autoconfiguration, a host goes through a basic two-step process:
1. First, the host needs the prefix information (similar to the network portion of an IPv4 address) to configure its interface, so it sends a roister solicitation (RS) request for it. This RS is then sent out as a multicast to each router's multicast address. The actual information being sent is a type of ICMP message, and like everything in networking, this ICMP message has a number that identifies it. The RS message is ICMP type 133 2. The roister answers back with the required prefix information via a roister advertisement (RA). An RA message also happens to be a multicast packet that's sent to each node's multicast address and is ICMP type 134. RA messages are sent on a periodic basis, but the host sends the RS for an immediate response so it doesn't have to wait until the next scheduled RA to get what it needs. These two steps are shown in Figure 13.2.
32 / 48
FIGURE 13 .2Two steps to IPv6 autoconfiguration
Bv the way, this type of autoconfiguration is also known as stateless autoconfiguration because it doesn't contact or connect and receive any further information from the other device. We'll get to stateful configuration when we talk about DHCPv6 in a minute. 中文译文:
IPv6
我希望你已经准备好了,下面要学习的是IPv6的具体细节,在本章中,全部都是关十IPv6的容。
到现在,你应当对IPv4有了深入的理解,可以回顾一下第3章。如果你对IPv4所面临的地址问题不是非常清楚,可以回顾一下第11章。
人们将IPv6称为“下一代IP”。人们创建IPv6的原始动力,是想要解决IPv4正在面临的地址枯竭危机,这个问题是无法避免的。大家可能对IPv6已经有所了解,它能够满足日益增长的对灵活性、有效性、容量和功能优化的需求。相比之下,其前辈IPv4在容量方面就逊色多了,正是由于这个原因,IPv4最终将逐步退出历史舞台。
IPv6的报头和地址结构已经被仔细考察过了,其中的许多特性是在对IPv4进行了反思和补充之后才提出来的,因此,IPv6现在已经是一个成熟的标准了。IPv6的构思很好,各种性能都得到了平衡,已经为满足未来因特网的需求做好了准备。
我努力让本章明白易懂。事实上,你可能已经喜欢上了它,我就是如此。IPv6复杂而优雅,充满了创新和各种特性,它令我着迷,就像是全新的Lamborghini与未来派小说的奇妙组合。 为什么我们需要IPv6
对于这个问题,简单的答案是:我们需要交流,而现有的系统已难以为继,就像马车快递比不上航空一样。看看我们已经在保留带宽和IP地址方面付出了多少时间和努力。我们甚至使用了VLSM,以克服口益恶化的地址缺乏问题。
一个明显的事实是:连接到网络中的人员和设备数量每时每刻都在增加,这并不是一件坏事,它说明我们一直在寻找新的、令人激动的、与更多的人进行交流的方式,这应该是一件好事。事实上,这正是人类的基本需求。但现在的情况是,正如我在本章的开始所指出的那样,我们现在所使用的IPv4正在面临地址枯竭的危机。IPv4的可用地址只有大约43亿个,从理论上说,我们并没有用完这些地址。实际上,只有大约2亿5千万个地址能够分配给设备使用。当然,CIDR和NAT的使用,缓解了不可避免的地址枯竭问题,但我们总有一天会将这些地址耗尽,这种情况将在几年之后出现。中国人才刚刚开始上网,那里人口众多,那里的公司肯定都需要上网。有大量的报告提供了各种各样的数据,我并不是在杞人忧天,但大家需要注意到这样一个事实:在地球上大约有65亿人,据估算,只有超过10%的人连接到了因特网。
33 / 48
这些统计数据让我们注意到一个令人担忧的现实情况:按照IPv4的容量,地球上的每个人甚至不能拥有一台计算机,其他的机器只好自己呆在一边了。我的计算机已经超过了一台,很可能你也如此。其中还没包括、笔记本电脑、游戏控制柄、 机、路由器、交换机和其他一些每天都使用的设备。因此我认为我已经表达清楚了,在地址耗尽之前,在失去我们已经熟悉的彼此连接的能力之前,我们必须做点什么,这IPv6要实现的。 IPv6的好处与其应用
那么,IPv6有哪些吸引人的地方呢?它能够真正解决我们所面临的困难吗?从IPv4升级到IPv6是否真正值得?这些问题问得好,你可能已经思考过了。当然,也有那么一群人,他们被称为“拒绝改变综合症患者”,但别听他们的。如果总是拒绝的话,可能我们现在还得等上几个星期,甚至几个月,才能等到邮政马车送来的。因此,我们必须接受这种改变。IPv6不仅能提供大量的地址(3.4×1038,足够用了),而且还有许多其他的特性置在这个版本的IP中,值得我们为迁移到IPv6而花费金钱、时间和努力。在本章的后面,我将谈到这种努力,即“迁移到IPv6”。到时候,我将论述一些从IPv4过渡到IPv6的转换类型,我保证大家会发现,迁移到IPv6的巨大好处远远超过了那些反对的声音。
在当今的网络与因特网中,有大量无法预见的需求,在创建IPv4时,并没有考虑到这些需求。我们曾经试图用一系列附加的技术来修补它,但这些技术实际上使它们实现起来更加困难,如果创建新的标准的话,情况可能会好一些。默认时,IPv6已经做出了改进,且在标准中包含了许多新的特性和强制选项。其中的一个新标准是IPsec,用来提供端到端的安全性,我们将在第14章讨论它。另一个新的特性称为移动性,正如其名称所指示的那样,它使得设备能够从一个网络漫游到另一个网络,而不会丢失连接。
IPv6的引人注目之处在于它的有效性。IPv6包中的报头排列成64位,使得处理速度大大加快,与IPv4相比,IPv6的查找速度几乎等于光速!在IPv4报头中必须包含的大多数信息都被去掉了,在IPv6报头中,可以选择加上它们或者加上其中一部分。它们以扩展报头的形式出现,跟在基本报头字段的后面。
前面已经谈到了IPv6中有大量的地址(3.4×1038}。从哪里获得这些地址呢?我是说,IPv6为我们提供了丰富的地址空间,实际上是IPv4地址长度的4倍,我们应当从某个地方获取这些地址。IPv6地址的长度为128位,我将在下一节为大家展示IPv6地址的细节信息。现在,我想说,IPv6所提供的巨址空间,使得我们能够在地址空间设计更多的层次级别和更灵活的地址结构。IPv6的引入,极提高了路由的效率和可伸缩性,因为可以极为有效地对地址进行聚合。IPv6还允许主机和网络有多个地址,这对十企业网络的可用性来说极为重要。此外,新版本的IP还包括组播通信(就是一台设备向许多主机或选定的一组设备发送信息)的扩展使用,这将极提升网络的效率,因为设备之间的通信更具有针对性。
在IPv4中,大量使用了广播地址,从而导致一系列问题,最糟的问题自然是令人生畏的广播风暴一一广播流量不受控制地转发,会导致整个网络中的设备吃掉所有的带宽。关于广播流量的另一个讨厌之处是,它会打扰网络中的每一台设备。当某台设备发出一个广播包之后,不管这个广播对机器是否有意义,每台机器都不得不停止它正在做的事情,来对广播包做出响应。
还好,在IPv6中,不会出现上述的广播风暴,因为IPv6用组播代替了广播。还有另外两种类型的通信:单播(与IPv4中的完全一样)和任播(一种新的类型)。任播通信允许同一个地址被放置到多台设备上,当路由器接收到目的地址为任播地址的数据包时,就将它路由到离它最近的、共享同一个地址的主机上。在“地址类型”这一节,我们会看到各种类型的通信。 IPv6寻址与表达式
对十IPv4来说,理解其地址结构与其使用方法是非常重要的,对于IPv6也如此。大家已经知道,IPv6的地址长度为128位,比IPv4地址长得多。由于IPv6的地址很长,而且还使用了新的地址类型,所以你可能会猜想IPv6的管理要复杂得多。但不用担心,我会详细解释IPv6地址的基本
34 / 48
结构,让大家看看IPv6地址是怎样的,如何书写它,以与IPv6地址的通常用法。大家第一次看见IPv6地址时,会觉得有点怪,但很快就会熟悉它。
图13.1 IPV6地址举例
说明:要记住,在IPv6地址中,哪一段指的是子网ID,因为在本章后面的“在互联网络中配置IPV6”一节中,当我们配置路由器时,要用到它。
大家现在可以看出,IPv4地址实在是很长,但还有其他不同之处吗?首先,我们注意到它有8组数字而不是4组数字,而且各组数字之间是用冒号隔开的,而不是用点号。等一等,在IPv6地址中还有字母!对了,IPv6地址是用十六进制数表示的,就像MAC地址一样,因此可以说,IPv6地址有8个用冒号分隔的十六进制数块。这个地址真是够长的,也许你还没有大声地读过这种地址。
我想指出的另一点是,当设置测试网络以试验IPv6时(我知道大家想做这个),需要做些什么。当使用Web浏览器向一台IPv6设备发起 连接时,必须将IPv6地址输入浏览器,而且要用方括号将IPv6地址括起来。为什么呢?这是因为浏览器在指定端口号时,已经使用了一个冒号。因此,如果你不用方括号将IPv6地址括起来,浏览器将无法识别出信息。
下面是这种情况的一个例子:
[2001:0db8:3c4d:0012:0000:0000:1234:56ab]/default.html
显然,可以的话,你肯定愿意使用名字来指定目的地比如.lammlev.)。
这尽管有些令人讨厌,但我们还得接受这样一个事实:有时候我们不得不一位一位地输入地址号。因此大家可以看出,在实施IPv6时,DNS将是极其重要的。 缩减后的表达式
好消息是,在书写看起来有些怪异的IPV6地址时,有一些技巧可以帮助我们简化IPV6地址的书写。比如,可以省去地址中的一部分以缩减它,但在这样做时,必须遵循一些规则。首先,在每个单独的地址块中,可以省略那些打头的0。在这样做之后,上面的地址示例就变成这样的了:
2001:db8:3c4d:12:0:0:1234:56ab
这确实是一种改进,至少我们不需要输入那些额外的0了!但如果整个地址块全为0,是不是可以更简略些?是的,至少还可以省略其中一些。再看看前面的地址示例,我们可以删除两个全为0的地址块,用两个冒号来代替它们,如下所示:
2001: db8:3c4d:12::1234:56ab
很好,我们用双冒号代替了全为0的地址块。需要注意的是,在这个规则中,只能在IPv6地址中的某一处替换掉相邻的全0地址块。如果在IPv6地址中有4个全0的地址块,它们两两相邻,那么就不能都替换掉。记住:只能在IPv6地址中,用双冒号替换掉某一个相邻的全0地址块。看看下面的例子:
2001:0000:0000:0012:0000:0000:1234:56ab 注意,不能这样做: 2001::12::1234:56ab 但是可以这样做:
2001::12:0:0:1234:56ab
上面的例子中用的是最好的简化方法。如果我们把两边的0都删除了,网络设备在查找地址时,就没有办法知道那些0应该插在哪里。在这种情况下,路由器会看见不正确的地址,并说:“我是应该把两个全0地址块分别插在前后两端呢,还是应该在前面放3个全0地址块,而后面放一个全0地址块?”路由器将因此而得不到所需要的信息。
35 / 48
地址类型
在IPv4中,大家已经熟悉了单播、广播和组播这3种地址类型。正如前面提到的,IPv6也有3种地址类型,并引入了任播地址。大家已经知道了,在IPv6中取消了广播地址,因为广播地址的效率很低。
下面我们来看看这些IPV6地址类型的寻址和通信方式。
单播地址目的地址为单播地址的数据包被传送到单个网络接口。为了实现负载均衡,多个接口可以使用同一个地址。单播地址有几种不同的类型,下面简单介绍一下。
全球单播地址它们是典型的、可路由的通用地址,就像IPv4中的通用地址一样。
链路本地地址它们就像是IPv4中的专用(私有)地址,因为它们是不能被路由的。可以将它们看成是便利的工具,能够让你将LAN暂时连在一起以便举行会议,或者创建一个小型的、不需要路由的LAN,但仍然需要在本地共享并访问文件和服务。
本地唯一地址这些地址也是专门用十非路由目的的,但它们几乎是全球唯一的,因此,这些地址是不太可能会重叠的。本地唯一地址被设计用来替代站点本地地址,因此,它们基本上与IPv4中的专用地址功能一样一允许通过站点进行通信,同时在多个本地网络之间进行路由。站点本地地址于2004年9月被废除。
组播地址再说一遍,就像在IPv4中一样,目的地址为组播地址的数据包被传送到由组播地址识别出的所有接口。有时候人们将它们称为“一个对多个”地址。在IPv4中,很容易识别出组播地址,因为组播地址总是以FF开头的。在后面的“IPv6如何在互联网络中起作用”一节中,将详细讨论组播地址。
任播地址像组播地址一样,任播地址能够识别多个接口,但它们之间有很大的不同:任播包只被传送到一个地址一实际上,是将它传送到距离本路由器最近的那个接口地址。再说一遍,这种地址很特殊,因为可以将单个地址应用到多个接口上。也可以称它们为“一个对一组中的一个”地址,但称它们为“任播”更容易些。
你可能正在好奇,想知道在IPv6中是否会有特殊的、保留的地址,因为在IPv4中就有这样的地址。是的,在IPv6中有很多这样的地址,下面就来看看它们。
特殊的地址
下面将列出一些地址和地址围,大家一定要记住它们,因为肯定会用到它们。它们都很特殊,或者是为特定使用目的而保留的,但与IPv4不同的是,IPv6的地址空间特别巨大,因此,保留一些地址确实无关紧要。 0:0:0:0:0:0:0:0等于::。这是IPv4中0.0.0.0的等价物,当正在使用有状态的地址配置时,典型情况下是主机的源地址。
0:0:0:0:0:0:0:1等十::1。这是IPv4中127.0.0.1的等价物。
0:0:0:0:0:0:192.168.100.1这是在IPv6/IPv4混合网络环境中IPv4地址的表示式。2000::/3全球单播地址围。FC00::/7本地唯一单播地址围。FE80::/10链路本地单播地址围。FF00::/8组播地址围。3FFF:FFFF::/32为示例和文档保留的地址。2001:ODBB::/32也是为示例和文档保留的地址。
2002::/16用于IPv6到IPv4的转换系统,这种结构允许IPv6包通过IPv4网络进行传输,而无需显式地配置隧道。
在“迁移到IPv6”一节中,我们还会做详细的讨论。现在,我们来看看IPv6是如何在互联网络中起作用的,我们已经知道了IPv4是如何起作用的,下面就来看看IPv6。
IPv6如何在互联网络中起作用
现在,是研究IPv6细节的时候了。一件很重要的事情是,怎样给主机配置IPv6地址,以与怎样才能使它具有在网络中找到其他主机和资源的能力。
我将演示一台设备自动地为它自己配置地址的能力,这就是“无状态自动配置”,还将演示另一种自动配置类型,称为“有状态自动配置”。一定要牢记,有状态自动配置与IPv4中使用的DHCP服务器配置十分相像。我还将告诉大家,在IPv6网络中,ICMP和组播是如何起作用的。
36 / 48
自动配置
自动配置是一种令人难以置信的、有用的解决方案,因为它允许网络中的设备用链路本地单播地址自动进行地址配置。这个过程在开始时从路由器那里学习前缀信息,然后将设备自己的接口地址作为接口.附加上去。但它从哪里获得接口ID呢?大家知道,以太网中的每台设备都有一个物理MAC地址,这个MAC地址就用来作为接口ID。但IPv6地址中的接口ID是64位的,而MAC地址仅为48位,因此,需要另外再加上16位。这16位从哪里来呢?是在MAC地址的中间填充FFFE。
例如,我们假定某台设备的MAC地址如下: 0060.d673.1987。
在填充之后,就是这样的:0260.d6FF.FE73.1987。
那么,地址开头的2是从哪里来的呢?问得好。大家要知道,如果地址是本地唯一的或全球唯一的,那么填充过程的部分(称为改进的eui-64格式)会将一位改为特定的数字,被改动的这一位是地址中的第7位。这一位的值为1,意味着是全球唯一的。这一位的值为0,意味着是本地唯一的。看看这里的例子,你能说出这个地址是全球唯一还是本地唯一的吗?如果你的答案是全球唯一地址,你就对了。在为主机配置地址时,这会节省时间,因为它们会跟路由器通信来做到这一点。
要完成自动配置:主机基本上需要经过两个步骤:1.首先,主机需要前缀信息(类似十IPv4地址中的网络号部分)来配置其接口,因此,它为自己发送一个路由器征求(muter solicitation, RS)请求,然后这个RS作为组播信息发送到每台路由器的组播地址。实际被发送的信息是ICMP类型的信息,就像联网中的所有事情一样,这个ICMP消息用一个来标示它自己,RS消息的是ICMP类型133。
2.路由器通过路由器通告(router advertisement, RA)对所需的前缀信息做出回应。RA消息碰巧也是组播包,它们被发送到每个结点的组播地址,其为ICMP类型134。RA消息是周期性发送的,但主机发送RS时,能够立即得到响应,因此,主机不必等到下一个RS周期的到来,就能得到所需要的信息。这两个步骤如图13.2所示。
便说一句,这种类型的自动配置也称为“无状态自动配置”,因为它不与其他设备进行联系或连接,也不从其他设备接收任何信息。我们马上就会讲到DHCPv6,在那里进行的是有状态自动配置。
图13.2 IPV6自动配置的两个步骤
37 / 48
附录B
总体拓扑图
因篇幅问题不能全部显示,请点此查看更多更全内容