网络基础笔记(四)ospf

OSPF:开放式最短路径优先协议 无类别链路状态IGP动态路由协议 
1.距离矢量协议:
        运行距离矢量路由协议的路由器周期性的泛洪自己的路由表。通过路由的交互,每台路由器都从相邻的路由器学习到路由,并且加载进自己的路由表中;对于网络中的所有路由器而言,路由器并不清楚网络的拓扑结构,知识简单的知道要去往某个目的地方向在哪儿,距离多远。这既是距离矢量协议。
2.链路状态协议:
         与距离矢量协议不同,链路状态协议通告的是链路状态而不是路由表。运行链路状态协议的路由器之间首先会建立一个协议的邻居关系,然后彼此之间开始交互LSA(链路状态通告)。每台路由器都会产生自己的LSA,路由器将接收到的LSA放进自己的LSDB(链路状态数据库)中。路由器通过LSDB,掌握了全网的拓扑结构。最后,路由器将计算出来的优选路径加载进自己的路由表中。

支持等开销负载均衡:
基于组播进行更新-----224.0.0.5  224.0.0.6  
支持触发更新;每30min进行一次周期更新 
 需要结构化的部署----区域划分  地址规划 区域划分的规则:
1.星型结构  骨干区域为0区;大于0为非骨干区域,所有非骨干区域必须连接在骨干区域上
2.ABR---域间路由器  两个区域相连时,必须存在ABR--同时工作在两个区域 
  Router-ID  路由器标识符,用于在一个OSPF域中唯一的标识一台路由器 
 Router-ID 的设定 可以通过手工配置的方式,或 使用系统自动配置的方式。  
定义rid,建议使用IP地址去定义;全网需要唯一;如果不进行手工配置rid,则会自动配置---优先配置环回的最大数值,如果没有环回地址则选择物理接口的最大数值。  
使用cost值为度量值:
cost=开销值=参考带宽/接口带宽;默认参考带宽为100M;整段路径cost值之合最小为最佳。若接口带宽大于参考带宽,则度量值默认为1;将可能导致选路不佳;故 在接口带宽大于参考带宽的网络中,可以人为修改参考带宽。  


基于华为Ensp模拟器中:
一:ospf的数据包类型  
1.hello包  用于邻居的发现  建立关系 和 周期保活
2.DBD包  数据库描述包  用于携带本地数据库目录
 3.LSR包  链路状态请求包  在查看完对端邻居的DBD包后,基于本地的LSA进行信息查询,然后去索要没有的LSA信息。
4.LSU包  链路状态更新包  用于携带各种LSA信息
5.LSack包  链路状态确认包  用于确认接收到了对端的信息
二:OSPF的状态机 

1.Down状态:表示未被激活的状态,一旦本地发出hello包进入下一个状态机
2.Init状态:表示初始化的状态。
3.2-Way状态:双向通信的建立,表示建立了邻居关系  
4.Exstart:预启动状态  使用不携带数据库目录信息的DBD包进行主从选举,RID数值大者为主,优先进入下一个状态机。 
5.Exchang:准交换状态  携带具体数据库目录新的DBD包进行目录交换,需要ack确认。
6.Loading状态:加载状态  在查看完对端邻居的DBD包后,基于本地的LSA进行信息查询,然后去索要没有的LSA信息。本地也会根据其他人的LSR包回复LSU包。
7.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设备间维持邻居关系。
选举规则:
①先比较参选接口的优先级,默认1;0-255,大为优
②若参选接口优先级相同,比较参选设备的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  

相关推荐

  1. 网络基础面试题(

    2024-01-24 20:42:01       27 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-24 20:42:01       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-24 20:42:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-24 20:42:01       20 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-24 20:42:01       20 阅读

热门阅读

  1. c++动态调用dll

    2024-01-24 20:42:01       41 阅读
  2. 输入输出 xtu oj 1603

    2024-01-24 20:42:01       35 阅读
  3. MetaGPT入门(三)-OSS订阅智能体

    2024-01-24 20:42:01       37 阅读
  4. c语言—统计个数

    2024-01-24 20:42:01       34 阅读
  5. 前端笔试题(七)

    2024-01-24 20:42:01       34 阅读
  6. xtu oj 1067

    2024-01-24 20:42:01       34 阅读
  7. 内网信息收集总结

    2024-01-24 20:42:01       32 阅读
  8. BIgInteger和BigDecimal

    2024-01-24 20:42:01       33 阅读
  9. GoLang刷题之leetcode

    2024-01-24 20:42:01       29 阅读
  10. docker 创建oceanbase数据库

    2024-01-24 20:42:01       35 阅读