BGP路由策略与策略路由

路由策略

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

路由策略工具
  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
#
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

超凡脫俗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值