链路状态路由协议OSPF
路由信息传递与路由计算分离
基于SPF算法(最短路径计算法)
以“累计链路开销”作为选路参考值
分类
自治系统(AS)
内部网关协议(IGP)
外部网关协议(EGP)
OSPF工作过程
建立邻接关系---->学习链路状态信息---->链路状态数据库---->Dijkstra算法---->最短路径树---->路由表
OSPF区域
![](https://i-blog.csdnimg.cn/blog_migrate/5ba64cd63935059e6f6b872ef2f65b0b.png)
为了适应大型的网络,OSPF在AS内划分多个区域
每个OSPF路由器只维护所在区域的完整链路状态信息
区域ID
区域ID可以表示成一个十进制的数字或者表示成一个IP
骨干区域Area 0
负责区域之间路由信息传播
非骨干区域
末梢区域
完全末梢区域
非纯末梢区域
完全非纯末梢区域
Router ID
OSPF区域内唯一标识路由器的IP地址
Router ID选取规则
选取路由器loopback接口(回环口)上数值最高的IP地址
如果没有loopback接口,在物理端口中选取IP地址最高的
也可以使用router-id命令指定Rouer ID
DR和BDR
更快的建立邻接关系,建立更少的邻接关系
![](https://i-blog.csdnimg.cn/blog_migrate/fc53cbe91ce1df6d3cf5383e6315819c.png)
(该图表示 所有路由器在一个局域网,类似的图都表示一个局域网)
![](https://i-blog.csdnimg.cn/blog_migrate/dfb4221b96d0fd4dcbb1679cf8c48fe0.png)
指定路由器(DR)
![](https://i-blog.csdnimg.cn/blog_migrate/89fda03e45d42337b8d92d150bc3dab5.png)
所有人把信息都给D,然后D再把所有信息会发给所有人
其他路由器(DRothers)只和DR及BDR形成邻接关系
![](https://i-blog.csdnimg.cn/blog_migrate/dc876782b5f73dda9790aa66c341ffcd.png)
最开始BDR会建立邻接关系,但不会汇总;DR挂了之后BDR才会汇总
DR和BDR的选举方法
自动选择DR和BDR
网段上Router ID最大的路由器选举为DR,第二大的选举为BDR
手动选举DR和BDR
优先级范围0-255,数值越大,优先级越大
如果优先级相同,则需要比较Router ID
如果路由器优先级被设置为0,他将不参加DR和BDR选举
DR和BDR的选举过程
路由器的优先级可以影响一个选举过程,但是不能强制改变已经存在的DR或者BDR
OSPF的组播地址
普通路由器通过224.0.0.6向DR、BDR通告自己的网络状态信息
DR会通过224.0.0.5向所有成员发送整合后的信息
OSPF的度量值为COST
COST=10^8^/BW
最短路径时基于接口指定的代价(cost)的计算
![](https://i-blog.csdnimg.cn/blog_migrate/d7f795a2dd87a7f81163979e1cea6af6.png)
OSPF数据包类型
承载在IP数据包内,使用协议号89,而RIP使用的协议号为1
OSPF的包类型
![](https://i-blog.csdnimg.cn/blog_migrate/4f2191288e4eef5c04f41d5419e0f970.png)
成员发:LSR、LSU
DR、BDR发:LSAck、DBD
OSPF邻接关系的建立
![](https://i-blog.csdnimg.cn/blog_migrate/790727839b0e3cc7dc3c40be52552967.png)
![](https://i-blog.csdnimg.cn/blog_migrate/2a3851b408d25a801300b647cc041e51.png)
OSPF的应用环境
网络规模大
特点
![](https://i-blog.csdnimg.cn/blog_migrate/e314a5c66f2ac913f1e8a12347b8c9c2.png)
OSPF和RIP的比较
![](https://i-blog.csdnimg.cn/blog_migrate/601be0d8c2a121c032392769a508d6bc.png)