Bootstrap

BGP协议详解,路由通告原则 选路原则 报文 状态机 路由属性 RR反射器 BGP聚合

属于EGP协议,DV算法,增强型距离矢量(路径矢量)

作用:在不同的AS之间用作路由的优选、传递、控制

二字节AS号:

范围:0-65535

公有:0-64511

私有:64512-65535(BGP联盟)

BGP协议基于TCP,端口号:179          目的端口号:179      源端口:随机

因为BGP协议基于TCP,所以建立对等体之前,必须要建立TCP协议,TCP建立条件需要保证路由可达

特征:只要在TCP建立条件之上,BGP可以跨越多跳设备进行对等体的建立

BGP使用触发更新路由,周期更新60s只是维护对等体关系

BGP的对等体(邻居):

基于TCP建立步骤:

①、采用单播的形式,基于TCP连接。采用随机源端口号向目的的179端口号发起TCP

②、谁先启动BGP谁触发发起TCP连接,如果同时则比较Router-ID大的发

③、TCP三次握手之后发起BGP报文开始建立BGP

对等体类型:

①、IBGP:AS内部邻居。相同AS号的设备建立的邻居

②、EBGP:AS间建立的邻居。不同AS号

建立条件:peer对端IP地址必须可达

Peer 2.2.2.2 as-number 200

①、指需要建立邻居关系的设备的更新源地址为2.2.2.2

②、指建立邻居的AS号为200

③、指邻居设备必须以2.2.2.2作为源地址发送报文信息

建议:EBGP用直连接口(EBGP默认TTL值为1用环回口建立需要修改TTL),IBGP用环回接口

BGP报文:

BGP状态机:

BGP的4大通告原则:

①、仅发布最优且可达的路由,给所有BGP邻居

②、从EBGP收到的最优路由,发布给所有BGP邻居

③、从IBGP收到的最优路由,不发布给IBGP邻居,只给EBGP邻居(水平分割防止AS内部环路)

④、BGP与IGP路由同步(解决路由黑洞问题之一华为设备不允许开启同步)

BGP与IGP同步指的是:当一个BGP设备从IBGP邻居收到一条路由信息想要发送给EBGP邻居时,此设备必须同时通过BGP协议和IGP协议学习到同一条路由。这时候,这条路由才能被发送给EBGP邻居

解决路由黑洞的方法:

1、IBGP链路全互联

2、MPLS VPN

3、RR反射器

4、BGP联盟

BGP的路由属性:

1、公认属性:指所有运行了BGP协议的设备都要能够识别的属性

-------公认必遵属性:此属性必须存在于Updata报文中进行传递

①、Origin:起源属性; 标识路由的生成方式 。     选路优选顺序:(i>e>?)(network>EGP>import)

--i:通过Network方式得到  

--?:通过Import方式得到

--e:通过EGP路由协议(EGP协议已淘汰只能手动更改的方式得到)

②、AS-path:AS号属性;路由传递过程中所经过的AS号(防止AS间环路)   选路优选:比较AS数量,少的优

没经过AS会加上AS号,路由表中最右侧AS为始发AS号

③、Next_hop:下一跳属性;用来指示转发到目的的网段的下一跳地址,下一跳属性一般都是更新源地址

----对于直接建立BGP邻居的设备之间在传递路由信息时,设备会将自身的更新源地址放入下一跳属性中进行传递

----从EBGP邻居学习到的路由发布给IBGP时,下一跳属性不改变,因此下一跳属性不可达,导致目的地址为不可达路由 (peer 对等体地址 next-hop-lcol)

----从EBGP邻居学习到的路由发布给EBGP时,下一跳属性改变为邻居的更新源地址

----从IBGP邻居学习到的路由发布给EBGP时,下一跳属性改变成为邻居的更新源地址

-------公认任意属性:此属性不是必须存在于Updata报文

①、Local-pre:本地优先级属性;只在一个AS内部传递(默认100),不会传递给EBGP邻居;此属性用来判断离开本AS的最优路径

②、Atomic-Aggregate:聚合属性

2、可选属性:运行了BGP协议的设备不一定能够识别的属性

--------可选过度属性:此属性如果能够识别该属性则保留该属性并且通告BGP对等体;如果路由器无法识别该属性,仍然保留属性通告给BGP对等体

①、community属性:团体属性

作用:用来限制路由的传播范围;可以给BGP路由打上团体标记做统一管理

公认团体属性的分类:

Internet:设备在收到具有此属性的路由后,可以向任何BGP对等体发送该路由。缺省情况下,所有的路由都属于Internet团体

No-Advertise:收到此属性的路由,将不向任何BGP对等体发送该路由

No-Export:收到此属性的路由,不会传递出AS,只会传递给IBGP邻居

No_Export_Subconfed:设备收到具有此属性的路由后,将不向AS外发送该路由,也不向AS内其他子AS发布此路由(BGP联盟)

②、Aggregator:聚合属性

--------可选非过度属性:此属性如果能够识别该属性则保留该属性并且通告BGP对等体;如果路由器无法识别该属性,则不保留该属性

MED属性:BGP路径的开销

特点:

--MED值用来判断进入某一个AS的最佳路径,用来作为AS间的路由选路

--MED值只能在相邻的两个AS之间传递,不能传到第三个AS

--MED值默认为0,传递只有路由始发才会携带,如果是从对等体设备学习到的路由信息,不会携带MED值进行传递

BGP的路由聚合:

①、静态聚合

②、自动聚合:

*只对Import引入的路由进行聚合

*只能聚合成主要网段

*只能在始发设备聚合

③、手动聚合:

*可以对Import和Network路由进行聚合

*可以聚合成自定义的网段

*如果不在始发AS区域设备执行手动聚合之后,会丢失原有AS号造成环路,

 需要把AS改为无序AS号,解决AS号丢失问题

Preferred-Value:(协议首选值)是华为设备的特有属性,该属性仅在本地有效。当BGP路由表中存在到相同目的地的路由时,将优先选择Preferred-Value值高的路由。

取值范围:0~65535;该值越大,则路由越优先。

Preferred-Value只能在路由器本地配置,而且只影响本设备的路由优选。该属性不会传递给任何BGP对等体。

RR的设定使得IBGP水平分割原则失效,这就可能导致环路的产生,为此RR会为BGP路由添加两个特殊的路径属性来避免出现环路:

Originator_ID:路由始发者Router ID防止RR环路

Cluster_List:集群列表防止RR集群间环路

Originator_ID、Cluster_List属性都属于可选过渡类型。

RR反射器:

RR设备在接收BGP路由时:

1.如果路由反射器从自己的非客户对等体学习到一条IBGP路由,则它会将该路由反射给所有客户

2.如果路由反射器从自己的客户学习到一条IBGP路由,则它会将该路由反射给所有非客户,以及除了该客户之外的其他所有客户

3.如果路由学习自EBGP对等体,则发送给所有客户、非客户IBGP对等体

BGP选路原则:

;