BGP学习-路径属性-实验报告

3 篇文章 0 订阅

1.实验拓扑

1.1拓扑图

1.2拓扑说明

(1)为了在一张图中做出大部分路径属性的效果,设计了这个稍复杂的拓扑。

(2)R2、R3、R4、R5 运行OSPF。全互联运行BGP。为RR实验做准备。

(3)R6与R7,R7与R9运行 EBGP。回环地址互访使用静态路由。

1.3基本配置(部分)

#
interface GigabitEthernet0/0/0
 ip address 10.1.18.1 255.255.255.0 
#
interface GigabitEthernet0/0/2
 ip address 10.1.12.1 255.255.255.0 
#
interface LoopBack0
 ip address 10.1.1.1 255.255.255.255 
#
interface LoopBack1
 ip address 192.168.1.1 255.255.255.255 
#
bgp 100
 router-id 1.1.1.1
 peer 10.1.12.2 as-number 200 
 peer 10.1.18.8 as-number 300 
 #
 ipv4-family unicast
  undo synchronization
  network 10.1.1.1 255.255.255.255 
  network 192.168.1.1 255.255.255.255 
  peer 10.1.12.2 enable
  peer 10.1.18.8 enable

R2:

interface GigabitEthernet0/0/0
 ip address 10.1.23.2 255.255.255.0 
#
interface GigabitEthernet0/0/1
 ip address 10.1.25.2 255.255.255.0 
#
interface GigabitEthernet0/0/2
 ip address 10.1.12.2 255.255.255.0 
#
interface NULL0
#
interface LoopBack0
 ip address 10.1.1.2 255.255.255.255 
#
interface LoopBack1
 ip address 192.168.2.1 255.255.255.255 
#
bgp 200
 router-id 2.2.2.2
 peer 10.1.1.3 as-number 200 
 peer 10.1.1.3 connect-interface LoopBack0
 peer 10.1.1.4 as-number 200 
 peer 10.1.1.4 connect-interface LoopBack0
 peer 10.1.1.5 as-number 200 
 peer 10.1.1.5 connect-interface LoopBack0
 peer 10.1.12.1 as-number 100 
 #
 ipv4-family unicast
  undo synchronization
  network 192.168.4.1 255.255.255.255 
  peer 10.1.1.3 enable
  peer 10.1.1.3 next-hop-local 
  peer 10.1.1.4 enable
  peer 10.1.1.4 next-hop-local 
  peer 10.1.1.5 enable
  peer 10.1.1.5 next-hop-local 
  peer 10.1.12.1 enable
#
ospf 1 
 area 0.0.0.0 
  network 10.1.1.2 0.0.0.0 
  network 10.1.23.2 0.0.0.0 
  network 10.1.25.2 0.0.0.0 

2.路径属性

2.1路径属性分类

序号路径属性属性类别
0Preferred Value协议首选,华为特有
1

Origin

公认必遵
2

AS_Path

公认必遵
3

Next_hop

公认必遵
4

Local_Preference

公认任意

5

Atomic_aggregate

公认任意

6

Aggregator

可选过渡

7

Community

可选过渡

8

MED

可选非过渡

9

Cluster-List

可选非过渡

10Originator-ID

可选非过渡

公认属性:是所有 BGP 路由器都 必须能够识别的属性。
可选属性:不需要都被 BGP 路由器 所识别。
序号属性类别解释
1公认必必须包括在每个Update消息里。
2公认任意可能包括在某些Update消息里。
3可选过渡BGP设备不识别此类属性依然会接受该类属性并通告给其他对等体。
4可选非过渡BGP设备不识别此类属性会忽略该属性,且不会通告给其他对等体。

2.2 AS_Path

AS_Path:为公认必遵属性,是前往目标网络的路由经过的AS号列表;
作用:(1)确保路由在EBGP对等体之间传递无环;(2)另外也作为路由优选的衡量标准之一;
传递原则:(1)路由在被通告给EBGP对等体时,路由器会在该路由的AS_Path中追加上本地的AS号;(2)路由被通告给IBGP对等体时,AS_Path不会发生改变。

2.2.1 防环验证

在R8上查看去往192.168.1.1(R1)的BGP路由表,下一跳为10.1.68.6的路由as path为100-->200-->400。因为此条路由没有优选,所以R8不会将此条目传给R1。

我们现在将下一跳为10.1.18.1的路由过滤掉,使下一跳为10.1.68.6的优选。

抓包查看报文: R8将update报文发给了R1

在R1上查看,并不会将路由放入bgp路由表,因为AS_Path里包含R1所在的AS 100。

2.2.2 AS_Path路由优选

去往同一个网段的BGP路由,在其他条件相同的情况下,会优选AS_Path属性值较短,也即AS号的个数更少的路由。

在R6上查看去往192.168.1.1的bgp路由,R6优选了去往R4的路由,这里AS_Path长度一样,R4的route id(4.4.4.4)比R8(8.8.8.8)的小。

给去往R4的路由增加AS_Path属性:

重新查看:R6优选了去往R8的路由,去往R8的路径短。

2.2.3 AS_Path类型

 AS_SEQENCE:表示AS_Path内的AS号是一个有序的列表,默认情况下AS_Path为该类型。

AS_SET: 对来源与多个AS的路由进行聚合,并添加 AS_SET关键字,AS_Path包含多个AS的AS号。

在R6上对192.168.1.1、192.168.2.1、192.168.8.1进行路由汇总,设置as-set类型:

R6上查看:

R10上查看:

 2.2.4 修改AS_Path的3种方式

序号方式修改方法描述
1additive

apply as-path XXX additive

原有AS_Path追加
2overwrite

apply as-path XXX overwrite

将已有AS_Path值替换成新的

3none overwrite

apply as-path none overwrite

将已有AS_Path的值清空

2.3 Origin

Origin: 该属性为公认必遵属性,它标识了 BGP 路由的起源。
优先级: 当去往同一个目的地存在多条不同 Origin 属性的路由时,在其他条件都相同的情况下, BGP 将按如 Origin 的下顺序优选路由: IGP > EGP > Incomplete

起源名称

标记

描述

IGP

i

如果路由是由始发的BGP路由器使用network命令注入到BGP的,那么该BGP路由的Origin属性为IGP

EGP

e

如果路由是通过EGP学习到的,那么该BGP路由的Origin属性为EGP

Incomplete

?

如果路由是通过其他方式学习到的,则Origin属性为Incomplete(不完整的)。例如通过import-route命令引入到BGP的路由

R6上查看当前去往192.168.1.1的BGP路由表,优选路由为去往R4的,因为R4 router id比R8小。
在R6上将到192.168.1.1的路由Origin属性改为e:
查看当前路由情况,此时优选了去往R8的,因为R8的路由标记为i,R4的为e。
在R1上将192.168.1.1路由通过import引入:

 查看R1路由,通过network引入的被优选。

2.4 Next_Hop

Next_Hop:该属性是一个公认必遵属性,用于指定到达目标网络的下一跳地址。

当路由器学习到BGP路由后,需对BGP路由的Next_Hop属性值进行检查,该属性值(IP地址)必须在本地路由可达,如果不可达,则这条BGP路由不可用。

缺省Next_Hop属性值的设置规则:

(1)路由器将BGP路由通告给自己的EBGP对等体时,将该路由的Next_Hop设置为自己的更新源IP地址。

R8的BGP对等体都是eBGP对等体,下一跳属性为更新的源地址。

(2)路由器在收到EBGP对等体所通告的BGP路由后,在将路由传递给自己的IBGP对等体时,会保持路由的Next_Hop属性值不变。

R6与R7为iBGP对等体关系,R6去掉next-hop-local:

查看R7,R6方向的路由,下一条是R8上的接口地址,R6默认未对next hop进行修改。此时路由无效因为下一跳地址不可达。

(3)如果路由器收到某条BGP路由,该路由的Next_Hop属性值与EBGP对等体(更新对象)同属一个网段,那么该条路由的Next_Hop地址将保持不变并传递给它的BGP对等体。

R7、R10、R11采用交换机互联(MA网络)。R7和R10为eBGP对等体,R10和R11为iBGP对等体。(R7和R11未建立BGP对等体)。

R11将去往10.1.1.11的路由发送给R10,R10再发送给R7。

R10上查看路由:下一跳为10.1.107.11

 R7上查看路由:下一跳还是10.1.107.11,并没有改成10.1.107.10。

 这样做的目的是当数据通过R7访问R11的时候,无需通过R10。在R7上的下一跳为R11,数据包直接发往R11,使路径最优。

2.5 Local_Preference

Local_Preference:即本地优先级属性,是公认任意属性,可以用于告诉AS中的路由器,哪条路径是离开本AS的首选路径。

优先选择:Local_Preference属性值越大则BGP路由越优。缺省的Local_Preference值为100。

传递情况:该属性只能传递给IBGP对等体,而不能传递给EBGP对等体。

Local_Preference注意事项:

(1)Local_Preference属性只能在IBGP对等体间传递(除非做了策略否则Local_Preference值在IBGP对等体间传递过程中不会丢失),而不能在EBGP对等体间传递,如果在EBGP对等体间收到的路由的路径属性中携带了Local_Preference,则会进行错误处理。

R1传给R2的Update报文:不携带Local_Preference。

R2传给R3的Update报文:携带Local_Preference,默认为100。

(2)可以在AS边界路由器上使用Import方向的策略来修改Local_Preference属性值。也就是在收到路由之后,在本地为路由赋予Local_Preference。

R6上去往192.168.1.1的路由优选R4方向:

通过路由策略修改lp值:

重新查看路由:lp 为400的优先。

(3)使用bgp default local-preference命令修改缺省Local_Preference值,该值缺省为100

在R3上查看bgp路由:所有路由lp值都是100。

 在R2上进行默认值的修改:

在R3上重新查看bgp路由:来自于R2的路由lp值都改成了150。

 

2.6 Community

Community(团体):为可选过渡属性,是一种路由标记,用于简化路由策略的执行。

可以将某些路由分配一个特定的Community属性值,之后就可以基于Community值而不是网络前缀/掩码信息来匹配路由并执行相应的策略了。

2.6.1 私有属性

属性格式:Community属性值长度为32bit,也就是4Byte。可使用两种形式呈现:

(1)十进制整数格式。(2)AANN格式,其中AA表示AS号,NN是自定义的编号。

R1上设置发给R8的192.168.1.1路由设置Community属性:

R8查看:

 设置R8对R6发送community属性:

R6查看:

在R6上设置携带100:10团体属性的优先级高。

 2.6.2 公有属性

团体属性名称

团体属性号

说明

Internet


0(0x00000000)

设备在收到具有此属性的路由后,可以向任何BGP对等体发送该路由。缺省情况下,所有的路由都属于Internet团体

No_Advertise

42949670420xFFFFFF02

设备收到具有此属性的路由后,将不向任何BGP对等体发送该路由

No_Export

42949670410xFFFFFF01

设备收到具有此属性的路由后,将不向AS外发送该路由

No_Export_Subconfed

42949670430xFFFFFF03

设备收到具有此属性的路由后,将不向AS外发送该路由,也不向AS内其他子AS发布此路由

 (1)Internet:

R1:设置属性为Internet:

R8:

R6:

(2)No_Advertise

R1:

R2:收到路由,不再传递

R6:R8方向的路由消失。

(3)No_Export

R1:

R4:R2传给了R4(iBGP),AS内传送。

R6:192.168.1.1路由消失,R4和R8都未传送过来。

(4)No_Export_Subconfed

这里没做出和No_Export的区别,没有配置所谓的子AS。

R1:

R4:AS内还是传播的。

2.7 MED

MEDMulti-Exit Discriminator ,多出口鉴别器):是可选非过渡属性,是一种度量值,用于向外部对等体指出进入本 AS 的首选路径,即当进入本 AS 的入口有多个时, AS 可以使用 MED 动态地影响其他 AS 选择进入的路径。
优先级: MED 属性值越小则 BGP 路由越优。
传递情况: MED 主要用于在 AS 之间影响 BGP 的选路。 MED 被传递给 EBGP 对等体后,对等体在其 AS 内传递路由时,携带该 MED 值,但将路由再次传递给其 EBGP 对等体时,缺省不会携带 MED 属性。
注意事项:
1、缺省情况下,路由器只比较来自同一相邻ASBGP路由的MED值,也就是说如果去往同一个目的地的两条路由来自不同的相邻AS,则不进行MED值的比较。
在R7上将192.168.7.1通过network引入bgp,R8上有两条路由,优选去往R6的(R6比R9 router id小):
在R6上设置发送给R8 192.168.7.1的cost值为10:
在R9上设置发送给R8 192.168.7.1的cost值为20:
查看R8的路由:优选了R9方向的路由(MED小的)
R1上查看,优选R2方向路由:

        在R2和R8上分别将发往R1的路由设置MED 40、30,查看R1:可以看到MED值,但是没有对比,依然优选R2方向。

2、如果该BGP路由是本地始发(本地通过networkimport-route命令引入)的,则缺省携带MED属性发送给EBGP对等体。
R8上查看192.168.1.1的路由,包含MED值0(此条路由在R1上引入的直连地址cost为0)。 如果路由器将本地直连、静态路由通过 network import-route 的方式引入 BGP ,那么这条 BGP 路由的 MED 0 ,因为直连、静态路由 cost 0
3、如果该BGP路由为从BGP对等体学习到,那么该路由传递给EBGP对等体时缺省不会携带MED属性。
如果路由器通过 BGP 学习到其他对等体传递过来的路由,那么将路由更新给自己的 EBGP 对等体时,默认是不携带 MED 的。这就是所谓的:“ MED 不会跨 AS 传递”。
上面的实验中,R8通过R6和R9学习的路由携带了MED属性。但是并没有将MED属性传递给R1。

4、IBGP对等体之间传递路由时,MED值会被保留并传递,除非部署了策略,否则MED值在传递过程中不发生改变也不会丢失。
R4上去往192.168.1.1的路由来自于R2(R2来自于R1),保留了MED:

    5、如果路由器通过IGP学习到一条路由,并通过network或import-route的方式将路由引入BGP,产生的BGP路由的MED值继承路由在IGP中的metric。

在R4的ospf中声明192.168.4.1网段,在R2中引入BGP:可见MED值为2。R2到R4的cost值为2。

在R1查看:

6、可以使用default med命令修改缺省的MED值,default med命令只对本设备上用import-route命令引入的路由和BGP的聚合路由生效。

R2:

R1:携带MED 22

2.8 Atomic_AggregateAggregator

Atomic_Aggregate属于公认任意属性。

Aggregator属于可选过渡属性。

在R7上对192.168.X.X的路由进行聚合:

Aggregator属性记录了聚合设备的AS号、Router IDAtomic-Aggregate属性标明该路由为聚合路由。

2.9 Preferred-Value

 Preferred-Value(协议首选值):是华为设备的特有属性,该属性仅在本地有效。当BGP路由表中存在到相同目的地的路由时,将优先选择Preferred-Value值高的路由。

取值范围:0~65535;值越大,路由越优先。

注意事项:Preferred-Value只能在路由器本地配置,而且只影响本设备的路由优选。该属性不会传递给任何BGP对等体。

R8上查看去往192.168.7.1的路由:当前优选的去往R9的。

 下面通过修改Preferred-Value,使去往R6的优先:

重新查看:优选了prefVal大的。这里也能看出PreVal优先级比MED高。PerVal为协议首选值。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值