系列文章传送门:
【零基础入门计算机网络】第三章 OSI分层系统模型与TCP/UDP详解
【零基础入门计算机网络】第四章 远程登陆Telnet操作与DHCP操作
【零基础入门计算机网络】第八章 RIP协议与OSPF协议的比较
【零基础入门计算机网络】第九章 五分钟真正了解OSPF动态路由协议
【零基础入门计算机网络】第十章 ACL控制流量的方法有很多,你又知道哪几种?
【零基础入门计算机网络】第十二章 私网与公网的转换---NAT网络地址转换技术
文章目录:
一、OSPF的数据包(五种)
二、OSPF的状态机(七个状态)
三、OSPF的工作过程
四、OSPF的基本配置
五、OSPF的其他指令
六、条件匹配
七、OSPF的拓展配置
一、OSPF的数据包(五种)
(一)Hello包
周期发送,建立和保活邻居关系。
hello时间---默认10S(在以太网中)
Dead time---4倍的hello时间
在OSPF中,我们需要对每台路由器设计一个身份标识---RID。
1、全网(整个OSPF网络)唯一;
2、格式统一---要求必须按照IP地址的格式来配置
注意:
(1)手工配置:只需要满足以上两点要求即可
(2)自动生成:如果设备具备环回接口,则将在环回接口的IP地址中选择数值最大的作为RID;如果没有环回接口,则将在物理接口中选择IP地址数值最大的作为RlD。
HELLO包中将会携带RID。
(二)DBD包
数据库描述报文---LSDB---链路状态数据库(存放LSA信息的数据库
(三)LSR包
链路状态请求报文---基于未知的LSA信息进行请求
(四)LSU包
链路状态更新报文---真正携带LSA信息的数据包
(五)LSACK包
链路状态确认报文---确认包
OSPF存在每30min一次的周期更新。
二、OSPF的状态机(七个状态)
(一)DOWN状态
启动OSPF进程,发送hello包之后进入到下一个状态
(二)INIT(初始化)状态
收到hello包中包含本地的RID,则将进入到下一个状态
(三)TWO-WAY(双向通讯)状态
标志着邻居关系的建立。若条件匹配成功,则将进入到下一个状态;如果失败,则将停留在邻居关系,仅使用Hello包进行周期保活。
(四)Exstart (预启动)状态
使用未携带数据的DBD包进行主从关系选举,为主的可以优先进入到下一个状态。
(五)Exchange (准交换)状态
使用携带数据库摘要信息的DBD包进行数据库目录共享。
(六)Loading (加载)状态
基于DBD包,通过LSR/LSU/LSACK来获取本地未知的LSA信息。
(七)FULL状态
标志着邻接关系的建立,只有邻接关系可以交换LSA信息,而邻居关系只能通过Hello包进行周期保活。
(八)包含的特殊规则
1、条件匹配---条件匹配通过,则可以进入到下一个状态。如果条件匹配不通过,则将停留在邻居关系。仅使用hello包周期保活即可。
2、主从关系选举---通过使用未携带数据的DBD包(主要目的是为了和之前的邻居关系进行区分)比较RID进行主从关系选举,为主的可以优先进入 到下一个状态。
PS:DBD包之间使用隐形确认的方法进行确认,而不是直接通过LASCK进行显性确认。
三、OSPF的工作过程
(一)第一步
启动OSPF进程配置完成后,OSPF会向本地所有运行协议的接口以组播224.0.0.5的形式发送hello包;hello包中将会携带自己本地的RID以及本地已知邻居的RID。之后,将建立好的邻居关系记录在一张表中---邻居表。
邻居关系建立后将进行条件匹配;失败则将停留在邻居关系,仅使用 Hello包保活。
(二)第二步
匹配成功,开始建立邻接关系。首先,使用未携带数据的DBD包进行主从关系选举。之后使用携带数据的DBD包进行数据库目录的共享。 之后,本地使用LSR/LSU/LSACK获取本地未知的LSA信息。将完成本地数据库的建立—LSDB,生成数据库表。
(三)第三步
最后,将基于本地的链路状态数据库生成有向图,之后基于有向图使用SPF算法计算出最短路径树,根据最短路径树,生成本地到达未知网段的路由信息---路由表
收敛完成后,OSPF依然每隔hello时间发送hello包进行周期保活。每 隔30MIN进行一次周期更新。
(四)结构突变
1, 突然增加一个网段:触发更新,将变更信息第一时间通过LSU包发送出去,需要ACK确认。
2, 突然减少一个网段:触发更新,将变更信息第一时间通过LSU包发送出去,需要ACK确认。
3, 无法通信---dead time
四、OSPF的基本配置
(一)启动OSPF进程
[rl]ospf 1 router-id 1.1.1.1 1 (进程号,仅具有本地意义)
[rl-ospf-1]
(二)创建区域
[rl-ospf-l]area 0
[rl-ospf-l-area-0.0.0.]
(三)宣告
[rl-ospf-l-area-0.0.0.0]network 1.1.1.0 0.0.0.255
0.0.0.255:反掩码,由连续的0和连续的1组成,0对应的数字是不可变的,1对应的数字是可变的。
五、OSPF的其他指令
[rl]display ospf peer ---查看OSPF邻居表
[rl]display ospf peer brief ---查看邻居表简表
[redisplay ospf Isdb ---查看数据库表
[redisplay ospf Isdb router 2.2.2.2 ---查看单条LSA的内容
华为设备中OSPF协议的路由条目的优先级默认设置为10。
COST =参考带宽/真实带宽---华为设备默认情况下,参考带宽为 100Mbps
[rl-ospf-l]bandwidth-reference 1000 修改参考带宽
PS:如果有一台设备修改了参考带宽,则整个OSPF网络中所有的设备都需 要修改成相同的参考带宽。
六、条件匹配
(一)指定路由器(老大)
DR---和广播域内剩余所有设备建立邻接关系。
(二)备份指定路由器(老二)
BDR---和广播域内剩余所有设备建立邻接关系,这样在DR设备出现故障时可以第一时间代替DR设备。
1、一个广播域内,在DR和BDR都存在的情况下,至少需要四台设备,才能看到邻居关系。
2、DR和BDR并不是路由器的概念,而是接口的概念
(三)条件匹配
在一个广播域中,如果所有设备之间均为邻接关系,则将可能出现大量的重复更新,所以需要进行DR/BDR的选举,所有非DR/BDR设备之间仅维持邻居关系即可。
(四)DR/BDR的选举
1、先比较优先级,优先级最高的为DR,优先级次高的为BDR。
华为设备,默认情况下,优先级为1。
如果将一个接口的优先级设置为0,则将代表这个接口将放弃DR/BDR的选举。
2、如果优先级相同,贝此匕较RID, RID大的路由器所 对应的接口为DR,次大的为BDR。
DR/BDR的选举是非抢占模式的选举时间等同于死亡时间。
七、OSPF的拓展配置
(一)手工认证
[rl-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123456
1 :key ID,两边配置KEY ID需要相同
(二)手工汇总---区域汇总
[r2-ospf-l-area-0.0.0.0]abr-summary 192.168.0.0 255.255.252.0
(三)沉默接口---只接受不发送
[rl-ospf-l]silent-interface GigabitEthernet 0/0/1
(四)加快收敛减少计时器时间
[rl-GigabitEthernet0/0/0]ospf timer hello 5
hello时间一旦修改,则死亡时间将自动按照4倍关系进行匹配。
注意:邻居之间的Hello时间和死亡时间必须相同,否则将导致邻居关系建立失败
[rl-GigabitEthernet0/0/0]ospf timer dead ?---修改死亡时间,死亡时间修改不会影响hello时间
(五)缺省路由---令某个路由器成为缺省路由
[r3-ospf-l]default-route-advertise ---在边界路由器上配置,之后将自动下发指向边界的缺省路由要求,边界路由器上必须得先存在缺省路由
[r3-ospf-l]default-route-advertise always ---强制下发缺省
都看到这里了,创作不易,大家点个赞再走呗!!(。・ω・。)ノ♡