BGP 协议

article/2025/8/24 6:40:14

BGP

      • BGP 邻居类型
      • BGP 5种包
      • BGP 6种邻居状态
      • BGP 邻居建立
      • BGP 路由的生成方式
      • BGP 通告原则与路由处理
      • BGP 认证
      • BGP 对等体之间的交互原则
      • BGP 邻居学习next-hop-local补充
      • BGP 常用属性
      • BGP 防环
      • BGP 选路规则
      • BGP 路由聚合

BGP知识点:
BGP基础配置,BGP 5种报文,6种邻居状态,4大类细分10种属性,IBGP EBGP(环回口 物理接口)建立邻居,BGP认证,fake-as,路由传递原则,IBGP防环,EBGP防环,RR防环,BGP路由自动聚合,手工聚合(detail-suppressed,supress-policy,attribute-policy,origin-policy),BGP 5种 community属性,BGP选录,BGP联盟,路由反射器,BGP路由过滤,引入,下放默认路由
在这里插入图片描述

边界网关协议BGP(Border Gateway Protocol)是一种实现自治系统AS之间的路由可达,并选择最佳路由的 高级路径矢量路由协议

  • AS,自治系统是指同一个技术管理机构管理,使用统一选路策略的一些路由器的集合。
  • AS的内部使用IGP来计算和发现路由,同一个AS内部的路由器之间是相互信任的,因此IGP的路由计算和信息泛洪完全处于开放状态,人工干预很少。
  • 不同AS之间的连接需求推动了外部网关协议的发展,BGP作为一种外部网关协议,用于在AS之间进行路由控制和优选。
  • 总结:AS内部使用IGP来计算和发现路由;AS之间使用BGP来传递和控制路由

BGP不支持多进程,因为整台路由器只能属于一个AS
BGP特点:非直连建立邻居关系 (BGP可以跨越多跳路由器建立邻居关系)
这种特点会产生 BGP路由黑洞 (双方路由表都看得到,但是ping不通,中间被吸走了)

TCP的三次握手。先启动BGP的一端先发起TCP连接。如图所示,RTB先启动BGP协议,RTB随机端口号向RTA的179端口发起TCP连接
在这里插入图片描述

BGP 邻居类型

EBGP(External BGP)、IBGP(Internal BGP)
在这里插入图片描述通过AS number比较
运行在不同AS之间的BGP路由器建立的邻居关系为EBGP邻居关系
运行在相同AS内的BGP路由器建立的邻居关系为IBGP邻居关系

OSPF的network有两个作用:①建立邻居 ②宣告网段
OSPF的Hello包:①建立邻居 ②维护邻居
对于BGP是细化了,邻居归邻居,路由归路由
BGP建立邻居是peer,宣告是network
BGP建立邻居报文是open,BGP维护报文是keepalive

BGP 5种包

BGP 共有 Open、Update、Notification、Keepalive 和 Route-refresh 等 5种报文类型。
Open 报文:是 TCP 连接建立后发送的第一个报文,用于建立 BGP 邻居之间的连接关系。

BGP 邻居在接收到 Open 报文并协商成功后,将发送 Keepalive 报文确认并保持连接的有效性。确认后,BGP 邻居间可以进行 Update、Notification、Keepalive 和 Route-refresh 报文的交换

1、Open 报文:
用于建立 BGP 对等体连接,创建时或重置时能看到, reset bgp all all
2、Update 报文:
用于在对等体之间交换路由信息。需要在BGP中network才会有Update报文
3、Notification(通告)报文:
用于中断 BGP 连接。
4、Keepalive 报文:
用于保持 BGP 连接。 周期性发送。
5、Route-refresh(刷新)报文:
用于在改变路由策略后请求对等体重新发送路由信息。只有支持路由刷新(Route-refresh)能力的 BGP 设备会发送和响应此报文。
refresh bgp all import

BGP 6种邻居状态

Idle:初始状态 。reset bgp all才能看到
connection:BGP等待TCP连接的简历
active:TCP连接失败,重新建立TCP连接
opensent:TCP建立成功,发送open报文
openconfirm:收到正确的OPEN报文 。如果收到Keepalive报文,则转至Established状态。如果收到Notification报文,则转至Idle状态。
established:BGP邻居建立成功

Idle状态是BGP初始状态
任何状态中收到Notification(通告)报文或TCP拆链通知等Error事件后,BGP都会转至Idle状态

Connect状态
BGP启动连接重传定时器,等待TCP完成连接
如果TCP连接成功,那么BGP向对等体发送Open报文,并转至OpenSent状态。
如果TCP连接失败,那么BGP转至Active(活跃)状态。
如果连接重传定时器超时,BGP仍没有收到BGP对等体的响应,那么BGP继续尝试和其他BGP对等体进行TCP连接,停留在Connect状态。

Active状态
BGP总是在试图建立TCP连接
如果TCP连接成功,那么BGP向对等体发送Open报文,关闭连接重传定时器,并转至OpenSent状态。
如果TCP连接失败,那么BGP停留在Acitive状态
如果连接重传定时器超时,BGP仍没有收到BGP对等体的响应,那么BGP转至Connect状态。

OpenSnet状态
如果收到的Open报文正确,那么BGP发送Keepalive报文,并转至OpenConfirm状态
如果发现收到的Open报文有错误,那么BGP发送Notification报文给对等体,并转至Idle状态

OpenConfirm状态
BGP等待Keepalive或Notification报文。如果收到Keepalive报文,则转至Established状态,如果收到Notification报文,则转至Idle状态

Established状态
BGP可以和对等体交换Update、Keepalive、Route-refresh报文和Notification报文。
如果收到正确的Update或Keepalive报文,那么BGP就认为对端处于正常运行状态,将保持BGP连接
如果收到错误的Update或Keepalive报文,那么BGP就发送Notification报文通知对端,并转至Idle状态。

邻居关系配置的优化
物理口和环回口配置
IBGP 常规用环回口建立
EBGP 常规用物理接口建立

环回口建立 IBGP邻居
环回口 要加 connect-interface loo0 才能发送
[R1]bgp 100
[R1-bgp]peer 2.2.2.2 as-n 100 先要有邻居
[R1-bgp]peer 2.2.2.2 connect-interface loo0 再 指定更新源

环回口建立 EBGP邻居
[R2-bgp]peer 3.3.3.3 connect-interface loo0
[R2-bgp]peer 3.3.3.3 ebgp-max-hop 120 让传播的足够远。 如果是物理接口 1跳就足够了。
但环回口1跳是不够的, 要修改环回口 ebgp-max-hop。 即修改TTL值

[R3-bgp]peer 2.2.2.2 ebgp-max-hop
 

通过非直连(逻辑接口)建立IBGP邻居要指定更新源
更新源:BGP通告默认是以出接口发送更新
因为BGP默认情况下,邻居建立是通过本地设备的出接口向对端发起TCP连接。指定更新源,实际就是指定发出oepn包的源地址,也就是tcp连接的本端地址。因此当使用非直连建立IBGP/EBGP 邻居时需要指定更新源

 

BGP 邻居建立

  • 建立邻居的前提条件:建立邻居的地址必须是可达的

  • IBGP邻居建立
    1.通过直连接口建立IBGP邻居
    2.通过非直连(逻辑接口)建立IBGP邻居
      1.非直连地址必须可达
      2.指定更新源
    更新源:BGP默认使用设备出接口发送报文和更新路由

因为BGP默认情况下,邻居建立是通过本地设备的出接口向对端发起TCP连接,对端收到TCP报文会检查源目地址,不匹配则建立失败,指定更新源,实际就是指定发出oepn包的源地址,也就是tcp连接的本段地址。因此当使用非直连建立IBGP/EBGP 邻居时需要指定更新源

  • EBGP邻居建立
    1 通过直连接口建立IBGP邻居
    2.非直连建立EBGP
      1.地址可达
      2.指定更新源
      3.指定最大跳数:使非直连能建立EBGP邻居  命令:peer 10.1.2.2 ebgp-max-hop
bgp 100		进入BGP进程,每台只能配置一个进程号
router-id 1.1.1.1		配置router  ID
peer 2.2.2.2 as-number 100		指定10.1.12.2为对等体 AS是对端的AS号
peer 2.2.2.2 connect-interface LoopBack 0
peer 2.2.2.2 ebgp-max-hop 255
peer 192.168.12.2 as-number 100

如果没有配置 Router ID,BGP 路由器会按一定规则自动选举 Router ID,选举
规则如下:
路由器在它的所有 LoopBack 接口上选择数值最高的 IP 地址;
如果没有 LoopBack 接口,路由器会在它的所有物理接口上选择数值最高的 IP
地址。

1、基本配置
R1:
sys
sysname R1
int loop 0
ip add 10.0.1.1 32
int g0/0/0
ip add 10.0.12.1 24
int g0/0/1
ip add 10.0.21.1 24
qR2:
sys 
sysname R2
int loop 0
ip add 10.0.2.2 32
int g0/0/0
ip add 10.0.12.2 24
int g0/0/2
ip add 10.0.21.2 24
int g0/0/1
ip add 10.0.23.2 24
int g0/0/3
ip add 10.0.32.2 24
qR3:
sys
sysname R3
int loop 0
ip add 10.0.3.3 32
int g0/0/0
ip add 10.0.23.3 24
int g0/0/1
ip add 10.0.32.3 24
q2、配置IBGP邻居
先保证IBGP内互通:
R1:
ip route-static 10.0.2.2 32 10.0.12.2
ip route-static 10.0.2.2 32 10.0.21.2
R2:
ip route-static 10.0.1.1 32 10.0.12.1
ip route-static 10.0.1.1 32 10.0.21.1第一种方式:物理口建立IBGP邻居
R1:
bgp 100
router-id 10.0.1.1
peer 10.0.12.2 as-number 100
peer 10.0.21.2 as-number 100
qR2:
bgp 100
router-id 10.0.2.2
peer 10.0.12.1 as-number 100
peer 10.0.21.1 as-number 100
qR2:
dis bgp peer  查看邻居状态
dis bgp routing-table  ————————————————————————————————————————————————————————————
第二种方式:环回口建立IBGP邻居
环回口 要加 connect-interface loo0 才能发送
R1:
undo peer 10.0.12.2 
undo peer 10.0.21.2
peer 10.0.2.2 as-number 100
peer 10.0.2.2 connect-interface loop 0
qR2:
ip route-static 10.0.1.1 32 10.0.12.1
ip route-static 10.0.1.1 32 10.0.21.1
bgp 100
undo peer 10.0.12.1
undo peer 10.0.21.1
peer 10.0.1.1 as-number 100
peer 10.0.1.1 connect-interface loop 0
qR2:
dis bgp peer  查看邻居状态
dis ip routing-table  查看路由表3.配置EBGP邻居
第一种方式:环回接口建立BGP
R2:
bgp 100
peer 10.0.23.3 as-number 200
peer 10.0.32.3 as-number 200
peer 10.0.3.3 as-number 200
peer 10.0.3.3 connect-interface loop 0
peer 10.0.3.3 ebgp-max-hop 2
q
ip route-static 10.0.3.3 32 10.0.23.3
ip route-static 10.0.3.3 32 10.0.32.3R3:
bgp 200
router-id 10.0.3.3
peer 10.0.23.2 as-number 100
peer 10.0.32.2 as-number 100
peer 10.0.2.2 as-number 100
peer 10.0.2.2 connect-interface loop 0
peer 10.0.2.2 ebgp-max-hop 2
q
ip route-static 10.0.2.2 32 10.0.23.2
ip route-static 10.0.2.2 32 10.0.32.2❤这里重点掌握怎么配置BGP邻居就行。
4.传递路由(后面补充,暂时不理)
R1:
bgp 100network 10.0.1.0 255.255.255.0  宣告网段,企图想让BGP路由学习到。
这个通过静态学习到,又通过BGP学习到,静态优先级比较高。dis bgp routing-table 会发觉这个不是最优的。 因此传递不过去给R3
[R1]int LoopBack 1
[R1-LoopBack1]ip add 6.6.6.6 24
[R1-LoopBack1]bgp 100
[R1-bgp]network 6.6.6.0 24
然后在R2 和 R3 dis bgp routing-table,发现学习到了 
R2:Network            NextHop        MED        LocPrf    PrefVal Path/Ogn*>i  6.6.6.0/24         10.0.1.1        0          100        0      iR3:Network            NextHop        MED        LocPrf    PrefVal Path/Ogn*>   6.6.6.0/24         10.0.2.2                              0      100i在R3上,创建looback2接口,宣告出去, 看看R1和R2的路由表
[R3]int loo2
[R3-LoopBack2]ip add 9.9.9.9 24
[R3-LoopBack2]bgp 200
[R3-bgp]net 9.9.9.0
R1:Total Number of Routes: 2Network            NextHop        MED        LocPrf    PrefVal Path/Ogn*>   6.6.6.0/24         0.0.0.0         0                     0      ii  9.9.9.0/24         10.0.3.3        0          100        0      200i不是可用的,最优的路由条目。这种情况怎么解决?在R2上,设置next-hop-local 这个后面会讲到
[R2]bgp 100
[R2-bgp]peer 10.0.3.3 next-hop-local

peer 关键字后面是对端邻居的接口 IP 地址,也可以是环回口地址
as-number 后面是邻居路由器所在的 AS 号,
建立 EBGP 邻居关系时,一般使用直连接口的 IP 地址;建立 IBGP 邻居关系时,一般使用 Loopback 接口的 IP 地址。

 

BGP 路由的生成方式

BGP路由的生成方式 - Network(1)
Network命令是逐跳将IP路由表中已经存在的路由引入到BGP路由表中,宣告出去,其他BGP路由器才能学到,不可以network一个不存在的路由条目
在这里插入图片描述

BGP路由的生成方式 - Import(1)
Import: 根据运行的路由协议(RIP,OSPF,ISIS等)将路由引入到BGP路由表中,同时import命令还可以引入直连和静态路由。
但不建议EBGP的路由 引入到IBGP。 承载不了
在这里插入图片描述

dis bgp routing-table 查看是否学习到BGP路由条目

 

BGP 通告原则与路由处理

在这里插入图片描述
BGP通告原则之一:仅将自己最优的路由发布给邻居
在这里插入图片描述
BGP通告原则之二:通过EBGP获得的最优路由发布给所有BGP邻居
在这里插入图片描述
BGP通告原则之三:通过IBGP获得的最优路由不会发布给其他的IBGP邻居(防环)
在这里插入图片描述
BGP通告原则之四:BGP与IGP同步

 
配置案例
在这里插入图片描述
BGP路由信息处理
bgp路由表,会提交到本地IP路由表。 路由转发的时候看的就是本地IP路由表
在这里插入图片描述

BGP 认证

认证是指路由器对路由信息来源的可靠性及路由信息本身的完整性进行检测的机制。

修改计时器
默认 BGP 的 keepalive 时间为 60s, holdtime 为 180s
如果 BGP 对待体两端的时间不同,以时间小的为准
修改hold time和keepalive 可以更快验证实验
[R2-bgp]timer keepalive 20 hold 60 整个BGP进程
在这里插入图片描述
简单认证 方式
[R1-bgp]peer 192.168.12.2 password simple huawei
[R2-bgp]peer 192.168.12.1 password simple huawei

密钥链 方式
[R2]keychain key mode periodic daily
[R2-keychain]key-id 1
[R2-keychain-keyid-1]key-string huawei
[R2-keychain-keyid-1]algorithm md5
[R2-keychain-keyid-1]send daily 09:00 to 17:00
[R2-keychain-keyid-1]receive-time daily 09:00 to 17:00
[R2-keychain-keyid-1]bgp 100
[R2-bgp]peer 192.168.23.3 keychain key
 
了解:fake-as —— 特殊场景
概念:使用fake-as可以将本地真实的AS编号隐藏,其他AS内的对等体在指定本段对锻体所在的AS编号时,应该设置成这个伪AS编号。
某台A设备升级了,然后AS号改了,等于 邻居指了不存在的AS号,然后邻居又不愿意改。
这就有个 fake-as 伪装。 把某台A设备真实的AS伪装,欺骗。
[R2]bgp 2000
[R2-bgp]peer 192.168.12.1 fake-as 200

 

BGP 对等体之间的交互原则

BGP 设备将最优路由加入 BGP 路由表,形成 BGP 路由。BGP 设备与对等体建立邻居关系后,采取以下交互原则:
1、从 IBGP 对等体获得的 BGP 路由,BGP 设备只发布给它的 EBGP 对等体。
2、从 EBGP 对等体获得的 BGP 路由,BGP 设备发布给它所有 EBGP 和 IBGP 对 9
等体。
3、当存在多条到达同一目的地址的有效路由时,BGP 设备只将最优路由发布给
对等体。
4、路由更新时,BGP 设备只发送更新的 BGP 路由。
5、所有对等体发送的路由,BGP 设备都会接收。
 

BGP 邻居学习next-hop-local补充

BGP无效路由的原因:下一跳不可达
下一跳地址为0.0.0.0表示本地产生的BGP路由。

在这里插入图片描述
这台路由器既连接外部又连接内部,当路由器由外部路由发送到内部路由的时,改变下一跳为自己
[R3-bgp]peer 1.1.1.1 next-hop-local
[R3-bgp]peer 2.2.2.2 next-hop-local 告诉R2路由器,你去往一台路由器的时候,找我R3就行。
从EBGP邻居收到的路由,发给IBGP邻居的时候,改变下一跳
但从IBGP邻居收到的路由,发给EBGP邻居的时候,不需要使用

具体配置:

1.基本配置
R1:
interface GigabitEthernet0/0/0ip address 192.168.12.1 255.255.255.0 
interface LoopBack0ip address 1.1.1.1 255.255.255.0 R2:
interface GigabitEthernet0/0/0ip address 192.168.12.2 255.255.255.0 
interface GigabitEthernet0/0/1ip address 192.168.23.2 255.255.255.0 
interface LoopBack0ip address 2.2.2.2 255.255.255.0 R3:
interface GigabitEthernet0/0/0ip address 192.168.34.3 255.255.255.0 
interface GigabitEthernet0/0/1ip address 192.168.23.3 255.255.255.0 
interface LoopBack0ip address 3.3.3.3 255.255.255.0 R4:
interface GigabitEthernet0/0/0ip address 192.168.34.4 255.255.255.0 
interface LoopBack0ip address 4.4.4.4 255.255.255.0 2.内部OSPF配置
R1:area 0.0.0.0 network 1.1.1.1 0.0.0.0 network 192.168.12.1 0.0.0.0 R2:area 0.0.0.0 network 2.2.2.2 0.0.0.0 network 192.168.12.2 0.0.0.0 network 192.168.23.2 0.0.0.0 R3:area 0.0.0.0 network 3.3.3.3 0.0.0.0 network 192.168.23.3 0.0.0.0 3.环回口建立IBGP邻居  
R1:
[R1]bgp 100
[R1-bgp]router-id 1.1.1.1
[R1-bgp]peer 2.2.2.2 as-n 100
[R1-bgp]peer 2.2.2.2 con loo0
[R1-bgp]peer 3.3.3.3 as-n 100
[R1-bgp]peer 3.3.3.3 con loo0
[R1-bgp]net 1.1.1.0 24R2:
[R2]bgp 100
[R2-bgp]router-id 2.2.2.2
[R2-bgp]peer 1.1.1.1 as-n 100
[R2-bgp]peer 1.1.1.1 con loo0
[R2-bgp]peer 3.3.3.3 as-n 100
[R2-bgp]peer 3.3.3.3 con loo0
[R2-bgp]net 2.2.2.0 24R3:
[R3]bgp 100
[R3-bgp]router-id 3.3.3.3
[R3-bgp]peer 2.2.2.2 as-n 100
[R3-bgp]peer 2.2.2.2 con loo0
[R3-bgp]peer 1.1.1.1 as-n 100
[R3-bgp]peer 1.1.1.1 con loo0
[R3-bgp]net 3.3.3.0 244.物理口建立EBGP邻居
R3:
[R3]bgp 100
[R3-bgp]peer 192.168.34.4 as-n 200R4:
[R4]bgp 200
[R4-bgp]router-id 4.4.4.4
[R4-bgp]peer 192.168.34.3 as-n 100
[R4-bgp]net 4.4.4.0 24
不需要改变邻接接口,也不需要多跳。因为是物理接口5.测试验证,发现问题,解决next-hop-local
[R2]dis bgp routing-table 发觉   
4.4.4.0 不是最优的,可用的,不会放到自己的路由表(ip routing-table),原因是下一跳不可达。 直接跨了网段的下一跳是不OK的。
Total Number of Routes: 4Network            NextHop        MED        LocPrf    PrefVal Path/Ogn*>i  1.1.1.0/24         1.1.1.1         0          100        0      i*>   2.2.2.0/24         0.0.0.0         0                     0      i*>i  3.3.3.0/24         3.3.3.3         0          100        0      ii  4.4.4.0/24         192.168.34.4    0          100        0      200i解决:next-hop-local
[R3]bgp 100
[R3-bgp]peer 2.2.2.2 next-hop-local
[R3-bgp]peer 1.1.1.1 next-hop-local   
内部两个都要配next-hop-local,告诉R2,R1 路由器,你去的时候找我就行了再次验证:
[R2]dis bgp routing-tableTotal Number of Routes: 4Network            NextHop        MED        LocPrf    PrefVal Path/Ogn*>i  1.1.1.0/24         1.1.1.1         0          100        0      i*>   2.2.2.0/24         0.0.0.0         0                     0      i*>i  3.3.3.0/24         3.3.3.3         0          100        0      i*>i  4.4.4.0/24         3.3.3.3         0          100        0      200i<R1>ping -a 1.1.1.1 3.3.3.3PING 3.3.3.3: 56  data bytes, press CTRL_C to breakReply from 3.3.3.3: bytes=56 Sequence=1 ttl=254 time=50 ms

 

BGP 常用属性

4大类细分10种属性
4大分类:公认必遵、公认任意、可选过渡、可选非过渡

公认必遵(所有路由器,只要运行BGP都可以识别到,Update报文发送路由条目的时候必须携带这三个):Origin(起源)、AS_Path(AS路径)、Next_hop(下一跳)

公认任意:Local_pref、Atomic_aggregate原子聚合(它相当于一种预警标识,并不承载任何信息。当路由器收到一条BGP路由更新中发现该条路由携带Atomic_aggregate属性时,它就知道这条路由可能出现了路径属性的丢失。)

可选过渡(可有可无,不知道就传递给下一个对等体):Aggregator聚合者(用于标记路由汇总行为发生在哪个AS及哪台BGP路由器上)、Community(多个路由条目放一起)

可选非过渡(可有可无,不知道就丢弃):MED、ORIGINATOR_ID、CLUSTER_LIST

BGP属性 —— Origin
Origin属性定义路径信息的来源,标记一条路由是怎么成为BGP路由的
IGP(network)>EGP>Incomplete(import)
i - IGP, e - EGP, ? - incomplete

BGP属性 —— AS_Path
AS-Path 是 记录经过的AS-hop 。 默认会选AS-Path短

BGP属性 —— Next_hop
什么时候要加 next-hop-local
从EBGP邻居收到的路由,发给IBGP邻居的时候,改变下一跳
但从IBGP邻居收到的路由,发给EBGP邻居的时候,不需要使用

BGP属性 —— Local_Preference
Local_Pref属性仅在IBGP邻居之间有效,不通告给其他AS。它表明路由器的BGP优先级,用于判断流量离开AS时的最佳路由。默认为100,值越大越优

BGP属性 —— MED
MED属性仅在相连两个AS(在EBGP传递)之间传递,收到此属性的AS不会再将其通告给任何其他第三方AS,用于判断流量进入AS时的最佳路由。默认为0,越小越优

BGP属性 —— Community
·限定路由的传播范围
·打标机,便于对符合相同条件的路由进行统一处理

BGP 防环

IBGP的防环:水平分割,路由器从它的一个BGP对等体那里接收到的路由条目不会将该路由器再传递给其他IBGP对等体。
EBGP的防环:当路由器从EBGP邻居收到BGP路由时,如果该路由的AS_Path中包含了自己的AS编号,则该路由将会直接丢弃
在这里插入图片描述
R2从EBGP邻居R1 收到R1的路由条目,会发送给R3。
如果R3后还有R4,观察点要转移到R3,R3是通过IBGP邻居R2收到的路由条目,是不会发给R4的

如果R4想接收到,R2和R4要建立一个BGP连接,虽然没有物理上的直连,但可以建立逻辑相连 —— TCP可达

路由反射器的防环:Originator_id,Cluster_list

 

BGP 选路规则

BGP路由器将路由通告给邻居后,每个BGP邻居都会进行路由优选,路由选择有三种情况:
·该路由是到达目的地唯一路由,直接优选。
·对到达同一目的地的多条路由,优选优先级最高的。
·对到达同一目的地且具有相同优先级的多条路由,必须用更细的原则去选择一条最优的。

一般来说,BGP计算路由优先级的规则: 要记住这8条及顺序
当到达同一目的地存在多条路由且下一跳可达

1.优选协议首选值(Preference_Value)最高的路由。(私有属性,仅本地有效)
2.优选本地优先级(Local_Preference)最高的路由。 (100,IBGP,越大越优)
3.优选本地生成的路由。手动聚合>自动聚合>network>import>从对等体学到的。
4.优选 AS_Path 短的路由。
5.比较 Origin 属性,起源类型 IGP>EGP>Incomplete。 i>e>?
6.优选 MED(Multi Exit Discriminator)值最低的路由。 (0,EBGP,越小越优)
7.优选从 EBGP 学来的路由(EBGP>IBGP)。
8.优选 AS 内部 IGP 的 Metric 最小的路由。
bgp 100
max load-balancing 2
9.优选 Cluster_List 最短的路由。 (有做路由反射器RR才考虑)
10.优选 Router_ID 最小的路由器发布的路由。
11.优选具有较小 IP 地址的邻居学来的路由。

如果配置了负载分担,当前8个规则相同,且存在多条AS_Path完全相同的外部路由,则根据配置的路由条数选择多条路由进行负载分担
 

BGP 路由聚合

BGP在AS之间传递路由信息,随着AS数量的增多,单个AS规模的扩大,BGP路由表将变得十分庞大,因此带来如下两类问题:
·存储路由表将占用大量的内存资源,传输和处理路由信息需要消耗大量的带宽资源;
·如果传输的路由条目出现频繁的更新和撤销,对网络的稳定性会造成影响

BGP路由聚合的必要性,AS内的路由器比较低端,处理能力较低,希望访问,又不希望接收过多的路由条目

聚合方法 —— 静态
在这里插入图片描述null 0 表示不存在的接口,起到防环作用

聚合方法 —— 自动聚合

undo synchronization 关闭同步
自动聚合是针对 引入来的路由有效,对network无效
在这里插入图片描述聚合方法 —— 手动聚合 (静态和aggravate)
BGP路由聚合 会有明细和聚合后的。 因此要通过路由聚合屏蔽明细路由,只将一条聚合后的路由发出去 detail-suppressed
在这里插入图片描述


http://chatgpt.dhexx.cn/article/J8buKR64.shtml

相关文章

计算机网络:BGP路由协议

BGP路由协议的概述 首先&#xff0c;再当前的互联网中&#xff0c;BGP是目前唯一支持的外部网关协议EGP的协议&#xff0c;用于自治系统AS之间传递路由信息&#xff0c;目前的版本为4。 从图中可以看出&#xff0c;BGP协议是连接自治系统AS的“桥梁”。 为什么需要BGP协议 …

BGP协议基础配置—学习

BGP重要概念 IGP是运行在AS内部的路由协议&#xff0c;主要有RIP、OSPF及IS-IS&#xff0c;着重于发现和计算路由。 EGP是运行在AS之间的路由协议&#xff0c;通常是BGP&#xff0c;它是实现路由控制和选择最好的路由协议。 这次主要讲的是BGP。 BGP它不生产路由&#xff0…

BGP协议总结

概述 BGP为Border Gateway protocol 边界网关路由协议&#xff08;路径矢量&#xff09; 主要作用是在AS之间传递路由信息 • 分类&#xff1a;EGP • 工作机制&#xff1a;路径矢量协议 • 无类路由协议&#xff1a;支持VLSM和CIDR • 应用层协议/7层&#xff0c;TCP封装&…

BGP协议学习笔记——BGP基础

BGP协议学习笔记——BGP基础&#xff08;BGP概念、BGP报文、BGP状态机、BGP关系建立、BGP路由通告&#xff09; 说明&#xff1a;本文学习笔记整理自网络、华为公开产品文档、华为公开PPT及部分的自我理解 一、BGP简介 BGP定义 边界网关协议BGP&#xff08;Border Gateway …

什么是BGP协议?

什么是BGP协议&#xff1f; BGP(Border GatewayProtocol)是一种在自治系统之间动态交换路由信息的路由协议。一个自治系统的经典定义是在一个管理机构控制之下的一组路由器&#xff0c;它使用IGP和普通度量值向其他自治系统转发报文。 在BGP中使用自治系统这个术语是为了强调这…

BGP 边界网关路由协议

文章目录 一、BGP概述1、自治系统&#xff08;AS&#xff0c;autonomous system&#xff09;2、动态路由的分类&#xff08;1&#xff09;自治系统分类&#xff08;2&#xff09;协议类型分类 3、BGP的概念4、BGP的特征 二、BGP工作原理1、BGP邻居关系&#xff08;1&#xff09…

BGP协议原理与配置

AS&#xff08;自治系统&#xff09;是指由同一个技术管理机构管理&#xff0c;使用统一选路策略的一些路由器的集合。 私有自治系统&#xff0c;类似于私网那个IP地址&#xff0c;归属个人&#xff0c;不会连接到公网 国际管理自治系统 AS的内部&#xff1a;使用IGP&#xff0…

浅议BGP(一文看懂BGP)

今天主要介绍一下BGP的相关基础知识&#xff0c;文章浅显易懂&#xff0c;适合对BGP完全没有了解的同学。 一、先导知识 为了更好的介绍BGP&#xff0c;下面先对几个概念进行简单的介绍&#xff1a; 1、AS AS、即Autonomous System&#xff0c;自治系统。AS可以简单的理解为一…

一、BGP协议原理

BGP协议原理 一、BGP概述二、BGP特点二、BGP基本术语2.1.BGP发言者&#xff08;BGP Speaker&#xff09;2.2.Router ID&#xff08;RID&#xff09;2.3.BGP对等体&#xff08;BGP Peer&#xff09;2.3.IBGP对等体&#xff08;Internal BGP Peer&#xff09;2.4.EBGP对等体&…

BGP协议基本配置

边界网关协议BGP实现自治系统AS的路由可达 EBGP&#xff1a;运行于不同 AS 之间的 BGP 称为 EBGP。为了防止 AS 间产生环路&#xff0c;当 BGP 设备接收 EBGP对等体发送的路由时&#xff0c;会将带有本地 AS 号的路由丢弃。 IBGP&#xff1a;运行于同一 AS 内部的 BGP 称为 I…

BGP协议介绍

一. BGP协议概述 BGP用于在不同的自治系统&#xff08;AS&#xff09;之间交换路由信息。当两个AS需要交换路由信息时&#xff0c;每个AS都必须指定一个运行BGP的节点&#xff0c;来代表AS与其他的AS交换路由信息。通常是路由器来执行BGP。两个AS中利用BGP交换信息的路由器也被…

BGP协议总结(比较详细,好理解)

BGP Border Gateway Protocol&#xff08;当前使用的版本是 BGP-4&#xff09; 动态路由协议可以按照工作范围分为IGP以及EGP。IGP工作在同一个AS内&#xff0c;主要用来发现和计算路由&#xff0c;为AS内提供路由信息的交换&#xff1b;而EGP工作在AS与AS之间&#xff0c;在…

sentinel流控设置--流控排队等待

排队等待 顾名思义&#xff0c;请求过多时&#xff0c;让请求匀速的进入后台进行处理。采用漏斗算法&#xff0c;控制流量 设置超时时间&#xff0c;超时的则将请求抛弃&#xff0c;返回错误信息

sentinel流控设置--流控预热

预热 顾名思义&#xff0c;意思就是让流量慢慢的涨&#xff0c;不让流量突然的达到阈值 这里直接修改之前的规则&#xff0c;选择Warm up 使用场景在秒杀场景

串口的流控

1.首先确定DCE和DTE。 DCE是指modern等通信设备&#xff0c; DTE是计算机等终端设备&#xff1b; 2. DCE与DTE&#xff1b; DTE与DTE之间流控信号CTS和RTS的接线不同&#xff1b; DTE与DCE之间&#xff1a; DTE与DTE之间 3. RTS &#xff08;Require ToSend&#xff0c;发送…

Sentinel流控规则-链路

# 流控规则-链路名词解释 资源名&#xff1a;唯一名称&#xff0c;默认请求路径针对来源&#xff1a;Sentinel可以针对调用者进行限流&#xff0c;填写微服务名&#xff0c;默认default&#xff08;不区分来源&#xff09;阈值类型/单机阈值&#xff1a; QPS&#xff08;每秒钟…

【Sentinel】流控模式

目录 1.簇点链路 2.快速入门 2.1.示例 2.2.练习 3.流控模式 3.1.关联模式 3.2.链路模式 3.3.总结 1.簇点链路 雪崩问题虽然有四种方案&#xff0c;但是限流是避免服务因突发的流量而发生故障&#xff0c;是对微服务雪崩问题的 预防。我们先学习这种模式。 当请求进…

串口中硬件流控和软件流控

流控的概念 发送端数据发送速度过快&#xff0c;导致接收端的缓冲区数据还没有被读出而发送端发送过来的数据覆盖了原有缓冲区的数据而提出的一种流量控制方法&#xff1b; 主要为了解决常用的串口通信中&#xff0c;由于缺少时钟线&#xff0c;当速度不匹配、处理能力不匹配…

以太网基础--流控技术

随着数据中心网络技术和带宽不断发展&#xff0c;流控技术在网络中发挥着越来越重要的作用&#xff0c;但一直未曾有过很大变革。直到无损网络的出现&#xff0c;流控技术出现新突破。作为以太网的基本功能之一&#xff0c;流控技术用于可以防止拥塞的情况下出现丢包&#xff0…

串口的硬件流控和软件流控

为什么需要流控&#xff1f; 当两台设备进行串口通信&#xff0c;假如他们对数据的处理速度不同。如果接收端数据缓冲区已满&#xff0c;则此时继续发送来的数据就会丢失。使用流控机制时&#xff0c;当接收端数据处理能力饱和时&#xff0c;就发出“不再接收”的信号&#xff…