OSPF总结
OSPF–开放式最短路径优先协议
1.选路–应为ospf是链路状态协议,收集拓扑信息之后将图形结构通过SPF算法
转化为树形结构,计算出的路径不会有环路,并且以带宽作为开销的评判
标准,所以OSPF选路优于rip
2.收敛–因为OSPF的计数器短与rip,所以收敛快
3.占用资源–从单一数据包角度来说,因为rip传递的是路由信息,所以资源占用不大
而ospf传递拓扑信息,从单个数据包角度说,大于rip.但是ospf
没有像rip一样高频率周期更新,并且设计者设计了很多针堆资源占用的
优化机制,从整体角度来看,ospf资源占用略小于rip
4.版本
ospfv1(实验室阶段夭折) ospfv2 --ipv4
ospfv3 --ipv6
ripv2和ospfv2
相同点:
1.ospfv2与ripv2一样,都是无类别的路由协议 为什么拓扑信息也支持vlsm/cidr
2.ospfv2与ripv2一样,都是使用组播去发送信息–ospf 224.0.0.5 224.0.0.6
3.ospfv2与ripv2一样,都支持等开销负载均衡
不同点:
rip协议只能应用在中小型网络中,ospf可以应用于中大型网络中
5.ospf为了适应中大型网络结构,需要进行结构化部署–区域划分
如果只存在一个区域,这样的网络称为单区域ospf网络
如果存在多个区域,这样的网络称为多区域ospf网络
区域划分的目的:地图太大,划成小块
区域间路由信息(路由信息相对来说小一些),区域内部传递
拓扑信息--链路状态性协议的距离矢量特性
ABR设备:区域边界设备--一个接口属于一个区域
区域划分的要求:
1.区域间必须存在ABR设备--区域间可以存在多个ABR设备,一个ABR设备可以
属于多个区域
2.区域划分必须按照星型拓扑结构划分--中间为骨干区域,其余非区域必须
围绕骨干区域划分
6.ospf的数据包类型
hello报文–周期性发现建立邻居关系
hello时间–默认10s
dead时间–4倍hello时间–40s
router id–RID–区分标识网络中不同的路由器
1.全网唯一-整个网络中(不是单区域)
2.格式统一-采用ip地址的格式
获取:
1.手工配置-满足以上两条件
2.自动获取-首先,如果设备配置有环回接,全则选择最大的ip做自己的
rid,没有环回接口,则在物理接口中选择最大的ip地址
作为自己的rid
DBD报文–数据库描述(数据库的目录)报文,发出去的是目录
–链路状态数据库-存的LSA(链路状态通告)
LSR报文–链路状态请求报文
基于DBD包(目录)请求未知的LSA信息(根据目录找自己没有的数据)
LSU报文–链路状态更新报文
真正携带LSA信息的报文
LSACK报文–链路状态确认报文
ospf存在每30分钟一次的周期更新
7.ospf的状态机(7种)
Down--发送完hello后,进入下一状态
Init--初始化状态--收到hello中存在自己本地rid,则进入下一状态
2-way 标志着邻居状态的建立,互相发现
条件匹配:只有匹配成功的设备之间才可以进入到下一个状态
匹配失败则停留在邻居状态,仅用hello包进行周期保活
预启动状态(Ex-start):通过发送没有携带数据的DBD包进行主从关系选举,通过
比较route id选举,以RID大的为主,优先获取lsa信息
Exchange阶段:通过携带数据的DBD包来交换lsdb的摘要信息
Loading阶段:通过使用LSR,LSU,LSACK开获取未知的LSA完整信息
互相LSR请求未知的LSA信息,对方LSU回复,本机再LSACK确认
Full状态阶段:标志邻接关系的确立,双方同步
8.ospf的工作过程
1.启动ospf配置,ospf协议向本地所有运行协议的接口以组播的形式(224.0.0.5)
发送hello包,hello包中携带自己本地的rid,以及本地已知的邻居的rid
2.之后将收集到的邻居关系记录在邻居表中
3.邻居关系建立完成后进行条件匹配,匹配失败则停留在邻居状态,仅用hello包
进行周期保活,有匹配成功的设备之间才可以开始建立邻接关系
4.首先使用未携带数据的DBD包进行主从关系选举,之后使用携带数据的DBD包
共享目录信息
5.之后基于DBD,通过使用LSR,LSU,LSACK开获取未知的LSA完整信息
6.将所有的LSA信息保存到本地链路状态数据库(LSDB)中(数据库表)
7.最后基于LSDB数据库,使用SPF算法计算,得到未知网段的路由信息将其
加载到路由表中
8.收敛完成后,周期性的发送hello进行保活,每30分钟一次周期更新
三张表:邻居表\数据库表\路由表
结构突变:
1.突然新增一个网段
2.突然断开一个网段
3.无法通信--dead time
9.ospf的基本配置
1.启动ospf进程
ospf 1 router-id 1.1.1.1
2.创建区域
area 0
area 1
边界路由器:area 0
network 12.0.0.2 0.0.0.255 宣告该接口到区域0
network 2.2.2.2 0.0.0.0 宣告该接口到区域0
area 1
network 23.0.0.1 0.0.0.0 表示精准宣告该IP
3.宣告
(1)激活接口–只有激活的接口才可以收发rip的数据包
(2)发布路由–只有激活的接口所对应的直连网段的路由信息才能发布出去
network 1.1.1.0 0.0.0.255--反掩码
反掩码:
由连续的0和1组成,0代表不可变位,1代表可变位
掩码:24 255.255.255.0
11111111.11111111.11111111.00000000
反掩码: 0.0.0.255
00000000.00000000.00000000.11111111
查看邻居表
display ospf peer
display ospf peer brife
查看数据库表
display ospflsdb
display ospflsdb router 2.2.2.2 查看其中一条LSA信息
查看路由表
display ip routing-table
display ip routing-table protocol ospf 过滤
1.ospf优先级在华为中默认10
cost值–参考带宽/真实带宽 华为默认参考带宽100Mbps,相加
(1) 如果cost<1,取1
如果cost>1,为小数,只取整数部分(取小)
(2) 修改默认带宽
ospf 1 router 1.1.1.1
bandwidth-reference 修改参考带宽
100Mb太小了
2.结构突变:触发更新
1.突然新增一个网段
相关router直接更新LSU报文
2.突然断开一个网段
相关router直接更新LSU报文
3.无法通信–dead time
3.条件匹配
DR–指定路由器接口:在一个广播域中,DR设备和其他的设备建立邻接关系,多监听
224.0.0.6(该广播域发送更新信息)
BDR–备份指定路由器接口:在一个广播域中,BDR设备和其他的设备建立邻接关系
如果是邻居关系则DR dwon,有可能选举的不是他,导致
没有备份
DRother--剩余路由器
条件匹配:在一个广播域中,若所有设备之见均建立邻接关系,将会出现大量的
重复更新,所以需要进行DR与BDR的选举,只有DR和BDR与其他设备
建立邻接,其余所有设备DRother,仅维持邻居关系
DR和BDR的选举:
1.先比较优先级,选择优先级大的设备作为DR,选择完DR后,剩下设备
继续比较,选择优先级大的作为BDR(默认优先级都是1)
int g0/0/0
ospf dr-priority 10 修改优先级
优先级取0代表不参与选举
2.如果优先级相同,则比较rid,rid大的设备所对应的接口为DR,选择完
DR后剩余设备继续比较,rid大的设备为BDR
3.DR与BDR的选举是非抢占模式,既一但选举成功则不会因为后来的加入的
设备而重新选举,非抢占模式的时间为死亡时间
OSPF拓展配置:
1.手工认证–接口
int g0/0/0
ospf authentication-mode md5(/simple) 1(key id)
cipher(本地加密) 123456
2.手工汇总–在ABR上需要汇总的区域里(区域间传递路由信息)
ospf 1 router-id 2.2.2.2
area 0(汇总区域0)
abr-summary 192.168.0.0 255.255.254.0
3.沉默接口–进程中
ospf 1 router-id 2.2.2.2
area 0
silent-interface g0/0/0
4.加速收敛–接口
int g0/0/0
ospf timer hello 5 修改hello时间
修改hello时间,死亡时间会自动修改(4倍),修改死亡时间,hello时间
不会自动修改
注意:邻居双方hello时间,死亡时间相同,有一个不相同邻居关系无法建立
5.缺省路由
在边界路由器上
ospf 1 router-id 3.3.3.3
default-route-adverise
(1)静态 ip route-static 0.0.0.0 0 NULL 0
(2)强制下发缺省路由
ospf 1 router-id 3.3.3.3
default-route-adverise always