BGP的基础概念和BGP路径优选

前言:

为了方便管理不断扩大的网络,网络园区被分为不同的AS的自治系统,在早期的时候,EGP(内部网关协议)被用于不同的AS之间的动态路由的交换信息,但是EGP的设计比较简单,只发布网路路由可达的信息,而不对路由信息进行优选.

BGP是为取代最初的EGP而设计的另一种外部网关协议。不同于最初的EGPBGP能够进行路由优选、避免路由环路、更高效率的传递路由和维护大量的路由信息。

bgp的概述:

BGP是一种实现自治系统AS之间的路由可达,并选择最佳路由的矢量性协议。

1.bgp基于tcp,只要可以建立tcp的连接就可以建立bgp

2.只传递路由信息,不会暴露as内的拓扑消息

3.触发式更新,而不是周期性的更新

bgp的特点:

1.BGP使用TCP作为其传输层协议(端口号为179),使用触发式路由更新,而不是周期性路由更新。

2.BGP能够承载大批量的路由信息,能够支撑大规模网络。

3.BGP提供了丰富的路由策略,能够灵活的进行路由选路,并能指导对等体按策略发布路由。

4.BGP能够支撑MPLS/VPN的应用,传递客户VPN路由。

5.BGP提供了路由聚合和路由衰减功能用于防止路由振荡,通过这两项功能有效地提高了网络稳定性。

BGP的特征:

bgp使用TCP为传输层协议,TCP端口号179,路由器之间的bgp会话基于TCP连接而建立

运行bgp的路由器被称为BGP的发言者,或者BGP路由器

两个建立BGP会话的路由器互为对等体,bgp对等体之间交换bgp路由表

BGP路由器只发送增量的bgp路由更新,或进行触发式更新(不会周期性更新)

BGP能够承载大批量路由前缀,可在大规模网络中应用

BGP通常被称为路由矢量路由协议

每条BGP路由都携带多种路由属性,BGP可以通过这些控制路由的选择。而不像IS-IS,ospf 只能通过过cost控制路由控制,因此在路径选择上,BGP具有丰富的可操作性,可以在不同场景下选择做最合适下选择最合适的路径控制的方法

bgp的对等体的关系:

EBGP:

邻居之间不同的AS号

1、EBGP邻居关系的建立一般使用物理接口建立即可。因为BGP规定EBGP只能直连建立(TTL=1),如果EBGP之间需要使 用环回建立的话,需要设置额外的参数

2、[AR4-bgp]peer 2.2.2.2 ebgp-max-hop 2-----配置EBGP 建立的最大跳数

环回建立的条件:因为bgp使用的是TCP传输层协议,就必须建立三次握手,前提实现路由可达

IBGP :

邻居之间相同的AS号

1、如果IBGP邻居之间使用直连来建立,那么当接口或者链路发生故障的时候,邻居就会中断。我们可以使用逻辑接口 来建立IBGP的邻居

2、如果使用逻辑接口环回口来建立邻居关系,需要使用[AR3-bgp]peer 2.2.2.2 connect-interface LO 0,来告诉邻居使用环回口的IP地址来建立邻居

TCP连接源地址:

缺省情况下,bgp使用报文出接口作为TCP连接的本地接口作为TCP连接的本地接口

在部署IBGP对等体关系的,通常使用loopback地址作为更新源地址。loopback接口非常稳定。而且可以借助AS内IGP和冗余拓扑来保证可靠性

在部署EBGP对等体关系时,通常使用直连接口的IP地址作为源地址,如若使用loopback接口建立EBGP对等体关系,测注意BGP的多跳的关系。

BGP存在5种类型的报文;

五种报文

Open :用来建立BGP邻居关系。和OSPF hello类似,不一样open报文没有维护邻居机制。

Update:当BGP有路由更新的时候(路由增加或者减少),BGP路由器就会发送update报文。 Notification:中断BGP的邻居关系。

Keepalive:用于维护BGP 邻居关系,每过一定的时间就会发送一次,60s发送一次,180s还没收到邻居的报文,认为邻 居失效了,主动断开。

Route-refresh:当我们使用路由策略修改路由之后,路由器就会发送这个报文,用来更新BGP 路由的属性。

bgp状态机:

六种状态

Idle:是BGP的初始状态,这个状态下不能建立TCP三次握手,给我们准备足够的资源。如果没有到达邻居的路由,就会一 直停留在这个状态下

Connect:表示已经开始建立三次握手,如果三次握手建立成功,就进入opensent状态,如果建立三次握手失败,就进 入active

Active:一直尝试建立三次握手,建立成功就进入opensent状态。如果一直没有建立起来三次握手,就会进入idle.

opensent:tcp三次握手建立完成之后,发生open报文建立对等体关系,此时进入opensent状态,收到对端回应的 open 报文,检查参数吗,无误后,在发生keepalive报文进入OpenConfirm状态 OpenConfirm:在OpenConfirm状态下,BGP等待keepalive报文或者Notification。收到keepalive报文,进入到最后状态 Established,如果收到Notification报文,就会回到初始的状态。 Established:BGP可以和对等体交换报文,代表已经建立成功。 BGP和IGP不一样,建立邻居后并不会发布路由过来,需要手动宣告路由

路由表

*----表示路由是有效路由,如果没有这个*就是无效路由

>---表示路由已经被BGP优选

i----表示路由通过IBGP邻居传递过来的

BGP的路由属性:

公认属性

公认必遵:必须封装在bgp的update报文里,路由器收到之后必须识别并处理

公认任意:不一定会封装在update报文里,但是如果路由器收到update的报文,报文出现公认任意,那么路由器必须 识别处理。

可选属性

可选过渡:路由器不认识这个属性,但是会把这个属性发布给其他BGPl邻居

可选非过渡:不认识这个属性,也不会发布给其他对等体

AS-path:

1、一个路由所经过的AS号列表

2、路由器在发送路由给EBGP对等体的时候,会加上本路由器所在的AS 号,邻居收到之后看到里面的as号就知道这条路 由传递过来,而且也知道经过那些路由器

3、如果路由器接收到某条EBGP的路由,发现里面as列表包含自己的as号,那么就不接收这条路由

4、先经过AS号放在右边,as号比较并不是比较as号数字大小,而且比较长度(个数)100i> 300 100i

Origin IGP:

i----表示路由通过宣告network方式学习

EGP:e ----表示EGP学习而来

Incomplete: ? ---表示路由通过引入的方式学习的

Next_Hop

1、当路由器收到路由的时候会检查路由的下一跳是否在IP路由表里,如果不在这条路由就为无效路由

[AR3-bgp]peer 4.4.4.4 next-hop-local---强制修改下一跳

团体属性

1、Internet:路由器收到这个团体属性后,会向所有的BGP 路由器发送路由。默认这个属性

2、No_Advertise:BGP路由器收到这种属性,不会向IBGP或者EBGP对等体发布路由

3、No_Export:BGP路由器收到这一属性,不会向AS外发布路由,但是AS 内部的路由还可以收到

4、No_Export_Subconfed:设备收到具有此属性的路由后,将不会向AS外发送路由,也不向as内发布路由

Preferred-Value:华为路由私有属性,只能用于import,不能export。因为这个私有属性,如果其他厂商接收到这种属 性,也无法识别。该值越大,则路由越优先。

Originator ID:起源ID ,表示路由器的发出ID

1、作用:在RR反射器上防止环路 如果路由收到BGP 路由,Originator ID与自己的是否一致,如果一样的话就接收此路由

BGP路由优选:

一、 丢弃下一跳不可达的路由。

第一:在AR5宣告5.5.5.5

[AR5]int lo 0

[AR5-LoopBack0]ip address 5.5.5.5 32

[AR5-LoopBack0]bgp 500

[AR5-bgp]network 5.5.5.5 32

发现AR2为无效路由

第二:强制修改下一跳

[AR3]bgp 200

[AR3-bgp]peer 2.2.2.2 next-hop-local

[AR3-bgp]peer 4.4.4.4 next-hop-local

二、优选Preferred-Value属性值最大的路由。

让路由优选10.1.14.4

[AR1]route-policy per permit node 10

[AR1-route-policy]if-match ip-prefix net14

[AR1-route-policy]apply preferred-value 10

[AR1]ip ip-prefix net14 permit 5.5.5.5 32

[AR1]bgp 100

[AR1-bgp]pe

[AR1-bgp]peer 10.1.14.4 preferred-value 10

三、优选Local_Preference属性值最大的路由。

优选路由10.1.14.4

[AR1-bgp]UNDO peer 10.1.14.4 preferred-value ---删除原先配置

[AR1]route-policy local permit node 10

[AR1-route-policy]if-match ip-prefix net14

[AR1-route-policy]apply local-preference 200

[AR1]route-policy local permit node 20

[AR1-route-policy]q

[AR1]bgp 100

[AR1-bgp]peer 10.1.14.4 route-policy local import

四、本地始发的BGP路由优于从其他对等体学习到的路由,本地始发的路由优先级:优选手动聚合>自动聚合>network> import>从 对等体学来的

自动聚合:只能聚合引入路由

第一步: [AR1-bgp]undo peer 10.1.14.4 route-policy local import ---保存配置一样

先创建环回口

interface LoopBack1

ip address 4.4.4.1 255.255.255.255

ip address 4.4.4.2 255.255.255.255 sub

ip address 4.4.4.3 255.255.255.255 sub

因为自动聚合不能聚合宣告路由,只能聚合引入的 [AR4-bgp]import-route direct [AR4-bgp]summary automatic ---自动聚合

S代表已经聚合成功

手动聚合

1、可以聚合宣告路由,也可以聚合引入的路由

第一:创建环回口,并且宣告

[AR2]int lo 1

[AR2-LoopBack1]ip address 4.4.4.1 32

[AR2-LoopBack1]ip address 4.4.4.2 32 sub

[AR2-LoopBack1]ip address 4.4.4.3 32 sub

[AR2]bgp 200 [AR2-bgp]network 4.4.4.1 32

[AR2-bgp]network 4.4.4.2 32

[AR2-bgp]network 4.4.4.3 32

第二、手动聚合

[AR2-bgp]aggregate 4.4.4.0 30

[AR2-bgp]aggregate 4.4.4.0 30 detail-suppressed ----抑制明细路由

[AR2-bgp]aggregate 4.0.0.0 8 detail-suppressed ----修改掩码,并且在AR1查看到手动优于自动聚合

五、优选AS_Path属性值最短的路由。

第一,保持路由的原先

[AR2-bgp]undo aggregate 4.0.0.0 8 detail-suppressed

[AR2-bgp]undo aggregate 4.4.4.0 30 detail-suppressed

第二

[AR1]route-policy as permit node 10

[AR1-route-policy]if-match ip-prefix net14

[AR1-route-policy]apply as-path 1 overwrite Warning: The AS-Path lists of routes to which this route-policy is applied will be overwritten. Continue? [Y/N]y [AR1]route-policy as permit node 20 [AR1]bgp 100

[AR1-bgp]peer 10.1.14.4 route-policy as import

六、优选Origin属性最优的路由。

Origin属性值按优先级从高到低的排列是:IGP、EGP及Incomplete。

第一:[AR1-bgp]undo peer 10.1.14.4 route-policy as import

第二:修改路径

[AR1-bgp]peer 10.1.12.2 route-policy ogn import

[AR1]route-policy ogn permit node 10

[AR1-route-policy]if-match ip-prefix net14

[AR1-route-policy]apply origin incomplete

[AR1]route-policy ogn permit node 20

第七:优选MED属性值最小的路由。

第一步: [AR1-bgp]undo peer 10.1.12.2 route-policy ogn import

第二:修改MED ,让路由走10.1.14.4

[AR1-bgp]peer 10.1.12.2 route-policy med import

[AR1]route-policy med permit node 10

[AR1-route-policy]if-match ip-prefix net14

[AR1-route-policy]apply cost 100

[AR1]route-policy med permit node 20

第八:优选从EBGP对等体学来的路由(EBGP路由优先级高于IBGP路由)

第一:

[AR1-bgp]undo peer 10.1.12.2 route-policy med import 在AR1上创建回环口,并且宣告

[AR1]int lo 2

[AR1-LoopBack2]ip address 100.1.1.1 32 [AR1-LoopBack2]bgp 100 [AR1-bgp]network 100.1.1.1 32

第二,AR2和AR4IBGP全互联,并且AR2的有下一跳是AR4

[AR2]bgp 200

[AR2-bgp]peer 4.4.4.4 as 200

[AR2-bgp]peer 4.4.4.4 connect-interface lo 0

[AR2-bgp]peer 4.4.4.4 next-hop-local

[AR4]bgp 200

[AR4-bgp]peer 2.2.2.2 as 200

[AR4-bgp]peer 2.2.2.2 connect-interface lo 0

第九、优选到Next_Hop的IGP度量值最小的路由。

第一步:AR2,删除peer 4.4.4.4,AR4也删除peer2.2.2.2

第二步:AR1和AR2/AR4使用环回口建立

[AR1]int lo 0

[AR1-LoopBack0]ip address 1.1.1.1 32

[AR1-LoopBack0]bgp 100

[AR1-bgp]peer 2.2.2.2 as 200

[AR1-bgp]peer 2.2.2.2 connect-interface lo 0

[AR1-bgp]peer 2.2.2.2 ebgp-max-hop 2

[AR1-bgp]peer 4.4.4.4 as 200

[AR1-bgp]peer 4.4.4.4 connect-interface lo 0

[AR1-bgp]peer 4.4.4.4 ebgp-max-hop 2

[AR1-ospf-1-area-0.0.0.0]network 10.1.12.1 0.0.0.0

[AR1-ospf-1-area-0.0.0.0]network 10.1.14.1 0.0.0.0

[AR1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0

[AR2-bgp]peer 1.1.1.1 as 100

[AR2-bgp]peer 1.1.1.1 co lo 0

[AR2-bgp]peer 1.1.1.1 ebgp-max-hop 2

[AR2-ospf-1-area-0.0.0.0]network 10.1.12.2 0.0.0.0

[AR4-bgp]peer 1.1.1.1 as 100

[AR4-bgp]peer 1.1.1.1 co lo 0

[AR4-bgp]peer 1.1.1.1 ebgp-max-hop 2

[AR4-bgp]undo peer 10.1.14.1

[AR4-ospf-1-area-0.0.0.0]network 10.1.14.4 0.0.0.0

最后修改接口cost值:[AR1-GigabitEthernet0/0/0]ospf cost 100

让路由走4.4.4.4

第十:优选Router ID(Orginator_ID)最小的设备通告的路由

[AR1]dis bgp routing-table 5.5.5.5 --查看router id值

路由的负载分担:

[AR1]bgp 100

[AR1-bgp]maximum load-balancing 2

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值