25+个最常问的BGP面试题及答案

2025年03月17日 | 阅读 9 分钟

以下是BGP面试题及答案列表。

1) 什么是BGP?BGP的全称是什么?

BGP代表边界网关协议(Border Gateway Protocol)。它是一种标准化的外部网关协议,用于在Internet上的自治系统(AS)之间交换路由和提供信息。BGP主要用于自治系统内部的路由。在这种应用中,它被称为内部边界网关协议(Interior Border Gateway Protocol)、内部BGP(Internal BGP)或iBGP。另一种用途是,互联网应用的此协议被称为外部边界网关协议(Exterior Border Gateway Protocol)、外部BGP(External BGP)或eBGP。

我们可以将边界网关协议归类为路径向量协议。它根据网络管理员配置的路径、网络策略或规则集做出路由决策。它也参与核心路由决策。例如,当两个ISP连接时,它们通常使用BGP交换路由信息。


2) 不同子网上的路由器可以成为BGP邻居吗?

BGP通常配置在属于不同自治系统的两个直接连接的路由器之间。BGP路由器不需要邻居连接到同一个子网。相反,它们使用路由器之间的TCP连接来传递BGP消息,并允许邻居路由器位于同一个子网或不同的子网上。


3) BGP的主要目的是什么?

BGP的主要目的是像其他路由协议一样交换路由更新,但通常它不交换单个网络路由。它交换网络路由的摘要。这就是为什么它通常用于非常大的网络,包括Internet。


4) BGP有哪些基本特征?

BGP是一种路径向量协议或外部网关协议(EGP),用于Internet上的路由。以下是BGP最常见的特征:

  • BGP使用TCP端口179与邻居建立连接并传输数据,以确保可靠的协议更新传递。
  • 它仅在网络发生变化时发送更新(无周期性更新)。
  • 它会定期发送keepalive消息以验证TCP连接。
  • 协议的度量称为路径向量或属性。
  • BGP在路由决策算法中使用多个属性。
  • BGP是一种域间路由协议。
  • BGP是一种路径向量路由协议,最适合用于战略路由策略。
  • 它使用联盟(confederations)和路由反射器(route reflectors)来减少BGP邻接开销。
  • BGPv4实现了CIDR。
  • eBGP用于不同自治系统之间的外部邻居。
  • iBGP用于同一自治系统内的内部邻居。
  • 它使用AS之间的MED(度量)属性来影响入站流量。
  • 它使用权重来影响本地配置的单个路由器的出站流量路径。

5) BGP使用哪个TCP端口号进行连接?

BGP使用TCP端口179进行连接。


6) eBGP和iBGP邻居之间有什么主要区别?

eBGP用于不同自治系统之间的外部邻居。另一方面,iBGP用于同一自治系统内的内部邻居。


7) 是否可以在单台路由器上运行两个BGP进程?

不可以,不能在单台路由器上运行两个BGP进程。


8) 我们可以使用BGP代替任何IGP吗?

不可以,我们不能使用BGP代替任何IGP,因为BGP工作在不同自治系统之间,而IGP工作在自治系统内部。


9) 如何检查BGP状态?

有两种方法可以检查BGP状态:

  • 要查看BGP配置,请在CONFIGURATION ROUTER BGP模式下输入show config。
  • 要查看BGP状态,您应该在EXEC特权模式下使用show IP BGP summary命令。

10) 您如何理解BGP中的对等体(peers)?

在BGP中,任何两个建立了TCP连接以交换BGP路由信息的路由器都称为对等体。对等体也称为BGP邻居。


11) 您如何理解BGP中的毒性反转(poison reverse)?

在使用路由信息协议(RIP)或其他距离向量路由协议的计算机网络中,毒性反转是一种网关节点告知其邻居网关某个网关在接口上不可达或不再连接的方式。


12) BGP有哪些计时器?

主要有两个BGP计时器:

  • Keepalive间隔:指定发送keepalive消息之间的秒数。默认的keepalive计时器为60秒。
  • Hold Time(保持时间):指定一个时间间隔(秒),之后邻居将被视为不可用。默认的保持时间为180秒。

13) 您如何理解BGP中的环路预防机制?

BGP中有两种环路预防机制:

  • 当iBGP对等体指定了某条路由给一台路由器时,该路由器不会将相同的路由通告给另一台iBGP对等体。
  • 通过使用AS_PATH:当我们向eBGP对等体通告时,BGP路由器会将其自己的ASN添加到AS_PATH中。如果BGP路由器收到一条更新,并且该路由通告列出了包含其ASN的AS_PATH,它将忽略该路由。

注意:BGP路由器在向iBGP对等体通告时不会添加其ASN。


14) BGP的硬重置(Hard Reset)和软重置(Soft Reset)之间有什么区别?

在BGP术语中,管理员需要重置BGP对等体。有两种重置对等体的方法:

  • 硬重置
  • 软重置

让我们以表格形式看看硬重置和软重置的区别:

比较参数硬重置软重置
主要目标硬重置会终止与BGP邻居的TCP会话,强制其重新启动。它会终止对等体之间的TCP连接,通过BGP打开消息重新建立连接,并继续对等体之间的常规消息交换。软重置有2种类型:
1. 带路由刷新(Route refresh)的软重置:带路由刷新的软重置允许BGP对等体在不终止整个邻居关系的情况下请求更新。
2. 软配置(Soft-reconfiguration):软配置会存储从我们的对等体发送的BGP更新的BGP路由副本,因为没有向BGP邻居发送路由刷新请求。
方向包含进出仅进或仅出
影响硬重置可能会严重干扰所有网络的连通性。软重置只会影响受策略更改影响的那些前缀。
用途硬重置应仅作为最后的选择,当软重置无法解决问题时使用。软重置是最优选的方法,并且通常使用。
内存使用它不需要额外的内存来存储另一个表。它需要额外的内存,因为路由器现在为每个邻居存储一个表,而不是一个BGP表。
前提条件它不需要任何先决条件。在带路由刷新的软重置功能中,两个对等体可能都需要支持路由刷新能力。
收敛时间它需要非常长的收敛时间,因为处理整个表需要很长时间。其收敛时间比硬重置短得多。
相关命令clear ip bgp {* | neighbor ip | peer-group}clear ip bgp {neighbor ip} soft out
clear ip bgp {neighbor ip} soft in

15) BGP消息类型有哪些?有哪些不同的BGP消息类型?

BGP消息类型用于建立邻居关系和交换参数,包括自治系统号和认证值。以下是一些BGP消息类型的列表:

  • Open(打开):打开消息类型用于创建邻居关系和交换BGP参数,包括AS号和认证值。
  • Keepalive(保活):Keepalive BGP消息类型定期发送以维护邻居关系。如果在协商的Hold Time内未收到Keepalive消息,则BGP邻居关系将被关闭。
  • Update(更新):此消息类型用于交换路径属性和使用这些属性的相关前缀/长度。
  • Notification(通知):此消息类型用于报告BGP错误。最后,它会重置邻居关系。

16) BGP的度量属性有哪些?

BGP路径选择取决于属性的值。以下是一些BGP度量属性的列表:

  • 权重(Weight)(思科专有属性)
  • 本地偏好(Local Preference)(本地值越高越优先,默认值为100)
  • 起源(Originate)
  • AS路径长度(AS path length)
  • 起源码(Origin code)
  • MED
  • eBGP路径优于iBGP路径(eBGP path over iBGP path)
  • 到BGP下一跳的最短IGP路径(Shortest IGP path to BGP next-hop)
  • 最旧路径(Oldest path)
  • 路由器ID(Router ID)
  • 邻居IP地址(Neighbor IP address)

17) 您如何理解网络中的RIP?

RIP代表路由信息协议(Routing Information Protocol)。它是最早的距离向量路由协议之一,用于将跳数作为路由度量。RIP还通过限制从源到目标的路径中允许的跳数来防止路由循环。


18) BGP MED的目的是什么?

BGP MED的主要目的是影响其他自治系统如何进入您的自治系统以访问特定前缀。BGP MED是一个不传播到整个网络,而仅传播到相邻AS的属性。MED值越低,路径越受青睐。


19) BGP路径属性有哪些?

BGP支持多种路径属性,并使用这些路径属性来检查BGP表中的竞争BGP路径(路由),以找出最佳可能路径(路由)。

以下是BGP路径属性的列表:

  • 下一跳(Next Hop):下一跳路径属性用于列出访问前缀的下一跳IP地址。它检查下一跳是否可达。如果无法到达下一跳的路由,路由器将不使用该路由。
  • 权重(Weight):权重路径属性是一个由路由器在接收更新时设置的数值,用于影响前缀的路由。它不会通告给任何BGP邻居,权重越大越受青睐。
  • 本地偏好(Local Preference):这也是一个设置的数值。它在单个自治系统内通信,用于选择所有在该自治系统中的路由器到达特定网络的最佳路由。值越大越受青睐。
  • 本地注入路由(Locally injected routes):本地注入路由是通过network命令注入的路由。它们比iBGP/eBGP更好。
  • 多出口鉴别器(Multi-Exit Discriminator,MED)允许一个自治系统告诉相邻的自治系统转发数据包的最佳路径。值越小越受青睐。
  • AS路径(AS Path):它指定了AS路径中的ASN数量。值越小越受青睐。

20) BGP的偏好顺序是什么?

在BGP中,偏好顺序取决于属性是应用于入站更新还是出站更新。

对于入站更新,偏好顺序是:

  • 路由图(Route-map)
  • 过滤列表(Filter-list)
  • 前缀列表(Prefix-list)
  • 分发列表(distribute-list)

对于出站更新,偏好顺序是:

  • 过滤列表(Filter-list)
  • 路由图 | 不抑制图(Route-map | unsuppress-map)
  • 广告图(条件广告)(Advertise-map (conditional-advertisement))
  • 前缀列表(Prefix-list)
  • 分发列表(distribute-list)

21) BGP中有哪些不同的社区?为什么使用它们?

BGP中有四个广为人知的社区。以下列表说明了它们的用途:

  • No-export(禁止导出):用于阻止路由向本地自治系统外的eBGP对等体通告。
  • No-advertise(禁止通告):用于阻止路由向内部或外部对等体通告。
  • Internet:用于允许路由向本地自治系统外通告。
  • Local-AS(本地AS):用于阻止路由向本地自治系统外的eBGP或联盟(confederate)对等体通告。

22) BGP支持认证吗?

是的。BGP支持MD5认证。


23) BGP需要全网状连接(full mesh)吗?

有两种类型的BGP:

  • eBGP(外部边界网关协议):eBGP不需要全网状拓扑。
  • iBGP(内部边界网关协议):iBGP需要全网状拓扑。

24) 您如何理解路由反射器?为什么需要它?

路由反射器是一种BGP路由器,它可以打破iBGP的环路避免规则。在特定条件下,路由反射器可以将其从iBGP对等体收到的更新通告给另一个iBGP对等体。路由反射器通过打破规则来消除全网状连接的要求,从而构建易于扩展且整洁的iBGP网络。


25) eBGP和iBGP的管理距离(AD)是多少?

eBGP的管理距离为20,iBGP的管理距离为200。