BGP作为一个运行在AS之间的路由协议,它有着不同于IGP协议的路由传输协议-路径矢量型协议(一种高级的距离矢量型协议)
而BGP的核心就在于它在传递过程中会传递它所独有的路由所携带的各种属性包括origin,as-path,next-hop,local-pre,med,aggregater,atomic-aggregater,origintor-id,cluster-list,commuity
公认必遵(用于避免环路):所有BGP路由器都必须识别并且遵守,且在更新消息时必须包含
origin:起源属性,用于标识该条路由的来源
i:宣告得到的路由
e:学到的路由
?:重发布得到的路由
i>e>? 即i优于e,e优于?
as-path:用于记录经过的AS号
可以用于选路,as-path包含的as号越少越优
next-hop:下一跳属性,到达路由的下一条路由IP地址
EBGP邻居学到的该下一跳,IGP学到的不改下一跳,自己宣告的为0
公认必含:所有BGP路由器都必须识别,在更新消息时可以包含,也可以不包含
local-pre:本地优先级属性,用于进行选路,在出AS时设置,用于选择出AS的路径,越高越优,传播范围为一个AS内部(IBGP间传播)
atomic-aggregate:用于路由汇总,在路由器汇总后明细和粗略都在,使用summary-only只保留汇总路由。
可选传递:可以不支持该属性,但是必须在接收到该属性时传递给下一个路由器
community:本质上就是tag的升级版,性能强大。
子属性:
Internet:默认属性,想怎么传就怎么传;
No-export:只能在AS内部传
No-advertise:不能在IBGP内传递;
Local-as:在一个联邦内传递;
也可以用于MPLSVPN
aggregator:用于通告哪些是汇总路由
可选非传递:可以不支持这个属性,也可以不传递这个属性
med:MED相当于metric;
默认不用MED衡量,初始值是0,越低越优。
MED一般是影响别人的,用于选择流入AS入口的路由器。
MED也可以影响自己,从入向传进来一个MED值。
MED和local-prefe联用,使出入路径一致。
可以给EBGP邻居传递,可以传给另外一个AS,仅限于传播过一个AS。
只有同一个AS传递出的MED值才能比较,不同AS之间不能比较。
originator-id:该值是路由发起者的router-id,当发起者从路由属性中看到自己的router-id,就忽略该路由