思科BGP技术详解七

来源:本站原创 网络技术详解 超过2,025 views围观 0条评论

五、BGP的属性

属性决定路由的选路。分为四种类别:公认必遵、公认自选、可选可传递 、可选不可传递,路径属性是Update包携带的。

(一)属性分为:

origin 起源属性。

Next-hop:下一跳属性

AS-path属性

本地优先属性

多出口鉴别器属性

1.公认必遵

对于任何一台运行的BGP路由器,都必须支持公认必遵属性,并且半路由信息发给其它BGp邻居时,必须中路由中写入公认必遵属性,这些属性是强制定入路由中的,一条不带公认必遵的路由被BGP路由器视为无效而被丢弃。个不支持公认强制属性的BGP,是不正常的,不合法的BGP

BGp路由必须携带的公认必遵属性有三种:origin\next-hop\as-path.

必用的属性。

2.公认自选(well-known discretionary

公认自选属性并不象强制属性那么严格,任何一台运行BGP的路由器上都必须支持公认自选属性,必须理解认识公认自选属性,但是为路由定入公认自选属性并不是必须的,是否要为路由写入公认自选属性可以自由决定,为路由写上公认自选之后,所有BGP路由都能认识和理解,并且都会自动保留和传递该属性。

3.可选可传递(optional transitive

并不是所有运行BGp的路由器都是能理解和支持可选可传递属性,路由的可选可传递属性是任意写入的,其它BGp路由器并不一定能理解,也并不一定能保留和传递该属性,但是当为路由设置了可选可传递后,可以明确要求BGP路由器保留和传递该属性。

意思是:一但用该属性,必须向下传递。

4.选不可传递属性(optional Nontransitive

只有特定的BGp路由器才理解和支持选不可传递属性,并且选不可传递属性理论上是不能手工设置的,即便手工设置了选不可传递属性,这些属性也不能任意传递,只可以传递到特定的BGP路由器

意思是:只要设置上,不能随便传,只传递特定的路由器。

(二)分别讨论各种分类:

1.origin(公认必遵的属性)

show ip bgp 在每行的最后有一i,标识的都是起源属性是一个代码,在这里起源是i – IGP

Network Next Hop Metric LocPrf Weight Path

*> 1.1.0.0/22 12.1.1.1 0 0 100 i

*> 2.2.2.0/24 0.0.0.0 0 32768 i

定义:

在路由器之间建立BGP邻居之后,邻居之间只能相互传递BGP路由表中的路由,在初始状态下,BGP的路由表为空,没有任何路由,要让BGp传递相应的路由,只能先将该路由导入BGP表,之后才能在BGP邻居之间传递。默认情况下,任何路由都不会自动进入BGP路由表,只能手工导入,对于路由是怎么进入BGp路由表的,这咱方式记录在路由条目中,称为origin属性,origin属性就反映出了路由是如何进入BGp 路由表的。要将路由导入BGP路由表,有三种方式:

(意思是:很明显,要建立TCP连接,无论什么时候看到最后是i,i代表IGP,只有在直连链路在路由表出现了,才能有可能加入到路由表,在BGp中,network命令只是把该是路由放入到BGP表中,只要TCP可达,就可以使用network命令把该路由放入到路由表中。

起源IGP,是IGP加进去的。

E: 代表EBGP

?:代表重分发,同步原则时,没有使用全互连时,要用?了。)

第一条:因为路由器上默认会有IGP路由表,通过命令show ip route可以查看到,这些IGP表中的路由可以被手工导入BGP,通过在BGP进程模式下使用命令network,即可将IGP表中的相应路由导入BGP路由表,并且需要指定掩码,只有network后面的网段和掩码在IGP路由表中能找到时,才会进入BGP路由表,并不能通过这种方式将一条不存在的路由凭空导入BGP,通过命令network被导入BGP的路由的Origin属性为IGP属性。

意思是:只有直连有了才能进去;掩码宣错了也进不去;通过network导入的是IGP

第二:BGP可以从EGP路由协议中获得路由信息,而EGP已经被淘汰,被BGP所取代,所以我们很难遇见EGP路由协议,从EGP路由协议获得的路由的Origin属性为EGP

意思是:很难遇到EGP,现在没有了。

第三:BGP路由表除了从IGPEGP获得路由外,还可以将路由重分布进BGP路由表,而重分布的路由的Origin属性为Incomplete(?)。

BGP路由表中到达同一目的地存在多条路径时,会通过比较路由的Origin属性来选择最优路径,它们的优先级为IGP优于EGPEGP优于Incomplete,即IGP>EGP>Incompletei>e>?)。

第三条:我到达相同的网络,即有bgpIGP ?学的来的,优先的顺序j :IGP>egp>inconplete (i>E>?)

2.AS-path(公认必遵的属性)

意思是:一是防止环路,二是比较到达目的的优劣。分为:AS-sequenceAS-set .

AS-sequence是记录序列号。AS-set记录所经过的AS号,但是无序的,也是为了以上环路的中图:

3.next-hop

AS_Path中包含了BGP路由器到达目的地所经过的所有AS的集合,AS_Path中会包含了多个AS号码,号码的多少,逻辑上反映了到达目的地的远近。

AS_Path还能细分为:

AS_SEQUENCE(有序的AS号码,即AS号码在AS_Path中是按一定顺序排列的)

AS_SET(无序的AS号码,即AS号码在AS_Path中的排列是没有顺序的,通常是将多条拥有不同AS_Path的路由汇总后产生的)

BGP路由表中到达同一目的地存在多条路径时,会优选AS-Path最短的路径

意思是:

宣告路由器(发信息的路由器):是宣告本自治系统的路由器给别的路由器,即从到本身来看其它路由器。

比较到目的地的优劣;

能将多个AS中的地址汇总,要设置一个AS-set,让回来的路径知道去哪里。

3.Next-hop:(网络可达消息通告的网络)(公认必遵的属性)

官方解释:

也就是BGP将数据包发往目的地的下一跳,BGP路由的下一跳,就是BGP建立邻居时的地址,也是BGP之间建立TCP连接所使用的地址。因为这个地址可以是路由器上任意接口的地址,是要能通信即可(其连通性由IGP提供保证),所以BGP在将数据包发往下一跳时,通常需要采用递归查询在IGP路由表中查询该下一跳地址。默认情况下,一台BGP路由器将路由传递给eBGP邻居时,会将Next-hop属性改为自己的地址,也就是和对方建立邻居所使用的地址,而在将路由传递给iBGP邻居时,不会改变Next-hop属性。

对于将路由传递给BGP邻居时,是否改变Next-hop属性的功能,可以自由关闭或启用。

BGP路由表中由本地产生的路由而不是从BGP邻居学习来的,即本地发起路由的Next-hop属性都为0.0.0.0

如果宣告路由器和接收路由器位于不同的自制系统中,那么Next-hop是宣告路由器的接口地址

如果宣告路由器和接收路由器位于同一自治系统中,且Update消息的NLRI指向的是同一AS内的目的地址,那么Next-hop是宣告该路由的邻居的IP地址

如果宣告路由器和接收路由器位于同一自治系统中,且Update消息的NLRI指向的是不同AS内的目的地址,那么Next-hop是外部对等体的IP地址.

意思是:

1)如果宣告路由器和与接受路由器位于不同自治系统,下一跳是宣告路由器的接口地址;

2)如宣告路由器与接受路由器位于同一自治系统,宣告的地址为本自治系统,则下一跳是他的更新源。

3)如宣告路由器是宣告的网络是和本向不是同一自治系统,则下一跳是

4.:多出口鉴别器(MED)属性(属于可选非传递属性)

官方:

MED就是BGP路由中的metric,是被设计用来影响在多个下一跳都为eBGP邻居时,如何选择最优路径,因为在多个下一跳都为iBGP时,是建议使用修改Local_Pref属性来影响选路的,而多个下一跳都为eBGP时,则使用MEDMEDBGP路由的metric,所以多条路径中拥有最小MED值的路径会被优先使用。MED默认值为0

Local_Pref属性只在同一个AS内部传递,而MED只能在AS之间传递,只有在将路由发给eBGP邻居时,才会传递MED,在发给iBGP时,是不会传递MED的。当一条路由被设置MED值后传递给eBGP邻居,在eBGP邻居收到后,如果将该路由继续传递给iBGP邻居,那么这个值会被还原为默认值0,也就是说同一个AS内,所有发给iBGP邻居的路由的MED值都为0,这是为了让所有AS内部路由器都能够拥有相同的选路结果。

MED值也是可以随意修改的。

clip_image002

在上图中,当AS 20中的路由器R4要去往目的地为AS 10的网段时,由于下一跳R1R2都为eBGP邻居,所以可以通过修改MED值来影响R4对于下一跳的选择。比如将R2MED改为10,而R1MED保持默认不变,那么最终R4将选择R1去往AS 10中的目的地,因为R1MED0小于R2MED10,所以被优先使用。

默认情况下,只有当去往目的地的多个下一跳eBGP邻居都为相同AS时,才会比较MED值,如果多个eBGP邻居为不同AS时,是不会比较MED的,若是要强制在多个不同的eBGP邻居之间比较MED值,需要在BGP进程下输入命令:bgp always-compare-med

意思是:

默认把MED看作是一度量,可以修改

1)在BGP 中,流量是分方向的,从R1loop R4loop ,去的时候走的下面,回来的时候要上面了,这和IGP不一要,IGp是去走哪,回来也走哪。

2)“当存在到某个网段的多个入口的时候作为度量来指明最佳入口路径”MED影响的入站路由。在本地做配置将影响到外面。在本地影响对方进来的流量。

3)影响邻居;

4)默认值为0.越小越优先。

5)相同的自治系统传给对方的流量不会再回来。

6)只有当外部对等体属于同一个相邻的自治系统的时候才会比较多出口鉴

别器值,这个量度只应用于配置的外部对等体之间的连接。即用于外部对等体之间即EBGP之间。

4Local_Pref本地优先(公认自选属性):(是用在IBGp之间)

Local_Pref称为本地优先级,其中的(Local)本地就是指本AS,或AS内的意思,所以可以想象得出,Local_Pref属性的传递范围,只在同一个AS内有效,一条路由的Local_Pref属性只能在同一AS内部传递,出了AS后就会被还原成默认值。

Local_Pref属性在BGP邻居之间是自动传递的,只有在将路由发给iBGP时才会传递,而在发给eBGP时,是没有Local_Pref值的,一条路由的Local_Pref属性在一个AS内的所有BGP路由器上是完全相同的。Local_Pref的默认值为100,由此可以看出,一条路由在AS内的所有路由器上默认值为100

本地优先级属性是用于区分到同一目的地的各个路由优先程度的。本地优先级越高,路由优先级越高。默认值为100

BGP路由表中到达同一目的地存在多条路径时,会比较Local_Pref值的大小,Local_Pref值大的会被选为最优路径,如110100,那么110会被选为最优路径。

Local_Pref值可以被随意修改,修改后将在整个AS内传递,所以推荐使用Local_Pref属性来控制一个AS的路由器去往目的地在其它AS的路径。如下图:

clip_image004

在上图中,AS 10中的BGP路由器R3可以同时通过R1R2去往目的地在AS 20中的R4上时,可以通过在AS 10内部修改路由的Local_Pref值来影响选路,比如在R1上将路由的Local_Pref值改为110,而路由器R2上不作任何改动,最终R3将选择从R1去往AS 20,因为R1Local_Pref值为110,而R2Local_Pref值为100(默认),所以R3选择R1为最优路径。

因为R1R2在将路由发给iBGP邻居R3时会携带Local_Pref属性,所以R3同时比较iBGP邻居R1iBGP邻居R2时,才合适使用Local_Pref属性,因为下一跳都是iBGP邻居,如果下一跳不都是iBGP邻居,并不建议修改Local_Pref属性来影响选路。

意思:当到一个外部目的网段有多个路径时本地优先属性用来指明对路径的优选程度,和多出口鉴别

器一样,本地优先的配置也是基于邻居的,它的默认值是100,越大越优先,而且不会被传送给EBGP

对等体。

(三)BGP的选路规则:

1.权重:

当到目的地有多路径时,首先看权重。

权重是cisco私有的,只对本地路由器起作用,不会被告转发给其他任何对等体。

Weight属性为Cisco私有属性,只有Cisco的路由器才能认识和理解Weight。路由的Weight属性只在路由器本地起作用,BGP将路由传递给邻居时,并不会保留WeightWeight值的范围为0~65535,默认为0,如果是BGP本地路由,则Weight值为32768。可以手工任意修改路由的Weight值,可以对路由进行修改,也可以对整个邻居进行修改,但也只能对本地起作用,路由的Weight值并不会传递给邻居。

BGP路由表中到达同一目的地存在多条路径时,会优选Weight值最大的路径。在Cisco路由器中,比较最优路径的第一条规则就是比较Weight值,所以只要改动Weight值,就绝能够控制Cisco路由器的BGP选路。

2.本地优先:

如果没有权重,看本地优先,越大越优先。

3.本地始发:

只要TCP可达,就是到达BGP,学到二条路由,先选择本地始发的路由。

4.最短的AS-Path

5.起源属性:i>e>?

6.MED:多出口器,默认值为0,越小越优先。

7.EBGP>IBGP: EBGPIBGP优先,

8.有二条相同路径(无论是EBGP还是IBGP),选择最小的IGP度量的路径

如前面8条都相等,则Maxinum-paths才生效。

9.如果路径都是外部的,建立时间最长的优先。

10.选择最小的router-id

11.选择最小的集群标识符

12.选择最小的对等体的地址。

文章出自:CCIE那点事 http://www.jdccie.com/ 版权所有。本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源。 禁止全文转载。
本文链接:http://www.jdccie.com/?p=3037转载请注明转自CCIE那点事
如果喜欢:点此订阅本站