二十五、OSPF高级技术解析——多区域、开销值、虚链路、邻居建立、LSA、静默接口

本文主要是介绍二十五、OSPF高级技术解析——多区域、开销值、虚链路、邻居建立、LSA、静默接口,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 调试指令(三张表)
    • 1、邻居表:dis ospf peer brief
    • 2、拓扑表(链路状态数据库):dis ospf lsdb
    • 3、路由表:dis ip routing-table
  • 一、OSPF 设计多区域的原因
  • 二、OSPF 开销值/度量值(cost)
    • 1、cost= 沿途累加(100M/链路带宽)
    • 2、查看指令
    • 3、修改参考带宽
    • 4、手动修改开销值
  • 三、OSPF 虚链路
    • 1、概念解析
    • 2、查看邻居指令
    • 3、虚链路配置
  • 四、OSPF 邻居建立原理
    • 1、概念区别
    • 2、邻居关系建立状态
    • 3、邻居建立条件
    • 4、DR和BDR(基于接口)
      • 4.1、区别
      • 4.2、目的
      • 4.3、选举规则
      • 4.4、修改优先级
  • 五、OSPF 路由引入
    • 1、基础配置
    • 2、ospf 路由种类
  • 六、OSPF LSA
    • 1、一型LSA:Router isa
    • 2、二型LSA:Network lsa
    • 3、三型LSA:Network-summary lsa(单向)
    • 4、四型LSA:Asbr lsa
    • 5、五型LSA:External lsa
    • 7、ospf 路由种类
  • 七、OSPF 静默接口


调试指令(三张表)

1、邻居表:dis ospf peer brief

在这里插入图片描述

2、拓扑表(链路状态数据库):dis ospf lsdb

在这里插入图片描述

3、路由表:dis ip routing-table

在这里插入图片描述


一、OSPF 设计多区域的原因

① 每个区域的路由器只需同步自己所在区域的链路状态数据库,分区域设计可以使得每个区域的链路状态数据库得以减少。以降低路由器cpu、内存的消耗。

② 避免某区域内的网络故障(例如:接口频繁up down)而引发整个网络所有路由器的路由计算,进而提升网络的稳定性。即降低area x 网络故障对其他区域的影响。

注意:常规区域必须和骨干区域直接相连。如果常规区域没有何骨干区域直接相连,此时需采用虚链路来将常规区域连接到骨干区域。

二、OSPF 开销值/度量值(cost)

1、cost= 沿途累加(100M/链路带宽)

注意:
1、100M属于默认参考带宽
2、环回接口开销默认为0
3、串行链路的带宽:2.048Mbps,开销=48
4、ospf 开销计算既看“距离”也看带宽,综合评定
在这里插入图片描述

2、查看指令

dis ip routing-table protocol ospf

在这里插入图片描述

3、修改参考带宽

如将参考带宽改成10G,所有路由器都建议同时修改

[R2]ospf 1
[R2-ospf-1]bandwidth-reference 10000

4、手动修改开销值

接口必须是路由进入的方向

int gi 0/0/x
ospf cost 55

三、OSPF 虚链路

1、概念解析

(1)ABR:area boundary router(区域边界路由器,其中一个端口属于骨干区域)
(2)ASBR: autonomous system boundary router(自治系统边界路由器,运行相同路由协议可称为相同自治系统)
(3)router id :代表运行ospf 路由器的身份ID “路由器的身份证号”。仅在ospf 进程刚启动的时候选举出来,选出后则不再改变,除非重启ospf 进程:

<R2>reset ospf process

2、查看邻居指令

[R2]dis ospf peer brief

在这里插入图片描述

3、虚链路配置

虚链路属于骨干区域的延伸。属于骨干区域的一部分
以对方的router id建立邻居,使得不与骨干区域相连的部分连接到骨干区域
在这里插入图片描述
R2:

ospf 1
area 0.0.0.2
vlink-peer 3.3.3.3

R3:

ospf 1
area 0.0.0.2
vlink-peer 2.2.2.2

查看结果:
在这里插入图片描述

四、OSPF 邻居建立原理

在这里插入图片描述

1、概念区别

邻居:进展到2-way状态
邻接:链路状态数据同步(Full状态)

2、邻居关系建立状态

(1)Down:邻居的初始状态,表示没有从邻居收到任何信息
(2)Init :路由器已经从邻居收到Hello报文,尚未与邻居建立双向通信
(3)2-Way:互相得知对方的router id 等信息,可以双向通信(选举DR和BDR)
(4)Exstart:路由器开始向邻居发送DD报文(ospf 隐式确认机制,确定主从关系)
(5)Exchange:路由器与邻居间相互发送包含链路状态信息摘要的DD报文
(6)Loading:发送LSR、LSU、LSAck报文
(7)Full:LSDB同步状态完成,形成邻接关系

3、邻居建立条件

(1)直连通信
(2)network 宣告网段
(3)认证通过
(4)area id 一致
(5)hello dead 时间一致
在这里插入图片描述

(6)Option Ebit位、Nbit位一致(stub、 nssa 区域)
(7)掩码一致(针对多路访问网络)
(8)静默端口
(9)MTU(思科检查,华为不检查)注意:MTU 包含在DD报文里面的。
(10)版本一致
(11)router id 不能冲突
查看OSPF故障:
在这里插入图片描述

4、DR和BDR(基于接口)

在这里插入图片描述

4.1、区别

DR:designate router 指定路由器(班长)
BDR:backup DR 备份指定路由器(副班长)
DR other:剩下的网络成员

OSPF路由器之间建立邻居关系后,进行LSDB同步,最终形成邻接关系。在广播型网络(Broadcast)及NBMA网络上,DRother之间只能建立邻居关系,不能建立邻接关系,DRother 与DR/BDR路由器之间会建立邻接关系,DR与BDR之间也会建立邻接关系。
注意1:在broadcast型网络里面默认所有路由器发送hello报文的目标地址都是:224.0.0.5
注意2:DR other 发送(LSU LsACK)目标地址是224.0.0.6
DR BDR 发送(LSU LsACK)目标地址是224.0.0.5
查看DR和BDR:
在这里插入图片描述

4.2、目的

减少重复LSA报文的发送,减少邻接关系的建立,提升ospf协议报文的传输效率,降低网络资源的消耗。注意:DR和BDR的选举仅在多路访问环境才会选举。在点到点和点到多点的环境不选举DR和BDR。
在这里插入图片描述

4.3、选举规则

(1)接口优先级 + rouer id,越大越优先。默认ospf接口优先级都是1
(2)优先级为0表示不参与DR和BDR的选举
(3)遵循不抢占原则

4.4、修改优先级

int gi 0/0/x
ospf dr-priority 17

在这里插入图片描述

五、OSPF 路由引入

在这里插入图片描述

1、基础配置

R9:配置rip

rip 1
version 2
network 10.0.0.0
network 9.0.0.0

R8:在ASBR上配置路由引入

ip route-static 11.11.11.0 255.255.255.0 10.1.89.9
rip 1
version 2
network 10.0.0.0ospf 1
import-route rip 1
rip 1
import-route ospf 1 

也可使用ospf 动态下发缺省路由:

ospf 1
default-route-advertise always

2、ospf 路由种类

(1)ospf:ospf 普通的路由
(2)O_ASE:ospf 自制系统外部路由
O_ASE:外部路由的种类:
a:type 2(默认种类),cost值始终1,不累加
b:type 1,cost 沿途累加
在这里插入图片描述
(3)O_NSSA:ospf 特殊区域的路由

六、OSPF LSA

LSA:(Link State Advertise)链路状态宣告,封装在LSU里面
如LS type,Link State ID和Advertising Router一样便是同一条LSA

1、一型LSA:Router isa

(1)每个路由器都可以发出
(2)仅在自己的area区域发送
(3)通告自身链路状态信息(自报家门)
(4)只有在一型lSA里面才有链路类型,其他LSA没有链路类型
在这里插入图片描述
(5)Advrouter (advertised router )总是代表宣告该lsa的路由器的router id
(6)LinkState ID 不同类型的lsa代表的意义不一样。一型LSA linkstate ID代表路由器的router id
(7)查看指令如下:
在这里插入图片描述
在这里插入图片描述

2、二型LSA:Network lsa

(1)只有DR可以发出
(2)仅在自己area区域发送
(3)通告DR的位置和身份以及本广播域的所有成员及链路信息
(4)二型 LSA linkstate ID 代表DR的接口IP地址
(5)查看指令:

dis ospf lsdb network

3、三型LSA:Network-summary lsa(单向)

(1)只能由ABR发送(类似班级的辅导员)
(2)可以穿越整个ospf自制系统(中间需要各个ABR中转)将不同区域的ospf 路由信息互相传递
(3)三型 LSA linkstate ID 代表网段路由信息
(4)一条三型LSA只能描述一条路由信息
(5)三型LSA只传递路由信息,并未传递原始的拓扑信息
(5)查看指令如下:

dis ospf lsdb summary

4、四型LSA:Asbr lsa

(1)只能由各ABR发送
(2)发送范围整个ospf自制系统
(3)通告ASBR的身份和位置信息
(4)四型 LSA linkstate ID 代表ASBR的router id
(5)查看指令如下:

dis ospf lsdb asbr

5、五型LSA:External lsa

(1)ASBR发出
(2)发送范围整个ospf自制系统
(3)引入其他自制系统的路由信息
(4)五型 LSA linkstate ID 代表其他自制系统的路由信息
(5)查看指令如下:

dis ospf lsdb ase

7、ospf 路由种类

ospf:由1、2、3型lsa产生
O_ASE:靠5型和4型lsa产生
O_NSSA:由7型lsa产生
External:外部的
在这里插入图片描述

七、OSPF 静默接口

路由器不会从静默接口向外发送任何ospf 相关报文
将gi0/0/2接口配置为静默接口,方法如下:

[R7]ospf 1
[R7-ospf-1]silent-interface GigabitEthernet0/0/2

这篇关于二十五、OSPF高级技术解析——多区域、开销值、虚链路、邻居建立、LSA、静默接口的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/219175

相关文章

Java中Redisson 的原理深度解析

《Java中Redisson的原理深度解析》Redisson是一个高性能的Redis客户端,它通过将Redis数据结构映射为Java对象和分布式对象,实现了在Java应用中方便地使用Redis,本文... 目录前言一、核心设计理念二、核心架构与通信层1. 基于 Netty 的异步非阻塞通信2. 编解码器三、

Java HashMap的底层实现原理深度解析

《JavaHashMap的底层实现原理深度解析》HashMap基于数组+链表+红黑树结构,通过哈希算法和扩容机制优化性能,负载因子与树化阈值平衡效率,是Java开发必备的高效数据结构,本文给大家介绍... 目录一、概述:HashMap的宏观结构二、核心数据结构解析1. 数组(桶数组)2. 链表节点(Node

Java 虚拟线程的创建与使用深度解析

《Java虚拟线程的创建与使用深度解析》虚拟线程是Java19中以预览特性形式引入,Java21起正式发布的轻量级线程,本文给大家介绍Java虚拟线程的创建与使用,感兴趣的朋友一起看看吧... 目录一、虚拟线程简介1.1 什么是虚拟线程?1.2 为什么需要虚拟线程?二、虚拟线程与平台线程对比代码对比示例:三

从基础到高级详解Go语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础

一文解析C#中的StringSplitOptions枚举

《一文解析C#中的StringSplitOptions枚举》StringSplitOptions是C#中的一个枚举类型,用于控制string.Split()方法分割字符串时的行为,核心作用是处理分割后... 目录C#的StringSplitOptions枚举1.StringSplitOptions枚举的常用

Python函数作用域与闭包举例深度解析

《Python函数作用域与闭包举例深度解析》Python函数的作用域规则和闭包是编程中的关键概念,它们决定了变量的访问和生命周期,:本文主要介绍Python函数作用域与闭包的相关资料,文中通过代码... 目录1. 基础作用域访问示例1:访问全局变量示例2:访问外层函数变量2. 闭包基础示例3:简单闭包示例4

MyBatis延迟加载与多级缓存全解析

《MyBatis延迟加载与多级缓存全解析》文章介绍MyBatis的延迟加载与多级缓存机制,延迟加载按需加载关联数据提升性能,一级缓存会话级默认开启,二级缓存工厂级支持跨会话共享,增删改操作会清空对应缓... 目录MyBATis延迟加载策略一对多示例一对多示例MyBatis框架的缓存一级缓存二级缓存MyBat

前端缓存策略的自解方案全解析

《前端缓存策略的自解方案全解析》缓存从来都是前端的一个痛点,很多前端搞不清楚缓存到底是何物,:本文主要介绍前端缓存的自解方案,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、为什么“清缓存”成了技术圈的梗二、先给缓存“把个脉”:浏览器到底缓存了谁?三、设计思路:把“发版”做成“自愈”四、代码

Java集合之Iterator迭代器实现代码解析

《Java集合之Iterator迭代器实现代码解析》迭代器Iterator是Java集合框架中的一个核心接口,位于java.util包下,它定义了一种标准的元素访问机制,为各种集合类型提供了一种统一的... 目录一、什么是Iterator二、Iterator的核心方法三、基本使用示例四、Iterator的工

MySQL中C接口的实现

《MySQL中C接口的实现》本节内容介绍使用C/C++访问数据库,包括对数据库的增删查改操作,主要是学习一些接口的调用,具有一定的参考价值,感兴趣的可以了解一下... 目录准备mysql库使用mysql库编译文件官方API文档对象的创建和关闭链接数据库下达sql指令select语句前言:本节内容介绍使用C/