XCIE-HUAWEI-超级完整的BGP-6-路由选路(三)+团体属性+BGP选路总结
优选来自EBGP的路由(EBGP>IBGP)
这个其实没什么好演示的了,也没得改,了解就行了,如果有同一条路由的情况下
其他属性的,前面的没有比出来,那么到这条的时候,优选EBGP的路由
选择AS内部IGP的metric最小的路由(仅适用于IBGP)
其实这个跟MED那个差不多,都是基于看自己的COST加表到BGP的
环境
成功建立IBGP邻居
在R1和R3上同时network192.168.1.0
观察R1的BGP表
起源属性,med,本地优先级什么的都一样,为什么选择了2.2.2.2的R2呢?
来看原因
[R1-bgp]display bgp rou
[R1-bgp]display bgp routing-table 192.168.1.0
BGP local router ID : 12.1.1.2
Local AS number : 1
Paths: 2 available, 1 best, 1 select
BGP routing table entry information of 192.168.1.0/24:
From: 2.2.2.2 (12.1.1.1)
Route Duration: 00h01m10s
Relay IP Nexthop: 12.1.1.1
Relay IP Out-Interface: GigabitEthernet0/0/0
Original nexthop: 2.2.2.2
Qos information : 0x0
AS-path Nil, origin igp, MED 0, localpref 100, pref-val 0, valid, internal, bes
t, select, active, pre 255, IGP cost 1
Not advertised to any peer yet
BGP routing table entry information of 192.168.1.0/24:
From: 3.3.3.3 (23.1.1.2)
Route Duration: 00h01m18s
Relay IP Nexthop: 23.1.1.2
Relay IP Out-Interface: GigabitEthernet0/0/1
Original nexthop: 3.3.3.3
Qos information : 0x0
AS-path Nil, origin igp, MED 0, localpref 100, pref-val 0, valid, internal, pre
255, IGP cost 1, not preferred for router ID
Not advertised to any peer yet
[R1-bgp]
通过下面的原因可以看见,他输在RID
前面的文章有解释过,From后面的第一个是更新源(Peer)
后面括号的则是Route-ID
对比AS内部的IGP的Metric最小的路由
但是默认下都是一样的
为什么呢?
因为跑的是ospf作为底层,他们也是直连,所以他们的cost自然是一样的,不信看路由表
现在他选择的是2.2.2.2,我现在改动下去往2.2.2.2的ospf的cost,让路由表选择走r3,然后再来看bgp表
再来看BGP表
这里提示的是,他输在cost值
BGP默认不负载均衡,可以手动开启负载均衡
我先把旧的删了先
[R1-bgp]maximum ?
load-balancing Forward packets over multiple paths
[R1-bgp]maximum l
[R1-bgp]maximum load-balancing ?
INTEGER<1-4> Specify maximum equal cost routes
ebgp EBGP routes as equal cost route
ibgp IBGP routes as equal cost route
[R1-bgp]maximum load-balancing i
[R1-bgp]maximum load-balancing ibgp ?
INTEGER<1-4> Specify maximum equal cost routes
[R1-bgp]maximum load-balancing 4
maximu load-balancing 手动负载均衡
可以选择IBGP或EBGP或者同时选择
最大可以支持4条路由同时负载均衡
cluster_list 和orginator的先不讲(这两个是RR里面的)
router_id选最小的,最后一条是选IP最小的
IP和RID都不可能被修改(RID是看你宣告的时候或者手动修改的)
问题来了,为什么rid可以冲突呢?场景是怎么样的呢
简单,双线呢?双线都配置IP都走BGP,但是不配置链路聚合,那不就是有两条路径同一个AS同一个RID了嘛
到团体属性了(可以理解为BGP版本的NAT)
1.用于限制BGP路由传播的范围
2.用于对BGP路由进行标记(类似TAG)
团体属性;用于限制BGP路由的传播范围用于对BGP路由进行标记,类似于IGP的TAG值(BGP的团体可以标记多个,IGP的TAG只能有一个)
分类
公认团体属性:作用。用来限制BGP的传播范围
Internet:设备收到具有此属性的路由后,,可以向任何BGP对等体发送该路由(遵守选路原则)(所有BGP路由都会默认携带这个团体)
No Advertise: 设备收到具有此属性的路由后,将不向任何BGP对等体发送该路由
No_Export: 设备收到具有此属性的路由后,将不向AS外发送该路由
No_Export Subconfed; 设备收到具有此属性的路由后,将不向AS外发送该路由,也不向AS内其他子AS发布此路由
还是那句话
还是用route-policy来玩
先记两个命令
display bgp routing-table peer IP advertised-routes /查看我给这个IP发哦是那个什么BGP路由
display bgp routing-table peer IP received-routes /查看从这个邻居收到了什么BGP路由
internet就不讲了,默认属性,全部都会默认携带的
示例No-Advertise
首先使用前缀列表抓出来,然后route-policy里面添加这个属性,然后到bgp里面去调用
添加了之后,从R1上看,没有了来自R2发送的路由了,只有R3的
然后再去R1上验证
什么都没发出去
然后取消了这个策略再来看
验证成功,策略取消之后一切恢复正常
No_Export-(说白了就是不给EBGP邻居发路由,只给IBGP发)
环境
下方加上一个设备,作为EBGP,然后在R2上宣告路由并且加上No_EXPORT属性,对比R1和R4的情况
R2的懒得贴了
少了一个ebgp改跳数255,我写上去了,懒得截图了
建立邻居
宣告路由
添加策略后然后再看IBGP和EBGP的BGP表
R2
[R2]ip ip
[R2]ip ip-prefix abc p
[R2]ip ip-prefix abc permit 222.1.1.0 24
[R2]rou
[R2]route-
[R2]route-policy-change
[R2]route-policy abc pe
[R2]route-policy abc permit n
[R2]route-policy abc permit node 10
Info: New Sequence of this List.
[R2-route-policy]if
[R2-route-policy]if-match ip
[R2-route-policy]if-match ip
[R2-route-policy]if-match ip-prefix abc
[R2-route-policy]app com
[R2-route-policy]app comm-filter
[R2-route-policy]app community no-
[R2-route-policy]app community no-advertise
[R2-route-policy]app community no-export
[R2-route-policy]q
[R2]bgp 1
[R2-bgp]undo net 222.1.1.0
[R2-bgp]net 222.1.1.0 route-policy abc
[R2-bgp]
在R1(IGBP)上,一样正常,在R4(EBGP上)已经消失了
默认情况下,团体属性不会自动发给邻居
因为这个团体属性不是公认必遵,所以团体属性你得手动推过去
在始发的设备输入
BGP下
开启团体属性通告-peer IP advertise-community
剩下的No_advertise属性是完全不对外发了,基本上用不到,所以也不展示了
No_Exoport_subconfed 这个是给BGP联盟用的,简单的说,也是什么都不能发
团体属性有分有序,无序,那个东东不是很想写了,还有聚合的,as-set的属性之类的
总结华为BGP路由选路
前面两篇加上这一篇
1.丢弃下一跳不可达的路由(Next-nop)
2.选用协议优选值最高的(prefence_value最高的路由,华为私有,仅本地有效)使用route-policy修改
3.优选本地优先级最高的路由,默认值100,越高越好,使用route-policy修改
4.优选手动聚合-自动聚合-network-import-从邻居学到的路由
5.优选AS—path短的路由(IBGP不生效)使用route-policy修改。需要注意的是只能修改自己的,否则可能引起环路以及其他问题
6.起源属性IGP>EGP>Incomplete 最后一个是引入的意思,在bgp表里面显示的是? 使用route-policy修改
7.对于来自同一个AS的路由,选择MED小的(ebgp不生效,但是会传递)
8.优选cluster_list最短的路由(RR环境,以后再讲)
9.优选Orginator——ID最小的路由(RR环境,以后再讲)
10.优选Router——ID最小的路由(环境:两个设备直连但是不做链路聚合,同一个AS,同一个RID)
11.选择IP地址最小的路由