BGP的属性--BGP协议依赖大量的参数进行选路;通过修改这些参数均可起到干涉选路的效果;
1.weight 2.origin 3.as-path 4.next-hop 5.local-preference 6.atomic-aggregate 7.Aggregator 8.community(Internet、no-export、no-advertise、local-as) 9.MED(只能同一个AS内比较)10.originator-id 11.cluster-list
1.Weight:权重值,做选路使用.
传播范围 默认值 大优或小优
不传播 本地32768,邻居0 大
Weight为Cisco私有属性 范围0-65535
注:只能本地修改,因为没有传递性;
负载分担---基于不同目标,使用不同路径访问;
注:只能本的控制层面入向调用,因为该属性不传递;
2.本地优先级:local-preference,做选路用
传播范围 默认值 大优或小优
IBGP邻居间 100 大
最常用于干涉IBGP选路的属性;
注:调用时,控制层面的入或出口均可,但必须为IBGP邻居关系;
3.next-hop:下一跳
4.AS-PASH:1,记录路由经过的AS,2.防环(水平分割).3.选路
记录所有经过的AS编号 优选经过数量最少的路径还用于EBGP水平分割--接收到的条目中若存在本地AS号,将拒绝;可以在人为的在路由信息中添加AS编号;但只能在EBGP邻居关系间操作;但也可用于干涉IBGP邻居关系下选路;
注:调用时,控制层面的出或入接口均可,但必须为EBGP邻居关系;
若出口调用: X 3 4 5 为真实经过过的AS
入出口调用: 3 4 5 X 为真实经过过的AS
左侧为最新的AS号
又因为AS-PASH属性还用于防止EBGP环路,故添加的属性中若存在后方AS号,将导致这些路由无法进入这些AS;重复使用已经经过的AS号
5.origin:起源属性 标记路由起源
Origin codes: i - IGP, e - EGP, ? - incomplete
起源属性--该条目是通过什么方法进入到的BGP表中来的
使用i表示管理员network宣告配置
使用e表示EGP重发布到BGP的路由
使用?表示IGP重发布到BGP的路由
规则:i优于e优于?
6.MED:metric(只能在同一AS内比较)
多出口的鉴别属性;人为的修改度量数字来干涉选路;
可以干涉EBGP/IBGP选路;最常用于干涉EBGP选路;
常常AS1干涉AS2对AS1的选路;
7. atomic-aggregate:聚合,删掉明细,产生一条汇总网段.
8. Aggregator:聚合者,产生汇总的人.
9. community:社团属性,做标记用. xx:xx,no-export:不输出,本地收到的路由不在传出.no-advertise:不通告,不传给邻居路由.local-as:本地AS,最小AS,在AS内传,传不出AS
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(config-router)#end
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
no-advertise 条目中携带该属性,将不得传递给下一个邻居
no-export 条目中携带该属性,将不得传递给下一个大AS
local-AS 条目中携带该属性,将不得传递给下一个小AS;
若拓扑中没有小as,那么no-export和local-as作用一致;
BGP的peer-group
r3(config)#router bgp 64512
r3(config-router)#neighbor xxx peer-group
创建名为xxx的peer-group
定制内容
r3(config-router)#neighbor xxx remote-as 64513
r3(config-router)#neighbor xxx update-source loopback 0
r3(config-router)#neighbor xxx ebgp-multihop
调用
r3(config-router)#neighbor 2.2.2.2 peer-group xxx
r3(config-router)#neighbor 4.4.4.4 peer-group xxx
r3(config-router)#neighbor 5.5.5.5 peer-group xxx
注:一旦和某个邻居间调用了peer-group,那么和该邻居间大多数的配置均需要在peer-group中定制;
10. originator-id:起源者ID.只和反射器有关系,防环.防止有多个反射器反射该路由回来.
11. cluster-list:群集列表,列表列出路由经过反射器的ID,通过记录所经过的RID,来防止返给自己产生环路.
1.公认必尊
所有BGP路由器必须识别遵守的原则有origin,as_path,next_hop
2.公认可尊
所有路由器都能识别但是不一定要遵守,local_pref,atomic_aggregate
3.可选传递(需配置)
不是所有BGP路由器都能识别,但是所有BGP都能传递,aggregator和community
4.可选非传递
不是所有路由器都被识别,不能识别的BGP路由器就丢弃它,MED,originator_id和cluster_id,weight
比较前提--同步被关闭、下一跳可达;均可优
1.首先比较weight 大优--不传递Cisco私有 EBGP/IBGP
作用于本地路由器选择出口,为一个AS边界时可以作用于该AS ,影响具体可在Route-map里做 默认32768 大优
2.比较本地优先级(local-preference),默认100;仅IBGP邻居传递,大优 IBGP 作用于一个AS选择出口
3.优选本地下一跳,next-hop /0.0.0.0大于其他,本地最优
4.比较as-pash,经过的AS数量少优,EBGP邻居可增添 EBGP/IBGP 作用于整个BGP 短优 local-as可以修改通告出去的as号。
As-override(允许下一个AS接收包含自己AS号的路由)\allowedas-in(允许自己接收含有自己AS号的路由) 关闭as-path防环,使用:在neighborxxxxx后加该命令
当自己是AS2,对端AS3的邻居是AS1但是2还是要和3建邻,2又到不了3上,又想和3建邻,只能通过修改自己宣告的AS号.在neighbor local-as 可以修改自己通告的AS号
5.orgin起源码最小,作用于整个BGP i-igp=0 e-egp=1 ?-incomplete=2 EBGP/IBGP i>e>?
6.MED值最小(cost,K值) 作用于两个AS之间,影响对方选路 EBGP/IBGP 只能在同一个AS内比较
7.普通的EBGP邻居优于联邦内EBGP邻居优于IBGP邻居 20>200
8.优选最近的IGP邻居(IGP度量小)
9.优选最先建立EBGP邻居
10.最小BGP邻居的RID(小的RID为最先部署的)
11.优选最小的RR list 列表,cluster-ID
12.若收到到达同一目的地两条均可优的EBGP路由,可以人为实现负载均衡
13.最小的更新源地址
注:
Weight 只能用在in方向,绝对不能用于out方向
Local-prefer可用于in也可以用于out,作用的对象为EBGP时只能用于in,作用于IBGP时无所谓,用in影响自己,out影响别人,但EBGP不能影响别人
MED:能用out尽量用out,影响别人,in和out都可用
反射器的缺点:BGP会把最优的路由传出去,而反射器会把自己认为最优的路由反射出去.IGP用的是算法,肯定是优的。
为什么做反射器?
因为IBGP邻居默认不传递路由,全互联浪费资源,减少建邻数量
反射器做层级结构,可以不停的做反射器,一直往下反。
联邦,宣告小AS,有必要宣告大AS:有EBGP邻居时。
为什么要做联邦?
1.AS号有限
2.减少建邻数量
3.简化拓扑环境
一个公司有多个分部,问可不可共用同一个AS号?
可以,打破水平分割,
过滤,BGP一共有多少过滤方法?
1.route-map 2.分发列表 3.前缀列表(BGP可在neighbor后挂前缀列表)
BGP的默认路由:
1.neighbor后边加default-information,给指定的邻居下发默认路由
2.给所有邻居下放默认路由,全局必须有默认路由,然后重发布起源为?或network起源为i,全局写default-information。
第一步,有默认路由,不是你的。第二步,network或重发布。第三部,全局写default-information。