BGP实验一

如图,网络中存在着两个AS。R1和R2处于AS12,R3处于 AS300。现在要求在R1及R2之间建立IBGP对等体关系,在R2及R3之间建立EBGP对等体关系。

BGP实验一

接口IP配置忽略

R1的配置:

[Huawei]bgp 12
[Huawei-bgp]router-id 1.1.1.1
[Huawei-bgp]peer 10.1.12.2 as-number 12

在上述配置中,bgp命令用于创建BGP进程,并且指定本设备所处的AS号码。router-id命令则用于指定路由器用于该BGP进程的Router-ID。peer peer-address as-number as-number命令用于配置一个BGP的对等体,并且制定该对等体所处的AS。peer 10.1.12.2 as-number 12命令便是为路由器配置了一个对等体,它的地址是10.1.12.2,并且对方处于AS12中,由于R1自身也处理AS12中,所以是一个IBGP对等体。

R2的配置:

[Huawei]bgp 12
[Huawei-bgp]router-id 2.2.2.2
[Huawei-bgp]peer 10.1.12.1 as-number 12
[Huawei-bgp]peer 10.1.23.3 as-number 300

 

R3的配置:

[Huawei]bgp 300
[Huawei-bgp]router-id 3.3.3.3
[Huawei-bgp]peer 10.1.23.2 as-number 12

[Huawei-bgp]network 33.33.0.0 16

network 33.33.0.0 16命令用于将本地路由表中的路由发布到BGP。

 

注意:早期BGP AS号的长度为2byte,因此AS号的范围是1~65525,其中1~64511为公有AS号,如需使用这个区间的AS号,则需向特定的机构申请。64512~65535是私有AS号,这个区间的AS号可在私有网络内随意使用。

随着网络发展,2byte的AS号已经无法满足需求,因此4字节的AS号被启用,它的范围是1~4294967295,以华为AR2220路由器为例,支持2byte及4byte的AS号。

完成上述配置后,路由器之间便会开始TCP三次握手,并建立TCP连接,然后进行BGP对等体关系的建立过程。

通过dis bgp peer可以查看路由器BGP邻居表

BGP实验一

BGP local router ID :2.2.2.2显示了本路由器的BGP Router-ID

Local AS number显示了本路由器所处的AS号码

Peer:指出该对等体的地址;

V:显示使用的BGP版本号

AS:列出对方所处的AS号

MsgRcvd:收到的BGP报文数目

MsgSent:发送的BGP报文数目

OutQ:显示的是等待发往对等体的报文数量,该值通常为0

Up/Down:显示BGP会话处于当前状态的时长

static:显示BGP当前的对等体状态

 

使用dis bgp routing-table命令查看BGP路由表:

BGP实验一


可以看到R2的BGP路由表已经出现了路由33.33.0.0/16,该路由是此前通过network命令发布到BGP的。

BGP路由表最左列显示了该条路由的状态:

*>中的*表示该条BGP路由是可用的,>表示该条路由被优选,也可以说是最优路由(Best),当BGP发现了多条到达相同目的网段的路由时,它会将所有路由都陈列在BGP路由表中,并且从中选择一条最优的路由。

BGP实验一

从R2的路由表可以看到33.33.0.0/16路由,该路由的类型为EBGP,优先级为255,而且下一跳为10.1.23.3

 

查看R1的BGP路由表:

BGP实验一

R1的BGP表中确实存在33.33.0.0/16的路由,然而这条路由么有*,这意味着该路由并不可用,路由既然不可用自然就不会被优选,因此也不会有>标记。

为什么不可用呢?

当路由器将一条EBGP路由通告给自己的IBGP对等体,该路由的Next_Hop属性值将保持不变,因此R2将R3通告的BGP路由再通告给R1时,它不会修改路由的Next_Hop属性值,所以R1收到这条BGP路由时,发现Next_Hop属性值为10.1.23.3,而该地址在R1的路由表中并无任何路由可达,它判断Next_Hop不可达,于是认为该BGP路由不可用。

可以在R1上配置一条到达10.1.23.0/24的静态路由可以解决上述问题

但是使用BGP的next-hop-local命令相比之下是一个更优的解决方案,R2增加如下配置:

BGP实验一

完成上述配置后,当R2将EBGP路由33,.33.0.0/16路由通告给IBGP对等体R1时,它会将路由的Next_Hop属性值修改为自己的IP地址——10.1.12.2,而这个地址对于R1而言是可达的。

BGP实验一