链路状态协议——OSPF(二)

ok,之前介绍了链路状态协议,这次我们详细说说,链路状态协议中的OSPF协议——开放式路径最短路径优先协议

一,OSPF发展历程

链路状态协议——OSPF(二)_第1张图片

二,OSPF特性

(1)没有跳数限制,可以应用于大型网络
(2)无类路由协议,支持VLSM(可变长子网掩码)和CIDR(构造超网)
(3)执行SPF算法,不会产生路由环路
(4)使用组播地址进行发送和更新链路状态信息
(5)触发式更新,不定期更新,仅当网络拓扑发生更改时更新,收敛速度快
(6)采用Cost值作为最优路径选择的度量值
(7)OSPF区域化设计,可以减少路由更新流量,降低内存、CPU和带宽的占有量
(8)可以手工汇总路由
(9)支持对区域和链路的验证

二,OSPF功能

1,邻居表
邻居路由的信息
2,拓扑表
链路状态数据库
3,路由表
达到目的网络的最短路径

三,OSPF包类型

1,Hello包:发现邻居并且维持相邻关系
2,DBD(数据库描述包):在路由器间检查数据同步情况
3,LSR(链路状态请求包):由一台路由器向另一台路由器发送请求特定的链路状态记录,
4,LSU(链路状态更新包):用来更新OSPF路由信息,回复LSR请求,其中包含多种LSA(链路状态通告),一个LSU中包含一个或多个LSA,LSA包含了邻居和路径开销信息。
5,LSAck,链路状态确认包,当一个LSU被收到后,路由器发送LSAck进行确认。

Hello协议
1,发现OSPF邻居并建立相邻关系
2,维持路由器之前的参数一致以及相邻关系
3,在以太网和帧中继等多路访问网络中选举指定路由器DR和备用指定路由器BDR
链路状态协议——OSPF(二)_第2张图片
应当注意的是,OSPF并非是依托于udp或者tcp,它自己占据传输层的位置。
链路状态协议——OSPF(二)_第3张图片
两台路由器在建立 OSPF 相邻关系之前,必须统一三个值:Hello 间隔、Dead 间隔和网络类型
OSPF Hello 数据包都会通过组播发送给ALLSPFRouters 的专用地址 224.0.0.5
Cisco 所用的默认Dead间隔为 Hello 间隔的四倍

四,OSPF在多路访问网络中的挑战

LSA泛洪,路由器在OSPF初始化和拓扑更新时,泛洪其所有链路状态数据包
在多路访问网络中就会造成网络通信的混乱
链路状态协议——OSPF(二)_第4张图片
由此可见,有必要针对泛洪进行特殊的管理。
DR和BDR的产生
多路访问网络中管理相邻关系数量和 LSA 泛洪的解决方案
指定路由器 (DR)/备用指定路由器 (BDR)
其它所有路由器变为 DROther
多路访问网络中的路由器会选举出一个 DR 和一个 BDR。DROther 仅与网络中的 DR 和 BDR 建立完全的相邻关系
DROther 只需使用组播地址 224.0.0.6将其 LSA 发送给 DR 和 BDR,DR 使用组播地址 224.0.0.5,将LSA 转发给其它所有路由器
需要注意的是,DR/BDR的选举不会发生在点对点网络中

链路状态协议——OSPF(二)_第5张图片

你可能感兴趣的:(网络工程)