BGP学习二:BGP通告原则,BGP反射器,BGP路径属性细致讲解,新手小白无负担

目录

一.AS号

二.BGP路由生成

1.network

2.import-route引入

三.BGP通告原则

1.只发布最优且有效的路由

2.从EBGP获取的路由,会发布给所有对等体

3.水平分割原则

4.IBGP学习BGP默认不发送给EBGP,但如果也从IGP学习到了这条路由,就发给EGP

四.BGP路径属性

(1).公认属性

1.公认必遵

1.AS_Path

2.Origin

3.Next_Hop

2.公认任意

[1.local preference](#1.local preference)

2.Atomic_aggregate

(2).可选属性

1.可选过渡

1.community

2.可选非过渡

1.MED

[.local preference(本地优先级)是如何离开](#.local preference(本地优先级)是如何离开)

五.BGP路由反射器

(1).路由反射器的角色

1.RR

2.client

(2)反射规则

(3)水平分割防反射可能出现的环路

1.originator_ID

2.cluster_list


一.AS号

AS长度是16bit,范围是0-65535

分为公有和私有

公有: 1-64511
私有:64512-65534

二.BGP路由生成

BGP是无法发现和计算路由的,他只能从IGP引入路由,有两种方式

1.network

宣告网段,一条一条来,但可靠性高,没有这个网段就无法宣告

2.import-route引入

批量引入IGP的路由,生成聚合

三.BGP通告原则

1.只发布最优且有效的路由

*------有效

>------最优

有效路由是说下一跳必须可达

2.从EBGP获取的路由,会发布给所有对等体

包括IBGP/EBGP,但下一跳不改变直接发

3.水平分割原则

从IBGP获取的路由,不会再发送给其他IBGP对等体

就是说只传一跳,防止形成路由环路

4.IBGP学习BGP默认不发送给EBGP,但如果也从IGP学习到了这条路由,就发给EGP

如果没有原则4,会产生路由黑洞

当R5向10.0.12.1发消息,可以找到R3,但R3和R2建立的是IBGP,没有物理链路,就只能通过R4发送 ,但此时IGP没有这条路由,R4在路由表查找不到这条路由,只能丢弃 ,发一个吞一个,就叫路由黑洞

那么如果有了原则4 ,只有IGP有这条路由,也就意味着R4有这条路由,才发给另一个EBGP------R5,就不会出现路由黑洞问题

但这个原则用的不多,华为一般认为IBGP全互联解决路由黑洞比较好。

四.BGP路径属性

我们上一篇了解到,BGP可以根据不同网络需求选择不同路径,选取最优路径,现在我们一起学习有效BGP的路径属性

(1).公认属性

所有BGP可识别

1.公认必遵

每个路由器必识别,在每一个Update信息里

1.AS_Path

前往目标路由器经过的AS列表

作用是防环和路由优选

防环

路由器在学习到一条路由后,在自己的AS_path左侧添加学到路由的AS号,当路由器学到一条路由,在这条路由的AS_path中看到自己的AS号,就不再学习。起到防环作用。

路径优选

AS_Path列表AS数量少(AS_Path短)的路径更优,经过的路由器少

AS------Seqence

有序AS号,默认情况下,就是我们防环和路径优选这种例子

AS_set

无序AS列表,在做链路聚合时,不再加上聚合前的AS号,因为要是想要访问这个网段,就直接找R3就可以了

修改AS_path

Additive:直接在左侧追加AS号

Overwrite:替换AS号

None Overwrite:清空AS列表

2.Origin

标记路由器起源

关于起源名称很容易与路由协议按区域分类搞混,所以这里我们不要管这个起源名称

直接看标识和学习方式。

如果是BGP network方式学习到的,那么这个路由一定在路由表里,不然没有办法宣告,所以他的受信任度是最高的,标识为i

如果是 BGP学习到的,那么标识为e

如果是路由引入学习来的,那么他最不可信,受信任度最低,标识为?

3.Next_Hop

下一跳可不可达

下一跳设置规则

1)设置为BGP邻接关系接口

2)设置为环回地址

3)设置为本地,peer 3.3.3.3 next_hop_local,会自动把下一跳改为自己的本地地址

4)Next_Hop与EBGP是一个网段,不改变下一跳

2.公认任意

有需求则带

1.local preference

本地优先级越高,路径越优

local preference注意事项

1)只在IBGP内有效

2)重新打上本地优先级,发到不同BGP

3)默认为100

local preferenceAS内如何离开AS

2.Atomic_aggregate

原子聚合

聚合后丢失路径属性,需要给下游的对等体警告,并提示聚合点已经聚合设备的AS号

(2).可选属性

不需要被所有了路由器识别

1.可选过渡

BGP不识别但发给其他路由器

1.community

我们一般使用ACL或IP Prefix-list来进行拦截或让通行不同的业务流量,但这样非常麻烦,要一条一条的设置

那么我们使用.community就会快很多

community可以看作是一个标签/标记,TAG,来简化路由策略

2.可选非过渡

BGP不识别就不发给其他路由器

1.MED

可以看作是开销值,默认不携带,并且默认为0

告知其他路由器如何进入本区域

.local preference(本地优先级) 是如何离开

MED注意事项

1)缺省情况下,只比较来自同一个相邻AS时比较,不同相邻AS不比较

2)EGP对等体情况下

是network,import_routez学到的,MED就是他的cost

不跨区域传播

五.BGP路由反射器

水平分割 使IGBP获取的路由只能发一跳,避免产生路由环路 ,但这样可能会有路由黑洞, 华为一般认为IBGP全互联 解决这个问题,但这样会维持太大的路由表项 ,就有了路由反射器来解决这个问题。

(1).路由反射器的角色

1.RR

路由反射器

2.client

RR客户端

(2)反射规则

1.RR从非客户端 学习到一条IBGP,反射给所有的客户端

2.RR从客户端 学习到一条IBGP,反射给除此客户端的所有的客户端 ,以及所有非客户端

3.从EBGP 学习到,反射给所有BGP邻居

(3)水平分割防反射可能出现的环路

RR可以说是打破了水平分割原则,那么就有可能出现环路

那么我们又要打破RR的环路

1.originator_ID

通告该路由的BGP路由器Router ID

如果AS内有多个RR,originator_ID由第一个RR创建

如果一条路由器收到的路由信息中originator_ID与自己的Router ID相同,那么他就忽视这条路由更新,上图第4步,R1就直接不接收这条BGP路由和更新,就不会有环路

2.cluster_list

反射簇列表:一个 RR和他的所有client

.cluster_ID默认是这个RR的Router ID

当一个路由信息被反射后,他就把发射他的RR的cluster_ID加到cluster_list中。当一个RR收到带

.cluster_list的路由信息时,有他自己的**cluster_ID,**就忽视这条路由更新。

相关推荐
梆子井欢喜坨2 个月前
《Cloud Native Data Center Networking》(云原生数据中心网络设计)读书笔记 -- 11部署BGP
网络·云原生·bgp
梆子井欢喜坨3 个月前
《Cloud Native Data Center Networking》(云原生数据中心网络设计)读书笔记 -- 10数据中心中的BGP
网络·云原生·bgp
Mriel6 个月前
BGP中next-hop-self 小实验
bgp
致奋斗的我们6 个月前
HCIP的学习(15)
开发语言·网络协议·学习·网络安全·php·信息与通信·bgp
烈火蜓蜻7 个月前
CCIE-15-MPLS-VPN
智能路由器·mpls·vlan·bgp·trunk·eigrp·mp-bgp
悟道子HD7 个月前
计算机网络技术-RIP、0SPF和BGP协议的工作原理和应用
经验分享·网络协议·计算机网络·rip·ospf·bgp·网关协议
飞翔的瓜牛7 个月前
BGP-安全特性、扩展特性、增强特性
网络·网络协议·bgp
烈火蜓蜻8 个月前
CCIE-10-IPv6-TS
网络·智能路由器·cisco·ipv6·bgp·troubleshooting·bgp-ipv6
烈火蜓蜻8 个月前
CCIE-09-BGP-TS
网络·智能路由器·mpls·ospf·bgp·troubleshooting