8.路由原理专题

路由器数据转发原理,路由表、FIB、快速转发表的关系

  • 路由的控制平面与转发平面

    • 控制平面:负责路由计算,维护;路由协议运行在控制平面

    • 转发平面:进行数据包的封装,报文转发,路由表,FIB表,快速转发表等

    • 控制平面与转发平面相互独立又协同工作

  • 路由器检查数据包的目的 IP 地址,用数据包的目的 IP 地址查询路由表,在路由表中对所有路由条目遍历,最终按照能匹配的掩码最长的路由进行转发

  • 基于最长匹配机制,路由表规模太大后,将会大幅降低查表速度,从而影响转发效率。同时为了做到控制平面与转发平面完全隔离,构建了FIB表,所以设计了 FIB 表,FIB 表来自于路由表中 Active 状态的路由和 ARP表,FIB 表规模大幅小于路由表,所以数据转发查询 FIB 表,速度会更快

    image-20250227005544203

  • FIB 表和路由表一样都属于最长匹配的表项,所以能够提升的查询速度也较有限。所以引入了快速转发表

  • 快速转发表是针对数据五元组信息的精确匹配表项。当一组五元组相同的数据流的首包进入路由器,路由器会通过查 FIB 表来完成转发,并根据转发结果来产生该五元组的快速转发表项。后续五元组相同的数据包再进入路由器,就查询到快速转发表,按照快速转发表来完成转发;由于快速转发表项是精确匹配,无需遍历整个表项,所以查表速度可以大幅提升;(源IP地址,源端口号,目的IP地址,目的端口号,协议号)

    image-20250227005601658

路由备份与路由负载

  • 路由备份指的当一台路由器上有多条路径到达目的网段,配置不同来源的路由走不同路径,按照路由写表规则,会选择优先级数字最小的路由成为 Active 路由,其他路由成为 Inactive 路由。当 Active 路由故障后,路由器会在 Inactive 路由中选择优先级数字最小的成为新的 Active 路由

  • 路由负载则是在路由器上配置同一来源的路由,如果 Cost.相等,就会在多条路径上产生等价路由,从而实现到达目的网段流量的负载分担

  • 实际使用中,如果不同路径的带宽相差太大,建议使用路由备份,如果不同路径的带宽接近,则建议使用等价路由来负载

什么是浮动静态路由

  • 场景:当网络中存在两个出口,一个出口是高速链路,一个是低速。一般会在高速出口上运行路由协议来传递路由,而低速链路为了节省带宽,都会配置静态路由如果高速链路上运行的是 RIP 协议的话,根据路由写表规则,路由器会选择静态路由作为最优路由,而不会选择 RIP。这样就会导致低速链路成为了主链路而高速链路成为了备份链路,不符合真实需求

  • 浮动静态路由就是指把静态路由的优先级数字改大,使路由协议的路由能够成为 Active 路由、而静态路由成为 |nactive 的备份路由。这样高速链路就会成为主链路、当主链路故障、静态路由就会被立即切换为 Active 路由,形成路由备份的效果

路由聚合的意义以及路由聚合的注意事项

  • 路由聚合是指把多条明细路由合并为一条,来缩小路由表规模,加快路由查表速度,以及提高路由表稳定性的技术,通常也将路由聚合称为路由汇总

  • 要把多条路由聚合为一条,需要满足如下条件:

    • 被聚合的路由必须是连续的子网

    • 对 IGP路由进行聚合时,聚合路由中所包含的所有子网必须是同一下一跳或出接口,对手BGP路由进行聚合时,只要在 BGP表中存在的明细路由都可以进行聚合

  • 路由聚合在某些情况下会产生环路

    image-20250226205836777

    • 当两台路由器互相对路由进行聚合,聚合的范围过大,聚合路由中包含了网络中不存在的子网时,一旦有数据包访问不存在的子网,就会导致该数据包在两台路由器之间形成路由环路。解决方法是配置精准的聚合,尽量不要使聚合的路由中包含不存在的子网

    • image-20250226210214725

      • 如图,当 RTA 对本机上的子网路由在 RIP 中进行聚合后传递给 RTB,同时RTA 配置了缺省路由指向RTB。网络正常时没有环路。但当 RTA 的某个子网故障后,该子网的明细路由在路由表中消失。如果有数据包访问该故障就会导致RTA 按照缺省路由把数据包发往 RTB,RTB 收到后会按照合路由发送给RTA,形成环路。解决方法是在 RTA上配置黑洞路由(即出接口指向 null0 的路由),目的网段与聚合路由一致。当子网故障后,再有访问故障子网的数据包,基于最长掩码匹配规则,RIA 会按照黑洞路由丢弃数据包,而不是匹配缺省路由发往RTB

路由表的来源,以及路由表路由优选规则

  • 路由表的来源可分为直连路由、静态路由、路由协议

    • 直连路由:根据路由器的直连接口所在网段自动产生的路由。只要接口 UP并配置了 IP地址,就会产生直连路由

    • 静态路由:手动配置的到达每个目的网段的路由,大规模网络中配置维护复杂,但没有协议开销

    • 路由协议:配置维护简单,路由器会自动传递并学习路由,但是会消耗系统资源

  • 路由优选规则:

    • 不同来源的路由优先级数字小的优先。如果手动把不同协议的优先级改成一致,按照默认优先级进行优选

    • 同一来源的路由,对比度量值,小的优先

    • 同一来源,度量值相同,会自动形成等价路由

  • 常见协议的优先级/管理距离

    image-20250226210858233

路由协议的优先级

  • 路由器分别定义了外部优先级和内部优先级。外部优先级是指用户可以手工为各路由协议配置的优先级,路由协议的内部优先级则不能被用户手工修改。

  • 同一个设备对于自身不同路由协议都设置相同的路由优先级时,则根据不同协议的内部优先级比较,所以内部优先级不能被修改;

  • ~设备通过OSPF5类和7类学到路由,优先选谁?内部优先级一样,不具备可比性;①类型1>类型2;②比开销③负载

  • 默认的外部优先级和默认的内部优先级

    image-20250226211459986

什么是最长掩码匹配规则

  • 当数据包在路由器中同时匹配多条掩码长度不同的路由时,会按照掩码最长的路由进行转发。因为掩码越长,意味着网络越精确。所以当同时存在明细路由聚合路由,缺省路由时,优选顺序是明细路由>聚合路由>缺省路由

什么是路由选代规则

  • 当路由表查询到下一跳地址是非直连地址后,路由器会将下一跳的地址再次询路由表,直到查询到下一跳地址是直连地址为止

  • 路由迭代也称为路由的递归查询,可能需要查找多次

路由协议有哪些?分别工作在第几层?各有什么特点

  • RIP>UDP(基于 UDP 端口 520)>应用层>距离矢量路由协议(跳数、水平分割、路由毒化、毒性反转、触发更新、定时器)

  • OSPF>IP(基于IP 排议号 89)>网络层>链路状态路由协议(分区域、SPF 算法、多种 LSA)

  • ISIS>Ethernet Pame>802.3>链路状态路由协议(分区域、SPF 算法)

  • BGP>TCP(基于 TCR 端口 179)>多应用层>承载大量的路由(丰富的路由策略工具)

路由协议的分类

  • 根据作用的范围,路由协议可分为:

    • 内部网关协议(简称IGP):在一个自治系统内部运行,常见的IGP 协议包括 RIP、OSPF 和IS-IS。

    • 外部网关协议(简称EGP)运行于不同自治系统之间,BGP 是目前最常用的 EGP 协议。

  • 根据使用的算法,路由协议可分为

    • 距离矢量协议:包括 RIP和 BGP。其中,BGP 也被称为路径矢量协议。

    • 链路状态协议:包括 OSPF 和 IS-IS。

  • 根据目的地址的类型,路由协议可分成:

    • 单播路由协议:包括 RIP、OSPF、BGP 和 IS-IS 等。

    • 组播路由协议:包括PIM-SM、PIM-DM、PIM-SSM 等。

距离矢量协议的特征

  • 周期性、广播发送路由更新

  • 路由更新中携带全部路由表,接收方据此更新自己的路由

  • 超过一定时间接收不到路由更新报文,则认为此路由失效

  • 以到目的网段的距离(跳数)作为度量值

  • 拓扑变化以逐跳的方式扩散

  • 路由收敛速度慢

  • 采用距离矢量算法,可能导致路由环路

链路状态协议的特征

  • 通过 Hello 报文来发现邻居

  • 建立邻接关系后,只发送链路状态公告(LSA)

  • 根据自己的链路状态数据库(LSDB)来计算路由

  • 链路状态变化时,马上发送LSA 到区域内所有路由器

  • 路由收敛速度快

  • 采用 SPF算法无路由自环

路径矢量协议的特征

  • 仅在邻居刚建立时发送全部路由表、邻居建立后只发送增量路由更新

  • 如果邻居失效,则认为路由失效

  • 丰富的路由属性作为度量值

  • 拓扑变化以逐跳方式扩散

  • 采用机制防止路由环路

  • (BGP)

实现 VLAN 间路由的方式以及各自的优缺点

  • 路由器使用不同接口连接不同 VLAN,VLAN 内的 PC 把网关指向为路由器在本VLAN 的接口地址,VLAN 之间通过路由器进行三层通讯。该方式对路由器接口数量要求很高,路由器一般没有这么多接口

  • 单臂路由技术:路由器单线连接到交换机的Trunk口,路由器在接口上划分子接口,不同子接口绑定不同 VLAN,并作为不同 VLAN 的网关地址。该方式不再受路由器接口数量限制,但是单线连接所有 VLAN,会导致性能负担太重,也容易造成单点故障,同时可能存在次优路径

  • 使用三层交换技术:在三层交换机上配置 IP地址,对不同VLAN 的 PC 进行三层转发。该方式不受接口数量限制,也不用通过其他设备来完成三层转发。并且在三层交换机中,三层转发和二层转发时一次完成转发效率高

  • 如何使用纯二层交换机实现不同 VLAN 的通信??

    • 使用 hybrid 接口来实现

  • 怎么实现两个 vlan 之间无法通信??

    • 可以使用 ACL 进行流量过滤

配置黑洞路由的作用

  • 黑洞路由是指出接口指向 Null0 接口的路由,NULL0 接口从不转发任何报文对于所有发到该接口的报文都直接丢弃,由于它的这个特征,NULL0 接口主要被用在以下两方面:

    • 防止路由环路,在聚合一组路由时,总是创建一条到 NULL0 接口的路由

    • 用于过滤流量,可以通过将不想要的报文发送到 NULL0 接口,避免使用访问控制列表。

  • 黑洞路由是如何产生的

    • 路由协议进行路由聚合时会针对聚合路由自动产生一条指向null0接口的黑洞路由

    • 可以手工添加

  • 黑洞路由vs路由黑洞(是一种现象,查表没有然后丢失)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

详细分析KeepAlive的基本知识 并缓存路由(附Demo)

目录 前言1. 基本知识2. Demo2.1 基本2.2 拓展2.3 终极 3. 实战 前言 🤟 找工作,来万码优才:👉 #小程序://万码优才/r6rqmzDaXpYkJZF 基本知识推荐阅读:KeepAlive知识点 从实战中学习,源自实战中vue路由的…

Free Auto Clicker - 在任意位置自动重复鼠标点击

“想让鼠标自己动起来,解放双手去做更有趣的事?”Free Auto Clicker 就像你的数字小助手,能在任意位置自动重复点击鼠标。从玩游戏到刷网页,这款免费工具让你告别枯燥的重复操作,效率瞬间起飞! 你有没有想…

【人工智能】GPT-4 vs DeepSeek-R1:谁主导了2025年的AI技术竞争?

前言 2025年,人工智能技术将迎来更加激烈的竞争。随着OpenAI的GPT-4和中国初创公司DeepSeek的DeepSeek-R1在全球范围内崭露头角,AI技术的竞争格局开始发生变化。这篇文章将详细对比这两款AI模型,从技术背景、应用领域、性能、成本效益等多个方…

蓝桥杯第15届真题解析

由硬件框图可以知道我们要配置LED 和按键、lcd,解决lcd引脚冲突 LED 先配置LED的八个引脚为GPIO_OutPut,锁存器PD2也是,然后都设置为起始高电平,生成代码时还要去解决引脚冲突问题 按键 按键配置,由原理图按键所对引…

51c自动驾驶~合集22

我自己的原文哦~ https://blog.51cto.com/whaosoft/11870502 #自动驾驶数据闭环最前沿论文 近几年,自动驾驶技术的发展日新月异。从ECCV 2020的NeRF问世再到SIGGRAPH 2023的3DGS,三维重建走上了快速发展的道路!再到自动驾驶端到端技术的…

【Python】——使用python实现GUI图书管理系统:Tkinter+SQLite实战

本文将通过一个完整的python项目——图书管理系统,演示如何利用Tkinter构建GUI 界面,结合SQLite数据库实现增删改查功能。代码简洁易懂,适合python初学者学习和二次开发。 一、项目功能概览 图书管理:添加、查看、修改、删除图书…

Docker创建自定义网桥并指定网段

前言 docker0是Docker默认网络的核心组件, 通过虚拟网桥和NAT技术, 实现了容器间的通信以及容器与外部网络的交互。然而, docker0网段是固定的(通常是172.17.0.0/16), 为了更灵活地管理容器网络,Docker支持创建自定义网桥,允许用户指定网段。 例如, 在…

Spring Boot集成Spring Ai框架【详解 搭建Spring Ai项目,以及简单的ai大模型智能体应用,附有图文+示例代码】

文章目录 一.Spring Ai介绍1.0 认识Spring Ai1.1 特征1.1 大模型专业名字介绍1.1.1 RAG(检索增强生成)RAG 的基本原理RAG 的关键技术RAG 的优势RAG 的应用场景 1.1.2 fine-tuning(微调)1.1.3 function-call(函数调用) 1.2 创建简单的Spring Ai项目 二.Spring Ai简单的智能应用2…

51c自动驾驶~合集53

我自己的原文哦~ https://blog.51cto.com/whaosoft/13431196 #DriveTransformer 上交提出:以Decoder为核心的大一统架构写在前面 & 笔者的个人理解 当前端到端自动驾驶架构的串行设计导致训练稳定性问题,而且高度依赖于BEV,严重限…

【C语言】联合体 `union` 的妙用

C 语言联合体的妙用:结合 . 和 -> 操作符与 typedef 的深入剖析 在 C 语言中,联合体(union)是一种独特的复合数据类型,因其内存共享特性而在内存优化、类型切换和底层操作中展现出妙用。与结构体(struct)不同,联合体允许同一块内存存储不同类型的数据,提供高效且灵…

UDP协议(20250303)

1. UDP UDP:用户数据报协议(User Datagram Protocol),传输层协议之一(UDP,TCP) 2. 特性 发送数据时不需要建立链接,节省资源开销不安全不可靠的协议 //一般用在实时性比较高…

自动化学习-使用git进行版本管理

目录 一、为什么要学习git 二、git是什么 三、git如何使用 1、git的下载安装和配置 2、git常用的命令 3、gitee远程仓库的使用 (1)注册 (2)创建仓库 (3)配置公钥(建立电脑和git…

20250301在chrome中安装CRX猫抓

20250301在chrome中安装CRX猫抓 2025/3/1 18:08 百度:猫抓 CRX https://www.crx4chrome.com/crx/49597/ 猫抓 (cat-catch) Crx File 2.5.9 for Chrome (Latest Version) Get Latest Version of 猫抓 (cat-catch) from Web Store Developer Tools > cat-catch / E…

[LeetCode]day33 150.逆波兰式求表达值 + 239.滑动窗口最大值

逆波兰式求表达值 题目链接 题目描述 给你一个字符串数组 tokens ,表示一个根据 逆波兰表示法 表示的算术表达式。 请你计算该表达式。返回一个表示表达式值的整数。 注意: 有效的算符为 ‘’、‘-’、‘*’ 和 ‘/’ 。 每个操作数(运…

pnpm+monorepo实现前端公共函数、组件库

一、前言 1. pnpm pnpm 是前端包管理工具之一,常见的还有npm、yarn等,但pnpm由于安装速度快、磁盘占用低、内置支持monorepo等优势,所以更推荐使用。 1-1 包管理工具核心特点对比 特性pnpmnpmyarn安装速度🚀 快(基…

【计算机网络入门】初学计算机网络(八)

目录 1. S-W协议的信道利用率 2. GBN、SR协议的信道利用率 3.术语补充 3.1 滑动窗口协议 3.2 ARQ协议、连续ARQ协议 4. 信道划分介质访问控制 4.1 时分复用(TDM) 4.2 统计时分复用(STDM) 4.3 频分复用(FDM&a…

JVM基本概念及内存管理模型

一、JVM基本概念 JVM(Java Virtual Machine,Java 虚拟机)是 Java 程序运行的核心组件。它负责将 Java 字节码转换为特定平台的机器指令,并提供内存管理、垃圾回收、安全性等功能。JVM 的主要功能包括以下: 加载和执行…

Docker 学习(三)——数据管理、端口映射、容器互联

一、数据管理 容器中的管理数据主要有两种方式: 数据卷 (Data Volumes): 容器内数据直接映射到本地主机环境; 数据 卷容器( Data Volume Containers): 使用特定容器维护数据卷 1.…

解锁Egg.js:从Node.js小白到Web开发高手的进阶之路

一、Egg.js 是什么 在当今的 Web 开发领域,Node.js 凭借其事件驱动、非阻塞 I/O 的模型,在构建高性能、可扩展的网络应用方面展现出独特的优势 ,受到了广大开发者的青睐。它让 JavaScript 不仅局限于前端,还能在服务器端大展身手&…

我的ChatGPT怎么登不上?

近期,不少用户反馈在使用ChatGPT时遇到登录困难、连接超时等问题。本文将从技术角度分析常见原因,并提供合规、安全的解决方案,同时结合开发者实际需求推荐实用工具,助您高效应对登录障碍。 ChatGPT登录失败的常见原因 网络环境限…