OSPF基础.note
OSPF(开放式最短链路优先)
RIP的network是宣告进组,通告路由
而OSPF的network也是宣告进组,但是不通告路由,将路由所在接口的链路详细信息放入数据库中
OSPF传递数据库信息,形成数据库表
数据库详细记录了每一台设备通告的路由接口信息
OSPF链路切换过程需要40s,比较久
ospf为了实现快速切换,和BDF(双向检测机制),可以快速检测链路状态 -- 毫秒级
DR 与 BDR
要和相连的OSPF的设备建立邻居
广播型网络 -- 一定选举 DR 与 BDR
有消息时,DRother单播发送给DR,
DR、BDR 和 DRother建立的时邻接关系 --- 发送路由信息,也发送Hello包
DRother是邻居关系 -- 不发送路由信息,只发送Hello包
cost = 参考带宽 ÷ 实际带宽
参考带宽默认为100M
参考带宽需要相同才能建立邻居
OSPF主要根据带宽选择最优链路,通过带宽来计算度量值(cost开销值)
当通往一个目的网络有多条相同带宽的链路时,则会这多条链路一起走,这叫做负载均衡
OSPF不参考限速等,它只看物理带宽
通过Hello包来检测链路是否出现问题
OSPF每10秒发送一次Hello包,是周期的不中断的
当路由器在40秒内没有收到你的hello包,便会判定为对端设备出现问题
目前网络来说发送hello包消耗很少,基本上等于不会消耗带宽,几乎不会消耗硬件资源
可以理解为OSPF的链路切换时间为40秒
目前工作上 项目上,OSPF结合上 检测工具来使用,达到最快1s内的切换
--算的准 能切换 不要钱
OSPF建立的有两种机制:
·邻居
·邻接
OSPF进程号为:1~65535
路由表为每台路由器自己计算出到目的网络的最优路径信息放入路由表

RIP和OSPF的区别
距离矢量协议不知道网络完整拓扑
而OSPF(链路状态协议)知道链路完整拓扑
OSPF的度量值:cost=10^8/带宽
路由传递方向沿途入接口都累加带宽

动态路由协议宣告的必然是直连接口
使用Hello包建立邻居,每10秒利用组播发送一次Hello
使用组播地址:224.0.0.5
管理距离(AD值):110
OSPF协议号:89

等价负载均衡:
两边的开销值一样
OSPF报文:
1.OSPF先建立邻居;
2.描述各自宣告了什么内容;
3.链路状态请求:针对自身需要(没有的)的内容再请求数据库
4.然后进行相应的数据更新
5.发完更新包后,对更新内容进行确认

邻居关系概念:
考虑一种最简单的网络拓扑:两台路由器通过网线直连,在双方互联的接口上激活OSPF,路由器的接口激活
OSPF后开始发送及侦听OSPF报文,在通过Hello报文发现彼此并确认双向通讯后,这两者便形成了邻居关系。
邻接关系概念:
一系列的报文交互和邻居状态的切换会在接下来的过程中继续发生。
两台路由器会开始交互空的DD报文协商Master/Slave,再交互包含LSA头部的DD报文以便描述自己的LSDB,
然后通过LSR及LUS报文交互双方的LSA。
当两者的LSDB同步完成后,(即完成了链路状态共享)两台路由器
形成了对网络拓扑的一致认知,并开始独立计算路由。
此时,称这两台路由器形成了邻接关系。
OSPF的邻居八种状态:

Router-ID是OSPF的唯一ID
建立邻居的条件:
Router-id必须不同
区域号相同
区域:
只有0-255
0区域为骨干区域,其余为非骨干区域,非骨干区域必须要和骨干区域相连

认证类型

默认Hello时间为:
10
死亡时间时Hello时间的四倍:
40
当Hello时间被调整时,死亡时间自动调整成Hello时间的四倍;
当死亡时间被调整时,Hello时间不会随之变
OSPF协议采用组播,组播地址:224.0.0.5和224.0.0.6
OSPF的组播地址除了224.0.0.5之外
还有一个224.0.0.6,专门用来给DRothers发送更新包,只需要发送到224.0.0.6,因为224.0.0.6的数据包只有DR和BDR才能够监听
DRother监听目的IP地址为224.0.0.5的数据包;LSDBD、LSU发送的单播地址(在路由更新的时候,如果说路由IP地址为224.0.0.6的,仅仅只有DR和BDR能够接收目的IP地址为224.0.0.6的数据包,然后进行处理。如果我DR和BDR想给普通DRother发送一些路由同步,当DRother查看发现路由IP地址为224.0.0.5,肯定是DR和BDR发的,然后处理)

4,点对多点

通配符掩码:

4个255减去子网掩码得到反掩码
network192.168.1.1 0.0.0.0
这条代码意思是这条接口只有192.168.1.1被宣告