您当前的位置:首页 > 计算机 > 网络通信

BGP反射器及防环实验

时间:09-07来源:作者:点击数:

拓扑解释

1、AS100中一共7台路由器互为IBGP邻居,其中两台做RR反射器互为冗余,避免单点故障引起的网络瘫痪。

2、AS100中路由器1-4和两台RR进行双线连接作线路冗余,其中client2中外接一台un client2路由器进行IBGP连接,用于测试RR反射器对非client设备的影响。

3、RR1与client1上分别连接一台外部AS路由器做EBGP邻居,测试RR路由反射路径是否会在EBGP上产生影响。

4、RR1互联的设备采用10.0.0.0/30网段,RR2互联的设备采用10.0.1.0/30网段。

配置思路

1、先进行底层配置,接口地址及底层连通性(此段配置略过)。

2、进行BGP配置,注意EBGP处学到的路由再给IBGP邻居时需要命令强制更改下一跳。

3、在两台RR上配置client

4、测试

配置开始

RR1上:

bgp 100

group RR external //创建EBGP组(可以不做,建组方便统一下发策略,简化配置)

group RR1 internal //创建IBGP组

peer 10.0.0.2 group RR1 //配置IBGP加组默认就是本地AS号

peer 10.0.0.6 group RR1

peer 10.0.0.10 group RR1

peer 10.0.0.14 group RR1

peer 10.0.0.18 as-number 200 //配置EBGP加组时需要指定AS号

peer 10.0.0.18 group RR

peer 10.0.1.17 group RR1

#

address-family ipv4 unicast //开启IPV4单播

reflector cluster-id 1.1.1.1 //配置簇ID,主要用于RR集群间防环,缺省为router-ID

peer RR enable //激活组成员

peer RR1 enable

peer 10.0.0.6 reflect-client //配置client

peer 10.0.0.14 reflect-client

peer 10.0.0.10 next-hop-local //强制更改下一跳,此处我只做了unclient4,其它设备与其一样,多敲几遍就行

RR2上与RR1类似,其它设备的BGP建立很简单略过。

测试RR的反射机制

1、在UNclient3上引入外部路由测试会反射给那些设备:

RR2/RR1上学习到了(此为正常的BGP传递规则,本地学习到的路由会发送给所有BGP邻居)

client1/client2上:同时收到了RR1和RR2上反射的路由,所以表中有两条

unclient2上没有路由:BGP的正常传递规则,从IBGP学习到的路由不传递给IBGP邻居,也就是client2从RR上学习到的没有传递给unclient2

unclient4上没有路由:

AS300/AS200都是有路由的:

太繁琐不一一测试,直接结论

结论:

1、RR从非client上学习到的路由仅传递给client与EBGP邻居,client收到后不再传递给IBGP邻居,会正常传递给EBGP邻居(由于client对自身角色是无感知的,所以除开RR设备,不管是client、UNclient都按照正常BGP传递规则传递路由)。

2、RR从client上学习到的路由会传递给所有的IBGP邻居,包括client和UNclient,client和UNclient收到路由后按照正常的BGP传递规则传递路由。

注意:如果RR2上的cluster ID配置的与RR1相同则 ,且将RR2与RR1互配为对方的client,则由于簇ID的防护作用双方不会交互除本地路由外学到的路由

看下面例子:

unclient3上:

int loopbakc 0

ip add 2.2.2.2 32

bgp 100

address-family ipv4 un

network 2.2.2.2 255.255.255.255 //将2.2.2.2宣告到BGP进程中

int g0/0

shutdown // DOWN掉接口避免RR1不从RR2学习直接从冗余线路直接学习到2.2.2.2路由

RR2上:

bgp 100

address-family ipv4 un

reflector cluster-id 1.1.1.1 // RR2上与RR1配置相同的簇ID

network 1.1.1.13 255.255.255.255 //将1.1.1.13宣告到BGP进程中

RR1上:

bgp 100

address-family ipv4 un

reflector cluster-id 1.1.1.1 //RR1与RR2配置相同的簇ID

此时查看RR1上的BGP路由表,学习不到2.2.2.2这条路由,但是是可以学习到RR2本地产生的路由,由于簇ID相同,RR2将2.2.2.2路由打上1.1.1.1的簇ID后发送给RR1,RR1收到后与自身的簇ID对比相同,则直接丢弃此条路由。

拿掉RR2的簇ID

RR2上:

bgp 100

address-family ipv4 un

undo reflector cluster-id 1.1.1.1 // 拿掉簇ID

拿掉后在RR1上查看此条路由,可以看到路由已经学习到了,cluster list中ID为10.0.1.9为RR2的缺省数值也就是router-ID,在上面还有originator(起源ID),此ID为始发此条路由的router-id,也是为了防环,避免回注产生环路。

以上就是集群内的防环机制,通过cluster list与originator实现。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门