边界网关协议BGP实践课(7)—AS_Path属性

概述

学习边界网关协议BGP的关键在于如何理解和应用协议的“属性”,因此,本期文章将向小伙伴总结分享BGP的第三个属性——AS_Path属性。

BGP组网案例-AS_Path属性

组网拓扑图

组网拓扑图和地址规划如下图所示。

备注:模拟器采用HCL 5.5.0

组网设备基础配置

组网设备基础配置主要涉及设备命名和接口IP地址配置。

#SW_1设备基础配置

[H3C]sysname SW_1

[SW_1]interface LoopBack0

[SW_1-LoopBack0] ip address 10.10.0.1 255.255.255.255

[SW_1-LoopBack0]quit

[SW_1]interface LoopBack1

[SW_1-LoopBack1] ip address 192.168.10.1 255.255.255.255

[SW_1-LoopBack1]#

[SW_1-LoopBack1]interface LoopBack2

[SW_1-LoopBack2] ip address 192.168.10.2 255.255.255.255

[SW_1-LoopBack2]#

[SW_1]interface GigabitEthernet1/0/2

[SW_1-GigabitEthernet1/0/2] port link-mode route

[SW_1-GigabitEthernet1/0/2] ip address 10.10.12.1 255.255.255.252

[SW_1-GigabitEthernet1/0/2]quit

#SW_2设备基础配置

[H3C]sysname SW_2

[SW_2]interface LoopBack0

[SW_2-LoopBack0] ip address 10.20.0.1 255.255.255.255

[SW_2-LoopBack0]quit

[SW_2]interface GigabitEthernet1/0/2

[SW_2-GigabitEthernet1/0/2] port link-mode route

[SW_2-GigabitEthernet1/0/2] ip address 10.10.12.2 255.255.255.252

[SW_2-GigabitEthernet1/0/2]quit

[SW_2]interface GigabitEthernet1/0/3

[SW_2-GigabitEthernet1/0/3] port link-mode route

[SW_2-GigabitEthernet1/0/3] ip address 10.20.23.1 255.255.255.252

[SW_2-GigabitEthernet1/0/3]quit

#SW_3设备基础配置

[H3C]sysname SW_3

[SW_3]interface LoopBack0

[SW_3-LoopBack0]ip address 10.30.0.1 255.255.255.255

[SW_3-LoopBack0]quit

[SW_3]interface GigabitEthernet1/0/3

[SW_3-GigabitEthernet1/0/3] port link-mode route

[SW_3-GigabitEthernet1/0/3] ip address 10.20.23.2 255.255.255.252

[SW_3-GigabitEthernet1/0/3]quit

[SW_3]interface GigabitEthernet1/0/4

[SW_3-GigabitEthernet1/0/4] port link-mode route

[SW_3-GigabitEthernet1/0/4] ip address 10.30.34.1 255.255.255.252

[SW_3-GigabitEthernet1/0/4]quit

[SW_3]

#SW_4设备基础配置

[H3C]sysname SW_4

[SW_4]interface LoopBack0

[SW_4-LoopBack0] ip address 10.40.0.1 255.255.255.255

[SW_4-LoopBack0]quit

[SW_4]interface GigabitEthernet1/0/4

[SW_4-GigabitEthernet1/0/4] port link-mode route

[SW_4-GigabitEthernet1/0/4] ip address 10.30.34.2 255.255.255.252

[SW_4-GigabitEthernet1/0/4]quit

[SW_4]

组网设备BGP配置

#SW_1设备BGP配置

[SW_1]bgp 10

[SW_1-bgp-default] router-id 10.10.0.1

[SW_1-bgp-default] peer 10.10.12.2 as-number 20

[SW_1-bgp-default] address-family ipv4 unicast

[SW_1-bgp-default-ipv4] network 192.168.10.1 255.255.255.255

[SW_1-bgp-default-ipv4] network 192.168.10.2 255.255.255.255

[SW_1-bgp-default-ipv4] peer 10.10.12.2 enable

[SW_1-bgp-default-ipv4]quit

[SW_1-bgp-default]quit

[SW_1]save f

Validating file. Please wait...

Saved the current configuration to mainboard device successfully.

[SW_1]

#SW_2设备BGP配置

[SW_2]bgp 20

[SW_2-bgp-default] router-id 10.20.0.1

[SW_2-bgp-default] peer 10.10.12.1 as-number 10

[SW_2-bgp-default] peer 10.20.23.2 as-number 30

[SW_2-bgp-default] address-family ipv4 unicast

[SW_2-bgp-default-ipv4] peer 10.10.12.1 enable

[SW_2-bgp-default-ipv4] peer 10.20.23.2 enable

[SW_2-bgp-default-ipv4]quit

[SW_2-bgp-default]quit

[SW_2]save f

Validating file. Please wait...

Saved the current configuration to mainboard device successfully.

[SW_2]

#SW_3设备BGP配置

[SW_3]bgp 30

[SW_3-bgp-default] router-id 10.30.0.1

[SW_3-bgp-default] peer 10.20.23.1 as-number 20

[SW_3-bgp-default] peer 10.30.34.2 as-number 40

[SW_3-bgp-default] address-family ipv4 unicast

[SW_3-bgp-default-ipv4] peer 10.20.23.1 enable

[SW_3-bgp-default-ipv4] peer 10.30.34.2 enable

[SW_3-bgp-default-ipv4]quit

[SW_3-bgp-default]quit

[SW_3]save f

Validating file. Please wait...

Saved the current configuration to mainboard device successfully.

[SW_3]

#SW_4设备BGP配置

[SW_4]bgp 40

[SW_4-bgp-default] router-id 10.40.0.1

[SW_4-bgp-default] peer 10.30.34.1 as-number 30

[SW_4-bgp-default] address-family ipv4 unicast

[SW_4-bgp-default-ipv4] peer 10.30.34.1 enable

[SW_4-bgp-default-ipv4]quit

[SW_4-bgp-default]quit

[SW_4]save f

Validating file. Please wait...

Saved the current configuration to mainboard device successfully.

[SW_4]

查看SW_4设备BGP路由表

从SW_4设备BGP路由表可得知:它学习到了两条路由条目,并且,两条路由的AS_PATH均为“30 20 10”。因此,它要到达这个两个目的地,则需要经过AS30、AS20和AS10才能到达。

此处,AS_PATH是有序的,它的类型被称为:AS_SEQENCE。它是到目的地的路径上所经过的AS号的有序集合,按照顺序记录了路由经过的所有AS。

修改SW_3设备的BGP配置

修改SW_3设备的BGP配置-detail-suppressed

在SW_3设备上,配置手动聚合,将192.168.10.1/32和192.168.10.2/32两条明细路由聚合成192.168.0.0/16,并且只将这条聚合路由通告给SW_4

[SW_3]bgp 30

[SW_3-bgp-default]address-family ipv4 unicast

#detail-suppressed关键字代表SW_3只会向SW_4发送聚合路由

[SW_3-bgp-default-ipv4]aggregate 192.168.0.0 16 detail-suppressed

完成上述配置后,分别查看SW_3和SW_4的BGP路由表,如下图所示;

SW_3设备学习到两条明细路由条目,并且该明细路由都存在“小写s”标识符(用于标识SW_3设备阻止该明细路由通告给SW_4),两条路由条目的AS_PATH是一样的(20 10)。然而,SW_3设备生成的聚合路由192.168.0.0/16,它的AS_PATH是

从SW_4设备仅从SW_3设备上学习到聚合路由192.168.0.0/16,并且其AS_PATH只剩下30。

产生这种现象的原因是:在SW_3设备上,该聚合路由192.168.0.0/16的AS_PATH是,当SW_3设备将聚合路由发送给SW_4时,也就仅携带了自身的AS号。

SW_2和SW_4之间建立EBGP关系-路由环路

SW_2和SW_4之间增加建立EBGP关系,组网拓扑如下图所示;

# SW_2设备增加的配置

[SW_2]interface GigabitEthernet1/0/14

[SW_2-GigabitEthernet1/0/14] port link-mode route

[SW_2-GigabitEthernet1/0/14] ip address 10.20.24.1 255.255.255.252

[SW_2-GigabitEthernet1/0/14]quit

[SW_2]

[SW_2]bgp 20

[SW_2-bgp-default] peer 10.20.24.2 as-number 40

[SW_2-bgp-default]address-family ipv4 unicast

[SW_2-bgp-default-ipv4]peer 10.20.24.2 enable

[SW_2-bgp-default-ipv4]

# SW_4设备增加的配置

[SW_4]interface GigabitEthernet1/0/14

[SW_4-GigabitEthernet1/0/14] port link-mode route

[SW_4-GigabitEthernet1/0/14] ip address 10.20.24.2 255.255.255.252

[SW_4-GigabitEthernet1/0/14]quit

[SW_4]bgp 40

[SW_4-bgp-default]peer 10.20.24.1 as-number 20

[SW_4-bgp-default]address-family ipv4 unicast

[SW_4-bgp-default-ipv4]peer 10.20.24.1 enable

[SW_4-bgp-default-ipv4]

完成上述配置后,分别查看SW_2、SW_3和SW_4的BGP路由表,如下图所示;

SW_2设备分别从SW_3和SW_4设备学习到了聚合路由192.168.0.0/16

SW_3设备分别从SW_2和SW_4设备学习到了两条明细路由192.168.10.1/32和192.168.10.2/32;

SW_4设备从SW_2设备学习到了两条明细路由192.168.10.1/32、192.168.10.2/32和一条聚合路由192.168.0.0/16

SW_4设备从SW_3设备学习到一条聚合路由192.168.0.0/16;

小节:综合查看SW_2和SW_4设备BGP路由表发现,对于聚合路由192.168.0.0/16,两台设备形成了路由环路

EBGP本身依赖AS_PATH来进防止路由环路,然而,在上述的路由聚合场景下,导致路由环路的产生,那么应该如何解决这个问题呢?

修改SW_3设备的BGP配置-detail-suppressed as-set

[SW_3]bgp 30

[SW_3-bgp-default]address-family ipv4 unicast

#detail-suppressed关键字代表SW_3只会向SW_4发送聚合路由

#as-set关键字代表SW_3设备生成的聚合路由含有与明细路由一样的AS_PATH

[SW_3-bgp-default-ipv4]aggregate 192.168.0.0 16 detail-suppressed as-set

完成上述配置后,分别查看SW_2、SW_3和SW_4的BGP路由表,如下图所示;

SW_2设备仅从SW_1设备学习到两条明细路由,无聚合路由条目;

SW_3设备生成的聚合路由192.168.0.0/16,它的AS_PATH是20 10。

SW_3设备又从SW_4设备学习到明细路由192.168.10.1/32和192.168.10.2/32。

备注:此时参与聚合的路由具有相同的AS_Sequence,则聚合后路由的AS_Sequence中也包含参与聚合路由的AS_Sequence,并且此时AS_Set为空。

SW_4设备从SW_3设备学习到聚合路由192.168.0.0/16,并且其AS_PATH是30 20 10

SW_4设备从SW_2设备学习到明细路由192.168.10.1/32和192.168.10.2/32。

小节:SW_3设备配置聚合路由并添加detail-suppressed as-set配置后,解决聚合路由而产生地路由环路

删除SW_2和SW_4之间的链路、增加SW_5设备

删除SW_2和SW_4之间的链路、增加SW_5设备后的组网拓扑,如下图所示;

# SW_2设备增加的配置

[SW_2]interface GigabitEthernet1/0/5

[SW_2-GigabitEthernet1/0/5] port link-mode route

[SW_2-GigabitEthernet1/0/5] ip address 10.20.25.1 255.255.255.252

[SW_2-GigabitEthernet1/0/5]quit

[SW_2]bgp 20

[SW_2-bgp-default]peer 10.20.25.2 as-number 50

[SW_2-bgp-default]address-family ipv4 unicast

[SW_2-bgp-default-ipv4]peer 10.20.25.2 enable

[SW_2-bgp-default-ipv4]quit

[SW_2-bgp-default]quit

[SW_2]

# SW_5设备增加的配置

[SW_5]interface LoopBack0

[SW_5-LoopBack0] ip address 10.50.0.1 255.255.255.255

[SW_5-LoopBack0]#

[SW_5-LoopBack0]interface LoopBack1

[SW_5-LoopBack1] ip address 192.168.50.1 255.255.255.255

[SW_5-LoopBack1]#

[SW_5-LoopBack1]interface LoopBack2

[SW_5-LoopBack2] ip address 192.168.50.2 255.255.255.255

[SW_5-LoopBack2]#

[SW_5-LoopBack2]interface GigabitEthernet1/0/5

[SW_5-GigabitEthernet1/0/5] port link-mode route

[SW_5-GigabitEthernet1/0/5] ip address 10.20.25.2 255.255.255.252

[SW_5-GigabitEthernet1/0/5]#

[SW_5-GigabitEthernet1/0/5]bgp 50

[SW_5-bgp-default] router-id 10.50.0.1

[SW_5-bgp-default] peer 10.20.25.1 as-number 20

[SW_5-bgp-default] #

[SW_5-bgp-default] address-family ipv4 unicast

[SW_5-bgp-default-ipv4] network 192.168.50.1 255.255.255.255

[SW_5-bgp-default-ipv4] network 192.168.50.2 255.255.255.255

[SW_5-bgp-default-ipv4] peer 10.20.25.1 enable

[SW_5-bgp-default-ipv4]quit

[SW_5-bgp-default]quit

[SW_5]

完成上述配置后,分别查看SW_3和SW_4的BGP路由表,如下图所示;

SW_3设备学习到四条明细路由条目,并且四条明细路由都存在“小写s”标识符(用于标识SW_3设备阻止该明细路由通告给SW_4)。其中,两条明细路由条目的AS_PATH是一样的(20 10),另外两条明细路由条目的AS_PATH是一样的(20 50)。SW_3设备生成的聚合路由192.168.0.0/16,它的AS_PATH是20 {10 50}

备注:此时参与聚合的路由具有不同的AS_Sequence,则聚合后这些AS_Sequence中包含的AS号都会进入AS_Set,即由“{}”标识的10和50。

此种AS_Path类型被称为AS_Set:它是到目的地的路径上所经过的AS号的无序集合。AS_Set通常用在路由聚合的场景。

SW_4设备仅从SW_3设备学习到聚合路由192.168.0.0/16,并且其AS_PATH是30 20 {10 50}

注意:AS_SET类型的AS_PATH在设备上都是用“{}”符号表示,并且在BGP路由选路中,所有AS_SET类型的AS_PATH都算作长度1。.例如:“30 20 {10 50}”在选路中AS_PATH长度算做3。.

联盟中的AS_PATH类型

将AS10、AS20、AS30和AS50作为子AS加入BGP联盟中,联盟AS号是100,组网拓扑如下图所示;

# SW_1设备BGP配置

[SW_1]bgp 10

[SW_1-bgp-default] confederation id 100

[SW_1-bgp-default] confederation peer-as 20 30 50

[SW_1-bgp-default] router-id 10.10.0.1

[SW_1-bgp-default] peer 10.10.12.2 as-number 20

[SW_1-bgp-default] #

[SW_1-bgp-default] address-family ipv4 unicast

[SW_1-bgp-default-ipv4] network 192.168.10.1 255.255.255.255

[SW_1-bgp-default-ipv4] network 192.168.10.2 255.255.255.255

[SW_1-bgp-default-ipv4] peer 10.10.12.2 enable

[SW_1-bgp-default-ipv4]quit

[SW_1-bgp-default]quit

[SW_1]

# SW_2设备BGP配置

[SW_2]bgp 20

[SW_2-bgp-default] confederation id 100

[SW_2-bgp-default] confederation peer-as 10 30 50

[SW_2-bgp-default] router-id 10.20.0.1

[SW_2-bgp-default] peer 10.10.12.1 as-number 10

[SW_2-bgp-default] peer 10.20.23.2 as-number 30

[SW_2-bgp-default] peer 10.20.25.2 as-number 50

[SW_2-bgp-default] #

[SW_2-bgp-default] address-family ipv4 unicast

#配置聚合路由

[SW_2-bgp-default-ipv4] aggregate 192.168.0.0 255.255.0.0 detail-suppres as-set

[SW_2-bgp-default-ipv4] peer 10.10.12.1 enable

[SW_2-bgp-default-ipv4] peer 10.10.12.1 next-hop-local

[SW_2-bgp-default-ipv4] peer 10.20.23.2 enable

[SW_2-bgp-default-ipv4] peer 10.20.23.2 next-hop-local

[SW_2-bgp-default-ipv4] peer 10.20.25.2 enable

[SW_2-bgp-default-ipv4] peer 10.20.25.2 next-hop-local

[SW_2-bgp-default-ipv4]quit

[SW_2-bgp-default]quit

[SW_2]

# SW_3设备BGP配置

[SW_3]bgp 30

[SW_3-bgp-default] confederation id 100

[SW_3-bgp-default] confederation peer-as 10 20 50

[SW_3-bgp-default] router-id 10.30.0.1

[SW_3-bgp-default] peer 10.20.23.1 as-number 20

[SW_3-bgp-default] peer 10.30.34.2 as-number 40

[SW_3-bgp-default] #

[SW_3-bgp-default] address-family ipv4 unicast

[SW_3-bgp-default-ipv4] peer 10.20.23.1 enable

[SW_3-bgp-default-ipv4] peer 10.30.34.2 enable

[SW_3-bgp-default-ipv4]quit

[SW_3-bgp-default]quit

[SW_3]

# SW_4设备BGP配置

[SW_4]bgp 40

[SW_4-bgp-default] router-id 10.40.0.1

[SW_4-bgp-default] peer 10.30.34.1 as-number 100

[SW_4-bgp-default] #

[SW_4-bgp-default] address-family ipv4 unicast

[SW_4-bgp-default-ipv4] peer 10.30.34.1 enable

[SW_4-bgp-default-ipv4]quit

[SW_4-bgp-default]quit

[SW_4]

# SW_5设备BGP配置

[SW_5]bgp 50

[SW_5-bgp-default] confederation id 100

[SW_5-bgp-default] confederation peer-as 10 20 30

[SW_5-bgp-default] router-id 10.50.0.1

[SW_5-bgp-default] peer 10.20.25.1 as-number 20

[SW_5-bgp-default] #

[SW_5-bgp-default] address-family ipv4 unicast

[SW_5-bgp-default-ipv4] network 192.168.50.1 255.255.255.255

[SW_5-bgp-default-ipv4] network 192.168.50.2 255.255.255.255

[SW_5-bgp-default-ipv4] peer 10.20.25.1 enable

[SW_5-bgp-default-ipv4]quit

[SW_5-bgp-default]quit

[SW_5]

完成上述配置后,分别查看SW_2、SW_3、SW_4、SW_1和SW_5设备的BGP路由表,如下图所示;

SW_2设备从SW_1设备学习到两条明细路由,其AS_PATH是(10),并且该路由被标识了“小写s”;

SW_2设备从SW_5设备学习到两条明细路由,其AS_PATH是(50),并且该路由被标识了“小写s”;

SW_2设备生成的聚合路由192.168.0.0/16,它的AS_PATH居然是[10 50];

AS_PATH标识“()”属于AS_Confed_Sequence类型,它是联盟内子AS的一个有序集合。

AS_PATH标识“[]”属于AS_Confed_Set类型,它是是联盟内子AS的一个无序集合,主要用在联盟内路由聚合的场景。

标识了“小写s”的明细路由,说明SW_2设备阻止通告该路由给其它设备。对比查看SW_1和SW_5设备的BGP路由,即可发现它们未学习到对方的明细路由。

SW_2设备仅把聚合路由192.168.0.0/16通告给SW_3。SW_3设备学习到了该聚合路由,该聚合路由的AS_PATH是(20)[10 50]。

SW_4设备从SW_3设备学习到聚合路由,聚合路由的AS_PATH是100;

联盟子AS号是不会传到联盟之外,因此,在SW_4上,这条聚合路由的AS_PATH只有100。

注意:AS_CONFED_SEQUENCE类型的AS_PATH和AS_CONFED_SET类型的AS_PATH均只是为了防止路由环路而存在,在BGP选路中,不作为AS_PATH长度考虑在内。

SW_1设备未学习到SW_5设备的明细路由;

SW_5设备也未学习到SW_1设备的明细路由;

总结

本期文章,通过不同的组网拓扑,向各位小伙总结分享了AS_Path属性中的四种类型,它们分别是AS_Sequence、AS_Set、AS_Confed_Sequence和AS_Confed_Set,它们具体含义是:

AS_Sequence:它是到目的地的路径上所经过的AS号的有序集合,按照顺序记录了路由经过的所有AS;

AS_Set:它是到目的地的路径上所经过的AS号的无序集合。AS_Set通常用在路由聚合的场景;

AS_Confed_Sequence:是联盟内子AS的一个有序集合;

AS_Confed_Set:是联盟内子AS的一个无序集合,主要用在联盟内路由聚合的场景。

展开阅读全文

页面更新:2024-03-07

标签:环路   拓扑   条目   明细   网关   路由   边界   标识   属性   协议   类型   基础   设备   联盟

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top