BGP基础(三)BGP常用属性

一、BGP邻居建立

  1. BGP特征
  2. BGP对等体关系(EBGP、IBGP)
  3. TCP连接(TCP三次握手)
  4. BGP报文类型(5种:open、keepalive、update、route-refresh、notification)
  5. BGP状态机(6种:idle、connect、active、opensent、openconfirm、established)
  6. BGP路由表(dis bgp routing-table ipv4-address mask/mask-length)

二、BGP路由生成

  1. BGP路由生成方式(network、import-route)
  2. BGP通告原则(四条)
  3. BGP路由处理(路径选择算法、Local_RIB、IP_RIB)
  4. 扩展——黑洞路由

三、BGP路由属性

前因

BGP路由属性的背景

BGP常用属性

BGP丰富的属性

  1. 公认:所有运行BGP协议的路由器都能够理解的属性
    a、公认必遵:BGP的Update消息中必须包含的属性
    b、公认任意:不必存在于BGP的Update消息中,可以根据需求自由选择的属性。
  2. 可选:厂家开发的,满足特殊需求的属性,但并不是所有运行BGP协议的路由器都能够理解的属性
    a、可选过渡:BGP不能识别该属性,但可以接收该属性并将其发布给它的邻居的属性。
    b、可选非过渡:BGP可以忽略包含该属性的消息并且不向它的邻居发布。

BGP属性图

BGP属性

BGP属性–Next_hop

next_hop属性
定义了到达目的地下一跳设备的IP地址。

华为BGP路由下—跳特点:

  1. 默认情况下,传给EBGP邻居的BGP路由的下一跳设置为自身向这个EBGP邻居发送BGP报文的源地址。
  2. 默认请况下,从EBGP邻居得到的BGP路由再传给IBGP邻居时,此BGP路由的下—跳默认不变(情况一下EBGP邻居的源地址)。当然,我们可以使用peer 邻居地址 next-hop-local 修改下一跳,保证修改后的下一跳可达。
  3. 默认情况下,凡是自身起源的BGP路由在传给任何BGP邻居时,总是把此路由的下一跳设置为向BGP邻居发送BGP报文的源地址。

题外话,话粗理不粗:
BGP是基于AS的,逐AS传递路由,下一跳体现的是AS。
IGP是基于路由的,逐路由传递,下一跳体现的是路由器。

BGP属性–Origin

Origin属性

Origin 属性,也称为起源属性,定义路径信息的来源,标记一条路由是怎么成为BGP路由的。

BGP路由的三种起源属性:

  1. i – IGP,表明BGP路由是由network命令发起的
  2. ? – incomplete,表明BGP路由是由import-route产生的
  3. e – EGP,表明BGP路由是从EGP协议引入的,EGP协议目前已经全面退出网络

起源属性可以被修改,一般起源属性是一种BGP选路属性,可以用于BGP路径的选择,通过修改起源属性可以控制BGP路径 。

三种起源属性的优先级:i > e > incomplete,也就是IGP>EGP>Incomplete

#配置静态路由
[R1]ip route-static 192.168.1.0 24 NULL 0

#静态路由引入到BGP中
[R1]bgp
[R1-bgp]import-route static
[R1]dis bgp routing-table

BGP路由信息

BGP属性–AS_Path

BGP路由属性

  • 选路,经过AS数量少的路径最优
  • 当BGP路由传递给EBGP邻居时会将自己的AS号添加到AS_PATH属性的最前面
  • 当BGP路由传递给IBGP邻居时不会添加自己的AS号
  • 在AS之间实现BGP环路的防范(AS内部防环,IBGP水平分割),从EBGP邻居得到路由时,
    检查该路由的AS_PATH属性,如果AS_PATH中存在自身的AS号,则丢弃该路由。
  • 防环的检测机制
    a、EBGP邻居之间进行AS_PATH检查
    b、IBGP 邻居之间不做AS_PATH检查
  • AS_PATH属性可以被修改,华为可以在IBGP和EBGP邻居之间修改,思科只允许在EBGP邻居之间修改
# R1上利用路由策略,假设环路
[R1]route-policy aspath permit node 10
[R1-route-policy]apply as-path 234 additive

[R1]bgp 1
[R1-bgp]peer 10.1.12.2 route-policy aspath export

#R2上使用此命令,即使收到邻居发来的相同AS号,也会接收,即允许AS环路
[R2]bgp 234
[R2-bgp]peer 10.1.12.1 allow-as-loop

参数补充:

  1. additive,在原有AS_PATH属性的基础上添加配置的AS号。
  2. overwrite,直接覆盖原有AS_PATH属性的值。

BGP属性–Local_Preference

BGP路由属性

Local_Preference 属性仅在IBGP邻居之间有效,不会通告给其他AS,即只在AS内部传递。如果路由在传递到本地时,没有携带Local_Preference 属性,则使用默认值,默认值是100,越大越优先。它表示路由器的BGP优先级,用于判断流量离开AS时的最佳路由

#全局修改
[R2]bgp 234
[R2-bgp]default local-preference 200

#记得删除
[R2-bgp]undo default local-preference 200

#精细化修改
[R2]ip ip-prefix lp permit 192.168.1.0 24
[R2]route-policy lp permit node 10
[R2-route-policy]if-match ip-prefix lp
[R2-route-policy]apply local-preference 200    
[R2]route-policy lp permit node 20

[R2-bgp]peer 3.3.3.3 route-policy lp import

R2上面查看默认空,R3查看则是200,R5查看也是空(因为Local_Preference只在AS内部传递)
BGP路由属性

# 在演示AS_PATH属性时假设的环路,此时关闭策略
[R1]undo route-policy aspath
[R1]bgp
[R1-bgp]undo peer 10.1.12.2 route-policy aspath export

# R1上面有一条静态路由,R5上也发布一条静态路由
[R5]ip route-static 192.168.1.0 24 NULL 0
[R5]bgp
[R5-bgp]import-route static

#R4上面修改Local Preference 200
[R4]bgp 234
[R4-bgp]default local-preference 200


# R1、R5上分别引入静态路由
[R1]ip route-static 192.168.2.0  NULL 0
[R5]ip route-static 192.168.2.0  NULL 0

# 接下来,去往192.168.1.0 走R2,去往192.168.2.0 走R4
[R2]ip ip-prefix 1 permit 192.168.1.0 24
[R2]route-policy local permit node 10
[R2-route-policy]if-match ip-prefix 1
[R2-route-policy]apply local-preference 200
[R2-route-policy]q
[R2]route-policy local permit node 20
[R2-route-policy]dis this
[V208R003C60]
#
route-policy local permit node 10
 if-match ip prefix 1
 apply local-preference 200
#
route-policy local permit node 20
#
return 

# 因为是针对R1传过来的,所以使用import
[R2]bgp 234
[R2-bgp]peer 10.1.12.1 route-policy local import

BGP路由属性

恢复R4上面的local_preference 为 100
[R4]bgp 234
[R4-bgp]undo default local-preference 200

修改完成后,R2上面查看
BGP路由属性


[R4]ip ip-prefix 1 permit 192.168.2.0 24
[R4]route-policy local permit node 10
[R4-route-policy]if-match ip-prefix 1
[R4-route-policy]apply local-pgeference 200
[R4-route-policylquit
[R4]route-policy local permit node 20

# 因为是针对R5传过来的,所以使用import
[R4]bgp 234
[R4-bgp]peer 10.1.45.5 route-policy local import

R4上面查看BGP路由
BGP路由属性
在R3上面,去往192.168.1.0走R2,去往192.168.2.0走R4
BGP路由属性
在AS 234内,去往192.168.1.0走R2,去往192.168.2.0走R4
在这里插入图片描述BGP路由属性

BGP属性–MED

BGP路由属性
MED(Multi-Exit-Discriminator,多出口鉴别器)属性仅在相邻两个AS之间传递,收到此属性的AS不会再将其通告给任何其他第三方AS,用于判断流量进入AS时的最佳路由
MED BGP的多出口鉴别器,也称为BGP cost,越小越优,是因为MED数值是由始发路由器继承IGP协议的cost值而定的。

华为设备通告MED属性的规则

  1. 本地始发的路由MED值传递给所有邻居。
  2. 从EBGP邻居得到的路由的MED不会传递给EBGP邻居,影响邻居AS的选路。
  3. 从EBGP邻居得到的路由的MED可以传递给IBGP邻居。
  4. 从IBGP邻居得到的路由传递给EBGP邻居不携带MED。
  5. 从联盟EBGP邻居或联盟内始发的的路由的MED值在整个联盟保持传递。
  6. 只能对本地聚合路由或者重分发的路由信息生效,并且是传递给EBGP对等体时携带,不会影响本地MED值。

MED属性在IBGP和EBGP邻居(包括成员EBGP) in和out方向都可以修改。
如果从EBGP邻居学习到的路由不带MED属性,则传给IBGP邻居时,将MED属性设置0。(华为设备如果从EBGP邻居学到的路由不带MED属性,在传给IBGP邻居时也不携带MED属性)
如果路由是联盟内部的路由,MED属性在整个联盟内部都可以传递。
如果从成员IBGP传递来的路由有MED属性,可以传递给成员EBGP邻居,但不会传给联盟EBGP邻居。

开始配置

# MED数值是由始发路由器继承IGP协议的cost值而定的
# R2上面配置静态路由
[R2]ip route-static 172.168.2.0 24 NULL 0

# 引入静态路由时,修改其MED值
[R2]bgp 234
[R2-bgp]import-route static med 999
[R2-bgp]dis bgp routing-table

#全局修改方式
[r111]default med 100

BGP路由属性
从EBGP邻居得到的路由的MED可以传递给IBGP邻居

# R1上引入静态路由是修改MED值
[R1-bgp]import-route static med 888

在R2上面查看BGP路由表
BGO路由属性
在R4上面查看BGP路由表,BGO路由属性
新的实验:
BGP路由属性

#R7接口配置
<Huawei>system-view
[Huawei]sysname r7
[r7]INT G0/0/0
[r7-GigabitEthernet0/0/0]IP ADD 10.1.79.7 24
[r7-GigabitEthernet0/0/0]int g0/0/1
[r7-GigabitEthernet0/0/1]ip add 10.1.78.7 24
[r7-GigabitEthernet0/0/1]q

#R8接口配置
<Huawei>system-view
[Huawei]sysname R8
[R8]int g0/0/0
[R8-GigabitEthernet0/0/0]ip add 10.1.89.8 24
[R8-GigabitEthernet0/0/0]int g0/0/1
[R8-GigabitEthernet0/0/1]ip add 10.1.78.8 24
[R8-GigabitEthernet0/0/1]q

#R9接口配置
<Huawei>system-view
[Huawei]sysname R9
[R9]int g0/0/0
[R9-GigabitEthernet0/0/0]ip add 10.1.79.9 24
[R9-GigabitEthernet0/0/0]int g0/0/1
[R9-GigabitEthernet0/0/1]ip add 10.1.89.9 24
[R9-GigabitEthernet0/0/1]q

# R7的BGP邻居配置
[r7]bgp 78
[r7-bgp]peer 10.1.79.9 as 9
[r7-bgp]peer 10.1.78.8 as 78
[r7-bgp]dis this
#
bgp 78
	peer 10.1.78.8 as-nunber 78
	peer 10.1.79.9 as-nunber 9
	#
	ipv4-family unicast
	undo synchronization
	peer 10.1.78.8 enable
	peer 10.1.79.9 enable
#
return

# R8的BGP邻居配置
[R8]bgp 78
[R8-bgp]peer 10.1.89.9 as 9
[R8-bgp]peer 10.1.78.7 as 78
[R8-bgp]dis this
#
bgp 78
	peer 10.1.78.7 as-nunber 78
	peer 10.1.89.9 as-nunber 9
	#
	ipv4-family unicast
	undo synchronization
	peer 10.1.78.7 enable
	peer 10.1.89.9 enable
#
return

# R9的BGP邻居配置
[R9]bgp 9
[R9-bgp]peer 10.1.79.7 as 78
[R9-bgp]peer 10.1.89.8 as 78

# R7上添加静态路由
[r7]ip route-static 192.168.1.0 24 NULL 0

# 引入到BGP中,修改MED值为10
[r7]bgp 78
[r7-bgp]import-route static med 10

# R8上添加静态路由
[R8]ip route-static 192.168.1.0 24 NULL 0

# 引入到BGP中,修改MED值为10
[R8]bgp 78
[R8-bgp]import-route static med 20

此时,比较R7与R8上面静态路由的MED值,越小越优,当然是R7上面的最优。
BGP路由属性

此时,R9添加一条静态路由192.168.9.0,想让R7、R8去往192.168.9.0的路由通过R7到R9,使用路由策略分别设置,开始做策略:
BGP里的cost就是MED属性

# R9上添加静态路由
[R9]ip route-static 192.168.9.0 24 NULL 0

[R9]route-policy med-r7 permit node 10
[R9-route-policy]apply cost 50
[R9-route-policy]dis this
#
route-policy med-r7 permit node 10
	apply cost 50
#
return

[R9]route-policy med-r8 permit node 10
[R9-route-policy]apply cost 100
[R9-route-policy]q
[R9]bgp 9
[R9-bgp]dis this
#
bgp 9
	peer 10.1.79.7 as-nunber 78
	peer 10.1.89.8 as-nunber 78
	#
	ipv4-family unicast
	 undo synchronization
	 peer 10.1.79.7 enable
	 peer 10.1.89.8 enable
#
return

#策略方向是从R9出去的,所以是export
[R9]bgp 9
[R9-bgp]peer 10.1.79.7  route-policy med-r7 export
[R9-bgp]peer 10.1.89.8  route-policy med-r8 export

奇怪,这里为什么R8去往9.0网段走的还是89.9,原来是去往9.0网段的下一跳不可达,EBGP路由传进来的时候,下一跳保持不变,使用命令next-hop-local即可。

[r7]bgp 78
[r7-bgp]peer 10.1.78.8 next-hop-local

[R8]bgp 78
[R8-bgp]peer 10.1.78.7 next-hop-local

此时,R8去往192.168.9.0网段走的便是R7的10.1.78.7。
BGP路由属性
实验关键配置
BGP路由属性
总结:BGP首先在策略里面进行属性的修改,然后在进行路由的控制

BGP属性–Community

BGP路由属性
BGP的Community属性分为两类:一类是公认团体属性,另一类是扩展的团体属性。

BGP的Community属性的两个作用:

  1. 限定路由的传播范围,公认团体属性
  2. 打标记,便于对符合相同条件的路由进行统一处理,扩展团体属性

团体属性特点:

  • BGP路由可以同时拥有公认团体属性和扩展团体属性,各自作用不同。
  • 团体属性,作为可选过渡属性,想要传递团体属性必须在BGP邻居之间配置传递团体属性的命令advertise-community。
  • 团体属性的传递好比与挤牙膏,像传给谁,那就给谁挤牙膏peer 邻居IP advertise-community。

IGP的tag,tag 只能打一个,管理能力有限,不能多维度的标识路由。
BGP路由可以拥有多个团体属性,根据管理需求、业务需求等灵活进行路由管理。

公认团体属性,分为4类:

Internet:缺省属性,所有路由都属于Internet,此属性的路由可以通告给所有BGP邻居;

No_Export:收到此属性的路由后,不将该路由发布到其他AS。如图,RTB上希望10.1.11.0/24的路由发布给AS 12之后,不再发布给其他AS,则可将10.1.11.0/24的Community属性设置为No_Export;

No_Advertise:收到此属性的路由后,不将该路由通告给任何其他的BGP邻居。如图,RTB上希望只将10.1.11.0/24的路由发布给RTC,并且不再通告给任何其他的BGP邻居,则可将10.1.11.0/24的Community属性设置为No_Advertise;

No_Export_Subconfed:在联盟中使用,这里不做介绍。联盟内的小AS之间不可传递,联盟之外的大AS也不能传递,No_Export联盟内的小AS之间可传递,联盟之外的大AS不可传递。

注意,当路由存在多个公认团体属性时,传递范围小的生效。

扩展团体属性用

  1. 扩展团体属性用一组4字节为单位的列表来表示;
  2. 路由器中扩展团体属性格式为aa:nn或团体号:aa:nn, 其中,aa通常为AS编号,nn是管理员定义的团体属性标识;
  3. 团体号范围为0-4294967295,在RFC1997中,0-65535与4294901760-4294967295为预留值。
    aa:nn 对应是0-65535:0-65535
# 去掉1.1.1.0网段的路由
[r1]bgp 1
[r1-bgp]undo network 1.1.1.0 24
[r1-bgp]dis this 
#
bgp 1
	peer 10.1.12.2 as-number 234
	#
	ipv4-family unicast
    undo synchronization
    peer 10.1.12.2 enable
#
return

#添加两条静态路由
[r1]ip route-static 192.168.1.0 24 NULL 0
[r1]ip route-static 192.168.2.0 24 NULL 0

# 写一条comm1的策略,扩展团体属性为aa:nn=1:1
[r1]route-policy comm1 permit node 10
[r1-route-policy]apply community 1:1
[r1-route-policy]q

# 写一条comm2的策略,扩展团体属性为aa:nn=1:2
[r1]route-policy comm2 permit node 10
[r1-route-policy]apply community 1:2
[r1-route-policy]q

# 给路由打上团体属性

[r1]bgp 1
[r1-bgp]network 192.168.1.0 24 route-policy comm1
[r1-bgp]network 192.168.2.0 24 route-policy comm2
[r1-bgp]dis this
#
bgp 1
	peer 10.1.12.2 as-nunber 234
	#
	ipv4-family unicast
	undo synchronization
	network 192.168.1.0 route-policy comm1 
	network 192.168.2.0 route-policy comm2
	peer 10.1.12.2 enable
#
return

查看团体属性
BGP路由属性
BGP路由属性
注意,团体属性在没有配置传递命令前,无法传递,配置传递团体属性的命令

advertise-community

[r1-bgp]peer 10.1.12.2 advertise-conmunity
[r1-bgp]dis this
#
bgp 1
	peer 10.1.12.2 as-number 234
	#
	ipv4-family unicast
	 undo synchronization
	 network 192.168.1.0 route-policy comm1 
	 network 192.168.2.0 route-policy comm2
	 peer 10.1.12.2 enable
	 peer 10.1.12.2 advertise-community
#
return

此时,在R2上面查看路由,团体属性传递过来了
BGP路由属性
但是,由于R2、R3、R4之间没有挤牙膏,所以也就导致R3、R4上面团体属性没有显示:
BGP路由属性
接下来,向R3、R4通告团体属性:

# 通告团体属性
[R2-bgp]peer 3.3.3.3 advertise-community
[R2-bgp]peer 4.4.4.4 advertise-community

#手动触发更新
[R2]refresh bgp all export
# 查看R4上面BGP配置信息
[R4]bgp 234
[R4-bgp]dis this
#
bgp 234
	peer 2.2.2.2 as-number 234
	peer 2.2.2.2 connect-interface LoopBack 0
	peer 3.3.3.3 as-number 234
    peer 3.3.3.3 connect-interface LoopBack 0
    peer 10.1.45.5 as-number 5
    #
    ipv4-family unicast
    undo synchronization
    peer 2.2.2.2 enable
    peer 2.2.2.2 next-hop-local
    peer 3.3.3.3 enable
    peer 3.3.3.3 next-hop-local
    peer 10.1.45.5 enable
#
return

#R4对R5通告团体属性
[R4-bgp]peer 10.1.45.5 advertise-comnunity

#手动触发更新
[R4]refresh bgp all export

查看R5的路由信息,收到团体属性
BGP路由属性

# R1添加静态路由172.16.1.0/24,只在AS 1和AS 234之间传递,R5添加静态路由172.16.2.0/24,只在AS 5 和AS 234 之间传递

# 添加静态路由
[r1]ip route-static 172.16.1.0 24 NULL 0 

[r1]route-policy comm3 permit node 10
[r1-route-policy]apply community 1:3 no-export

[r1]bgp 1
[r1-bgp]network 172.16.1.0 24 route-policy comm3

BGP路由属性
这里,使用network命令,对本地路由器也会起作用,导致不会传递给另一个AS的R2,所以团体属性在发布路由的时候,就不能加策略了。

[r1-bgp]network 172.16.1.0 255.255.255.0 
[r1-bgp]dis this
#
bgp 1
	peer 10.1.12.2 as-number 234
	#
	ipv4-family unicast
	undo synchronization
	network 172.16.1.0 255.255.255.0
	network 192.168.1.0 route-policy comm1
	network 192.168.2.0 route-policy comm2
	peer 10.1.12.2 enable
	peer 10.1.12.2 advertise-community
#
return

新的配置

[r1]ip ip-prefix 1 permit 172.16.1.0 24
[r1]route-policy comm3 permit node 10
[r1-route-policy]dis this
#
route-policy comm3 permit node 10
	apply community 1:3 no-export
#
return

[r1-route-policy]if-match ip-prefix 1
[r1-route-policy]dis this
#
route-policy comm3 permit node 10
	if-match ip-prefix 1
	apply community 1:3 no-export
#
return

#其他路由正常发布
[r1]route-policy comm3 permit node 20

#建立邻居的同时,出方向发出去,这样团体属性会进入到AS 234里面
[r1]bgp 1
[r1-bgp]peer 10.1.12.2 route-policy comm3 export
[r1-bgp]dis this
#
bgp 1
	peer 10.1.12.2 as-number 234
	#
	ipv4-family unicast
	undo synchronization
	network 172.16.1.0 255.255.255.0
	network 192.168.1.0 route-policy comm1
	network 192.168.2.0 route-policy comm2
	peer 10.1.12.2 enable
	peer 10.1.12.2 route-policy comm3 export
	peer 10.1.12.2 advertise-comnunity
#
return

但是在R1上面查看是没有团体属性的,R2上面有,因为是IBGP邻居+advertise-community,所以会传给R3、R4。
BGP路由属性
但是,因为no-export属性的缘故,路由传递到AS 234后,不能再传递到其他AS,所以R2、R3、R4上面有172.16.1.0网段路由,但是R5上面不会有此网段。

接下来,在R5上面引入172.16.2.0/24做静态路由,使用no-export + advertise-community + peer,只在AS 234 和 AS 5 之间传递

#引入静态路由
[R5]ip route-static 172.16.2.0 24 NULL 0

#创建匹配、策略
[R5]ip ip-prefix 1 permit 172.16.2.0 24 
[R5]route-policy comm5 permit node 10
[R5-route-policy]if-match ip-prefix 1
[R5-route-policy]apply community 5:1 no-export
[R5-route-policy]q

#其他路由正常放行
[R5]route-policy comm5 permit node 20

#R5上面正常宣告
[R5]bgp 5
[R5-bgp]network 172.16.2.0 24
[R5-bgp]dis this
#
bgp 5
	peer 10.1.45.4 as-number 234
	#
	ipv4-family unicast
	undo synchronization
	network 5.5.5.0 255.255.255.0
	network 172.16.2.0 255.255.255.0
	peer 10.1.45.4 enable
#
return

然后,利用peer应用策略,方向export,记得通告团体属性,牙膏要挤一挤。

[R5-bgp]peer 10.1.45.4 route-policy comm1 export
[R5-bgp]peer 10.1.45.4 advertise-comnunity
[R5-bgp]dis this
#
bgp 5
	peer 10.1.45.4 as-number 234
	#
	ipv4-family unicast
	undo synchronization
	network 5.5.5.0 255.255.255.0
	network 172.16.2.0 255.255.255.0
	peer 10.1.45.4 enable
	peer 10.1.45.4 route policy comm1 export
	peer 10.1.45.4 advertise-community
#
return

R4上面查看路由信息,172.16.2.0传过来了
BGP路由属性
团体属性也传递过来了,也可以传递给IBGP邻居R2、R3
BGP路由属性
感觉差点什么,唉,不对呀,为什么R1这里有172.16.2.0网段呢,原来是R4在把路由传递给R2、R3的时候,没有通告团体属性no-export。

#解决问题
[R4-bgp] peer 2.2.2.2 advertise-community
[R4-bgp] peer 3.3.3.3 advertise-community

#手动刷新
[R4-bgp] refresh bgp all export

此时,在R2上面查看172.16.2.0 的路由信息,团体属性为no-export。
BGP路由属性

华为的BGP私有属性–Preference_Value

BGP路由属性
华为私有属性,也称为协议优先值,Preference_Value相当于BGP选路规则中weight值,权重越大,对应的路由信息优先级越高,仅在本地路由器生效,无法传递给任何BGP邻居,Preference_Value值越大,越优先

[r3]route-policy prefval permit node 10
[r3-route-policy]if-match ip-prefix 1
[r3-route-policy]apply preferred-value 999
[r3-route-policy]q

#其他路由正常接收
[r3]route-policy prefval permit node 20
[r3-route-policy]dis this
#
route-policy prefval permit node 10
	if-match ip-prefix 1
	apply preferred-value 999
#
route-policy prefval permit node 20
#
return

#创建前缀列表
[r3]ip ip-prefix 1 permit 192.168.1.0 24

#在R3上接收来自R4的路由时引用策略
[r3]bgp 234
[r3-bgp]peer 4.4.4.4 route-policy prefval import

最后,R3上面查看BGP路由信息
BGP路由属性

BGP属性–Atomic_aggregate

Atomic_aggregate 属性是用来通告路由接收者,该路由是经过聚合处理的。

相当于一种预警标志,而并不承载任何信息。当路由器收到一条BGP路由更新且发现该条路由携带Atomic_aggregate属性时,他便知道该条路由可能出现了路径属性的丢失,此时该路由器把这条路由再通告给其他对等体时,需保留路由的Atomic_aggregate属性。另外,收到该路由更新的路由器不能将这条路由再度明晰化。

有时候BGP路由器会收到两条重叠的路由,其中一条路由包含的地址是另–条路由的子集。一般情况下 BGP发布者会优选更精细的路由(前者),但是在对外发布时,如果它选择发布更粗略的那条路由(后者),这时需要附加上Atomic_aggregate属性,告知对等体。它实际上是一种警告,因为发布更粗略的路由意味着更精细的路由信息在发布过程中丢失了。在进行路由聚合时,对于聚合的路由信息会添Atomic_aggregate属性。

BGP属性–Aggregator

Aggregator 是作为 Atomic_aggregate 属性的补充。

正如上面所述,Atomic_aggregate属性是一种路由信息丢失的警告,Aggregator属性用于标记路由聚合行为发生在哪个AS以及哪台BGP路由器上,它记录了执行路由聚合的本地AS号和形成聚合路由的BGP发布者的router_id。在进行路由聚合时,当对聚合的路由信息添加Atomic_aggregate属性的同时,也会添加Aggregator属性。

路由反射器相关回顾:在一个AS内,其中一台路由器作为路由反射器RR(Route Reflector),其它路由器作为客户机(Client)。客户机与路由反射器之间建立IBGP连接。路由反射器和它的客户机组成一个集群(Cluster)。路由反射器与客户机之间传递路由信息,客户机之间不需要建立BGP连接。

BGP属性–Originator_ID

Originator_id 用于标识路由反射器,防止集群内产生路由环路。
为了防止引入路由反射器之后出现环路,增加了Originator_ID这个属性来标识反射器,反射器在发布路由时加入Originator_ID,当反射器收到的路由信息中的Originator_ID就是自己的router_id时,认为产生路由环路,将该路由丢弃,不再转发。

BGP属性–Cluster_list

Cluster_list 用于标识路由反射器组,防止集群之间产生环路。

缺省情况下,路由反射器使用自己的router-id作为Cluster_id。

在路由经过路由反射器时,路由反射器会将自己的Cluster_id添加到路由携带的Cluster_list中,当路由反射器发现接收的路由的Cluster_list中包含有自己的Cluster_id,则将该路由丢弃,不再转发。

  • 15
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值