OSPF路由协议是用于网际协议(IP)网络的链路状态路由协议。该协议使用链路状态路由算法的内部网关协议(IGP),在单一自治系统(AS)内部工作。适用于IPv4的OSPFv2协议定义于RFC 2328,RFC 5340定义了适用于IPv6的OSPFv3。
OSPF协议是一种链路状态协议。每个路由器负责发现、维护与邻居的关系,并将已知的邻居列表和链路费用LSU报文描述,通过可靠的泛洪与自治系统AS(Autonomous System)内的其他路由器周期性交互,学习到整个自治系统的网络拓扑结构;并通过自治系统边界的路由器注入其他AS的路由信息,从而得到整个Internet的路由信息。每隔一个特定时间或当链路状态发生变化时,重新生成LSA,路由器通过泛洪机制将新LSA通告出去,以便实现路由的实时更新。
扩展资料:
OSPF路由协议的实现过程
1、初始化形成端口初始信息:在路由器初始化或网络结构发生变化(如链路发生变化,路由器新增或损坏)时,相关路由器会产生链路状态广播数据包LSA,该数据包里包含路由器上所有相连链路,也即为所有端口的状态信息。
2、路由器间通过泛洪(Floodingl机制交换链路状态信息:各路由器一方面将其LSA数据包传送给所有与其相邻的OSPF路由器,另一方面接收其相邻的OSPF路由器传来的LSA数据包,根据其更新自己的数据库。
3、形成稳定的区域拓扑结构数据库:OSPF路由协议通过泛洪法逐渐收敛,形成该区域拓扑结构的数据库,这时所有的路由器均保留了该数据库的一个副本。
4、形成路由表:所有的路由器根据其区域拓扑结构数据库副本采用最短路径法计算形成各自的路由表。
参考资料来源:百度百科-OSPF路由协议
一、OSPF
1. OSPF基本原理以及邻居关系建立过程
OSPF是一种链路状态型路由选择协议。它依靠5种(Hello, DBD, LSR, LSU and LSAck)不同种类的数据包来识别、建立和维护邻居关系。当路由器接收到来自邻居的链路状态信息后,会建立一个链路状态数据库;然后根据该链路状态数据库,采用SPF算法确定到各目的地的最佳路径;最后将最佳路径放到它的路由表中,生成路由表。
OSPF会进行周期性的更新以维护网络拓扑状态,在LSA的生存期到期时进行周期性的更新。除了周期性更新之外,还有触发性更新。即当网络结构发生变化(例如增减路由器、链路状态发生变化等)时,会产生触发性更新,把变化的那一部分通告给整个网络。
一、在路由器上配置单域的OSPF1.如下基本配置:
(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 //查看邻接关系相关的信息
用以下命令删除某个路由条目或者整个路由表,然后再查看路由条目和路由表的建立过程:
Router#Clear ip route * 清空路由表
Router#Clear ip route a.b.c.d 清空某条路由条目
配置认证
在RTA接口上配置OSPF认证口令:
RTA(config)#int e0
RTA(config-if)# ip ospf authentication-key cisco
以整个OSPF区域为基础启用认证功能:
Router(config-router)# area 0 authentication
过了down机间隔时间之后,在路由器RTA发出“show ip ospf neighbor”命令,查看RTA的OSPF邻居。用“debug ip ospf events”确定该结果的原因。
在RTB与RTC上作与RTA相同的配置。
再次用“show ip ospf neighbor”来查看结果。
说明:在debug信息中,可以看到三种认证类型,0表示不使用认证,类型1代表明文认证,类型2代表用MD5加密认证。
OSPF(Open Shortest Path First)是一个内部网关协议(Interior Gateway Protocol,简称IGP),用于在单一自治系统(autonomous system,AS)内决策路由。与RIP相对,OSPF是链路状态路由协议,而RIP是距离向量路由协议。 链路是路由器接口的另一种说法,因此OSPF也称为接口状态路由协议。OSPF通过路由器之间通告网络接口的状态来建立链路状态数据库,生成最短路径树,每个OSPF路由器使用这些最短路径构造路由表。 开放最短路径协议(OSPF)协议不仅能计算两个网络结点之间的最短路径,而且能计算通信费用。可根据网络用户的要求来平衡费用和性能,以选择相应的路由。在一个自治系统内可划分出若干个区域,每个区域根据自己的拓扑结构计算最短路径,这减少了OSPF路由实现的工作量;OSPF属动态的自适应协议,对于网络的拓扑结构变化可以迅速地做出反应,进行相应调整,提供短的收敛期,使路由表尽快稳定化。每个路由器都维护一个相同的、完整的全网链路状态数据库。这个数据库很庞大,寻径时, 该路由器以自己为根,构造最短路径树,然后再根据最短路径构造路由表。路由器彼此交换,并保存整个网络的链路信息,从而掌握全网的拓扑结构,并独立计算路由。
提供一些常用命令供参考:
Ospf
常用命令
Sh ip os int e0 用来查看接口信息。
Show ip ospf 用来查看ospf 参数
Sh ip ospf process-id 用来查看ospf 参数
Sh ip ospf border-routers 用来查看到达abr 或asbr 的路由表。
Sh ip os database 用来显示ospf 数据库中的信息
Sh ip os process-id databaes 用来显示特定进程号的数据库信息
Sh ip os int 显示接口信息
Sh ip os nei 显示邻居关系。
Sh ip os virtual-links 用来显示虚连接
Debug ip os adj 用来显示关于一个ospf 邻居关系的信息。也
可以用来确定ospf 问题。
Cle ip os process 用来重新建立邻居关系。
Debug ip os events 用来显示ospf 事件有关的信息。
Debu ip os flood 用来显示有关扩散信息
Debu ip os packet 用来显示ospf 数据包的情况
Sh ip os da router 查看数据库。
Sh ip os virtual-links 查看虚链路