当前位置: 首页 > news >正文

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

2.Atomic_aggregate

(2).可选属性

1.可选过渡

1.community

2.可选非过渡

1.MED

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

http://www.lryc.cn/news/347860.html

相关文章:

  • Docker学习(带图详细)
  • RabbitMQ 如何使用延迟队列
  • 【C++】栈和队列
  • 常用的预编码算法学习
  • 人才培养计划大纲
  • 多语言环境下的正则表达式实战:校验整数、小数
  • 过拟合和欠拟合的学习
  • 中间件的使用
  • 阿里云OSS权限开通步骤及最佳实践
  • 【Python贪吃蛇】:编码技巧与游戏设计的完美结合
  • 2024.5.19 机器学习周报
  • 母亲节祝福html源码示例
  • 微信小程序开发中的权限管理与用户身份验证:守护数据安全与用户体验
  • Python3 笔记:二进制的转换
  • 代码审计-PHP模型开发篇动态调试反序列化变量覆盖TP框架原生POP链
  • 前端动态旋转地球背景
  • MySQL中的子查询
  • Unity打开安卓设备不同的设置面板
  • 低空经济+无人机:低空物资运输技术详解
  • 全场景智能终端RK3288主板在智能垃圾回收项目的应用,支持鸿蒙,支持全国产化
  • QT设计模式:建造者模式
  • 个人微信api
  • 使用Ownips工具获取海外电商网站wish商品价格
  • 【FFmpeg】调用ffmpeg进行H264软解
  • 网络安全防护:抵御DDoS和CC攻击
  • 初次查询大数据信用报告,需要注意哪些问题?
  • 最短路径[floyd算法]-----视频讲解+代码实现
  • 图像/视频恢复和增强CodeFormer
  • WPF中ObservableCollection
  • 如何用鼠标点击在picturebox的图像上做标记