BGP community属性
BGP属性及选路原则

BGP属性及选路原则BGP公认强制属性:1.AS路径(AS-path,编码为2),2,下⼀跳(next-hop,编码为3),3.源头(origin,编码 1)公认⾃由决定的属性:1.本地优先级(local preference 5)2.原⼦聚合(atomic aggregate 6)可选传递属性:聚合体(aggregator 7)共同体(community 8,cisco定义)可选⾮传递属性:1多出⼝鉴别器(multi-exit-discriminator MED,编码为4)AS路径属性:确保⽆环路环境,仅当路由器将路由通告给EBGP邻居是才修改路径属性加上⾃⼰的AS 号,通告给IBGP邻居是不会修改路径属性。
下⼀跳属性:是公认强制属性,指出前往⽬的地的下⼀跳ip地址,EBGP的下⼀跳是发送更新的邻居路由器的ip地址,igp的跳是路由器,⽽BGP的跳是AS,指下⼀个AS的⼊⼝ip地址。
BGP规定,EBGP通告的下⼀跳应传输到IBGP 中在多路访问⽹络中,运⾏BGP时,BGP路由器将使⽤合适的地址作为下⼀跳地址,(通过修还下⼀跳属性)。
以避免在⽹络中插⼊额外的跳,这种特性优势被称为第三⽅下⼀跳。
(third-party next hop源头,是公认强制属性,它定义路径信息的源头,源头属性可以是下列3个值之⼀:IGP:路由在起始AS中,⽤network通告BGP消息,源头在BGP表中⽤I标识EGP :在bgp表中⽤e标识,过时的路由选择协议,在Internet中不⽀持,⽀持分类路由选择,不⽀持CIDR不完全:路由的源头未知或通过其他⽅法获得,咱BGP表中通常⽤?标志本地优先级:是公认⾃由选择的属性他告诉AS中路由器。
那条路径是离开AS的⾸选路径本地优先级越⾼,路径被选中的可能性越⾼。
本地优先级是在路由器上配置的⼀种属性,只在同⼀个AS中的路由器之间交换。
Cisco路由器默认本地优先级值为100.共同体(团体):BGP 共同体是⽤于过滤⼊站、出站路由的⼀种⽅式。
BGPCommunity属性解释

BGPCommunity属性解释BGP Community属性解释1.Origin Code属性:属性种类:公认强制,指出了该路由条目的来源是什么。
有如下几种来源:1)Code= i:是在IGP的RIB中存在,并通过network命令宣告进BGP进程中的;2)Code= e:从EGP协议中获悉的;3)Code=?:Incomplete ,从其他手段获取的,如重分布Redistribute进 BGP进程中的~~~2.AS_Path属性:属性种类:公认强制,默认包含了一个有序的AS号列表(AS_SEQUENCE),描述了到达该网络所经过的所有AS有哪些。
请注意,只有将网络条目通告给EBGP邻居时,才将本地AS号加入到这个AS_Path属性中;如果只是通告给IBGP邻居,是不会增加任何AS号到AS_Path中滴~这个AS_Path有如下两个作用:1)让BGP进程决策最优路径,AS_Path最短最屌;2)防止环路,当某BGP Router从其EBGP邻居那里接收到一个网络的更新,并发现这个网络更新的AS_Path中有自己本地的AS号时,就证明有环路产生3.Next_Hop属性:属性种类:公认强制,存放到达该目的网络的下一跳的IP地址是什么。
有如下3种情况:Case1:(见下面的附件)Case2:(见下面的附件)Case3:(见下面的附件)4.Local_Pref属性:属性种类:公认自由决定,只用在和IBGP邻居间的Update分组更新中,这个属性字段是不会传递给EBGP邻居滴~~~告诉本地AS中的BGP Router,从哪个出口出去才是最优的:同一个AS中的BGP Router根据这个Local_Pref值来选择到达某个网络的最佳路径。
当Router要将路由条目通告给其EBGP邻居的时候,会将这个Local_Pref属性删掉哦~Local_Pref值越大越屌~~~Local_Pref默认值为100~~~5.MED属性:属性种类:可选非传递,把MED看成“Metric值”。
bgp属性总结

bgp属性总结BGP选路策略--属性分类1、公认强制的所有的bgp的updata消息都要包含该属性2、公认自由决定的该属性是可选可不选的,但是所有的bgp 进程都能识别3、可选传递的即使bgp进程不能识别该属性,也会继续传递下去4、可选非传递的如果bgp 进程不能识别该属性,可以忽略这条updata,并且不传递下去例如:1、公认强制属性--AS路径(AS-path)--下一跳(next-hop)--源头(origin)2、公认自由决定的--本地优先级(local preferent)3、可选传递的--社团属性(community)4、可选非传递属性--MEDweight(权重)--cisco私有技术,只具有本地意义,用于本地路由器进行选路一条路由信息包含了一组属性,每一个属性由三个字段组成。
·属性类型·属性长度·属性值If the AS path length is the same, prefer the lowest origin code (IGP < EGP < incomplete).1、<Weight>CISCO的私有属性越大越好·本地有效。
只在这一台路由器上起作用,人为设置的邻居的权重·默认值=32768(本地)/ 0(收到的路由)当一个路由器分别从两个不同的邻居处学到同一条路由,它可以根据WEIGHT值决定从哪个邻居走修改Weight---R1同时从R3和R2学到同一条BGP路由,在R1上改:R1(config-router)#Neighbot 3.3.3.3 weight 1R1(config)#route-map WER1(config-route-map)#match ip address _____R1(config-route-map)#set weight 8记住还要在后面写一条让其它路由通过的route-mapR1(config-router)#neighbor 3.3.3.3 route-map WE in 在自己的进方向R1(config-router)#neighbor 2.2.2.2 weight 8<Local_Preference>越大越好本地优先级是公认自由决定的属性,它告诉AS中的路由器,哪条路径是离开AS的首选路径。
BGP属性简介

BGP属性简介1、属性分类BGP属性是BGP进行路由决策和控制的重要信息。
它可以分为如下两大类四小类:一、公认属性●公认必遵(Well-known mandatory)●公认可选(Well-known discretionary)公认属性是所有运行BGP协议的系统都必须识别和支持的属性。
其中,公认必遵属性是BGP UPDATE消息中必须包含的属性。
公认可选则是BGP UPDATE消息中可以自由选择是否包含的属性。
二、可选属性●可选过渡(Optional transitive)●可选非过渡(Optional non-transitive)可选属性并不要求所有运行BGP协议的系统都识别。
如果属性是可选过渡的,那么,即使运行BGP的系统不能识别该属性,也要接受该属性并将其转发给它的对等体。
而如果属性是可选非过渡的,运行BGP的系统可以忽略包含该属性的消息并且不向它的对等体转发。
2、属性详述常见的BGP属性如下:1、ORIGINORIGIN标示路径信息的来源,是公认必遵属性。
ORIGIN可以是以下三种值:1)IGP:表示网络层可达信息来源于AS内部2)EGP:表示网络层可达信息通过AS外部学习3)INCOMPLETE:表示网络层可达信息来源无法确定在路由选择的时候,ORIGIN中,IGP优于EGP,EGP优于INCOMPLETE。
2、AS_PATHAS_PATH由一系列AS路径组成,是公认必遵属性。
AS-PATH采用AS_SEQUENCE方式表示——该路由经过的AS的有序集当BGP发布者发布路由给IBGP对等体时,BGP不修改路由的AS_PATH属性。
当BGP发布者发布路由给EBGP对等体时,本地系统应该把自己的AS号作为序列的最后一个元素加在序列的最后面。
AS_PATH可以用来作为路由选路的一种度量。
经过更少AS路径的路由更优先。
同时AS_PATH也作为一种手段来避免环路。
如果BGP路由信息发布者从EBGP对等体收到一条路由,它的AS_PATH包含发布者自己的AS号,就说明这条路由曾经从本AS发出过,将其丢弃,同时不再进行转发。
BGP小结

BGP小结一、需要使用BGP的网络:1、在国干网络使用BGP:目的是为了传递各个省、运营商或不同AS的路由,为不同的AS间数据互访进行寻经;将本国使用的路由发布到国际网络上。
国干路由器和AS出口路由器建立EBGP邻居。
2、省干网络使用BGP:目的是为了传递本省内各个不同城市的路由,为本省内不同城市间数据互访进行寻经;将本省内使用的路由发布到国干网络上。
省干落地设备可以与城域网出口建立EBGP邻居,同时为城域网下发EBGP缺省路由。
3、城域网出口路由器使用BGP:EBGP网络的末梢设备,目的将本城域网使用的路由发布到省干网络上,同时从省干落地设备接受BGP缺省路由;同时和城域网汇聚层设备建立IBGP邻居。
4、城域网汇聚层路由器使用BGP:城域网BGP网络的末梢设备,目的是对出网流量在汇聚层进行分流,从而可以减轻城域网骨干层路由器的负担。
MP-BGP运行在MPLS的网络上,目的是为了传递VPN的路由。
二、BGP常用的属性:BGP路由属性是一套参数,它对特定的路由进行了进一步的描述,使得BGP 能够对路由进行过滤和选择。
在配置路由策略时我们将广泛地使用路由属性,但是不是所有路由属性都要被用上。
事实上,路由属性被分为以下几类:必遵属性:所有BGP路由器都可以识别,且必须存在于Update消息中。
如果缺少这种属性,路由信息就会出错。
可选属性:所有BGP路由器都可以识别,但不要求必须存在于Update消息中,可以根据具体情况来选择。
过渡属性:在AS之间具有可传递性的属性。
BGP路由器可以不支持此属性,但它仍然会接收带有此属性的路由,并通告给其他对等体。
非过渡属性:如果BGP路由器不支持此属性,则相应的Update消息会被忽略,且不会通告给其他对等体。
1、Origin属性:起点属性是一个必遵过渡属性,它指示路由更新的起源。
BGP允许三种类型的起源:BGP来说,BGP优先选用具有最小起点属性值的路由,即:IGP 优先于EGP,EGP优先于INCOMPLETE。
bgp属性

属性名称 origin
类别 公认必遵
属性特点 传递性 BGP能够识别并传递(更 AS内,AS间都传递 新消息中必须包含)
2
AS_path
公认必遵
BGP能够识别并传递(更 AS内,AS间都传递 新消息中必须包含)
3
NEXT-HOP
公认必遵
BGP能够识别并传递(更 AS内,AS间都传递 新消息中必须包含)
全局配置命令:ip bgp-community newformat; neighbor 10.1.12.2 send-community(默 认不传递,需加这条命令传递); ip community list 11 permit 100:11; match community 11 exact-match,精确 匹配; set excommunity cost X,cost小的优先 。 Set set excommunity pre-bestpath cost X,cost值超越weight成为第一路径 选择标准 sh ip community-list XX aggregator-address summary-only asset(汇总路由携带明细路由,则更新消息 里补包含Atomic-Agg属性)。
相关命令
bgp default local-prefrerence 500 修改默认LP值
bgp always-compare-med bgp bestpath med missing-as-worst set metric-type internal bgp bestpath med confed bgp deterministic-med default-metric X
6
COMMUNITY
可选传递Байду номын сангаас
BGP属性及策略

RT3
AS100
Page11
Copyright © 2012 Huawei Technologies Co., Ltd. All rights reserved.
团体 (Community) 属性
什么是团体属性
团体是一组有相同性质的目的地址路由。目的就是将路由信
息编组,通过组的标识决定路由传递的策略。
Page1
BGP的路径属性 (续)
公认属性是所有BGP路由器都必须识别的属性
公认必遵 (Well-known mandatory)
所有BGP路由器都可以识别,且必须存在于Update消息 中。如果缺少这种属性,路由信息就会出错
公认任意 (Well-known discretionary)
所有BGP路由器都可以识别,但不要求必须存在于 Update消息中,可以根据具体情况来决定是否添加到
公认任意 (Well-known discretionary)
可选过渡 (Optional transitive) 可选非过渡 (Optional non-transitive)
Copyright © 2012 Huawei Technologies Co., Ltd. All rights reserved.
保留的团体属性:
0x00000000—0x0000FFFF 0xFFFF0000—0xFFFFFFFF
公认团体属性:
NO_EXPORT (0xFFFFFF01) NO_ADVERTISE (0xFFFFFF02)
NO_EXPORT_SUBCONFED (0xFFFFFF03)
协议案例推广-BGP公认Community属性的应用

BGP公认Community属性的应用摘要本文介绍了BGP的公认的Community属性的解释和应用。
介绍团体(Community),团体是共享相同特性的一组目的地。
自治系统管理者可以定义目的地所属的团体。
默认的,所有目的地属于互联网团体。
团体属性BGP团体属性在RFC1997中定义(使用方法定义在RFC1998和2519中),它是一个可选过渡属性。
团体是一组有相同性质的目的地的路由,一个团体不限于一个网络或一个自治系统,它没有物理边界。
此属性一般是用来作为路由选择策略使用。
BGP团体属性是一个32位共4个八位组的值,然而为了管理上的安排,作了如下的假设:团体属性值范围从0x00000000到0x0000FFFF和从0xFFFF0000到0xFFFFFFFF被作为保留。
剩下的团体属性值应该使用AS号码作为头两个字节。
后两个字节的语义可以被AS自己定义。
(比如,AS690可以定义研究,教育和商业团体值,用于策略路由。
比如AS的操作者使用团体属性值0x02B20000到0x02B2FFFF)。
团体属性可以有3种方式定义:十进制方式,取值范围是1~4 294 967 295;十六进制方式,以aa:nn的格式表示,前面是本地自治系统号码,后面两个八位组是本地定义值;第三种方式是使用名字,使用公认的BGP团体名字。
公认的团体属性下列属性是全球意义的,它们的操作应该被应用在任何识别团体属性的BGP发言人。
Internet(0)默认的团体,所有支持BGP团体属性的路由器都属于本团体NO_EXPORT (0xFFFFFF01)所有接收到的路由承载的团体属性中包含这个值必须不会被通告给本自治系统或是联盟外的相邻体(一个孤立的AS,如果不是联盟的一部分可以看作自己构成一个联盟)。
NO_ADVERTISE (0xFFFFFF02)所有接收到的路由承载的团体属性中包含这个值必须不会被通告给任何其他相邻体。
Local-AS(也有称作NO_EXPORT_SUBCONFED)(0xFFFFFF03)所有接收到团体属性中包含这个值的路由必须不要被广播到任何EBGP相邻体(包括联盟中别的AS的成员)实际组网中的应用尽管我们了解了上述4个公认团体属性的定义,但在实际组网大家仍不能灵活应用,我们以下面这个案例来说明它们的应用场景。
【CCNP】BGPCommunity属性配置案例

【CCNP】BGPCommunity属性配置案例【CCNP】BGP Community属性配置案例版本V1.0密级?开放?内部?机密类型?讨论版?测试版?正式版1案例配置拓扑2案例配置需求1、如上图所示,IP地址规划方面,R1上有三个环回接口loopback 0、loopback 1、loopback 2,地址分别为50.1.1.1/32、100.1.1.1/32、200.1.1.1/32,路由器互连的接口为172.8.AB.X/24(其中AB为路由器编号叠加,X为路由器编号,如R1连接R2的接口S0/0的地址为172.8.12.1/24);2、图中有三个AS,AS 100、AS 200、AS 300,R1/R2为eBGP 邻居关系,R2/R3为iBGP邻居关系,R2/R4为eBGP邻居关系;3、将R1的环回接口发布到BGP中,R1将loopback 0接口的BGP路由发送给R2时,设置公有Community属性为NO_ADVERTISE,R1将loopback 1接口的BGP路由发送给R2时,设置公有Community属性为NO_EXPORT,R1将loopback 2接口的BGP路由发送给R2时,设置公有Community属性为LOCAL-AS,查看此时BGP的团体属性;4、在R1路由器上添加环回接口loopback 3,IP地址为3.3.3.3/32,设置发送给R2的私有Community属性为3:3,查看此时BGP的团体属性;3案例配置思路1、R1上的关键配置:router bgp 100no synchronizationbgp log-neighbor-changesnetwork 3.3.3.3 mask 255.255.255.255network 50.1.1.1 mask 255.255.255.255network 100.1.1.1 mask 255.255.255.255network 200.1.1.1 mask 255.255.255.255neighbor 172.8.12.2 remote-as 200neighbor 172.8.12.2 send-community /开启发送community 属性,默认不发送/neighbor 172.8.12.2 route-map community out /做out方向的策略/no auto-summary!ip bgp-community new-format/开启bgp community新格式,用来显示私有community属性/2、R2上的关键配置:router bgp 200no synchronizationbgp log-neighbor-changesneighbor 172.8.12.1 remote-as 100neighbor 172.8.23.3 remote-as 200neighbor 172.8.23.3 send-community /开启发送community 属性,默认不发送/neighbor 172.8.24.4 remote-as 300neighbor 172.8.24.4 send-community /开启发送community 属性,默认不发送/no auto-summary!ip bgp-community new-format3、R3上的关键配置:router bgp 200no synchronizationbgp log-neighbor-changesneighbor 172.8.23.2 remote-as 200no auto-summary!ip bgp-community new-format/开启bgp community新格式,用来显示私有community属性/4、R4上的关键配置:router bgp 300no synchronizationbgp log-neighbor-changesneighbor 172.8.24.2 remote-as 200no auto-summary!ip bgp-community new-format/开启bgp community新格式,用来显示私有community属性/ 4案例检验结果1、查看R1上关于策略的配置情况:R1#show ip prefix-listip prefix-list loopback0: 1 entriesseq 5 permit 50.1.1.1/32ip prefix-list loopback1: 1 entriesseq 5 permit 100.1.1.1/32ip prefix-list loopback2: 1 entriesseq 5 permit 200.1.1.1/32ip prefix-list loopback3: 1 entriesseq 5 permit 3.3.3.3/32R1#show route-map communityroute-map community, permit, sequence 10Match clauses:ip address prefix-lists: loopback0Set clauses:community no-advertisePolicy routing matches: 0 packets, 0 bytesroute-map community, permit, sequence 20Match clauses:ip address prefix-lists: loopback1Set clauses:community no-exportPolicy routing matches: 0 packets, 0 bytesroute-map community, permit, sequence 30Match clauses:ip address prefix-lists: loopback2Set clauses:community local-ASPolicy routing matches: 0 packets, 0 bytesroute-map community, permit, sequence 40Match clauses:ip address prefix-lists: loopback3Set clauses:community 3:3Policy routing matches: 0 packets, 0 bytesroute-map community, permit, sequence 50Match clauses:Set clauses:Policy routing matches: 0 packets, 0 bytes2、查看R2上关于BGP表及相关路由的community属性:R2#show ip bgpBGP table version is 9, local router ID is 172.8.24.2Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S StaleOrigin codes: i - IGP, e - EGP, ? - incompleteNetwork Next Hop Metric LocPrf Weight Path*> 3.3.3.3/32 172.8.12.1 0 0 100 i*> 50.1.1.1/32 172.8.12.1 0 0 100 i*> 100.1.1.1/32 172.8.12.1 0 0 100 i*> 200.1.1.1/32 172.8.12.1 0 0 100 iR2#show ip bgp 50.1.1.1 255.255.255.255Paths: (1 available, best #1, table Default-IP-Routing-Table, not advertised to any peer) Not advertised to any peer 100172.8.12.1 from 172.8.12.1 (200.1.1.1)Origin IGP, metric 0, localpref 100, valid, external, bestCommunity: no-advertise /与R1上设置的属性一致/R2#show ip bgp 100.1.1.1 255.255.255.255BGP routing table entry for 100.1.1.1/32, version 8Paths: (1 available, best #1, table Default-IP-Routing-Table, not advertised to EBGP peer) Advertised to update-groups: 2100172.8.12.1 from 172.8.12.1 (200.1.1.1)Origin IGP, metric 0, localpref 100, valid, external, bestCommunity: no-export /与R1上设置的属性一致/ 雏鹰论坛CCNPR2#show ip bgp 200.1.1.1 255.255.255.255BGP routing table entry for 200.1.1.1/32, version 7Paths: (1 available, best #1, table Default-IP-Routing-Table, not advertised outside local AS)Advertised to update-groups:2100172.8.12.1 from 172.8.12.1 (200.1.1.1)Origin IGP, metric 0, localpref 100, valid, external, bestCommunity: local-AS /与R1上设置的属性一致/R2#show ip bgp 3.3.3.3 255.255.255.255Paths: (1 available, best #1, table Default-IP-Routing-Table)Advertised to update-groups:2 3100172.8.12.1 from 172.8.12.1 (200.1.1.1)Origin IGP, metric 0, localpref 100, valid, external, bestCommunity: 3:3 /R2路由器上打了BGP Community新格式命令,所以这里正常显示,否则,这里显示不正常/3、查看R3上的BGP表:R3#show ip bgpBGP table version is 1, local router ID is 172.8.23.3Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,r RIB-failure, S StaleOrigin codes: i - IGP, e - EGP, ? - incompleteNetwork Next Hop Metric LocPrf Weight Path * i3.3.3.3/32 172.8.12.1 0 100 0 100 i* i100.1.1.1/32 172.8.12.1 0 100 0 100 i* i200.1.1.1/32 172.8.12.1 0 100 0 100 i/这里没有50.1.1.1/32的BGP路由,因为此路由在R2上的BGP Community为公有属性no-advertise,意思是不通告给任何的BGP 对等体,R3与R2为iBGP邻居关系,所以R3的BGP 表中不存在此路由,另外,路由前没有“>”,是由于下一跳不可达,这里只测试BGP Community/ 4、查看R4上的BGP表和BGP Community属性:R4#show ip bgpBGP table version is 9, local router ID is 172.8.24.4Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,r RIB-failure, S StaleOrigin codes: i - IGP, e - EGP, ? - incompleteNetwork Next Hop Metric LocPrf Weight Path*> 3.3.3.3/32 172.8.24.2 0 200 100 i/R4没有收到50.1.1.1/32路由,因为此路由在R2上的BGP Community为公有属性no-advertise,意思是不通告给任何的BGP 对等体,R4与R2为eBGP邻居关系,所以R4的BGP表中不存在此路由,同理,100.1.1.1/32在R2上的BGP Community为公有属性no-export ,意思是不通告给eBGP对等体,R4与R2为eBGP邻居关系,所以R4的BGP表中不存在此路由,R3与R2为iBGP邻居关系,所以R3上存在此路由,200.1.1.1/32在R2上的BGP Community为公有属性local-as,意思是只在本AS内部发送,如果配置联盟,那么不发送到其它AS或者子AS,所以R4上不存在此路由,而R3上存在/ 雏鹰论坛CCNPR4#show ip bgp 3.3.3.3 255.255.255.255BGP routing table entry for 3.3.3.3/32, version 9Paths: (1 available, best #1, table Default-IP-Routing-Table) Not advertised to any peer200 100172.8.24.2 from 172.8.24.2 (172.8.24.2)Origin IGP, localpref 100, valid, external, bestCommunity: 3:35案例数据抓包1、R1发送给R2的关于3.3.3.3/32的Update Message:2、R1发送给R2的关于200.1.1.1/32的Update Message:3、R1发送给R2的关于100.1.1.1/32的Update Message:4、R1发送给R2的关于50.1.1.1/32的Update Message:6案例配置文件7案例总结及其它1、BGP Community属性用来标识一些有相同性质的前缀,给路由打标记,以便统一处理,一个路由可以有多个属性值,不限于一个网络或一个自治系统,没有物理边界;2、BGP Community属性有公有和私有:公认的Community:a)NO_ADVERTISE:不通告给任何的BGP对等体;b)NO_EXPORT:不通告给eBGP对等体;c)INTERNET:可以通告给所有的其它BGP对等体;d)LOCAL-AS:表示本路径不发布到本AS 外部,当配置联盟时,本路径不发布给其它的自治系统或子自治系统;私有的Community:a)私有团体是对用户有意义的数字;b)四个字节,为增加可读性,可配置为aa:nn,一般aa建议为AS号,nn代表业务;3、缺省在peer之间不传递community属性,必须在bgp进程下针对特定peer使用neighbor ××××send-community才能将community属性发送出去;4、参见欢迎来雏鹰论坛参与讨论。
bgp知识点总结

bgp知识点总结BGP(Border Gateway Protocol,边界网关协议)知识点总结。
一、BGP概述。
1. 定义与作用。
- BGP是一种用于在不同自治系统(AS)之间交换路由信息的外部网关协议(EGP)。
自治系统是由一个或多个网络组成的,在一个管理机构下运行并使用统一的内部路由策略。
- 其主要作用是实现不同自治系统之间的可达性,通过传递路由信息,使得不同AS中的网络能够相互通信。
2. BGP的特点。
- 路径矢量协议:BGP不像内部网关协议(如OSPF、RIP)那样基于链路状态或距离矢量,而是基于路径矢量。
它通告的是到达目的网络的完整路径(包括经过的自治系统序列)。
- 可靠性高:使用TCP作为传输协议(端口号179),这保证了BGP消息的可靠传输。
因为TCP具有确认、重传等机制,可以确保BGP对等体之间的消息准确无误地传递。
- 策略丰富:BGP允许网络管理员根据多种策略来控制路由的传播和选择。
例如,可以基于AS路径长度、路由的本地优先级等因素来决定选择哪条路由进入自己的路由表。
二、BGP的消息类型。
1. Open消息。
- 用于建立BGP对等体关系。
在Open消息中包含了BGP版本号、本地AS号、保持时间(Hold Time)、BGP标识符(通常是路由器的某个接口的IP地址)等信息。
- 当两个BGP路由器之间交换Open消息并且参数协商成功后,它们之间就建立了BGP对等体关系。
2. Update消息。
- 用于通告可达路由信息和撤销不可达路由信息。
Update消息包含网络层可达性信息(NLRI),即目的网络的前缀和掩码,以及到达这些目的网络的路径属性(如AS 路径、下一跳等)。
- 如果某个路由不再可达,BGP也会通过Update消息来撤销该路由的通告。
3. Notification消息。
- 用于报告错误信息。
当BGP对等体检测到错误时,会发送Notification消息给对等体,然后关闭BGP连接。
BGPCommunity属性

BGPCommunity属性BGP Community属性拓扑:BGP-Community属性:R1的配置:R1#show run | s r brouter bgp 65501no synchronizationbgp router-id 1.1.1.1bgp log-neighbor-changesbgp confederation identifier 1neighbor 3.3.3.3 remote-as 65501 neighbor 3.3.3.3 update-source Loopback0 neighbor 3.3.3.3 next-hop-selfneighbor 12.1.1.2 remote-as 2neighbor 12.1.1.2 send-communityno auto-summaryR2的配置:router bgp 2no synchronizationbgp router-id 2.2.2.2bgp log-neighbor-changesnetwork 2.2.2.0 mask 255.255.255.0 network 22.22.22.0 mask 255.255.255.0 neighbor 12.1.1.1 remote-as 1no auto-summaryR3的配置:R3(config)#do show run | s r brouter bgp 65501no synchronizationbgp router-id 3.3.3.3bgp log-neighbor-changesbgp confederation identifier 1bgp confederation peers 65504network 33.33.33.0 mask 255.255.255.0neighbor 1.1.1.1 remote-as 65501neighbor 1.1.1.1 update-source Loopback0 neighbor 1.1.1.1 send-community neighbor 34.1.1.4 remote-as 65504no auto-summaryR4配置:router bgp 65504no synchronizationbgp router-id 4.4.4.4bgp log-neighbor-changesbgp confederation identifier 1bgp confederation peers 65501network 44.44.44.0 mask 255.255.255.0neighbor 5.5.5.5 remote-as 65504neighbor 5.5.5.5 update-source Loopback0 neighbor 34.1.1.3 remote-as 65501 neighbor 34.1.1.3 send-communityno auto-summary⼀ Local-AS属性:R5的配置:R5#show run | b r brouter bgp 65504no synchronizationbgp log-neighbor-changesnetwork 55.55.55.0 mask 255.255.255.0neighbor 4.4.4.4 remote-as 65504neighbor 4.4.4.4 update-source Loopback0neighbor 4.4.4.4 send-communityneighbor 4.4.4.4 route-map com outno auto-summaryip prefix-list 1 seq 5 permit 55.55.55.0/24route-map com permit 10match ip address prefix-list 1set community local-AS在R4上show ip bgp 信息:R4#show ip bgpNetwork Next Hop Metric LocPrf Weight Path* 2.2.2.0/24 1.1.1.1 0 100 0 (65501) 2 i * 22.22.22.0/24 1.1.1.1 0 100 0 (65501) 2 i *> 33.33.33.0/24 34.1.1.3 0 100 0 (65501) i *> 44.44.44.0/24 0.0.0.0 0 32768 i*>i55.55.55.0/24 5.5.5.5 0 100 0 i在R3和R1上show ip bgp 信息:R3#show ip bgpNetwork Next Hop Metric LocPrf Weight Path*>i2.2.2.0/24 1.1.1.1 0 100 0 2 i*>i22.22.22.0/24 1.1.1.1 0 100 0 2 i*> 33.33.33.0/24 0.0.0.0 0 32768 i*> 44.44.44.0/24 34.1.1.4 0 100 0 (65504) iR3#show ip route34.0.0.0/24 is subnetted, 1 subnetsC 34.1.1.0 is directly connected, FastEthernet1/01.0.0.0/24 is subnetted, 1 subnetsD 1.1.1.0 [90/2297856] via 21.1.1.1, 01:06:06, Serial0/02.0.0.0/24 is subnetted, 1 subnetsB 2.2.2.0 [200/0] via 1.1.1.1, 00:45:0033.0.0.0/24 is subnetted, 1 subnetsC 33.33.33.0 is directly connected, Loopback13.0.0.0/24 is subnetted, 1 subnetsC 3.3.3.0 is directly connected, Loopback021.0.0.0/24 is subnetted, 1 subnetsC 21.1.1.0 is directly connected, Serial0/0172.16.0.0/24 is subnetted, 1 subnetsC 172.16.3.0 is directly connected, Loopback222.0.0.0/24 is subnetted, 1 subnetsB 22.22.22.0 [200/0] via 1.1.1.1, 00:45:0344.0.0.0/24 is subnetted, 1 subnetsB 44.44.44.0 [200/0] via 34.1.1.4, 00:38:54R1#show ip bgpNetwork Next Hop Metric LocPrf Weight Path*> 2.2.2.0/24 12.1.1.2 0 0 2 i*> 22.22.22.0/24 12.1.1.2 0 0 2 i*>i33.33.33.0/24 3.3.3.3 0 100 0 i* i44.44.44.0/24 34.1.1.4 0 100 0 (65504) i可以对⽐出:带有团体“local-AS”属性的路由55.55.55.0/24,只传递给了R4。
BGP的宣告、BGP的属性详解、专治各种BGP的属性选路问题

BGP的宣告、BGP的属性详解、专治各种BGP的属性选路问题BGP的宣告、BGP的属性详解、专治各种BGP的属性选路问题南兮⾬朦胧 2019-08-02 17:50:45 2456 收藏 18版权⽂章⽬录⼀、BGP的宣告⼆、BGP的属性三、属性详情1、Weihgt2、Origin:标识该路由如何得到的3、AS path4、next-hop5、local-pref6、MED7、Atomic_aggregate8、Aggregator9、Community社团属性的四个⼦属性10、Originator_id11、Cluster_list⼀、BGP的宣告BGP的最终⽬标是完成本AS的全部或者某些路由的转发,⽽实质就是将原有的路由条⽬宣告出去,所以应该满⾜以下条件:1、被宣告的路由必须在路由表中;2、被宣告的路由必须和路由表中的前缀和掩码⼀致;3、EBGP邻居建邻⼀般使⽤直连建邻,如果使⽤⾮直连建邻需要修改跳数,默认为1(不修改则⽆法建邻),直连⼀般指的是接⼝两端,如果采⽤环回建邻,必须修改跳数;正常建邻:全局下:router bgp 1 //启动BGP协议,加上AS号neighbor 10.2.2.2 remote-as 2 //指定对⽅成为邻居,加上对⽅AS号;R1(config)# neighbor 10.1.1.1 ebgp-multihop //修改跳数(不加则为255);⼆、BGP的属性BGP最重要的是属性,可以完成选路、防环、标记等⼯作,IGP协议的度量在AS之间⽆法选择正确的最佳路径;属性分为四类:1.公认必尊 --必须传递必须识别所有 BGP 路由器必须识别遵守的原则有 origin,as_path ,next_hop2.公认可尊–必须识别所有路由器都能识别但是不⼀定要遵守,local_pref,atomic_aggregate3.可选传递–打开传递不是所有 BGP 路由器都能识别,但是所有 BGP 都能传递,aggregator 和 community4.可选⾮传递–打开不传递不是所有路由器都被识别,不能识别的 BGP 路由器就丢弃它,MED,originator_id 和 cluster_id,weight三、属性详情1、Weihgtcisco 私有属性,对于离开 AS 的路由在路由器选择那⼀条最优,本台路由器产⽣为 32768,学习的为 0,越⼤越优,适⽤于⼀台路由去往别的 AS 有多个出⼝。
BGP协议特点、常用属性和BGP邻居

BGP协议特点、常⽤属性和BGP邻居1、BGP基本概述(1)BGP的基本作⽤BGP的前⾝EGP设计得⾮常简单,只能在AS之间简单地传递路由信息,不会对路由进⾏任何优选,也没有考虑如何在AS之间避免路由环路等问题,因相⽐于EGP,BGP更具有路由协议的特征,如下:取代。
相⽐于⽽EBP最终被BGP取代。
邻居的发现与邻居关系的建⽴;路由的获取,优选和通告;提供路由环路避免机制,并能够⾼效传递路由,维护⼤量的路由信息;在不完全信任的AS之间提供丰富的路由控制能⼒。
使⽤BGP作为传递路由的协议,则⽤户的路由域被作为⼀个整体和其他路由域进⾏路由交换,这个路由域即AS。
AS的概念是若⼲台路由器以及这些路由器组成的⽹络集合,这些路由器均属于同⼀个管理机构,并执⾏统⼀的路由策略。
运⾏BGP协议需要⼀个统⼀的⾃治系统号来标识路由域,即AS编由策略。
运⾏号。
每个⾃治系统都有唯⼀的⼀个编号,这个编号由IANA分配。
2009年1⽉之前,只能使⽤最多2字节长度的AS号码,即1-65535。
其中1-64511为公有AS,64512-65534为私有AS。
在2009年1⽉之后,IANA决定使⽤4字节长度AS,范围是65536-4294967295。
(2)BGP协议特点因为是在AS之间传递路由,为保证数据的可靠性, BGP使⽤TCP作为其承载协议建⽴连接。
因此与IGP逐跳路由器建⽴邻居不同,BGP可以跨越多跳路由器建⽴邻居关系。
AS之间的路由器是不完全相互信任的,为实现路由按需求进⾏控制和优选,BGP设计了诸多属性。
2、BGP常⽤属性介绍(1)针对次优路径和路由环路两个问题的解决⽅案:在AS之间交换路由可达信息时,设计BGP能够提供丰富的属性,实现对路修改路由表,调整AS之间的链路Metric;不修改路由由的灵活控制和优选。
由的灵活控制和优选。
修改路由表,调整表,使⽤策略修改路由下⼀跳。
但是这些⽅法在某些情况下具有局限性,不能满⾜⽹络的丰富需求。
HCNPRoutingSwitching之BGP团体属性和团体属性过滤器

HCNPRoutingSwitching之BGP团体属性和团体属性过滤器 BGP团体属性(Community) BGP团体属性是什么呢?简单讲BGP的团体属性是指标识具有相同特征的BGP路由;我们可以理解为具有相同标签的BGP路由;这个标签就是它的团体属性;只不过在BGP⾥不叫标签,⽽是叫团体属性;所以tag不是BGP属性,⽽团体属性(community)才是它的属性;团体属性主要作⽤是让BGP路由策略的应⽤更加灵活,降低维护管理的难度;不同的团体属性,它的作⽤各不相同;如下所⽰,BGP公认团体属性 提⽰:如果BGP的某些路由中带有internet的团体属性,这就意味着该路由可以向任何BGP邻居宣告,即收到带有该团体属性的路由的路由器,它会把该路由向任何邻居宣告,不管邻居是IBGP还是EBGP,它都会宣告该路由;如果是no_advertise的团体属性,就意味着该路由不能向任何BGP邻居宣告,即收到该路由的路由器不会再向其他BGP邻居宣告该⽹络(即便是IBGP也不会);如果团体属性是no_export,则意味着该路由不会向EBGP邻居宣告,但是可以向联盟内的EBGP邻居宣告(联盟就是⼀个⼤的AS⾥⾯有许多⼩AS,该团体属性就是指在⼀个⼤的AS内的⼩AS之间可以正常传递和宣告路,但不会流出⼤as);如果团体属性是no_export_dsubconfed,则该路由不但不会向任何EBGP邻居宣告,包括联盟内的EBGP邻居; BGP路由默认是不允许宣告团体属性给邻居,就有点类似默认不宣告默认路由⼀样;在向邻居宣告带有团体属性的路由时,我们需要提前在本端路由器上开启允许向邻居宣告团体属性给邻居;团体属性是可选可过渡属性,即如果收到带有团体属性的路由的路由器,如果开启了允许向邻居发送团体属性给邻居,则该路由器会继承它收到的团体属性,如果没有开启,则对应路由的团体属性不会再传递给其他邻居;当然团体属性是可以继承,也可以修改和叠加; BGP私有团体属性 当然团体属性除了有公认的团体属性,也有私有团体属性;私有团体属性就是⾃定义规则和应⽤⽅法;格式是AS(2字节):Number(2字节);⼀般私有团体属性结合路由策略来做; 实验:根据拓扑配置BGP 在R1上使⽤路由策略将发送个R2的1.1.1.1/32的路由打上internet的团体属性 提⽰:⾸先我们需要⽤匹配⼯具将对应需要打上团体属性的路由匹配出来,然后根据在根据路由策略将满⾜匹配⼯具匹配出来的路由做打上团体属性的操作;对于匹配⼯具默认没有匹配上的路由,默认是拒绝操作,但是我们在路由策略⾥允许所有,即放⾏没有被匹配⼯具匹配上的路由(对没有匹配上的路由不做任何操做); 验证:在R2上查看对应路由是否被打上团体属性? 提⽰:可以看到R2上并没有收到任何团体属性;这是因为团体属性默认是不允许发送的,要想发送团体属性,我们需要⽤命令明确开启允许发送团体属性给邻居; 在R1上开启允许团体属性发送给邻居 提⽰:以上命令就表⽰允许向12.0.0.2宣告团体属性; 验证:在R2上查看是否收到R1发送的团体属性呢? 提⽰:可以看到R2收到的路由中只有1.1.1.1/32的路由带有internet的属性;这个属性就是告诉R2该路由可以传给任何邻居; 验证:在R4上是否可以看到R1发送的团体属性呢? 提⽰:在R4上并没有看到任何团体属性,这是因为团体属性本⾝就是可选可传递;在R1开启允许发送团体属性给邻居以后,对应R2可以收到R1发送的团体属性,但是R2并没有明且允许发送团体属性给邻居,所以R2发送R4的路由中并不会携带团体属性;要想R4能够收到对应的团体属性,我们只需要在R2上开启允许团体属性传递给邻居即可; 在R2上开启允许团体属性发送给邻居 验证:在R4上查看团体属性,是否能够收到R2发送到团体属性呢? 提⽰:如果R2上只是开启了允许发送团体属性给邻居,并没有做团体属性的修改,则默认R2会将R1发送到团体属性继承发送给R4; 在R1上配置将7.7.7.7/32的路由发送给R3时打上no_advertise的团体属性 验证:在R3上查看R1发送到团体属性,看看对应团体属性是否收到? 提⽰:可以看到R3上能够正常收到7.7.7.7/32对应路由的团体属性为no-advertise;该属性表⽰7.7.7.7/32的路由不传递给其他任何邻居; 验证:在R4上查看是否能够学习到7.7.7.7/32的路由呢? 提⽰:此时在R4的路由表中,对应7.7.7.7/32的路由就只有⼀条了,对应下⼀跳为12.0.0.1,并⾮13.0.0.1;说明该路由是经过R2学习到的;其原因是对应R3并不会发送7.7.7.7/32的路由给R4,所以R4的BGP路由表中就只有⼀条从R2学习到的7.7.7.7/32的路由; 在R1上将8.8.8.8/32的路由发送给R2时打上no_export的团体属性 提⽰:对于同⼀邻居在同⼀⽅向只允许调⽤⼀条路由策略,所以此时我们看到对应1.1.1.1/32的路由策略就被8.8.8.8/32的路由策略覆盖;如果需要都⽣效,我们需要该之前⾥加上对8.8.8.8/32的处理即可(匹配⼯具可以重新写); 验证:在R2上查看是否收到R1发送的团体属性? 提⽰:该属性表⽰不将此路由发送给EBGP邻居,但可以向联盟内的EBGP邻居发送;此环境没有联盟,所以我们验证可以看对应R5是否能够收到R2这边发送的8.8.8.8/32的路由即可; 验证:在R5上查看对应8.8.8.8/32的路由是否能够学习到呢? 提⽰:可以看到R5上并没有学习到8.8.8.8/32的路由;这是因为R4上对应从R2学习过来的8.8.8.8/32的路由被打上了no-export的团体属性,在R2上有配置了允许发送团体属性给邻居,所以R2会将R1发送到团体属性继承发送给R4;恰好R4的BGP路由表中,对应从R2学习到的8.8.8.8/32的路由⼜是最优路由,所以R5并不会学习到8.8.8.8/32的路由(R4只会把最优路由发送给R5,恰好R4上8.8.8.8/32的最优路由被打上了no-export的团体属性,所以R5收不到8.8.8.8/32的路由); 在R1上将发送给R3的1.1.1.1/32的路由打上no-export-subconfed团体属性 验证:在R3上查看对应团体属性是否收到? 提⽰:该团体属性表⽰对应路由不发送给任何EBGP邻居,包括联盟内的EBGP邻居;我这⾥没有配置联盟,所以和上⾯的no-export效果⼀样;最终都不会发送给R5;但是此环境R3还是会将1.1.1.1/32的路由发送给R4,因为R3并没有开启允许团体属性发送给邻居,所以R3发送给R4的路由对应团体属性会丢失,即R4还是会将1.1.1.1/32的路由正常发送给R5(如果从R3这边学习到的1.1.1.1/32的路由是最优路由的话); 在R3上开启允许发送团体属性给邻居 验证:在R4上查看对应的团体属性 将R4的BGP路由表中从R3学习到的1.1.1.1/32的路由,本地优先级修改为101,让1.1.1.1/32 的路由,最优路由的下⼀跳为13.0.0.1 验证:查看R4的路由表,看看对应1.1.1.1/32的路由对应下⼀跳是否为13.0.0.1为最优路由呢? 验证:在R5上查看对应是否能够学习到1.1.1.1/32的路由呢? 提⽰:可以看到R5上对应1.1.1.1/32的路由并不会学习到,这是因为R4上1.1.1.1/32的路由最优路由被打上了no-export-subconfed的团体属性,该团体属性就是告诉R4不要将此路由发送给任何EBGP邻居;所以R5学习不到; BGP团体属性过滤器 BGP团体属性过滤器是指通过团体属性来过滤路由,结合路由策略,将团体属性过滤器当作匹配条件,从⽽达到修改路由的某些属性等;BGP团体属性过滤器分基本团体属性过滤器和⾼级团体属性过滤器,两者最⼤的区别在于⾼级团体属性过滤器可以使⽤正则来匹配,⽐基本团体属性过滤器要更加灵活和强⼤; BGP团体属性过滤器创建 在R2上创建团体属性过滤器 提⽰:团体属性过滤器和acl差不多,1-99的编号表⽰基本的团体属性过滤器,100-199是⾼级团体属性过滤器;后⾯接允许或拒绝模式,模式后⾯接团体属性,可以跟多个团体属性,多个团体属性之间是或关系,即表⽰满⾜其中⼀个即可; 团体属性过滤器调⽤ 提⽰:团体属性过滤器可以通过路由策略来调⽤;上述命令表⽰匹配R1发送的团体属性no-export,将对应匹配的路由的团体属性修改为internet;然后在R2的⼊⽅向调⽤对应的路由策略; 验证:在R2上查看对应的团体属性 提⽰:可以看到对应的团体属性已经重写为internet; 私有团体属性 私有团体是属性的格式为数字(2字节):数字(2字节);这两数字本质没有什么贴吧的要求,只啊哟满⾜2字节即可; ⽰例:在R1上将1.1.1.1/32的路由打上私有团体属性1:2 在R3上查看团体属性 附加团体属性 在R3上附加团体属性8:8 验证:在R3上查看团体属性 提⽰:可以看到此时R3的1.1.1.1/32的路由就携带了两个团体属性1:2和8:8;后续R4可以根据这两个团体属性创建团体属性过滤器来修改路由属性等操作; ⽰例:在R4上创建团体属性过滤器,拒绝带有1:2的团体属性的路由 验证:在R4上查看bgp路由表,看看对应是否能够从R3上学习到1.1.1.1/32的路由呢? 提⽰:可以看到此时R4上就没有从R3发送携带1:2的团体属性的路由了;这⾥需要提⽰⼀下,团体属性过滤器和ip前缀列表匹配规则类似,默认规则是拒绝,所以在路由策略⾥需要加上空语句允许其他未被匹配到的路由;其实团体属性过滤器就是针对BGP路由的专有过滤器,⽤法和其他过滤器⼤同⼩异,都是⽤作路由策略的匹配条件来修改路由属性;。
SDN与NFV技术介绍题库

SDN与NFV技术介绍一、单选1、BGP协议的Community属性作用是什么?A.灵活的控制大量的路由B.记录AS路径信息2、VXLAN(Virtual Extensible LAN),是一种网络虚拟化技术,改进大型云计算的部署时的扩展问题。
可以说是对vlan的一种扩展,由于vlan Header头部限长是12bit,导致vlan的限制个数是2^12=4096个,无法满足日益增长的需求。
而VXLAN的报文Header长度为()bit。
A.12B.24C.36D.483、VXLAN技术是一种()技术A.隧道B.16MC.20BD.B2C4、内存软件虚拟化GVA->GPA->HVA->HPA,两两之间前者到后者是由()完成的。
A.前两步Host机的系统页表完成,中间两步由VMM定义的映射表完成,后面两步则由虚拟机的系统页表完成B.前两步由虚拟机的系统页表完成,中间两步由VMM定义的映射表完成,后面两步则由Host机的系统页表完成C.前两步由VMM定义的映射表完成,中间两步由虚拟机的系统页表完成,后面两步则由Host机的系统页表完成D.前两步由VMM定义的映射表完成,中间两步Host机的系统页表完成,后面两步则由虚拟机的系统页表完成5、MANO中主要用于虚拟化网络生命周期及资源调度管理的是()A.VIMB.NFVOC.VNFMD.NFVI6、MANO中主要用于虚拟化网元实例生命周期管理的是()A.VIMB.NFVOC.VNFMD.NFVI7、NPAT采用的是()映射方式。
A.地址B.端口C.地址+端口D.都不对8、PAT方式的地址转换采用了()映射方式。
A.地址B.端口C.地址+端口D.都不对9、默认路由为网络和掩码()的路由。
A.全0B.全1C.全255D.部分为010、对于RIP协议最大的cost为()跳。
A.10B.15C.20D.2511、要使端口组到达其他VLAN上的端口组,必须将VLAN ID设置为()A.80B.4095C.8080D.330612、vSphere Client一次能管理()个ESXi的主机A.1B.2C.3D.413、当一台物理服务具备4socket8core(即4路8核)的cpu资源时,将CPU可以虚拟化成多个vCPU提供到虚拟机使用,在未开启超线程的情况下最多不能分配超过()个vCPUA.12B.16C.24D.3214、Keystone是OpenStack中的服务之一,在OpenStack架构中,Keystone是一个中心,所有的项目都会和它发生交互,Keystone提供什么服务A.存储服务B.认证服务C.计算服务D.网络服务15、关于Neutron下列说法不正确的是A.控制节点上部署neutron server服务,以及core plugin和service plugin组件B.网络节点上部署的服务包括:core plugin的agent,service plugin的agentC.计算节点上部署core plugin的agent,负责提供虚拟机的二层网络功能D.存储结点上部署service plugin的agent,负责提供I/O数据控制功能16、OpenStack功能区是整个OpenStack架构中最核心的部分,包括哪些功能A.为OpenStack系统提供构建、部署、生命周期管理等功能B.为OpenStack的运营运维提供辅助工具,包括系统监控、优化、计费、多区域管理C.为OpenStack提供开放的API,通过SDN可以对系统进行定制化开发D.是整个OpenStack架构中最核心的部分,包括计算、存储、网络、公共服务、大数据服务等功能,提供了云计算的大部分的服务17、OpenStack运营运维类提供什么功能A.为OpenStack系统提供构建、部署、生命周期管理等功能B.为OpenStack的运营运维提供辅助工具,包括系统监控、优化、计费、多区域管理C.为OpenStack提供开放的API,通过SDN可以对系统进行定制化开发D.是整个OpenStack架构中最核心的部分,包括计算、存储、网络、公共服务、大数据服务等功能,提供了云计算的大部分的服务18、OpenStack生命周期管理类提供什么功能A.为OpenStack系统提供构建、部署、生命周期管理等功能B.为OpenStack的运营运维提供辅助工具,包括系统监控、优化、计费、多区域管理C.为OpenStack提供开放的API,通过SDN可以对系统进行定制化开发D.是整个OpenStack架构中最核心的部分,包括计算、存储、网络、公共服务、大数据服务等功能,提供了云计算的大部分的服务19、OpenStack开发类提供哪些功能A.为OpenStack系统提供构建、部署、生命周期管理等功能B.为OpenStack的运营运维提供辅助工具,包括系统监控、优化、计费、多区域管理C.为OpenStack提供开放的API,通过SDN可以对系统进行定制化开发D.是整个OpenStack架构中最核心的部分,包括计算、存储、网络、公共服务、大数据服务等功能,提供了云计算的大部分的服务20、BGP协议的MED属性使用范围是什么?A.AS内部B.AS之间21、BGP协议的MED属性的作用是什么?A.控制报文从哪个出口离开ASB.控制报文从哪个入口进入AS22、如果下一跳地址为1.1.1.1,下列默认路由配置正确的是()。
BGP community属性

community属性。
这是不同于选路属性的一个属性。
该属性具有以下几个特点;1 community是一个任选可透明传送属性,它可以简化策略的执行。
2 它是cisco的一个专有属性,现在在RFC1997中已被标准化。
3 commnity属性标明一个目的地作为一些目的地团体中的一个成员,这些目的地共享一个或多个共同的特性。
4 community值可以自己定义,另外有几个已经定义好的团体属性:NO_ADVERTISE:表示携带该值的路由不能公布给EBGP和IBGP邻居NO_EXPORT:表示携带该值的路由不能公布给EBGP邻居LOCAL_AS:(NO_EXPORT_SUBCONFED)携带该值的路由可以公布给联盟内的其它子自治系统但不能在构成联盟的AS以外进行公布。
试验步骤如下:配置BGP,在本实验中要建立联邦我们顺便学习一下联邦配置团体属性,让2.2.2.0网络只被R2学习到配置团体属性,让22.22.22.0网络只被R2,R3学习到配置团体属性,让222.222.222.0网络只被R2,R3,R4学习到配置团体属性,让R1不传递2.2.2.0 这条路由二试验配置配置BGPr1#sh run | b r brouter bgp 100no synchronizationnetwork 2.2.2.0 mask 255.255.255.0network 22.22.22.0 mask 255.255.255.0network 222.222.222.0neighbor 12.0.0.2 remote-as 234no auto-summaryr2#sh run | b r brouter bgp 64512no synchronizationbgp confederation identifier 234 /指明联邦号是234neighbor 12.0.0.1 remote-as 100neighbor 23.0.0.3 remote-as 64512 /R3跟它处于联邦内同一个子AS中neighbor 23.0.0.3 next-hop-self /指定下一跳是它自己no auto-summaryr3#sh run | b r brouter bgp 64512no synchronizationbgp confederation identifier 234bgp confederation peers 64513 /指明该联邦内的另一个子AS neighbor 23.0.0.2 remote-as 64512neighbor 34.0.0.4 remote-as 64513 /R4跟它处于联邦内不同子AS之间no auto-summaryr4#sh run | b r brouter bgp 64513no synchronizationbgp confederation identifier 234bgp confederation peers 64512neighbor 34.0.0.3 remote-as 64512neighbor 45.0.0.5 remote-as 500no auto-summaryr5#sh run | b r brouter bgp 500no synchronizationneighbor 45.0.0.4 remote-as 234no auto-summary查看网络r2#sh ip bgpNetwork Next Hop Metric LocPrf Weight Path*> 2.2.2.0/24 12.0.0.1 0 0 100 i*> 22.22.22.0/24 12.0.0.1 0 0 100 i*> 222.222.222.0 12.0.0.1 0 0 100 ir3#sh ip bgpNetwork Next Hop Metric LocPrf Weight Path*>i2.2.2.0/24 23.0.0.2 0 100 0 100 i*>i22.22.22.0/24 23.0.0.2 0 100 0 100 i*>i222.222.222.0 23.0.0.2 0 100 0 100 i在R2上已经修改了下一跳,所以这时下一跳已经是R2自己了。
BGP团体属性课堂笔记

route-map COMMU permit 10 match clause : ip address prefix-list : 4.0 set :
community 456:4 456:456 (两者同时共存,而不是相互覆 盖)
Ip bgp-community new-format ( 全局配
置模式下 )
团体属性的分类: 分为“公有团体属性”和“私有团体属性”!
公有团体属性----
1、internet :说明该路由可以在internet
网上任意的传输;
2、no-export :将本路由不能传输到 本地
的 AS(大的AS) 之外;
route-map WOLF PERMIT 20 match community 1 2 matchip address 99
扩展的团体属性列表: R3(config)#ip community-list 100 permit ? LINE An ordered list as a regular-expression ------>扩展的团体属性列表 是通过“正则表达式”来表示“团体属性”的!
团体属性列表:ip community-list 分类:标准、扩展;
标准的团体属性列表:匹配的是特定的团体属性值(老格式和新格式
均可),ID范围为 1 ---- 99 扩展的团体属性列表:匹配的是“正则表达式”,即通过正则表达式 的方法来表示“团体属性字符串”,ID范围为 100 --500;
标准的团体属性列表: Ip community-list 10 permit 100:1 100:2 100:3 ----->当多个团体属性在 同一个团体属性列表条目时,他们之间是“与”的关 系,即一个路由条目必须同时包含这些团体属性值,才可以匹配住;
BGP详解——精选推荐

BGP详解BGP基础:1. 使⽤TCP179号端⼝作为底层传送机制。
由于将分段、重传、确认、排序等⼯作交给TCP处理,使得BGP的更新机制得到简化。
也由于BGP建⽴在TCP之上,因此需要为每个对等体建⽴⼀个独⽴的点到点连接。
2.利⽤AS_path 可以防环。
路由器在收到路由更新后,如果发现在AS_path中包含了⾃⼰的本地AS号,那么就说明出现了环路。
进⽽拒绝接收该更新。
从⽽避免环路。
3.命令show ip bgp 可以看到BGP 路由表。
BGP 路由表中西那是了⽬的⽹络、下⼀跳、以及⽤于最短路径的度量值,weight、localpre、path等。
BGP 路由表列出所有已知路径。
*表⽰有效路由。
*>则表⽰当前使⽤的路由,该最佳路由是拥有最短AS_PATH的路径。
如果去往⽬的地是存在多条并⾏等价路径,默认下EBGP仅选择⼀条路径。
命令maximum_path拥有更改并⾏路径的默认最⼤值。
⽽对于IBGP⽽⾔,只能使⽤⼀条链路。
4.两个邻居在⾸次建⽴BGP对等连接时,会交换各⾃的全部BGP 路由表,之后则交换增量的部分更新。
由于BGP 不使⽤周期性的路由更新机制,因⽽对等体之间必须交换保持激活消息(keepalive)消息,以维护该对等体连接。
BGP消息类型在建⽴bgp对等连接之前,两个邻居必须执⾏标准TCP三次握⼿进程,并在端⼝179打开TCP连接。
所有BGP消息采⽤单播⽅式经TCP连接传递给邻居。
4种消息类型:-Open 消息-keepalive (保持激活)消息-Update 消息-Notification (通告)消息1.open 消息:TCP建⽴后,两端发送Open消息指定BGP参数包括:- BGP版本号:如果两端版本不⼀致,则协商⾄相同为⽌,版本号⾼的服从版本号低的。
假设⼀端是BGP-3,另⼀端是BGP-4,则最后协商的结果为BGP-3.-⾃治系统号:表⽰会话发起端路由器的AS号,⽤以确定该BGP会话是EBGP会话,还是IBGP会话-保持时间:表⽰路由器在收到keepalive消息或者Update消息前可以等待的最长时间。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
BGP community属性无敌详解文档(视频详解+配套文档)community属性是BGP众多路径属性中一个相对比较难理解的知识点,需要通过大量实验加深印象,为了帮助大家更清晰的了解这个路径属性,我特定编写了这份文档,希望对大家有所帮助。
本文档配套详解视频:1、community的基本概念可选传递,用于简化路由策略的执行。
可以将某些路由分配一个特定的COMMUNITY 属性,之后就可以基于COMMUNITY值而不是每条路由进行BGP属性的设置了。
COMMUNITY属性对邻居起作用,在设置后,同时需要向邻居发送(send community,默认是不会发送的)。
COMMUNITY属性是一组4个8位组的数值,RFC1997规定前2B表示AS号,后2B 表示基于管理目的设置的标示符,格式为AA:NN,而CISCO默认显示格式为NN:AA (CISCO IOS在显示community值时,默认是按10进制格式显示),可使用全局配置命令ip bgpcommunity new-format将CISCO默认格式改为RFC格式。
例如将AS12的某条路由COMM值改为10000,RFC采用十六进制表示COMMUNITY属性,而CISCO采用十进制。
RFC格式为12:10000,十六进制为0x 000C2710,再转换为十进制796432(这就是CISCO IOS默认显示的值)。
抓个包看一下:2、在route-map中设置community属性route-map test permit 10set community ?<1-4294967295> community numberaa:nn community number in aa:nn formatadditive Add to the existing community 设置commu值为附加,否则为覆盖 internet Internet (well-known community) 默认所有路由都属于该团体local-AS Do not send outside local AS (well-known community)no-advertise Do not advertise to any peer (well-known community)no-export Do not export to next AS (well-known community)none No community attribute下边我们来看一下community的这几个众所周知值的本文为原创博文,no-advertiseno-exportlocal-as配置示例(使用route-map为路由分配community):在R1上为路由11.11.11.0/24分配community 100:11,并且传递给R2,那么R1上配置如下:ip prefix-list 11 permit 11.11.11.0/24route-map test permit 10match ip address prefix-list 11set community 100:11router bgp 100network 11.11.11.0 mask 255.255.255.0neighbor 10.1.12.2 remote-as 200neighbor 10.1.12.2 send-community // 默认community不发送,因此必须配置该命令neighbor 10.1.12.2 route-map test out注意community默认不发送,必须send-community。
另外一条路由前缀可以携带多个community形成一个列表,如果要针对特定路由在原有的community基础之上再增加一个community,则在route-map中set community时,增加additive关键字。
3、使用ip community-list匹配community值ip community-list ?<1-99> Community list number (standard)<100-500> Community list number (expanded)expanded Add an expanded community-list entrystandard Add a standard community-list entryip community-list 也像ACL那样,有标准和扩展之分,1-99为标准,100-199为扩展。
扩展的community-list 可以使用正则表达式匹配路由。
这里有一点需要注意,ip bgp-community new-format用于转换community在CISCO IOS中的显示格式,当在扩展的community-list列表中使用正则表达式的过滤结果会由于格式的选择不同而不同。
ip community-list示例1在上面实验的基础上,R1传递给R2的11.11.11.0/24路由,携带了community值100:11,这个值可以在R2上使用ip community-list进行匹配,从而可以进一步在route-map中用这个community-list去设置策略。
我们现在在R2上用community-list 去匹配100:11,通知添加一个no-export的community到该路由。
R2的配置如下:ip community-list 11 permit 100:11route-map test permit 10match community 11set community no-export additiverouter bgp 200neighbor 10.1.12.1 remote-as 100neighbor 10.1.23.3 remote-as 300neighbor 10.1.23.3 send-communityneighbor 10.1.23.3 route-map test outR3上show ip bgp 11.11.11.0BGP routing table entry for 11.11.11.0/24, version 5Paths: (1 available, best #1, table Default-IP-Routing-Table, not advertised to EBGP peer)Flag: 0x820Not advertised to any peer200 10010.1.23.2 from 10.1.23.2 (10.1.23.2)Origin IGP, localpref 100, valid, external, bestCommunity: 100:11 no-exportip community-list的示例2(逻辑关系):当11.11.11.0/24路由前缀携带的community属性为“100:11 no-export”,我们做如下测试:Ip community-list 11 permit 100:11匹配。
这种写法将匹配community中包含100:11的路由。
Ip community-list 11 permit 100:11 no-advertise不匹配。
这种写法要求community中同时包含100:11及no-advertise才匹配成立。
Ip community-list 11 permit 100:11Ip community-list 11 permit no-export (或将no-export换成no-adv)匹配。
这种写法只要community中包含100:11或no-export就匹配成立ip community-list的示例3(严格匹配community):注意我们实验环境的变化,12.12.12.0携带的community值为no-export,如果我们只希望匹配no-export community值(的路由),那么怎么写呢?如果是直接去匹配no-export,会连同11.11.11.0也一并匹配上了,所以就要使用到exact-match关键字了。
在R3上如果配置如下:Ip community-list 11 permit no-exportroute-map test permit 10match community 11 exact-match // 严格匹配如果不加exact-match关键字,则该community-list将匹配11及12路由,加了之后,则只匹配community为no-export的路由,不能多,不能少。
4、在community列表中删除特定的community值前面已经说了,一条路由,允许携带多个community值,构成一个community列表,那么如果想删除某个或者某几个community值,例如:12:11 12:1111 no-export 这个comm列表,要删除其中的no-export,则可ip community-list 1 permit no-export // 匹配要删除的commu值route-map test permit 10set comm-list 1 delete // 用这条命令删除如果要删除多个community(而不是所有),则可在一个community-list中写多条,如ip community-list 1 permit no-exportip community-list 1 permit 12:1111然后再用set comm-list 1 delete去删除,注意上面community-list的写法,要用多行,在同一行写多个commu如ip community-list 1 permit no-export 12:1111则不生效。
R3收到两条路由,分别携带的community属性如上,现在,我们只想删除11路由的no-export属性。
ip community-list 11 permit 100:11 no-export //这条用来匹配11路由ip community-list standard del permit no-export //这条用来删除no-export属性,是个命令列表route-map test permit 10match community 11set metric 1111set comm-list del deleteroute-map test permit 20router bgp 300neighbor 10.1.23.2 remote-as 200neighbor 10.1.23.2 route-map test in如果想把11路由的100:11及no-export 两个community值都删除,则修改del 这条community-list即可:ip community-list standard del permit no-exportip community-list standard del permit 100:11。