OSPF 协议配置
【实验目的】
1.了解和掌握ospf 的原理;
2.熟悉ospf 的配置步骤;
3.懂得如何配置OSPF router ID ,了解DR/BDR 选举过程;
4.掌握hello-interval 的使用;
5.学会使用OSPF 的authentication ;
【实验拓扑】
【实验器材】
如上图,需用到路由器三台,hub/switch 一个,串行线、网线若干,主机三台。
说明:拓扑中网云可用hub 或普通switch 替代,建立multiaccess 网络,以太口连接。
【实验原理】
一、OSPF
192.168.1.0/RTA
1. OSPF基本原理以及邻居关系建立过程
OSPF是一种链路状态型路由选择协议。它依靠5种(Hello, DBD, LSR, LSU and LSAck)不同种类的数据包来识别、建立和维护邻居关系。当路由器接收到来自邻居的链路状态信息后,会建立一个链路状态数据库;然后根据该链路状态数据库,采用SPF算法确定到各目的地的最佳路径;最后将最佳路径放到它的路由表中,生成路由表。
OSPF会进行周期性的更新以维护网络拓扑状态,在LSA的生存期到期时进行周期性的更新。除了周期性更新之外,还有触发性更新。即当网络结构发生变化(例如增减路由器、链路状态发生变化等)时,会产生触发性更新,把变化的那一部分通告给整个网络。
2.Designated Router (DR) / Backup Designated Router(BDR)选举过程
存在于multiaccess网络,点对点链路和NBMA网络中无此选举过程,此过程发生在Two-Way之后ExStart之前。
选举过程:
选举时,依次比较hello包中的各台router priority和router ID,根据这两个值选出DR和BDR。选举结束后,只有DR/BDR失效才会引起新的选举过程;如果DR故障,则BDR替补上去,次高优先级Router被选为BDR。
基本原则如下:
1)有最高优先级值的路由器成为DR,有第二高优先级的路由器成为BDR;
2)优先级为0的路由器不能作为DR或BDR,只能做DRother (非DR);
3)如果一台优先级更高的路由器加到了网络中,原来的DR与BDR保持不变,只有DR或BDR它们失效时才会改变;
4)当优先级相同时,路由器ID最高和次高的的就成为DR和BDR;
5)当没有配置loopback时,用router上up起来的端口中最高IP地址作为Router ID,否则就用loopback口的IP地址作为它的ID;如果有多个loopback则用loopback端口中最高IP地址作为ID;而且路由器ID 一旦确定就不再更改。
建议使用优先级操纵DR/BDR选举过程
3.update timer与authentication的影响
要让OSPF路由器能相互交换信息,它们必须具有相同的hello间隔和相同的dead-time
间隔。缺省情况下,后者是前者的4倍。
缺省地,路由器认为进入的路由信息总是可靠的、准确的,从而不加甄别就进行处理,这存在一定的危险。因此,为了确保进入的路由信息的可靠性和准确性,我们可以在路由器接口上配置认证密钥来作为同一区域OSPF路由器之间的口令,或对路由信息采用MD5算法附带摘要信息来保证路由信息的可靠性和准确性。建议采用后者,因为前者的密钥是明文发送的。
三、其它预备知识
1、回环接口的配置:
Router(config)#int l0
Router(config-if)#ip addr *.*.*.* *.*.*.*
2、telnet:是属于应用层的远程登陆协议,是一个用于远程连接服务的标准协议,
用户可以用它建立起到远程终端的连接,连接到Telnet服务器;用户也可以用它远程连接上路由器进行路由器配置。
【实验内容】
一、在路由器上配置单域的OSPF
1.按照拓扑图1接好线,完成如下基本配置:
(1)配置端口IP地址
以RTA路由器的配置为例:
RTA(config)#Interface Ethernet 0
RTA(config-if)#ip address 192.168.1.1 255.255.255.0
RTA(config-if)#no shutdown
检验:用ping命令检查连通性:在各台路由器上分别ping自己的所有邻居看是否可以ping通。
(2)配置looback端口作为router ID,确保router ID的稳定性。
以RTA路由器的配置为例:
RTA(config)#Interface loopback 0
RTA(config-if)#ip address 10.0.0.3 255.255.255.255
2.启动OSPF路由进程
在各台路由器上配置ospf路由协议(为更好的观察OSPF协议运作的各种信息,配置前,把各路由器上的以太网口shutdown):
路由器A:
RTA(config)#router ospf 1
RTA(config-router)#network 192.168.1.0 0.0.0.255 area 0
RTA(config-router)#network 192.168.2.0 0.0.0.255 area 0
路由器B:
RTB(config)#router ospf 1
RTB(config-router)#network 192.168.1.0 0.0.0.255 area 0
RTB(config-router)#network 192.168.3.0 0.0.0.255 area 0
路由器C:
RTC(config)#router ospf 1
RTC(config-router)#network 192.168.1.0 0.0.0.255 area 0
RTC(config-router)#network 192.168.2.0 0.0.0.255 area 0
RTC(config-router)#network 192.168.3.0 0.0.0.255 area 0
3.观察、检验OSPF配置:
Router#debug ip ospf events//OSPF协议运作的各种信息
用no shut 命令打开各路由器上的以太网口。
Router(config-)#int f0
Router(config-if)#no shut
观察路由器输出的debug信息。
在各个路由器确立邻居关系之后:
Router#show ip ospf neighbor //检查路由器邻接状态
Router#show ip protocols //查看运行的路由协议及协议相关的信息
Router#show ip ospf //查看OSPF协议信息及各种计时器
Router#show ip ospf interface e0 //查看OSPF的接口相关配置,比如hello间隔
Router#debug ip ospf adj //查看邻接关系相关的信息
用以下命令删除某个路由条目或者整个路由表,然后再查看路由条目和路由表的建立过