五、BGP:边界网关协议(HCIP)

本文详细介绍了BGP(边界网关协议)的基本概念、工作原理、特点、配置方法、路由宣告、防环机制和选路规则。BGP主要用于AS之间的路由可达,通过TCP的179端口进行通信,并采用路径矢量路由协议,防止环路。此外,文章还讨论了BGP的路由黑洞问题和防环策略,如水平分割,以及BGP的配置包括EBGP和IBGP邻居关系的建立。
摘要由CSDN通过智能技术生成

目录

一、网关协议追求

1.1 IGP—内部网关协议

1.2 EGP—外部网关路由协议

二、BGP特点

三、BGP数据包

四、BGP工作过程

五、名词

六、BGP的路由黑洞问题

七、BGP防环机制—水平分割

八、BGP的配置

8.1 单链路的EBGP邻居关系

8.2 建立IBGP邻居关系

8.3 多链路的EBGP

九、宣告路由

十、BGP宣告问题

十一、重发布

十二、自动汇总

十三、手工汇总—聚合

13.1 可控性

13.2 使用路由策略在邻居间直接进行收发路由的管理

13.3 直接使用前缀列表来实现方法的功能

十四、有条件的打破IBGP水平分割

十五、BGP认证

十六、关于BGP协议的MA网络中下一跳问题

十七、BGP属性

17.1 preference Value 权重

17.2 本地优先级

17.3 as-ptah

17.4 起源属性——条目的产生方式

17.5 MED—多出口鉴别属性

十八、BGP的选路

十九、BGP的社团属性


BGP:边界网关协议 (Border Gateway Protocol)是一种实现自治系统AS(Autonomous System)之间的路由可达,并选择最佳路由的路径矢量路由协议;BGP协议本身不产生路由,而是转发本地路由表中来自其他协议生成的路由条目;AS之间正常存在大量的BGP邻居关系且BGP协议不会计算最佳路径;因此在BGP协议中管理员需要进行策略来干涉选路无类别路径矢量EGP协议;工作于AS之间;

AS自治系统: 
标准AS编号 标准格式 16位二进制构成 0-65535 其中1-64511为公有 64512-65535为私有            扩展编号 32位二进制

AS之内IGP—RIP OSPF ISIS EIGRP

AS之间EGP--BGP

路径矢量(一个AS为一跳)--距离矢量(一个路由器为一跳)

划分AS的原因:

1、网络半径—IGP协议的工作半径(有限的)

2、管理半径—不同网络存在不同的设计、实施、维护、组织,不同组织的网络不会相互管理

AS间若使用普通的重发布技术来实现路由共享

1、ASBR的归宿问题—安全 优化

2、AS范围势必使用多点双向重发布 —选路问题 干涉难度 优化

一、网关协议追求

1.1 IGP—内部网关协议

追求:

1、无环(选路最佳)

2、收敛快

3、占用资源少 CIDR Report CIDR报告

BGP专门用于解决AS之间路由共享问题;取代的是重发布基础

1.2 EGP—外部网关路由协议

追求:

1、可控性—策略强大 管理方便 针对选路(管理员可以方便进行策略干涉选路)

2、可靠性—触发更新—TCP(基于单播工作)可非直连需要建立邻居关系 BGP承载于IGP之上

3、AS-BY-AS 以一个AS为一跳

EGP的追求:

可控性: AS之间需要传递大量的路由信息,所谓可控,就是可以更方便的干涉选路,更容易做策略,以弥补重发布的不足。为了保证路由传递的可控性,更方便干涉选路,BGP协议舍弃了开销值,取而代之的是他为路由信息设计了很多路径属性。可以通过属性进行选路,是的选路过程更加灵活,可控性更高;

可靠性:BGP协议设备间需要交互大量的路由条目,但又不能选择周期更新来占用链路资源,故只能进行触发更新;又为了保证传输的可靠性,直接选择TCP协议作为传输层的协议来完成数据收发,使用的是TCP 179号端口。但使用TCP协议通讯也会造成一些问题,传输效率降低,只能单播通讯(TCP需要去建立会话),占用资源会加大 ,用TCP之后,便不能通过广播或者组播去自动发现邻居进行通信了;

二、BGP特点

1)无类别路径矢量——距离矢量的升级版---AS--BY--AS

2)使用单播更新来发送所有信息;基于TCP 179端口工作

3)增量更新—仅触发无周期

4)具有丰富的属性来取代IGP中度量进行选路——多个参数控制协议

5)可以在进项和出项对流量实施强大的策略—可控性

6)默认不被用于负载均衡——通过各种选路规则仅仅产生一条最佳路径

7)BGP支持认证和聚合(汇总)

三、BGP数据包

基于TCP的179号端口工作;故BGP协议中所有的数据包均需要在TCP会话建立后,基于TCP的会话来进行传输及可靠性的保障;

首先通过TCP的三次握手来寻找邻居:

Open 仅负责邻居关系的建立,正常进行收发一次即可;携带route-id;

Keeplive 保活 周期1min查询邻居关系是否存在;实际保活TCP会话;hold time默认3min

Update 携带路由条目 目标网络号+各种属性

Notification 出现错误数据时收发

四、BGP工作过程

1、配置完成后,邻居间单播TCP三次握手,目标端口179,建立TCP的会话;之后的所有BGP协议数据包基于该会话进行传输; 会话建立后,邻居间正常收发一次open报文建立BGP的邻居关系,生成邻居表; BGP协议的open报文中将携带本地的RID—生成方式和OSPF一致,仅需要本地及本地所有邻居唯一即可;

2、邻居关系建立后,管理员选择性的将本地路由表中通过任意来源获取的路由条目,向BGP协议中宣告;使用update数据包进行邻居间的路由共享;之后生成BGP表(装载本地发出及接收到的所有路由条目)

3、邻居关系建立后,默认每1min,使用keep live周期保活邻居关系(周期保活TCP会话);

4、若有路由需要共享,使用update携带路由的目标网络+各种数据共享给邻居即可;

5、学习到邻居共享过来的路由,将装载于本地的BGP表; BGP内部装载本地所有发出及所有接收到的路由信息 之后BGP协议将BGP表中最优的路径加载于本地的路由表中

6、路由学习完成后(收敛完成),仅keep live周期保活即可;

7、结构突变——新增网段或断开网段---使用update直接触发更新即可; 本地使用update向本地所有邻居告知,前提该路由不被已经发出的聚合路由包含,只有到聚合条目中包含的所有明细路由均在本地失效,才告知邻居删除聚合条目;

8、无法沟通—3min hold time,连续三次未收到邻居的keep live到时会断开邻居关系、TCP会话,删除路由信息

9、若出现错误信息——比如AS号错误、属性错误等 将使用报错包告知

五、名词

邻居---直连 因为BGP协议中存在非直连邻居的需求,故BGP邻居成为毗(pi)邻关系;

EBGP邻居关系----外部BGP关系,建邻的两台设备处于不同的AS中;

IBGP邻居关系----内部BGP关系,建邻的两台设备处于相同的AS中;

六、BGP的路由黑洞问题

非直连建邻使得控制层面路由条目可传递,递归计算路由可达;只要互连的路由器中有一个无BGP协议即存在黑洞

而实际数据层面流量在经过没有运行BGP协议的路由器时无法通过,最终有去无回

1、物理、逻辑拓扑全连 --物理链路直连、或者VPN

2、邻居关系全连--网络中所有设备运行BGP

3、BGP重发布到IGP(LAB)

4、MPLS多协议标签互换----推荐做法

七、BGP防环机制—水平分割

1、EBGP水平分割—解决EBGP环路

依赖了BGP路由条目中的一种属性来进行防环;AS-PATH路径属性;

BGP协议在传递路由条目的过程中,将记录所有经过的AS的编号;

EBGP水平分割—接收到的路由条目中,若存在本地的AS号将拒绝该条目进入;

2、IBGP水平分割—解决IBGP环路中的一种机制

本地从一个IBGP邻居出学习到的路由条目,不得传递给本地其他IBGP邻居;

AS-BY-AS在一个AS内部条目传递的过程中,默认不会修改任何的属性;

由于BGP可以非直连建立邻居关系,故在一个AS内部,可以通过与多台运行BGP协议的路由器建立BGP邻居关系,来稳定关系网络;因此在一个AS内部运行BGP协议的设备,正常均存在EBGP邻居(均同时连接其他AS)

在IBGP水平分割的限制下,虽然避免了IBGP的环路产生,但同时也使得AS内部为了能够传递路由条目,必须两两间建立IBGP邻居关系,邻居关系成指数上升,配置量巨大; 后期会使用联邦和路由反射器来打破

八、BGP的配置

在BGP协议中,由于单播建邻,故需要定制每条单播的地址;可控性下,建邻与路由宣告分开进行;

1)直连的单链路EBGP邻居关系建立

建立配置完成后,邻居间进行TCP的三次握手,之后建立TCP会话

2)建立IBGP邻居关系

IBGP邻居关系处于同一个AS内部,在一个AS内拓扑结构趋于网状;使用环回接口IP地址作为源和目标IP,可以利用上个邻居所有的物理可达链路;

切记:一旦使用环回IP地址作为邻居建立的地址,既要定目标为对端环回,还需要定源为本地环回

3)EBGP邻居间存在多条物理链路,也建议使用环回作为源、目标建立

一旦要考虑IP可达问题,一般使用静态路由来处理;

IBGP邻居间TTL=255 EBGP TTL=1 故一旦使用环回作为源、目标建邻,必须修改TTL,否则无法建立;

【1】建立BGP邻居关系

[r1]bgp 1 启动时需要定义AS号,没有多进程概念;一台设备只能在一个AS中工作

[r1-bgp] router-id 1.1.1.1 建议配置RID;RID的生成规则同OSPF

8.1 单链路的EBGP邻居关系

[r1-bgp]peer 12.1.1.2 as-number 2
                     对端的接口号          对端所在的AS号

8.2 建立IBGP邻居关系

由于一个AS的内部大多拓扑冗余比较丰富,若使用物理接口来作为源、目标IP地址建立BGP邻居,将浪费冗余资源;

建议使用环回接口作为源、目标IP地址;(稳定且可以同时使用多条链路资源)

切记:在使用环回地址作为源、目标IP时,要定义目标为对端的环回,还需要修改本端的源为环回,否则将自动使用本地的物理出口作为源;

[r2-bgp]peer 3.3.3.3 connect-interface Loopback0

8.3 多链路的EBGP

建议使用环回作为源、目标接口

1)IP可达问题---一般使用静态路由

[r4]ip route-static 5.5.5.0 24 45.1.1.2

[r4]ip route-static 5.5.5.0 24 54.1.1.2

2)建立EBGP邻居关系

[r4]bgp 2

[r4-bgp]peer 5.5.5.5 as-number 3

[r4-bgp]peer 5.5.5.5 connect-interface Loopback0

3)TTL问题

默认IBGP邻居间的数据包TTL值为255,EBGP邻居间TTL值为1;若使用环回来建立EBGP邻居关系,TTL不够,所以必须修改:

[r4-bgp]peer 5.5.5.5 ebgp-max-hop 2

两端配置完成后,邻居间先进行TCP的三次握手,建立TCP会话;

[r1]display bgp peer

BGP local router ID:1.1.1.1

Local AS number:1

Total number of peers:1   Peers in established state:1

   Peer     V     AS MsgRcvd   MsgSent  QutQ             Up/Down                State PrefRcv

12.1.1.2   4             2                     5          6        0 00:03:22 Established            0

表格尾部的数字0,代表从该邻居处学习到的路由条目数量;

九、宣告路由

BGP协议所宣告路由为本地路由表中任何来源产生的路由信息; 

宣告时,可逐级选择本地路由表中的路由信息宣告:

[r1]bgp 1

[r1-bgp]network 1.1.1.0 24

切记:宣告时,所宣告的网络号必须和本地路由表中的记录完全一致;

当宣告配置完成后,本地生成BGP表——装载本地发出及接收到所有BGP的路由

[r1]display bgp routing-table

Total Number of Routes:1

       Network   NextHop   MED       LocPrf    PrefVal  Path/Ogn

*>  1.1.1.0/24   0.0.0.0        0                               0           i

       状态 目标网络号         属性

*表示可用   >表示优秀 

使用i标识该条目通过本地的IBGP邻居学习

一条条目可用且优秀才能传输给本地的邻居;才能加载到本地的路由表中;

条目优秀的条件:

1、同步问题—目前的设备同步规则默认关闭,该问题在当下已经不需要关注了

同步问题—本地必须先通告IGP学习到该路由,在通过BGP学习

2、下一跳不可达问题—因为AS-BY-AS规则,使得下一跳地址在一个AS内部传递时,默认不修改;故通过本地的IBGP邻居学习到的路由,大多下一跳不可达

[r2]bgp 2

[r2-bgp]peer 3.3.3.3 next-hop-local    r2将路由传输给3.3.3.3时,修改下一跳地址为r2

十、BGP宣告问题

若通过BGP协议传递的路由条目与本地通过其他协议学习到的条目一致,将出现:

1、该路由同时作为与其他BGP邻居建立关系时的底层路由,那么这条BGP路由将不优,不能传递也不能加表;

2、该路由不作为建立其他BGP邻居的路由,将在本地不加表,但可以传递,属于优的路由;

例:R2与R3运行了OSPF,之后R2学习到R3的32为环回主机路由

再R2与R3建立BGP的邻居关系;之后R3在BGP协议中宣告了32位的环回路由,那么该条目到达R2之后,将不优;---BGP的建邻路由与BGP的传递路由相同;

但R2与R3建立BGP关系时,OSPF将R3环回以32位传递,但BGP使用24位来传递该环回路由的话,那么等于BGP建邻为32位,BGP传递位24位,不是同一条路由,可以优,可以传递,也可以加表;

注:以上问题将在华为设备出现,但Cisco中若BGP传递路由在本地路由表中已经通过其他IGP拥有,将被标记位r-RIB不装载——本地不加表,但可以传递;

在BGP协议中进行宣告时,是宣告本地路由表中任意路由,不关注这些条目的产生方式;默认间携带这些路由的cost值到BGP的路由条目中去;若本地将本地宣告的BGP路由传递给本地的EBGP邻居,将携带这些cost,便于本地的EBGP邻居所在AS内部设备选路,当然这些路由在进入其他AS时不会修改度量;

若本地通过IBGP邻居学习到了BGP路由,优且存在cost值,在本地将这些路由传递给本地的BGP邻居时,将cost值归0,因为这些度量不是本地产生的;

例:R2与R1为EBGP邻居,那么R2宣告本地通过OSPF协议学习到路由4.4.4.4/32度量为2,那么这条路由再进入BGP表时携带度量值2,传递给R1,R1在路由表中显示该度量,同时传递给R1内部AS时度量不变; 该拓扑中R2与R4为IBGP邻居,这条BGP路由也会被R2传递给R4,但R4再将该路由传递给R4的EBGP邻居关系R5时,将度量归0;若R4也宣告4.4.4.4/32这条路由,那么传递给R5时将携带R4到达该网段的cost值,因为只有本地最优路由可以传递,本地宣告优于其他邻居传递过来的BGP路由;

总结:存在EBGP邻居关系(连接其他的AS)的所有BGP设备均建议宣告内部AS的路由;

十一、重发布

BGP协议宣告的路由,基本是本地通过IGP学习到的本地AS路由;数量较大,若逐条宣告,配置量很大,但可控性强;也可以在同时运行BGP和IGP的设备,将IGP协议重发布到BGP协议中,来实现批量的路由宣告效果;

宣告相当于逐条的重发布,重发布相当于批量的宣告;两者产生的路由条目,起源属性不同,其他属性默认完全一致;

总结:存在EBGP邻居关系(连接其他的AS)的所有BGP设备均建议重发布IGP到BGP;

十二、自动汇总

默认Cisco和华为设备均关闭了自动汇总

自动汇总对于BGP正常通过network宣告产生的路由没有影响;

仅针对从IGP重发布到BGP的路由条目产生影响;---路由条目以主类长度发送,不携带cost值;

[r1]bgp 1

[r1-bgp]summary autoamtic 开启自动汇总,建议维持默认关闭状态

十三、手工汇总—聚合

1)利用了BGP的宣告的特点,本地路由表中任意路由不关注来源均可可以宣告到BGP中; 不用逐一宣告明细路由,先在本地手工静态配置一条指向汇总网段的空接口防环路由,然后再将其宣告到BGP协议中来,使得该路由器表中拥有一条到达汇总网段的路径;从IGP表宣告到BGP协议中的条目,仅携带目标网络号和度量值;所以空接口路由也可宣告;

然后利用BGP的宣告规则,直接宣告该汇总网段,实现BGP协议传递汇总网段的结果;最终达成聚合配置结果;

在BGP协议中,常常需要在传递聚合条目的同时,再传递部分的明细路由,那么在第一种汇总方案下,仅需要在汇总配置完成后,再逐条宣告需要传递的明细路由即可;

聚合的缺点是将多个网络号合成一个,导致访问整个聚合网段时,仅存在唯一的路径;若在多路径建邻的前提下,将无法精确的选路;故在大型的多链路网络中,为了更好控制选路,必然在传递聚合条目的同时,再,在最佳路径处传递部分的明细路由;

若需要在传递聚合条目的同时,传递部分明细路由,只需要在宣告的空接口路由后,逐一宣告需要的明细路由即可; 以上做法的缺点是不能携带原有明细路由的cost值,因为宣告的是本地路由表中人为添加的那条静态空接口路由;

2)标准的BGP路由聚合

先逐一手工宣告明细,或批量重发布路由,再进行聚合配置;默认在本地生成空接口防环路由;

[r2-bgp]aggregate 3.3.0.0 21 聚合以及所有明细路由均发送

[r2-bgp]aggregate 3.3.0.0 21 detail-suppressed 抑制所有的明细路由,仅发送聚合条目

以上操作方法:若需要在发送聚合条目的同时携带部分的明细路由,需要使用策略

13.1 可控性

1、抑制列表的方法:默认传递所有明细和聚合条目,通过抑制列表,卸载不需要传递的明细路由

[r2]ip ip-prefix ss permit 3.3.4.1 32

[r2]route-policy ss permit node 10

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

[r2]bgp 2

[r2-bgp]aggregate 3.3.0.0 21 suppressed-policy ss 在传递聚合条目时,在抑制3.3.4.1/32这一明细,其他明细正常转发

13.2 使用路由策略在邻居间直接进行收发路由的管理

[r2]ip ip-prefix qq permit 3.3.3.3 32

[r2]route-policy qq deny node 10

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

[r2-route-policy]q

[r2]route-policy qq permit node 20

[r2]bgp 2

[r2-bgp]aggregate 3.3.0.0 21

[r2-bgp]peer 12.1.1.1 route-policy qq export

13.3 直接使用前缀列表来实现方法的功能

[r2]ip ip-prefix ww deny 3.3.3.3 32

[r2]ip ip-prefix ww permit 0.0.0.0 le 32

[r2]bgp

[r2-bgp]peer 12.1.1.1 ip-prefix ww export

十四、有条件的打破IBGP水平分割

IBGP水平分割导致的最大问题在于建邻数量成指数上升,基本一个AS内部所有运行BGP协议的路由器均需要两两间建立IBGP邻居关系;

条件:打破后无环 AS-BY-AS

1、路由反射器 存在三种角色:RR路由器反射器、客服端、非客户端

客户端与RR,非客户端与RR均为IBGP邻居关系;

RR与客户端、非客户端形成一个簇(组)‘每个组存在各种的反射环境;

在一个簇中,至少存在一台RR和一台客户端;

规则:

1)RR从一台RBGP邻居学习到的路由可以传递给本地的客户端、非客户端、其他EBGP邻居

2)RR从一台客户端学习到的路由,可以传递给本地的其他客户端、非客户端、其他EBGP邻居

3)RR从一台非客户端学习到的路由,可以传递给本地其他的客户端、EBGP邻居;不能反射给其他非客户端设备

2、联邦

将一个真实的大AS,逻辑的分为多个小AS;小AS的编号建议为私有编号;小AS间构建联邦内的EBGP邻居关系,可以向真实EBGP关系一样传递路由条目,但不修改属性; 对于该大AS外的其他AS,是不知道内部的小AS情况;

十五、BGP认证

[R3-bgp]peer 34.1.1.2 password cipher 123456

双方密码需一致,密码默认基于MD5计算后转发

十六、关于BGP协议的MA网络中下一跳问题

在一个MA网段中运行BGP协议,若该网段存在BGP邻居关系,那么只要使用该网段内的物理接口IP地址作为邻居建立的地址,那么ICMP重定向将为我们定义最佳下一跳地址作为BGP中的下一跳地址;

[r1]display bgp routing-table peer 123.1.1.2 advertised-routes 查看本地向该邻居发送的BGP路由

[r1]display bgp routing-table peer 123.1.1.2 received-routes 查看本地从该邻居处学习到的路由

十七、BGP属性

华为和Cisco均存在6种基本属性 第一种均为私有属性

传播范围:不传播 默认值:0 大优或小优:大

17.1 preference Value 权重

华为设备的私有属性

全局操作:

[r3-bgp]pe 2.2.2.2 preferred-value 1 本地从邻居2.2.2.2处学习到的所有路由优先值修改为1

负载分担:访问不同的目标网段时,让流量进入不同链路来进行通讯,将所有链路利用起来,而不是仅仅只用唯一链路通讯;

使用前缀抓取需要修改书属性的网段

[r3]ip ip-prefix w permit 1.1.1.0 24

定制策略来进行修改,一定关注是否需要空表来允许其他路由通过

[r3]route-policy w permit node 10

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

[r3-route-policy]apply preferred-vlaue 1

[r3-route-policy]q

[r3]route-policy w permit node 20

[r3-route-policy]q

再在协议种针对某个邻居调用

[r3]bgp 2

[r3-bgp]peer 2.2.2.2 route-policy w import

因为该属性为私有不传递属性,故调用时,只能在控制层面的入向调用,来影响本地BGP的生成;

17.2 本地优先级

传播范围:IBGP邻居关系间      默认值:100       大或小优:大

第一个公有属性;也是最常用于干涉IBGP 选路;最常使用的属性;全局修改;

[r4-bgp]default local-preference 101

本地所有传输到IBGP的路由条目,其中本地优先级修改为101

使用本地优先级实现负载分担

[r2]ip ip-prefix p permit 1.1.1.0 24

[r2]route-policy p permit node 10

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

[r2-route-policy]apply preferred-value 101

[r2-route-policy]q

[r2]route-policy p permit node 20

[r2-route-policy]q

[r2]bgp

[r2-bgp]pe 3.3.3.3 route-policy p export

调用时在控制层面的出或入向均可,但必须为IBGP邻居关系;

17.3 as-ptah

优选结果AS数量较少路径;该属性的自动添加是在EBGP邻居间进行的;

AS1的BGP设备将路由条目传递给AS2的EBGP邻居,在发出路由的同时添加AS号,利用AS-PATH属性干涉选路也是可以的;人为增添path中的数字;只能在EBGP邻居间配置;由于path属性又是防环属性,故只能人为的增添,不能将减少;及可用干涉EBGP关系选路,也可用于干涉IBGP选路;

[r4]ip ip-prefix as premit 1.1.1.0 24

[r4]route-policy as permit node 10

[r4-route-policy]if-match i p-prifix as

[r4-route-policy]apply as-path 3 4 5 additive

[r4-route-policy]q

[r4]route-policy as permit node 20

[r4-route-policy]q

[r4]bgp

[r4-bgp]pe 14.1.1.1 route-policy as import

注:可以在控制层面的出或入方向调用,但只能在EBGP邻居间操作;可干涉EBGP、IBGP选路;

出向调用 x 3 4 5 x为实际经过的AS号;最前端号码为最新经过的AS号;

入向调用 3 4 5 x

切记:as-path 属性又用于EBGP水平分割,若人为添加的AS号在网络后端实际存在,将导致这些路由无法进入这些AS; 解决方案:反复添加已经添加过的AS编号;

17.4 起源属性——条目的产生方式

network 宣告本地路由表种的任意路由

import 将本地通过其他协议学习到的路由重发布到BGP协议中 ?

EGP 早期的egp协议学习的路由重发布到BGP协议中 e

该属性的修改可以在整个控制层面流量经过的任意接口修改;

[r4]ip ip-prefix o permit 1.1.1.0 24

[r4]route-policy o permit node 10

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

[r4-route-policy]apply origin egp 2 此处配置的AS,为对端邻居的AS号

[r4]route-policy o permit node 20

[r4-route-policy]q

路由的来源:在BGP协议中network逐一宣告导入 I

将IGP协议重发布到BGP协议中,批量导入 ?

将EGP协议重发布到BGP协议中,导入产生 e

i>e>?

17.5 MED—多出口鉴别属性

BGP协议默认没有度量值,没有cost值;但路由器在加载路由时,优先比较路由条目的优先级,相同的话比较cost值,小优;所谓MED,就是只人为的利用该规则,在路由条目中cost值位置放置一个数字,最终来干涉选路;最常用于干涉EBGP协议的选路;

MED就是人为利用路由器优选路径的规则—先比较管理距离(华为优先级),若已知再比较度量值(华为是从cost值)

BGP协议在特定条件下携带本地到达目的的cost值;本地宣告(重发布)自己路由表中的路由后,将其传递给本地EBGP邻居,将携带cost值;对于其他AS的设备学习到从同一个AS传递过来的路由,优选MED最小的路径;

管理员可以在控制层面传递路由的过程中手工修改MED;常常用于AS1干涉AS2对AS1的选路;

[r1]ip ip-prefix med permit 1.1.1.0 24

[r1]route-policy med permit node 10

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

[r1-route-policy]apply cost 10

[r1-route-policy]q

[r1]route-policy med permit node 20

[r1-route-policy]q

十八、BGP的选路

比较前提,多条BGP路由目标相同,且均可优(下一跳可达、同步关闭) 具有相同的优先级(管理距离)

  1. 优选Preference Vlaue 值最高的路由(私有属性,仅本地有效)
    不传递 权限最高属性 可以干涉EBGP/IBGP选路

  2. 优选本地优先级(Local Preference)最高的路由
    IBGP邻居关系间传递 只能干涉IBGP的选路

  3. 优选手动聚合>自动聚合>network>import>从对等体学到的

  4. 优选AS_Path 短的路由
    EBGP/IBGP关系均可被干涉,但只能在EBGP邻居间修改

  5. 起源类型 IGP>EGP>Incomplete
    起源属性 i优于e由于? 可在控制层面任意接口修改

  6. 对于来自同一AS的路由,优选MED值小的
    默认为0,宣告或重发布(关闭自动汇总)路由时携带本地到达目标的cost
    最常用于干涉EBGP选路的属性

  7. 优选从EBGP学来的路由(EBGP>IBGP)

  8. 优选AS内部IGP的Metric(度量-cost值)最小的路由;本地到达BGP下一跳地址的IGP的cost值最小

  9. 优选Cluster List 最短的路由

  10. 优选Orginator ID最小的路由

  11. 优选Router ID最小的路由器发布的路由

  12. 优选具有较小IP地址的邻居学来的路由

十九、BGP的社团属性

BGP的扩展属性,默认大多数厂家的产品在BGP协议中不携带社团属性

例:控制传播范围的社团属性

[r1]route-policy com permit node 10

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

针对所有流量修改属性,可换no-export、no-export-subconfed

[r1]bgp 1

[r1-bgp]peer 12.1.1.2 route-policy com export

默认华为设备也不传递社团属性,故使用社团属性时,必须定义传递性:

[r1-bgp]peer 12.1.1.2 advertise-community 逐跳行为,每台设备均需开启传递性

no-advertise 接收到的条目中若存在社团属性,将不再传递该路由

no-export 接收到的条目若存在社团属性,将不传递给下一个AS

no-export-subconfed 接收到的条目若存在该社团属性,将不传递给下一个小AS

若网络没有小AS,仅存在大AS时,no-export和no-export-subconfed作用一致;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值