OSPF:开放式最短路径优先协议
V1/V2/V3 v3为IPV6使用
无类别链路状态路由协议:拓扑交流
OSPF为什么需要基于LSA进行收敛?
为了产生一个无环的网络,为了选出一个无环的路径
基于拓扑进行收敛,更新量很大,无法适应中、大型网络环境。故OSPF协议需要结构化的部署
。
结构化部署:1. 区域划分 2.地址规划
触发更新、30min周期更新;组播更新地址224.0.0.5 224.0.0.6
一、ospf的数据包类型
Hello 发现、建立、周期保活邻居关系
DBD 数据库描述包
LSR 链路状态请求
LSU 链路状态更新 携带各种LSA
LSack 链路状态确认包
LSA—链路状态通告—具体的一条一条拓扑或路由信息
LSDB-链路状态数据库 –本地所有LSA的集合
二、 OSPF的状态机 两台直连的OSPF邻居路由器间,双方不同阶段的关系,为不同的状态
Down 一旦本地发出hello包,进入下一状态
Init 初始化 R1收到R2的hello包中存在R1的router—id 进入下一状态
2-way 双向通讯 邻居关系建立的标志
条件匹配:
Exstart 预启动 使用没有数据库信息的DBD包进行主从关系选举,RID数值大为主,优先进入下一状态
Exchange 准交换 使用携带数据库目录信息的DBD包来进行共享,需要ack确认
Loading 加载 查看完对端邻居的DBD包后,使用LSR/LSU/LSack来获取未知的LSA信息
FULL 转发 邻接(毗邻)关系建立的标志
三、OSPF 工作过程
路由器上ospf协议的启动配置完成后,本地收发hello包;在接收到hello包中存在本地的RID,建立邻居关系,生成邻居表;
邻居关系建立后,基于条件进行抉择——1.条件匹配失败,维持邻居关系,仅hello包周期保活即可
2.条件匹配成功,可以建立邻接关系;使用DBD包来共享本地的LSDB目录,之后本地基于其他邻接共享过来的DBD,判断本地未知的LSA信息有哪些
再使用LSR向邻接进行查询,邻接返回LSU包来传递具体的LSA信息,同时本地需要ACK确认接收;
当本地收到所有的LSA后,本地LSDB数据库建立完成;-数据库表
在本地基于LSDB生成有向图->树形结构图->加载到路由表中;收敛完成,hello包继续周期保活
每30min周期进行一次DBD包的对比。
四、OSPF的基础配置
1.配置IP和环回地址
测试直连连通性
2.启动ospf
[r1]ospf 1 router-id 1.1.1.1 启动时需要定义进程号,仅具有本地意义;同时建议定制route-id;RID必须全网唯一,手工配置 或者自动分配,自动分配,先取环回接口ip地址最大数值,没有环回接口,取物理接口ip地址最大数值
宣告:1.激活 2.接口信息可以传递 3.区域划分
[r1-ospf-1]area 0
[r1-ospf-1-area-0.0.0.0]network 192.168.1.0 0.0.0.255
或者
[r1-ospf-1-area-0.0.0.0]network 192.168.1.65 0.0.0.0
[r1-ospf-1-area-0.0.0.0]network 192.168.1.97 0.0.0.0
OSPF在进行宣告时,必须携带反掩码
OSPF的区域划分规则
1.星型结构 区域0为骨干区域,大于0为非骨干区域,非骨干区域必须
2.ABR无语边界路由器
验证:
启动配置完成后,邻居间收发hello包,建立邻居关系,生成邻居表
[r2]dis ospf peer
[r1]dis ospf peer brief 邻居摘要
Full邻接
邻居关系建立后,进行条件匹配,若成功可以建立邻接关系;
邻接关系间将进行lsa的洪泛,LSDB同步—学习未知的LSA信息
生成数据库表;
[r2]dis ospf lsdb查看数据库表
显示的只是目录,打开一个就会发现很大
[r2]dis ospf lsdb router 2.2.2.2 打开目录
LSDB同步完成后->生成有向图->树型结构->路由表;
[r1]dis ip routing-table查看路由表
在华为设备中,OSPF协议其优先级为10
Ospf的度量=cost值 =开销值 =参考带宽/接口带宽
当接口带宽大于参考带宽时,cost值为1;可能导致选路不佳,建议修改参考带宽
切记全网设备参考带宽必须一致
[r1]ospf 1
[r1-ospf-1]bandwidth-reference ?
INTEGER<1-2147483648> The reference bandwidth (Mbits/s)
[r1-ospf-1]bandwidth-reference 1000
Ospf成为邻接的条件
Ospf的扩展配置
五、结构突变:
1.新增网段 直连新增网段的设备,直接使用LSU将新增网段的LSA信息发送给本地所有的邻接关系;对端需要确认。
2.断开网段 直连断开网段的设备,直接使用LSU将新增网段的LSA信息发送给本地所有的邻接关系;对端需要确认。
3.无法沟通 -dead time 到时间时,断开邻居关系,删除从该邻接学习到的信息;
默认 hello time 为10s,dead time为40s
六、OSPF成为邻接的条件
关注网络类型 点到点 MA
点到点—一个网段内只能存在两个节点
MA—多路访问 在一个网段内、节点的数量不做限制
在点到点网络中,邻居关系必然直接建立为邻接关系;
MA网络中—为避免大量的重复的更新,将进行DR/BDR选举,所有非DR/BDR之间为邻居关系
选举规则:先比较接口优先级 0-255 默认为1;数值越大越优 数值为0,表示不参选
优先级相同 比较参选设备的RID,数值大优
[r1]int g0/0/0 进入参选接口,修改优先级
[r1-GigabitEthernet0/0/0]ospf dr-priority 2
切记:选举为非抢占行为;修改参数后必须重启该网段所有设备的ospf进程
七、ospf扩展配置
1.认证 在直连邻居的接口上配置
[r1]int g0/0/0
[r1-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher cisco123
邻居间认证模式,编号和密钥必须完全一致
给R2也作认证
2.汇总 区域汇总 由于ospf协议传递拓扑信息,故不能直接进行接口汇总,只能在区域间传递路由条目时,进行汇总配置
[r2]ospf 1
[r2-ospf-1]area 0
[r2-ospf-1-area 0.0.0.0]abr-summary 1.1.0.0 255.255.252.0
在ABR上,将区域的路由汇总到其他区域
3.加快收敛 hello time 10s dead time 40s
修改本端接口的hellotime,本端的 dead time自动4倍关系匹配,直连邻居间hello和dead time必须完全一致,否则无法建立邻居关系
[r1]int g0/0/0
[r1-GigabitEthernet0/0/0]ospf timer hello 5
邻居关系断
[r2]int g0/0/0
[r2-GigabitEthernet0/0/0]ospf timer hello 5
两边认证 关系再次建立
4.缺省路由;边界路由器上配置后,内部其他ospf路由生成缺省路由指向边界
[r3]ospf 1
[r3-ospf-1]default-route-advertise always