华为-BGP路由技术

目录

一、BGP介绍

网关路由协议分类

二、BGP工作原理

五种报文

六种状态

五张表

邻居关系类型

三、通告BGP路由的方法

Network方法

Import方法

四、BGP对等体配置

EBGP多跳

更新源建立邻居关系

下一跳

五、BGP的属性

属性分类

属性介绍

六、实验案例


一、BGP介绍

BGP(TCP 179端口号)是一种运行在AS之间的动态路由协议主要作用在AS之间自动交换无环路由信息,消除路由环路并实施用户配置的路由策略

网关路由协议分类
  1. IGP-内部网关路由协议:rip、ospf、is_is
  2. EGP-外部网关路由协议:BGP

二、BGP工作原理

五种报文
  1. open报文:用于建立BGP对等体之间的连接关系
  2. update报文:用来更新BGP对等体之间的路由信息(只有它带有路由)
  3. notification报文:当BGP检测到错误状态时,立刻发送该报文
  4. route-refresh报文:用来告知对等体本地所支持路由的刷新能力
  5. keepalive报文:对等体之间周期性的发送,简单来说就是是不是问一下对方是否还活着,简称“保活报文”
六种状态
  1. idle状态:初始状态,拒绝任何进入的连接请求,只有收到本设备的start事件后BGP才开始尝试和其他BGP对等体进行TCP连接
  2. connet状态:等待TCP完成连接,连接成功那么BGP向对等体发送open报文,并转至opensent状态,如果连接失败,那么就进入active状态重新连接,如果重新连接失败,将继续停留在connet状态
  3. active状态:TCP如果连接失败,那么就进入active状态重新连接,如果重新连接失败,将返回connet状态
  4. opensent状态:等待对等体的open报文
  5. openconfim状态:等待keepalive或notification报文,如果收到keepalive报文,那么进入established状态,如果收到notification报文,则转至idle状态
  6. established状态:在此状态下,BGP可以在对等体之间交换update、keepalive、route-refresh等报文


五张表
  1. IP路由表:存放着最优路由表
  2. BGP路由表:包括本地BGP Speaker通告的路由信息
  3. 邻居表:对等体邻居清单列表,包括对等体两端的邻居信息及邻居列表
  4. ADi-RIB-ln:对等体宣告给本设备未处理的路由信息库
  5. ADj-RIB-Out:本设备宣告给指定对等体的路由信息库
邻居关系类型
  1. IBGP:同一个AS内部的BGP邻居关系
  2. EBGP:AS之间的BGP邻居关系

三、通告BGP路由的方法

  1. Network方法
    bgp 100
    network 1.1.1.1 32
  2. Import方法
    bgp 100
    import-route ospf 1

四、BGP对等体配置

BGP设备会将最优路由加入BGP路由表,形成BGP路由。BGP设备与对等体建立邻居关系后,采取以下交互原则

  1. 从BGP对等体获得的BGP路由,BGP设备只传递给它的EBGP对等体
  2. 从EBGP对等体获得的BGP路由,BGP设备传递给它的所有EBGP和IBGP对等体(对等体是BGP只能传递一跳,对等体是EBGP则不限制)
  3. 当存在多条到达同一目的地址的有效路由时,BGP设备只将最优路由发布给对等体
  4. 路由更新时,BGP设备只发送更新的BGP路由
  5. 所有对等体发送的路由,BGP设备都会接收
  6. 所有EBGP对等体在传递过程中下一跳改变
  7. 所有BGP对等体在传递过程中下一跳不变
  8. 默认EBGP传递时,TTL值为1
  9. 默认BGP传递时,TTL值为255

EBGP多跳

由于默认BGP中EBGP邻居之间的TTL值为1,若EBGP对等体非直连,在传递时,TTL跳数限制会使非非直连的EBGP对等体无法正常建立邻居关系,这时就需要EBGP多条。

R3
bgp 200
peer 12.1.1.0 ebgp-max-hop 2    //隔了几个路由器就写几

更新源建立邻居关系

连接公网环境设备的地址很容易出现各种各样的问题,为了避免因为接口不稳定或DOWN而导致的BGP状态的改变,通常会在同一个AS内使用冗余链路来确保BGP的稳定性,这样即使某一链路故障,也不影响BGP的邻居关系,所以经常会使用LoopBack接口IP地址来和对端建立BGP邻居。因为环回接口几乎永远UP,所以只要至少有一条链路可达,BGP的邻居关系就不会因链路而发生改变,这种使用环回接口建立BGP邻居的方法称为更新源建邻居

R4
bgp 100
router-id 1.1.1.1
peer 3.3.3.3 as-number 100
peer 3.3.3.3 connect-interface loopback0

下一跳
peer 10.0.0.0 next-hop-local

五、BGP的属性

属性分类
  1. 公有必遵:所有BGP路由器都可以识别,且必须存在于Update报文中
  2. 公认任意:所有BGP路由器都可以识别,但不要求必须存在于Update消息中,可以根据具体情况来决定是否添加到Update 消息中
  3. 可选过渡:BGP路由器可以选择是否在Update消息中携带这种属性。接收的路由器如果不识别这种属性,可以转发给邻居路由器
  4. 可选非过渡:BGP路由器可以选择是否在Update消息中携带这种属性,接收的路由器如果不识别这种属性,那么直接丢弃
属性介绍
BGP的属性类别
origin公有必遵
as-path公有必遵
next-hop公有必遵
local pref公认任意
community可选过渡
med可选非过渡

其中local-pref是宣告的同AS之内的,而MED是宣告给AS之间的

六、实验案例

实验要求:

要求实现两个AS之间的互相通信

通过修改BGP属性使实现业务需求的路径从R2切换到R3

R1配置:

[Huawei]int g0/0/1
[Huawei-GigabitEthernet0/0/1]ip add 10.0.12.1 24
[Huawei-GigabitEthernet0/0/1]int g0/0/0
[Huawei-GigabitEthernet0/0/0]ip add 10.0.13.1 24
[Huawei-GigabitEthernet0/0/0]q
[Huawei]int lo 0
[Huawei-LoopBack0]ip add 1.1.1.1 32
[Huawei-LoopBack0]q
[Huawei]bgp 100	
[Huawei-bgp]router-id 1.1.1.1	
[Huawei-bgp]peer 10.0.12.2 as-number 200
[Huawei-bgp]peer 10.0.13.2 as-number 200
[Huawei-bgp]network 1.1.1.1 32
[Huawei-bgp]q

R2配置:

[Huawei]int g0/0/1
[Huawei-GigabitEthernet0/0/1]ip add 10.0.12.2 24
[Huawei-GigabitEthernet0/0/1]int g0/0/0
[Huawei-GigabitEthernet0/0/0]ip add 10.0.24.1 24
[Huawei-GigabitEthernet0/0/0]q
[Huawei]int lo 0
[Huawei-LoopBack0]ip add 2.2.2.2 32
[Huawei-LoopBack0]q
[Huawei]bgp 200
[Huawei-bgp]router-id 2.2.2.2
[Huawei-bgp]peer 10.0.12.1 as-number 100	
[Huawei-bgp]peer 10.0.24.2 as-number 200
[Huawei-bgp]peer 10.0.24.2 next-hop-local 
[Huawei-bgp]q
[Huawei]ospf 1
[Huawei-ospf-1]area 0
[Huawei-ospf-1-area-0.0.0.0]network 10.0.12.0 0.0.0.255
[Huawei-ospf-1-area-0.0.0.0]network 10.0.24.0 0.0.0.255	
[Huawei-ospf-1-area-0.0.0.0]network 2.2.2.2 0.0.0.0
[Huawei-ospf-1-area-0.0.0.0]q
[Huawei-ospf-1]q
[Huawei]bgp 200
[Huawei-bgp]im	
[Huawei-bgp]import-route ospf 1
[Huawei-bgp]q

R3配置:

[Huawei]int g0/0/1
[Huawei-GigabitEthernet0/0/1]ip add 10.0.13.2 24
[Huawei-GigabitEthernet0/0/1]int g0/0/0
[Huawei-GigabitEthernet0/0/0]ip add 10.0.34.2 24
[Huawei-GigabitEthernet0/0/0]q
[Huawei]int lo 0
[Huawei-LoopBack0]ip add 3.3.3.3 32
[Huawei-LoopBack0]q
[Huawei]bgp 200
[Huawei-bgp]router-id 3.3.3.3	
[Huawei-bgp]peer 10.0.13.1 as-number 100	
[Huawei-bgp]peer 10.0.34.1 as-number 200	
[Huawei-bgp]peer 10.0.34.1 next-hop-local 
[Huawei-bgp]q
[Huawei]ospf 1
[Huawei-ospf-1]area 0
[Huawei-ospf-1-area-0.0.0.0]network 10.0.13.0 0.0.0.255
[Huawei-ospf-1-area-0.0.0.0]network 10.0.34.0 0.0.0.255
[Huawei-ospf-1-area-0.0.0.0]network 3.3.3.3 0.0.0.0
[Huawei-ospf-1-area-0.0.0.0]q
[Huawei-ospf-1]q
[Huawei]bgp 200
[Huawei-bgp]im	
[Huawei-bgp]import-route ospf 1
[Huawei-bgp]q

R4配置:

[Huawei]int g0/0/0
[Huawei-GigabitEthernet0/0/0]ip add 10.0.24.2 24
[Huawei-GigabitEthernet0/0/0]int g0/0/1
[Huawei-GigabitEthernet0/0/1]ip add 10.0.34.1 24
[Huawei-GigabitEthernet0/0/1]q
[Huawei]int lo 0
[Huawei-LoopBack0]ip add 4.4.4.4 32
[Huawei-LoopBack0]q
[Huawei]bgp 200
[Huawei-bgp]router-id 4.4.4.4
[Huawei-bgp]peer 10.0.24.1 as-number 200
[Huawei-bgp]peer 10.0.34.2 as-number 200
[Huawei-bgp]network 4.4.4.4 32
[Huawei-bgp]q
[Huawei]ospf 1
[Huawei-ospf-1]area 0
[Huawei-ospf-1-area-0.0.0.0]network 10.0.24.0 0.0.0.255
[Huawei-ospf-1-area-0.0.0.0]network 10.0.34.0 0.0.0.255
[Huawei-ospf-1-area-0.0.0.0]network 4.4.4.4 0.0.0.0
[Huawei-ospf-1-area-0.0.0.0]q
[Huawei-ospf-1]q

在R1上ping4.4.4.4,我们会发现,它走的是下面那条路径(我们这里也有可能是走上面那条路径过去的,没有问题)

在R4上ping1.1.1.1,会发现,它走的是上面那条路径

此时我们需要将R4ping1.1.1.1的路径往下走,那么配置如下:

在R3上:

[Huawei]route-policy lop permit node 10    //创建名为lop的路由策略
Info: New Sequence of this List.
[Huawei-route-policy]apply local-preference 222    //设置本地优先级为222
[Huawei-route-policy]q
[Huawei]bgp 200
[Huawei-bgp]peer 10.0.34.1 route-policy lop export     //应用策略
[Huawei-bgp]q

配置完后,我们再去R4上,我们会发现,路径修改为了下面那条


如果!!!R1pingR4走的是上面那条路径,那么配置如下:

在R2上:

[Huawei]route-policy med permit node 10    //创建名为med的路由策略
Info: New Sequence of this List.
[Huawei-route-policy]apply cost + 500    //将本地优先级+500
[Huawei-route-policy]q
[Huawei]bgp 200	
[Huawei-bgp]peer 10.0.12.1 route-policy med export     //应用策略
[Huawei-bgp]q

我们会发现,我们的med和local pref属性用在了不同的路由器上,这就跟上面所说的,med是对外的,local是对内的

以上就是我们的BGP知识点讲解!!!

如果对你有帮助就点个赞吧!!!

  • 29
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值