路由策略

路由策略主要是控制路由的策略,如路由信息的引入、发布和接收等。

路由策略工具
  1. Route-policy
  2. IP-prefix(IP前缀)

BGP策略选路

为提高路由器工作效率,对BGP路由条目学习、传递、选路进行有效控制。

BGP选路原则
  1. 如果此路由的下一跳不可达,忽略此路由
  2. Preferred-Value值数值高的优先
  3. Local-Preference值最高的路由优先
  4. 聚合路由优先于非聚合路由
  5. 本地手动聚合路由的优先级高于本地自动聚合的路由
  6. 本地通过network命令引入的路由的优先级高于本地通过import-route命令引入的路由
  7. AS路径的长度最短的路径优先
  8. 比较Origin属性,IGP优于EGP,EGP优于Incomplete
  9. 选择MED较小的路由
  10. BGP优先选择到BGP下一跳的IGP度量最低的路径
  • 当以上全部相同,则为等价路由,可以负载分担
  • 注:AS-Path必须一致
  • 当负载分担时,以下3条原则无效
  1. 比较Cluster List长度,短者优先。
  2. 比较Originator_ID如果没有Originator_ID,则用Router ID比较,选择数值最小的路径。
  3. 比较对等体的IP地址,选择IP地址数值最小的路径

实现BGP策略选路

影响bgp选路的重要参数

  • preferred value
  • local-preference
  • as-path
  • origin
  • med
  • ebgp/ibgp
  • igp cost
  • cluster list
  • communities

Local-Preference


缺省情况下,BGP本地优先级的值为100,本地优先级属性仅再IBGP对等体之间交换,不会通告给其他AS。

如果A有两个网段(192.168.1.0/192.168.2.0),本地优先级想做到精确控制,需要通过策略设置Local-Preference,

让192.168.1.0走2000,192.168.2.0走1000,

注意:每一个路由条目都带有Local-Preference属性。

通过策略设置Local-Preference

路由器B配置,注:C配置类似
#
acl number 2000 //acl2000
rule 5 permit source 192.168.1.0    0.0.0.255 //acl规则
#
bgp 200
peer 10.1.1.1  as-number 100 //配置邻居 10.1.1.1 ebgp
peer 3.3.3.3   as-number 200 //配置邻居 3.3.3.3 ibgp
#
ivp4-famliy unicast
undo synchronization
peer 10.1.1.1 enable
peer 10.1.1.1 route-policy test1 import //配置邻居时,定义一条路由策略,指定策略生效方向
(对A配置策略,test名称为1,方向import 指A发往B,B会应用此策略) 策略内容
#
route-polict test1 permit node 10 //定义策略内容,策略节点10
if-match acl 2000 //假如命中acl 2000
apply local-preference 2000 //local-preference(192.168.1.0)修改为2000
route-policy test1 permit node 20 //策略节点20,未做任何匹配,除acl2000规则外
apply local-preference 1000 //其他的local-preference修改为1000
#

MED


缺省情况下,MED值为0,通过配置可修改

[Router-bgp]default med 数值

MED属性仅在相邻两个AS之间传递,不会通告给第三方AS。

通过策略配置MED
路由器A配置
#
bgp 100
peer 10.1.1.2 as-number 200
peer 3.3.3.3 as-number 100
peer 5.5.5.5 as-number 100
#
ipv4-family unicast
undo synchronization
peer 10.1.1.2 enable
peer 10.1.1.2 route-policy test1 export
peer 3.3.3.3 enable
peer 5.5.5.5 enable
#
route-policy test1 permit node 10
if match ip-prefix 1
apply cost 2000
route-policy test1 permit node 20
apply cost 1000
#
ip ip-prefix 1 index 10 permit 192.168.3.0 24 greater-equal 24 less-equal 24
#

AS-Path filter过滤路由

C与A、D都是邻居关系,如果C只想接收来自AS300的路由信息
路由C配置

#
bgp 400
peer 10.4.4.2 as-number 100
peer 10.3.3.1 as-number 300
#
ipv4-family unicast
undo synchronization
peer 10.4.4.2 enable
peer 10.4.4.2 as-path-filter 1 import
peer 10.3.3.1 enable
peer 10.3.3.1 as-path-filter 1 import
#
ip as-path-filter 1 permit ^300_
#

as-path使用正则表达式来过滤,正则表达式表格:

符号 说 明
^ 匹配一个字符串的开始。如“200”表示只匹配AS_PATH的第一个值为200。
$ 匹配一个字符串的结束。如“200$”表示只匹配AS_PATH的最后一值为200。
. 匹配任何单个字符,包括空格
+ 匹配前面的一个字符或者一个序列,可以一次或者多次出现
() 匹配变化的AS或者一个独立的匹配,通常和”
l 逻辑或
[ ] 匹配一个范围内的AS,通常和“-”一起使用
- 连接符

BGP Community

通过路由策略设置路由的Community属性,可以间接影路由选路,可以将路由分类,然后根据类别设置不同路由选路相关的属性,比如,Local_pre、MED等,从而达到影响路由选择的目的。

其实在真实的网络环境中,不一定AS号越少的链路质量越高。而AS-PATH这个功能又是根据AS号来判断路由的优先的,AS号越少越优先。那么这个时候我们可能会用到AS-path的一个功能,来增加AS号的长度,从而实现选路的功能。

A配置
#
bgp 100
peer 10.4.4.1 as-number 100
peer 10.1.1.2 as-number 200
#
ipv4-family unicast
undo synchronization
peer 10.4.4.1 enable
peer 10.1.1.2 enable
peer 10.1.1.2 route-policy set_community export //set..策略名称,export指A发往B
peer 10.1.1.2 advertise-community
#
route-policy set_community permit node 10
apply community 100:1
#D配置
#
bgp 100
peer 10.4.4.2 as-number 100
peer 10.3.3.1 as-number 300
#
ipv4-family unicast
undo synchronization
peer 10.4.4.2 enable
peer 10.3.3.1 enable
peer 10.3.3.1 route-policy set_community export
peer 10.3.3.1 advertise-community
#
route-policy set_community permit node 10
apply community 100:2
#C配置
#
bgp 300
peer 10.2.2.1 as-number 200
peer 10.3.3.2 as-number 300
#
ipv4-family unicast
undo synchronization
peer 10.2.2.1 enable
peer 10.2.2.1 route-policy set_local_preaf import
peer 10.2.2.1 advertise-community
peer 10.3.3.2 enable
peer 10.3.3.1 route-policy set_local_pref import
peer 10.3.3.2 advertise-community
#
route-policy set_local_pref permit node 10
if-match community-filter 1
apply local-preference 200
route-policy set_local_pref permit node 20
if-match community-filter 2
apply local-preference 50
#
ip community-filter 1 permit  100:1
ip community-filter 2 permit  100:2
#

策略路由

策略路由概述

策略路由pbr(policy-based-route),主要是控制报文的转发,即可以不按照路由表进行报文的转发。
策略路由是一种依据用户制定的策略进行报文转发路径选择的机制,与单纯依照IP报文的目的地址查找路由表进行转发不同,可应用于安全、QOS、负载分担等目的。
策略路由支持基于acl、报文长度等信息,来灵活地指定数据包的转发路径。它不支持源mac策略来指定数据包转发路径。

策略路由配置

路由拓扑

PC的路径选择

PC1->RTA->RTB->RTD
PC2->RTA->RTC->RTD

路由配置

RTA
#
acl number 2001
rule 5 permit source 1.1.1.1 0 //匹配PC2
acl number 2002
rule 5 permit source 1.1.1.2 0 //匹配PC1
#
ip local policy-based-route PBR1 //在RTA上生效策略路由
#
policy-based-route PBR1 permit node 10 //PBR1的内容
if-match acl 2001 //如果从2001(1.1.1.1)发过来的数据
apply output-interface Ethernet 0/0/3 //从接口E0/0/3发出去
#
policy-based-route PBR1 permit node 20
if-match ale 2002
apply output-interface Ethernet 0/0/2
#

BGP路由策略与策略路由相关推荐

  1. 路由策略和策略路由配置与管理-1

    路由策略和策略路由配置与管理 "路由策略"与"策略路由"之间的区别就在于它们的主体(或者说"作用对象")不同,前者的主体是"路由& ...

  2. 什么是路由策略?路由策略和策略路由有什么区别? 如何配置路由策略?

    对于IP网络工程师来说,路由策略的部署随处可见,无论在运营商IP网络还是在企业网中,路由策略的应用都是非常普遍的.同时,在网络规划中,路由策略的规划也是一个核心的内容.为了方便大家更好的掌握和应用路由 ...

  3. 路由器重温——路由策略和策略路由-1

    "路由策略"与"策略路由"之间的区别就在于它们的主体(或者说"作用对象")不同,前者的主体是"路由",是对符合条件的路由 ...

  4. 4 路由策略与策略路由

    第4章 路由策略与策略路由 在复杂的数据通信网络中,根据实际组网需求,往往需要实施一些路由策略对路由信息进行过滤.属性设置等操作,通过对路由的控制,可以影响数据流量转发.路由策略并非单一的技术或者协议 ...

  5. 基于FRR全面解析BGP协议(五):FRR的BGP路由策略

    FRR的BGP路由策略 过滤器 FRR提供了基于IP,基于Community和基于AS-PATH的三种类型过滤器来匹配路由. IP Access List 基于IP的路由ACL规则,比较少使用,通常是 ...

  6. 理解路由控制(路由策略、策略路由)

    文章目录 前言 控制网络流量可达性 路由策略 路由策略的应用方式 ACL应用 IP-Prefix List应用 Filter-Policy工具介绍 Route-Policy工具介绍 策略路由 Traf ...

  7. 路由策略与策略路由的区别。

    这两中方案都是为了控制网络流量的可达性或调整网络流量的路径: 一.路由策略.(Route-Policy) 路由策略是通过修改路由表的路由条目来控制数据流量的可达性.即对接受和发布的路由进过滤.这种方式 ...

  8. H3C——路由策略和策略路由实例配置

    配置如下: [IP]int s0/2/0 [IP-Serial0/2/0]ip add 202.112.1.10 28 [IP-Serial0/2/0]int s0/2/1 [IP-Serial0/2 ...

  9. 路由器重温——路由策略和策略路由-2

    策略路由基础 "路由策略"(Routing Policy,RP)与"策略路由"(Policy-Based Routing,PBR)有着本质上的区别." ...

最新文章

  1. c#控制IE浏览器自动点击等事件WebBrowser,mshtml.IHTMLDocument2
  2. Oracle多个服务各代表什么作用(转)
  3. php连接redis报错,PHP使用phpredis链接redis错误
  4. 区块链系统之《一种基于区块链的云数据共享方法》
  5. C++ map注意事项
  6. 爆款入门 | 第 14 期微生物组-扩增子16S分析和可视化(线上/线下同时开课,2022.4)...
  7. centos安装mysql5.6系统崩溃_CentOS中安装MySQL5.6报错的解决方法
  8. MJRefresh实现刷新(使用它的Block方法)
  9. 数据结构乐智教学百度云_数据结构 百度网盘分享
  10. 特斯拉为什么要“干掉”保险丝和继电器?
  11. App后台开发运维和架构实践读书笔记
  12. 20位顶级设计师的桌面环境
  13. 复数基础——二次公式的复根,复平面上标复数值点_7
  14. 网页加载过程+性能优化+安全
  15. 计算机绘图员技师证怎么考,地图制图员》与 《摄影测量员》中级高级工程测量职业标准-如何考-考什么内容...
  16. CSDN 2018博客之星评选,感谢大家的投票
  17. Tablespace free space
  18. 京淘电商后台管理系统
  19. 矩阵求逆引理(Matrix Inversion Lemma)的意义
  20. Sqlserver官网下载时各版本含义

热门文章

  1. python鱼眼图像识别_一种基于鱼眼摄像头的人脸识别锁以及识别方法与流程
  2. [警告] [TensorFlow] Cause: module 'gast' has no attribute 'Num'
  3. 出手1000万美元,马云非洲之行交“学费”
  4. 计算机未安装OCR应用程序,电脑应用指南 篇四:天若OCR使用指南(扫描图片转文字)...
  5. 陌陌、BIGO、比亚迪、好未来、同程艺龙、去哪儿、联通西安研究院、华为、海康威视java开发面试经验
  6. 大数据在职研究生哪个好_大数据在职研究生好考程度与学习方式有关联吗
  7. pycharm快捷键全网最全
  8. 基于STM32的LoRa无线通信(AS32—TTL-1W)
  9. 三种保证URL地址可信的加密方式
  10. 使用eigen库进行空间变换