BGP属性

BGP属性

—各种参数,用于BGP的选路,默认bgp协议将比对所有的参数选择唯一的路由;之所有使用大量的参数来选路,是因为可控性—管理员修改各个参数均可干涉选路- - -BGP协议没有优秀的选路算法,故正常BGP协议收敛的路径不一定是最佳路径;
5种公有基本属性,cisco存在一种私有的基本属性;

【1】Weight 权重值–cisco私有属性
传播范围 默认值 数值大优还是小优
不传播 0-65535,本地32768,邻居为0
修改方式
r4(config)#router bgp 2 
r4(config-router)#neighbor 3.3.3.3 weight 1 
r4(config-router)#end
r4#clear ip bgp * soft 

负载分担:到不同目标基于不同路径;基于个别路由进行属性修改

r4(config)#ip prefix-list w permit 2.2.2.0/24
r4(config)#route-map w permit 10
r4(config-route-map)#match ip address prefix-list w
r4(config-route-map)#set weight  1 
r4(config-route-map)#exit
r4(config)#route-map w permit 20
r4(config-route-map)#exit
r4(config)#router bgp 2 
r4(config-router)#neighbor 3.3.3.3 route-map w in
r4(config-router)#end
r4#clear ip bgp * soft 
注:只能在入向调用,因为权重值不传播;
【2】本地优先级(local-pre)

—最常用于干涉IBGP邻居关系下的选路;第一个公有属性;

传播范围 默认值 数值大优还是小优
IBGP邻居关系间 0-255,默认为100

修改方式

r3(config)#router bgp 2 
r3(config-router)#bgp default local-preference 101
本地传递给本地所有IBGP邻居时,优先级修改为101;
基于本地优先级的负载分担:
r3(config)#ip prefix-list l permit 2.2.2.0/24
r3(config)#route-map l permit 10
r3(config-route-map)#match ip address prefix-list l         
r3(config-route-map)#set local-preference 101
r3(config-route-map)#exit
r3(config)#route-map l permit 20
r3(config-route-map)#exit
r3(config)#router bgp 2 
r3(config-router)#neighbor 4.4.4.4 route-map l out 
r3(config-router)#end
r3#clear ip bgp * soft 
注:控制层面的出或入口均可,但必须为IBGP邻居关系;

【3】优选本地下一跳

*> 2.2.2.0/24 0.0.0.0 0 100 0 1 i
* 3.3.3.3 0 100 0 1 i

【4】AS-PAtH AS的路径- - -条目在传递过程中记录所有经过的大AS号;

该参数是在传递给EBGP邻居时才添加

作用
1. 用于EBGP水平分割,防止EBGP环路,接收到的条目中存在本地的as号将拒绝接收该条目
2. 用于选路,优选经过的AS数量较少路径

使用方法:

利用AS-path参数干涉选路,在EBGP邻居间传递路由时,人为增加AS号;虽然配置地点必须在EBGP邻居关系间,当也可对IBGP邻居关系的选路造成影响;
配置时,修改a路径,优选b路径;因为数值只能加大

修改方式

r1(config)#ip prefix-list as permit 2.2.2.0/24
r1(config)#route-map as  permit 10
r1(config-route-map)#match ip address prefix-list as
r1(config-route-map)#set as-path prepend 3 4 5 
r1(config-route-map)#exit

r1(config)#route-map as permit 20
r1(config-route-map)#exit
r1(config)#router bgp 2 
r1(config-router)#neighbor 12.1.1.2 route-map as in
r1(config-router)#end
r1#clear ip bgp * soft 
注:调用时在控制层面接口的入或出方向,但必须为ebgp邻居关系;
出口调用  x 3 4 5  x为实际经过的AS号;最前方AS号为最后经过的AS号;
入口调用  3 4 5 x

若人为添加的AS号,在网络的后端实际存在,那么将导致这些路由无法进入这些AS;
反复添加已经经过的AS编号

r1(config-route-map)#set as-path prepend 1 1 1 

补充

r1(config-router)#neighbor 4.4.4.4 allows-in //邻居4.4.4.4发过来含有自己AS的路由可以接受
【5】起源属性—该条目的来源

分类

  1. 在BGP中network 宣告产生–将本地路由表中的路由宣告到BGP协议-i
  2. 将IGP协议重发布到BGP协议中-?
  3. 将EGP协议重发布到BGP协议中-e
    优选顺序:i优于?优于e

修改方式

r1(config)#ip prefix-list o permit 2.2.2.0/24
r1(config)#route-map o permit 10
r1(config-route-map)#match ip address prefix-list o   
r1(config-route-map)#set origin ?
  egp         remote EGP
  igp         local IGP
  incomplete  unknown heritage
r1(config-route-map)#set origin egp 2 对端邻居的AS号
r1(config-route-map)#exit
r1(config)#route-map o permit 20
r1(config-route-map)#exit
r1(config)#router bgp 2
r1(config-router)#neighbor 4.4.4.4 route-map o out 
r1(config-router)#end
r1#clear ip bgp * soft 
【6】MED-多出口的鉴别属性–就是IGP协议中度量值

- - -BGP协议没有度量,但是可以认为添加度量值,来干涉选路;
最常用于干涉EBGP邻居关系;在AS1上干涉AS2对AS1的选路;

r2(config)#ip prefix-list med permit 2.2.2.0/24
r2(config)#route-map med permit 10
r2(config-route-map)#match ip address prefix-list med
r2(config-route-map)#set metric 1
r2(config-route-map)#exit
r2(config)#route-map med permit 20
r2(config-route-map)#exit
r2(config)#router bgp 1
r2(config-router)#neighbor 12.1.1.1 route-map med out 
r2(config-router)#end
r2#clear ip bgp * soft 

本质就是metric默认为0,一般只能用于自同一个AS发出路由的不同路径med值比较。只能在两个AS之间传递,不能传给第三个AS
一般用于影响对方as,如果在本AS使用和local-pre相同

使用扩展ping来验证

r2#ping
Protocol [ip]: 
Target IP address: 4.4.4.4
Repeat count [5]:   
Datagram size [100]: 
Timeout in seconds [2]: 4.4.4.4
% A decimal number between 0 and 3600.
Timeout in seconds [2]: 
Extended commands [n]: y
Source address or interface: 2.2.2.2
Type of service [0]: 
Set DF bit in IP header? [no]: 
Validate reply data? [no]: 
Data pattern [0xABCD]: 
Loose, Strict, Record, Timestamp, Verbose[none]: Record 

补充

bgp always-compare-med //开启比较不同AS的med
【8】选路规则

比较前提–同步被关闭、下一跳可达;均可优

  1. 首先比较weight 大优–不传递 ,Cisco私有 EBGP/IBGP
  2. 比较本地优先级,默认100;仅IBGP邻居传递,大优 IBGP
  3. 优选本地下一跳
  4. 比较as-pash,经过的AS数量少优,EBGP邻居可增添 EBGP/IBGP
  5. 起源码最小 i-igp=0 e-egp=1 ?-incomplete=2 EBGP/IBGP
  6. MED值最小 EBGP/IBGP
  7. 普通的EBGP邻居优于联邦内EBGP邻居优于IBGP邻居
  8. 优选最近的IGP邻居(IGP度量小)
  9. 优选最先建立EBGP邻居
  10. 最小BGP邻居的RID
  11. 优选最小的RR list 列表
  12. 若收到到达同一目的地两条均可优的EBGP路由,可以人为实现负载均衡
    r2(config)#router bgp 1
    r2(config-router)#maximum-paths 2
【9】社团属性—BGP的扩展属性

- - -扩展属性中只有极少的属性已经被固定,大部分属性是可以由管理员自己定义的- - -相当于打标记

正常各个厂商的设备不会去传递社团属性,故若需要使用社团属性,必须开启属性的传递性

案例:基于BGP路由的传播范围相关社团属性
r1(config)#route-map com permit 10
r1(config-route-map)#set community no-advertise  定义社团属性
r1(config-route-map)#exit
r1(config)#router bgp 1
r1(config-router)#neighbor 12.1.1.2 route-map com out
r1#clear ip bgp * soft
注:进行以上配置后,社团属性默认不会传递给下一个邻居;必须开启传递性
r1(config)#router bgp 1 
r1(config-router)#neighbor 12.1.1.2 send-community  将社团属性发生给该邻居
r1#clear ip bgp * soft

四种固定团体属性
internet 可以给任何bgp发送//不对携带团体值的路由做任何限制
no-advertise 接收到的条目中若存在该属性,将不能传递给本地的其他邻居
local-as 接收到的条目中若存在该属性,将不能传递给其他的小AS邻居
no-export 接收到的条目中若存在该属性,将不能传递给其他的大AS邻居

若拓扑中没有小AS,local-as和no-export作用一致

注:社团属性重点在于传递性,应该逐级开启传递

补充

r1(config)#ip bgp-community new-format //开启后,团体值显示为该有显示,而不是数字
【10】补充属性
Atomic_aggregate属性

用来警告下游路由器路由聚合后产生的路由路径丢失。
BGP支持向BGP邻居传递重叠路由可以选择多种方式

  1. 明细和粗略的都公布
  2. 只公布明细
  3. 只公布没有重叠的
  4. 聚合后公布聚合后的路由
  5. 明细和粗略都不公布
Aggregator属性

用来通告汇总路由的汇聚路由器 BGP_ID(cisco)

Originator_id

路由反射使用,是路由发起者产生的一个32比特的值,该值是本地路由发起者的RID,如果路由发起者从属性上看到 自己的RID,说明有环路就忽略

Cluster_list

路由反射器使用,是路由进过反射器簇ID的一个序号。如果反射器在属性里看到自己的簇ID就说明有环路,忽略

【11】peer-group
r1(config)#router bgp 10  
r1(config-router)#bgp router-id 1.1.1.1
创建名为xxx的peer-group
r1(config-router)#neighbor xxx peer-group 
定制xxx的内容
r1(config-router)#neighbor xxx remote-as 2
r1(config-router)#neighbor xxx update-source lo0
r1(config-router)#neighbor xxx ebgp-multihop 
r1(config-router)#neighbor xxx send-community 
调用xxx到各个邻居
r1(config-router)#neighbor 2.2.2.2 peer-group xxx
r1(config-router)#neighbor 3.3.3.3 peer-group xxx
r1(config-router)#neighbor 4.4.4.4 peer-group xxx
r1(config-router)#neighbor 5.5.5.5 peer-group xxx

注:该协议的问题在于一旦和某个邻居基于peer-group配置,那么与该邻居间的大部分指令均需要在peer-group中进行

你可能感兴趣的:(网络)