BGP协议详细

BGP协议详细分析与配置华为(eNSP)

BGP协议

一、概述

BGP外部网关协议,工作在两个自制系统(AS)之间

  • AS:指由同一个技术管理机构管理,使用统一选路策略的一些路由器集合
  • AS内部使用内部路由协议,路由器之间相互信任
  • 不同AS之间的连接需求推动了外部网关协议的发展,BGP作为外部网关协议,用于在AS之间进行路由控制和优选

二、原理

  1. 邻居发现

image

  • RTA发起TCP连接
  • RTB启动BGP协议,并使用随机端口向RTA的179端口发起TCP连接
  1. 邻居类型

BGP的邻居可分为两种EBGP和IBGP

  • 运行在不同AS之间的BGP路由器建立的邻居关系为EBGP邻居关系
  • 运行在AS内部的BGP路由器的邻居关系为IBGP邻居关系

image

  1. 邻居建立

image

三、路由生成

  • BGP协议不会自动生成路由信息,都是通过管理员手动导入
  • BGP的路由产生可分为Network和import

Network

  • Network命令逐条将IP路由表中已经存在的路由引入到BGP路由表中

image

Import

  • import命令是根据运行的路由协议将路由引入到BGP路由表中,同时import命令还可以引入直连和静态路由
[Huawei]router id 2.2.2.2
[Huawei]bgp 100
[Huawei-bgp]peer 10.1.23.3 as-number 200
//使用该命令
[Huawei-bgp]import-route ospf 1

BGP通告原则与路由处理

Update报文

概述

  • BGP路由封装在Update报文中通告给邻居
  • BGP在邻居建立后开始通告路由信息

Update中的信息

  • 网络可达信息(NLRI):公布IP前缀和掩码
  • 路径属性:为BGP提供环路检测,控制路由优选
  • 撤销路由:描述无法到达且从业务中撤销的路由

路由通告规则

  • 通告最优路由
  • EBGP获得的最优路由发布给所有BGP邻居
  • 通过IBGP获得的最优路由不会发布给他的IBGP邻居
  • 从图中我们不难看出IBGP之间不能传递获得的最优路由是为了防止环路

image

BGP与IGP同步

image

  • 当RTD向RTE通告路由信息之前,必须保证IGP表中也有这条路由信息
  • 华为设备同步机制默认关闭

BGP路由处理

  • 当BGP邻居收到Update报文时,路由器将执行路径选择算法,来为每一条前缀确定最佳路径
  • 得到最佳路径则存储在本地BGP路由表中,然后提交给本地IP路由表
  • 被选出的有效的最佳路径路由将会被封装在Update中,发送给对端的BGP邻居

特点

  • BGP可以跨越多跳路由器建立邻居关系
  • BGP有很多属性携带在路由中

属性

  • 公认必遵:Origin、AS_Path、Next_hop
  • 公认任意:Local_Pref、Atomic_aggregate
  • 可选过渡:Aggregator、Community
  • 可选非过渡:MED……

Origin

  • 定义路由信息的来源,标记一条路由是怎样成为BGP路由
  • 通过network导入的路由,用i标记
  • 通过import导入的路由,用?标记

AS_Path

  • 防止环路

Next_hop

  • 表示下一跳地址

Local_Preference

  • 在IBGP之间有效,不通告给其他AS。表明路由器的BGP优先级,用于判断流量离开AS时的最佳路由

MED

  • 在相邻的两个AS之间传递,收到此属性的AS不会再将其通告给其他第三方AS,用于判断流量进入AS时的最佳路由

Community

  • 限定路由传播范围
  • 打标记,便于对符合相同条件的路由进行统一处理

路由优选原则

  • 该路由是到达目的地的唯一路由,直接优选
  • 对到达同一目的地的多条路由,优选优先级最高的

路由聚合

  • BGP在AS之间传递路由信息,随着AS数量增加,单个AS规模扩大,BGP路由表会十分庞大,因此需要路由聚合

静态聚合

  • AS100内有4个网段,RTA通过路由聚合屏蔽明细路由,只将一条聚合后的路由10.1.8.0/22发给AS200内的ARB

  • 将AS100中的四个网段聚合为一条10.1.8.0/22发布给AS200中的RTB,不难看出10.1.8.0/22可不包含四条路由

image

实验拓扑

image

配置路由协议

  • 配置OSPF
  • 配置RIP

配置BGP协议

配置R6

[R6]bgp 200
//配置EBGP关系(与AR4)
[R6-bgp]peer 10.1.5.2 as-number 100
//配置IBGP关系(与AR5)
[R6-bgp]peer 10.1.1.2 as-number 200
//宣告网段
[R6-bgp]network 10.1.1.0 255.255.255.0
[R6-bgp]network 10.1.2.0 255.255.255.0

配置R4

[R4]bgp 100
//建立IBGP关系(与AR6)
[R4-bgp]peer 10.1.5.1 as-number 200
//建立IBGP关系(与AR1)
[R4-bgp]peer 192.168.1.1 as-number 100
//建立IBGP关系(与AR3)
[R4-bgp]peer 192.168.2.2 as-number 100
//使用import导入路由信息
[R4-bgp]import-route ospf 1 

配置R1

[R1]bgp 100
[R1-bgp]peer 192.168.1.2 as-number 100
[R1-bgp]peer 192.168.2.2  as-number 100

配置R3

[R2]bgp 100
[R2-bgp]peer 192.168.2.1 as-number 100
[R2-bgp]peer 192.168.1.2 as-number 100
[R2-bgp]peer 10.1.6.1 as-number 300
[R2-bgp]import-route  ospf 1 

配置R3

[R3]bgp 300
[R3-bgp]peer 10.1.6.2 as-number  100
[R3-bgp]peer 10.1.3.2 as-number 300
[R3-bgp]network 10.1.3.0  255.255.255.0
[R3-bgp]network 10.1.4.0 255.255.255.0 

配置R7

[R7]bgp 300
[R7-bgp]peer 10.1.3.1 as-number 300

配置R5

[R5]bgp 200
[R5-bgp]peer 10.1.1.1 as-number 200

路由聚合

# 配置自动聚合R6
[R6]bgp 200
[R6-bgp]summary automatic 

手动聚合

[R3]bgp 300
# 10.1.0.0 255.255.248.0可以包含10.1.3.0和10.1.4.0网段
[R3-bgp]aggregate 10.1.0.0 255.255.248.0 detail-suppressed 

测试连通性

R6测试R3的连通性

[R6]ping 10.1.4.1
  PING 10.1.4.1: 56  data bytes, press CTRL_C to break
    Reply from 10.1.4.1: bytes=56 Sequence=1 ttl=252 time=140 ms
    Reply from 10.1.4.1: bytes=56 Sequence=2 ttl=252 time=110 ms
    Reply from 10.1.4.1: bytes=56 Sequence=3 ttl=252 time=80 ms
    Reply from 10.1.4.1: bytes=56 Sequence=4 ttl=252 time=90 ms
    Reply from 10.1.4.1: bytes=56 Sequence=5 ttl=252 time=110 ms

  --- 10.1.4.1 ping statistics ---
    5 packet(s) transmitted
    5 packet(s) received
    0.00% packet loss
    round-trip min/avg/max = 80/106/140 ms
posted @ 2021-08-18 21:01  isicman  阅读(787)  评论(0编辑  收藏  举报