1.实验目的1.掌握Ipv6的基本知识;2.了解Ipv6静态路由的配置原理和方法;3.了解基于Ipv6的RIPng的配置原理和方法;4.利用抓包工具抓取数据包,分析基于Ipv6的IP字段的具体含义2.实验环境(软件条件、硬件条件等)2台MSR3040路由器、2台S3610交换机、4台pc;抓包工具wireshark。
3.实验原理与方法(架构图、流程图等)1.IPv6:IPv6是“Internet Protocol Version 6”的缩写,它是IETF设计的用于替代现行版本IP协议-IPv4-的下一代IP协议。
2.IPv6特点:1)IPV6地址长度为128比特,地址空间增大了2的96次方倍;2)灵活的IP报文头部格式。
使用一系列固定格式的扩展头部取代了IPV4中可变长度的选项字段。
IPV6中选项部分的出现方式也有所变化,使路由器可以简单路过选项而不做任何处理,加快了报文处理速度;3)IPV6简化了报文头部格式,字段只有7个,加快报文转发,提高了吞吐量4)提高安全性。
身份认证和隐私权是IPV6的关键特性;5)支持更多的服务类型;6)允许协议继续演变,增加新的功能,使之适应未来技术的发展;3.IPv6分组格式:1)版本(Version)字段:其含义和长度与IPv4相同,对IPv6其取值为“6”(参见RFC 1700)。
2)用户数据等级(Traffic Class)字段:此8比特字段是IPv4中“Type of Service”字段的替代物,其目的在于为发起节点和中转节点(Router)指明此IPv6分组传输服务级别或优先级别。
3)数据流标签(Flow Label )字段:此20比特字段意在为发起节点制定对分组流的处理方式的机制,如非缺省服务质量等级、“实时”数据流等。
所谓数据流是在相同的“一对一”或“一对多”(广播或组播)地址间连续分组流。
发送方要使用此功能时,在此字段内填入00001[Hex]~ FFFFF[Hex]之间的一个伪随机数,作为该数据流的标志符[2、7](注:有些像连接标志符,无连接IP协议在处理连续流时,借用了面向连接协议中的连接标志符的概念),当发送方不使用此功能时,该字段全填为“0”,中间节点将忽略这一字段。
;4)用户数据长度字段(Payload Length):此16比特字段取代了IPv4中的报文头长度字段IHL。
由于IPv4报头可选部分长度可变,因此用报头长度字段来定界;IPv6将可选部分放入用户数据(Payload)部分,由分组头中8比特的“下一头(Next Header)”字段来指明在Payload中紧跟IPv6分组头固定部分之后的扩展分组头的类别。
有关编码与IPv4中协议类型(Protocol)字段编码相同(参见RFC 1700);5)下一分组头类型标志符(Next Header):指明紧跟在IPv6分组头后面的IPv6扩展分组头或IP层之上的协议类型(如TCP、UDP或ICMPv6等),编码规则与IPv4的Protocol字段相同,由RFC 1700界定。
6)跨越节点数限制字段(Hop Limit):此字段是IPv4中“存活期”(Time To Live)字段的替代物。
IPv6用跨越节点数替代IPv4中的在网中存活时间(秒)更具有可操作性。
每经过一个中转节点,Hop Limit之值被减1;减到。
时,该分组被丢弃;7)源地址/目的地址(Source/Destination Address):IPv6的地址字段由IPv4的4字节增加为16字节,以解决lPv4的4字节地址的不足。
8)IPv6扩展分组头(IPv6 Extension Headers):IPv6提供的扩展分组头是为网络层的可选功能,从某种意义上讲也可以看做是IP子层之上的控制/增强子层的功能。
这些字段将置于IPv6固定分组头之后,但在传送层协议数据单元之前。
目前的IPv6文本中定义了4种扩展分组头,它们分别是:逐段选项扩展头(Hop-by-HopOptions)、路径选择扩展头(Routing)、分片扩展头(Fragment)和目的地选项扩展头(Destination Options);另外,RFC 2402定义了身份认证扩展头(Authentication),RFC 2406定义了用户安全数据封装扩展头(EncapsulatingSecurity Payload)。
4.IPv6静态路由配置原理与方法:1)ping ipv6 [ipv6-address] 诊断IPV6网络的连通性。
a)参数说明:参数描述ipv6-addres s被诊断的目的地址b)命令模式:特权模式c)使用指导:当在命令中不输入目的地址时则进入用户交互模式,可以指定具体的各种参数。
2)ipv6 address 为网络接口配置一个IPV6 的地址,使用该命令的no形式删除配置的地址。
ipv6 address ipv6-address/prefix-lengthipv6 address ipv6-prefix/prefix-length eui-64ipv6 address prefix-name sub-bits/prefix-length[eui-64]no ipv6 addressno ipv6 address ipv6-address/prefix-lengthno ipv6 address ipv6-prefix/prefix-length eui-64no ipv6 address prefix-name sub-bits/prefix-length[eui-64]c) 使用指导:当一个IPV6接口被创建并且链路状态为UP 时那么系统将为该接口自动生成链路本地地址。
接口的IPv6地址也可以使用通用前缀机制生成。
其机制就是IPv6地址=“通用前缀”+“子前缀”+“主机比特”。
通用前缀可以使用ipv6general-prefix 命令配置,也可能通过DHCPv6客户端的PD (前缀发现)功能学习到(参见“DHCPv6配置”)。
“子前缀”+“主机比特”就是使用本命令的sub-bits/prefix-length 参数配置。
使用no ipv6 address 如果不指定删除具体的地址,那么将删除所有手工配置的地址。
使用no ipv6 address ipv6-prefix/prefix-length eui-64 可以删除使用命令ipv6 address ipv6-prefix/prefix-length eui-64配置的地址。
3) ipv6 route 该命令用来配置IPV6的静态路由,使用该命令的no 形式将删除所配置的静态路由。
ipv6 route ipv6-prefix /prefix-length {ipv6-address |interface-id[ipv6-address ]}no ipv6 route ipv6-prefix /prefix-length{ipv6-address |interface-id [ipv6-address ]}a) 参数说明:c)使用指导:如果目的地址或者下一跳地址是链路本地地址那么必须指定输出接口,并且如果目的地址是链路本地地址时要求下一跳也必须是链路本地地址。
当在配置路由时目的地址和下一跳地址不允许出现多播地址,如果下一跳和输出接口都指定了,那么下一跳匹配的直连路由的输出接口必须和配置的输出接口一致。
4.基于IPv6的RIPng路由协议:RIPng把参与通信的机器分为主动和被动两种方式。
主动路由器向其他路由器通告路由,而被动路由器接收通告并更新其路由,被动路由器自己并不通告路由。
只有路由器以主动方式使用RIPng,主机只能使用被动方式,因为主机并不了解路由信息。
运行RIPng的路由器维持一个到所有可能目的网络的路由表,路由器周期性地(RFC推荐为30s)向邻居节点发送该路由器的路由表,接收方通过接收邻居路由器的周期性通告更新自己的路由表。
这种周期性的路由信息的交换使得每个路由器形成对网络拓扑结构的局部的认识。
RIPng使用到达目的站点所经过的链路数,即跳数来度量路由花费,同时RFC规定RIPng的工作范围为15跳,数值16表示无穷大,即意味着路由不可达。
路由器通常不会主动发出请求报文来进行路由请求,路由请求通常只是在路由器刚启动或是路由器正在寻找路由信息时才会发出请求报文以获得响应。
路由器在查询响应、周期更新、触发更新三种情况下会收到响应报文。
路由器根据响应报文判断是否对本地路由表进行更新。
定时器在RIPng中起着非常重要的作用,RIPng使用定时器来实现路由表的更新、报文的发送。
周期性的报文广播是由定时器实现的,另外为防止路由表长时间未更新而失效,每个路由表项有两个定时器与之相联系,超时的路由表项最终将会被删除,以防止路由器广播和使用已经失效的路由。
RIPng中使用的定时器主要有以下三个:(1)启动周期性广播的定时器。
此定时器被设置成25s到35s之间的任一随机数。
这样设置的目的是为了避免网络上所有路由器以相同的定时发送更新报文,利用随机间隔可以均衡通信量,从而减少路由器之间发生冲突的可能性。
(2)期满定时器。
路由器只要收到通往特定信宿路由,就对通往该信宿的期满定时器初始化。
期满定时器被设定为180s,如果一条路由在期满定时器超时前未得到相关报文的更新,则该条路由不再有效,但仍保留在路由表中,以便通知其他路由器这条路由已经失效。
(3)垃圾收集定时器。
路由器对无效路由打上尺度为无穷大的无效标记并将垃圾收集定时器初始化。
此时,定时器被设置为120s,在这段时间内这些路由仍然会被路由器周期性地广播,这样相邻路由器就能迅速从路由表中删除该路由。
R1R22008:1:1:1::1/64 PC 1PC 2(实验组网图)4.实验步骤与分析1.使能路由器的IPV6的功能,进接口配置IPV6的地址[R1]ipv6[R1]interface s2/0[R1-Serial2/0]ipv6 address 2000:1:1:1::1/64 //配置接口的全球单播地址[R1-Serial2/0]ipv6 address 3000:1:1:1::1/64 eui-64 //配置接口的EUI-64地址[R1-Serial2/0]ipv6 address auto link-local //配置接口自动生成链路本地地址2.配置以太网IPV6接口地址[R1]int e8/0[R1-Ethernet8/0] ipv6 address 2007:1:1:1::1/643.R2配置同R1类似[R2]ipv6[R2]int s2/0[R2-Serial2/0]ipv6 address 2000:1:1:1::2/64[R2-Serial2/0]ipv6 address 3000:1:1:1::2/64 eui-64[R2-Serial2/0]ipv6 address auto link-local[R2]int e8/0[R2-Ethernet8/0] ipv6 address 2008:1:1:1::1/644.使用DISPLAY命令查看接口信息[R1]display ipv6 interface s2/0[R2]display ipv6 interface s2/05.使用ping命令测试[R1]ping ipv6 2008:1:1:1::1[R2]ping ipv6 2007:1:1:1::16.在2台路由器中分别配置IPV6的静态路由[R1]ipv6 route-static 2008:1:1:1:: 64 2000:1:1:1::2[R2]ipv6 route-static 2007:1:1:1:: 64 2000:1:1:1::1//使用undo ipv6 route-static命令可以删除一条IPv6静态路由,而使用delete ipv6 static-routes //all命令可以删除包括缺省路由在内的所有IPv6静态路由。