OSPF概念
文章目录
一、OSPF是什么
OSPF是一种链路状态路由协议。
在链路状态路由协议中路由器对全网拓扑完全了解。是"传信的路由”,A将信息放在一封信里发给B,B对其不做任何改变,拷贝下来,并将自己的信息放在另一封信里,两封信一起给c,这样,信息没有任何改变和丢失,最后所有路由器都收到相同的一堆信,这一堆信就是LSDB。然后,每个路由器运用相同的SPF算法,以自己为根,计算出SPF Tree(即到达目的地的各个方案),选出最佳路径,放入路由表中。
工作过程
- 建立邻居列表
- 建立链路状态数据库
- 建立路由表
路由器上的OSPF接口通过向其他路由器发送HELLO包,建立邻居关系,然后通过学习链路状态信息(发送LSA 接收LSAACK
)建立链路状态数据库,下一步通过Djkstra算法/SPF算法/最短路径算法来计算最短路径树然后写入路由表
图示解析如下:
二、OSPF区域
1.骨干区域/非骨干区域
为了适应大型的网络,OSPF在AS内划分多个区域,每个OSPF路由器只维护所在区域的完整链路状态信息,然后将一个区域的LSA简化和汇总后由边界路由(ABR 图中与其他区域公用的路由器)转发给另一个区域。
非骨干区域无法直接通信,所有通信必须经过骨干区域
大致图示如下:
2.DR/BDR
为减小多路访问网络中OSPF流量,这时候需要一个路由器和所有的路由器互换LSA,减少LSA的数量。OSPF会选择一个指定路由器(DR)和一个备份指定路由器(BDR)。当多路访问网络发生变化时,DR负责更新其他所有OSPF路由器。BDR会监控DR 的状态,并在当前DR发生故障时接替其角色。DR和BDR是由同一网段中所有的路由器根据路由器优先级、Router ID通过HELLO报文选举出来的,只有优先级大于0的路由器才具有选取资格。进行DR/BDR选举时每台路由器将自己选出的DR写入Hello报文中,发给网段上的每台运行OSPF协议的路由器。当处于同一网段的两台路由器同时宣布自己是DR时,路由器优先级高者胜出。如果优先级相等,则Router ID大者胜出。
DR/BDR选取过程
自动选取:
网段上Router ID最大的路由器将被选举为DR,第二大的将被选举为BDR
手动设置优先级选取
优先级范围是0~255,数值越大,优先级越高,默认为1
PS:将优先级设置为0时 此路由器不参与选举
不过实际环境中,会是另一种方式,因为不能保证所有路由器都是同时开启,因为谁先开机谁是DR(没其他路由器和它比较)相应的第二开机是BDR,而且正常工作情况下,后开机的路由器就算优先级和Router ID比他们大也无法将其替代
选举时,各个路由器都是用组播地址224.0.0.5发送Hello包(都认为自己是DR),当DR和BDR选出来后,DR和BDR使用224.0.0.5发送,其他路由器使用224.0.0.6发送。
Rouder ID:
OSPF区域内唯一表示路由器的IP地址。
选取路由器上的loopback接口上数值最大的IP地