OSPF 开放最短路径优先链路状态型路由选择协议

OSPF特点:
非专有型
非常好的扩展能力(体系化设计)
度量值:OSPF使用成本(COST)的值作为其路由度量值。缺省的成本度量值是基于介质带宽
OSPF路由表形成原理:
OSPF路由器通告他们的是链路状态,每个路由器通过获得的链路状态建立一个链路状态数据库,然后运行SPF算法计算出到每个目的地的成本。选择成本最低的路径放到路由表中。
OSPF的5种数据包类型:
1 HELLO包
2 数据库描述数据包
3 状态请求
4 链路状态更新
5 链路状态确认
 
OSPF接口的7种状态
1 DOWN
2 INIT 初始
OSPF路由器以固定时间间隔(10S)发送HELLO数据包
3 TWO-WAY 双向
4 EXSTART 准启动
EXSTART状态是用类型2的数据库描述(DBD ,也被称为DDP)数据包建立;两个路由器用DBD数据包来协商它们之间主从关系
5 EXCHANGE 交换
邻居路由器使用类型2的数据包来互相发送它们的链路状态信息。
6 LOADING  加载
路由器用类型3的数据包(链路状态请求,LSR)来请求更完整的信息。当路由器接到一个LSR,它会用类型4的链路状态更新(LSU)数据包进行回应。
7 FULL ADJACENCY  全吡邻
加载结束后,路由器变成全吡邻状态,每台路由器都保存一张吡邻路由器列表(既吡邻数据库)

OSPF网络类型
OSPF自动识别的三种类型
1广播型多路访问                      选举DR
2非广播型多路访问NBMA              不选举DR
3点对点型                            选举DR
网管手工配置4 点对多点型网络       不选举DR
DR指定路由器(Designated router)
DR功能:1 与该网络上所有其他路由器建立吡邻关系
2 担任该网络的“发言人”,向其它网络发送列出了所有本地路由器的LSA.
备用指定路由器   BDR
BDR也与网络上其它所有路由器建立吡邻关系,但是它不发送路由更新信息和网络LSA.
在点对点网络种,不需要选举DR或BDR,两台路由器建立全吡邻关系。
HELLO协议
HELLO数据包的寻址地址为多目组播地址 224.0.0.5,该地址代表所有OSPF路由器。
在多路访问和点对点网络上 每隔10秒发送一次。
在NBMA网络,每隔30秒发送一次。
OSPF的运行步骤
1建立路由器吡邻关系
路由器ID,如果没有环回接口地址,则选择路由器上最高的IP地址,如果有环回接口地址,则选择环回接口地址种最高的IP地址
选择路由器ID后,通过多目组播发送HELLO包,进入INIT状态,再进入双向状态。
2选举一个DR和BDR(如果需要的话)
路由器之间选举DR/BDR 通过路由ID和优先级来确认DR/BDR,
OSPF路由器都有相同的缺省优先级值1,我们可以在OSPF接口上设置一个在0-255之间的优先级值,其中0的优先级将阻止该路由器在该接口上被选举DR/BDR.
一个路由器可是既是DR,也是BDR
3发现路由
EXSTART状态的目的是在两个路由器之间建立主、从关系,在DBD数据包中宣告最高路由器ID的路由器为主路由器
然后路由器进入EXCHANGE状态
4选择合适的路由
OSPF采用成本(COST)度量值来决定到目的地地最佳路径。缺省地成本度量值为介质带宽
一般来说,成本度量值随链路速率地增大而降低。
这里采用最短路径优先(SPF)算法 (DIJKSTRA算法)
SPF算法:将本地路由器到目的地网络之间所有链路成本相加求和
SPF保持计时器的作用(SPF holdtime):防止链路快速DOWN和UP,从而导致路由器不断运行SPF算法计算新的路由表,而且使链路状态数据库不能收敛。
SPF holdtime 缺省为10秒
5维护路由信息
新链路状态信息的LSU 如何发送
1 在点对点型网络上,不存在DR/BDR,LSU被发送给224.0.0.5
所有OSPF路由器都接收发往该地址的数据包
2 在一个多路访问型网络中,存在DR/BDR;
当DR/BDR需要发送LSU,它会发送给224.0.0.5(所有OSPF路由器);而非DR/BDR需要发送LSU,它们会发送给224.0.0.6(所有DR/BDR路由器地址)
重点注意:即使链路状态没有发送变化,OSPF路由信息也会被周期性刷新,每个LSA条目都有它自己的生存计时器,缺省为30分钟
OSPF配置特性:
1 OSPF 进程ID
ROUTER(CONFIG)#ROUTER OSPF PROCESS-ID(1-65535)
 
ROUTER(CONFIG-ROUTER)#NETWORK ADDRESS WILDCARD-MASK AREA AREA-ID
2 为提高稳定性而配置一个环回地址
作用:使路由器ID固定为环回地址,而不会随端口地址变化而变化
ROUTER(CONFIG)#interface loopback0
ROUTER(CONFIG-INT)#ip address
3 修改OSPF路由器优先级(0-255)
ROUTER(CONFIG-INT)#ip ospf priority number
4修改链路成本
CISCO IOS 链路成本公式  100000000/带宽
ROUTER(CONFIG-INT)#ip ospf cost number
5配置认证

6配置OSPF计时器
ROUTER(CONFIG-INT)#ip ospf hello-interval seconds
ROUTER(CONFIG-INT)#ip ospf dead-interval seconds
NBMA(非广播型网络中的OSPF)
全互联帧中继
一个OSPF网络不支持广播,我们可以手工为其指定邻居。
部分互联帧中继
点对点  点对多点