BGP笔记全

自治系统---AS

定义:由一个单一的机构或者组织所管理的一系列IP网络及其设备所构成的集合

AS划分的原因

  • 如果整张网络很大,路由数量进一步增加,路由表规模变得太大,会导致路由收敛速度变慢,设备性能消耗加大,且全网设备对于路由信息的认知不同,造成流量通讯障碍。

  • AS之间可能是不同的机构、公司,相互之间无法完全信任,若使用IGP协议可能会造成暴露AS内部的网络信息风险。

AS号----16位二进制组成,32位二进制组成。----IANA(互联网数字分配机构)

  • 16位AS号,其取值范围:1-65534(0、65535保留);私有AS号:64512-65534;公有AS号:1-64511

  • 保留AS号

    • RFC4893标准中,支持16bitAS向32bitAS过渡,新增23456作为保留AS号

    • RFC5398标准中

      • 16bit中,64496-64511

      • 32bit中,65536-65551

BGP基础

  • 首先,RIP是基于UDP进行数据传输的,而UDP是一个不可靠的协议,他在传输过程中可能丢失某些数据。

  • RIP协议的路由更新报文的发送间隔是30S,而如果两个AS内部的路由表较为庞大,30秒的时间可能不够传输所有的路由条目,这样该条链路完全是为了RIP的通告报文服务,而不能进行数据转发。

解决思路:

  • 将UDP更换为TCP协议

  • 取消周期更新机制,仅保留触发更新

交换机转发靠硬件;路由器靠软路由

BGP特点

  • BGP基于TCP协议,只要能够建立TCP连接,就可以建立BGP连接

TCP是单播行为,用TCP要知道邻居

  • 触发更新,不再进行周期更新

  • 只传递路由信息,而不会暴露AS内的拓扑信息

    • 拓扑信息资源占用量大

    • 拓扑信息会暴露本AS内部的拓扑连接情况

  • BGP----无类别路径矢量协议

    • 无类别---传递路由信息时携带掩码信息

    • 矢量----指方向性,谁传递给我,谁就是下一跳。

    • 距离矢量----开销的体现,在距离矢量型协议中,将一个路由器看做是一个单位进行计算。

    • 路径矢量----将一个AS看做是一个整体,从而计算距离。

RIP---距离矢量协议 

IGP协议的主要任务是将AS内部的位置网段信息计算获取到,而BGP则主要是将IGP协议计算出来的路由信息进行搬运和传递,并不计算路由

BGP特征

  • 收敛速度

  • 资源占用

  • 选路

可控性

重发布因为度量值的原因,可能会出现选路不佳的情况。而BGP为了弥补这个不足,舍弃了开销值,取而代之的是设计了很多的路径属性。BGP通过这些路径属性来控制路径选择,从而干涉选路。

可靠性

BGP因为只有触发更新,而不存在周期更新,所以需要确保可靠性机制。使用TCP作为传输层来确保其可靠性,端口号为179。---路由器之间的BGP会话基于TCP连接而建立

IGP不选择使用TCP的原因

  • TCP传输效率低

  • TCP占用资源大

  • TCP只能实现单播数据传输,无法通过组播或者广播的形式发送数据,导致IGP协议无法自动发现邻居关系,只能手动配置。

AS-BY-AS

BGP将一个AS看做是一个整体。

BGP默认不支持负载均衡

IGP协议追求内容收敛速度快选路佳(无环路)占用资源少
EGP协议追求内容可控性可靠性AS-BY-AS

BGP的对等体关系

BGP因为传输层使用的是TCP协议,所以,只要TCP协议可以正常建立会话的基础上就可以完成BGP的建邻工作,而BGP支持非直连建邻------BGP设备必须具备邻居的路由信息

BGP存在两种对等体关系类型

  • EBGP

    • 位于不同自治系统的BGP路由器之间的BGP对等体关系

    • EBGP对等体一般使用直连建邻。TTL值=1

    • 两台路由器之间要建立EBGP对等体关系,必须满足如下条件

      • 两台路由器的所属AS号不同

      • 需要使用peer命令指定对等体的IP地址,且该IP地址的路由可达。

  • IBGP

    • 位于相同自治系统的BGP路由器之间的BGP对等体关系

    • IBGP对等体之间一般使用非直连建邻。TTL=255

    • 在IBGP对等体关系中,建邻使用的是环回接口IP地址。----原因在于环回接口是稳定接口;BGP建邻的流量可以借助AS内部的IGP协议来实现通讯冗余保证邻居正常建立。

总结BGP

  • 无类别路径矢量协议----AS-BY-AS

  • BGP使用单播来发送信息;基于TCP 179端口工作

  • 增量更新机制---仅触发更新

  • 具备丰富的路径属性来代替IGP中的度量值进行选路。

  • 可以在进出流量的接口实施路由策略---可控性

  • 默认不被用于负载均衡----会通过各种选路规则产生最佳的一条路由信息。

  • BGP支持认证和聚合。

BGP的数据包

image-20230323162229247

image-20230323162229247

BGP头部信息

image-20231115204243752

image-20230323153843010

Route-refresh----路由刷新报文

作用:用来要求对等体重新发送指定地址族的路由信息。

在某时刻,原本路由器已经学习到了对等体发送的BGP路由信息,而此时需要修改一下传递路由的内容,在控制层流量的入接口调用路由策略,但是此时该路由策略未生效。原因在于之前已经拿到了对等体发送来的路由信息,而此时需要让对方重新发送一次路由信息,进而根据本地新调整的策略内容,对路由信息进行修正。

双方均支持路由刷新功能

hello----周期保活,发现、建立邻居关系。

Open包

是在TCP连接建立之后发送的第一个报文内容,用以建立BGP对等体之间的连接关系。

image-20230323163521711

  • AS号

    • BGP的open报文会携带本地的AS号,通过对比两端的AS号可以判断对端是否和本端处于相同AS。从而选择建立IBGP对等体或者EBGP对等体关系。

      • 不管AS号是否相同,都并不影响BGP对等体的建立。

    • 如果接收到的OPen报文中的AS号与本地建邻时所配置的AS号不同,则将导致邻居关系无法建立。

  • hold time----保活时间----不影响BGP邻居对等体的建立。

    • BGP在建立对等体关系时两端需要协商该参数,并保持一致。若双方不一致,则选择最小的执行。默认180S。

    • 如果在该计时器时间内,没有收到updata报文和keepalive报文,则认为BGP连接中断

  • BGP标识符

    • 该参数值在open报文中携带,对比两端参数,相同则表示冲突,导致邻居建立失败。

  • 认证

    • BGP也可以进行认证,认证口令不同,则导致邻居建立失败。

    • 该字段存储在TCP的可选项字段。---永远以MD5形式存储。

  • 路由刷新功能-----route-refresh

Keepalive包

作用:主要用来进行周期保活;用来临时充当确认报文----确认open报文中的参数是否认可

该报文没有报文字段,仅仅具备BGP头部信息。---大小19字节。

周期保活时间默认是保活时间的三分之一,默认60S

TCP协议进行确认的目的是为了保证数据传输的可靠性,而keepalive报文确认的目的是为了认证认可对方发送的open报文中的参数

Update包----更新包

作用:用于在对等体之间传递路由信息,可以用于发布、撤销路由

image-20230324013846644

Notification包

纯粹的告警机制。---可以用在BGP协议启动的任意时刻,当任意时刻出现错误,都将以该报文的形式通知对方设备。

image-20230324015544017

BGP状态机

BGP状态机仅描述对等体建立过程的状态变化。----BGP将邻居建立和BGP路由收发过程分开

image-20230323153930483

  • Idle----空闲状态

    • 所有设备启动BGP进程后首先进入该状态。

      • 原因在于BGP需要手工指定邻居,在BGP进程启动后就会进入该状态,然后等待手工指定邻居。

    • 当手工指定邻居后,将会进入一个检查环节。需要检查手工指定的IP地址在本地路由表中是否可达,只有可达,才可以正常建立TCP的会话,如果不可达,则邻居关系建立失败,停留在idle状态。

    • 如果检查共拓,则进入下一个状态。

  • Connect状态----连接状态

    • 正在进行TCP会话连接。

    • 在该状态下,会开启一个连接重传定时器----32秒

      • 该计时器超时,则代表此时设备可以重新发送一个TCP连接请求数据包。

    • 如果成功建立TCP会话,则进入opensent状态;如果建立失败,则进入active状态。

  • Active状态----尝试状态。

    • 因为第一次TCP会话建立失败进入该状态。会继续尝试与对等体建立TCP会话。

    • 与connect状态共用同一个连接重传定时器。

    • 如果成功建立TCP会话,则进入opensent状态;如果建立失败,则停留在active状态

  • Opensent状态

    • 发出本地的open报文。

    • 同时,会收到对方发送的open报文,将查看open报文中的参数,进行参数协商过程。

    • 如果参数本端认可,则本地发送keepalive报文,之后进入openconfirm状态。

    • 如果参数本端不认可,则本地发送notification报文,并将状态切换至idle状态。

    • 对等体关系的指定是双向的,所以当双方都使用peer命令指定了对等体后,均会主动与对等体建立TCP连接。但是这样会建立两条TCP双向连接,会选择第一个建立的连接进行断开(BGP会将最早启动BGP协议的设备所发起的TCP会话断开,而保留后启动BGP协议的设备发送的TCP会话。)

  • openconfirm状态----等待open报文确认

    • 如果收到了对方发送的keepalive报文,则代表双方open报文中的参数协商成功。最终进入到establish状态。

    • 如果收到notification报文,则转至idle状态。

  • Established状态----邻居建立状态

    • 对等体建立的标志

image-20230323153943738

BGP状态机

BGP状态机仅描述对等体建立过程的状态变化。----BGP将邻居建立和BGP路由收发过程分开

image-20230323153930483

  • Idle----空闲状态

    • 所有设备启动BGP进程后首先进入该状态。

      • 原因在于BGP需要手工指定邻居,在BGP进程启动后就会进入该状态,然后等待手工指定邻居。

    • 当手工指定邻居后,将会进入一个检查环节。需要检查手工指定的IP地址在本地路由表中是否可达,只有可达,才可以正常建立TCP的会话,如果不可达,则邻居关系建立失败,停留在idle状态。

    • 如果检查共拓,则进入下一个状态。

  • Connect状态----连接状态

    • 正在进行TCP会话连接。

    • 在该状态下,会开启一个连接重传定时器----32秒

      • 该计时器超时,则代表此时设备可以重新发送一个TCP连接请求数据包。

    • 如果成功建立TCP会话,则进入opensent状态;如果建立失败,则进入active状态。

  • Active状态----尝试状态。

    • 因为第一次TCP会话建立失败进入该状态。会继续尝试与对等体建立TCP会话。

    • 与connect状态共用同一个连接重传定时器。

    • 如果成功建立TCP会话,则进入opensent状态;如果建立失败,则停留在active状态

  • Opensent状态

    • 发出本地的open报文。

    • 同时,会收到对方发送的open报文,将查看open报文中的参数,进行参数协商过程。

    • 如果参数本端认可,则本地发送keepalive报文,之后进入openconfirm状态。

    • 如果参数本端不认可,则本地发送notification报文,并将状态切换至idle状态。

    • 对等体关系的指定是双向的,所以当双方都使用peer命令指定了对等体后,均会主动与对等体建立TCP连接。但是这样会建立两条TCP双向连接,会选择第一个建立的连接进行断开(BGP会将最早启动BGP协议的设备所发起的TCP会话断开,而保留后启动BGP协议的设备发送的TCP会话。)

  • openconfirm状态----等待open报文确认

    • 如果收到了对方发送的keepalive报文,则代表双方open报文中的参数协商成功。最终进入到establish状态。

    • 如果收到notification报文,则转至idle状态。

  • Established状态----邻居建立状态

    • 对等体建立的标志

image-20230323153943738

BGP工作过程

  1. 基于IGP协议或者静态路由实现IP可达。

  2. 启动BGP协议,并指定邻居关系

    1. 邻居之间单播传输数据,通过三次握手,建立TCP会话通道。

    2. BGP之后所有的通讯都将基于TCP会话通道来传输,并由TCP提供传输的可靠性。

  3. 使用open报文和keepalive报文进行BGP对等体关系建立。open报文中携带建邻使用的参数,keepalive报文用于参数的确认。最终完成对等体关系的建立。生成邻居表

  4. 使用update报文来传递路由信息。信息中将携带目标网络号、掩码及路径属性信息。之后,设备会将所有自己发送的以及收到的BGP路由信息记录在BGP表中。

  5. 之后,将BGP路由表中最优的路由信息加载到全局路由表

  6. 收敛完成后,将使用keepalive报文进行周期保活,默认保活时间为180S,周期发送时间默认为保活时间的三分之一。

  7. 如果出现错误,将使用notification报文进行告警。

  8. 如果出现结构突变,将使用update报文进行增量更新。

BGP的防环

BGP水平分割机制

EBGP水平分割

依靠AS_PATH属性,该属性中记录了路由信息在控制层面传递时所经过的所有AS区域的编号。接收者根据AS_Path属性中的内容与本地对比,如果该属性中包含本地AS,则丢弃该路由信息

IBGP水平分割

image-20230327020905847

BGP规定,当路由器从一个IBGP对等体学习到某条BGP路由时,它将不能再把这条路由通告给任何IBGP对等体。----IBGP水平分割规则。

解决方案:

  • 构建全联的IBGP对等体关系

    • 当AS内部设备数量过多时,IBGP邻居关系呈指数增长,而IBGP邻居一般使用非直连方式建立邻居,也就导致数据的传输需要依靠物理链路,故全联建邻会占用大量的链路资源。并且路由器需要维护大量的TCP和BGP连接,需要消耗大量设备资源。

    • 网络扩展性差。

  • 打破IBGP水平分割机制。

    • 该规则无法关闭。

    • 联邦:将IBGP路由变成EBGP

    • 路由反射器:强制让IBGP反射出去信息

BGP的路由黑洞

BGP同步更新规则---为了避免BGP路由黑洞问题

当一台路由器从自己的IBGP对等体学习到一条BGP路由时,它将不能使用该条路由或者把该路由通告给自己的EBGP对等体。除非它又从IGP协议学习到相同的路由信息,也就是要求IBGP路由与IGP路由同步

在华为数通产品上,BGP同步更新规则,默认关闭,且不允许打开BGP同步更新规则。---cisco默认关闭,但可以打开

image-20221011200405944

由于BGP协议可以非直连建邻,所以导致BGP协议可能出现跨越未运行BGP协议的设备,导致BGP路由传递后,控制层面显示为可达。但是,数据层面,流量在流经未运行BGP协议的设备时,无法通过,形成路由黑洞。

解决思路:

  • 物理或逻辑拓扑全联。

  • 让未运行BGP协议的设备运行BGP协议

  • 在IGP协议中,引入BGP路由信息。

  • MPLS----多协议标签交换

BGP基本配置

image-20231118145025649

使用直连接口IP地址建立EBGP对等体关系
<span style="background-color:#f8f8f8"><span style="color:#333333">1、启动BGP协议
[r1]bgp 100  ----该数字为AS号,而非进程号。
2、设置RID值
[r1-bgp]router-id 1.1.1.1   全网唯一
3、配置BGP对等体,并指定对等体所在AS号
[r1-bgp]peer 12.0.0.2 as-number 200  ---BGP协议需要手工指定邻居,且需要指定邻居所在AS编号,且该指定方式必须是双向的。</span></span>

[r1]display bgp peer ---查看BGP邻居表

image-20231118145700611

IGBP对等体关系的建立

在实际工程中,一个AS的内部正常具有较为复杂的网络拓扑结构,设备到设备之间存在大量的备份链路和负载均衡链路,因此,建立IBGP邻居关系时,建议使用双方的环回接口来作为源/目IP地址

<span style="background-color:#f8f8f8"><span style="color:#333333">[r2]bgp 200
[r2-bgp]peer 3.3.3.3 as-number 200
​
[r3]bgp 200
[r3-bgp]router-id 3.3.3.3
[r3-bgp]peer 2.2.2.2 as-number 200</span></span>

手工建立邻居关系时,所指定的建邻的IP地址必须和收到的数据包中的源IP地址相同才能正常建立邻居关系。否则,邻居关系建立失败

<span style="background-color:#f8f8f8"><span style="color:#333333">解决方式:
[r2-bgp]peer 3.3.3.3 connect-interface LoopBack 0
[r3-bgp]peer 2.2.2.2 connect-interface LoopBack 0</span></span>

BGP会话的建立仅仅是依靠TCP会话,而并没有对这个TCP会话建立的方式有任何要求,该TCP会话是由谁发起的,谁是客户端,谁是服务端并不影响BGP对等体的建立

在BGP中,TCP会话建立两次是完全多余的。故修改一端的源报文IP也可以正常完成BGP会话建立。一般会将两端均进行修改,做连接的备用使用

使用环回地址IP建立EBGP对等体关系
<span style="background-color:#f8f8f8"><span style="color:#333333">[r4-bgp]peer 5.5.5.5 as-number 300
[r4-bgp]peer 5.5.5.5 connect-interface LoopBack 0
​
[r5]bgp 300
[r5-bgp]router-id 5.5.5.5
[r5-bgp]peer 4.4.4.4 as-number 200
[r5-bgp]peer 4.4.4.4 connect-interface LoopBack 0</span></span>

在EBGP对等体之间使用环回建立邻居时,必须保证拥有双方的环回路由信息。

<span style="background-color:#f8f8f8"><span style="color:#333333">[r4]ip route-static 5.5.5.5 32 45.0.0.5
[r5]ip route-static 4.4.4.4 32 45.0.0.4</span></span>

在此时,邻居间会发生对等体震荡,原因在于双方已经建立了TCP连接,并建立了BGP会话,从而来到了establish状态,但在该状态中,因为TTL值为1,本地会感知此时不应该处于establish状态,故发送notification报文从而释放会话关系

<span style="background-color:#f8f8f8"><span style="color:#333333">[r4-bgp]peer 5.5.5.5 ebgp-max-hop 2
[r5-bgp]peer 4.4.4.4 ebgp-max-hop 2
如果未标明数值,则代表将TTL值修改为最大255</span></span>

BGP的路由发布过程

通过network命令发布路由

对于BGP而言,只要是路由表中存在的路由信息都可以通过该命令发布

<span style="background-color:#f8f8f8"><span style="color:#333333">[r1-bgp]network 1.1.1.1 32  ----目标网络号和掩码信息,两个参数必须与全局路由表中的内容相同。</span></span>

[r1]display bgp routing-table ----查看BGP路由表。

NextHop----谁发送的路由信息,则下一跳字段就写谁(实际上写的是update报文中的源IP);如果是自己始发的路由信息,则下一跳写0.0.0.0。

状态码

*----代表可用-----设备收到路由条目后,会根据下一跳属性中的参数来查找本地路由表,检测该条路由信息的可用性,如果下一跳属性可达,则本条路由可用。---如果不可用,则该路由忽略。

>----代表优选----当收到多条到达相同网段的路由信息时,并且都可用,则将依据属性在其中选择最优的路由作为优选者,优选路由可以加入到全局路由表并进行路由传递。

i-----代表该路由是从IBGP对等体学习到的

BGP协议在传递路由信息时,只有该路由信息可用且优时,才可以进行传递

华为将BGP协议的路由信息优先级设定为255

因为AS-BY-AS规则,认为一个AS是一个整体,那么路由项在一个整体内部传递时,所有的路径属性都应该是相同的,否则就不是一个整体。而下一跳也是路径属性之一,默认情况下无法修改,故导致路由可用性校验失败。

<span style="background-color:#f8f8f8"><span style="color:#333333">解决方案:
[r2-bgp]peer 3.3.3.3 next-hop-local  ---将传递给3.3.3.3邻居的路由信息中的下一跳属性修改为本地。该命令仅在IBGP对等体关系中修改。</span></span>

总结配置逻辑

  1. 完成所有路由器的IGP配置

  2. 使用直连接口建立EBGP对等体关系

  3. 使用环回接口建立IBGP对等体关系

  4. 使用connect-interface命令修改IBGP建邻源IP地址

  5. 使用next-hop-local命令修改路由传递时的下一跳属性

  6. 若存在使用环回接口建立EBGP对等体关系,则需要建立通讯条件,并使用ebgp-max-hop命令修改TTL值。

通过重发布的方式发布路由
<span style="background-color:#f8f8f8"><span style="color:#333333">[r2-bgp]import-route ospf 1  ---通过重发布的方式引入路由信息</span></span>

Ogn----起源码属性----在标识本条路由信息的起源。

  • i----代表本条路由信息起源于AS内部使用network命令通告出来。

    • 该路由信息的来源为IGP协议、静态路由、直连路由。

  • e----代表本条路由信息起源于EGP协议---现在几乎看不到

  • ?---除了以上两种方式,其他方式获取的路由信息都是?

BGP路由聚合

自动聚合

image-20231120191833022

该方式仅针对于重发布的路由信息生效

<span style="background-color:#f8f8f8"><span style="color:#333333">[r1]ip ip-prefix aa permit 172.16.1.0 24
[r1]ip ip-prefix aa permit 172.16.2.0 24
[r1]ip ip-prefix aa permit 172.16.3.0 24
​
[r1]route-policy aa permit node 10
[r1-route-policy]if-match ip-prefix aa
​
[r1-bgp]import-route direct route-policy aa</span></span>

华为默认关闭自动汇总功能

<span style="background-color:#f8f8f8"><span style="color:#333333">[r1-bgp]summary automatic   ----开启自动汇总</span></span>

自动聚合功能开启后,本地会生成一条指向空接口的汇总网段路由,且该路由信息的来源为IBGP。然后本地将该路由信息传递给自己的BGP邻居,且传递时不携带掩码信息

状态码s----代表本条路由信息被抑制,被抑制的路由信息将不会再加表或传递

自动汇总特点

  1. 自动聚合将直接把明细路由汇总到主类网段

  2. 仅对于重发布的路由条目生效

  3. 会抑制明细路由

  4. 会在始发路由器生成一条指向空接口的汇总路由进行防环

  5. 聚合成功后,在始发路由器中,该路由的下一跳为本地127.0.0.1

自治系统----AS:由一个单一的机构或者组织所管理的一系列IP网络及其设备所构成的集合

AS划分的原因:如果网络太大,路由数量进一步增加,路由表规模变得太大,会导致路由收敛速度变慢,设备性能消耗加大,且全网设备对于路由信息的认知不同,造成流量通讯障碍

AS号:16位AS号,其取值范围:1-65534(0,65535保留)

RFC4893标准中,支持16bitAS向32bitAS过滤,新增23456作为保留

BGP基础

在当前IPV4环境下,主要使用BGPv4版本;但目前市场上还存在BGPv4+版本

BGP基础:

1.RIP基于UDP进行数据传输,而UDP是不可靠协议,传输中会丢失

2.RIP协议更新报文的发送时间是30s,

k

可控性:

重发布因为度量值的原因,可能会出现选路不佳的情况。而BGP为了弥补这个不足,舍弃了开销值,取而代之的是设计了很多的路径属性。BGP通过这些路径属性来控制路径选择,从而干涉选路。

可靠性:BGP因为只有触发更新,而不存在周期更新,所以需要确保可靠性机制。端口号179

认证:BGP支持认证和聚合

1.认证类型

2.认证数据

在TCP去写:因为BGP头部已经固定,19字节不能在加了,那么就在TCP的可选字段加

BGP也可以进行认证,认证口令不同,则导致邻居建立失败

该字段存储在TCP的可选项字段----永远以MD5形式存储

路由刷新功能-------route-refrish

keepalive包

主要作用进行周期保活,用来临时充当确认保活

该报文没有报文字段,仅仅具有BGP头部信息。----大小19字节

Update包---更新包

作用:用于在对等体之间传递路由信息,可以用于发布,撤销路由

传送目标网络号,路径,撤销路由字段

LSA:传送掩码开销

Notification 报告错误信息,中止对等体关系----可以用在BGP启动的任意时刻

BGP状态机角色:speaker:

BGP将邻居建立和BGP路由收发过程分开了

IGP宣告1.激活接口2.发送路由

idle开始准备TCP连接,为BGP打基础
Connect正式进行TCP连接,等待完成中,认证都是在TCP建立期间完成。
  • Idle---空闲状态
  • 所有设备启动BGP进程后首先进入该状态。
  • 原因在于BGP需要手工指定邻居,在BGP进程启动后就会进入该进程,然后等待手工指定邻居

Connect状态---连接状态

正在进行TCP会话

在该状态下,会开启一个连接重传定时器---32秒

Opensent状态

发出本地的open报文

同时,会收到对方发送的open报文

BGP工作过程:

IGP协议或者静态路由实现全网IP可达

启动BGP协议,并指定邻居关系

1.邻居之间单播传输

2.

使用OPEN和keeplive

使用update传递路由信息。信息中将携带目标网络号,掩码及路由信息,之后设备会将已发送的BGP记录到BGP表中

将BGP表最优的路由信息加载到全局路由表

收敛完成后,周期发送时间默认为保活时间1/3

如果出现错误,将使用notification报文进行告警

如果出现结构突变,使用update进行增量更新

idle:

BGP防环:

BGP水平分割机制:

EBGP水平分割:依靠AS—PATH属性,该属性记录了路由信息在控制层面传递时经过的所有AS区域的编号。接收者根据

IBGP水平分割

network宣告不能宣告汇总在BGP里,用的重发布

通过重发布的方式发布路由

[r2-bgp]import-router ospf 1

Ogn---起源码属性---在标识本条路由信息的起源

i---代表本地路由信息起源于AS内部使用的network命令通告出来

e---代表本条路由起源于EGP协议

?---

BGP路由聚合

自动聚合

手工聚合

华为默认关闭自动汇总功能

summary automatic

自动聚合功能开启后,本地会生成一条指向空接口

 自动汇总特点:

1.将直接把明细路由汇总到主类网段

2.仅对于重发布的路由条目生效

3.会抑制明细路由

4.会在始发路由器生成一条指向空接口的汇总路由进行防环

手工汇总

[r3-bgp]aggregate 172.16.0.0 20  ---手工聚合

强关联机制:

路由反射器场景下的防环

在一个AS内部,可能会存在多个

RR的设定会导致IBGP水平分割机制失效,导致环路产生,为此BGP添加了两个

当一条BGP路由被路由反射器反射给其他路由器时,如果该条路由已经携带了Originator-ID属性

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/179168.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

智能优化算法应用:基于猫群算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于猫群算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于猫群算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.猫群算法4.实验参数设定5.算法结果6.参考文献7.MATLAB…

Kubernetes基础(九)-标签管理

1 概述 Label&#xff08;标签&#xff09;是Kubernetes系统中一个比较重要的概念&#xff0c;给某个资源对象&#xff08;Node、Pod、Service等&#xff09;定义一个Label&#xff0c;就相当于给它打了一个标签&#xff0c;然后可以通过Label Selector&#xff08;标签选择器…

Layui框架弹出框form表单中单选按钮状态不刷新

1、问题描述 如下图&#xff1a;当我们点击编辑按钮的时候&#xff0c;实现如果性别(stu_sex)的值为0男生被选中&#xff0c;如果性别的值为1&#xff0c;女生被选中。但是在使用Layui框架的过程中&#xff0c;发现性别的单选按钮无法实现刷新&#xff0c;使用不正常。 1.1、…

记录:Unity脚本的编写7.0

目录 连接数据库编写脚本查看效果查增删 有段时间没有更新了&#xff0c;现在有点空&#xff0c;就继续写一下unity的脚本&#xff0c;这次就来写一下关于unity连接数据库的内容 连接数据库 无论是什么语言与应用场景&#xff0c;总有一项东西是绕不开的&#xff0c;那就是数据…

使用 ZFPlayer 播放视频的注意点

一 静音功能 通过调用系统的AVPlayer.muted来实现的 - (void)setMuted:(BOOL)muted {_muted muted;self.player.muted muted;if (self.audioMuteChange) {self.audioMuteChange(self, muted);}... }播放进度条 /// 滑杆 property (nonatomic, strong, readonly) ZFSliderV…

Django大回顾-2 之 Django的基本操作、路由层,MTV和MVC模型

【1】MTV和MVC模型 MVC与MTV模型 --->所有web框架其实都遵循mvc架构 MVC模型 MVC 本来坨在一起的代码&#xff0c;拆到不同的位置 模型(M&#xff1a;数据层)&#xff0c;控制器(C&#xff1a;逻辑判断)和视图(V&#xff1a;用户看到的)三层 他们之间以一种插件式…

Gee教程3.实现前缀树路由

需要完成的目标 使用 Trie 树实现动态路由(dynamic route)解析。支持两种模式:name和*filepath&#xff0c;(开头带有:或者*) 这里前缀树的实现修复了Go语言动手写Web框架 - Gee第三天 前缀树路由Router | 极客兔兔​​​​​​ 中路由冲突的bug。 Trie树简介 之前&#xff0…

selenium工作原理详解

一、什么是WebDriver WebDriver提供了另外一种方式与浏览器进行交互。那就是利用浏览器原生的API&#xff0c;封装成一套更加面向对象的Selenium WebDriver API&#xff0c;直接操作浏览器页面里的元素&#xff0c;甚至操作浏览器本身&#xff08;截屏&#xff0c;窗口大小&am…

如何在Ubuntu系统上安装YApi

简单介绍 YApi是高效、易用、功能强大的api管理平台&#xff0c;旨在为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建、发布、维护API&#xff0c;YApi还为用户提供了优秀的交互体验&#xff0c;开发人员只需利用平台提供的接口数据写入工具以及简单的…

【从浅识到熟知Linux】基本指令之mkdir

&#x1f388;归属专栏&#xff1a;从浅学到熟知Linux &#x1f697;个人主页&#xff1a;Jammingpro &#x1f41f;每日一句&#xff1a;加油努力&#xff0c;这次写完真的要去干饭了&#xff01; 文章前言&#xff1a;本文介绍mkdir指令用法并给出示例和截图。 文章目录 基本…

ABAP算法 模拟退火

模拟退火算法 算法原理及概念本文仅结合实现过程做简述 模拟退火算法是一种解决优化问题的算法。通过模拟固体退火过程中的原子热运动来寻找全局最优解。在求解复杂问题时&#xff0c;模拟退火算法可以跳出局部最优解获取全局最优解。 模拟退火算法包含退火过程和Metropolis算法…

舞蹈店管理系统服务预约会员小程序效果如何

舞蹈的作用很广&#xff0c;也有大量求学者&#xff0c;每个城市也有大小各异的舞蹈品牌店&#xff0c;他们承接商演、也会教学员、宣传拓展生意等&#xff0c;因此近些年来&#xff0c;随着互联网深入及短视频&#xff0c;舞蹈业市场规模也在增加。 而在门店经营中&#xff0…

Java中关于ArrayList集合的练习题

目录 题目内容​编辑 完整源码 题目内容 根据下图所示数据&#xff0c;定义学生类Student&#xff0c;设置对应的字段并进行封装在Test中&#xff0c;定义ArrayList集合 ,将上述学生对象实例化&#xff0c;并放入集合&#xff0c;定义方法t1&#xff0c;参数为学生类集合&am…

js数组map()的用法

JavaScript Array map() 方法 先说说这个方法浏览器的支持&#xff1a; 支持五大主流的浏览器&#xff0c; 特别注意&#xff1a;IE 9 以下的浏览器不支持&#xff0c;只支持IE 9以上的版本的浏览器 特别注意&#xff1a;IE 9 以下的浏览器不支持&#xff0c;只支持IE 9以上的…

从零开始的c语言日记day37——数组指针练习

一、 取地址数组储存在了*p里&#xff0c;里面储存的是整个数组的地址但本质也是第一个元素的地址解引用后1为4个字节所以就可以打印数组了。但一般不用这种方法 这样更方便一些 打印多维数组 如果不用这样传参&#xff0c;用指针传参怎么做呢&#xff1f; Main里函数的arr表示…

QT基础实践之简易计算器

文章目录 简易计算器源码分享演示图第一步 界面设计第二步 设置槽第三步 计算功能实现 简易计算器 源码分享 链接&#xff1a;https://pan.baidu.com/s/1Jn5fJLYOZUq77eNJ916Kig 提取码&#xff1a;qwer 演示图 第一步 界面设计 这里直接用了ui界面&#xff0c;如果想要自己…

TiDB 7.x 源码编译之 TiDB Server 篇,及新特性详解

本文将介绍如何编译 TiDB Server 源码。以及阐释 TiDB Server 7.x 的部分新特性。 TiDB v7.5.0 LTS 计划于 2023 年 11 月正式 Release&#xff0c;目前代码虽未冻结&#xff0c;但已经可以看到 Alpha 版本的 Code 了&#xff0c;本文代码将以 v7.5.0-alpha 为基准。 TiDB Se…

filebeat 日志收集工具

elk&#xff1a;filebeat日志收集工具和logstash相同。 filebeat是一个轻量级的日志收集工具&#xff0c;所使用的系统资源比logstash部署和启动时使用的资源要小的多。 filebeat可以运行在非Java环境。他可以代理logtash在非java环境上收集日志。 filebeat无法实现数据的过…

设计师福利!2024在线图标设计网站推荐,不容错过的宝藏!

在当今竞争激烈的商业环境中&#xff0c;公司或个人品牌的视觉识别元素已经成为区分你和竞争对手的关键因素之一。一个独特而引人注目的标志可以深深扎根于人们的心中&#xff0c;并在消费者心中建立一个强烈的品牌印象。如果你正在寻找合适的工具来创建或改进你的标志&#xf…

WIFI HaLow技术引领智能互联,打破通信限制

在过去十年里&#xff0c;WIFI技术已在家庭和企业中建立起了庞大的网络&#xff0c;连接了数十亿智能互联设备&#xff0c;促进了信息的迅速传递。然而&#xff0c;当前的WIFI标准存在一些挑战&#xff0c;包括协议范围的限制和整体功能的受限&#xff0c;导致在较远距离进行通…