BGP协议
BGP:边界网关协议,采用TCP179号端口。用在自治系统之间,提供无环的路径,可对进出AS内流量依据策略来进行调控。
AS:自治系统,指的是在单一技术管理下,采用一种内部网关协议和通用度量在AS内转发数据包,并采用一种外部网关协议将数据包路由到另一个As中。
AS标示:每个自治系统AS都有唯一的标识,称为AS号(AS number),由IANA(Internet Assigned Numbers Authority)来授权分配。这是一个16位的二进制数,范围为1~65535,其中65412~65535为AS专用组(RFC2270)。
EGP:外部网关,可在不同的AS之间运行的路由协议。如BGP,采用“属性”作为选路参考。
IGP:内部网关,在同一个AS内运行的路由协议。如RIP(端口号520) ,EIGRP(88) ,OSPF(89) ,IS-IS .采用“度量值”作为选路参考。
在如下情况下,我们采用BGP协议:AS允许数据包经过它到达其它AS;AS到达其它AS有多条链路进行连接;必须要对进出AS的数据进行调控;必须要将AS与其ISP的数据区分开等。
在如下情况下可以不用BGP:AS内实施的路由策略与ISP的一致时;单一连接到另一处AS(采用静态默认路由最好);当路由器的能力达不到运用BGP的条件时;管理员对BGP的技术缺乏时;AS之间的带宽不够时(采用静态默认路由最好)等。
BGP与对等体(PEER)(即邻居)之间建立关系。
对等体的类型分为:IBGP和EBGP。以AS NUMBER来进行区分,相同的为IBGP,不相同的为EBGP。IBGP:不必有直连的链路,只需要建立TCP连接即可。EBGP:通常情况下需要有直连的链路。
BGP的消息类型:
OPEN:当建立一条TCP连接时,双方发送的第一条消息。回送KEEPALIVE消息进行确认。OPEN消息中包括如下信息:版本号(当前为Version 4),as number,holdtime,bgp-id,可选参数等。
KEEPALIVE:确认BGP对等体之间的已然存在。维持邻居关系。
UPDATE:进行AS间BGP路由信息的交换,还包括:不可行的路由长度,撤销的路由,路径属性总长,路径属性,网络层的可达信息等。
NOTIFICATION:发送错误信息。
BGP属性类型:
公认属性:well-known.所有运行BGP路由器必须识别的属性。
可选属性:optional.不必被所有运行BGP路由器支持的属性。
必遵属性:mandatory.必须出现在路由信息中的属性。
自决属性:discretionary.不必一定出现在路由信息中的属性。
可传递属性:transitive.可传递给邻居的属性。
非传递属性:non-transitive.不可传递给邻居的属性。
不完全属性:partial.不被当前路由器支持的任选可传递属性。
属性可以进行组合
公认必遵属性:必须出现在路由信息中的属性。分别有:AS-path ; next-hop ; origin(?,i,e)路由启源
任选可传递属性:不要求所有路由器都支持的属性。如:聚合者;团体。
公认自决属性:不是必须出现在路由信息中的属性。如:本地优先属性;原子聚合属性。
任选非传递属性:必须被不支持该属性的路由器删除。如:MED;发起者标识;集群列表。
权重属性:思科私有属性,只在本地有效。