计算机网络技术实践
实验报告
实验名称:RIP和OSPF路由协议的配置及协议流程姓名:
学号:
实验日期:2014年4月11日
实验报告日期:2014年4月12日
报告退发:(订正、重做)
一、环境(详细说明运行的操作系统,网络平台,网络拓扑图)
●操作系统:windows8.1
●网络平台:Dynamips 仿真平台
●网络拓扑:
二、实验目的
三、实验内容及步骤(包括主要配置流程,重要部分需要截图)
RIP:
1.设计网拓扑
2.配置ip地址
以配置R1的s1/1 的ip地址为例:
配置完后,输入命令no shutdown打开端口。
类似的配置完一共12个端口的ip地址。
3.配置rip路由协议:
以配置R1的路由协议为例:
4.配置PC的默认路由,以PC1为例:
5.配置完成后,测试从PC1到网络中各个节点的连通情况:
a)到5.1.30.2:
b)到1.1.30.2:
c)到2.1.30.2:
d)到3.1.30.2:
e)到4.1.30.2:
f)到6.1.30.1:
6.打开调试模式:
以R1为例:
不久之后接收到R4发来的路由信息:
同时,R1也在向周围路由器发送路由信息:
从上图中我们路由器R4从端口S1/0发送路由信息告诉R1,R4到网络2.0.0.0需要两跳,到网络3.0.0.0需要一跳,到网络6.0.0.0需要两跳。
R1通过计算从各个端口接收到的路由信息,需要到各个网络的最优路径之后,也会向外发出路由信息。如上图所示,R1把路由信息从S1/0端口发出。他告诉这个端口另一端所连的设备,R1到网络
1.0.0.0需要一跳,到网络
2.0.0.0需要两跳,到网路5.0.0.0需要一跳。
收到这个路由信息的设备也会根据这个路由信息来计算自己到各个网络的最优路径。
通过获得的路由信息不难看出rip协议的工作过程:
每个路由器都维护这一张路由表,这张路由表中写明了网络号、到该网络的最短路径(实验中的路径长短由跳数来衡量)以及转发的出口。路由器会周期性得向周围路由器发送自己的路由表,同时也会接受周围路由器发来的路由表,以此来刷新自己的路由器,适
应网络拓扑变化。路由器在收到路由信息之后会根据某些路由算法、收到的路由信息和原先自己的路由表来计算到达各个网络最优的转发路径(即下一跳的出口),这便是距离矢量路由算法的工作过程。
7.在控制台中关闭路由器R2后(以此来改变网络拓扑),R1
开始收到不可达的路由刷新报文:
一段时间后,R1的路由表被刷新:
重新打开R2一段时间后,路由表被刷新:
解释:
在路由器R2下线之后,邻居路由器将会长时间收不到,R2方向过来的路由信息,一段时间后,路由表会被重新计算。
上图中,R1收到R4发来的路由信息,告诉R1,网络1.0.0.0和网络2.0.0.0已经被判定为不可达的网络。到网络3.0.0.0需要一跳,到网络6.0.0.0需要两跳。于是,R1的路由表会被刷新,从上图中可以看出,R1的路由表中已经没有了网络1.0.0.0和网络2.0.0.0的表项。
重新打开R2之后,由于R2又开始想周围发送路由器信息,周围路由器会知道R2又恢复正常了,在相互交换路由信息一段时间之后,路由表成功收敛,恢复了正常的状态。可以从R1的路由表中看出,网络1.0.0.0、网络4.0.0.0和网络5.0.0.0是分别和端口s1/1、端口s1/0和端口f0/0直接相连的。发向网络2.0.0.0的数据包从端口s1/1转发,发向网络3.0.0.0的数据包从端口s1/0转发,发向网络6.0.0.0的数据包可以从s1/0和1/1转发。
8.RIP协议中观察没有配置水平分割和配置水平分割后协议
的工作流程:
a)配置水平分割:
b)没有配置水平分割:
解释:
从上图可以看出,配置了水平分割的情况下,更新报文相对于没有配置水平分割的情况少了网络1.0.0.0、2.0.0.0和6.0.0.0的路
由信息。因为从上面的几张截图和网络拓扑图中可以明显看出发向
网络1.0.0.0、网络2.0.0.0和网络6.0.0.0的数据包会被从端口s1/1
转发,也就是说路由表表项中的这三个网络的转发路径的计算最终
一定是根据从s1/1收到的路由信息计算出来的。所以在开启水平
分割的前提下,这三个网络的路由信息在R1向s1/1端口发送路由
信息的时候一定会被过滤掉。
从以上对截图的分析可以很明显得看出水平分割的作用。水平分割就是记录下每一条路由信息的来源,这样在发送路由更新
报文的时候,不会将从一个端口中收到的信息再从这个端口转发
出去,这样可以避免无穷计算的问题,也就是避免了路由器根据
自己转发出去的路由器信息来计算路由信息。
OSPF:
1.配置OSPF路由协议:
以R1为例:
先使用no router rip命令关闭rip协议,然后输入router ospf 10命令开始配置ospf协议,如上图。
2.配置完成后,测试PC1到各个节点的连通性:
a)到5.1.30.2:
b)到1.1.30.2:
c)到2.1.30.2:
d)到3.1.30.2:
e)到4.1.30.2:
f)到6.1.30.1:
3.打开调试:
输入命令debug ip ospf event 打开调试模式,如下图:
打开调试后,不断有hello包显示出来:
解释:
从上图可以看出,路由器R1在00:15:35的时候在端口s1/1收到了来自2.1.30.1的hello报文,hello报文顾名思义被用来维护检测邻接关系。OSPF协议的工作过程大致如下,它是基于链路状态算法的分层路由协议。在开启OSPF协议之后路由器之间交互的是链路状态信息,路由器在知道自己附近的网络的链路信息之后会把这些链路信息发给相邻的路由器,然后这些路由器也会把自己的链路信息再转发下去。这样在一定的转发次数之后,每个路由器都能知道整个网络的拓扑了。
但是在网络比较庞大的情况下,这下链路信息会成为一个相当庞大的数据集,因此OSPF协议又提供了“区域”的概念,就是将一个大的网络切分成几个相对小的区域,区域分为骨干区域和常规区域,骨干区域和常规区域之间会交换链路信息,二常规区域之间不会交换链路信息。这样就能减少链路信息的规模。上图中就可以看出有“area0”的属性。
不过上图只有相邻链路hello包的交互,这是因为OSPF的主要协议交互过程是在刚配置完OSPF协议时就进行了,而在网络运行过程中,如果没有链路状态的变化就没有交互链路状态信息。也就是说,一旦网络稳