一、社团属性(Community)
社团属性,也叫共同体属性,是 可选传递属性。类似于tag标记,用途: 控制路由的传播范围
社团属性分以下两种:

1、well-known communities 公认社团配置: 
 
ip prefix-list 10 seq 5 permit 192.168.0.0/24    
 //配置前缀列表,抓路由
ip prefix-list 20 seq 5 permit 192.168.1.0/24 
 
ip prefix-list 30 seq 5 permit 192.168.2.0/24 
 
ip prefix-list 40 seq 5 permit 192.168.3.0/24 
 
route-map com permit 10                                match ip address prefix-list 10     //配置route-map,匹配前缀列表 
 
set community local-AS  // 
 local-AS:携带此属性的路由不会传出内部AS。(没有联邦的话,与第二条意义相同) 
 
route-map com permit 20 
 
match ip address prefix-list 20 
 
set community no-advertise   // 
 no-advertise:携带此属性的路由不会通告给任何BGP邻居。也就是说只传达给一个邻居 
 
route-map com permit 30      
 
match ip address prefix-list 30 
 
set community no-export   // 
 no-export:携带此属性的路由不会传出本AS外,只会传给IBGP。(联邦中的内部AS会传递) 
 
route-map com permit 40 
 
match ip address prefix-list 40 
 
set community internet    // internet    这个应该是全部都传,应该没什么意义。  
 
router bgp 65013 
 
  
 neighbor 1.1.1.1 send-community   // 
 社团属性只会传给指定的邻居,并只在此邻居上起效。默认不会再向后传 
  neighbor 1.1.1.1 route-map com out  //调用route-map  
 
2、Private communities  私有社团 
 
配置私有团体: 
 
R1(config)#route-map CISCO permit 10 
 
R1(config-route-map)#set community 4:20 
 
R1(config-router)#neighbor 24.1.1.2 send-community做相应的策略: 
 
R3(config)#ip community-list 1 permit 4:20 
 
R3(config)#route-map CISCO deny  
 
R3(config-route-map)#match community 1 
 
R3(config-route-map)#exit 
 
R3(config)#route-map CISCO permit 20 
 
R3(config-router)#nei 35.1.1.5 route-map CISCO out 调用R1(config)# 
 ip bgp new-format   可显示出私有的属性   
 
//还没研究过


二、BGP属性
1、Weight    CISCO的私有属性
特点:值越大优先级越高。
作用范围:不向 BGP 邻居发送,仅限本地路由器,cisco设备。
本地有效。只在这一台路由器上起作用,人为设置的邻居的权重
·默认值=32768(本地)/ 0(收到的路由)当一个路由器分别从两个不同的邻居处学到同一条路由,它可以根据WEIGHT值决定从哪个邻居走
配置:
R3(config-router)#Neighber 1.1.1.1 weight 100   //针对该邻居发来的所有路由进行修改
也可针对某一条路由单独修改,用列表抓路由,route-map调用
R3(config-route-map)#match ip address prefix-list 1
R3(config-route-map)#set weight 8
R3(config)#route-map WEI permit 20   // 记住:要在route-map最后写一条让其它路由通过的空的route-map语句
R3(config-router)#neighbor 1.1.1.1 route-map WEI  in 在自己的进方向调用 
2、Local_Preference 本地优先级
特点:公认自由决定属性,值越大越优。默认值=100 
作用范围:限于IBGP范围内。
效果:它告诉AS中的路由器,哪条路径是离开AS的首选路径。 
设置方法:通常可以在AS的边界路由器上设置本地优先级R1(config-router)#bgp default local-preference 111 会影响所有路由,将本地缺省路由改为101;
一般在AS边界做,route-map 挂out方向。
 
3、AS-Path
特点:AS越短越优。作用范围:EBGP。
效果:插入虚拟的AS号。
设置方法:R1(config-route-map)#set as-path prepend 1 1 1  
注意:通常都会这样加:set as-path prepend 1 1 1 加自已的AS号,不易搞混。
做out方向:出本AS之前预先添加设定的AS号,人为设定的AS号顺序不变。
做in 方向:进本AS之前预先添加设定的AS号,人为设定的AS号顺序不变。
  4、origin

IGP (i)  在BGP中用network命令宣告的路由,因为network是在路由表中有的路由才能宣告,而路由表里面的路由是IGP,所以说起源于IGP。 
 
EGP (e)  这个EGP指的是一种早期的协议,现已不用 
 
Incomplete(?) 重分布进BGP的IGP路由或者静态路由这样可以看到起源egp属性! 
 
route-map CISCO 
 
   set origin egp [AS number]router bgp XX 
 
nei 3.3.3.3 route-map CISCO out


5、MED(Multi-Exit Discriminator)多出口鉴别属性
特点:MED也叫BGP的metric,默认值=0,MED值越小越优。当两个AS之间出现多条路径时才用。(可选的、非传递属性)
范围:EBGP。MED 仅向 EBGP 邻居发送。
效果:告诉自己的EBGP邻居如何进入本AS。
配置:

neighbor 192.1.24.2 route-map med out 
 
ip prefix-list 14 seq 5 permit 172.1.14.0/24 
 
! 
 
route-map med permit 10 
 
 match ip address prefix-list 14 
 
 set metric 444 
 
! 
 
route-map med permit 20


注意:(1) Local prefrerence决定IBGP邻居如何出本AS,MED决定EBGP邻居如何进本AS。(2) 只能传递一个AS。(3) 默认不比较从不同AS传来路由的MED。如果要比较不同AS传来的MED值,要用下面的命令R2(config-router)#bgp always-compare-med 
三、BGP 路径选择顺序
1、Weight---权重(越大越优先)[Cisco私有]
2、Local_Pref---本地优先(越大越优先)
3、优先本路由器始发的路由,即下一跳是0.0.0.0(在BGP 表中,当前路由器通告的路由的下一跳为0.0.0.0)
4、AS-Path(越短越优先)
5、起源类型(origin)最低的路由(优先:IGP > EGP > Incomplete)
6、MED(越小越优先)
7、优选EBGP来的路由,在联盟EBGP 和IBGP 中首选联盟EBGP 路由
8、BGP 优先选择到BGP 下一跳的IGP 度量最低的路径
9、如果有多条来自相同相邻AS 的路由并通过Maximum-paths 使多条路径可用,则将所有开销相同的路由加入Loc-RIB
10、BGP 优先选择最老的路径,降低滚翻的影响(很少用到)
11、BGP 邻居的RID(越小越优先)
12、如果多条路径始发路由器ID 或路由器ID 相同,那么优选Cluster-List 最短的路径
13、选择邻居ip 地址最小的路由