BGP的选路

BGP选路的前提条件---丢弃所有不可用的路由信息。



属性的名称

传播范围

默认值

评判标准(大优还是小优)

PV

不传播

0(0-65535)

越大越优

LP

IBGP对等体

之间

100

越大越优

AS_PATH

BGP对等体

之间

 

记录的数量越少越优

OGN

BGP对等体

之间

根据起源类型决定

I > e > ?

MED

BGP对等体

之间

默认继承全局路由表中路

由的开销值

越小越好



实时bgp asn ip分析 bgp lp值_实时bgp asn ip分析

 

实时bgp asn ip分析 bgp lp值_bc_02

1,优选PV值最大的路由

PV ---这个属性是华为的私有属性,可以理解为权重。---这个属性是本设备上选路优先级最高的属性,这个属性越大约优。----这个属性不能传递。

第一种方法:

[r4-bgp]peer 3.3.3.3 preferred-value 100

负载分担---即让不同的流量通过不同的路线来走,分担单一线路的压力。

第二种方法:

1,抓取流量

[r4]ip ip-prefix pv permit 10.0.0.0 24

2,做路由策略修改PV值

[r4]route-policy pv permit node 10

Info: New Sequence of this List.

[r4-route-policy]if-match ip-prefix pv

[r4-route-policy]apply preferred-value 100

[r4-route-policy]q

[r4]route-policy pv permit node 20----注意,一定要添加空表放通所有,否则将拒绝其他流量。

Info: New Sequence of this List.

3,在BGP中进行调用

[r4-bgp]peer 3.3.3.3 route-policy pv import

[r4-bgp]

 

2,优选LP属性值最大的路由。

LP ---本地优先级----在不做任何更改的情况下,默认值为100,也是越大约优。LP这个属性,他可以传递给自己的IBGP对等体关系,但是,不能传递给EBGP对等体关系。----这个属性是IBGP对等体之间选路最常用的属性。

 

第一种修改方法:

[r3-bgp]default local-preference 200

 

第二种修改方法:

R3出方向修改:

1,抓取流量

[r3]ip ip-prefix lp permit 10.0.0.0 24

2,做路由策略

[r3]route-policy lp permit node 10

Info: New Sequence of this List.

[r3-route-policy]if-match ip-prefix lp

[r3-route-policy]apply local-preference 300

[r3-route-policy]q

[r3]route-policy lp permit node 20

Info: New Sequence of this List.

3,BGP进程中进行调用

[r3-bgp]peer 4.4.4.4 route-policy lp export

 

3,始发的优于学来的,发布路由的方法又有很多种,他们之间的优先级关系为---手工聚合> 自动聚合> network > 重发布

4,优选AS_path属性值最短的路由

1,我们在聚合路由时开启AS_SET属性时,将不同AS明细路由的AS号用大括号括起来,放到AS_PATH中。需要注意的时,不管括号中有多少个AS号,在选路时都只看作一个。

2,联邦时,联邦内部也需要使用AS_path属性来进行防环,我们使用小括号括起来,这种情况下,我们选路时,不考虑小括号中的内容。

 

第一种方法:

在R1出方向修改AS_PATH

1,抓流量

[r1]ip ip-prefix as permit 10.0.0.0 24

2,做策略

[r1]route-policy as permit node 10

Info: New Sequence of this List.

[r1-route-policy]if-match ip-prefix as

[r1-route-policy]apply as-path 11 22 33 ?

INTEGER<1-4294967295> AS number in asplain format

(number<1-4294967295>)

STRING<3-11> AS number in asdot format

                     (number<1-65535>.number<0-65535>)

 

additive Append to original As Number---添加,在原先AS号的基础上增加配置的AS号

overwrite Overwrite original As Number---重写,将原先的AS号清除后按配置的添加

[r1-route-policy]apply as-path 11 22 33 additive ----建议选用添加,因为原先的AS号依旧要保证防环作用,所以,清除可能导致路由回传。

[[r1]route-policy as permit node 20----做空表放通所有

Info: New Sequence of this List.

 

3,BGP进程中调用

[r1-bgp]peer 12.0.0.2 route-policy as export

*> 10.0.0.0/24 12.0.0.1 0 0 1 11 22 33i

 

第二种方法:

在R2的入方向修改AS_PATH

*> 10.0.0.0/24 12.0.0.1 0 0 11 22 33 1i

[r2-route-policy]apply as-path 1 1 1 additive ---因为我们添加的AS号可能会影响路由信息的传入,因为AS_PATH本身防环功能的限制导致。所以,在修改这个属性时,建议添加真实离开的AS号,这样依然可以起到影响选路的效果,因为选路只看长短,不看内容,而且,可以避免防环误伤。

5,根据OGN属性的优先级进行选路判断---优先级关系为I > e > ?

OGN ---起源码---标识BGP路由的来源

1,通过NETWORK命令发布出来的路由信息----I ---表明这些路由都是起源于IGP(包含静态和直连)协议。

2,通过EGP协议(EGP指的是BGP之前使用的外部网关协议EGP)发布的路由信息----e

3,通过除了以上两种方法学到的路由---?---重发布的路由起源码就是?

 

干涉选路的方法:

1,抓取流量

[r1]ip ip-prefix ogn permit 10.0.0.0 24

2,做路由策略

[r1]route-policy ogn permit node 10

Info: New Sequence of this List.

[r1-route-policy]if-match ip-prefix ogn

[r1-route-policy]apply origin ?

egp Remote EGP

igp Local IGP

incomplete Unknown heritage

[r1-route-policy]apply origin incomplete

[r1]route-policy ogn permit node 20

Info: New Sequence of this List.

3,在BGP进程中调用

[r1-bgp]peer 12.0.0.2 route-policy ogn export

6,优选MED属性值最小的路由

MED ---多出口鉴别属性---这个MED值他的初始默认值并不是0,而是继承路由表中路由条目的开销值。

 

MED这个属性可以在本AS内部进行修改,最终影响其他AS的流量的出口的选择。相当于影响其他AS的流量如何进入本AS的一个属性。

 

MED属性自身宣告的路由本身将会把IGP的开销值作为MED属性添加到路由信息当中。之后,在IBGP对等体之间传递时,也会携带这个 值。如果是自身发布的,则发送给EBGP对等体时,也会携带这个值。如果是转发别人的路由信息,再需要发送给EBGP对等体时,将需要清除这个MED值。

 

结论---如果存在多个边界路由器,AS内的一些网段只在部分设备上进行发布,则有可能造成选路不佳的情况,所以,建议AS内需要发布的网段在所有边界设备上都进行发布。

 

这个MED值作为多出口的鉴别属性,在比较时有一个前提条件,就是多个出口必须属于同一个AS中,即收到的路由信息AS_PATH属性最左边的AS号必须相同,如果不同,则将不比较这个属性,直接向后比较。

 

干涉选路的方法:

在R2上做出方向的策略,影响R1选择到达4.0/24网段的出口。

1,抓取流量

[r2]ip ip-prefix med permit 4.4.4.0 24

2,做路由策略

[r2]route-policy med permit node 10

Info: New Sequence of this List.

[r2-route-policy]if-match ip-prefix med

[r2-route-policy]apply cost 10

[r2-route-policy]q

[r2]route-policy med permit node 20

3,在BGP进程中调用

[r2-bgp]peer 12.0.0.1 route-policy med export

 

<r4>ping -r -a 4.4.4.4 1.1.1.1---可以记录流量流过的路径信息

 

7,EBGP路由优于IBGP路由

 

8,优选到NEXT_HOP的IGP度量最小的路由

这条比的就是路由下一跳参数在路由表中的开销值。

10,在存在路由反射器时,将比较O_ID,不存在路由反射器时,就比较RID。

 

BGP的路由过滤

1,通过路由策略过滤

R2入方向的过滤

1,抓流量

[r2]ip ip-prefix aa permit 192.168.1.0 24

2,做策略

[r2]route-policy aa deny node 10

Info: New Sequence of this List.

[r2-route-policy]if-match ip-prefix aa

[r2-route-policy]q

[r2]route-policy aa permit node 20

3,在BGP中进行调用

[r2-bgp]peer 12.0.0.1 route-policy aa import

 

2,通过前缀列表进行过滤

1,配置前缀列表

[r2]ip ip-prefix bb deny 192.168.2.0 24

[r2]ip ip-prefix bb permit 0.0.0.0 0 less-equal 32---放通所有

 

2,在BGP中进行调用

[r2-bgp]peer 12.0.0.1 ip-prefix bb import

 

3,通过过滤列表进行过滤

1,使用ACL列表抓取流量(因为BGP中调用过滤列表时,只能调用ACL抓取的流量)

[r2]acl 2000

[r2-acl-basic-2000]rule deny source 192.168.3.0 0---选用的动作时拒绝,因为过滤列表本身没有拒绝功能。

[r2-acl-basic-2000]rule permit source any ---放通所有

 

2,在BGP进程中调用过滤列表

[r2-bgp]peer 12.0.0.1 filter-policy 2000 import

 

 

BGP的社团属性

实时bgp asn ip分析 bgp lp值_实时bgp asn ip分析_03

社团属性本身可以理解为是一种路由标签,所以其本质是---32位的二进制。----社团属性存在两种表达方式,1,直接由十进制来标识。2,通过前16位二进制:后16位二进制的方式来表达。(前16位一般是本地AS的AS号,后16位是自定值)

在一条路由条目中,我们可以给他标识多个社团属性。

 

BGP中定义了几个公认的社团属性,即给路由条目打上这样的社团属性,将必须按照BGP设定的动作来执行。

 

0X00000000 ---internet---如果通过全0的社团属性来抓取流量,则将

抓取到所有BGP的流量。即BGP的所有流量缺省情况下都属

于"internet"

 

0XFFFFFF02 ---NO-advertise ----如果给一条路由条目打上这个社

团属性,则这条路由信息将无法发送给自己的IBGP对等体或EBGP对

等体。

 

0XFFFFFF01 ---no -export---如果给一条路由条目打上这个社团属

性,则这条路由信息将可以发送给自己的IBGP对等体但是无法发送给

自己的EBGP对等体。(不能离开这个AS),但是可以发送给自己的

联邦EBGP对等体关系。

 

0XFFFFFF03 ---no -export -subconfed----如果给一条路由条目打上这

个社团属性,则这条路由信息将可以发送给自己的IBGP对等体但是无

法发送给自己的EBGP对等体。包括自己的联邦EBGP对等体关系。

 

 

[r1]route-policy aa permit node 10

Info: New Sequence of this List.

[r1-route-policy]apply community ?

INTEGER<0-4294967295> Specify community number

STRING<3-11> Specify aa<0-65535>:nn<0-65535>

internet Internet(well-known community attributes)

no-advertise Do not advertise to any peer (well-known community attributes)

no-export Do not export to external peers(well-known community attributes)

no-export-subconfed Do not send outside a sub-confederation(well-known community attributes)

none No community attribute

 

[r1-route-policy]apply community no-advertise

 

[r1-bgp]peer 12.0.0.2 route-policy aa export --在peer中调用

注意:目前大部分厂商默认在传递BGP路由信息时是不传递社团属性的,所以,如果需要传递社团属性,需要通过命令开启。

[r1-bgp]peer 12.0.0.2 advertise-community

 

自定义社团属性使用的思路是先在发布路由时打入社团属性,之后根据社团属性抓取流量,再根据抓取的流量做策略。

 

[r1]route-policy com1 permit node 10

Info: New Sequence of this List.

[r1-route-policy]apply community 1:11---通过路由策略修改属性

[r1-bgp]network 172.16.1.0 24 route-policy com1---在发布路由时调用属性,给路由中打入社团属性

 

根据社团属性抓取流量需要使用---社团属性过滤器

----community-filter 
[r1]ip community-filter 1 permit 1:11
[r1]ip community-filter 2 permit 1:22
[r1]route-policy com deny node 10
Info: New Sequence of this List.
[r1-route-policy]if-match community-filter 1
[[r1-route-policy]q
[r1]route-policy com permit node 20
Info: New Sequence of this List.
[[r1-route-policy]if-match community-filter 2
[r1-route-policy]apply community no-export ?
INTEGER<0-4294967295> Specify community number
STRING<3-11> Specify aa<0-65535>:nn<0-65535>
additive Add to the existing community
internet Internet(well-known community attributes)
no-advertise Do not advertise to any peer (well-known community
attributes)
no-export Do not export to external peers(well-known
community
attributes)
no-export-subconfed Do not send outside a sub-confederation(well-
known
community attributes)
<cr> Please press ENTER to execute command
[r1-route-policy]apply community no-export additive ---添加多个社团属性需要添加这个参数 
[r1-route-policy]q
[r1]route-policy com permit node 30---空表放通
Info: New Sequence of this List.
[r1-bgp]peer 12.0.0.2 route-policy com export ---调用