IP路由基础+OSPF 基础

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.hqwc.cn/news/59768.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

有哪些简单的AI绘画软件?

随着人工智能技术的不断发展,越来越多的人工智能绘画软件出现了。人工智能绘画软件利用人工智能技术,通过计算机自动生成或辅助生成艺术作品。人工智能绘画软件通常集成了深度学习、计算机视觉和自然语言处理技术,可以模拟人类的创作过程&…

Openlayers实战:fill,stroke,icon,text应用范例

Openlayers中加载或者绘制的数据,在layer上以矢量的形式展示,通过设置style,可以赋值填充色,边框大小颜色,文字,图片等。在本示例中,将这些基础的内容汇集在一起,做一个演示。 效果图 源代码 /* * @Author: 大剑师兰特(xiaozhuanlan),还是大剑师兰特(CSDN) * @此…

SolidUI社区-提示词链式思考(CoT)

背景 随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相…

缓解针对LLM应用程序的存储提示注入攻击

推荐:使用 NSDT场景编辑器 助你快速搭建可编辑的3D应用场景 LLM提供提示文本,并根据其已训练和访问的所有数据进行响应。为了用有用的上下文补充提示,一些 AI 应用程序捕获来自用户的输入,并在将最终提示发送到 LLM 之前将用户看不…

Cortex-M3的双堆栈MSP和PSP(学习)

M3的栈,先进后出。 是局部变量内存的开销,函数的调用都离不开栈。 Cortex-M3内核使用了双堆栈,即MSP和PSP。 MSP:Main_Stack_Pointer,即主栈。 PSP:Process_Stack_Pointer,即任务栈。 SP&#…

[信号与系统系列] 正弦振幅调制之差拍信号

当将具有不同频率的两个正弦曲线相乘时,可以创建一个有趣的音频效果,称为差拍音符。这种现象听起来像颤音,最好通过选择一个频率非常小的信号与和另一个频率大约1KHz的信号,把二者混合从而听到。一些乐器能够自然产生差拍音符。使…

【2.2】Java微服务:Hystrix的详解与使用

目录 分布式系统面临问题 Hystrix概念 Hystrix作用 降级 什么是降级 order服务导入Hystrix依赖(简单判断原则:谁调用远程谁加) 启动类添加注解 业务方法添加注解(冒号里填回调方法名,回调方法返回兜底数据&…

1077 Kuchiguse

PTA | 程序设计类实验辅助教学平台 一个测试点没过&#xff0c;不知道哪的原因 #include<bits/stdc.h> using namespace std; const int N210; int n; string s[N]; string str[N]; string ans; int main() {int len300;scanf("%d",&n);getchar();for(int…

报错Uncaught (in promise) Error: Manifest request to...

在使用nuxt框架时&#xff0c;出现如下报错&#xff1a; 解决方案&#xff1a; 不要打开两个以上的开发者工具更换nuxt的端口号 参考资料&#xff1a;https://github.com/nuxt/nuxt.js/issues/6202

CSV文件编辑器——Modern CSV for mac

Modern CSV for Mac是一款功能强大、操作简单的CSV文件编辑器&#xff0c;适用于Mac用户快速、高效地处理和管理CSV文件。Modern CSV具有直观的用户界面&#xff0c;可以轻松导入、编辑和导出CSV文件。它支持各种功能&#xff0c;包括排序、过滤、查找和替换&#xff0c;使您能…

C语言笔试训练【第六天】

大家好&#xff0c;我是纪宁。今天是C语言笔试训练的第6天&#xff0c;加油&#xff01; 往期回顾&#xff1a; C语言笔试训练【第五天】 C语言笔试训练【第四天】 C语言笔试训练【第三天】 C语言笔试训练【第二天】 C语言笔试训练【第一天】 1、以下叙述中正确的是&…

进入现代云技术的世界-APIGateway、ServiceMesh、OpenStack、异步化框架、云原生框架、命令式API与声明式API

目录 APIGateway Service Mesh OpenStack 异步化框架 云原生框架 命令式API与声明式API APIGateway API网关&#xff08;API Gateway&#xff09;是一个服务器——充当了客户端和内部服务之间的中间层。API网关负责处理API请求&#xff0c;将客户端的请求路由到相应的后端…