BGP的属性
官方10种,厂商加了1种,共11种
四种分类
- 公认必尊:所有BGP路由器都必须识别并且遵守——origin、as-path、next-hop;
- 公认可尊:所有BGP路由器都能识别但不一定遵守——local-pref、atomic-aggregate;
- 可选传递:不是所有BGP路由器都能识别但都能传递 ——aggregator、community;
- 可选非传递:不是所有BGP路由器都能识别不识别就丢弃——MED、originator、cluster-id、weight;
Weight
- 传播范围为自己路由器,不能传给任何邻居(没有传播范围);
- 用于选路的属性;当一个路由器到达某一个网段有多条路径,选weight大的那条路;
- 本路由器产生的路由是32768,学习到的路由为0;
- 一般用于一台路由器去往其他AS有多条路径;
Origin
- 本质上是识别路由来源;
- 选路;i>e>?;
- 宣告的为i(0);学习到的为e(1);重发布来的为?(3);
AS-path
- 本质上是路径记录,每过一个AS放在靠右的位置;
- 记录AS;
- 防环(不允许记录本AS号的路由进入本AS);
- 选路(用于AS间):AS-path越长路径越长,AS-path越短路径越短;
- Allowas-in 允许和具有自己想同的AS的路由进入本AS;
- AS-override 把具有和其他As相同的AS号的路由放入这个AS;
Next-hop
- 到达路由的下一跳路由器IP地址;
- EBGP邻居学习的改下一跳;
- IBGP邻居学习到的不改下一跳;
- 自己宣告的为0;
Local-pref
- 专业做选路的属性,功能只有选路;
- 本地出口在多个路由器上最适合用local-pref,用于选择离开AS的出口;
- 默认为100,学习到的路由默认设置成100,越高越优;
- 传播范围为一个AS内部(IBGP之间传递);
MED
- MED相当于metric;
- 默认不用MED衡量,初始值是0,越低越优;
- MED一般是影响别人的,用于选择流入AS入口的路由器;
- MED也可以影响自己,从入向传进来一个MED值;
- MED和local-prefe联用,使出入路径一致;
- 可以给EBGP邻居传递,可以传给另外一个AS,仅限于传播过一个AS;
- 只有同一个AS传递出的MED值才能比较,不同AS之间不能比较Bgp;
- always-compare-med 该命令可以使不同AS之间MED可以比较;
Atomic-aggregate
- BGP路由汇总后,明细和粗略都在;
- As-Set 继承属性;
- Summary-only 删除明细路由;
Aggregator
- 用来通告谁做了汇总(cisco);
Community
本质上就是tag的升级版,性能强大;
子属性:
- Internet:默认属性,想怎么传就怎么传;
- No-export:只能在AS内部传(联盟间也可以传递),百度不想做中转站;
- No-advertise:不能在IBGP内传递;
- Local-as:在一个联盟内传递;
Ip communit-list 捕获团体属性;
标准:用于内部标记;
拓展:一般用于VRF(MPLS VPN);
Show ip bgp community 查看带社团属性的bgp路由;
注:
中转路由(反射)会出环,用以下两个属性防止环路
反射:除了非客户端之间,都可以反射路由
Originator-id
- 该值是路由发起者的RID,当发起者从路由属性中看到自己的RID,就忽略该路由
Cluster-list
- 路由进入反射器,反射器会将自己的簇ID加到这个属性里,如果反射器在属性里看到自己的簇ID,就忽略该路由