当前位置:首页 > xiaomi WIFI设置 > 正文内容

bgp联盟内的路由传递

秋天2023年02月26日 14:00:16xiaomi WIFI设置282

针对bgp联盟内的路由传递这个问题,本文将综合不同朋友对这个bgp路由接入是什么意思的知识为大家一起来解答,希望能帮到大家

本文内容目录一览:

【HCIP】3BGP协议-2.4BGP邻居关系的建立

BGPTCP三次握手后发送的报文:

open报文:

邻居建立和能力参数协商,(至少有一个地址簇能力要一致)

keepalive报文:

默认每隔60s周期性发送,如果180s没有收到keepalive报文,则认为BGP邻居失效

断开TCP连接。

update报文:

BGP路由传递以及撤销

Route-refresh报文:

用于手动进行BGP路由的触发更新,或者用于ORF功能。

Notificationn报文:

通知报文,用于报错,收到该报文会断开TCP连接。

BGP的状态机:

Idle:

产生原因:

1、没有去往邻居地址的路由,无法发起TCP三次握手,也无法完成TCP的三次握手。

2、发起TCP连接请求后被对端拒绝,发起TCP报文的源地址,不是本端指定的邻居地址。

Connect(连接):

产生原因:发起TCP连接路由器,无法收到邻居的TCP回应报文时会变为connect状态,并且5s后重传一次TCP连接请求,再等待32s左右,重新发起TCP连接请求。

Active状态:

产生原因:

本节我们继续从BGP建立邻居前的TCP三次握手到发送Open报文、Keepalive报文。邻居建立之后,我们对现网的操作可能会产生update报文。

现在我们谈一谈Update报文

BGP通过Network和Import两种方式生成BGP路由,BGP路由封装在Update报文中通告给邻居,BGP在邻居关系建立后才开始通告路由信息。

Update消息主要用来发布可用路由和撤销路由,Update中包含以下信息:

1、网络层可达信息(NLRI):用来公布IP前缀和前缀长度。

2、路由属性:为BGP提供环路检测,控制路由优选。

3、撤销路由:用来描述无法到达且从业务中撤销的路由前缀和前缀长度。

再通告BGP路由时,由于各种因素的影响,为了避免路由通告过程中出现的问题,BGP路由通告需要遵守一定的规则,下面进行详细分析。

BGP路由信息中如何看一条邻居是最好的路由?

在BGP路由表中,带的路由是最优的路由。

这是IBGP中重要的防止环路规则之一,又称之为IBGP的水平分割。

这个只会产生在BGP非全互联的拓扑中,即同一个AS内存在没有做BGP处理的路由器中,才会进行BGP与IGP的同步。

我们看以下实验:

在这个拓扑图中,BGP传播路由是可以跨路由器传递的,A路由器可以将路由通过EBGP传递给B,B可以通过IBGP传递给D,因为B路由器到D路由器有运行OSPF协议,路由可达,D再次通过EBGP传递给E。

但是C路由器上却没有A路由器100.0.o.o的路由,因为C路由器没有运行BGP协议。

这样就会导致E路由器在回包的时候,将100.0.o.o的路由先发送给D,D继续转发给C,C直接丢弃。这就出现了BGP的路由黑洞。最终导致路由不通。

这种又该怎么处理呢?

其实,我们的D路由器会在IBGP报文发送过来之后,查询自己的IGP路由表中是否存在该路由,如果存在,则认为在这个区域内,其他路由器都存在该条路由,就认为是同步了,继续通过EBGP传递给E路由器,反之,则认为在这个区域内,其他路由器都不存在该条路由,直接丢弃。

*1、将EBGP路由引入到IGP协议中,(基本被淘汰)比较消耗设备资源,因为BGP路由数量过于庞大,引入到IGP协议,增加的IGP协议计算路由负担。BGP路由震荡,IGP路由也会产生震荡。

*2、AS内部所有路由器均运行BGP协议,即IBGP全互联。主流架构,此时不再需要同步检测。

从IBGP邻居得到的路由不会传递给IBGP邻居

从IBGP邻居得到的路由同步检测后传递给EBGP

1、AS内部防患,IBGP的水平分割:通过IBGP获得的最优路由不会发布给其他的IBGP邻居。

BGP工作原理(5)

一、BGP路由信息决策过程

1、Adj-RIB-In    存放从对等体接收到的更新

当从对等体接收到Update报文时,路由器会把Update报文存储到路由信息库RIB,并指明是来自哪个对等体的;

Update报文经过BGP输入策略引擎路由过滤或修改属性;

路由器执行路径选择算法,来为每一条前缀确定最佳路径;

2、Loc-RIB    存放经过输入策略引擎、路径选择处理过的路由

得出的最佳路径被存储到本地BGP RIB中,然后将loc-RIB的路由加载到IP-RIB中;

3、Adj-RIB-Out    存放经过输出策略引擎处理过的路由

Loc-RIB中的路由在被通告给其他对等体之前,必须通过输出策略引擎,只有那些成功通过输出策略引擎的路由,才会被安装到输出RIB中;

二、BGP选路规则

1、忽略下一跳不可达的路由;

2、优选prefer-value数值大的路由;                缺省值0

3、优选Local-preference数值大的路由;        缺省值100

----------------------------------------------------4、5、6三条规则用于比较自身产生的路由

4、聚合路由优于非聚合路由;                             

5、手工聚合路由优于自动聚合路由;

6、network发布的路由优于import发布的路由;

7、优选as-path长度短的路由;

8、IGP起源的路由优于EGP起源的路由优于未知起源的路由;

9、优选MED数值小的路由;     缺省值0,命令compare-different-as-med修改缺省比较行为

10、EBGP路由优于IBGP路由;

11、优选下一跳IGP开销小的路由;

============================满足以上条件可选实现负载分担;

12、优选cluster-list长度短的路由;            有的有,有的没有,没有的优先

13、优选Originator-ID或RouterID小的路由;        二选一,优先比较Originator-ID

14、优选对等体地址小的路由;

三、BGP的负载分担

1、BGP路由的负载分担

到达同一目的地通常会存在多条有效路由,但是BGP只将最优路由发布给对等体;

前11个属性完全相同的情况下,可通过命令maximum load-balancing ebgp|ibgp配置BGP负载分担的最大等价路由条数,实现下发多条不同下一跳的BGP路由到IP路由表中,缺省值为1,不进行BGP路由负载分担;

如果满足负载分担条件的BGP路由数大于定义的BGP负载分担规格,继续从第12条规则比较下去;

到达同一目的地的eBGP路由和iBGP路由不能形成负载分担,如果最优路由是ibgp路由,则只是ibgp路由形成负载分担;如果最优路由是ebgp路由,则只是ebgp路由形成负载分担;

缺省情况下,BGP只对AS-path属性完全相同的路由进行负载分担,也适用于联盟内部的自治系统之间,可通过命令load-balancing as-path-ignore配置路由在形成负载分担时不比较路由的as-path属性,但是该方式可能会引起路由环路;

2、下一跳路由的负载分担

BGP区别于IGP协议的一点是其下一跳地址可以是非直连路由的接口IP,非直连的下一跳在路由器上会执行迭代路由进行查找路由表,BGP依赖下一跳路由来转发数据,所以如果下一跳地址所对应路由在IP路由表中是负载分担的(IGP的ICMP),也就间接实现了BGP报文转发的负载分担;

BGP同步

在华为VRP平台中,BGP同步默认是关闭的,并且不能手动开启;

BGP同步指BGP路由器必须与IGP同步,AS内的路由器不仅要通过BGP学习到此路由,并且要从IGP协议学习到该路由,才会将该路由通告给eBGP邻居;

除了BGP同步外,避免路由黑洞问题的方法还有IBGP全互连、RR、联盟、MPLS VPN;

四、BGP路由及默认路由

1、生成BGP路由,BGP协议自身是不能发现路由的

(1)通过network方式生成来自IGP的路由

将IP路由表中存在的路由注入进BGP,注入的路由要和IP路由表中路由的前缀和掩码一致;

network方式注入的路由,origin属性为igp;

(2)通过import-route方式引入外部路由

import-route方式引入外部路由,origin属性为incomplete;

(3)通过aggregate进行聚合的路由

自动聚合

自动聚合只能对import引入的路由进行有类聚合,不能对network方式注入的路由进行自动聚合;

自动聚合通过命令summary automatic实现,只能在引入路由的设备上生效,缺省未启用;

手动聚合

手动聚合通过命令aggregate可以对BGP路由表中的路由进行聚合;

如果聚合路由中所包含的明细路由的origin属性各不相同,那么聚合路由的origin属性按照优先级incompleteegpigp;

聚合路由会继承原明细路由中的所有团体属性;

聚合时可以携带关键字:

detail-suppressed    缺省手工聚合后通告所有明细路由,此参数抑制明细路由;

suppress-policy        用来实现部分抑制,部分不抑制,匹配route-policy的明细才抑制;

as-set        聚合路由as-path继承成员明细路由的AS号,缺省聚合路由会丢失明细的AS信息;

与普通as-path的segment类型as-sequence不同的是,as-set类型是一种AS号的无序集合;

对明细路由做聚合时,把所有明细路由AS-Path由前向后相同的部分放在()的前面,其余部分去重后放入();

origin-policy             有条件的聚合,只有满足route-policy匹配条件时,才生成聚合路由;

attribute-policy        用来修改聚合路由的属性;

2、默认路由

如果一台设备在网络中有多个EBGP邻居,或者存在多个路由反射器,那么该设备将会从邻居或者反射器接收全网的路由,该设备也会向本AS内的IBGP对等体发布路由,这样会极大地增加路由表的容量,通过向对等体发布缺省路由,减少对等体路由表的数量。

通过命令peer x.x.x.x default-route-advertise向对等体发布一条默认路由,可以通过route-policy来设置默认路由的属性;

参数conditional-route-match-any/all用来设置匹配条件,如果满足条件则发布默认路由;

(1)any指当匹配任一条件时,发布默认路由;

(2)all指当匹配所有条件时,发布默认路由;

BGP的路由优选规则和负载分担

1.Preferred-Value数值

Preference_Value是BGP的私有属性(华为私有属性),Preference_Value相当于BGP选路规则中Weight值,仅在本地路由器生效。Preference_Value值越大,越优先,默认缺省值为0 只能改变自己的入向选路。

默认情况下,会选择Router id小的作为自己的最优下一跳

step1:在R1上使用ip-prefix或者acl筛选出路由条目

step2:使用路由策略(由于首选值只在本地路由器生效,所以只能应用在本设备的入方向)

step3:在R1的BGP进程中调用路由策略

step4:验证现象(R1到达4.4.4.4/32的下一跳指向R3,首选值被修改成100)

小结:Pre-Value最大,Preference_Value值越大,越优先,默认缺省值为0,且只在本地路由器有效。

2. Local_Preference

Local_Pref属性仅在IBGP邻居之间有效,不通告给其他AS。它表明路由器的BGP优先级,用于判断流量离开AS时的最佳路由。一般用来控制本区域流量怎么出去,默认情况下Local-Pref值为100 该数值越大 优先级越高

默认情况下,会选择Router id小的作为自己的最优下一跳(即R2)

step1:在R1上使用ip-prefix后者acl筛选出路由条目

step2:使用路由策略

step3:在BGP进程中调用路由策略

1:R1中BGP进程里指向R3的入方向上(改大)

2:R3中BGP进程里指向R1的出方向上(改大)

3:R3中BGP进程里指向R4的入方向上 (改大)

4:R1中BGP进程里指向R2的入方向上 (改小)

5:R2中BGP进程里指向R1的出方向上  (改小)

6:R2中BGP进程里指向R4的入方向上  (改小)

不能调用在R4的export方向上面(因为Local-preference只能在本AS内进行传递的)

step:验证现象

3.路由生成方式

AggregateSummaryNetworkimport从邻居学习的路由

BGP在IPv4网络中支持自动聚合和手动聚合两种方式,而IPv6网络中仅支持手动聚合方式:

1:自动聚合:对BGP引入的路由进行聚合。配置自动聚合后,BGP将按照自然网段聚合路由(例如非自然网段A类地址10.1.1.1/24和10.2.1.1/24将聚合为自然网段A类地址10.0.0.0/8),并且BGP向对等体只发送聚合后的路由。

2:手动聚合:对BGP本地路由表中存在的路由进行聚合。手动聚合可以控制聚合路由的属性,以及决定是否发布具体路由。

为了避免路由聚合可能引起的路由环路,BGP设计了AS_Set属性。AS_Set属性是一种无序的AS_Path属性,标明聚合路由所经过的AS号。当聚合路由重新进入AS_Set属性中列出的任何一个AS时,BGP将会检测到自己的AS号在聚合路由的AS_Set属性中,于是会丢弃该聚合路由,从而避免了路由环路的形成。

自动聚合summary

step1:在R4上使用ip-prefix或者acl筛选出目标路由,使用Route policy调用。

step2:在BGP进程中将路由引入,并配置自动聚合命令

step3:在R4上查看BGP路由表,发现明细路由被抑制

step4:在R1上查看BGP路由表,发现路由被聚合成自然网段。

手动聚合

step1:在R4的BGP进程里宣告4.4.4.4/24的路由,并配置手工聚合,并抑制明细路由

step2:在R4上查看BGP路由表,明细路由通过detail-suppressed被抑制。

step3:在R1上查看BGP路由表,发现只收到R1的聚合路由。

手工聚合

1:as-set信息在避免路由环路时很重要,因为它记录了被聚合路由所经过的AS

2:attribute-policy 设置聚合路由的属性

3:detail-suppressed参数是把明细给抑制,如果不加的话,会把明细路由和聚合路由都传过去

4:origin-policy仅选择符合route-policy的具体路由来生成聚合路由(只要有这条路由信息,我才能产生聚合路由)

5:suppress-policy能产生聚合路由,但抑制指定路由的通告,可以使用route-policy和if-match子句有选择的抑制一些具体路由,其他具体路由仍被通告(抑制聚合中的某些路由)

路由聚合产生的问题

如果路由聚合后携带所有明细路由经过的AS信息,当明细路由发生频繁震荡时,聚合路由也可能受其影响频繁刷新。因此,聚合路由是否携带丢失的AS_Path信息,需要设计者综合考虑网络环境

4:AIGP

BGP优选AIGP较小的路由。AIGP属性是一种新的BGP路由属性,用于传递并累加IGP Cost值,该属性为可选非过渡属性。在一个AIGP域内部署AIGP属性,可以使BGP像IGP那样基于路由的Cost值优选出最优路由,从而保证一个AIGP域内的设备都按照最优路径进行数据转发。AIGP的比较遵循如下规则:

1:有AIGP属性的路由优先级高于没有AIGP属性的路由。

2:如果路由都存在AIGP属性,则比较AIGP属性与其下一跳的IGP Cost之和,优选该值较小的。

AIGP属性只能通过路由策略添加。在BGP引入、接收或发送路由时,可以人为通过路由策略里的 apply aigp { cost | inherit-cost }命令设置AIGP属性值的大小。其中,在BGP引入IGP路由时,若不进行设置,BGP路由没有AIGP属性值。

bgp 200(R4)

#

ipv4-family unicast

  peer 14.1.1.2 aigp                                    //使能与对等体之间的AIGP能力

  peer 15.1.1.2 aigp                                    //使能与对等体之间的AIGP能力

  peer 14.1.1.2 route-policy 1 export

  peer 15.1.1.2 route-policy 1 export

#

route-policy 1 permit node 10                //定义路由策略的第一个节点,设置路由4.4.4.4/32的AIGP为10

if-match ip-prefix prefix1

apply aigp 10

#

route-policy 1 permit node 20                //定义路由策略的第二个节点,不设置匹配条件,允许其他路由通过路由策略

if-match ip-prefix prefix1

apply aigp 5

#

ip ip-prefix prefix1 index 10 permit 4.4.4.4 32        //定义地址前缀列表prefix1,匹配路由

R2:

ipv4-family unicast

  peer 14.1.1.1 aigp                                    //使能与对等体之间的AIGP能力

R3:

 ipv4-family unicast

  peer 15.1.1.2 aigp                                     //使能与对等体之间的AIGP能力

5.AS_Path

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的一个无序集合,主要用在联盟内路由聚合的场景。

AS号追加

route-policy 1 permit node 10                   //定义路由策略add_asn的第一个节点

if-match ip-prefix prefix1                            //匹配IP地址前缀列表prefix1

apply as-path 65003 65003 65003 additive             

AS号替换

配置 apply as-path 命令时,如果选择 overwrite 参数,则可以对AS_Path中的编号进行替换。AS编号替换的应用比较灵活,主要有以下几种情况:

隐藏路由的真实路径信息。

如果配置了 as-path-limit 命令,接收路由时会检查AS_Path属性中的AS号是否超限,如果超限则丢弃路由。这样对于AS_Path较长的路由,在接收之前,可以把AS_Path替换成较短的AS_Path,防止路由由于AS号超限而被丢弃。

缩短AS_Path长度,使路由被优选。

AS号替换还可以用于形成负载分担

6.Origin

Origin属性主要有三种:

IGP:具有最高的优先级。路由是用 network 命令注入到BGP路由表中的,则Origin属性为IGP。

EGP:优先级次之。通过EGP得到的路由信息,其Origin属性为EGP。

Incomplete:优先级最低。路由是用 import-route 命令注入到BGP路由表中的,则Origin属性为Incomplete。

3种Origin属性的优先级为:ieIncomplete(?)

7.MED(越小越优,默认为0)

特点:仅在AS内部或者相邻两个AS之间传递,收到此属性的AS一方不会再将其通告给任何其他第三方AS

MED属性相当于IGP使用的度量值(Metrics),它用于判断流量进入AS时的最佳路由(用于比较来自相同AS的路由)

修改方法:

注意要点:

执行 compare-different-as-med 命令后,BGP将强制比较来自不同AS的路由的MED值。除非能够确认不同的AS采用了同样的IGP和路由选择方式,否则不要使用 compare-different-as-med 命令(可能产生环路)。

执行 bestroute med-none-as-maximum 命令后,BGP选路时将该路由的MED值按最大值4294967295来处理,选路结束后,MED值恢复为原始值。

执行 bestroute med-confederation 命令后,只有当AS_Path中不包含外部AS号(不属于联盟的子AS),且AS_CONFED_SEQUENCE的第一个AS号相同时,才能比较MED值的大小。

执行 deterministic-med 命令后,将消除路由接收顺序对选路结果的影响。

step1:在R4上使用ip-prefix或者acl命令匹配路由

step2:使用Route policy匹配ip-prefix或者acl,apply cost

step3:在R1上验证

8.邻居类型(EBGP优于IBGP路由)

在运营商网络存在多个出口设备从Internet获取路由的场景,出口设备会经常比较邻居类型。

所有设备处于同一个AS。SwitchA和SwitchB做为运营商网络的出口设备,之间建立IBGP邻居关系,并且和其他的设备也都建立IBGP邻居关系。做为运营商网络的出口设备,SwitchA和SwitchB同时从Internet获取路由,然后将EBGP路由向自己的所有IBGP邻居发布。在这种情况下,SwitchA和SwitchB上分别有一条IBGP路由和EBGP路由,并且二者的AS_Path属性相同。通过邻居类型的比较,SwitchA和SwitchB都选择EBGP路由做为最优路由。

9.IGP的开销值

默认情况下:R1会优先选择R2作为到达4.4.4.4/32的下一跳(router id小)

在R1的G0/0/0接口下使用命令ospf cost 10,使IGP的开销值大于默认开销值1.

验证如下:

10.Cluster_list

step2:RR收到客户机Client 1的update报文后,RR第一次反射该路由时,会把cluster-ID添加到Cluster_List,如果RR没有cluster_ID属性,则自己创建一个再添加。同时也会把Originator_ID添加进去,标识此条路由的发起设备(Router ID值)

11. Router ID (越小越优)

Router ID在自治系统AS中可以标识一台路由器:

如果路由携带Originator_ID属性,选路过程中将比较Originator_ID的大小(不再比较Router ID),并优选Originator_ID最小的路由。缺省情况下,BGP在选择最优路由时在Cluster-List之后比较Originator-ID。配置 bestroute routerid-prior-clusterlist 命令后,BGP在选择最优路由时在Cluster-List之前比较Originator-ID。

12:对等体地址

多链路场景EBGP之间一般用loopback0接口作为更新源地址,也可以使用不同的接口地址作为更新源

负载分担:

配置BGP负载分担后,满足如下所有条件的多条BGP路由会成为等价路由,进行负载分担:

1:首选值(PrefVal)相同。

2:本地优先级(Local_Pref)相同。

3:都是聚合路由,或者都不是聚合路由。

4:AIGP值相同。

5:AS_Path属性完全相同。

6:Origin类型(IGP、EGP、Incomplete)相同。

7:MED(Multi_Exit Discriminator)值相同。

8:都是EBGP路由或都是IBGP路由。配置 maximum load-balancing eibgp 命令后,BGP在选择最优VPN路由时忽略该条比较。

AS内部IGP的Metric相同。配置 maximum load-balancing eibgp 命令后,BGP在选择最优VPN路由时忽略该条比较。

此外,需要特别指出的是,携带标签的BGP路由与不携带标签的BGP路由即使满足上述条件,也不能形成负载分担。

step1:在R4的BGP进程中network一条路由之后,R1的路由表中存在两条到达4.4.4.4/32的BGP路由,但是只会优选下一跳为R2作为自己的下一跳,因为router id小,此时查看路由表如下所示:

step2:在R1的BGP进程中使用maximum load-balancing ibgp 2命令(ebgp也可以)实现负载分担。

BGP路径属性(4)

BGP的路径属性描述了BGP路由的路径信息,是每个Update数据包的一部分;

一、BGP路径属性可分成4大类:

1、公认必遵         BGP路由器必须识别这类属性,Update报文必须携带这类属性;

如果收到的更新报文中缺少这类属性,BGP邻居关系会被重置;

2、公认任意        BGP路由器必须识别这类属性,Update报文可选携带这类属性;

3、可选过渡        BGP路由器可选识别这类属性,不识别也可以转发这类属性;

4、可选非过渡     BGP路由器可选识别这类属性,不识别不转发这类属性;

二、BGP常用的路径属性有13个

1、origin                公认必遵

用来代表BGP路由的起源,标记一条路由是如何进入BGP,有3种类型:

(1)IGP        

IGP学到的路由,通过network方式注入到BGP中的路由或者聚合路由,用i表示;

(2)EGP

EGP学到的路由,EGP协议几乎没有使用,只能手工调整,用e表示;

(3)incomplete

来源未知的路由,通过import方式引入到BGP中的路由或者聚合路由,用?表示;

聚合路由的起源属性依赖于成员路由的起源属性:

(1)成员路由的起源属性都是IGP,聚合路由的起源属性是IGP;

(2)成员路由的起源属性都是incomplete,聚合路由的起源属性是incomplete;

(3)成员路由的起源属性既有IGP,又有incomplete,聚合路由的起源属性是incomplete;

origin属性3种路由比较优先级:

IGP起源的路由优于EGP起源的路由,优于incomplete起源的路由;

2、as_path           公认必遵

用于记录路由沿途所经过的AS,路由在离开AS时,当前的AS号会自动添加到AS_PATH序列的前面(最左面);

路由在AS内传递时,不对路由的AS_PATH属性做任何改动;

BGP的AS_PATH属性内容由segment构成,有4种segment类型:

(1)AS_SET            AS号的无序集合

(2)AS_SEQUENCE        AS号的有序列表

(3)AS_CONFED_SET            联盟中成员AS号的无序集合

(4)AS_CONFED_SEQUENCE        联盟中成员AS号的有序列表

每种segment类型在AS_PATH属性中仅能出现一次;

AS_PATH中可能仅携带一种segment类型,也可能同时携带多种segment类型;

AS_SET和AS_CONFED_SET一定是聚合路由的才会包含的segment类型;

多种segment类型同时出现在AS_PATH中,则前后顺序一定是AS_CONFED_SEQUENCE、AS_CONFED_SET、AS_SEQUENCE、AS_SET;

AS_PATH的长度是由AS_SEQUENCE这种segment的AS号数量来决定的,而AS_CONFED_SEQUENCE、AS_CONFED_SET和AS_SET的长度都不计入AS长度计算;

不论何种类型的segment,若其中携带的AS号等于接收设备所在的AS号,则该路由都将因为环路问题而被丢弃,可通过peer x.x.x.x allow-as-loop使接收设备接收含有自己AS号的路由;

3、next_hop        公认必遵

用来记录BGP路由的下一跳信息,BGP设备会忽略下一跳地址不可达的BGP路由;

BGP下一跳属性遵循如下规则:

(1)BGP设备将本地始发路由发布给所有BGP对等体时,会把路由信息的下一跳属性设置为本地与对端建立BGP邻居关系的接口地址;

(2)BGP设备向EBGP对等体发布路由时,会把路由信息的下一跳属性设置为本地与对端建立BGP邻居关系的接口地址;

(3)BGP设备在IBGP对等体发布从EBGP学来的路由时,不改变路由信息的下一跳属性;

可以通过如下两条命令修改下一跳属性缺省行为:

peer next-hop-local

peer next-hop-invariable

关于下一跳带来的问题:

区别于IGP中下一跳是直连路由器的IP地址,BGP路由的下一跳往往都是非直连设备的IP地址,所以出现了下一跳地址不可达问题、路由黑洞问题以及负载分担问题;

(1)下一跳地址不可达问题

下一跳是非直连地址,必须保证路由表存在到达下一跳地址所在网络的路由;

(2)路由黑洞问题

从数据平面分析,如果数据流访问目标BGP网络,R5根据下一跳发给R2,但中间IGP路由器R3和R4没有对应的BGP路由,所以会出现路由黑洞;

方法1:

全都运行BGP,运营商网络中使用较多,IBGP全互联、RR、联盟;

方法2:

IGP同步,将BGP路由引入IGP,保证路由全网可达。

此种方法不建议使用,过量的BGP路由会加重IGP路由器的负荷,同时IGP路由也不适合承担过大的AS间数据流量,可以根据需要引入少量路由或对引入的路由做必要的汇总;

方法3:

开启MPLS标签交换,在运行BGP的设备R2和R5之间为下一跳地址所对应的路由创建LSP隧道,所有发往下一跳地址的数据包执行标签转发,中间设备不需要存在相应的BGP路由;

方法4:

把运行BGP的设备直连,这样AS间的数据流量将不需要经过IGP路由器;

(3)负载分担问题

默认情况下,BGP只把最佳路由放进IP路由表,即BGP缺省没有等价路由;

如果下一跳地址路由是负载分担的路径,可以保证R5到R2的数据流量负载分担;

4、local_pref        公认任意

Local_Pref属性用来判断流量离开AS时的最佳路由,仅在IBGP邻居间传递,不通告给其他AS;

当AS内BGP设备通过不同的IBGP对等体得到目的网段相同但下一跳不同的多条路由时,将优先选择Local_Pref属性值较高的路由;

Local_Pref属性将会在整个AS内传递,在本AS内的所有路由器都将收到该优先级,如果路由没有配置Local_Pref属性,将按缺省值100来处理;

5、med                   可选非过渡

MED属性用来判断流量进入AS时的最佳路由,仅在两个相邻的AS之间传递,收到此属性的AS一方不会再将其通告给任何其他第三发AS;

MED值越小,路由的优先级越高;

BGP路由器默认只对相同的AS传递过滤的路由进行MED的比较,不会比较不同AS传递的路由,可以使用命令compare-different-as-med来使其比较不同AS传递的路由;

如果路由没有配置MED属性,将按照缺省值0来处理;

6、originator_id     可选非过渡

专为RR开发,用来在AS内防环,由RR添加到路由更新中,并随路由在AS内传递,离开AS时会被剥离;

OriginatorID属性值为AS内第一台通告该路由的BGP设备的RouterID;

如果路由器接收路由时,路由携带的OriginatorID与自身RouterID相同,丢弃该路由,实现集群内防环;

7、cluster_list         可选非过渡

专为RR开发,用来在AS内防环;

Cluster_List是路由经过RR反射时由RR添加的一个集群列表,记录路由经过的Cluster_ID;

如果RR在接收到路由的Cluster_List中存在自身Cluster_ID,丢弃该路由,实现集群间防环;

8、atomic_aggregate     公认任意

用于路由聚合时,告知对等体,原始的明细路由AS_Path出现了丢失,只在抑制明细路由时携带;

如果聚合路由将所有明细路由抑制了,就会为聚合路由生成该属性;

9、aggregator            可选过渡

聚合后的路由一定携带aggregator属性,指明聚合路由设备所在的AS号和RouterID;

10、community         可选过渡

Community团体属性用来标识具有相同特征的BGP路由,提高路由策略使用效率;

可以用十进制和十六进制来表示该属性,范围0x00000000(0)-0x0000FFFF(65535)和0xFFFF0000-0xFFFFFFFF是被保留的,其中定义了4中公认团体属性:

(1)Internet    0x00000000

设备收到具有此属性的路由后,可以向任何BGP对等体发送该路由,路由的缺省属性;

(2)No_Advertise    0xFFFFFF02

设备收到具有此属性的路由后,将不向任何BGP对等体发送该路由;

(3)No_Export    0xFFFFFF01

设备收到具有此属性的路由后,将不向AS外发送该路由;

(4)No_Export_Subconfed    0xFFFFFF03

设备收到具有此属性的路由后,将不向AS外发送该路由,也不向AS内其他子AS发送该路由;

除了公认团体属性外,如果需要定义私有团体属性控制BGP路由时,可以利用团体属性的前2个字节作为AS号,用后面的2个字节定义与该AS相关的数值;

多条路由可以拥有相同的团体属性,bgp路由器需要对这些路由实施策略时,只需匹配该团体属性;

一条路由也可以拥有多个团体属性,BGP路由器可以根据其中的一部分或全部属性进行匹配;

11、MP_Reachable    可选非过渡

12、MP_Unreachable    可选非过渡

13、扩展团体属性

除了标准团体属性外,扩展团体属性是对BGP团体属性的扩展,长度8字节,主要用于MPLS VPN的Route Target(前面2字节代表类型,后面6字节代表数值);

关于bgp联盟内的路由传递和bgp路由接入是什么意思的介绍到此就结束了,不知道你找到你需要的信息了吗 ?如果想了解更多这方面的信息,记得收藏关注本站。

扫描二维码推送至手机访问。

版权声明:本文由路由设置网发布,如需转载请注明出处。

本文链接:https://www.shoulian.org/luyou/post/9683.html

分享给朋友:

“bgp联盟内的路由传递” 的相关文章

wifi路由器干扰大

wifi路由器干扰大

当朋友们看到这个文章时想必是想要了解wifi路由器干扰大相关的知识,这里同时多从个角度为大家介绍无线路由器 干扰相应的内容。 本文内容目录一览: 1、如何解决两个无线路由器信号干扰的问题 2、路由器信道干扰问题怎么解决 如何减少路由器信道干扰 3、路由器信号不稳定是什么原因 4、无线路由...

路由器户外测试软件

路由器户外测试软件

今天给各位分享路由器户外测试软件的知识,其中也会对路由器户外测试软件下载进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站 本文内容目录一览: 1、什么软件可以测试路由器的稳定性 2、什么软件可以测量路由器的信号质量? 3、用哪款软件测无线路由器WiFi速度比较准确? 什么软件可以测...

路由器pro刷机

路由器pro刷机

本篇文章给大家谈谈路由器pro刷机,以及路由器刷机包对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文内容目录一览: 1、小米路由pro怎么刷开发版 2、荣耀路由器pro 怎么刷成游戏版 3、华为ax3pro怎么刷机 4、荣耀路由pro 能不能刷其它固件 5、路由器怎么刷机...

无限路由5g信号

无限路由5g信号

有很多朋友不知道无限路由5g信号要如何操作,今天为大家整理了很多路由器5gwifi相关的答案,组成一篇内容丰富的文章,希望能到您 本文内容目录一览: 1、无限路由器5G信号是什么意思? 2、无线路由器显示5g是什么问题? 3、路由器如何切换5G信号 无限路由器5G信号是什么意思? 5G W...

台州千兆路由器选购

台州千兆路由器选购

针对台州千兆路由器选购这个问题,本文将综合不同朋友对这个千兆路由价格的知识为大家一起来解答,希望能帮到大家 本文内容目录一览: 1、千兆路由器哪款好? 2、千兆路由器选择哪个好点? 3、千兆宽带如何选路由器?这几个原则一定要记好 4、无线路由器怎样选购? 5、2020年家用千兆路由器...

路由器天线最高多高

路由器天线最高多高

有很多朋友不知道路由器天线最高多高要如何操作,今天为大家整理了很多路由器天线是多少dbi相关的答案,组成一篇内容丰富的文章,希望能到您 本文内容目录一览: 1、无线路由器外加接天线,对天线的长度有没限制?如有限制最大多少?对信号有没有影响? 2、无线路由器的天线有什么作用? 3、路由器在什么...