重发布与路由策略
华子目录
- 重发布
- 重发布条件
- 重发布配置规则
- 重发布名词
- 配置命令
- ospf往rip重发布(重发布动态)
- 静态往rip重发布(重发布静态)
- 直连往rip重发布(重发布直连)
- rip往ospf重发布(重发布动态)
- 静态往ospf重发布(重发布动态)
- 直连往ospf重发布(重发布直连)
- 多点双向重发布
- 路由回馈
- 如何避免路由回馈
- 路由策略
- 路由策略步骤
- 抓取流量的技术
- 路由策略
重发布
当一个网络内,存在多种路由协议时或同一协议多个进程时,每种协议或进程均独立运行,不共享数据,只能通过重发布技术实现全网可达
重发布条件
1.只能在两种协议或两个进程进行发布(不是说一个拓扑内只能存在两种协议或两个进程)
2.必须存在ASBR(自治系统边界路由器(协议边界路由器)),同时工作在两种协议或两个进程中
3.必须考虑种子度量(起始度量),从源协议进入新协议时,不携带原协议的度量值,而是人为定义一个新的初始度量
重发布配置规则
1.将A协议发布到B协议时,是在ASBR上的B协议中进程配置
2.将A协议发布到B协议时,是将ASBR上所有通过A协议学习以及ASBR上宣告在A协议的直连路由,全部共享到B协议中(部分协议不共享缺省路由)
重发布名词
单点,双点,多点(点:ASBR数量)
单向,双向
配置命令
1.A---->B:将一种动态路由协议产生的路由共享到另一种动态路由协议中
2.静态---->B:将ASBR上的静态路由,重发布到一种动态路由协议中
3.直连---->B:将ASBR上未工作在B协议中的直连路由,重发布到B这种动态路由协议中
ospf往rip重发布(重发布动态)
[r4]rip
[r4-rip-1]import-route ospf 1
默认起始度量为0,可以修改
[r4-rip-1]import-route ospf 1 cost 3
静态往rip重发布(重发布静态)
[r4]rip 1
[r4-rip-1]import-route static
缺省静态路由在华为设备不进行重发布,默认起始度量为0;
[r4-rip-1]import-route static cost 5 修改起始度量值
直连往rip重发布(重发布直连)
[r4]rip
[r4-rip-1]import-route direct 注:若重发布动态和重发布直连携带了同一条路由时,优选重发布直连产生的路由
rip往ospf重发布(重发布动态)
[r4]ospf 1
[r4-ospf-1]import-route rip 1
注:默认进入的条目,其种子(起始)度量为1,类型2;缺省路由不进入
类型2:仅显示种子度量,但选路时依然基于总实际度量进行判断
[r4-ospf-1]import-route rip 1 cost 5 type 1 修改类型和种子度量
类型1:显示总实际度量=种子度量+沿途累计度量
类型1优于类型2
静态往ospf重发布(重发布动态)
[r4]ospf 1
[r4-ospf-1]import-route static
默认进入的条目,种子(起始)度量为1,类型2;缺省路由不进入
直连往ospf重发布(重发布直连)
[r4]ospf 1
[r4-ospf-1]import-route direct
默认进入的条目,种子(起始)度量为1,类型2;缺省路由不进入
注:若重发布动态和重发布直连携带了同一条路由时,优选重发布直连产生的路由
多点双向重发布
单点双向重发布,在两种协议或两个进程间仅存在一台ASBR,可靠性,选路性较差;故可以使用多台ASBR来进行保障
路由回馈
不同路由协议使用不同的路由优先级,当大优先级值协议的路由条目进入小优先级协议时,会导致其他的ASBR路由表被刷新,最终将这些路由传回源协议,造成路由回馈,导致选路不佳
如何避免路由回馈
1.Cisco在它私有的EIGRP协议中,使用了双优先级;正常EIGRP协议内部路由优先级为90,重发布进入EIGRP的路由条目为150,大于其他协议;从而避免了第一台ASBR重发布协议后刷新另一台ASBR,避免路由回馈
2.在华为等厂商设备中无EIGRP;故借鉴了EIGRP的规则,在ospf协议中,基于外部重发布进入的5/7类LSA,优先级也修改为150
注:
1.由于重发布协议在重发布过程中,不携带原有协议的度量值,而是在重发布起始位置添加种子,故当多点(多台ASBR)重发布相同路由时,将导致选路不佳,需要路由策略来解决
2.在距离矢量协议中存在接口水平分割,可能由于网络拓扑变化而再次出现路由回馈问题,需要路由策略来解决
总结:
由于重发布技术,仅实施了路由条目共享工作,而且过程中刷新原有度量,故在多点双向重发布中,可能因为拓扑变化,度量值等导致选路不佳,此时需要人工干预
路由策略
控制层面:路由协议进行路由信息共享传递的流量,比如ospf,rip
数据层面:设备间正常和数据访问产生的流量,比如ping,telnet等应用流量
注:路由策略是在控制层面流量进或出的接口上,抓取流量,进行修改动作后,直接影响路由器路由表的生成,最终实现干涉选路的效果
路由策略步骤
1.抓流量:ACL,前缀列表
2.改流量:路由策略(偏移列表,分发列表,router-map)
抓取流量的技术
1.ACL:访问控制列表设计初衷用于限制数据层面流量的进出,故在用于抓取控制层面流量时,可能无法精确匹配。
2.前缀列表:专门设计用于抓取控制层面流量
[r1]ip ip-prefix aa permit 1.1.1.0 25
[r1]ip ip-prefix aa permit 1.1.2.0 24
一个名字为一张表,一张表中可以配置多条内容,匹配规则为至上而下逐一匹配,上条匹配按上条执行,不再查看下一条,末尾隐含拒绝所有;
默认以10为步调,自动添加序列,便于插入和删除
[r1]ip ip-prefix aa index 15 permit 1.1.3.0 24
[r1]undo ip ip-prefix aa index 10
[r1]ip ip-prefix qq permit 2.2.2.0 24 less-equal 30
匹配网络号2.2.2.0 子网掩码长度24-30均可
[r1]ip ip-prefix qq permit 3.3.3.0 24 greater-equal 30
匹配网络号3.3.3.0 子网掩码长度为30-32
[r1]ip ip-prefix qq permit 4.4.4.0 24 greater-equal 26 less-equal 30
[r1]ip ip-prefix aa index 15 permit 1.1.3.0 24
[r1]undo ip ip-prefix aa index 10
[r1]ip ip-prefix qq permit 2.2.2.0 24 less-equal 30
匹配网络号2.2.2.0 子网掩码长度24-30均可
[r1]ip ip-prefix qq permit 3.3.3.0 24 greater-equal 30
匹配网络号3.3.3.0 子网掩码长度为30-32
[r1]ip ip-prefix qq permit 4.4.4.0 24 greater-equal 26 less-equal 30
匹配网络号4.4.4.0 子网掩码长度为26-30
[r1]ip ip-prefix qq permit 0.0.0.0 0 less-equal 32 允许所有
路由策略
修改或删除流量:路由策略(偏移列表,分发列表,route-map)
1.cisco的偏移列表,在cisco体系中算一种路由策略,在华为体系中不是策略;而是RIP这样的距离矢量协议专用,修改度量的操作;在cisco中偏移列表也只能在RIP和eigrp这样的距离矢量协议中使用,华为也一样;在cisco下只能用ACL为其服务;华为下,acl和前缀列表都可以;
[r1]ip ip-prefix aa permit 2.2.2.0 24 使用前缀列表抓取,ACL也可
[r1]interface GigabitEthernet 0/0/1 控制层面流量传输的接口
[r1-GigabitEthernet0/0/1]rip metricin ip-prefix aa 2 流量入,匹配前缀列表aa,度量加2
[r1-GigabitEthernet0/0/1]rip metricout 2000 2 流量出,匹配ACL2000,度量加2
该策略为逐跳行为,意思可以叠加操作,整段路径中流量经过的多个接口均配置了度量增加,最终为总增加度量
2.cisco下的分发列表; 华为为过滤策略;
先使用ACL或前缀列表,匹配流量,然后在控制层面流量的入或出接口上限制路由条目的传递;
[r2]ip ip-prefix qq deny 2.2.2.0 24
[r2]ip ip-prefix qq permit 0.0.0.0 0 less-equal 32
[r2]rip 1 [r2-rip-1]filter-policy ip-prefix qq ?export Specify an export policy 出方向import Specify an import policy 入方向[r2-rip-1]filter-policy ip-prefix qq export GigabitEthernet 0/0/0
切记:若使用ACL定义流量,正常华为acl末尾允许所有,但在过滤策略中一定手工配置允许所有命令;
注:OSPF协议中正常无法在出方向调用,因为ospf使用的拓扑更新,在同一个区域内不可以限制拓扑的传递;正常只能在入向调用,不影响数据库的同步,仅仅是不将LSA计算所得的路由加载到路由表;
若想出口调用,可以在ABR/ASBR上针对3/4/5/7类lsa进行;
3.cisco的route-map 华为路由策略
「1」抓流量—acl和前缀列表均可
[r2]acl 2000
[r2-acl-basic-2000]rule 1 permit source 1.1.1.0 0.0.0.0
[r2-acl-basic-2000]q
[r2]acl 2001
[r2-acl-basic-2001]rule permit source 1.1.2.0 0.0.0.0
[r2-acl-basic-2001]q[r2]ip ip-prefix a permit 1.1.3.0 24
[r2]ip ip-prefix b permit 1.1.4.0 24「2」路由策略
[r2]route-policy huawei deny node 10 创建名为huawei的路由策略,大动作为拒绝,序号为10
[r2-route-policy]if-match acl 2000 匹配一张ACL
[r2-route-policy]q
[r2]route-policy huawei permit node 20 列表huawei序号20,大动作为允许
[r2-route-policy]if-match acl 2001 匹配一张ACL
[r2-route-policy]apply cost-type type-1 定义小动作为修改度量类型,为类型1;
[r2-route-policy]q
[r2]route-policy huawei permit node 30
[r2-route-policy]if-match ip-prefix a 匹配前缀列表
[r2-route-policy]apply cost 7
[r2-route-policy]q
[r2]route-policy huawei permit node 40
[r2-route-policy]if-match ip-prefix b[r2-route-policy]apply cost-type type-1 [r2-route-policy]apply cost 8
[r2-route-policy]q[r2]route-policy huawei permit node 50 空表,允许所有;[r2-route-policy]q「3」重发布时调用
[r2]ospf 1 [r2-ospf-1]import-route rip 1 route-policy huawei
配置指南:
1、即便要拒绝一个流量,在抓取时也必须使用允许,之后在路由策略来拒绝;
2、至上而下逐一匹配,上条匹配按上条执行,不再查看下条,末尾隐含拒绝所有
3、在一条规则中,若没有进行流量匹配那就是匹配所有;若没有应用那么仅对匹配流量进行当大动作;
因此大动作为允许的空表代表允许所有;
4、或 与 关系:
或关系为每个站点(每个序号)间为或关系;
序号10没匹配到流量,再序号20;
[r3]ip ip-prefix a permit 1.1.1.0 24
[r3]acl 2000
[r3-acl-basic-2000]rule permit sou 12.1.1.2 0.0.0.0
route-policy huawei permit node 10 if-match ip-prefix a if-match ip next-hop acl 2000 与关系—被匹配流量必须同时满足这两个条件;
apply cost 10
apply cost-type type-1 与关系,同时执行两种操作
以上为路由条目目标网络号1.1.1.0/24 同时该条目的下一跳为12.1.1.2;
总结或与关系:
条目基于站点号(序号)至上而下逐一匹配,上条匹配按上条执行,不查看下条–或关系
在每一个序号中,同时匹配所有流量,同时执行所有小动作—与关系
相关文章:
重发布与路由策略
华子目录 重发布重发布条件重发布配置规则重发布名词配置命令ospf往rip重发布(重发布动态)静态往rip重发布(重发布静态)直连往rip重发布(重发布直连)rip往ospf重发布(重发布动态)静态…...
57. 插入区间(C++题解)
57. 插入区间 插入区间 给你一个无重叠的 ,按照区间起始端点排序的区间列表。 在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。 示例 1: 输入&#x…...
【数据结构Java版】 初识泛型和包装类
目录 1.包装类 1.1基本数据类型以及它们所对应的包装类 1.2装箱和拆箱 1.3自动装箱和自动拆箱 2.什么是泛型 3.引出泛型 4.泛型类的使用 4.1语法 4.2示例 4.3类型推导 5.泛型是如何编译的 5.1擦除机制 5.2正确的写法 6.泛型的上届 6.1语法 6.2示例 …...
Spring中如何解决循环依赖问题的三种方法
什么是循环依赖问题 在 Spring 中,循环依赖问题指的是两个或多个 bean 之间相互依赖形成的闭环。具体而言,当 bean A 依赖于 bean B,同时 bean B 也依赖于 bean A,就形成了循环依赖。 循环依赖问题在 Spring 容器中是一个非常常…...
【ArcGIS Pro二次开发】(65):进出平衡SHP转TXT、TXT转SHP
最近一个小伙伴提了这么一个需求,需要把TXT和SHP进行互转。 这种TXT文件其实遇到了好几个版本,都有一点小差异。之前已经做过一个TXT转SHP的工具,但好像不适用。于是针对这个版本,做了互转的2个工具。 【SHP转TXT】 一、要实现的…...
Shell开发实践:服务器的磁盘、CPU、内存的占用监控
🏆作者简介,黑夜开发者,CSDN领军人物,全栈领域优质创作者✌,CSDN博客专家,阿里云社区专家博主,2023年6月CSDN上海赛道top4。 🏆数年电商行业从业经验,历任核心研发工程师…...
超详细 async和await 项目实战运用(附加文字解答+源码)
文章目录 问题描述async什么是 asyncasync 的作用async 的应用场景async 优点 await什么是 awaitawait 的作用await 的应用场景await 的优点async和 await结合使用 结束语 大家好!又到了愉快的周末假期,今天是2023年9月3日|农历七月十九,我最…...
Maven入门教程(三):Maven语法
视频教程:Maven保姆级教程 Maven入门教程(一):安装Maven环境 Maven入门教程(二):idea/Eclipse使用Maven Maven入门教程(三):Maven语法 Maven入门教程(四):Nexus私服 Maven入门教程(五):自定义脚手架 6.Mav…...
C++技术点,故事解析
语言的魅力 从人类诞生开始 ,南方古猿到现代人类经历了非常多变化; 南方古猿到能人 有什么变化? 能人会使用工具,由于会使用工具 就可以获得肉类食物,当然只能吃一些动物腐肉 直到进化成直立人的晚期,在东…...
数据结构(Java实现)-字符串常量池与通配符
字符串常量池 在Java程序中,类似于:1, 2, 3,3.14,“hello”等字面类型的常量经常频繁使用,为了使程序的运行速度更快、更节省内存,Java为8种基本数据类型和String类都提供了常量池。…...
python强化学习--gym安装与使用
最近开始学习强化学习,第一步肯定是要学会安装和使用pym,原本以为很简单,事实上确实很简单,但是遇到一个小问题,就是安装gym之后,在应用的过程中,游戏界面没有显示出来,了解后才知道…...
105. 从前序与中序遍历序列构造二叉树
给定两个整数数组 preorder 和 inorder ,其中 preorder 是二叉树的先序遍历, inorder 是同一棵树的中序遍历,请构造二叉树并返回其根节点。 思路:题目给出了先序遍历和中序遍历的结果,因为先序遍历遵循根–>左–>…...
(第六天)初识Spring框架-SSM框架的学习与应用(Spring + Spring MVC + MyBatis)-Java EE企业级应用开发学习记录
SSM框架的学习与应用(Spring Spring MVC MyBatis)-Java EE企业级应用开发学习记录(第六天)初识Spring框架 昨天我们已经把Mybatis框架的基本知识全部学完,内容有Mybatis是一个半自动化的持久层ORM框架,深入学习编写动态SQL&a…...
如何使用『Nginx』配置后端『HTTPS』协议访问
前言 本篇博客主要讲解如何使用 Nginx 部署后端应用接口 SSL 证书,从而实现 HTTPS 协议访问接口(本文使用公网 IP 部署,读者可以自行替换为域名) 申请证书 须知 请在您的云服务平台申请 SSL 证书,一般来说证书期限…...
Git仓库简介
1、工作区、暂存区、仓库 工作区:电脑里能看到的目录。 暂存区:工作区有一个隐藏目录.git,是Git的版本库,Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区…...
TensorRTC++ | INT8量化
Int8量化步骤 // 这是基本需要的组件 auto builder = make_nvshared(nvinfer1::createInferBuilder(logger)); auto config = make_nvshared(builder->createBuilderConfig())...
VS + qt环境使用QCustomPlot等三方库如何配置
文章目录 前言VS环境下引入第三方类库QCustomPlot方法一:解决办法: C中.dll与.lib文件的生成与使用1. 两种库:2.两种文件的区别 前言 Qt提供了显式和隐式导入第三方库方法,本文只介绍显示导入方法。 一般的第三方提供的库文件包…...
OS 段页结合的实际内存管理
虚拟内存承接段和页,从用户角度,虚拟内存提供段,从硬件角度,虚拟内存把段打散映射到页 先基于段的翻译,再基于页的翻译 p是pcb跟着进程换,64M一个段,set base就是建段表 因为每个进程虚拟地址…...
一种改进多旋翼无人机动态仿真的模块化仿真环境研究(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
02-请解释一下Java的内存模型和happens-before规则?【Java面试题总结】
请解释一下Java的内存模型和happens-before规则? 概念:Java内存模型,简称JMM,是一种定义了多线程程序中内存访问行为的规范。它定义了线程如何与主内存和工作内存进行交互,以及如何保证多线程程序的正确性和可见性。J…...
线程与协程
1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...
条件运算符
C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...
CocosCreator 之 JavaScript/TypeScript和Java的相互交互
引擎版本: 3.8.1 语言: JavaScript/TypeScript、C、Java 环境:Window 参考:Java原生反射机制 您好,我是鹤九日! 回顾 在上篇文章中:CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...
2025盘古石杯决赛【手机取证】
前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来,实在找不到,希望有大佬教一下我。 还有就会议时间,我感觉不是图片时间,因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...
【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)
🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...
(转)什么是DockerCompose?它有什么作用?
一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器。 Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...
Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)
参考官方文档:https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java(供 Kotlin 使用) 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...
招商蛇口 | 执笔CID,启幕低密生活新境
作为中国城市生长的力量,招商蛇口以“美好生活承载者”为使命,深耕全球111座城市,以央企担当匠造时代理想人居。从深圳湾的开拓基因到西安高新CID的战略落子,招商蛇口始终与城市发展同频共振,以建筑诠释对土地与生活的…...
mac 安装homebrew (nvm 及git)
mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用: 方法一:使用 Homebrew 安装 Git(推荐) 步骤如下:打开终端(Terminal.app) 1.安装 Homebrew…...
Chromium 136 编译指南 Windows篇:depot_tools 配置与源码获取(二)
引言 工欲善其事,必先利其器。在完成了 Visual Studio 2022 和 Windows SDK 的安装后,我们即将接触到 Chromium 开发生态中最核心的工具——depot_tools。这个由 Google 精心打造的工具集,就像是连接开发者与 Chromium 庞大代码库的智能桥梁…...
