文章目录
BGP协议
一、概述
BGP外部网关协议,工作在两个自制系统(AS)之间
- AS:指由同一个技术管理机构管理,使用统一选路策略的一些路由器集合
- AS内部使用内部路由协议,路由器之间相互信任
- 不同AS之间的连接需求推动了外部网关协议的发展,BGP作为外部网关协议,用于在AS之间进行路由控制和优选
二、原理
1. 邻居发现
- RTA发起TCP连接
- RTB启动BGP协议,并使用随机端口向RTA的179端口发起TCP连接
2. 邻居类型
BGP的邻居可分为两种EBGP和IBGP
- 运行在不同AS之间的BGP路由器建立的邻居关系为EBGP邻居关系
- 运行在AS内部的BGP路由器的邻居关系为IBGP邻居关系
4. 邻居建立
三、路由生成
-
BGP协议不会自动生成路由信息,都是通过管理员手动导入
-
BGP的路由产生可分为Network和import
3.1 Network
- Network命令逐条将IP路由表中已经存在的路由引入到BGP路由表中
3.2 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通告原则与路由处理
4.1 Update报文
4.1.1 概述
- BGP路由封装在Update报文中通告给邻居
- BGP在邻居建立后开始通告路由信息
4.1.2 Update中的信息
- 网络可达信息(NLRI):公布IP前缀和掩码
- 路径属性:为BGP提供环路检测,控制路由优选
- 撤销路由:描述无法到达且从业务中撤销的路由
4.1.3 路由通告规则
- 通告最优路由
- EBGP获得的最优路由发布给所有BGP邻居
- 通过IBGP获得的最优路由不会发布给他的IBGP邻居
- 从图中我们不难看出IBGP之间不能传递获得的最优路由是为了防止环路
- BGP与IGP同步
- 当RTD向RTE通告路由信息之前,必须保证IGP表中也有这条路由信息
- 华为设备同步机制默认关闭
4.2 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路由表会十分庞大,因此需要路由聚合
8.1 静态聚合
-
AS100内有4个网段,RTA通过路由聚合屏蔽明细路由,只将一条聚合后的路由10.1.8.0/22发给AS200内的ARB
-
将AS100中的四个网段聚合为一条10.1.8.0/22发布给AS200中的RTB,不难看出10.1.8.0/22可不包含四条路由
8.2 自动聚合
- 使用命令summary automatic
- 自动聚合会将路由信息聚合为主类网络
8.3 手动聚合
-
以图7为例:aggregate 10.1.8.0 255.255.252.0 detail-suppressed
-
路由聚合存在环路(此处不多介绍,因为不会……)
九、实验拓扑
十、实验配置
-
在每个端口配置响应的ip地址
-
在图中所示区域配置相应的路由协议
-
配置BGP协议
- 配置AR12
[Huawei]bgp 200 //配置EBGP关系(与AR11) [Huawei-bgp]peer 10.1.5.2 as-number 100 //配置IBGP关系(与AR13) [Huawei-bgp]peer 10.1.1.2 as-number 200 //宣告网段 [Huawei-bgp]network 10.1.1.0 255.255.255.0 [Huawei-bgp]network 10.1.2.0 255.255.255.0
- 配置AR11
[Huawei]bgp 100 //建立EBGP关系(与AR12) [Huawei-bgp]peer 10.1.5.1 as-number 200 //建立IBGP关系(与AR8) [Huawei-bgp]peer 192.168.1.1 as-number 100 //建立IBGP关系(与AR9) [Huawei-bgp]peer 192.168.2.2 as-number 100 //使用import导入路由信息 [Huawei-bgp]import-route ospf 1
- 配置AR8
[Huawei]bgp 100 //建立IBGP关系(与AR11) [Huawei-bgp]peer 192.168.1.2 as-number 100 //建立IBGP关系(与AR9) [Huawei-bgp]peer 192.168.2.2 as-number 100
- 配置AR9
[Huawei]bgp 100 //建立IBGP关系(与AR8) [Huawei-bgp]peer 192.168.2.1 as-number 100 //建立IBGP关系(与AR11) [Huawei-bgp]peer 192.168.1.2 as-number 100 //建立EBGP关系(与AR10) [Huawei-bgp]peer 10.1.6.1 as-number 300 //导入路由信息 [Huawei-bgp]import-route ospf 1
- 配置AR10
[Huawei]bgp 300 //建立EBGP关系(与AR9) [Huawei-bgp]peer 10.1.6.2 as-number 100 //建立IBGP关系(与AR14) [Huawei-bgp]peer 10.1.3.2 as-number 300 //宣告网段 [Huawei-bgp]network 10.1.3.0 255.255.255.0 [Huawei-bgp]network 10.1.4.0 255.255.255.0
- 配置AR14
[Huawei]bgp 300 //建立IBGP关系(与AR10) [Huawei-bgp]peer 10.1.3.1 as-number 300
- 配置AR13
[Huawei]bgp 200 //建立IBGP关系(与AR12) [Huawei-bgp]peer 10.1.1.1 as-number 200
-
路由聚合
- 自动聚合
//在AR12配置自动聚合 [Huawei]bgp 200 [Huawei-bgp]summary automatic
- 手动聚合
//AR10的配置 [Huawei]bgp 300 //10.1.0.0 255.255.248.0可以包含10.1.3.0和10.1.4.0网段 [Huawei-bgp]aggregate 10.1.0.0 255.255.248.0 detail-suppressed