深入理解BGP的属性

(BGP选路和属性参考:https://blog.csdn.net/weixin_43121452/article/details/104433408)

BGP和IGP对比:

IGP追求速度效率等;
BGP没有去追求速度的包袱
BGP的性质

性质 内容
可靠性 (通过TCP承载协议报文体现)开销大,慢,但是这些对BGP影响不大
稳定性 不触发更新,也不周期更新;只做增量更新,使用环境本身就是稳态
承载性 增强版的距离矢量型,一定不能使用链路状态型(拓扑)
操控性 在AS间会出现很复杂的选路需求必须有很强的操控性(选路,策略)

属性(BGP的所有功能是通过属性实现)

深入理解BGP的属性

公认必遵:(BGP路由信息一定携带必须遵守的)

Origin:(作用有防环和选路)

(1)IGP>EGP>Incompelete

(2)周知强制属性

(3)指定路由更新的来源

(4)BGP netowrk宣告过来的路由一定会加上一个i的标记

(5)重分布到bgp的路由.一定会加上一个?的标记

(4)(5)通过标记区分防止出环

AS-Path:(防环,选路)

用来标识路由经过的AS路径

BGP路由每经过一个AS,就会将这个AS号加入自已的AS-Path中。

当一个路由器收到两条相同目的地的路由,它将选择AS路径最短的路由。

只能在EBGP邻居之间传路由时进行改动,对IBGP邻居传来的路由改不了

通过AS-path属性可以进行防环:当一台路由器收到一条BGP路由,会查看路由的AS-path属性,如果发现有自己的AS号码,就会丢弃这条路由。

Next hop:(去往目的路由下一跳AS的路由器的IP地址)

①从EBGP邻居学习到的路由会传递给我的EBGP邻居,下一跳改变,为自己

②从EBGP邻居学习到的路由会传递给我的IBGP邻居,下一跳不变,还是EBGP邻居,需要使用next-hop-self改变

③从IBGP邻居学习到的路由不会再传递给我的IBGP邻居(水平分割)

④从IBGP邻居学习到的路由会传递给我的EBGP邻居,下一跳改变,为自己
原文和实验参考:https://blog.csdn.net/Mr_Bei/article/details/83892489

公认自决:可携带可不携带,携带就能支持

Local-Preference:(选路)

每个BGP路由都会有一个默认的local-preference值,该值会在IBGP传递路由的时候携带。

ATOMIC_Aggregate和Aggregate:(聚合)

ATOMIC_Aggregate:

消灭明细

生成新的聚合路由

标识聚合路由
Aggregate:

标识聚合者

可选传递:可支持可不支持,但携带就得传递

Community:(控制范围)

Internet——可以传递给所有邻居
no-advertise——不能传递给任何邻居
no-export——不能传递出大的AS
no-export-subconfed——不能传递出小的AS

可选非传递:可以不支持,也可不传递

MED:同AS间的比较选路
Originator_ID和Cluster_list:

关于BGP originator-id 与 cluster-list id 属性

这两个属性是用于BGP路由反射器RR,防止环路用的。

originator-id是当RR收到客户或是非客户的路由信息放射给他的其它客户时加上originator-id属性,一般是对端的BGP router-id. 当路由器收到是originator-id是自己的话就把路由信息给丢弃来达到防止环路的目的。
originator_id属性只有当RR从客户端学到路由信息向其它客户端反射路由时才会加上,来防止环路。

cluster-list属性有点类似于AS-PATH属性,它在存在路由放射组的时候用。当两台RR互为客户时,当一台RR向另外一台RR放射路由时会加上cluster-list属性,一般是自己的cluster id号来填充。如果RR收到路由信息的cluster-list属性与自己的cluster id一致的话,就把此路由信息丢弃,来达到防止环路的目的。

Weight(prefer-value):纯选路