路由控制概述

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 为了保证网络的高效运行以及在路由重分布的时候避免次优路由或者路由环路,有必要对路由更新进行控制,常用的方法有被动接口、默认路由、静态路由、路由映射表、分布列表、前缀列表、偏移列表、Cisco IOS IP服务等级协议(SLA)和策略路由。在进行路径控制时,可能是多种方法的组合。

上课笔记

路由映射表(route map)

      路由映射表可以做比较复杂的访问控制列表,主要功能包括路由控制和策略路由等。定义路由映射表的命令为route-map map-tag 【permit | deny】【sequence-number】通常每个route-map陈述都包含match和set。match用来匹配条件,常用的匹配条件包括ip地址、接口、度量值、tag、路由类型以及数据包长度等。当有多个匹配条件时逻辑关系必须搞清楚。如格式为match ip address a b c ,表示逻辑或,只要有一个条件匹配即可。如果格式为:

  • match ip address a
  • match ip address b
  • match ip address c

则表示逻辑与,必须匹配所有的条件。

set定义对符合匹配条件所采取的行动。

set行为 描述
set ip next hop 设定数据包的下一条地址
set interface 设定数据包出接口
set ip default nest hop 设定默认的下一条地址,用于当路由器表里没有到达的地址路由条目的时候
set default interface  设定默认的出接口
set ip tos 设定IP数据包的tos值
set ip preecedence 设定IP数据包的优先级
set metric 设定路由的度量值
set tag 设定路由的标记值

 路由映射表有如下的特征:

  1. 一个route map 的末尾默认行为是deny any。这个deny的使用结果依赖于这个route map是怎样使用的。比如,在执行策略路由时,如果一个数据包对于route map 没有匹配项,它会正常转发数据包,而在路由重分布时,对于路由条目,如果route map 没有匹配项,则被过滤掉。
  2. 一个route map可以包含多个route map陈述,它们的执行顺序像ACL一样,从上到下被执行。如果route map 陈述没有match,则意味着匹配所有。
  3. 序号指定了条件检查的顺序,不写编号默认为10,但是序号不会自动递增。
  4. 在route map 陈述中不写deny或permit则默认为permit。
  5. 在删除route map 语句时,没编号则删除整个route map。

什么是route maps

route maps的工作就像一个复杂的访问列表

  • route maps提供了自上而下的处理
  • 一旦有匹配,离开了route map
  • 每一行使用序列号以方便编辑
  • 支持行插入
  • 支持行删除
  • route maps基于命名的方式,而不是编号,便于记录。
  • 匹配条件和设置标准,可以使用类似脚本语言中的“如果,那么”

Offset-list :偏移列表(在距离矢量路由协议中,对路由的metric进行增大)

       偏移列表的用于在出站或者入站方向增加EIGRP或者RIP路由条目的度量值。偏移列表只适用于距离箱量路由协议。可以通过ACL来限制偏移列表的作用范围。

       access-list 1 permit 1.1.1.0 !抓取1.1.1.0的路由

       offset-list 1 in 2 f0/0 !从 FO/0收到ACL 1中的路由时,将metric增大2

       如果调用的ACL不存在,则默认对所有路由生效

       如果不指定接口,则对所有接口生效

前缀列表:(prefix list)

前缀列表的作用类似与ACL,但比ACL更灵活,且更易于理解。前缀列表有以下特点。

  1. 编辑方便性。在配置前缀列表时,可以指定序列号,只要序列号不是连续的,以后就可以方便地插入条目,或者删除对某个序号的条目,而不是整个前缀列表。
  2. 执行的高效性,在大型列表的加载和路由的查找方面性能比ACL有显著的改进。
  3. 灵活性,可以在前缀列表中指定掩码的长度,也可以指明掩码长度的范围。

分布列表:Distribute-list(选择部分路由接收或发出)

       ACL通常用于过滤用尸数据流,而个是路由协议产生的流量,可时ACL对目身产生的流量不能进行过滤,而分布列表提供控制路由更新的另一种方法,通常与ACL、路由映射表或者前缀列表结合使用。可以对单一路由协议的路由进行过滤,也可在路由协议之间做重分布的时候进行路由过滤,防止路由反馈和路由环路等。

       使用分布列表对允许哪些路由更新,拒绝哪些路由更新等具有很大的灵活性,但是值得注意的是,对于同一个区域的链路状态路由协议( 如OSPF),由于要保持链路状态数据库的同步,所以不能使用分布列表对出站路由进行过滤。

       在配置分布列表时,不同的路由协议,可供选择的参数可能不同。

  1. 当接收路由时,将某些路由不表,或发出路由时隐藏某些路由
  2. 在距离矢量路由协议中,不管是in还是out ,同样有效,并且会影响下游设备
  3. 在链路状态路由协议中,只有in方向有效并且不会对下游设备产生影响(因为链路状态路由协议传递的是LSA,不是路由), out方向无法使用(除非是本地始发的外部路由)
  4. 分发列表作用的位置:从拓扑表到路由表的中间

filter-list(在OSPF的ABR上过滤三类LSA)

       area 0 filter-list prefix deny11 in

               in Filter networks sent to this area

               out Filter networks sent from this area

router-map:路由策略

       match:匹配需要操作的目标

               match ip add x y z

               逻辑上是or:在x、y、z中任何一个匹配即匹配中

               match ip add x

               match ip add y

               match ip add z

               逻辑上是add:需要在x、y、z中都有匹配中才会匹配

route map operation (cont.)

  • match语句可以包含多个引用
  • 同一行中的多个匹配条件使用逻辑OR(或)
  • 必须至少有一个引用允许该路由成为重新分配的候选者

  • 每个垂直匹配使用一个逻辑AND(与)
  • 所有匹配语句必须允许该路由仍然是重新分配的候选者
  • 路由映射permit或deny决定是否重新分配候选

set:设置目标的属性

1.路由的metric、metric-type、netx-hop

  • 不写match则表示匹配所有
  • 不写set则表示不操作

the match command(匹配命令)

  • match 命令用来指定要匹配的条件
  • 相关的route map 语句允许或拒绝匹配的路由
R#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
R(config)#router ospf 10
R(config-router)#redistribute rip route-map redis-rip
R#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
R(config)#route-map redis-rip permit 10
R(config-route-map)#match ip address 23 29
R(config-route-map)#set metric 500
R(config-route-map)#set metric-typt type-1
R(config)#route-map redis-rip deny 20
R(config-route-map)#match ip address 37
R(config)#route-map redis-rip deny 30
R(config-route-map)#set metric 5000
R(config-route-map)#set metric-type type-2
R#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
R(config)#access-list 23 permit 10.1.0.0 0.0.255.255
R(config)#access-list 29 permit 172.16.1.0 0.0.0.255
R(config)#access-list 37 permit 10.0.0.0 0.255.255.255

在此示例中,RIPvl 将重新分发到 OSPF 10 中。一个名为"redis-rip"的路由映射已附加到重新分发 rip 命令。路由映射的序列号 10 正在 ACL 23 或 ACL 29 中查找 IP 地址匹配项。如果找到匹配项,则路由器会将路由重新分配到成本指标 500 的 OSPF 中,并将新的 OSPF 路由设置为外部类型 1。

如果第 10 行不匹配,请移至第 20 行。如果 ACL 37 中存在匹配项,则不要让该路由重新分发到 OSPF 中,因为序列号 20 是拒绝。

如果序列号 20 不匹配,请移动到 30。由于 30 是许可证,并且没有匹配条件,因此所有剩余的路由都将重新分配到 OSPF 中,成本指标为 5000,外部指标为类型 2。

set命令

  • set命令用来修改匹配路由信息
  • 该命令用于修改重分布路由的参数

不写match则表示匹配所有

不写set则表示不操作

  • route-map cisco deny 10
  • match ip address 1
  • set metric-type type-1
  • route-map cisco permit 20
  • match ip addreaa prefix-list per ccie
  • set metric 30
  • route-map cisco permit 30

PBR:策略路由(先与路由表指示数据包的走向)

使用route-map的配置(route-map怎么写就怎么写)

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
1月前
|
网络协议 网络架构
路由策略原理与配置
路由策略原理与配置
路由策略原理与配置
|
3月前
|
网络协议 算法 网络架构
动态路由
【8月更文挑战第18天】动态路由
48 3
|
3月前
|
存储 安全 算法
|
3月前
【实验篇】如何利用BFD与浮动路由联动实现链路自动切换?
【实验篇】如何利用BFD与浮动路由联动实现链路自动切换?
路由策略与路由控制
路由策略与路由控制
|
6月前
|
监控 网络协议 网络架构
|
6月前
|
存储 JavaScript 前端开发
服务路由的应用场景及规则
【2月更文挑战第8天】服务路由就是服务消费者在发起服务调用时,必须根据特定的规则来选择服务节点,从而满足某些特定的需求。
|
网络架构
动态路由实验
动态路由实验
52 0
|
安全 Unix
BGP-4 的增强路由刷新能力
本文档是 Internet 工程任务组 (IETF) 的产品。它代表了 IETF 社区的共识。它已接受公众审查,并已获互联网工程指导小组 (IESG) 批准出版。有关 Internet 标准的更多信息,请参见 RFC 5741 的第 2 节。
401 0
BGP-4 的增强路由刷新能力
|
网络协议 网络虚拟化 网络架构
路由与交换系列高级IP ACL特性与配置实验二
• 掌握高级 IP ACL的原理 • 掌握ACL在企业网络中的应用 • 掌握高级IP ACL的配置方式 • 掌握高级IP ACL的验证效果
235 1