【路由交换方向IE认证】BGP常用属性(除公认必遵外的属性)
目录
文章目录
- 目录
- BGP属性类型
- Local Preference属性
- LP的选路原则
- 查看Local Preference属性
- MED属性
- MED属性的选路原则
- MED属性的使用
- 可传递的MED属性的情况
- MED值仅比较同一AS
- 查看MED属性
- Community团体属性
- Community属性的种类
- 公认Community
- Community属性的使用
- Community属性的格式
- Atomic_Aggregate以及Aggregator属性
- Weight属性
BGP属性类型
在NP阶段,我们学习了BGP是如何建立起来的,比如说BGP路由的传递是通过BGP对等体之间互相发送UPdate报文来进行传递路由信息的
在BGP的UPdate报文中就存在着BGP的各种属性,在IE阶段,我们就是通过学习这些BGP的各种属性,来对BGP的路由进行选路的
BGP的属性分为4类,如下图
我们先对local Preference进行讲解
Local Preference属性
Local Preference属性,也被称为本地优先级属性;我们通常叫做LP值。与选路的关系是管出的
由于是本地优先级,所以LP只会在本地AS内生效,一旦出了本AS,在但是会将LP值填充为100
换句化说,LP只会在IBGP Peer之间传递,并不会在EBGP Peer之间传递,在EBGP的传递路由条目的过程中,会自动为路由条目的LP值填充上100
LP的选路原则
在其它条件的同时,运行BGP的路由器会优选LP值较高的路径
如下图,我们在R1和R2上分别设置192.168.10.0/24LP值为100和200,
当传递到R3的时候,R3会识别这两条的LP值,在其它情况不变的情况下,R3会优先选择LP值打的路径,则R3—>R2
随后,R3会将192.168.10.0/24这条从其它AS学习到的路由传递给AS300的R4上,由于LP值只在本地AS内有效,所以传到AS 300的LP值则被自动填充为LP = 100
查看Local Preference属性
如下图,通过show ip bgp可以看到LocPrf值,就是LP值的体现
MED属性
MED属性作为可选不可传递属性,是在路由的选路当中最经常使用的一个属性,我们可以将其理解为IGP协议中的度量值,例如说OSPF中的cost值。相比于LP值,MED值则是管进的
MED值主要是用于本AS向外部AS指出进入本AS的路径,针对同一条路由,MED值可以影响其它AS进入本AS的路径
并且当路由再传递给下一个EBGP Peer的时候,MED值是不会进行传递的,这也是MED作为可选不可传递的体现,简单来说就是MED值不能跨AS传递
MED属性的选路原则
MED值的选路原则是越小越优先
如下图,再R1和R2上分别为设置192.168.10.0/24的MED为10和20,根据MED值越小越优先的原则,R3去往的192.168.10.02/24的路径将会优选R3-R1这条路径
由于MED属性是可选不可传递,简单来说就只能传递一个AS,所以当192.168.10.0/24从AS 200再传递到AS 300的时候,是不会携带的,在锐捷的设备中将被填充为 MED = 0
MED属性的使用
MED属性的使用主要分为两种情况:①可传递的;②不可传递的
可传递的MED属性的情况
对于本地引入的BGP的路由,换句话说就是全局路由表中(show ip router)中引入BGP的路由(network、redistribute)则会将MED值传递给EBGP Peer;此外,不同的起源路由也具有不同MED属性传递的规则
在IBGP Peer之间传递路由的时候,除非部署了路由策略,否则MED值不会改变
①如果本地引入的路由(network、redistribute)是通过IGP(如OSPF)学习到的,那么MED值将会继承IGP的度量值(cost值)
如下图,MED会继承OSPF中的cost值
②如果本地引入的路由(network、redistribute)是直连/静态路由,则MED值为0
MED值仅比较同一AS
在默认情况下,BGP路由器仅会比较同一相邻AS的BGP路由的MED值,如果有两条路由但是却是去往两个不同的目的地来自不同的AS,则不会进行AS的比较
但是上述的情况是默认情况,我们还可以通过命令 bgp always-compare-med 进行配置,上述的情况进行比较
如下图,对于AS 300的路由器来说,192.168.10.0/24来自两个不同的AS,AS 100和AS 200
查看MED属性
如下图,显示的 Metric 值就是MED属性,从两种图可看到(图一对应着TOPO图的R3,图二对应着TOPO图的R4),MED值是无法传递到下一个AS的
Community团体属性
Community作为可选可传递属性,主要起到一个打标记的作用,而标记的对象就是那些具有相同性质,但是网段不同的路由,其目的是简化路由策略
在默认情况下,Community属性并不会进行传递,需要我们使用命令进行配置nei 2.2.2.2 send-community 才能进行Community的传递
Community的使用是没有物理边界的;对于一个路由可以拥有多个团体属性
Community属性的种类
①公认Community属性,事先约定好的属性,可直接使用
②私有Community属性,自定义的属性,如刚刚的将192.168.10.0/24打上 tag 为 100:1
公认Community
公认Community | 说明 |
---|---|
internet | 收到这条属性的BGP路由,可以向任何BGP Peer发送此路由,在默认情况下所有的路由都属于此团体属性 |
local-AS | 顾名思义,收到携带这条属性的路由,将不向外部的AS(EBGP Peer)发送该路由,包括联盟BGP Peer |
no-advertise | 收到携带这条属性的路由,不会向任何BGP Peer发送该路由 |
no-export | 收到携带该属性的路由,不会将向任何的外部AS(EBGP Peer)发送该路由,但是联盟BGP Peer依然会发送 |
local-AS与no-export的区别
local-AS并不会向联盟BGP Peer发送路由,no-export依然会向联盟BGP Peer发送路由
Community属性的使用
Comuunity属性在选路时,由于其传递范围不像ACL或Prefix-list一样只在本地有效,Community属性不限于任何一个网络或自治系统,没有物理边界,所以它的传递范围非常低广,每一个BGP路由器都能够认识Community属性,使用Community就不再需要在每一台设备上去配置ACl或前缀列表
如下图,将生产部中的192.168.10.0/24与192.168.20.0/24打上tag 100:1 的标记
将研发中的192.168.30.0/24与192.168.40.0/24打上tag 100:2 的标记
这两个Community属性传递到AS 200的时候,AS 200所识别的是100:1和100:2,而不是192.168.10.0/24这些路由条目
Community属性的格式
Community属性值的长度为 32 bit ,可以有两种形式呈现
①十进制格式
②AA:NN格式,其中AA表示AS号,NN表示自定义的编号
如上图中的100:1与100:2 都是处于AS 100的环境下
Atomic_Aggregate以及Aggregator属性
Atomic_Aggregate属性属于公认可选属性,作用主要是起到一个预警的作用,不会携带任何信息,当BGP路由器收到该属性的时候,就知道这条路由在传递的过程中出现了缺失,常见的场景是路由汇总
Aggregate属性属于可选不可传递属性,当路由被汇总时,执行汇总的路由器就会为汇总的路由添加该属性,在Aggregrate属性中,记录了本地的AS号以及本地Router-id
Weight属性
本地权重值
Weight属性可选非传递属性,Weight只会在本地生效,不会传递给任何的BGP Peer
Weight的选路原则为越大越优先,取值为0至65535
本地始发的路由默认时最大的为32768,从其它BGP Peer学习到的路由为0