Skip to content

408 > 计算机网络 > 路由协议:BGP

一、定位信息

  • 所属圈层:核心层
  • 前置知识:需了解自治系统(AS)的概念(CN-04-03),以及层次路由的基本思想;了解IGP(RIP/OSPF)的基本工作原理
  • 知识网络位置:BGP是互联网唯一的外部网关协议(EGP),负责AS之间的路由选择。与OSPF/RIP(域内路由)形成互补,是互联网全局路由的最终实现
  • 考点热度等级H级(高频重点) — BGP的工作原理和与IGP的区别是408常考知识点

二、知识点讲解

2.1 BGP的基本概念

BGP(Border Gateway Protocol,边界网关协议) 是用于AS之间路由选择的外部网关协议,是当前互联网上唯一的EGP。BGP的核心任务是在AS之间传递可达性信息——告诉其他AS"我能到达哪些网络前缀"。

BGP的关键特征:

  • 基于路径向量(Path Vector) 算法(不是距离-向量或链路状态)
  • 使用TCP协议传输,端口号179
  • AS路径(AS_PATH) 作为路由选择的重要依据
  • 支持丰富的策略控制

2.2 BGP的两种类型

类型说明使用场景
eBGP(外部BGP)不同AS之间的BGP会话AS之间交换路由信息
iBGP(内部BGP)同一AS内部的BGP会话AS内部传递从外部学到的路由信息

2.3 BGP的工作过程

步骤一:建立TCP连接 两个BGP路由器(称为BGP Speaker或BGP Peer)首先建立TCP连接(端口179)。

步骤二:交换路由信息 连接建立后,BGP Speaker交换完整的路由表(OPEN报文→UPDATE报文)。之后只发送增量更新。

步骤三:持续维护 通过KEEPALIVE报文维持邻居关系(默认每60秒发送一次)。如果180秒未收到KEEPALIVE,认为邻居失效。

2.4 BGP的四种报文类型

报文类型功能
OPEN建立BGP邻居关系,交换参数
UPDATE通告新的路由信息或撤销已通告的路由
KEEPALIVE维持邻居关系(类似心跳)
NOTIFICATION报告错误并关闭连接

2.5 BGP路由选择

BGP选择路由时不只看"最短距离",而是综合考虑多种路径属性(Path Attributes)

属性说明优先级
LOCAL_PREF本地优先级(越高越优先)最高
AS_PATH经过的AS列表(越短越优先)
ORIGIN路由来源(IGP>EGP>不完整)
MED多出口鉴别器(越低越优先)

关键理解:BGP的路由选择是策略驱动的,不仅仅是性能优化。AS可以选择"即使路径更长也走某条路",因为那条路的ISP更便宜或带宽更大。

2.6 BGP的AS_PATH属性

AS_PATH是BGP最核心的属性,记录了路由经过的所有AS编号:

  • 当路由通告给另一个AS时,在AS_PATH前面加上自己的AS编号
  • AS_PATH越短,路径越优先
  • AS_PATH也用于环路检测:如果收到的UPDATE中AS_PATH包含自己的AS编号,则丢弃(防止环路)

三、记忆与理解辅助

  1. 口诀:"BGP域间路由选,TCP连接端口179;AS路径防环路,策略优先不只看路。"
  2. BGP与OSPF/RIP对比速记
对比维度RIPOSPFBGP
范围AS内AS内AS间
类型IGPIGPEGP
算法距离-向量链路状态路径向量
度量跳数链路代价策略+AS路径
传输UDPIP直接TCP
优化目标最短路径最短路径策略可达
  1. BGP报文记忆:"OPEN建关系,UPDATE传路由,KEEPALIVE保心跳,NOTIFICATION报错误"

四、例题与精解

例题1(基础巩固)

题目:以下关于BGP协议的描述中,正确的是( ) A. BGP使用UDP协议传输,端口号为179 B. BGP是AS内部使用的路由协议 C. BGP使用TCP协议建立邻居关系 D. BGP以跳数作为路由选择的主要依据

命题意图:考查BGP的基本特征。

精解

  1. 审题分析:选出正确的描述。
  2. 解题思路:逐项核对BGP的关键特征。
  3. 完整步骤
    • A错误:BGP使用TCP协议,不是UDP,端口号179。
    • B错误:BGP是AS之间的路由协议(EGP),不是AS内部的(IGP)。
    • C正确:BGP使用TCP建立连接(端口179),这是BGP的可靠传输基础。
    • D错误:BGP以AS路径策略作为路由选择依据,不是跳数。
  4. 方法反思:BGP三个关键点:TCP传输、AS间协议、策略驱动。

例题2(中等提升)

题目:AS100从两个ISP(AS200和AS300)连接到互联网。从AS200学到的路由AS_PATH为200 400,从AS300学到的路由AS_PATH为300 500 600。两条路由的目的网络相同。请问BGP默认会选择哪条路由?如果AS100希望通过AS300转发流量(因为AS300更便宜),应该如何配置?

命题意图:考查BGP路由选择机制和策略控制能力。

精解

  1. 审题分析:两条路由的目的相同,AS_PATH不同,需要分析BGP的选择逻辑。
  2. 解题思路:按照BGP路由选择的优先级顺序分析。
  3. 完整步骤

默认选择

  • BGP默认优先选择AS_PATH较短的路由
  • 路由1:AS_PATH = 200 400(经过2个AS)
  • 路由2:AS_PATH = 300 500 600(经过3个AS)
  • 默认选择路由1(AS_PATH更短)

策略控制

  • 要强制选择AS300的路由,可以通过设置LOCAL_PREF(本地优先级) 属性
  • 将AS300路由的LOCAL_PREF设置为高于AS200路由的值
  • 例如:AS200路由的LOCAL_PREF=100(默认),AS300路由的LOCAL_PREF=200
  • BGP优先选择LOCAL_PREF高的路由,因此选择AS300的路由

配置示意(概念描述):

route-map SET_LOCAL_PREF permit 10
  match as-path 300
  set local-preference 200
  1. 方法反思:BGP的路由选择是策略优先的。虽然默认看AS_PATH长度,但通过LOCAL_PREF等属性可以覆盖默认行为。这正是BGP与IGP的核心区别——IGP只看最短路径,BGP可以表达"我就是想走那条路"。

五、考情分析

  • 考查频次:近5年出现3-4次
  • 常见题型:选择题考查BGP的基本概念和与IGP的区别
  • 分值占比:选择题2分
  • 命题趋势:BGP与层次路由、AS概念常结合考查,近年对BGP策略选择的考查有增加趋势

六、易错点提醒

  1. 错误表现:认为BGP使用UDP传输

    • 错误原因:看到BGP端口号179就联想到UDP
    • 正确理解:BGP使用TCP端口179。选择TCP是因为AS间路由信息必须可靠传输,不能丢失
  2. 错误表现:将BGP归类为IGP(内部网关协议)

    • 错误原因:BGP也是"网关协议",容易与IGP混淆
    • 正确理解:BGP是EGP(外部网关协议),用于AS之间。记住:B = Border(边界),是AS边界上的协议
  3. 错误表现:认为BGP选择最短路径

    • 错误原因:将IGP的最短路径思想套用到BGP
    • 正确理解:BGP选择的是策略最优路径,不一定是AS_PATH最短的。通过LOCAL_PREF等属性,管理员可以控制路由选择
  4. 错误表现:混淆eBGP和iBGP

    • 错误原因:两者都是BGP,名称相似
    • 正确理解:eBGP用于不同AS之间(AS间通信),iBGP用于同一AS内部(传递从外部学到的路由)。eBGP默认修改NEXT_HOP,iBGP不修改

七、来源标注

  • 依据2026考研统考大纲
  • 依据《计算机网络(第8版)》谢希仁版
  • 依据RFC 4271(A Border Gateway Protocol 4)

考研全科复习资料 - 基于2026考研统考大纲