OSPF:开放式最短路径优先协议

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

1.距离矢量协议:

      运行距离矢量协议的路由器会周期性的泛洪自己的路由表,通过路由的交互,每台路由器从相邻的路由器学习到路由,并且加载进自己的路由表中,对于网络中的所有路由而言,路由器并不清楚网络的拓扑结构,只是简单的知道要去的往某个目的地的方向在哪,距离多远,这就是距离矢量协议的本质。

2.链路状态协议:

与距离矢量不同,链路状态协议通告的是链路状态信息,而不是路由器。运行链路状态协议的路由器之间会建立一个协议的邻居关系,然后彼此开始交互LSA(链路状态通告)。每台路由器都会产生LSA,路由器将接受到的LSA放入自己的LSDB(链路状态数据库中)。路由器通过LSDB,掌握了全网所有的拓扑信息,最后。由路由器通过SPF算法算出最优路径,随后加载进自己的路由表中。

链路状态协议流程图如下:


OSPF的特征:
  1. 开放性:OSPF是开放的标准协议,由IETF(Internet Engineering Task Force)定义和维护,可以在不同厂商的路由器上实现和运行。

  2. 分层设计:OSPF采用分层设计,将网络划分为区域(Area),每个区域内有一个区域内部路由器(Internal Router)负责区域内的路由计算,而区域间路由器(Area Border Router)负责不同区域之间的路由。

  3. 基于链路状态的路由协议:OSPF使用链路状态数据库(Link State Database)来存储网络拓扑信息,每个路由器都维护自己的链路状态数据库,并通过洪泛算法(Flooding Algorithm)将链路状态信息传播到整个自治系统。

  4. 动态路由选择:OSPF使用Dijkstra算法来计算最短路径,根据链路状态信息选择最优的路径,并将路由表更新到路由器中,以实现动态路由选择。

  5. 支持多种网络类型:OSPF支持多种网络类型,包括点对点连接、广播网络、非广播多点连接(NBMA)网络和虚拟链路等。

  6. 支持路由器冗余:OSPF支持路由器冗余,通过选举一个DR(Designated Router)和一个BDR(Backup Designated Router)来减少链路状态信息的洪泛。

  7. 支持VLSM和CIDR:OSPF支持可变长度子网掩码(VLSM)和无类别域间路由(CIDR),可以更有效地利用IP地址空间。

支持触发更新且每30分钟进行一次周期更新,需要结构化的部署即区域划分和地址规划

区域划分的规则:

1.星型结构  

0区为骨干区域;大于0则为非骨干区域,所有非骨干区域必须接入到骨干区域上。

2.必需要有ABR---域间路由器  

两个区域相连时,必须存在ABR(域间路由器)

ABR---同时工作在两个区域上。

router-id :
路由器的标识符,用于一个ospf域中唯一的标识一台路由器。

router-id 的设定可以通过手工配置和系统自动生成

定义RID的值一般用ip地址,确保全网唯一,不然会自动生成-------优先配置为环回的最大数值,如果没有环回,则自动配置为最大物理接口数值。

cost:

cost值被用来作为度量值,COST=开销值=参考宽带/接口宽带;默认参考宽带为100M,整段路径cos值之和最小为最佳,若接口带宽大于参考带宽,则度量值默认为1 ,可能导致选路不佳,因此在接口带宽大于参考带宽的网络中,可以进行修改带宽。

ospf的数据包:

1.HELLO包:用于邻居间的发现,关系建立及保活

2.DBD包:数据库描述包,用于携带本地的数据库目录

3.LSR包:链路状态请求包,在查看对端邻居的DBD包后,基于本地的位置查询LSA 随后去索要未知的LSA信息,就通过这个LSR包。

4.LSU包:链路状态更新包 用于携带各种LSA信息

5.LSACK包: 链路状态确认包  用于确认接收到对端的信息

ospf状态机:

Down状态:表示未激活的状态,一旦本地发出hello包,则进入下一个状态。

Init状态:表示初始化状态  

Tow-way状态:双向通信 表示建立了邻居关系

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

Exstart 状态:预启动状态   

Exchange 状态: 准交换状态

Loading 状态: 加载状态  在查看完对端邻居的DBD包后,使用LSR包来询问自己位置的LSA信息,对端使用LSU包进行回复,本地还需要使用LSACK进行确认回复。

Full 状态: 邻接关系建立的标识

ospf的工作过程:

启动配置完成后,本地组播 224.0.0.5 发送hello包,Hello包将携带本地的RID值,及已知的邻居的RID值,若接收到对端的hello包中有自己的RID则视为认识 邻居关系的建立,生成邻居表,开始条件匹配 成功 则进入下一个阶段  不成功 则 永远是邻居,使用空的DBD包进行主从选举  对比RID  大为优 且 优先进入下一个状态  优先共享数据库目录  ,之后  使用 LSR/LSU/LSACK 来获取未知的LSA信息并加载于本地的LSDB中。 启用SPF算法 基于本地LSDB生成有向图,在计算出最短路径树,在基于树形结构算出本地为起始点到达全网各个节点的最优路径,最后加载于本地路由表中,收敛完成后,hello保活即可。每30min进行一次周期更新,周期更新即为对比数据库目录,如果相同 则继续hello包保活,如果不相同,则重新收敛。

结构突变:

  1. 新增一个网段  直连新增网络设备,直接使用更新包告知邻接关系,需要ack确认。
  2. 断开一个网段  直连断开网络设备,直接使用更新包告知邻接关系,需要ack确认。
  3. 无法沟通: hello time 10s ,dead time 40s,时间到了就删除邻居信息。

ospf的基础配置:

ospf 1 router-id 1.1.1.1  创建ospf进程号为1 仅具有本地意义 同时定义RID值  建议使用IP地址 全网需要唯一。

area 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 brief  查询邻居表  

<R1>display ospf lsdb  查询链路状态数据库

ospf的扩展配置:

1.从邻居关系建立成为邻接关系的条件

网络类型----两个

①点到点的网络:在一个网段中,仅支持存在两个节点的网络。(在点到点的网络类型中,可以直接成为邻接关系)

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

在MA网络中,若所有设备均是邻接关系,则会造成大量的重复更新,故,进行DR/BDR的选举,所有非DR/BDR的设备被称之为DRother,DRother之间维持邻居关系。

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

[R1-GigabitEthernet0/0/0]ospf dr-priority 2 将参选接口优先级改为2  

切记:ospf的DR选举是非抢占性的,故需要重启ospf进程达到重新选举的目的。

<R1>reset ospf process  重启ospf进程

2.手工认证

在邻居间接口上定义安全密钥

[R1-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123456  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值