BGP自动路由聚合

一. 原理概述

    在大型网络中,路由条目通常多达成千上万条,所以如何存储并有效管理如此多的路由信息就显得十分重要了。
    BGP是一种无类路由协议,支持CIDR,VLSM和路由聚合。路由聚合技术的使用,可以在一定程度上缩减路由条目的数量,同时还可以减轻路由震荡导致的网络不稳定的问题。BGP路由聚合有两种方式,一种是自动路由聚合,一种是手动路由聚合。
    自动路由聚合是在自然网络边界路由器上自动执行的,在默认情况下,BGP的自动路由汇聚功能是关闭的,并且BGP不会自动聚合BGP邻居发送的路由以及使用network命令通告的路由。
    使用BGP自动路由慧聚时,需要进行严谨的IP地址规划。在一个地址规划杂乱无序的网络中,自动路由聚合可能会产生许多意想不到的问题。例如,在采用不连续子网规划的网络中,自动路由聚合可能会导致报文转发出现选路问题,或者是产生路由环路。

二. 实验内容

    本实验模拟 三个运营商网络,三台路由器都使用直连物理网络IP地址来建立EBGP邻居关系,R2和R3的loopback1接口用来模拟各自ISP中的一个网段,R1和R2和R3上将开启自动路由聚合功能,R3的loopback1接口所在网段将使用network命令通告BGP进程,R2的loopback1接口所在网段将使用network命令通告BGP进程,最终实现R2和R3的loopback1接口之间可以互相通信。

三. 实验拓扑图

bgp查询命令_网络

四. 实验命令配置

4.1 接口IP地址设置
[R1]interface g0/0/0
[R1-GigabitEthernet0/0/0]ip address 10.0.12.1 24
[R1]in g0/0/1
[R1-GigabitEthernet0/0/1]ip add 10.0.13.1 24
[R1]int loopback0
[R1-LoopBack0]ip add 10.0.1.1 32

[R2]in g0/0/0
[R2-GigabitEthernet0/0/0]ip add 10.0.12.2 24
[R2]int loopback0
[R2-LoopBack0]ip add 10.0.2.2 32
[R2-LoopBack0]in loopback1
[R2-LoopBack1]ip add 22.22.22.22 24

[R3]in g0/0/0
[R3-GigabitEthernet0/0/0]ip add 10.0.13.3 24
[R3]int loopback0
[R3-LoopBack0]ip add 10.0.3.3 32
[R3]in loopback1
[R3-LoopBack1]ip add 33.33.33.33 24
4.2 BGP路由协议
[R1]bgp 100
[R1-bgp]router-id 10.0.1.1
[R1-bgp]peer 10.0.12.2 as-number 200
[R1-bgp]peer 10.0.13.3 as-number 300

[R2]bgp 200
[R2-bgp]router-id 10.0.2.2
[R2-bgp]peer 10.0.12.1 as-number 100

[R3]bgp 300
[R3-bgp]router-id 10.0.3.3
[R3-bgp]peer 10.0.13.1 as-number 100
4.3 开启BGP自动路由聚合功能
[R1]bgp 100
[R1-bgp]ipv4-family unicast 
[R1-bgp-af-ipv4]summary automatic 

[R2]bgp 200
[R2-bgp]ipv4-family unicast 
[R2-bgp-af-ipv4]summary automatic 

[R3]bgp 300
[R3-bgp]ipv4-family unicast 
[R3-bgp-af-ipv4]summary automatic
4.4 通告路由进入BGP中

使用network命令,将R3的loopback1接口所在的网段通告进入BGP进程。

[R3-bgp-af-ipv4]network 33.33.33.0 24

在R1和R2和R3上查看BGP路由表:

bgp查询命令_R3_02

bgp查询命令_bgp查询命令_03


bgp查询命令_安全_04

    可以看到在各个路由器的路由表中,33.33.33.0/24并没有被聚合,R3将其通告给R1,R12通告给R2,整个过程中该路由都没有被聚合。这就使用network命令通告到BGP的路由,在自然网络边界处,BGP不会进行自动聚合。

4.5 引入外部路由到BGP协议中

在R2上使用import-route命令引入直连的路由

[R2]bgp 200
[R2-bgp]ipv4-family unicast 
[R2-bgp-af-ipv4]import-route direct

在R1和R2和R3上查看BGP路由表:

bgp查询命令_安全_05


bgp查询命令_bgp查询命令_06


bgp查询命令_网络_07


    可以看到在R1和R3的BGP路由表中,都出现了22.0.0.0,且没有显示掩码信息,这正是聚合后的一个A类自然网络。

    与RIPV2路由协议类似,当开启了BGP自动路由聚合功能后,R2的G0/0/0接口属于10.0.12.0/24网段,自然网络号是10.0.0.0/8,而loopback1属于22.22.22.0/24网段,网络号为22.0.0.0/8,两个都是A类网络,但是两个自然网络号不相同,所以R2位于自然网络的边界,因此当R2将22.22.22.0/24通告给R1时便进行了路由的自动聚合。

    但是在实际项目中,一般很少会启用BGP的自动路由聚合。因为IP地址的规划很难做到归正有序。