当前位置: 首页 > ai >正文

路由引入、路由过滤及路由策略

目录

路由引入(路由重发布)

路由过滤

路由策略(route-policy)


路由引入(路由重发布)

一个较大型的网络拓扑中常常存在多种不同的路由协议,为了使多种不同的路由协议间能相互通信,出现了路由引入。

进行路由引入的情形

  • 在边界设备(ASBR设备)上,同时运行多种路由协议。

  • 需要将一种路由协议引入到另一种路由协议中学习或是把路由在同种协议的不同进程间的引入。

引入方式

  • 单向路由引入

    • 单独的将一个协议的路由引入到另一个协议中,或者一个协议的一个进程产生的路由引入到另一个进程中。

    • 当引入路由器故障时,会引起网络瘫痪(单点故障)。

  • 双向路由引入

    • 多个协议相互进行路由引入,或者一个协议的多个进程相互进行路由引入。

    • 可能会产生环路问题。

引入规则

  • 将A协议发布到B协议中,需要在ASBR中的B协议上配置。

  • 将A协议发布到B协议中,所有通过A协议学习到的路由及A的直连路由,B都可以学习到。

  • 在不指定cost值时,引入时的默认度量值(cost)情况(华为中)

    • OSPF重发布进入RIP时,引入的路由在接收路由的路由器上的cost值为0,包括环回口(忽RIP区域外的开销)。

      • import -route ospf 进程号(在协议视图下)

    • RIP重发布进入OSPF时,引入的路由在接收路由的路由器上的cost值为1,包括环回口。type类型为E2(2类外部路由)。

      • import -route rip 进程号(在协议视图下)

    • 静态路由重发布进入动态时,引入的路由在接收路由的路由器上的cost值为0,包括环回口。

      • import -route static(在协议视图下)

    • 直连引入到动态。

      • import -route direct(在协议视图下)

华为中引入路由时修改度量值命令

  • 进程中对全局修改

    • default-cost 值(协议视图下)

  • 针对本次引入修改

    • import-route 协议 进程号 cost 度量值(协议视图下)

  • 大规模改变cost值,做不到精确修改。

多协议路由规划(对路由引入的规划)

  • 一般情况下,建议只作单协议(一个动态路由的不同进程间的引入)的路由引入。

  • 具体建议

    • 从边缘引入到核心:一般边缘设备的性能低,承受能力差,核心网络的路由器性能比较好,承受能力强。但核心的路由需要引入边缘,这时建议在边界路由器上下发一条缺省路由,以保证边缘的路由器可以通过这条缺省路由访问核心网络。

    • 从IGP(内部网关协议,这里主要说OSPF)引入到EGP(外部网关协议,这里主要说BGP):公网上路由太多了,要是将BGP公网上的路由引入内网的ospf中,会造成内网路由器承受不住。所以一般建议从IGP引入到EGP,但我们仍然有学习BGP上路由的需求,所以在BGP引入IGP时,建议IGP内部通过配置默认路由或者路由聚合达到进入其他AS的路由。

路由引入不当可能产生的问题

  • 环路

  • 次优路径选路

  • 解决方案

    • 使用Tag进行选择性路由引入。

    • 合理规划引入路由的度量值或者优先级,避免引入次优路由。

详细可以看eNSP - 路由引入不当测试。

路由过滤

路由器在发布或者接收消息时,可能需要对路由信息进行过滤。该操作可以控制路由的传播与生成,节省设备链路资源消耗,保护网络安全。

过滤情景

  • 过滤路由协议报文

    • 对传入的所有路由进行过滤,这种情况直接在协议视图下静默接口就能实现。

  • 过滤路由协议报文中携带的路由信息

    • 可指定过滤哪些路由。

    • 会影响下游的所有路由器的路由表。

  • 过滤LSDB计算出的路由信息

    • 可指定过滤哪些路由。

    • 会影响本机的路由表。

常用过滤工具

  • 静默接口

    • RIP协议中,静默接口后不再发送路由更新。

    • OSPF中,静默接口后不再发送OSPF协议报文。

  • ACL

    • 通过ACL抓取流量并作出指定动作(拒绝或者允许)。

    • 缺点是只能匹配数字特征,不能匹配掩码特征,导致匹配精确。

  • 地址前缀列表(ip-prefix)

    • 匹配IP地址前缀,即目的网络地址和掩码长度,匹配精确。

    • 匹配规则

      • 从上到下依次匹配表项(序号从小到大),匹配中就执行规定的操作。

      • 若所有表项都是拒绝,则任何路由都不能通过该过滤列表。这种情节况下,需要在列表最后定义一个允许规则,即permit 0.0.0.0 0 less equal 32,代表允许除匹配上拒绝表项的路由通过。

      • 匹配示例

  • 过滤策略(filter-policy)

    • 结合ACL或地址前缀列表使用,对路由信息进行过滤。

以RIP协议为例的过滤策略

  • 对进入RIP路由表的路由进行过滤

    • 既影响做策略的本机上的RIP路由表,又影响下游路由器的RIP表。

  • 对RIP发出的路由进行过滤

    • 不影响做策略的本机上的RIP路由表,但影响下游路由器的RIP表。

以OSPF协议为例的过滤策略

  • 对进入OSPF的路由进行过滤

    • 影响本机及下游路由器的OSPF表的学习,过滤本机及下游路由器的LSDB表中的LSA,在协议视图下配置进方向。

  • 在传入区域的区域视图下配置出方向

    • 不影响本机ospf表的学习,但影响下游路由器ospf表的学习,过滤本机及下游路由器的LSDB表中的LSA。

总结

  • 利用路由过滤可控制路由在网络内传播。

  • ACL和地址前缀列表可用于路由信息的识别、筛选。

  • 地址前缀列表相对ACL更加灵活。

  • 可利用 filter-policy工具在RIP、OSPF、IS-IS等协议内过滤路由。

路由策略(route-policy)

为了改变网络流量所经过的途径而修改路由信息的技术。

先来了解两个概念

  • 控制层流量

    • 路由协议传递路由信息时产生的流量。

    • 例如动态路由协议(OSPF)传递的协议报文就属于控制层流量。

  • 数据层流量

    • 设备访问目标地址时产生的流量。

    • 例如正常的数据传输时产生的流量。

路由策略主要就是处理控制层流量的技术。

路由策略的作用

  • 路由过滤

  • 修改路由属性

    • 包括优先级、开销值等等。

作路由策略的流程(思路)

  1. 抓取流量

    • 通过ACL或者地址前缀列表实现。

  2. 做策略

    • 是否要对流量进行修改,修改哪些内容。

    • 是否放行(转发)该流量。

匹配规则

  1. 路由信息到达时,检查是否配置的路由策略,如果配置了,则进入节点匹配,是否放行。

  2. 检查路由策略的第一个节点的if-match条件,匹配检查节点动作(拒绝或者允许),如果是允许就进一步检查apply子句,根据子句修改数据并放行(没有就不修改)。节点动作是拒绝就拒绝该路由信息通过。没有匹配到该节点的if-match条件,就继续匹配下一个节点。

  3. 最后一个节点仍然匹配不到,则拒绝该路由信息通过。

  4. 节点之间的关系是“或”的关系,如果通过了其中一个节点,就意味着通过该路由策略,不再对其他节点进行匹配。

  5. 注意,一个节点内可以有多个if-match条件。若一个节点内有多个if-match条件,则表示需要满足所有条件才能执行apply语句。

配置命令细节

  1. 结构

  2. if-match条件内容

  3. apply可以修改的内容

        

 

注意事项

  • 路由策略用于路由过滤时,不用配置空节点放行流量。

  • 路由策略用于属性修改时,需要配置空节点放行流量。因为规则中会放行匹配中的流量,而会拒绝其他所有流量,进而导致网络无法传递信息。

路由策略常用的位置

  • IGP协议作路由引入时。

  • BGP协议宣告时。

  • BGP协议路由引入时。

  • BGP协议邻接关系上。

http://www.xdnf.cn/news/520.html

相关文章:

  • C++ 用哈希表封装unordered_set/unordered_map
  • Linux进程概念
  • Day95 | 灵神 | 二叉树 二叉树的垂序遍历
  • U-Boot(Universal Bootloader)简介
  • 不带无线网卡的Linux开发板上网方法
  • 英文论文写作:常用AI工具与【新秀笔目鱼】
  • JAVA的泛型
  • jQuery — 动画和事件
  • SpringBoot学习(过滤器Filter。拦截器Interceptor。全局异常捕获处理器GlobalExceptionHandler)(详细使用教程)
  • 哲学家就餐问题(避免死锁)
  • BootStrap:进阶使用(其二)
  • 计算机网络 实验五 RIP的配置与应用
  • 序列化和反序列化
  • 第9期:文本条件生成(CLIP + Diffusion)详解
  • 基于 Python 的自然语言处理系列(82):Transformer Reinforcement Learning
  • Alan AI - 面向Web的生成式AI SDK
  • 基于C语言实现文件读取
  • Linux 第五讲 --- 权限管理
  • 6.常用控件-QWidget|windowTitle|windowIcon|qrc机制|windowOpacity|cursor(C++)
  • Amlogic S905L3 系列对比:L3A、L3B 与 L3AB 深度解析
  • Unity之如何实现RenderStreaming视频推流
  • 大学英语四级选词填空阅读题和段落匹配解析
  • 【Hot100】54. 螺旋矩阵
  • 2025.04.19-阿里淘天春招算法岗笔试-第一题
  • 金融数学专题6 证券问题与资本利得税
  • Pandas数据统计分析
  • MCS-51单片机汇编语言编程指南
  • ArcPy Mapping 模块基础
  • 3. 进程概念
  • 修改Theme SHELL美化panel