什么是ospfospf(open shortest path first)开放最短路径优先,由ietf开发的基于链路状态的自治系统内部路由协议(igp)采用dijkstra的最短路径优先算法来计算和选择路由。
该协议关注网络中链路或者接口的状态、带宽、利用率、延时等。使用spf算法计算和选择路由,ospf 将协议包直接封装在 ip 包中,协议号 89。并且ospf以组播形式发送协议报文,减少链路带宽资源浪费。
ospf的工作流程概述
工作流程主要有四个阶段:
寻找邻居、建立邻接关系、链路状态信息传递、计算路由
寻找邻居
在网络中寻找可能与自己交换链路状态信息的周边路由器,可以交换链路状态信息的路由器互为邻居(neighbor)
建立邻接关系
邻接关系(adjacency)可以抽象的想象成一条虚拟的链路,用于邻居路由器之间传递链路状态信息,且只有建立了邻接关系才能传递
链路状态信息传递
ospf路由器将建立描述网络链路状态的lsa(link state advertisement - 链路状态公告),建立邻接关系的ospf路由器之间将交互lsa,最终形成包含整个网络完整链路状态信息的lsdb(link state database)链路状态数据库
计算路由
获取完整的lsdb过后,ospf区域内的每个路由器将会对着区域的网络结构有相同的认识,如何根据lsdb的信息,运用spf算法计算出路由,且避环路的产生。
如何建立邻居关系
ospf进程启动后,以224.0.0.5进行组播发送hello包,用以寻找邻居, hello包里面包含了:
始发路由器的router-id始发路由器接口的区域id(area id)始发路由器接口的子网掩码选定的dr路由器路由器的优先级等信息其中建立邻居关系的前提是:双方接口up``双方接口ip地址在同一网段``双方接口在同一区域一台路由器可以有很多邻居,也可以同时成为几台或者其他的路由器邻居,所有的信息都会存在邻居表内。 通过互收hello包,将状态转换为init状态,之后两边hello包内协商某些参数后,才能确定为邻居,状态修改为2-way当双方链路状态信息交互成功后,邻居状态修改为full,就表明邻居之间链路状态信息已经同步
init:初始化[收到了对方的hello报文,但hello报文中的邻居字段没有本机的router-id]2-way:邻居关系[双方互相发现,收到了对方的hello报文,并且报文中包含了乙方路由的router-id,并且确认了dr/bdr的角色关系]br与bdr选举
在未选举br与bdr的状态下,链路中的邻接关系将变得非常巨大,消耗巨大的网络资源,可以由上图公式可算得网络内邻接关系的数量,为了解决这个问题,在ospf引入了dr与bdr的概念。
本意是在网络中选举一台dr(designated router)指定路由器负责描述用lsa描述该网络类型以及网络内其他路由器,同时,他们也负责链路状态信息交互过程。 同样在选举dr的同时也在选举bdr(backup designated riyter)指定备份路由器简单的说就是dr的备份,dr挂了就由他顶上,提升了可靠性
选举规则
首先优先级数字大的优先选择,默认优先级都是1
再接着是router-id大的优先
router-id
用来表述路由器的身份,产生的方法,有两种手动配置一个可存在/不可存在的ipv4的地址格式作为router-id,自动选举在所有环回口中选举ip地址最大的作为route-id,在所有物理接口中选举ip地址最大的作为router-id,建议是用手动方式配置一个环回口的ip地址作为router-id
链路状态信息传递
通过在路由器之间发送lsa(link state advertisement)链路状态公告来交换链路状态信息,通过获取对方lsa,来同步乙方ospf区域内的链路状态信息。
为避免网络资源浪费,ospf 路由器采取路由增量更新的机制发布 lsa,即只发布邻居缺失的链路状态给邻居
路由计算
路由计算
首先评估一台路由器到另一台路由器所需的开销(cost)同步区域内的所有路由器的lsdb使用spf算法计算出路由数据库同步的工作流程向邻接路由器发送dd报文,通告本地lsdb中所有lsa的摘要信息收到dd后,与本地lsdb对比,向对方发送lsr报文,请求发送本机所需的lsa的完整信息收到lsr后,把对方所需的lsa的完整信息打包为一条lsu报文,发送至对方收到lsu后,向对方回复lsack报文,进行确认ospf三张表路由表
记录了由spf算法计算过后的路由
邻居表
记录邻居关系和状态
拓扑表
链路状态数据库
ospf报文类型hello报文 :
用于发现和建立邻居关系,维护邻居状态
dd报文 :
用于描述本地lsdb中所有的lsa摘要
lsr报文 :
用于链路状态请求,自身所要更新的链路状态详细信息
lsu报文 :
用于链路状态更新
lsack报文 :
用于链路状态确认报文
ospf多区域概念
分区域管理是为了环节单区域管理中,节点压力过大的问题,将一个大区域划分为多个小区域(area)来管理,划分之后的系统内通信将划为三种:区域内通信、区域间通信、区域外部通信
区域内通信
—在同一个区域内的路由器之间的通信 路由角色可以叫ir,区域内部路由器 用于内部通信,所有接口都在同一个区域内
区域间通信
不同区域的路由器之间的通信 路由器角色可以叫abr,区域间路由器 用于区域之间通信
区域内部通信
ospf 域内路由器与另一个自治系统内的路由器之间的通信 路由器角色可以叫asbr,自治系统边界路由器 用于连接外部自治系统的路由器
ospf区域类型骨干区域 :
每个ospf网络中只能有一个骨干区域,一般都是area 0,骨干区域主要用于连接其他非骨干区域,且每个非骨干区域必须要与骨干区域相连接
非骨干区域 :
所有的非骨干区域必须和骨干区域相连接
ospf的开销计算参考带宽:
计算开销的基准带宽值默认参考带宽为100m建议把网络中最高的链路带宽设置为参考带宽。参考带宽仅本地有效计算方法:
链路带宽大于等于参考带宽 cost = 1链路带宽小于参考带宽cost = 参考带宽/链路带宽mbospf的优点ospf 区域内的路由器对整个网络的拓扑结构有相同的认识,在此基础上计算的路由不可能产生环路当网络结构变更时,所有路由器能迅速获得变更后的网络拓扑结构,网络收敛速度快由于引入了router id的概念,ospf区域内的每台路由器的行为都能很好地被跟踪使用 spf 算法计算路由,路由选择与网络能力直接挂钩,选路更合理ospf 采用多种手段保证信息传递的可靠性、准确性,确保每台路由器网络信息同步,同时,避免了不必要的网络资源浪费ospf基础配置[系统]ospf [id] router-id [router-id] #设置router-id router-id [router-id] #在系统视图下设置router-id 会被应用到所有的协议[全局],其中在协议内配置的router-id高[进程]area [id] #进入区域id,区域的编号格式也是ipv4地址格式[区域]network [network] [反网掩码]#宣告网络,反网掩码也叫掩码通配符[进程]silent-interface [interface] #静默接口ospf network-type [broadcast | nbma | p2mp unicast | p2p | peer-address-check ] #手动修改网络类型[进程]ospf-router-advertise [always | permit-calculate-other | cost [cost] | route-policy [name] | type [type] | summary cost [cost]] #配置ospf引入缺省路由,always,如果本机没有配置默认路由,使用此参数可以参数一个描述默认路由的一个lsa发布出去,cost为改默认路由的度量值,type为lsa的类型。[接口]ospf timer hello [seconds] #修改hello time 计时器时间[接口]ospf time dead [seconds] #修改邻居失效时间[接口]ospf dr-priority [priority] #修改启用ospf的接口的路由器优先级[接口]ospf cost [cost] #修改开销值bandwitdth-reference [value] #修改ospf的参考带宽display ospf interface #显示ospf接口信息display ospf peer #显示邻居关系full为邻接关系,2-way为邻居关系display ospf lsdb #查看lsdb数据库display ospf routing #查看ospf路由display ospf lsdb #插件本地lsdb汇总情况display ospf verbose #查看ospf进程详细信息display ospf statistics #显示ospf统计信息display ospf interface #查看ospf接口信息display ospf routing #查看ospf路由信息dispaly ospf statistics error #显示ospf错误信息[排错常用]
OPPO Reno 2真机曝光后置四颗大小不一的摄像头不如Reno 1好看
iQ新设备可以让你用智能手机进行超声波检查
可以戴在皮肤上的生物传感器有望带来一些令人兴奋的可能性
什么是极紫外光刻 极紫外光刻优势介绍
智慧屏将如何改变智能家居的格局
什么是OSPF?OSPF的工作流程概述
平均电流控制和峰值电流控制的区别
ajax实例调用方法
新一代存储芯片将打破现有模式?它们会成为主导者吗?
罗杰斯公司推出新一代层压板材料
终端侧人工智能引领未来带来无限可能
74HC453/74HCT453各引脚功能及管脚电压
可以给iPhone/iPad充电的摇椅:iRock
向日葵为企业提供智能通信产品和垂直应用一站式解决方案
丰田为美市场汽车内置短距离通信芯片
示波器TDS3012CLNA口无法通信维修方法
基于MEMS加速度计的振动监控解决方案
对于如今的智能手机还有必要配置线性马达吗
区块链资产抵押借贷平台开发比特币借贷系统搭建
亿纬锂能助力402客位“蓝海豚23”号顺利首航