目录
1.动态路由协议应该具备的特性(动态路由协议之间的比较规则)
OSPF---开放式最短路径优先协议
1.动态路由协议应该具备的特性(动态路由协议之间的比较规则)
(1)、选路
一般选择最佳路径,不同协议之间最佳路径的选路依据不同
RIP---选路依据 跳数(cost)
OSPF---选路依据 带宽---更加合理一些
SPF算法计算得出的路由本身的无环的

如图,若AR1想传输数据给AR5,使用RIP协议,会选择跳数小的路线,即上方路线,但下路如果是1000线路,上路时100M线路,此时明显下路更快一些,所以带宽作为选路依据比较合理
(2)、收敛速度
收敛---设备获取整个网络未知网段信息,加载路由表的过程(包含网络结构变化之后的路由刷新)
OSPF也存在计时器:
hello时间 10S ,Dade time--40S
首次收敛考虑情况多,收敛效率都差不多
RIP更新机制为每 30 秒广播一次路由表,收敛速度较慢。
OSPF通过SPF(最短路径优先)算法计算最短路径,收敛速度快。
(3)、资源占用
资源占用越小越好
RIP协议周期更新导致网络中会存在大量的RIP协议报文抢占带宽,所以资源占用大(16周期更新,防止抢占带宽)
OSPF传递拓扑信息资源,其工作方式(LS)导致资源占用也大,但OSPF在后续发展过程中研发了很多优化措施
OSPF工作方式
1.收集拓扑信息
2.转换为有向图
3.运行SPF-最短路径优先算法---生成最短路径树
4.计算生成路由信息
OSPF特性(与RIP对比)
相同点:
1.首先都有三个版本 OSPF-- V1(没有问世) V2---IPV4 V3---IPV6 RIP ---V1 V2(使用更多) NG
2.OSPFV2--和RIPV2均为无类别路由协议
协议在传递路由信息时携带子网掩码
3.OSPF V2和RIP V2均使用组播传递路由信息---224.0.0.5 224.0.0.6
4.OSPF V2 和RIP V2 都支持负载均衡
5.防环---利用空接口防环
OSPF 结构化部署(区域划分)--使用V2
原因:
如果不进行区域划分,会使资源占用过大,进行区域划分可以将资源占用进行优化
概念:
OSPF如果不划分区域,那么这样网络称为单区域OSPF网络
如果划分了区域(至少划分两个区域),那么这样的网络称为多区域OSPF网络
区分方法:
为了区分和标识不同区域的路由,设计了区域ID,本质是32位二进制 0-0.0.0.0 1-0.0.0.1
骨干区域:
又称中间区域,其区域ID必须为0
传递方式(链路状态协议的距离矢量特征是什么):
OSPF规定在区域内部通过传递拓扑信息计算路由
OSPF协议在区域之间直接传递路由信息
区域边界路由器(ABR):
必须同时属于两个区域,作用传递区域之间路由
区域划分规则(为了规范区域划分):
1、必须存在ABR设备
2、必须按照星型拓扑结构进行规划
有一个中心区域(骨干区域:区域编号必须是0)
实例:

满足区域划分要求,当一台ABR设备损坏时,另一台设备仍能运行。

满足区域划分要求

不满足区域划分要求,未与0区域相连的ABR路由器属于非法路由,无法传递信息给其它区域,需要使用VPN等方法使其与0区域相关联
OSPF的工作过程:
R-ID--router ID:
区分和标识不同的运行OSPF协议设备的身份
要求:1.唯一性 2.格式统一
OSPF规定R-ID的格式和IP地址格式一致,本质都是32位二进制
生成方式:1、自动生成--设备如果没有手工配置RID,那么设备会选择自身环回 接口IP地址数值最大的作为自身的RID,如果没有环回,那么选择 自身物理接口IP地址数值最大的最为自身RID。
2.手工配置
数据包(网络层协议,没有传输层):
hello包:OSPF协议用来周期性的发现建立和保活邻居关系
hello包为了实现保活,设计了hello时间和dead时间,默认情况下,OSPFhello时间一般是10S,死亡时间一般是4倍的 hello时间,在一些特殊网络环境下,可能会出现hello时间为30S的情况。
DBD包:链路状态数据库描述包---减少资源占用(避免重复更新)
链路状态数据库:LSDB数据库--存储自身收集到的所有链路状态信息(拓扑信息)
OSPF在传递拓扑信息之前,需要先传递本地链路状态数据库摘要 信息,邻居设备收到该摘要信息之后,需要和本地数据库进行比 对,然后只需要请求自身没有的拓扑信息即可,为了避免重复更新
LSR包:链路状态请求包,用来请求比对数据库之后,本地没有的这 部分LSA信息
LSU包:链路状态更新包,用来向邻居发送对端请求的链路状态信 息(拓扑信息)
LSACK包:用来做链路状态信息的确认包
7种状态机

当设备收到对端发送的hello包中携带了自身的RID,那么该设备才 能进行two-way(双向通讯状态)---为了保证hello报文的可靠传输 Two-way状态,标志参数比对成功,邻居关系建立的标志
条件匹配:在邻居关系建立完成之后,如果条件匹配成功,那么进入后续的 状态,如果条件匹配失败则停留在邻居状态---仅需要利用hello包周期保活

在exstart--预启动状态下,需要进行主从关系选举--选举依据RID的大小,RID大的为主。
为了尽量避免链路状态信息同时更新。
并且使用没有携带数据库摘要信息的DBD包,进行主从关系选举。

邻接状态:FULL标志着邻接关系的建立,进行报文传递
工作过程总结:
1.建立邻居:启动配置之后,ospf将向本地所有的运行了ospf协议的端口发送hell(224.0.0.5),hello包中携带自己的RID用来区分不同路由器 的身份(不携带路由信息),同时携带自己已知的邻居RID,之后会将这些RID存储在自己的邻居表中。
2.条件匹配:邻居表建立完成之后,会进行条件匹配,如匹配成功则开始进入下一个状态(开始建立邻接关系),如果匹配失败则会停留在邻居关系。之后仅hello包进行保活。
3.如果匹配成功,则开始建立邻接关系,之后会使用未携带数据DBD包(并没有携带LSDB的摘要信息)进行主从关系的选举。主路由器会优先进入下 一个状态,会优先发送摘要进行比对,比对之后,会请求自己本地没有的 lsa信息。对端会发送真正携带lsa信息的LSU包,会利用LSACK进行确认。 本地的链路状态数据库建立完成,生成本地链路数据库表。
4.完成收敛----基于本地的链路状态数据库收集的lsa,根据自己的spf算法计算得出最短路径树。生成路由表
5.收敛完成后,会使用hello包每10s发送一次,用来保活邻居(邻接)关系。ospf会每30min进行一次周期更新。
基础配置
反掩码:掩码的逻辑相反,子网掩码为1的部分代表网络位,子网掩码为0的部分代表主机位,反掩码则是反掩码为0的部分代表网络位,反掩码为1的部分代表主机位。 例如:192.168.1.0 /24--掩码为255.255.255.0反掩码则为 0.0.0.255 也可以仅宣告该接口本身的IP地址--精准宣告反掩码为0.0.0.0(可以避免误宣告)
查看邻居信息

MTU默认看不到,数值显示为零,需在接口输入OSPF mtu-enable,开启OSPF mtu检测功能
查看邻居摘要信息

查看数据库

[r2]display ospf lsdb
展开某一条信息:
![]()
查看路由表

查看路由表时,发现部分网段显示为掩码32位此时能正常使用,可通过下属指令
还原环回接口真实掩码
[r2-LoopBack0]ospf network-type broadcast--还原环回接口真实掩码
OSPF--针对环回接口视为是一种特殊网络环境,认为环回接口只能配置一个IP地址,所以在生成路由时,会直接按照掩码全1来生成路由信息。没有主机位,就意味着该地址不可变。 Pre(优先级,此为华为体系的优先级,其他体系优先级有所不同)--OSPF 10 静态 60 RIP 100
COST=ospf设计了开销值计算公式=参考带宽/真实带宽
参考带宽默认是100M/bps,OSPF开销值没有小数,如果计算得出的值小于1,那么直接取整按 1来算,如果如果计算得出的值大于1,那么直接舍弃小数部分。
现在环境下真实带宽迅速发展,参考带宽默认值已经过时,毫无作用,需自己需改默认带宽(所有路由器都要修改)
[r3-ospf-1]bandwidth-reference 10000--修改参考带宽

932

被折叠的 条评论
为什么被折叠?



