目录
OSPF(链路状态路由协议)
动态路由评判标准:
1.选路佳
2.收敛快
3.资源占用(越小越好)
相同于不同
RIP 和OSPF相同点:
RIP 和OSPF不同点:
结构部署:区域规划
OSPF区域划分的规则
OSPF数据包(五种)
OSPF状态机
状态一:
状态二:
状态三
OSPF的工作状态
OSPF的配置
1.启动OSPF进程,配置RID
2.创建区域
3。宣告
扩展:
条件匹配
OSPF的拓展命令:
1.认证
接口认证:
区域认证:
2.手工汇总
3.沉默接口:
4.加快收敛
5.缺省路由
OSPF(链路状态路由协议)
OSPF:开放式的最短路径有先算法——链路状态路由协议
工作流程:收集LSA(拓扑信息)-->形成有像图-->最短路径树(五环结构)-->spf算法得出路径
RIP某些方面不如OSPF
动态路由评判标准:
1.选路佳
RIP用跳数来选路 跳数:选路依据不够合理,且选择路径可能成环。
OSPF用带宽来选路
2.收敛快
OSPF内也存在计时器,并且计时器的周期小于RIP
3.资源占用(越小越好)
单个数据包:OSPF数据包包含的信息很多导致数据包很大
整体:很大
OSPF采用很多办法来解决资源占用问题
相同于不同
RIP 和OSPF相同点:
版本:
RIP V1 V2 ——ipv4
NG
OSPF V1 V2 ——ipv4
V3——ipv6
主要学习OSPF V3
1.RIP和OSPF都是无类别的动态路由协议,可以进行汇总和子网划分
2.RIPV2和OSPFV2都是使用组播发送数据包
RIP 使用组播地址:224.0.0.9 OSPF使用组播地址:224.0.0.5 224.0.0.6
3.都支持等开销负载均衡
RIP 和OSPF不同点:
RIP只能适用与中小型网络
OSPF适用于中大型网络(80%都是靠OSPF实现的)
结构部署:区域规划
结构部署:区域规划
AS:自治系统
OSPF区域:
链路状态路由协议的距离矢量特征
OSPF区域内传递拓扑信息
OSPF区域之间传递路由
ABR:区域边界路由器(必须同时属于俩个及俩个以上的区域)---接口
OSPF区域划分也得根据实际情况(没有规定大小)
若进行了区域划分:多区域OSPF网络
若没有进行了区域划分:单区域OSPF
OSPF设计了区域ID:(area ID )32位二进制构成(区分和标识不同区域)
例:区域0 :0.0.0.0 区域2: 0.0.0.2
OSPF区域划分的规则
1.必须存在ABR:必须存在至少一个路由器(相互起到备份作用)同时属于两个及俩个以上的区域(且必须有接口和区域0相连)
2.0SPF区域划分必须按照星型结构进行划分
骨干区域:只能位于区域0, area0 =0.0.0.0
OSPF数据包(五种)
Hello包:用来周期性的发现 建立 和 保活 邻居关系
只容纳RID:“具体区分和标识不同的OSPF”路由的身份,32位二进制构成
(具有唯一性,统一性“按照IP地址格式执行“)
Hello时间:默认每10秒发送一次
Dead time 死亡时间:默认等于四倍的Hello时间 40秒
OSPF在某些特殊的网络环境下会出现每30秒发送一次Hello包的情况
设备获取RID方法:
1.手工配置
2.自动生成
若路由器配置了环回地址,那么他会选择环回地址中数值最大的作为自身RID
若路由器没有配置环回地址,那么他会选择接口IP地址中数值最大的作为自身的RID
DBD包:数据库描述包(类似于LSA的目录)
LSBB数据库:链路状态数据库(是用来存储LSA“拓扑信息”)
LSR包:链路状态请求包
在与DBD包(LSA目录)比对后请求我没有的LSA信息
LSU包:链路状态更新包
回复LSR包,真正携带LSA信息的数据包
LSAck包:链路状态确认包
回复R1信息以到达
OSPF状态机
状态一:
Down State状态:还没有启用协议前
Init State的状态:OSPF发现建立邻居的过程
Two Way State状态:双向通讯的状态(标志着邻居关系的建立)(相互分享DIP)
状态二:
条件匹配:只有条件匹配成功的设备,才能进入下一个状态。
若条件匹配失败则停留在邻居关系,并通过Hello包每十秒进行保活。
下图为条件匹配成功:
Exstart State状态:预启动状态 (主从关系的选举)
争夺优先进入下一状态“选举标准看谁的RID大”
Exchange State状态:开始按照IP大小发送summary LSDB包(LSA目录)
DBD包作用还有区别状态
状态三
Loading State状态 :加载状态(华为没有该状态,思科有)将LSA信息存入状态数据库中
Full State状态:完成状态
标志着邻接状态的建立,只有邻接状态才能真正共享LSA信息
OSPF的工作状态
建立邻居关系----启动配置完成后,OSPF将将本地所有运行了OSPF协议的接口以组播224.0.0.5(目标IP) 周期性的发送hello包(10s),hello包中将携带自己本地的RID,邻居接收到对端的RID将会把这些信息存储在邻居表
条件匹配: 如果条件匹配成功则进入下一个状态,如果匹配失败则,停留在邻居关系。需要用hello包进行周期保活
建立邻接关系:进行主从关系的选举,首先采用未携带数据(真正LSA摘要)的DBD包进行选举----对比RID,RID大的作为主设备,后续将由主设备优先共享自己的数据库摘要信息,同时也将由主设备先共享自己的LSA信息。之后使用形成本地链路LSR/LSU/LSACK获取本地未知的LSA信息,完成了本地Isdb的建立,形成本地链路数据库表。
完成收敛:基于自己本地的链路状态数据库,依靠OSPF算法形成有向图---最终计算得出路由----加载到自己本地的路由表中
收敛完成后,将使用hello包周期保活,每30min进行周期更新,LSA进行周期更新,LSA有
OSPF的配置
1.启动OSPF进程,配置RID
[r1]ospf ?
INTEGER<1-65535> ProcessID 配置进程ID
[r1]ospf 1 router-id 1.1.1.1 尽量手工指定
2.创建区域
[r1-ospf-1]area 0
3。宣告
[r1-ospf-1-area-0.0.0.0]network 1.1.1.0 0.0.0.255 范围宣告(相当于宣告了一个网段)
0.0.0.255:(反掩码)
0代表不可变1代表可变
32位二进制构成,连续的0或连续的1 构成,掩码唯一的部分是网络位,相当于不可变
[r1-ospf-1-area-0.0.0.0]network 12.0.0.1 0.0.0.0 精准宣告,相当于只宣告一个IP
扩展:
[r2]display ospf peer 查看邻居表
[r2]display ospf peer brief 查看邻居简表
OSPF开销(Cost带宽)的算法:
参考带宽/真实带宽
参考带宽默认是100M(100兆)
[r3-ospf-1]bandwidth-reference 10000-修改带宽
当网络结构发生变化,OSPF怎么处理
当网络新增、缺失一个网段,网络不可达(等待死亡时间)
OSPF也存在触发更新,并且这个数据包需要被回复
条件匹配
DR:指定路由器(其实指的是接口)
DR和其他广播域内路由器均建立邻间关系
BDR:备份指定路由器
DRother:一个广播域,除了DR和BDR外的其他路由器
想要在一个广播域中发现邻居关系,至少需要四台路由器
会选择广播域中RID最大的为DR,RID次大的为BDR,剩余设备为DRother(选举规则只看RID)
DR 和BDR的选举是非抢占的,最大选举时间是死亡时间(死亡时间内必须选举出来),之后
加入的就沿用之前选举出来的。
Priority:1 DR的优先级数值大的成为DR
[r1-GigabitEthernet0/0/0]ospf dr-priority ?
INTEGER<0-255> Router priority value
干涉DR和BDR的选举,0代表不参选
OSPF的拓展命令:
1.认证
接口认证:
interface GigabitEthernet0/0/0
ospf authentication-mode md5 1 plain 123456
区域认证:
本质依然是接口认证
area 0.0.0.0
authentication-mode md5 1 plain 123456
network 192.168.1.0 0.0.0.255
2.手工汇总
区域汇总:ABR上进行配置
[r4-ospf-1area 0 进入对应的区域
[r4-ospf-1-area-0.0.0.0]abr-summary 172.16.0.0 255.254.0.0 汇总(掩码只能写点分十制)
3.沉默接口:
[r5-ospf-1]silent-interface GigabitEthernet 0/0/1 配置位置
4.加快收敛
[r4-GigabitEthernet0/0/1]ospf timer hello 5-只需要接口改变hello时间
死亡时间默认会根据4被的关系,自动修改
结论:所有接口都需要修改
5.缺省路由
[r5-ospf-1]default-route-advertise-配置位置,ospf进程中
必须给自身存在一条缺省,才能给其他设备下发缺省
[r5-ospf-1]default-route-advertise always -强制下发缺省