ospf协议

本文详细介绍了OSPF(开放式最短路径优先)协议的概念、链路状态协议执行过程、区域划分规则、Router-ID设置、数据包类型、状态机、工作流程,以及扩展配置如网络类型、DR/BDR选举、手工认证和手工汇总等内容,通过实验和配置实例展示其实际应用。
摘要由CSDN通过智能技术生成

目录

ospf概念

链路状态协议执行过程:

ospf特征:

区域划分规则(两者缺一不可)

Router-ID(RID)

ospf如何工作

ospf的数据包类型

ospf的状态机

ospf工作过程

结构突变

ospf实验1

拓扑图:

AR1-3基础配置

OSPF基础配置

状态机工作示例图​编辑

查看ospf配置

查询邻居相关命令

ospf实验2

拓扑图

AR1-4基础配置

配置ospf

ospf扩展配置

网络类型

DR/DBR/DRother

选举规则

手工认证

手工汇总

ospf概念

OSPF:开放式最短路径优先协议(无类别链路状态IGP动态路由协议)

距离矢量协议:路由器会周期性泛洪自己的路由表,通过路由交互,共享路由

                       只清楚目的地方向和距离(下几跳)

链路状态协议:通告链路状态信息(共享拓扑)、

链路状态协议执行过程:
  1.   首先建立协议邻居关系
  2.  然后彼此交互LSA(链路状态通告)---双向的都要发送
  3. 每个路由器将接收到的LSA存入LSDB(链路状态数据库)中
  4. 路由器通过LSDB已知全网拓扑,由路由器的SPF算法计算出最优路径,存放在自己的路由表中----这个时候已经全网通

ospf特征:

  1. 基于组播更新(224.0.0.5  224.0.0.6)
  2. 支持等开销负载均衡
  3. 支持触发更新每30min进行一次周期更新
  4. 需要结构化部署(区域划分)类似于地址规划----其实可以想成划分成小部分不会过于卡顿
  5. 相同区域传递拓扑有,不同区域传递路由
区域划分规则(两者缺一不可)

1.星型结构

不能在单一看作一个核心设备向外扩散,而应该形成块状范围思维

在OSPF中,0区为骨干区域,大于0为非骨干区域,所有非骨干区域必须连接在骨干区域上

2.必须有ABR(域间路由器)

ABR同时工作在两个区域上,可以有多个域间路由器

Router-ID(RID)

1.含义:路由器唯一标识标识符,为了区分每台有OSPF协议的路由器

2.配置方法:手工配置或使用系统自动生成

3.定义RID值时,最好手工配置IP地址;否则会自动生成,优先配置环回的最大数值,如果没有环回,则自动配置为最大物理接口数值

cost值作为度量值

同rip区别:rip是使用跳数作为度量值

cost值=开销值=参考贷款/接口带宽-----参考带宽默认100M,cost值之和越小路径越好

缺点:若接口带宽大于参考带宽,则度量值为1---则会导致选路不佳,需人为修改参考带宽

ospf如何工作

  1. ospf的数据包类型
  2. ospf的状态机
  3. ospf的工作过程
  4. ospf的基础配置
  5. ospf的扩展配置
ospf的数据包类型
  1. HELLO包(10秒一次):用于发现邻居,关系建立及保活---用组播地址发送
  2. DBD(DD)包:数据库描述包,用于携带本地数据库目录
  3. LSR包:链路状态请求包,查看完对端的DBD包,基于本地位置查询LSA,去索要未知的LSA信息
  4. LSU包:链路状态更新包,携带各种LSA信息
  5. LSACK包:链路状态确认包,用于确认接收到对端的信息
ospf的状态机

用来形容每个时间段处于什么状态

  1. down状态:表示未激活状态-------未发送hello包前
  2. init状态:初始化状态,被激活------发送完/接收到hello包
  3. 2-way:双向通信,建立邻居关系-----已知对方名字且确认对方也知道我的名字

经过条件匹配成功则进入下一个状态机,失败则停留于2-way邻居状态

  1. Exstart状态:预启动状态------发送一个空DD包,会进行主从选举RID大为主则优先进入下一状态  空DD包里有RID和我要当主的信息
  2. Exchange状态:准交换状态-----发送有目录的DD数据包
  3. Loading状态:加载状态---查看完对端dd包,确认自己有哪些包,使用LSR来询问未知的,对端使用LSU包进行回复,本地使用LSACK回复
  4. Full状态:邻接关系建立

数据包大小会受到MTU值限制,默认最大不能超过1500字节

ospf工作过程

  1. 开启ospf路由器,以本地组播地址发送hello包,此时携带自己的RID值和已知所有邻居的信息
  2. 查看对端发来的hello包是否有自己的RID,如果有,则邻居关系已建立并生成邻居表
  3. 进行条件匹配,不匹配则停留2-way邻居关系,匹配成功进行下一阶段Exstart--Exchange--Loading(LSR,LRU,LSACK)---full
  4. 当都拥有LSA链路信息,则开始使用SPF算法,基于LSDB生成有向图并基于树形结构算出最优路径加载到路由表中,收敛完成
  5. 收敛完成后,hello保活即可,每30min进行一次周期更新(对比数据库目录,相同则hello包保活,不相同则重新收敛,即重来一遍Loading状态的工作流程)
结构突变

添加了新网段(直连新增网络设备),直接使用更新包告知邻接关系,需要ack确认

断开一个网段(直连断开网络设备),直接使用更新包告知邻接关系,也需要ack确认

无法沟通(hello包发不同通),hello time:10s,dead time:40s,时间到了则删除邻居信息

ospf实验1

拓扑图:

AR1-3基础配置

OSPF基础配置

[AR1]ospf 1 router-id 1.1.1.1 ---不手动配置RID,会自动生成

[AR1-ospf-1]area 0----进入0区,进行规划

若要使AR1都在0区,AR2的g 0/0/0接口和环回地址放在0区,其余在1区

[AR1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0  
[AR1-ospf-1-area-0.0.0.0]network 12.1.1.0 0.0.0.255

解释这两条命令需要用到反掩码

反掩码:可以理解为能把数字用0进行上锁

1.1.1.1   0.0.0.0:他们是一一对应的关系,0代表锁定,表示只有0种变化,也叫精确宣告

12.1.1.0 0.0.0.255:也是一一对应的关系,0被锁死,255代表除了0以外还有255种变化

这里宣告的是一个网段,掩码为24的有2的8次方个子网ip,一共256种变化(可理解为子网数)

如何简单的求反掩码呢

用255.255.255.255-子网掩码即是反掩码

[AR2]ospf router-id 2.2.2.1
[AR2-ospf-1]area 0

[AR2-ospf-1-area-0.0.0.0]network 12.1.1.2 0.0.0.0

[AR2-ospf-1-area-0.0.0.0]network 2.2.2.1 0.0.0.0

[AR2-ospf-1-area-0.0.0.0]quit     ----返回上一层

[AR2-ospf-1]area 1

[AR2-ospf-1-area-0.0.0.1]network 23.1.1.1 0.0.0.0

[AR3]ospf 1 router-id 3.3.3.1
[AR3-ospf-1]area 1

[AR3-ospf-1-area-0.0.0.1]network 23.1.1.2 0.0.0.0

[AR3-ospf-1-area-0.0.0.1]network 3.3.3.1 0.0.0.0

可以看到一个状态变化图,这就验证了我们上面所讨论的工作状态

状态机工作示例图
查看ospf配置

可以用display this查看当前0/1区配置,或者使用display ip routing-table protocol ospf

可以看到ospf的优先级默认10,rip默认100,直连0,静态60

查询邻居相关命令

display ospf peer----查询邻居关系

display ospf brief ----查询邻居表

display ospf lsdb ---查询链路状态数据库

display ospf lsdb router IP地址----查看数据库中的内容

修改带宽,首先进入进程,再用命令(如修改则全网设备都需修改)

[AR1]ospf 1

[AR1-ospf-1]bandwidth-reference  1000

ospf实验2

拓扑图

实验要求:全网通,存在四个ospf区域

区域划分后拓扑图

AR1-4基础配置

配置ospf

这里以AR4和较复杂的AR2为例,其余同命令

[AR4]ospf 1 router-id 3.3.3.3
[AR4-ospf-1]area 0

[AR4-ospf-1-area-0.0.0.0]network 3.3.3.3 0.0.0.0
[AR4-ospf-1-area-0.0.0.0]network 23.1.1.2 0.0.0.0

[AR2]ospf 1 router-id 2.2.2.2

[AR2-ospf-1]area 3

[AR2-ospf-1-area-0.0.0.3]network 2.2.2.2 0.0.0.0

[AR2-ospf-1-area-0.0.0.3]q
[AR2-ospf-1]area 1

[AR2-ospf-1-area-0.0.0.1]network 12.1.1.2 0.0.0.0

[AR2-ospf-1-area-0.0.0.1]q
[AR2-ospf-1]are 2

[AR2-ospf-1-area-0.0.0.2]network 24.1.1.1 0.0.0.0

[AR2-ospf-1]area 0

[AR2-ospf-1-area-0.0.0.0]network 23.1.1.1 0.0.0.0

可以查看AR2是已经配置好了

ospf扩展配置

  • 从邻居关系建立为邻接关系的条件
  • 邻居关系是只在2-way阶段不会进入下一阶段
  • 只有邻接关系才能互发LSA
网络类型

1.点到点的网络 :在一个网段中,仅支持存在两个节点的(类似只存在两个可用主机)---可直接成为邻接关系

2.MA:多路访问---在一个网段内,存在的节点数量不限

DR/DBR/DRother

 在MA网络中,若所有设备均是邻接关系,则会造成大量重复更新,所以要进行DR/BDR选举,所有非DR/DBR的设备被称为DRother(类似于成员),DRother之间维持邻居关系---禁止成员之间互相传递信息

DR:可以理解为是老大

BDR:用作DR的备份,是老二

DRother:可以看作是他们的朋友(朋友和朋友之间没有权利互通),只能都是邻居

选举规则
  1. 先比较参选接口的优先级:默认为1 范围0-255 越大越好  ospf dr-priority 修改参选接口优先级
  2. 若参选接口优先级相同,比较参选设备的RID 越大越好

ospf若不重启进程,则DR选举是非抢占性的,重启即可重新选举

在用户视图用命令:reset ospf ----即可重启进程

手工认证

在邻居间接口上定义安全密钥(在对端也要进行认证)

进入接口---ospf authentication-mode md5 1 cipher 123456(1在这为账号编号)

手工汇总

和以往所学不同之前是汇总网段,ospf是汇总区域

链路状态下的距离矢量特征指的就是ospf的区域划分

  • 16
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值