对比 Route-Map 在 Redistribute 以及 Policy-Routing 中的应用及注意点

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介:
route-map 可以应用在两种不同的地方:redistribute 和 policy routing,但是区别必须搞清楚:
 
一、deny语句
1、route-map 中的deny语句如果匹配,redistribute时匹配的条目将不被重分发。
2、route-map 中的deny语句如果匹配,policy routing时,不再做策略路由,而交由正常路由表去转发。
 
 
二、默认的deny all
route-map 同 access-list 一样,最后都有隐含的deny all
 
 
三、route-map语句顺利号
1、在编辑 route-map 时,如不注明 permit xx ,第一句默认为 permit 10
例: 
route-map cracker
  match ip address 101
  set ip next-hop 211.81.157.1
route-map cracker
  match interface f0/0
  set metric 100
相当于:
route-map cracker permit 10
  match ip ad 101
  set ip next-hop 211.81.157.1
route-map cracker permit 20
  match int f0/0
  set metric 100
        
2、删除某条目时,如不注明语句号,则直接删除整个route-map  
例:
no route-map cracker
上面这条命令会删除整个route-map,而不是我们想删除的20语句,正确的用法是:
no route-map cracker 20
 
3、match 语句如果放在同一语句下,则为匹配所有:
例3-1:
route-map cracker permit 10
  match ip address 101
  match ip length 1500
  set ip next-hop 211.81.157.1
  set metric 100
上例表示,同时满足这两种条件时,设置metric并转发至211.81.157.1
例3-2:
route-map cracker permit 10
  match ip address 101
  set ip next-hop 211.81.157.1
route-map cracker permit 20
  match ip address 102
  set ip next-hop 211.81.157.2
route-map cracker permit 30
上例表示,顺序匹配各条语句,但是一旦有一条语句被匹配,则跳出route-map。
 
四、policy routing 
策略路由要注意,只能用在路由器的入接口上!
例:4-1
如R1上的s0/0为入接口,s0/1为出接口,向外接入两个网段,分别为172.16.1.1和2
 
route-map cracker
  match ip address 10
  set ip next-hop 172.16.1.1
route-map cracker
  match ip address 20
  set ip next-hop 172.16.1.2
 
access-list 10 permit 172.16.6.0 0.0.0.255
access-list 20 permit 172.16.7.0 0.0.0.255
int s0/0
  ip ad 172.16.8.254 255.255.255.0
  ip policy route-map cracker
 
上例中,如果6网段的包会被转发至1.1,7网段的包会被转发至1.2。而8网段的包由于没有语句匹配,则转交正常路由表转发,结果一般会是负载分担,两个目的各承担一半流量。
 
策略路由的应用其实很广,包括匹配包大小,小包走一条链路,大包走另一条,这样不至于造成语音数据的拥塞。
 
还可以匹配协议类型,HTTP,FTP,TELNET,BT等协议可以区别对待,甚至可以匹配七层协议中的网址,如去往 [url]http://blog.sina.com.cn/cisco[/url]网站的流量我们选条高带宽链路:)
 
六、route-map在redistribute中的应用
这样的应用同样很多,也非常重要,这是现有的市场环境导致的,许多公司一年到头都在并购,收购中运营,新加入的公司网络如何与现有网络集成,这就不得不提到重分发,redistribute。重分发可以使两个不同路由协议下的网络互相交流路由信息,但如果我们需要精确地管理,哪些条目可以被分发进来,哪些不可以,这个时候,一般可以采用两种方法, route-filter 和 route-map 。
例:
route-map cracker  deny 10
  match ip address 10
route-map cracker permit 20
 
route-map cuijian permit 20
  match ip address 20
 
access-list 10 permit 10.1.0.0 0.0.255.255
access-list 20 permit 172.16.0.0 0.0.255.255
 
router ospf 1
  redis rip metric 100 subnets route-map cracker
 
上例中,10网段的路由条目不会被重分发进ospf,注意语句是deny的,而cracker语句中的第20条,由于无match语句,将会匹配所有条目。整条语句作用是将除10.1.0.0网段的路由条目作重分发。
 
route-map cuijian则由于最后隐含的deny all,会将除了172.16.0.0网段的路由全都不做重分发。
其实route-map cracker和route-map cuijian在这里的作用是一样的。都不对10网段条目做重分发。
 
我们通过类似这样的设计可以从路由方面隔离两个域,作到基本的安全策略。









本文转自 ciscodocu51CTO博客,原文链接:http://blog.51cto.com/ciscodocu/52758,如需转载请自行联系原作者
相关实践学习
基于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
目录
相关文章
|
6月前
|
存储 数据格式
Set和Map的应用场景
Set和Map的应用场景
|
23天前
|
存储 Java API
详细解析HashMap、TreeMap、LinkedHashMap等实现类,帮助您更好地理解和应用Java Map。
【10月更文挑战第19天】深入剖析Java Map:不仅是高效存储键值对的数据结构,更是展现设计艺术的典范。本文从基本概念、设计艺术和使用技巧三个方面,详细解析HashMap、TreeMap、LinkedHashMap等实现类,帮助您更好地理解和应用Java Map。
40 3
|
2月前
|
数据处理 Python
Pandas中的map函数应用
Pandas中的map函数应用
18 2
|
2月前
|
存储 前端开发 API
ES6的Set和Map你都知道吗?一文了解集合和字典在前端中的应用
该文章详细介绍了ES6中Set和Map数据结构的特性和使用方法,并探讨了它们在前端开发中的具体应用,包括如何利用这些数据结构来解决常见的编程问题。
ES6的Set和Map你都知道吗?一文了解集合和字典在前端中的应用
|
4月前
|
JSON JavaScript API
JS【详解】Map (含Map 和 Object 的区别,Map 的常用 API,Map与Object 的性能对比,Map 的应用场景和不适合的使用场景)
JS【详解】Map (含Map 和 Object 的区别,Map 的常用 API,Map与Object 的性能对比,Map 的应用场景和不适合的使用场景)
96 0
|
6月前
|
存储 缓存 安全
掌握Go语言:Go语言Map,高效键值对集合的应用与注意事项详解(26)
掌握Go语言:Go语言Map,高效键值对集合的应用与注意事项详解(26)
|
6月前
|
人工智能 自然语言处理 Kubernetes
LLM 技术图谱(LLM Tech Map)& Kubernetes (K8s) 与AIGC的结合应用
LLM 技术图谱(LLM Tech Map)& Kubernetes (K8s) 与AIGC的结合应用
316 0
|
6月前
|
存储 缓存 Java
map应用
map应用
74 0
|
Serverless 数据安全/隐私保护 Python
深入探究Python中的map函数及其应用
深入探究Python中的map函数及其应用
Python的函数式编程指南:Lambda、Map和Filter的应用
Python是一门多范式的编程语言,允许你以不同的方式编写代码,包括面向对象编程、过程式编程和函数式编程。函数式编程是一种强大的编程范式,它强调不可变性、纯函数和高阶函数的使用。本文将引导你了解Python中函数式编程的一些核心概念和技巧,特别是Lambda、Map和Filter的应用。