网络模型-路由策略
一、路由策略
路由策略(Routing Policy)作用于路由,主要实现了路由过滤和路由属性设置等功能,它通过改变路由属性(包括可达性)来改变网络流量所经过的路径。目的:设备在发布、接收和引入路由信息时,根据实际组网需要实施一些策略,以便对路由信息进行过滤和改变路由信息的属性:
路由策略 | 含义 |
控制路由的发布 | 只发布满足条件的路由信息。 |
控制路由的接收 | 只接收必要、合法的路由信息,以控制路由表的容量提高网络的安全性。 |
过滤和控制引入的路由 | 一种路由协议在引入其他路由协议发现的路由信息丰富自己的路由知识时,只引入一部分满足条件的路由信息并对所引入的路由信息的某些属性进行设置,以使其满足本协议的要求。 |
设置特定路由的属性 | 修改通过路由策略过滤的路由的属性,满足自身需要。 |
二、路由策略原理
1、路由策略的实现:
路由策略的实现分为以下两个步骤:
1、定义规则:定义将要实施路由策略的路由信息的特征,即定义一组匹配规则。可以用路由信息中的不同属性作为匹配依据进行设置,如目的地址、发布路由信息的设备地址等。
2、应用规则:将匹配规则应用于路由的发布、接收和引入等过程的路由策略中。
2、过滤器路
由策略的核心内容是过滤器,通过使用过滤器,可以定义一组匹配规则。在设备中,提供了以下几种过滤器供路由策略使用。
三、使用前缀列表对接收和发布的路由进行过滤
运行OSPF协议的网络中,DeviceA从Internet网络接收路由,并为DeviceB提供了部分Interet路由。要求DeviceA仅提供172.16.17.0/24、172.16,18.0/24、172.16.19.0/24给DeviceB,Devicec仅接收路由172.16.18.0/24,DeviceD接收DeviceB提供的全部路由。
1、配置思路
采用如下的思路配置对路由进行过滤:
1、配置各路由设备接口IPv4地址。(省略)
2、在DeviceA、DeviceB、Devicec和DeviceD上配置OSPF基本功能
3、在DeviceA上配置5条静态路由,并将这些路由引入0SPF路由:
4、在DeviceA上配置路由发布策略
5、在Devicec上配置路由接收策略
2、 配置OSPF基本功能。
# DeviceA的配置。
[DeviceA] ospf
[DeviceA-ospf-1] area 0
[DeviceA-ospf-1-area-0.0.0.0]network 192.168.1.0 0.0.0.255
[DeviceA-ospf-1-area-0.0.0.0]quit
[DeviceA-ospf-1] quit
# DeviceB的配置。
[DeviceB] ospf
[DeviceB-ospf-1] area 0
[DeviceB-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255
[DeviceB-ospf-1-area-0.0.0.0]network 192.168.2.0 0.0.0.255
[DeviceB-ospf-1-area-0.0.0.0] network 192.168.3.0 0.0.0.255
[DeviceB-ospf-1-area-0.0.0.0] quit
# DeviceC的配置。
[DeviceC] ospf
[DeviceC-ospf-1] area 0
[DeviceC-ospf-1-area-0.0.0.0]network192.168.2.0 0.0.0.255
[DeviceC-ospf-1-area-0.0.0.0] quit
[DeviceC-ospf-1] quit
# DeviceD的配置。
[DeviceD] ospf
[DeviceD-ospf-1] area 0
[DeviceD-ospf-1-area-0.0.0.0]network 192.168.3.0 0.0.0.255
[DeviceD-ospf-1-area-0.0.0.0] quit
3、在DeviceA上配置5条静态路由,并将这些静态路由引入到OSPF协议中。
[DeviceA]ip route-static 172.16.16.0 24 NULLO
[DeviceA]ip route-static 172.16.17.0 24 NULLO
[DeviceA]ip route-static 172.16.18.0 24 NULLO
[DeviceA]ip route-static 172.16.19.0 24 NULLO
[DeviceA]ip route-static 172.16.20.0 24 NULLO
[DeviceA] ospf
[DeviceA-ospf-1]import-route static
[DeviceA-ospf-1] quit
4、配置路由发布策略。
# 在DeviceA上配置地址前缀列表a2b。
[DeviceA]ip ip-prefix a2b index 10 permit 172.16.17.0 24
[DeviceA]ip ip-prefix a2b index 20 permit 172.16.18.0 24
[DeviceA]ip ip-prefix a2b index 30 permit 172.16.19.0 24
# 在DeviceA上配置发布策略,引用地址前缀列表a2b进行过滤。
[DeviceA] ospf
[DeviceA-ospf-1] filter-policyip-prefix a2b export static
[DeviceA-ospf-1] quit
5、 配置路由接收策略。
# 在Devicec上配置地址前缀列表in。
[DeviceC] ip ip-prefixin index 10 permit 172.16.18.0 24
# 在Devicec上配置接收策略,引用地址前缀列表in进行过滤
[DeviceC] ospf
[DeviceC-ospf-1] filter-policy ip-prefixin import
6、检查配置结果
# 在DeviceB上查看IP路由表。
[DeviceB] display ip routing-table
四、在路由引入时应用路由策略
DeviceB与DeviceA之间通过OSPF协议交换路由信息,与Devicec之间通过IS-IS协议交换路由信息。要求在DeviceB上配置路由引入将IS-IS路由引入到OSPF中去,并同时使用路由策略设置路由的属性。其中,设置172.16.1.0/24的路由的开销为100,设置172.16.2.0/24的路由的Tag属性为20。
1、配置过程
在DeviceB和Devicec上配置IS-IS基本功能。
在DeviceA和DeviceB上配置OSPF,引入IS-IS路由。
在DeviceB上配置路由策略,并在OSPF引入IS-IS路由时应用路由策略,查看路由信息。
2、配置routerC的IS-IS路由协议。
[DeviceC]isis
[DeviceC-isis-1]is-level level-2
[Devicec-isis-1]network-entity 10.0000.0000.0001.00
[DeviceC-isis-1] quit
[DeviceC] interface Vlanif400
[DeviceC-Vlanif400] isis enable
[DeviceC-Vlanif400] quit
[DeviceC] interface Vlanif100
[DeviceC-Vlanif100] isis enable
[Devicec-Vlanif100] quit
[DeviceC]interface Vlanif200
[Devicec-Vlanif200] isis enable
[DeviceC-Vlanif200] quit
[DeviceC]interface Vlanif300
[DeviceC-Vlanif300] isis enable
[DeviceC-Vlanif300] quit
3、配置DeviceB。
[DeviceB] isis
[DeviceB-isis-1]is-level level-2
DeviceB-isis-1 network-entity 10.0000.0000.0002.00
[DeviceB-isis-1] quit
[DeviceB] interface Vlanif200
[DeviceB-Vlanif200]isis enable
[DeviceB-Vlanif200] quit
4、配置DeviceA,启动OSPF。
[DeviceA] ospf
[DeviceA-ospf-1]area 0
[DeviceA-ospf-1-area-0.0.0.0]network 192.168.1.0 0.0.0.255
[DeviceA-ospf-1-area-0.0.0.0] quit
[DeviceA-ospf-1] quit
5、配置DeviceB,启动OSPF,并入IS-IS路由
[DeviceB] ospf
[DeviceB-ospf-1] area 0
[DeviceB-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255
[DeviceB-ospf-1-area-0.0.0.0] quit
[DeviceB-ospf-1] import-route isis 1
[DeviceB-ospf-1] quit
6、查看DeviceA的OSPF路由表,可以看到引入的路由。
[DeviceA] display ospf routing
7、配置过滤列表
#在DeviceB上配置编号为2002的ACL,允许172.16.2.0/24通过
[DeviceB] acl number 2002
[DeviceB-acl4-basic-2002]rule permit source 172.16.2.0 0.0.0.255
[DeviceB-acl4-basic-2002] quit
#在DeviceB上配置名为prefix-a的地址前缀列表,允许172.16.1.0/24通过。
[DeviceB] ip ip-prefix prefix-a index 10 permit 172.16.1.0 24
8、配置Route-Policy
#在DeviceB上配置名称为isis2ospf的route-policy。
[DeviceB] route-policy isis2ospf permit node 10
[DeviceB-route-policy] if-match ip-prefix prefix-a
[DeviceB-route-policy] apply cost 100
[DeviceB-route-policy] quit
[DeviceB] route-policy isis2ospf permit node 20
[DeviceB-route-policy] if-match acl 2002
[DeviceB-route-policy] apply tag 20
[DeviceB-route-policy] quit
[DeviceB] route-policy isis2ospf permit node 30
[DeviceB-route-policy] quit
9、在路由引入时应用Route-Policy
#配置DeviceB,设置在路由引入时应用Route-Policy。
[DeviceB] ospf
[DeviceB-ospf-1]import-route isis 1 route-policy isis2ospf
[DeviceB-ospf-1] quit
10、检查配置结果
#在DeviceA上查看OSPF路由表。
[DeviceA] display ospf routing
相关文章:

网络模型-路由策略
一、路由策略 路由策略(Routing Policy)作用于路由,主要实现了路由过滤和路由属性设置等功能,它通过改变路由属性(包括可达性)来改变网络流量所经过的路径。目的:设备在发布、接收和引入路由信息时,根据实际组网需要实施一些策略,…...
【MySQL精通之路】InnoDB(7)-锁和事务模型
1.InnoDB锁 【MySQL精通之路】InnoDB(7)-锁和事务模型(1)-锁-CSDN博客 2.InnoDB事务模型 【MySQL精通之路】InnoDB(7)-锁和事务模型(2)-事务模型-CSDN博客 3.InnoDB中不同SQL语句设置的锁 4.幻影行 5.InnoDB中的死锁 5.1InnoDB死锁示例 5.2死锁检测 …...

深度学习创新点不大但有效果,可以发论文吗?
深度学习中创新点比较小,但有效果,可以发论文吗?当然可以发,但如果想让编辑和审稿人眼前一亮,投中更高区位的论文,写作永远都是重要的。 那么怎样“讲故事”才能让论文更有吸引力?我总结了三点…...
【ARM Cache 系列文章 7.1 – ARMv8/v9 MMU 页表配置详细介绍 02 】
文章目录 Translation table descriptorTable descriptor format页面粒度和地址长度粒度(Granules)48位和52位地址TCR_ELx.DSVTCR_EL2.DSFEAT_LPA块描述符|页描述符紧接上篇文章【ARM Cache 系列文章 7 – ARMv8/v9 MMU 页表配置 01 】 Translation table descriptor</...

Mysql搭建主从同步,docker方式(一主一从)
服务器:两台Centos9 用Docker搭建主从 使用Docker拉取MySQL镜像 确保两台服务器都安装好了docker 安装docker请查看:Centos安装docker 1.两台服务器都先拉取mysql镜像 docker pull mysql 2.我这里是在 /opt/docker/mysql 下创建mysql的文件夹用来存…...

【已解决】使用token登录机制,token获取不到,blog_list.html界面加载不出来
Bug产生 今天使用token完成用户登录信息的存储的时候被卡了大半天。 因为登录的功能写的已经很多了,所以今天就没有写一点验一点,而是在写完获取博客列表功功能,验证完它的后端后,了解完令牌的基本使用以及Jwt的基本使用方式——…...

【Linux 网络编程】网络的基础知识详解!
文章目录 1. 计算机网络背景2. 认识 "协议" 1. 计算机网络背景 网络互联: 多台计算机连接在一起, 完成数据共享; 🍎局域网(LAN----Local Area Network): 计算机数量更多了, 通过交换机和路由器连接。 🍎 广域网WAN: 将…...

Nacos 2.x 系列【12】配置加密插件
文章目录 1. 前言2. 安装插件2.1 编译2.2 客户端2.3 服务端 3. 测试 1. 前言 为保证用户敏感配置数据的安全,Nacos提供了配置加密的新特性。降低了用户使用的风险,也不需要再对配置进行单独的加密处理。 前提条件: 版本:老版本暂时不兼容&…...

Kubernetes和Docker对不同OS和CPU架构的适配关系
Docker Docker官网对操作系统和CPU架构的适配关系图 对于其他发行版本,Docker官方表示没有测试或验证在相应衍生发行版本上的安装,并建议针对例如Debian、Ubuntu等衍生发行版本上使用官方的对应版本。 Kubernetes X86-64 ARM64 Debian系 √ √ Re…...

LabVIEW机器设备的振动监测
振动监测是工业和机械维护中重要的一部分,通过检测和分析机械振动,提前发现潜在故障,确保设备的可靠运行。LabVIEW是一种强大的图形化编程环境,非常适合用于振动监测系统的开发和实施。以下从多个角度详细介绍LabVIEW在振动监测中…...

FreeRTOS学习笔记-基于stm32(7)任务状态查询与任务时间统计API函数
1、FreeRTOS任务相关API函数 函数描述uxTaskPriorityGet()查询某个任务的优先级vTaskPrioritySet()改变某个任务的任务优先级uxTaskGetSystemState()获取系统中任务状态vTaskGetInfo()获取某个任务信息xTaskGetApplicationTaskTag()获取某个任务的标签(Tag)值xTaskGetCurrentT…...
Flutter 中的 ElevatedButton 小部件:全面指南
Flutter 中的 ElevatedButton 小部件:全面指南 Flutter 提供了多种按钮小部件,每种都有其独特的用途和样式。ElevatedButton 是其中一种,它代表了具有凸起效果的按钮,通常用于 Material Design 风格的应用中。本文将为您提供一个…...

huggingface的self.state与self.control来源(TrainerState与TrainerControl)
文章目录 前言一、huggingface的trainer的self.state与self.control初始化调用二、TrainerState源码解读(self.state)1、huggingface中self.state初始化参数2、TrainerState类的Demo 三、TrainerControl源码解读(self.control)总结 前言 在 Hugging Face 中,self.s…...

30【Aseprite 作图】桌子——拆解
1 桌子只要画左上方,竖着5,斜着3个1,斜着两个2,斜着2个3,斜着一个5,斜着一个很长的 然后左右翻转 再上下翻转 在桌子腿部分,竖着三个直线,左右都是斜线;这是横着水平线不…...

C++设计模式-单例模式,反汇编
文章目录 25. 单例模式25.1. 饿汉式单例模式25.2. 懒汉式单例模式25.2.1. 解决方案125.2.2. 解决方案2 (推荐写法) 运行在VS2022,x86,Debug下。 25. 单例模式 单例即该类只能有一个实例。 应用:如在游戏开发中&#x…...

Django 做migrations时出错,解决方案
在做migrations的时候,偶尔会出现出错。 在已有数据的表中新增字段时,会弹出下面的信息 运行这个命令时 python manage.py makemigrationsTracking file by folder pattern: migrations It is impossible to add a non-nullable field ‘example’ to …...

QT::QNetworkReply类readAll()读取不到数据的可能原因
程序中,当发送请求时,并没有加锁,而是在响应函数中加了锁,导致可能某个请求的finished信号影响到其他请求响应数据的读取 connect(reply,&QNetworkReply::finished,this,&Display::replyFinished);参考这篇文章ÿ…...

vxe-form-design 表单设计器的使用
vxe-form-design 在 vue3 中表单设计器的使用 查看官网 https://vxeui.com 安装 npm install vxe-pc-ui // ... import VxeUI from vxe-pc-ui import vxe-pc-ui/lib/style.css // ...// ... createApp(App).use(VxeUI).mount(#app) // ...使用 github vxe-form-design 用…...

【Linux】TCP协议【上】{协议段属性:源端口号/目的端口号/序号/确认序号/窗口大小/紧急指针/标记位}
文章目录 1.引入2.协议段格式4位首部长度16位窗口大小32位序号思考三个问题【demo】标记位URG: 紧急指针是否有效提升某报文被处理优先级【0表示不设置1表示设置】ACK: 确认号是否有效PSH: 提示接收端应用程序立刻从TCP缓冲区把数据读走RST: 对方要求重新建立连接; 我们把携带R…...

php之sql代码审计
1 SQL注入代码审计流程 1.1 反向查找流程 通过可控变量(输入点)回溯危险函数 查找危险函数确定可控变量 传递的过程中触发漏洞 1.2 反向查找流程特点 暴力:全局搜索危险函数 简单:无需过多理解目标网站功能与架构 快速:适用于自动化代码审…...
生成xcframework
打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式,可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...
Leetcode 3576. Transform Array to All Equal Elements
Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到…...
在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:
在 HarmonyOS 应用开发中,手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力,既支持点击、长按、拖拽等基础单一手势的精细控制,也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档,…...
Frozen-Flask :将 Flask 应用“冻结”为静态文件
Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是:将一个 Flask Web 应用生成成纯静态 HTML 文件,从而可以部署到静态网站托管服务上,如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践
6月5日,2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席,并作《智能体在安全领域的应用实践》主题演讲,分享了在智能体在安全领域的突破性实践。他指出,百度通过将安全能力…...

sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!
简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求,并检查收到的响应。它以以下模式之一…...
Xen Server服务器释放磁盘空间
disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...

C++使用 new 来创建动态数组
问题: 不能使用变量定义数组大小 原因: 这是因为数组在内存中是连续存储的,编译器需要在编译阶段就确定数组的大小,以便正确地分配内存空间。如果允许使用变量来定义数组的大小,那么编译器就无法在编译时确定数组的大…...
Linux离线(zip方式)安装docker
目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1:修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本:CentOS 7 64位 内核版本:3.10.0 相关命令: uname -rcat /etc/os-rele…...

深度学习水论文:mamba+图像增强
🧀当前视觉领域对高效长序列建模需求激增,对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模,以及动态计算优势,在图像质量提升和细节恢复方面有难以替代的作用。 🧀因此短时间内,就有不…...