两个相邻的Router通过Hello报文建立邻区关系, 然后通过交换链路状态信息建立邻接关系,之后根据SPF算法计算出目的路由的最短路径加入路由表中。
过程中使用了5种报文,3个阶段,4张表和7种状态。
5种报文:
3个阶段:
4张表:
[1] 查看OSPF命令:
show ip ospf neighbor # 查看邻居表
show ip ospf database # 查看LSDB数据库
show ip ospf route # 查看路由表
7种状态:
[2] DR和 BDR的选举规则:
*不参与选举的Router称为DRother, 成员*
1. 根据路由器优先级确定,默认为1(范围0~255,0不参与选举),优先级越大越优先
2. 根据Router-ID确定,一般手动命令“Router-ID”
3. 如果没有Router-ID,选举环回口地址最大的
4. 如果没有环回口,选举接口地址最大的
- 适用于中大型网络
- 组播触发更新: 最大生存1小时,30 分钟更新一次。
- 收敛速度快: 如果网络结构改变,将会以最快速度发送更新。采用周期短的hello维护邻居关系
- 开销作为度量值: 开销跟带宽有关, 带宽越大开销越小,带宽越小开销越大
- 避免环路:最短路径算法避免环路
所有非骨干区域要连接骨干区域 area 0;
非骨干区域无法连接area 0, 采用虚链路技术解决;
建议多出口网络,避免单一故障。
进行单个数据包调试: Debug ip osfp packet
LSA 1 Router 最准确的LSA
每个路由器都会产生, 在本区域内传播
承载本地Router所有直连网段的信息,前缀,掩码,OSPF网络类型
查看类型1的LSA:
show ip ospf database router adv-router ROUTER-ID
查看类型2的LSA:
show ip ospf database network adv-router ROUTER-ID
域间路由 O IA
默认LSA3是不汇总的,有多少路由,本区域就宣告多少给其他区域
查看类型3的LSA:
show ip ospf database summary adv-router ROUTER-ID
有几个ASBR,就有几个LSA4// 有4 就有5
查看类型4的LSA:
show ip ospf database asbr-summary adv-router ROUTER-ID
默认不汇总,几个外部网络,就几条LSA5
查看类型5的LSA:
show ip ospf database external adv-router ROUTER-ID
必须是非骨干区域,并且具有ASBR出口的区域
路由标志:O N1/N2
查看类型7的LSA:
show ip ospf database nssa-external adv-router ROUTER-ID
路由标志及说明:
O
: 域内路由,由LSA 1和LSA 2产生并通告
O IA
: 域间路由,由LSA 3通告
O E1/E2
[3] : 外部路由,由LSA 5 通告或者来自AS外的网络
[3]外部路由O E1/E2的区别:
O E1是要计算域内路径开销的
O E2是不计算域内路径开销,默认为O E2(重分布时可以手动指定为 E1)
两个都出现的时候,优先选择O E1,路由开销会更加精确。
过载保护:
如果其他Rrouter的LSA条目众多会很消耗路由器资源,此时可以通过限制LSA数目来达到保护的目的
R1(config-router) max-lsa 12000 --- ? 可以查看有哪些限制条件
定义一个百分比值,当收到LSA的条数超过我指定的值,进行相应的操作,用于限定路由器所能收到的LSA条数
maximum-number 所允许收到LSA的最大条数
[threshold-percentage] 所允许收到LSA的百分比,maximum-number的百分比,默认75%
[warning-only] 只发送警告,不做其它动作,默认是关闭的
[ignore-time] 超过最大值后进入ignore状态的时间,默认5分钟,5分钟后恢复
[ignore-count] 超过多少次后,一直进入ignore状态
[reset-time] 一直进入ignore状态后多长时间重置所有邻居
被动接口
通过设置被动接口来禁用路由器更新和建立邻居关系。多用于末节区域
命令:
passive- interface default ** 默认全部接口为被动接口
passive-interface s0/1 **设置s0/1为被动接口,不收也不发hello包