网络备战——【BGP】

IGP追求速度,BGP没有追求速度的包袱,不需要有很强的算法。

追求:稳定性强、操控性强、可靠性强、承载性强

可靠性:TCP承载协议报文,tcp开销大,慢这对bgp没有影响。

稳定性:不触发更新,也不周期更新,只做增量更新,使用环境本身就是稳定态。

承载性:一定不能使用链路状态型计算。

操控性:在AS间会出现很复杂的选路需求,必须有很强的操控性(选路,策略)。

 

核心:属性

(1)ORIGIN

(2)AS-PATH

(3)NEXT-HOP

(4)Local-pre

(5)MED

(6)cluster-list

(7)commuiiI

(8)origintor-id

(9)cluster-list

(10)commuity

 

网络备战——【BGP】_第1张图片

 

BGP 的路由优先问题

BGP同步问题:

通过IBGP学习路由必须通过IGP学习,否则路由不优;为了解决技术层面的路由黑洞问题,一般建立关闭,使用MPLS标签转换技术解决。

下一跳问题:next-hop下一跳属性在路由传递时,是否改变规则:

(1)将IBGP邻居学习到的路由传递给EBGP时,next-hop为建立EBGP邻居的更新源地址。

特例:若边界设备与EBGP邻居使用MA网络并直连建立邻居,并且边界设备学习到达该路由的路由下一跳(递归后的)接口也为该MA网络接口,则使用EBGP学习的下一跳为IBGP邻居的MA接口地址(ICMP重定向),注意该特性也使用与EBGP学习路由传递给其他EBGP邻居时。

(2)将EBGP邻居学习的路由传递给IBGP邻居时,next-hop不发生改变;传递个其他EBGP邻居时下一跳为建立EGBP邻居的更新源地址。

 

BGP路由导入和导出

BGP 路由引入

1Network

 

network引入时,

若为直连路由、静态出接口写法路由(包含出接口为null 0),next-hop为0.0.0.0;

若为IGP路由,本路由器中IGP路由的下一跳地址为next-hop地址。

当接收到的next-hop为自己直连接口BGP路由条目,不学习,直接忽略,防止出环。

 

2重发布

 

重发布引入时,与next-hop一致。(必须关闭自动汇总,若开启,则next-hop为0.0.0.0)

注意:将OSPF路由重发布引入BGP时,默认不会将OSPF中的5类和7类LSA引入, 若要引入,则重发布过程中增加match匹配5类和7类LSA.

 

3聚合产生

 

聚合产生的路由条目,next-hop为0.0.0.0。

 

BGP路由导出

将BGP重发布进入IGP中,默认仅将EBGP邻居学习到的路由和本路由network引入的路由重发布引入。

若要将IBGP邻居学习到的路由重发布引入BGP,则使用命令:

R(config)#router bgp 1

R(config-router)#bgp redistribute-internal

 

BGP后门路由

(1)Backdoor属性是使router优选从IGP学习到的路由,而不是优选从IBGP邻居学习到的路由,因为缺省情况下,EBGP邻居AD为20,会始终优先选择,而不会选择其他AD的IGP路由协议传递过来的路由。

 

(2)后门路由用于一些特殊的情况,将IGP路由的优先级调高于EBGP。

 

BGP路由惩罚

目的:抑制路由摆动

被惩罚的路由不能参与选路,不能传递,惩罚是针对该路由的路径。

惩罚值:路由每翻滚一次,惩罚值增加1000,路由属性每改变一次,惩罚值增加500

惩罚门限:开始进行惩罚的惩罚值,默认2000

重用门限:当惩罚值降低到该值是,恢复路由,默认750

半衰期:每经过一个半衰期,惩罚值减半,默认15分钟

最大惩罚时间:最大惩罚路由时间,默认60分钟

最大惩罚值:重用门限*2^(最大惩罚时间/半衰期),默认12000

 

BGP的属性

一共10条,Cisco有11条,weight是Cisco私有属性

1、公认必遵:Origin,AS-path,Next-hop

2、公认可遵:local-pref,auto-aggregate

3、可选传递:aggregator,community

4、可选非传递:MED,Originator-ID,cluster-list,weight

 

1Origin属性:记录了路由是如何进入路由表的。

Origin code:i--IGP,e--EGP,?--incomplete

使用i标示——管理员使用network宣告引入

使用e标记——通过EGP协议学习后,重发布到BGP协议中的路由

使用?标记——通过IGP协议学习后,重发布进入BGP协议中的路由

优先级:i > e > ?

 

2AS-path属性:指出包含在update报文中的路由信息所经过的自治系统号。

1、路由条目在一个AS内部传递时,不会添加该AS的编号,而是在传递给其他EBGP邻居时,才添加该参数;并且优选经过的AS数量少的路径。

2、管理员可以通过添加AS来干涉选路,添加后即可干涉EBGP邻居关系选路,也可干涉IGBP邻居关系选路,但只能在EBGP邻居修改该参数。

 

3Next-hop属性

1、将IBGP邻居学习到的路由传递给EBGP邻居时,next-hop为建立EBGP邻居的更新源地址。

2、将EBGP邻居学习到的路由传递给IBGP邻居时,next-hop不发生改变;传递个其他EBGP邻居时下一跳为建立EGBP邻居的更新源地址。

 

4Local-pref属性

1、local-pref称为本地优先级,其中的(local)本地就是指AS,local-pref属性的传递范围只能在同一个AS内部有效,出了本AS就会被还原成默认值100.

2、local-pref属性在BGP邻居之间自动传递时,只有将路由发给IBGP时才会传递,而发给EBGP时,没有local-pref值。一条路由在AS内所有路由器上的默认local-pref值是100。

3、local-pref的值越高,路由的优先级就越高。

 

5auto-aggregate属性

用来警告下游路由器路由聚合后产生的路由路径丢失。

BGP支持向BGP邻居传递重叠路由,可以选择多种方式:

1、明细和粗略的都公布

2、只公布明细

3、只公布没有重叠的

4、公布聚合后的路由

5、明细和粗略都不公布

 

6Aggregator属性

用来通告汇总路由的汇聚路由器BGP_ID(Cisco)和聚合路由的路由器的AS号。

 

7community属性

标准community (Standard community)做路由标示

扩展community(extended community)用于MPLS ×××

 

8MED多出口鉴别属性

MED就是BGP中的metric,在不同AS间传递。在有多个下一跳EBGP邻居时,会优先选择MED值最小的路径;在同一个AS内部不传递该属性,同一AS内的MED的默认值为0,这是为了在同一个AS内的路由器拥有等同的选路结果。

 

9Originator-ID属性

路由反射器使用该属性,不接收与自己相同的起源者ID的路由,防止环路。

 

10Cluster-list属性

路由反射器使用该属性,不接收与自己相同的簇列表的路由,防止环路。

 

11Weight属性

Weight属性是Cisco私有属性,只有Cisco的路由器才能识别weight。

1、路由的weight属性只在本地路由器起作用,BGP将路由传递给邻居时,并不保留weight。Weight值的范围0~65535,默认为0,如果是BGP本地发起路由,weight值32768。

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

 

BGP的选路原则(13条)

BGP选路:

 

a、无环(AS转发环路)

b、路由优化(IBGP同步已解决;下一跳可达)

c、路由不能是被惩罚状态

 

(1)最高weight值 (选最高weight值的路由,Cisco私有,默认为0,如果是BGP本地发起路由,weight值32768)

(2)最高Local-pref值(若weight值相同,则选择拥有最高local-pref值的路由,默认100)

(3)本地发起(起源)路由(若local-pref值相同,则选择BGP本地发起的路由:也就是下一跳为0.0.0.0的路由。本地发起的路由有多种方式:network命令引入,重发布,汇总。)

(4)最短AS-path(若本地发起路由无法比出最有路径,则选择拥有最短AS-path的路由。可以使用bgp bestpath as-path ignore 命令来忽略对AS-path的比较,而直接比较下一属性。)

(5)最低origin类型(若AS-path无法比较出最优路径,则选择拥有最低origin类型的路由。origin记录了路由是如何进入路由表的,有三种方法:从IGP导入,从EGP导入,以及重发布。优先级:IGP > EGP > Incomplete)

(6)最小MED值(若origin类型无法比较出最优路径,则选择拥有最小MED值的路由,并且只有当多个下一跳邻居在同一个AS时,才能比较MED值。如果在多个不同AS的下一跳中比较MED,可使用命令bgp always-compare-med,需注意此命令在整个AS的路由器上配置,否则可能产生环路。MED默认值为0,如果收到一条没有MED值的路由,也认为是0)

(7)EBGP优于IBGP(若MED无法比较出最优路径,则选择下一跳为EBGP的邻居。EBGP的路由AD为20,而IBGP的路由AD为200,但BGP并不在EBGP与IBGP间比较AD值,比到此步时,是邻居类型影响了最优路径的选择,而不是AD值的影响。注意:BGP联邦内部没有改规则)

(8)在下一跳地址中,选择拥有IGP metric最小的路由

(9)如果配置了maximum-path,若存在多条等价路径,会同时进路由表,即负载均衡

(10)若下一跳都为EBGP,则选择最早学习到的路由,即时间最长的路由。(前提必须是external路由,联邦内的EBGP路由当做IBGP处理)

(11)选择拥有最低router-id的下一跳路由

(12)选择拥有最短cluster-list的路由

(13)选择下一跳邻居拥有最小IP地址的路由

 

  • BGP路由过滤

(1)route-map

(2)Prefix-list

(3)Distribute-list

(4)As-path ACL(基于正则表达式)

可以将ip as-path access-list 命令中的正则表达式用于BGP

你可能感兴趣的:(网络复习)