HCIP学习--BGP2

目录

前置内容

BGP宣告问题

BGP自动汇总问题 

BGP 的认证

BGP的聚合(汇总)

标准的BGP聚合配置

非标准的BGP聚合

路由传递干涉策略

抑制列表

Route-map  

分发列表

前缀列表

 BGP在MA网络中下一跳问题-ICMP重定向

查看与某个邻居收发的路由

配置

 有条件打破IBGP水平分割

路由反射器

反射规则

配置

 联邦

规则

 配置


昨天配置了BGP实验,当时建邻的环回时24位掩码,但是在真正的工程里的,BGP建邻的掩码是32位,且运营商会拿出一个网段用来当作环回地址建邻。然后如果用环回来模拟用户网段,环回在ospf商工作类型需要修改成broadcast。

前置内容

HCIP学习--BGP1_板栗妖怪的博客-CSDN博客

BGP宣告问题

运行BGP协议设备可以宣告本地的直连用户网段

运行BGP协议的路由可以宣告本地通过IGP协议学习到的路由

下图是BGP 表,全起来的MED是度量,本来说BGP不是没有度量,但是现在有了原因是,这个要有度量的是这两条路由是2号设备ospf算出来的路由,然后2号设备宣告自己算出来的网段自己带度量。

这个度量的意义

在BGP协议中宣告本地路由表中路由条目时.将携带本地到达这些目标的IGP度量值,传递到BGP邻居处;其他AS设备便于选择离目标最近的EBGP邻居若一台BGP设备,通过IBGP邻居学习到一条路由,存在度量值:同时本地需要将这些路由传输给本地其他的EBGP邻居时,只能将度量取消,按0进行传输:导致选路参考值不优.所以建议在一个AS中若需要BGP设备宣告某条路由,那么该AS内所有运行BGP协议的设备均宣告,便于其他AS的BGP设备判断自己的EBGP邻居,那台离目标更近

注意:宣告时优选本地路由

HCIP学习--BGP2_第1张图片

BGP自动汇总问题 

(现如今这个不存在了,设备里默认关闭)自动汇总规则与正常BGP 协议邻居共享的路由和在 BGP 协议通过 network 宣告命令产生的路由条目无关,仅针对从IGP重发布到BGP 的路由条目

BGP 中的宣告可以理解为是逐条的重发布

将IGP 重发布到 BGP,可以理解为是批量的将IGP 路由宣告到 BGP 协议

上面两种宣告有区别其起源属性不同,且单条的宣告优于整个协议的宣告

在开启了自动汇总的前提下,将整个协议宣告到BGP中将不携带子网掩码,按主类掩码进入不携带本地到达目标的度量值,度量为 0。 若关闭自动汇总,进入路由将正常携带掩码且携带度量,此时和宣告路由仅起源属性不同

在一个 AS 中建议所有运行 BGP 协议的设备均宣告相同路由,若进行将整个协议宣告到BGP中的配置,也建议所有运行 BGP 协议的设备均进行该配置

BGP 的认证

邻居间进行身份核实的方法;

[r1-bgp]peer 12.1.1.2 password cipher 密码

邻居间需要秘钥一致,传递出去的秘钥必然被加密

BGP的聚合(汇总)

标准的BGP聚合配置

先逐条宣告所有的明细路由

再在更新源路由上进行聚合配置,自动产生空接口防环路由

[r5-bgp]aggregate 100.100.0.0 22   此时聚合与所有明细条目均传递

[r5-bgp]aggregate 100.100.0.0 22 detail-suppressed 仅传递聚合条目,所有明细路由被抑制

若需要在传递聚合条目的同时,再传递部分的明细路由,,需要进行路径传递干涉策略

来举个例子来说明一下传递部分明细路由的原因

以下图作为例子

HCIP学习--BGP2_第2张图片

假设上面A1A2A3的路由都被汇总成A然后由上面和下面的设备发布过去,由于BGP没有负载均衡然后对面的设备会选一台设备上的路由来传递信息,假设选了A这样万一A1距离上面近A2A3下面近,这样选路就不好了,所以在汇总后上面路由添加一个宣告A1的路由明细下面添加两个A2A3的路由,这样那个汇总就会成为了一个备份

非标准的BGP聚合

不是BGP的标准汇总思路,而是利用了BGP的宣告的特征来简化了汇总配置量

宣告特征是本地路由表中任何方式产生的路由均可被BGP宣告

所以可以直接宣告一个空接口不逐条宣告明细路由,仅在更新源BGP设备上配置一条到达聚合地址的空接口防环路由(也就是配置一条去往空接口的汇总地址静态),然后将其宣告到BGP协议中

在实际工程中,由于AS之间一定存在大量的EBGP邻居关系;因此仅汇总不能做到优选路径,必须在传递聚合条目的同时,再传递部分的明细路由来进行选路控制

这个理由与上面的标准聚合的一样

路由传递干涉策略

在汇总后,BGP表中原来的被聚合的路由还在

例子

1.1.1.0/24和1.1.2.0/24被汇总成1.1.0.0/22但是1.1.1.0/24和1.1.2.0/24这两个网段还在

 解决办法

[r5-bgp]aggregate 100.100.0.0 22 detail-suppressed 仅传递聚合条目,所有明细路由被抑制

 s代表被抑制传输了

假设现在要抑制1.1.1.0/22的这条路由但是不抑制1.1.2.0/22这条路由,这就需要路由传递干涉策略 

抑制列表

[r5]ip ip-prefix a permit 100.100.1.0 24

[r5]route-policy a permit node 10

[r5-route-policy]if-match ip-prefix a

[r5-route-policy]q

[r5]bgp 3

[r5-bgp]aggregate 100.100.0.0 22 suppress-policy a

被抑制调用时,表中允许的流量最终反而被抑制传输

只能在聚合里用

Route-map  

BGP中将route-map当分发列表用

[r5]ip ip-prefix b permit 100.100.1.0 24      

[r5]route-policy b deny node 10

[r5-route-policy]if-match ip-prefix b

[r5-route-policy]q

[r5]route-policy b permit node 20

[r5-route-policy]q

[r5]bgp 3

[r5-bgp]peer 4.4.4.4 route-policy b ?

  export  Specify export policy  控制层面的出项

  import  Specify import policy  控制层面的入向

[r5-bgp]peer 4.4.4.4 route-policy b export

分发列表

[r5]ip ip-prefix c deny 100.100.1.0 24

[r5]ip ip-prefix c permit 0.0.0.0 0 le 32

[r5]bgp 3

[r5-bgp]filter-policy ip-prefix c export(控制层面方向)

针对所有邻居

前缀列表

BGP协议中可以直接将前缀列表作为分发列表调用

[r5]ip ip-prefix d deny 100.100.1.0 24

[r5]ip ip-prefix d permit 0.0.0.0 0 le 32

[r5]bgp 3

[r5-bgp]peer  4.4.4.4 ip-prefix d export针对发向4.4.4.4这个邻居调用d这个策略

 BGP在MA网络中下一跳问题-ICMP重定向

ICMP是默认开启,一台路由器在转发一个流量时,发现流量在本地的入口和查询完路由表的出口为同一接口时,将告知上一跳设备本地的下一跳地址;帮助上一跳设备找到最佳的下一跳地址

来个例子解释一下

以下面这副图为例子现在各个路是用物理接口建邻

假设4的环回被宣告了,先传给3,3传给2,但是现在2不优,然后在3修改下一跳,2优了,然后传给1,然后1学到了这条路由,1学到这条路由的下一跳是不是2,然后1去往4的环回的路由就是4321这条线路,这条路不是最好的看图知道134这条路才是最好的,然后BGP在MA网络中它是会直接将1去往那个网段的下一跳改成3,然后路就会变成431,这样路是不是就优秀了

然后如果用环回建邻的话并不会产生上面的情况,最后的路由路线是4321

HCIP学习--BGP2_第3张图片

查看与某个邻居收发的路由

配置

在BGP中仅查看某个邻居发送或接收到BGP路由

[r1]display  bgp routing-table peer 10.1.1.2 received-routes  

仅查看本地从邻居10.1.1.2接收到BGP路由

[r1]display  bgp routing-table peer 10.1.1.2 advertised-routes

仅查看本地发送给邻居10.1.1.2的BGP路由

 有条件打破IBGP水平分割

作用

可以降低配置量

条件

在打破水平分割后,网络保障无环

路由反射器

路由反射器RR 客户端 非客户端

RR作为中心,多台设备与它建立IBGP邻居关系;构成一个簇(组),组中心为RR,其他设备为客户或非客户;有且至少有一台客户

反射规则

注:不优路由不能被传递,自然也不能被反射

注:只有RR可以反射路由

RR从一个EBGP邻居处学习到的路由,可以传输给客户端、非客户端,已经本地的其他EBGP邻居;

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

RR从一个非客户端学习到的路由,可以传递给本地的其他客户端、EBGP邻居;不能传递给其他的非客户端;

配置

[r3-bgp]peer 2.2.2.2 reflect-client     邻居2.2.2.2成为R3的客户端,同时R3成为RR

 联邦

将一个AS,逻辑的分为多个小AS,对外依然遵循大AS号传递规则。但小AS间为联邦内的EBGP邻居关系,可以像EBGP关系一样传递路由,但默认不对属性进行修改

如下图在AS2中分出两个逻辑AS,绿色的圈内,AS号为扩展AS号,

HCIP学习--BGP2_第4张图片

规则

所有操作基于小AS号进行;

AS内所有设备需要定义自己所在的大AS号

小AS间的BGP设备需要告知对端的小AS号,如果没有告知,这个设备会将这个小的AS理解为大的AS

 配置

[r3]bgp 64512

[r3-bgp]router-id 3.3.3.3

[r3-bgp]confederation id 2   申明本地的大AS号

[r3-bgp]confederation peer-as 64513  告知本地直连的其他小AS号,若没有直连到其他小

AS不用配置(这个要在宣告之前配置)

[r3-bgp]peer  2.2.2.2 as-number 64512

[r3-bgp]peer  2.2.2.2 connect-interface LoopBack 0

[r3-bgp]peer  4.4.4.4 as-number 64513

[r3-bgp]peer  4.4.4.4 connect-interface LoopBack 0

[r3-bgp]peer  4.4.4.4 ebgp-max-hop

你可能感兴趣的:(学习)