BGP 路由反射器

转载:BGP 路由反射器

 

实验介绍: /

原理概述

缺省情况下,路由器从它的一个 IBGP 对等体那里接收到的路由条目不会被该路由器再传递给其他IBGP对等体,这个原则称为BGP水平分割

原则,该原则的根本作用是防止 AS 内部的 BGP 路由环路。因此,在 AS内部,一般需要每台路由器都运行 BGP协议并建立全互联的IBGP对等体关系,这样才能避免BGP路由黑洞等问题。对于有n个BGP路由器的AS来说,全互联的IBGP对等体关系将有nx(n-1)÷2个。对于大型AS来说,数量众多的IBGP对等体关系将导致配置和维护的工作量都非常大,且人为出错的可能性也随之增加。

解决上述问题的方法之一就是使用 BGP 路由反射器。BGP 路由反射器的使用,可以在很大程度上减少大型AS中IBGP对等体关系的数量并简化相应的配置和维护工作。BGP路由反射器是AS内部IBGP网络环境中的一种特殊角色,其他的角色还有反射器的客户端和非客户端。一个反射器和它所有的客户端一起被统称为一个Cluster;客户端与它的反射器建立的是 IBGP 对等体关系;客户端之间无需建立 IBGP 对等体关系;非客户端和反射器建立的是 IBGP 对等体关系;非客户端之间需要建立全互连的IBGP 对等体关系;非客户端和客户端之间无需建立IBGP 对等体关系;一个 AS 内部可以有多个Cluster;一个Cluster中可以有多台反射器。另外,EBGP对等体之间是不存在BGP路由反射器的概念的。

BGP路由反射器在反射路由的时候遵循的原则是:从一个非客户端那里接收到的路由,反射器会将它只传递给所有的客户端;从一个客户端那里接收到的路由,反射器会将它传递给所有其他的客户端以及所有的非客户端;从EBGP对等体那里接收到的路由,反射器会将它传递给所有的客户端和非客户端。

实验目的 /

  • 理解BGP 路由反射器的应用场景

  • 理解BGP 路由反射器的工作原理

  • 掌握BGP 路由反射器的基本配置方法

/ 实验介绍 /

实验拓扑如图所示,实验编址如表所示。本实验网络包含了两个AS,两个Cluster。R1、R2、R3属于Cluster1,R4、R5、R6属于Cluster 2,R7 不属于任何Cluster。在AS 100 内部,所有路由器都运行OSPF 协议作为IGP,并将各自的Loopback0接口宣告进OSPF 进程中,使得各路由器可以使用Loopback0接口来建立全互联的IBGP 对等体关系。然后,为了减少配置工作量,决定使用路由反射器,要求是:在Cluster1中,R1为路由反射器,R2和 R3为其客户端;在Cluster2中,R4为路由反射器,R5、R6为其客户端;R7为非客户端;R1与R8为EBGP对等体关系。

实验拓扑 /

实验编址 /

实验配置 /

1、基本配置

[R1]int loop 0
[R1-LoopBack0]ip add 10.0.1.1 32
[R1-LoopBack0]int g0/0/1
[R1-GigabitEthernet0/0/1]ip add 10.0.12.1 24
[R1-GigabitEthernet0/0/1]int g0/0/2
[R1-GigabitEthernet0/0/2]ip add 10.0.13.1 24
[R1-GigabitEthernet0/0/2]int g0/0/3
[R1-GigabitEthernet0/0/3]ip add 10.0.18.1 24
[R1-GigabitEthernet0/0/3]int g0/0/0
[R1-GigabitEthernet0/0/0]ip add 10.0.14.1 24
[R1-GigabitEthernet0/0/0]q
[R1]
[R2]int loop 0
[R2-LoopBack0]ip add 10.0.2.2 32
[R2-LoopBack0]int loop 1
[R2-LoopBack1]ip add 10.0.22.22 32
[R2-LoopBack1]int g0/0/1
[R2-GigabitEthernet0/0/1]ip add 10.0.12.2 24
[R2-GigabitEthernet0/0/1]q
[R2]
[R3]int loop 0
[R3-LoopBack0]ip add 10.0.3.3 32
[R3-LoopBack0]int g0/0/2
[R3-GigabitEthernet0/0/2]ip add 10.0.13.3 24
[R3-GigabitEthernet0/0/2]q
[R3]
[R4]int loop 0
[R4-LoopBack0]ip add 10.0.4.4 32
[R4-LoopBack0]int g0/0/0
[R4-GigabitEthernet0/0/0]ip add 10.0.14.4 24
[R4-GigabitEthernet0/0/0]int g0/0/1
[R4-GigabitEthernet0/0/1]ip add 10.0.47.4 24
[R4-GigabitEthernet0/0/1]int g0/0/2
[R4-GigabitEthernet0/0/2]ip add 10.0.46.4 24
[R4-GigabitEthernet0/0/2]int g0/0/3
[R4-GigabitEthernet0/0/3]ip add 10.0.45.4 24
[R4-GigabitEthernet0/0/3]q
[R4]
[R5]int loop 0
[R5-LoopBack0]ip add 10.0.5.5 32
[R5-LoopBack0]int g0/0/1
[R5-GigabitEthernet0/0/1]ip add 10.0.45.5 24
[R5-GigabitEthernet0/0/1]q
[R5]
[R6]int loop 0
[R6-LoopBack0]ip add 10.0.6.6 32
[R6-LoopBack0]int g0/0/2
[R6-GigabitEthernet0/0/2]ip add 10.0.46.6 24
[R6-GigabitEthernet0/0/2]q
[R6]
[R7]int loop 0
[R7-LoopBack0]ip add 10.0.7.7 32
[R7-LoopBack0]int g0/0/0
[R7-GigabitEthernet0/0/0]ip add 10.0.47.7 24
[R7-GigabitEthernet0/0/0]q
[R7]
[R8]int loop 0
[R8-LoopBack0]ip add 10.0.8.8 32
[R8-LoopBack0]int g0/0/0
[R8-GigabitEthernet0/0/0]ip add 10.0.18.8 24
[R8-GigabitEthernet0/0/0]q
[R8]

2、配置OSPF路由协议

为了使AS 100内部的路由器之间都能够使用Loopback0接口建立IBGP 对等体关系,需要在每台路由器(R8除外)上配置 OSPF路由协议,并将Loopback0接口通告进OSPF进程。

[R1]ospf 1 router-id 10.0.1.1
[R1-ospf-1]area 0
[R1-ospf-1-area-0.0.0.0]network 10.0.1.1 0.0.0.0
[R1-ospf-1-area-0.0.0.0]network 10.0.12.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]network 10.0.13.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]network 10.0.14.0 0.0.0.255[
R2]ospf 1 router-id 10.0.2.2
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]network 10.0.2.2 0.0.0.0
[R2-ospf-1-area-0.0.0.0]network 10.0.12.0 0.0.0.255
[R3]ospf 1 router-id 10.0.3.3
[R3-ospf-1]area 0
[R3-ospf-1-area-0.0.0.0]network 10.0.3.3 0.0.0.0
[R3-ospf-1-area-0.0.0.0]network 10.0.13.0 0.0.0.255
[R4]ospf 1 router-id 10.0.4.4
[R4-ospf-1]area 0
[R4-ospf-1-area-0.0.0.0]network 10.0.4.4 0.0.0.0
[R4-ospf-1-area-0.0.0.0]network 10.0.14.0 0.0.0.255
[R4-ospf-1-area-0.0.0.0]network 10.0.45.0 0.0.0.255
[R4-ospf-1-area-0.0.0.0]network 10.0.46.0 0.0.0.255
[R4-ospf-1-area-0.0.0.0]network 10.0.47.0 0.0.0.255
[R5]ospf 1 router-id 10.0.5.5
[R5-ospf-1]area 0
[R5-ospf-1-area-0.0.0.0]network 10.0.5.5 0.0.0.0
[R5-ospf-1-area-0.0.0.0]network 10.0.45.0 0.0.0.255
[R6]ospf 1 router-id 10.0.6.6
[R6-ospf-1]area 0
[R6-ospf-1-area-0.0.0.0]network 10.0.6.6 0.0.0.0
[R6-ospf-1-area-0.0.0.0]network 10.0.46.0 0.0.0.255
[R7]ospf 1 router-id 10.0.7.7
[R7-ospf-1]area 0
[R7-ospf-1-area-0.0.0.0]network 10.0.7.7 0.0.0.0
[R7-ospf-1-area-0.0.0.0]network 10.0.47.0 0.0.0.255

3、配置BGP路由协议

配置BGP 路由协议,在AS100内部的每台路由器上使用Loopback0接口建立全互联的IBGP 对等体关系,并通告各自的Loopback0接口到BGP 进程中。

[R1]bgp 100
[R1-bgp]router-id 10.0.1.1
[R1-bgp]peer 10.0.2.2 as-number 100
[R1-bgp]peer 10.0.2.2 connect-interface LoopBack 0
[R1-bgp]peer 10.0.2.2 next-hop-local
[R1-bgp]peer 10.0.3.3 as-number 100
[R1-bgp]peer 10.0.3.3 connect-interface LoopBack 0
[R1-bgplpeer 10.0.3.3 next-hop-local
[R1-bgp]peer 10.0.4.4 as-number 100
[R1-bgp]peer 10.0.4.4 connect-interface LoopBack 0
[R1-bgp]peer 10.0.4.4 next-hop-local
[R1-bgp]peer 10.0.5.5 as-number 100
[R1-bgp]peer 10.0.5.5 connect-interface LoopBack 0
[R1-bgp]peer 10.0.5.5 next-hop-local
[R1-bgp]peer 10.0.6.6 as-number 100
[R1-bgp]peer 10.0.6.6 connect-interface LoopBack 0
[R1-bgp]peer 10.0.6.6 next-hop-local
[R1-bgp]peer 10.0.7.7 as-number 100
[R1-bgp]peer 10.0.7.7 connect-interface LoopBack 0
[R1-bgp]peer 10.0.7.7 next-hop-local
[R1-bgp]network 10.0.1.1 32
[R2]bgp 100
[R2-bgp]router-id 10.0.2.2
[R2-bgp]peer 10.0.1.1 as-number 100
[R2-bgp]peer 10.0.1.1 connect-interface LoopBack 0
[R2-bgplpeer 10.0.3.3 as-number 100
[R2-bgp]peer 10.0.3.3 connect-interface LoopBack 0
[R2-bgp]peer 10.0.4.4 as-number 100
[R2-bgp]peer 10.0.4.4 connect-interface LoopBack 0
[R2-bgp]peer 10.0.5.5 as-number 100
[R2-bgp]peer 10.0.5.5 connect-interface LoopBack 0
[R2-bgp]peer 10.0.6.6 as-number 100
[R2-bgp]peer 10.0.6.6 connect-interface LoopBack 0
[R2-bgp]peer 10.0.7.7 as-number 100
[R2-bgp]peer 10.0.7.7 connect-interface LoopBack 0
[R2-bgp]network 10.0.2.2 32
[R3]bgp 100
[R3-bgp]router-id 10.0.3.3
[R3-bgp]peer 10.0.1.1 as-number 100
[R3-bgp]peer 10.0.1.1 connect-interface LoopBack 0
[R3-bgp]peer 10.0.2.2 as-number 100
[R3-bgp]peer 10.0.2.2 connect-interface LoopBack 0
[R3-bgp]peer 10.0.4.4 as-number 100
[R3-bgp]peer 10.0.4.4 connect-interface LoopBack 0
[R3-bgp]peer 10.0.5.5 as-number 100
[R3-bgp]peer 10.0.5.5 connect-interface LoopBack 0
[R3-bgp]peer 10.0.6.6 as-number 100
[R3-bgp]peer 10.0.6.6 connect-interface LoopBack 0
[R3-bgp]peer 10.0.7.7 as-number 100
[R3-bgp]peer 10.0.7.7 connect-interface LoopBack 0
[R3-bgp]network 10.0.3.3 32
[R4]bgp 100
[R4-bgp]router-id 10.0.4.4
[R4-bgp]peer 10.0.1.1 as-number 100
[R4-bgp]peer 10.0.1.1 connect-interface LoopBack 0
[R4-bgp]peer 10.0.2.2 as-number 100
[R4-bgp]peer 10.0.2.2 connect-interface LoopBack 0
[R4-bgp]peer 10.0.3.3 as-number 100
[R4-bgp]peer 10.0.3.3 connect-interface LoopBack 0
[R4-bgp]peer 10.0.5.5 as-number 100
[R4-bgp]peer 10.0.5.5 connect-interface LoopBack 0
[R4-bgp]peer 10.0.6.6 as-number 100
[R4-bgp]peer 10.0.6.6 connect-interface LoopBack 0
[R4-bgp]peer 10.0.7.7 as-number 100
[R4-bgp]peer 10.0.7.7 connect-interface LoopBack 0
[R4-bgp]network 10.0.4.4 32
[R5]bgp 100
[R5-bgp]router-id 10.0.5.5
[R5-bgp]peer 10.0.1.1 as-number 100
[R5-bgp]peer 10.0.1.1 connect-interface LoopBack 0
[R5-bgp]peer 10.0.2.2 as-number 100
[R5-bgp]peer 10.0.2.2 connect-interface LoopBack 0
[R5-bgp]peer 10.0.3.3 as-number 100
[R5-bgp]peer 10.0.3.3 connect-interface LoopBack 0
[R5-bgp]peer 10.0.4.4 as-number 100
[R5-bgp]peer 10.0.4.4 connect-interface LoopBack 0
[R5-bgp]peer 10.0.6.6 as-number 100
[R5-bgp]peer 10.0.6.6 connect-interface LoopBack 0
[R5-bgp]peer 10.0.7.7 as-number 100
[R5-bgp]peer 10.0.7.7 connect-interface LoopBack 0
[R5-bgp]network 10.0.5.5 32
[R6]bgp 100
[R6-bgp]router-id 10.0.6.6
[R6-bgp]peer 10.0.1.1 as-number 100
[R6-bgp]peer 10.0.1.1 connect-interface LoopBack 0
[R6-bgp]peer 10.0.2.2 as-number 100
[R6-bgp]peer 10.0.2.2 connect-interface LoopBack 0
[R6-bgp]peer 10.0.3.3 as-number 100
[R6-bgp]peer 10.0.3.3 connect-interface Loopback 0
[R6-bgp]peer 10.0.4.4 as-number 100
[R6-bgp]peer 10.0.4.4 connect-interface LoopBack 0
[R6-bgp]peer 10.0.5.5 as-number 100
[R6-bgp]peer 10.0.5.5 connect-interface LoopBack 0
[R6-bgp]peer 10.0.7.7 as-number 100
[R6-bgp]peer 10.0.7.7 connect-interface LoopBack 0
[R6-bgp]network 10.0.6.6 32
[R7]bgp 100
[R7-bgp]router-id 10.0.7.7
[R7-bgp]peer 10.0.1.1 as-number 100
[R7-bgp]peer 10.0.1.1 connect-interface LoopBack 0
[R7-bgp]peer 10.0.2.2 as-number 100
[R7-bgp]peer 10.0.2.2 connect-interface LoopBack 0
[R7-bgp]peer 10.0.3.3 as-number 100
[R7-bgp]peer 10.0.3.3 connect-interface LoopBack 0
[R7-bgp]peer 10.0.4.4 as-number 100
[R7-bgp]peer 10.0.4.4 connect-interface LoopBack 0
[R7-bgp]peer 10.0.5.5 as-number 100
[R7-bgp]peer 10.0.5.5 connect-interface LoopBack 0
[R7-bgp]peer 10.0.6.6 as-number 100
[R7-bgp]peer 10.0.6.6 connect-interface LoopBack 0
[R7-bgp]network 10.0.7.7 32

在R1和R8之间使用直连物理接口建立EBGP对等体关系,并通告R8的Loopback 0接口到BGP进程中。

[R1]bgp 100
[R1-bgp]peer 10.0.18.8 as-number 200
[R8]bgp 200
[R8-bgp]router-id 10.0.8.8
[R8-bgp]peer 10.0.18.1 as-number 100
[R8-bgp]network 10.0.8.8 32

查看 AS 100 内部的每台路由器上的 BGP 路由表(这里仅以 R2 为例),同时查看R8的BGP路由表。

<R2>display bgp routing-table
<R8>display bgp routing-table

可以看到,AS 100内部的路由器都已经接收到了关于10.0.8.8/32 的路由信息。R8只接收到了关于 10.0.1.1/32 的路由信息,而没有接收到关于 AS 100 内部其他路由器的Loopback 0的路由信息,这是因为AS 100 内

部OSPF 路由协议的优先级要高于BGP 路由协议的优先级,于是 R1就不会将除了本地起源(即下一跳为 0.0.0.0)的路由之外的其他路由信息传递给R8。显然,这会导致R8与AS 100内部的路由器的互通问题。为了使R8能够与AS 100 内部的所有路由器的Loopback0接口所在的网络进行通信,可以在R8上配置一条聚合的静态路由,下一跳为10.0.18.1。

[R8]ip route-static 10.0.0.0 20 10.0.18.1

配置完成后,网络通信正常,但是整体配置工作量较大。

4、配置BGP路由反射器

对于大型网络来讲,使用路由反射器可以大大减少 IBGP 对等体关系的数量。路由反射器的使用,会明显减少配置工作量,人为出错的可能性也会大大降低。

下面将进行关于路由反射器的实验,首先清除之前各路由器上的BGP进程。在此需要提醒读者的是,在实际场景中如果这样操作,将会导致网络瘫痪一段时间。

以R1为例,清除原来的BGP进程。

[R1]undo bgp 100

R2和R3是路由反射器R1的客户端,它们只需和R1配置成IBGP对等体关系即可,R2 和R3 之间无需配置为IBGP 对等体关系。另外,将R2的Loopback1(10.0.22.22/32)接口通告进BGP进程。

[R2]bgp 100
[R2-bgp]router-id 10.0.2.2
[R2-bgp]peer 10.0.1.1 as-number 100
[R2-bgp]peer 10.0.1.1 connect-interface LoopBack 0
[R2-bgp]network 10.0.2.2 32
[R2-bgp]network 10.0.22.22 32
[R3]bgp 100
[R3-bgp]router-id 10.0.3.3
[R3-bgp]peer 10.0.1.1 as-number 100
[R3-bgp]peer 10.0.1.1 connect-interface LoopBack 0
[R3-bgp]network 10.0.3.3 32

配置R1为R2和R3的路由反射器,配置Cluster-ID为1,配置R1与R4之间的IBGP对等体关系,配置R1与R8之间的EBGP对等体关系。

[R1]bgp 100
[R1-bgp]router-id 10.0.1.1
[R1-bgp]group in_1
[R1-bgp]peer 10.0.2.2 group in_1
[R1-bgp]peer 10.0.3.3 group in_1
[R1-bgp]peer in_1 reflect-client
[R1-bgp]peer in_1 next-hop-local
[R1-bgp]reflector cluster-id 1
[R1-bgp]peer 10.0.4.4 as-number 100
[R1-bgp]peer 10.0.4.4 connect-interface LoopBack 0
[R1-bgp]peer 10.0.4.4 next-hop-local
[R1-bgp]peer 10.0.18.8 as-number 200

R5和R6是路由反射器R4的客户端,它们只需和R4配置成IBGP对等体关系即可,R5和R6之间无需配置为IBGP对等体关系。

[R5]bgp 100
[R5-bgp]router-id 10.0.5.5
[R5-bgp]peer 10.0.4.4 as-number 100
[R5-bgp]peer 10.0.4.4 connect-interface LoopBack 0
[R5-bgp]network 10.0.5.5 32
[R6]bgp 100
[R6-bgp]router-id 10.0.6.6
[R6-bgp]peer 10.0.4.4 as-number 100
[R6-bgp]peer 10.0.4.4 connect-interface LoopBack 0
[R6-bgp]network 10.0.6.6 32

配置R4为R5和R6的路由反射器,配置Cluster-ID为2,配置R4与R1之间的IBGP对等体关系,配置R4与R7之间的IBGP对等体关系。

[R4]bgp 100
[R4-bgp]router-id 10.0.4.4
[R4-bgp]group in_2
[R4-bgp]peer 10.0.5.5 group in_2
[R4-bgp]peer 10.0.6.6 group in_2
[R4-bgp]peer in_2 reflect-client
[R4-bgp]reflector cluster-id 2
[R4-bgp]peer 10.0.1.1 as-number 100
[R4-bgp]peer 10.0.1.1 connect-interface LoopBack 0
[R4-bgp]peer 10.0.7.7 as-number 100
[R4-bgp]peer 10.0.7.7 connect-interface LoopBack 0

R7是非客户端路由器,配置R7与R4之间的IBGP对等体关系。

[R7]bgp 100
[R7-bgp]router-id 10.0.7.7
[R7-bgp]peer 10.0.4.4 as-number 100
[R7-bgp]peer 10.0.4.4 connect-interface LoopBack 0
[R7-bgp]network 10.0.7.7 32

配置R8与R1之间的EBGP对等体关系。

[R8]bgp 200
[R8-bgp]router-id 10.0.8.8
[R8-bgp]peer 10.0.18.1 as-number 100
[R8-bgp]network 10.0.8.8 255.255.255.255

5、验证路由反射器的反射原理

根据 IBGP 的水平分割原则,R1从IBGP 对等体 R2 接收到 BGP 路由条目10.0.22.22/32后,不会再传递给其他IBGP对等体,因此R3和R4就应该接收不到这条路由。当然,R1可以将此路由传递给EBGP对等体R8。在R3、R4、R8上查看BGP路由表。

 

[R3]display bgp routing-table
[R4]display bgp routing-table
[R8]display bgp routing-table

观察发现,R3、R4、R8的BGP路由表中都存在关于10.0.22.22/32的路由信息。由此可见,R1将10.0.22.22/32这条路由传递给了R3和R4,不再受BGP水平分割原则的限制,同时,这条路由也被R1传递给了EBGP对等体R8。实验表明,BGP路由反射器从它的一个客户端接收到路由之后,会将该路由反射给它的其他客户端、非客户端,以及EBGP对等体。

在R5、R6、R7上查看BGP路由表。

[R5]display bgp routing-table
[R6]display bgp routing-table
[R7]display bgp routing-table

可以看到,R4将10.0.22.22/32这条路由传递给了R5和R6,但是没有传递给R7,说明路由反射器会把从非客户端收到的路由传递给客户端,但不会传递给其他非客户端。由于路由反射器认为非客户端之间应该是存在IBGP 对等体关系的,所以路由反射器和非客户端之间依然遵循水平分割原则。

路由反射器R4认为R1与R7之间应该存在IBGP对等体关系,所以没有将从非客户端R1接收到的BGP路由传递给R7。但实际上,R1与R7之间并没有被配置为IBGP对等体关系,这就导致了R7的BGP路由表中并没有关于10.0.22.22/32的路由。解决此问题的办法就是将R1和R7配置为IBGP对等体关系。

[R1]bgp 100
[R1-bgp]peer 10.0.7.7 as-number 100
[R1-bgp]peer 10.0.7.7 connect-interface LoopBack 0
[R1-bgp]peer 10.0.7.7 next-hop-local
[R7]bgp 100
[R7-bgp]peer 10.0.1.1 as-number 100
[R7-bgp]peer 10.0.1.1 connect-interface LoopBack 0
[R7-bgp]peer 10.0.1.1 next-hop-local

重新查看R7的BGP路由表。

[R7]display bgp routing-table

可以看到,R7现在接收到了10.0.22.22/32这条路由。

在R7上查看10.0.22.22/32这条路由的详细信息。

<R7>display bgp routing-table 10.0.22.22

可以看到,R7上的10.0.22.22/32这条路由信息是从R1(10.0.1.1)传递过来的,而不是从R4传递过来的,这说明路由反射器和非客户端之间是遵循水平分割原则的。

在R1、R2、R3、R4上查看接收到的关于10.0.8.8/32的路由信息。

[R1]display bgp routing-table
[R2]display bgp routing-table
[R3]display bgp routing-table
[R4]display bgp routing-table

 

可以看到,R1从EBGP对等体R8接收到关于10.0.8.8/32的路由之后将这条路由传递给了R2、R3、R4,说明路由反射器会把从EBGP对等体接收到的路由传递给它的客户端和非客户端。

6、BGP路由反射器的防环原理

在前面的配置中,R1上使用了命令peerin_1reflect-client。这条命令的含义是指定BGP对等体组in1中的路由器(即R2和R3)为R1的客户端,从相反的角度来说,也就是R1被指定成为BGP对等体组in-1中的路由器(即R2和R3)的路由反射器。

在R1、R3、R4上查看10.0.22.22/32这条路由的具体属性。

[R1]display bgp routing-table 10.0.22.22
[R3]display bgp routing-table 10.0.22.22
[R4]display bgp routing-table 10.0.22.22

可以观察到,在R1、R3、R4上关于10.0.22.22/32的路由的属性是有所区别的。在R3 和R4上关于此路由多了0riginator和Cluster List 这两个属性。Originator属性的作用是防止路由在反射器和客户端/非客户端之间出现环路。路由第一次被反射的时候,反射器会将0riginator属性加入这条路由中,用BGP Router-ID 表示,用来标识这条路由的起源路由器。如果路由中已经存在0riginator属性,则反射器不会创建新的Originator。当其他BGP 对等体接收到这条路由时,将对收到的0riginator和本地的BGPRouter-ID 进行比较,如果两者相同,BGP对等体将会忽略掉这条路由不做处理。Originator 属性可以传递给其他的Cluster,路由在AS内传递时该属性不会丢失。

Cluster List 属性可用来防止Cluster间的路由环路。当路由反射器在客户端之间或客户端与非客户端之间反射路由时,会将自己的Cluster-ID 添加到Cluster List 中。路由反射器接收到 BGP 路由后会去检查其中的

如果发现自己的 Cluster-ID 位于Cluster List中,则表明出现Cluster List,了路由环路,因而会忽略该路由。AS内的每台路由反射器都采用了一个唯一的4个8位组来标识Cluster-ID,如果Cluster中包含了多台路由反射器,则必须以手工的方式为每台路由反射器配置Cluster-ID。

在R5上查看10.0.22.22/32这条路由的具体属性。

[R5]display bgp routing-table 10.0.22.22

可以看到,Cluster List 中含有两个Cluster-ID:0.0.0.2 和0.0.0.1,这两个Cluster-ID都是在配置路由反射器时定义的。

在R8上查看10.0.22.22/32这条路由的具体属性。

<R8>display bgp routing-table 10.0.22.22

可以看到,R8 上的10.0.22.22/32 这条路由没有Cluster-ID 和ClusterList 属性信息,说明Cluster-ID 和Cluster List属性不会通告给EBGP 对等体。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/146187.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

linux入门——“linux基本指令”下

1.mv指令 mv指令用于移动文件或者目录。语法是mv 源文件 目标文件。它的用法需要注意&#xff1a; 当目标文件不存在的时候&#xff0c;默认是将源文件进行重命名操作&#xff0c;名字就是目标文件的名字&#xff0c;当目标文件存在的时候才会把源文件移动到目标文件。 目标文…

微服务远程调用(nacos及OpenFeign简单使用)

问题&#xff1a;在微服务中&#xff0c;每个项目是隔离开的&#xff0c;当有一个项目请求其他项目中的数据时&#xff0c;必须发起网络请求&#xff0c;本文即对此问题展开讨论。 1.使用restTemplate发送请求 //发送请求ResponseEntity<List<ItemDTO>> response …

Microsoft 365 Copilot: Wave 2 发布,开启AI时代下的全新工作流

本周一&#xff08;9月16日&#xff09;&#xff0c;微软对 Microsoft 365 Copilot 办公辅助工具进行了重大升级&#xff0c;推出 Wave 2 版本。新版 Copilot 将为 Microsoft 365 用户带来一系列新功能和改进&#xff0c;进一步提升工作效率与用户体验&#xff0c;正式开启AI时…

【machine learning-13-线性回归的向量化】

向量化 向量化简洁并行计算 向量化 线性回归的向量化表示如下&#xff0c;其中w 和 x 都分别加了箭头表示这是个向量&#xff0c;后续不加也可以表示为向量&#xff0c;w和x点乘加上b&#xff0c;就构成了多元线性回归的表达方式&#xff0c;如下&#xff1a; 那么究竟为什么…

uniapp|微信小程序 实现输入四位数 空格隔开

<template><page-meta :page-style"cssVar"></page-meta><view class"container"><u-navbartitle"优惠券兑换"placeholderbgColor"#fff":autoBack"true":titleStyle"{fontFamily: SourceHa…

navicat无法连接远程mysql数据库1130报错的解决方法

出现报错&#xff1a;1130 - Host ipaddress is not allowed to connect to this MySQL serve navicat&#xff0c;当前ip不允许连接到这个MySQL服务 解决当前ip无法连接远程mysql的方法 1. 查看mysql端口&#xff0c;并在服务器安全组中放开相应入方向端口后重启服务器 sud…

MySQL篇(存储引擎 - InnoDB存储引擎架构)(持续更新迭代)

目录 一、逻辑存储结构 1. 表空间 2. 段 3. 区 4. 页 5. 行 二、架构 1. 简介 2. 内存结构&#xff08;四部分&#xff09; Buffer Pool Change Buffer Adaptive Hash Index Log Buffer 3. 磁盘结构&#xff08;七部分&#xff09; System Tablespace File-Per-…

【工具变量】科技金融试点城市DID数据集(2000-2023年)

时间跨度&#xff1a;2000-2023年数据范围&#xff1a;286个地级市包含指标&#xff1a; year city treat post DID&#xff08;treat*post&#xff09; 样例数据&#xff1a; 包含内容&#xff1a; 全部内容下载链接&#xff1a; 参考文献-pdf格式&#xff1a;https://…

大觅网之环境部署(Environment Deployment of Da Mi Network)

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:Linux运维老纪的首页…

World of Warcraft [CLASSIC] International translation bug

internationalization i18n_getinternationalizationjs-CSDN博客 1&#xff09;国际化翻译不完整 Chance on melee and ranged critical strike to increase your attack power by 1262 for 10s. 2&#xff09;更新美酒节&#xff0c;服务器并发太高&#xff0c;被提出副本 Wo…

[Redis][String][下]详细讲解

目录 1.其他命令1.APPEND2.GETRANGE3.SETRANGE4.STRLEN 2.内部编码3.典型使用场景1.缓存(Cache)功能2.计数(Counter)功能3.共享会话(Session) 1.其他命令 1.APPEND 功能&#xff1a; 如果key已经存在并且是⼀个string&#xff0c;命令会将value追加到原有string的后边如果key…

第二十节:学习Redis缓存数据库实现增删改查(自学Spring boot 3.x的第五天)

这节记录下如何使用redis缓存数据库。 第一步&#xff1a; 先在服务器端安装redis&#xff0c; 下载地址&#xff1a;Releases tporadowski/redis GitHub。 第二步&#xff1a; 安装redis客户端可视化管理软件redisDesktopmanager Redis Desktop Manager - Download 第…

11. DPO 微调示例:根据人类偏好优化LLM大语言模型

在部署大模型之后&#xff0c;我们必然要和微调打交道。现在大模型的微调有非常多的方法&#xff0c;过去的文章中提到的微调方法通常依赖于问题和答案对&#xff0c;标注成本较高。 2023 年所提出的 Direct Preference Optimization&#xff08;DPO&#xff09;为我们提供了一…

C++——map和set的使用以及map系列

目录 map和set的使用 1. 序列式容器和关联式容器 2. set系列的使⽤ 2.1 set和multiset参考⽂档 2.2 set类的介绍 2.3 set的构造和迭代器 2.4 set的增删查 set的增删查关注以下⼏个接⼝即可&#xff1a; 2.6 find和erase使⽤样例&#xff1a; lower_bound(); upper_bo…

Python 从入门到实战23(属性property)

我们的目标是&#xff1a;通过这一套资料学习下来&#xff0c;通过熟练掌握python基础&#xff0c;然后结合经典实例、实践相结合&#xff0c;使我们完全掌握python&#xff0c;并做到独立完成项目开发的能力。 上篇文章我们讨论了类的定义、使用方法的相关知识。今天我们将学…

uboot:源码分析-启动第一阶段-start.S解析

start.S引入 进入start.S文件中&#xff0c;发现57行中就是_start标号的定义处 SourceInsight中添加行号 在SI中&#xff0c;如果我们知道我们要找的文件的名字&#xff0c;但是我们又不知道他在哪个目录下&#xff0c;我们要怎样找到并打开这个文件&#xff1f;方法是在SI中先…

教你快速制作一本3D翻页电子杂志

​在制作3D翻页电子杂志之前&#xff0c;我们需要了解一些基本概念。3D翻页电子杂志主要通过翻页效果来展示内容&#xff0c;读者可以通过手指滑动或点击鼠标来进行翻页。此外&#xff0c;它还支持图片、文字、视频等多种媒体形式的展示&#xff0c;为读者带来全方位的阅读体验…

KTH5774 —— 3D 摇杆/操纵杆霍尔位置传感器芯片

KTH5774 是一款摇杆、操纵杆专用的 3D 霍尔磁感 应芯片&#xff0c;主要面向对线性度和可靠性要求严格的应用 场景。 KTH5774 基于 3D 霍尔技术&#xff0c;内部分别集成了 X 轴、 Y 轴和 Z 轴三个独立的霍尔元件&#xff0c;能够通过测量和 处理磁通密度矢量的三个空间分量…

决策树算法中篇

手动计算实现决策树分类 数据整合 X[真实用户] y X 计算未划分信息熵 s X[真实用户] p s.value_counts()/s.size (p * np.log2(1/p)).sum() 按照日志密度进行划分 x X[日志密度].unique() x.sort() # 如何划分呢&#xff0c;分成两部分 for i in range(len(x) - 1):sp…

Checkstyle 使用总结

1. 使用 GitHub 地址&#xff1a;checkstyle/checkstyle: Checkstyle is a development tool to help programmers write Java code that adheres to a coding standard. 官网文档地址&#xff1a;checkstyle – Checkstyle 10.17.0 1.1 IDEA 插件 在 IDEA 搜索插件 CheckS…