一、OSPF 路由协议(Open Shortest Path First),开放最短路径优先协议。是一种典型的链路状态的路由协议,OSFP将链路状态广播数据包LSA(Link State Advertisement)传送给在某一区域内的所有路由器。
二、OSPF 路由协议特点:
1、支持层次化的网络结构,便于简化大型网络
2、划分区域(area)网络,方便扩展
3、快速响应网络变化、触发更新
4、网络带宽占用少、路由收敛速度快
5、属于无类路由协议,支持VLSM和CIDR
三、OSPF 的工作原理:
1、双方发送HELLO报文,
2、建立邻接关系
3、发送LSA(链路状态通告)
4、LSA泛洪
5、区域中的每台路由器形成相同的LSDB(链路状态数据库)
6、根据LSDB形成无环路的拓朴图
7、每台路由器利用SPF算法,以自己为根计算出到达目标网络的最短路径,并写入路由表
四、OSPF 报文类型:HELLO DBD LSR LSU LSACK
Hello报文:用于发现、验证、重新发现邻居的报文,采用周期性的组播(224.0.0.5)
在广播型的网络中,更新的周期为10S/40S
非广播多路访问的网络中,更新的周期30s/120s
DBD:数据库描述报文,在发送前要先协商主从关系(master/slave),由主方发送自己建立的链路状态数据库的格式和序列号。
LSR:向邻居发送OSPF的链路状态的请求
LSU:向请求的邻居发送关于链路状态的更新
LSACK:确认收到的链路状态更新
五、建立邻接关系的接口状态:down init 2-way exchangestart exchange loading full
down: 接口处于OSPF协议的DOWN状态,没有接收邻居的验证和发现。
init:接口初始化状态,准备发送和接收hello报文。
two-way:邻居双方通过HELLO报方发现对方准备建立双向通信。
exchangestart:双方进入交换LS的准备阶段。
exchange:双方交换链路状态报文。
loading:装载由邻居泛洪的LSA,形成完整的链路状态数据库。
full:邻居双方进入稳定的邻接关系状态,即全邻接。
六、OSPF 网络类型:
根据路由器所连接的物理网络不同,OSPF将网络划分为四类型:
1、 广播多路访问型(Broadcast multiAccess),如:Ethernet、Token Ring、FDDI。采用组播的方式进行报文传输(224.0.0.5,224.0.0.6)
2、 非广播多路访问型(None Broadcast multiAccess,简称:NBMA)如:Frame Reley、X.25、SMDS。采用单播的更新。
3、 点到点型(Point to Point)如:专线连接PPP、HDLC。采用目标地址为224.0.0.5进行报文的传输
4、 点到多点型(Point to MultiPoint)
七、OSPF 相关概念及术语:
1、 路由器ID:路由器在OSPF网络中的标识,由路由器中的最高物理接口IP地址来表示,如果有回环接口,那么ROUTER ID由回环接口的最高IP来表示。一般OSPF网络都会设定Loopback接口,OSPF路由器ID就会很稳定。
2、 计时器: HELL0报文:是运行OSPF协议网络中,用来建立邻接关系,在广播型网络中,OSPF的HELL0报文计时器每隔10秒发送一次,保持时间40秒,即 如果在40秒内没收到hello,则认为居不存在.在非广播网络中(帧中继),每隔30秒发送一次,保持时间120秒
3、 OSPF度量:路由器开销或度量,决定了到达一个目的网络最佳路径。具由最低度量的路由被认为最佳路由。OSPF使用一个基于接口的带宽的无因次的度量,用以下公式计算:
开销(cost)=100000000/(接口的带宽)
不同接口的OSPF开销如下:
接口类型    接口的带宽    OSPF开销
以太网      10000000     10
快速以太网  100000000     1
吉比特以太网 100000000    1
T1          1544000      64
E1          2048000      48
Cost的计算公式是108/带宽(Bps),然后取整,计算出通过的所有链路入口的cost之和。
其中环回接口的cost为1。
4、 链路状态:接口状态(接口的连接情况、接口参数、接口的第三层信息)
5、 链路状态协议:通过运行协议中的报文来从邻居获得整个网络的链路状态信息,建立全网的链路状态数据库 (Link-State Database),生成拓朴图,再根据自己的链路状态算法算出路由表。
八、广播型的网络环境的问题:
多个路由器能过广播型的交换设备相连,形成了一个物理上的星形拓朴,而且协议所建立的逻辑结构上是个网状全互联的结构,每两个路由器之间都有处于全邻接关系,造成大量的重复的LSA,降低了链路的利用率,影响了网络的整体性能。
解决办法: 选举一个指定的全邻接关系的路由器,同时选举一个备份指定路由器用于备份邻接。
DR(Designated Router):指定路由器
BDR(Backup Designated Router):备份指定路由器
OSPF要求在区域中选举一个DR,每个路由器都与之建立完全相邻关系。DR负责收集所有的链路状态信息,并发布给其他路由器。同时选举一个BDR,当DR失效时,BDR担当DR职责。
DR/BDR的选举过程:
环境:广播/非广播多路访问的网络
选举标准:priority(优先级)+RID,最高值为DR,次高为BDR
优级级:0-255,默认都为1,0不参加选举
1、先比较网络中路由器接口的优先级,高的优先,如果优先级为0,则不参与选举
2、如果优先级相同,则比较路由器的router-id,选router-id高的.
DR 与BDR的选举过程:在所有路由器中通过发送的HELLO报文中选举,所有路由器开始都称自己为DR,然后先选举BDR,BDR选举产生后,再把刚选举出 的BDR推举为DR,再次选举BDR,选举完成。一旦选举成功,以后如果有路由器改了比DR/BDR还要大的优先级,仍然不会成为DR/BDR,除非重新 进行选举,即重启ospf进程
选举完成后所有路由只与DR/BDR建立全邻接FULL关系。
DR/BDR选举完成后,DRother只和DR/BDR形成邻接关系,DR将组播洪泛LSU到224.0.0.5,DRother只组播LSU到所有的DRother,地址为224.0.0.6,只有DR/BDR才监听这个地址。