BGP community属性

合集下载

BGP属性及选路原则

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属性解释

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属性总结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属性简介

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小结一、需要使用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属性

bgp属性
序号 1
属性名称 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属性及策略

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属性的应用摘要本文介绍了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个公认团体属性的定义,但在实际组网大家仍不能灵活应用,我们以下面这个案例来说明它们的应用场景。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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。

相关文档
最新文档