IP路由基础+OSPF 基础

news2024/12/24 8:24:55

IP路由

RIB与FIB

RIB:Routing Information Base,路由信息库 ,路由器的控制平面
FIB:Forwarding Information Base,转发信息库,路由器的数据平面

路由信息库主要是记录直连路由以及协议宣告的路由信息,转发信息库主要是记录路由转发信息,记录可以通过那条路由进行转发的路由信息。

路由表参数

路由表中有很多参数,例如nexthop为下一跳,protocol为路由协议;其中Preference用于不同路由协议间路由优先级的比较,Cost用于同一种路由协议内部不同路由的优先级的比较。

FIB表信息查看命令:display fib [ slot-id ]
slot-id:显示指定槽位号的FIB表信息。整数形式,取值范围请根据设备实际配置选取。

Flag:当前标志,G、H、U、S、D、B的组合。
G(Gateway):网关路由,表示下一跳是网关。
H(Host):主机路由,表示该路由为主机路由。
U(Up):可用路由,表示该路由状态是Up。
S(Static):静态路由。
D(Dynamic):动态路由。
B(Black Hole):黑洞路由,表示下一跳是空接口。

TunnelID:表示转发表项索引。该值不为0时,表示匹配该项的报文通过隧道转发(如:MPLS隧道转发)。该值为0时,表示报文不通过隧道转发。

数据转发流程

路由的三种来源

⦁    直连路由:直连接口所在网段的路由,由设备自动生成。
⦁    静态路由:由网络管理员手工配置的路由条目。
⦁    动态路由:路由器通过动态路由协议(如OSPF、IS-IS、BGP等)学习到的路由。
⦁    BGP(Border Gateway Protocol,边界网关协议)是一种实现AS(Autonomous System,自        治系统)之间的路由可达,并选择最佳路由的距离矢量路由协议。
AS是指在一个实体管辖下的拥有相同选路策略的IP网络。

路由引入

指的是路由信息从一种路由协议发布到另一种路由协议的操作

作用:

通过路由引入,可以实现路由信息在不同协议之间进行传递

执行路由引入时,还可以部署路由控制,从而实现对业务流量的灵活把控

配置(路由引入)

配置往往是在引入的路由器上进行配置,而不是引出的路由器(路由引入是具有方向性的)

路由引入的参数

路由优先级:路由器在进行路由选择时,根据不同的路由协议和配置参数,为每个路由设置一个优先级。优先级越高的路由,其路径将被优先选择作为数据包的传输路径。

路由回灌:路由回灌是一种优化技术,用于在网络中将动态学习或静态配置的路由信息重新注入到路由协议中。当网络拓扑发生变化时,路由器可以通过回灌操作更新路由表,从而适应新的网络情况。

路由度量值:路由度量值是用来衡量路由的选择优劣的指标。它可以基于各种因素进行计算,如跳数、带宽、延迟、可靠性等。路由器根据路由度量值来评估可选路由的优劣,并选择度量值最低的路由作为最佳路径。

常见路由的优先级

 

 OSPF

DR与BDR

DR与BDR类似于选举老大,等老大不在的时候备用管事儿,其中DR为老大BDR为备用。DR和BDR的选举是为了选择一个具有较高优先级的路由器。

选举过程:

  1. 首先,每个OSPF路由器都会发送Hello消息来宣告自己的存在,并与相邻的路由器建立邻居关系。
  2. 每个路由器在Hello消息中包含自己的路由器优先级(Router Priority)值。默认情况下,路由器优先级为1。
  3. 当路由器收到Hello消息后,会比较对方发送的路由器优先级和自己当前的DR和BDR的优先级。
  4. 如果对方发送的路由器优先级大于自己当前的DR和BDR的优先级,那么当前路由器会更新自己的DR和BDR,并将对方设置为BDR。
  5. 如果对方发送的路由器优先级等于自己当前的DR和BDR的优先级,并且对方的路由器ID(Router ID)比自己大,则当前路由器会更新自己的DR和BDR,并将对方设置为BDR。
  6. 如果对方发送的路由器优先级等于自己当前的DR和BDR的优先级,并且对方的路由器ID比自己小,则当前路由器不会更新DR和BDR的角色。

不同网络类型中DR与BDR的选举

 

动态路由协议分类

 

⦁    BGP使用一种基于距离矢量算法修改后的算法,该算法被称为路径矢量(Path Vector)算法。因此在某些场合下,BGP也被称为路径矢量路由协议。
⦁    IGP(内部网关协议)在同一个自治系统内交换路由信息,IGP的主要目的是发现和计算自治域内的路由信息。
⦁    EGP(外部网关协议)主要用于AS(自治系统)之间的互联。

链路状态路由协议 

基本原理:

每个路由器都会获取网络拓扑信息,并计算出到达其他路由器的最佳路径。它通过交换链路状态信息来维护网络的拓扑状态,各个路由器根据收到的信息构建一个全局的网络拓扑图,然后使用某种算法计算最短路径。

在链路状态路由协议中,每个路由器都会周期性地广播它的链路状态信息,或者通过多播方式发送给周围的邻居路由器。当一条链路发生故障或者网络拓扑发生变化时,路由器会更新自己的链路状态信息,并重新计算最佳路径。

 

链路状态路由协议有四个步骤:
⦁    第一步是建立相邻路由器之间的邻居关系。
⦁    第二步是邻居之间交互链路状态信息和同步LSDB。
⦁    第三步是进行优选路径计算。
⦁    第四步是根据最短路径树生成路由表项加载到路由表。

 

Router ID

 Router ID一旦选定,之后如果要更改的话就需要重启OSPF进程。

区域

度量值

ospf三大表

邻居表

 lsdb表

路由表

报文格式以及类型

 

  1. OSPF Hello(Hello报文):

    • 用途:邻居发现和建立邻居关系。
    • 报文格式:报文头部信息(Version、Router ID、Area ID等)和邻居列表。
  2. OSPF Database Description(DD报文):

    • 用途:用于同步链路状态数据库(LSDB)。
    • 报文格式:报文头部信息(Version、Router ID、Area ID等)、参数字段(MTU、Options等)和LSA描述符(包括LSA类型、LSA序列号、LSA长度等)。
  3. OSPF Link State Request(LSR报文):

    • 用途:请求指定的LSA(Link State Advertisement)。
    • 报文格式:报文头部信息(Version、Router ID、Area ID等)和请求的LSA列表。
  4. OSPF Link State Update(LSU报文):

    • 用途:传输LSA。
    • 报文格式:报文头部信息(Version、Router ID、Area ID等)和LSA列表。
  5. OSPF Link State Acknowledgement(LSAck报文):

    • 用途:确认收到的LSU报文。
    • 报文格式:报文头部信息(Version、Router ID、Area ID等)和确认的LSA列表。

 

 重要字段解释
⦁    Version :对于当前所使用的OSPFv2,该字段的值为2。
⦁    Router ID:表示生成此报文的路由器的Router ID。
⦁    Area ID:表示此报文需要被通告到的区域。
⦁    Type:类型字段。
⦁    Packet length:表示整个OSPF报文的长度,单位是字节。
⦁    Checksum:校验字段,其校验的范围是整个OSPF报文,包括OSPF报文头部。
⦁    Auth Type:为0时表示不认证;为1时表示简单的明文密码认证;为2时表示加密(MD5)认证。
Authentication:认证所需的信息。该字段的内容随AuType的值不同而不同。 

ospf工作过程

  1. 邻居发现和建立邻居关系:

    • 路由器启动时发送Hello报文,用于邻居发现。
    • 路由器之间通过比较Hello报文中的参数建立邻居关系。
  2. 链路状态数据库(LSDB)同步:

    • 路由器发出Database Description(DD)报文,携带自己所知道的LSA序列号列表,以与邻居交换信息。
    • 路由器收到DD报文后,比较自己的LSA序列号列表,并发送Link State Request(LSR)报文请求缺失的LSA。
    • 路由器根据收到的LSR报文,发送Link State Update(LSU)报文携带请求的LSA。
  3. 最短路径计算:

    • 每个路由器收集到足够的LSA后,构建链路状态数据库(LSDB)。
    • 使用Dijkstra算法基于链路状态信息计算最短路径树(Shortest Path Tree),确定到达目标网络的最短路径。
  4. 路由更新和转发:

    • 路由器使用最短路径树计算出的路由表更新自己的路由表。
    • 路由器使用已更新的路由表将数据包转发到最佳路径上的下一跳路由器。
  5. 监听和更新:

    • 路由器周期性地发送Hello报文以保持邻居关系,并检测邻居失效。
    • 当链路状态信息发生变化时,路由器会向邻居发送新的LSA,并更新链路状态数据库。

配置

调整设备接口的网络类型

 

LSA类型

常见的OSPF LSA类型

Type 1 LSA(Router LSA):由每个OSPF路由器生成,用于描述路由器的直连连接和邻居信息。它被分发到本地区域的所有其他路由器,帮助构建链路状态数据库(LSDB)。

Type 2 LSA(Network LSA):由DR(Designated Router)创建,用于描述多点链路的网络段。它提供了该网络上的所有路由器的信息,并分发给本地区域中的其他路由器。

Type 3 LSA(Summary LSA):由ABR(Area Border Router)在不同区域之间传播,用于汇总本地区域内的网络信息,向其他区域的路由器提供达到本地区域内部目标网络的路径信息。

Type 4 LSA(ASBR Summary LSA):由ASBR(AS Boundary Router)创建,用于向本地区域中的其他路由器提供到达外部AS(Autonomous System)的路径信息。

Type 5 LSA(External LSA):由ASBR生成,用于表示外部AS中的目标网络。它被分发到所有的区域中,并包含了到达外部目标网络的路径信息。

Type 7 LSA(NSSA External LSA):在NSSA(Not-So-Stubby Area)中使用,类似于Type 5 LSA,但用于表示从NSSA区域到外部网络的路径信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/840228.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Windows安装子系统Linux

Windows安装子系统(Linux ubuntu) 安装条件步骤1.安装WSL命令2.设置Linux用户名和密码3.写个简单的.c程序看看4.如何互传文件 安装条件 Windows 10版本2004及更高的版本才能安装。 步骤 1.安装WSL命令 我们可以使用WSL来安装子系统 Linux ubuntu(默认是这个)。 …

思科2021笔试题

笔试时间:2020.09.07,19:00——21:00 岗位:嵌入式软件工程师 题型:数据结构4道,网络3道,操作系统3道,C4道,Java4道,python4道,数据库…

ORCA优化器浅析——CQueryContext对优化器的要求

从ORCA优化器浅析——重要主流程概述中可以知道进入真正优化器引擎执行流程之前需要对优化器提出要求,比如后面会提到的required columns、required sort orders等。而CQueryContext即是承载这些内容的类。首先CQueryContext类是通过PqcGenerate函数构造的&#xff…

深入学习JVM —— GC垃圾回收机制

前言 前面荔枝已经梳理了有关JVM的体系结构和类加载机制,也详细地介绍了JVM在类加载时的双亲委派模型,而在这篇文章中荔枝将会比较详细地梳理有关JVM学习的另一大重点——GC垃圾回收机制的相关知识,重点了解的比如对象可达性的判断、四种回收…

推荐一款老化测试软件 Monitor.Analog

1. 数据采集模块: 该模块负责与下位机设备通信,实时采集模拟量数据。支持多种通信协议,如Modbus、OPC等,以适应不同类型的设备。数据采集模块还需要具备异常数据处理功能,例如数据丢失、错误数据等。 2. 数据存储模块…

Linux命令200例:用Look一个进行文本搜索工具

🏆作者简介,黑夜开发者,全栈领域新星创作者✌,阿里云社区专家博主,2023年6月csdn上海赛道top4。 🏆数年电商行业从业经验,历任核心研发工程师,项目技术负责人。 🏆本文已…

Python简单应用V

题目 通过编写函数实现下述各题。 输入一字符串,各个子串之间按空白字符隔开,分别显式其中最长、最短子串,以及最大、最小字符。 输入单个字符,判断并显示该字符是否为大写英文字母、小写英文字母、非英文文字字符、空格、数字或…

【Paper Reading】DETR:End-to-End Object Detection with Transformers

背景 Transformer已经在NLP领域大展拳脚,逐步替代了LSTM/GRU等相关的Recurrent Neural Networks,相比于传统的RNN,Transformer主要具有以下几点优势 可解决长时序依赖问题,因为Transformer在计算attention的时候是在全局维度进行…

CentOS7---部署Tomcat和安装Jpress

总览需求 1. 简述静态网页和动态网页的区别。 2. 简述 Webl.0 和 Web2.0 的区别。 3. 安装tomcat8,配置服务启动脚本,部署jpress应用。1、简述静态网页和动态网页的区别 静态网页: 请求响应信息,发给客户端进行处理&#xff0c…

回顾 OWASP 机器学习十大风险

日复一日,越来越多的机器学习 (ML) 模型正在开发中。机器学习模型用于查找训练数据中的模式,可以产生令人印象深刻的检测和分类能力。机器学习已经为人工智能的许多领域提供了动力,包括情感分析、图像分类、面部检测、威胁情报等。 数十亿美…

复现sci顶刊中的画中画(局部细节放大)

简介 小编在撰写学术论文时,为了突出所提模型的优越性,你可以通过放大图形中的局部位置来进行比较。尽管从全局来看,各个方法的拟合效果都还不错,但通过放大图中的特定区域,可以更清楚地展示所提模型相对于其他模型的…

echarts实现立体柱状图

实现效果图如下&#xff1a; 上面除了立体图之外还增加了背景图。注意&#xff0c;可以发现这个图的右下角是是和x轴平齐的&#xff0c;如果右下角也要折角&#xff0c;可以根据代码修改下描点的点位就可以了。 完整代码如下&#xff1a; <template><div id"ba…

从特斯拉FSD v11.4.6,看FSD入华

从特斯拉FSD v11.4.6&#xff0c;看FSD入华 1. 芝加哥城区a. 亮点b. 问题 2. 小镇中心a. 亮点b. 问题 3. FSD入华a. 技术路线b. 场景 4. 参考视频 FSD最近更新了v11.4.6&#xff0c;本文根据2个FSD城区测试视频&#xff0c;一起看一下有哪些亮点和问题。 FSD入华的消息也甚嚣尘…

HTML5中Canvas学习笔记:Canvas

目录 一、HTML中Canvas画图strokeStyle 和 fillStyle 的区别是什么&#xff1f; 二、如何设置一幅canvas图中某个颜色透明&#xff1f; 三、H5 canvas中strokeRect参数如果是小数&#xff0c;如何处理&#xff1f; 四、H5 Canvas中如何画圆角矩形框&#xff1f; 一、HTML中…

python字符串输入输出与注解

目录 数据输入 前言 数据输出 字符串 字符串的三种定义方法 引号嵌套 字符串的拼接 字符串格式化 拼接字符串缺点 python常用的格式符号 格式化的精度控制 字符串快速格式化 快速格式化特点 对表达式进行格式化 具体案例 字符串的大小比较 字符串比较方式 变…

分类预测 | MATLAB实现WOA鲸鱼算法同步优化特征选择结合支持向量机分类预测

分类预测 | MATLAB实现WOA鲸鱼算法同步优化特征选择结合支持向量机分类预测 目录 分类预测 | MATLAB实现WOA鲸鱼算法同步优化特征选择结合支持向量机分类预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 MATLAB实现WOA鲸鱼算法同步优化特征选择结合支持向量机分类预测…

DASCTF 2023 0X401七月暑期挑战赛 Web方向 EzFlask ez_cms MyPicDisk 详细题解wp

EzFlask 源码直接给了 CtrlU查看带缩进的源码 import uuidfrom flask import Flask, request, session # 导入黑名单列表 from secret import black_list import jsonapp Flask(__name__) # 为 Flask 应用设置一个随机的 secret_key app.secret_key str(uuid.uuid4())# 检查…

epoll、poll、select的原理和区别

select&#xff0c;poll&#xff0c;epoll都是IO多路复用的机制。I/O多路复用就是通过一种机制&#xff0c;一个进程可以监视多个描述符&#xff0c;一旦某个描述符就绪&#xff08;一般是读就绪或者写就绪&#xff09;&#xff0c;能够通知程序进行相应的读写操作。但select&a…

Android 实现账号诊断动画效果,逐条检测对应的项目

Dialog中的项目 逐条检测效果&#xff1a; 依赖库&#xff1a; implementation com.github.li-xiaojun:XPopup:2.9.19 implementation com.blankj:utilcodex:1.31.1 implementation com.github.CymChad:BaseRecyclerViewAdapterHelper:3.0.101、item_account_check.xml <…

【C语言】静态关键字static的用法(详解)

&#x1f388;个人主页&#xff1a;库库的里昂 &#x1f390;CSDN新晋作者 &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏 ✨收录专栏&#xff1a;C语言初阶 ✨其他专栏&#xff1a;代码小游戏 &#x1f91d;希望作者的文章能对你有所帮助&#xff0c;有不足的地方请在评论…