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,**就忽视这条路由更新。

相关推荐
小度爱学习23 天前
BGP 规划问题、路由黑洞与环路
网络·网络协议·网络安全·智能路由器·bgp
小徐同学14182 个月前
BGP边界网关协议(Border Gateway Protocol)Community属性
运维·网络·网络协议·智能路由器·bgp
小徐同学14182 个月前
BGP边界网关协议(Border Gateway Protocol)路由聚合详解
运维·服务器·网络·网络协议·信息与通信·bgp
小徐同学14183 个月前
BGP边界网关协议(Border Gateway Protocol)路由引入、路由反射器
运维·网络·网络协议·华为·智能路由器·信息与通信·bgp
小徐同学14183 个月前
BGP边界网关协议(Border Gateway Protocol)概念、邻居建立
运维·网络·网络协议·智能路由器·bgp
秋说3 个月前
【网络协议】什么是 BGP? | 解释 BGP 路由
网络协议·bgp
梆子井欢喜坨7 个月前
《Cloud Native Data Center Networking》(云原生数据中心网络设计)读书笔记 -- 11部署BGP
网络·云原生·bgp
梆子井欢喜坨7 个月前
《Cloud Native Data Center Networking》(云原生数据中心网络设计)读书笔记 -- 10数据中心中的BGP
网络·云原生·bgp
Mriel10 个月前
BGP中next-hop-self 小实验
bgp