网络模型-路由策略
一、路由策略
路由策略(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 反向查找流程特点 暴力:全局搜索危险函数 简单:无需过多理解目标网站功能与架构 快速:适用于自动化代码审…...
Day4 Python的函数和参数机制
函数的定义与调用最基本的函数结构如下:def greet(name): return f"Hello, {name}!" print(greet("Alice")) def 定义函数调用时传入对应参数如果参数数量或顺序不匹配,就会报错,这是最常见的问题之一。默认参数默认参数…...
libmill内存管理机制:如何避免协程栈溢出问题的完整指南
libmill内存管理机制:如何避免协程栈溢出问题的完整指南 【免费下载链接】libmill Go-style concurrency in C 项目地址: https://gitcode.com/gh_mirrors/li/libmill libmill是一个为C语言引入Go风格并发编程的轻量级库,它通过协程(c…...
5个高效管理技巧:用Ice实现macOS菜单栏清爽体验
5个高效管理技巧:用Ice实现macOS菜单栏清爽体验 【免费下载链接】Ice Powerful menu bar manager for macOS 项目地址: https://gitcode.com/GitHub_Trending/ice/Ice macOS菜单栏作为日常操作的核心区域,常常因应用图标过多而变得杂乱无章&#…...
earthengine-api 未来展望:路线图、新功能和社区发展趋势
earthengine-api 未来展望:路线图、新功能和社区发展趋势 【免费下载链接】earthengine-api Python and JavaScript bindings for calling the Earth Engine API. 项目地址: https://gitcode.com/gh_mirrors/ea/earthengine-api earthengine-api 作为连接地球…...
为什么你的Markdown文档总是乱糟糟?vscode-markdownlint帮你告别格式噩梦
为什么你的Markdown文档总是乱糟糟?vscode-markdownlint帮你告别格式噩梦 【免费下载链接】vscode-markdownlint Markdown linting and style checking for Visual Studio Code 项目地址: https://gitcode.com/gh_mirrors/vs/vscode-markdownlint 你是否曾因…...
DeepSeek-OCR 技术解析:基于视觉压缩的端到端文档理解新范式
1. DeepSeek-OCR:重新定义文档理解的下一代技术 第一次接触DeepSeek-OCR时,我正被一个复杂的多栏报纸数字化项目困扰。传统OCR工具在处理这种复杂版面时,要么丢失栏目分隔信息,要么混淆文字顺序。直到尝试了DeepSeek-OCR的Gundam动…...
【单片机实战】中断服务程序编写精要:从现场保护到中断返回
1. 中断服务程序的核心作用与基本结构 第一次接触单片机中断时,我盯着开发板上的按键发愣——明明没有循环检测IO口状态,按下按键却能立即触发LED亮灭。这种"随叫随到"的响应机制,就是中断服务程序(ISR)的魔…...
告别OpenAI依赖:用智谱AI与轻量本地模型构建RAG评估实战
1. 为什么需要替代OpenAI的RAG评估方案 当我们在构建RAG(检索增强生成)系统时,评估环节至关重要。传统的Ragas框架默认使用OpenAI的GPT模型进行评估,但这会带来几个实际问题: 首先是访问稳定性问题。由于网络环境差异…...
[OS] Rate Monotonic Scheduling: Optimizing Real-Time Task Prioritization
1. 速率单调调度:实时系统的优先级管理艺术 想象一下急诊室的医生如何决定救治顺序——心跳停止的患者永远优先于感冒发烧的病人。速率单调调度(Rate Monotonic Scheduling,RMS)就是实时操作系统中的这位"分诊专家"&am…...
如何高效管理微信读书笔记:终极免费工具wereader完全指南
如何高效管理微信读书笔记:终极免费工具wereader完全指南 【免费下载链接】wereader 一个功能全面的微信读书笔记助手 wereader 项目地址: https://gitcode.com/gh_mirrors/we/wereader 微信读书助手wereader是一款专为微信读书用户设计的免费开源工具&#…...
