一、ospf的数据包类型
1.hello包 用于邻居的发现 建立关系和周期保活(首要的前提必须是邻居)
2.DBD包 数据库描述包 描述自己有那些目录 用于携带本地数据库目录
3.LSR包 链路状态请求包 在查看完对端邻居的DBD包后,基于本地的LSA进行信息查询,然后去索要没有的LSA信息。看对面与自己是否有一样的 lsa:然后把重复的删掉 索要没有的信息
4.LSU包 链路状态跟新包 携带各种LSA信息
5.LSACK包 链路状态确认包 用于确认接收到了对端的信息
二、ospf的状态机
Init状态之前有Down状态
Down:未被激活的状态,一旦本地发出hello包进入下一个状态
Init:初始化状态,接收到的hello包中存在本地rouid
2-Way状态:双向通信的建立,表示已经建立邻居关系
匹配条件的:
Ex-start:预启动状态 ,使用不懈怠数据目录信息的DBD包进行主从选举,
比较谁是rouid大的,有顺序可言,routerid大率先进入下一个状态
Exchange: 准交换状态,携带具体数据库目录新的DBD包进行目录交换,需要ack确认。
Loading:加载状态,在查看完对端邻居的DBD包后,基于本地的LSA进行信息查询,然后去索要没有的LSA信息。本地也会根据其他人的LSR包回复LSU包。
FULL:转发 邻接关系建立的标志
三、ospf的工作过程
启动配置完成后,本地组播224.0.0.5 发送hello包,hello包将携带本地RID值,及本地已知的所有邻居的RID若接收到来自对端的hello包中,存在本端的RID,那么视为双方认识,邻居关系建立,生成邻居表。
邻居关系建立后,进行条件匹配。匹配失败则停留于邻居关系,仅hello包周期保活即可;若匹配成功,则表明可以建立邻接关系。
先使用不携带数据库目录的DBD包进行主从选举,RID大为主,优先共享数据库目录,最后基于对端的DBD包来查询本地位置的LSA。
之后通过 LSR LSU LSACK 来获取未知的LSA信息。
最终生成数据库表(LSDB----链路状态数据库)
之后本地启用SPF算法,基于本地的LSDB生成有向图,根据有向图算出最短路径树,在基于树形结构,算出本地为起点到达所有位置网段的最短路径,随后加载于本地路由表中。
收敛完成后,hello周期保活。
每min30分钟邻接关系间,在进行DBD的比对,若一致,则继续保活,若不一致,将重新收敛。
结构突变:
1.新增一个网段---直连新增网段的设备,直接使用更新包告知邻接关系,需要ack确认。
2.断开一个网段---直接使用更新包告知邻接关系,需要ack确认。
3.无法沟通: hello time 10s , dead time 40s ,时间到了就删除邻居信息。
四、ospf的基础配置
宣告:1.激活 2.传递路由或拓扑 3.区域划分
[R1]ospf 1 router-id 1.1.1.1 确定ospf进程的同时配置RID
[R1-ospf-1]area 0 创建0区/进入0区
[R1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0
[R1-ospf-1-area-0.0.0.0]network 12.1.1.0 0.0.0.255
反掩码:掩码反过来
[R1]display ospf peer 查看详细邻居关系
[R1]display ospf lsdb 查看数据库表的目录
[R1]display ospf lsdb router 2.2.2.2 打开具体的数据库目录内容
[R2]display ip routing-table protocol ospf 查看由OSPF生成的路由表
默认优先级10;使用cost值作为度量值
[R2-ospf-1]bandwidth-reference 1000 修改参考带宽为1000
注意:后缀单位;一旦修改参考带宽,全网所有设备,均需修改。
五、ospf的扩展配置
1.从邻居关系建立成为邻接关系的条件 网络类型----两个类型
(1)点到点:在一个网段内仅支持存在两个节点 匹配通行证
(2)MA:多路访问----在一个网段中,存在节点数量不限制
OSPF协议在点到点的网络中,所有邻居关系将直接建立成为邻接关系;
MA网络中,若有所的设备间均为邻接关系,将可能出现大量的重复更新;故要进行DR/BDR的选举;所有非DR/BDR设备间维持邻居关系。
少于四台不可能出现邻居关系 不选全网人均DR 必须选举 BDR副班长 备胎关系
选举规则:
(1)先比较参选接口的优先级,默认1;0-255,大为优
(2)若参选接口优先级相同,比较参选设备的RID,数值大为优
优
[R1-GigabitEthernet0/0/0]
[R1-GigabitEthernet0/0/0]ospf dr-priority 3 更改参选接口的优先级为3
切记:DR/BDR的选举是非抢占性;需要重启网段内所有参选设备的OSPF进程;若参选接口优先级为0,则视为放弃参选;一个网段至少应该存在一台DR设备;
<R1>reset ospf process 重启ospf进程
2.手工认证
在邻居间接口上定义完全密钥
[R1-GigabitEthernet0/0/0] 进入邻居间接口
[R1-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123456
模式 编号 密码
3.手工汇总--区域汇总
在ABR(域间路由器)上将A区域的路由共享到B区域时,方可进行手工汇总的配置。
[R2-ospf-1-area-0.0.0.0]abr-summary 1.0.0.0 255.0.0.0
4.被动接口---沉默借口---仅接收不发送路由协议信息,只能用于连接用户PC的接口去使用。
[R1-ospf-1]silent-interface g 0/0/1 设置沉默接口
5.加快收敛---修改计时器
Hello time 10s dead time 40s
修改一台路由器某个接口的hello time,该接口的 dead time 将自动关闭
切记:邻居间直连接口的hello time 和dead time 时间若不一致 将不能建立邻居关系 ;同时修改时也不建议修改的过小 / 不建议修改时间
[R1-GigabitEthernet0/0/0]ospf timer hello 10
修改hello time 时间为10s
[R1-GigabitEthernet0/0/0]ospf timer dead 40
修改 dead time 时间为40s
6.缺省路由
在连接外网的边界路由器上,配置一条缺省路由信息后,该设备将向内网发送信息,是的内部所有ospf设备,生成缺省路由,下一跳全部指向边界路由起方向,但是边界路由器通往外网的路由条目仍需网络管理员手工边写。
[R3-ospf-1]default-route-advertise always