一、协议概述
1. 定义
BGP(Border Gateway Protocol)是互联网中用于自治系统(Autonomous System, AS)之间交换路由信息的核心协议,负责域间路由选择、环路预防和策略控制。
2. 核心功能
路由传播:在AS间传递可达路由信息。
路径选择:通过属性(如 AS_PATH、MED、LOCAL_PREF)计算最优路径。
环路避免:通过AS路径标记和IBGP水平分割机制实现。
策略控制:支持灵活的路由过滤、权重调整等策略。
二、版本演进
三、使用场景
可使用BGP的场景
多ISP接入:
用户需通过BGP属性(如 PREFERRED-VALUE、MED)选择最优出口。
示例:企业同时连接电信和联通,通过BGP优先选择成本更低的链路。
AS 路径透明性需求:
不同组织需传递完整 AS 路径信息(如金融机构间的合规性要求)。
无需使用BGP的场景
单一ISP连接:
仅需静态路由或缺省路由(如家庭宽带)。
简化网络架构:
AS间使用缺省路由(如小型企业与ISP的直连场景)。
四、协议特性
1. 外部网关协议(EGP)
区别于 OSPF/RIP 等内部网关协议(IGP),专注于 AS 间路由。
2. 基于 TCP 的可靠性
使用 TCP179端口建立连接,确保数据可靠传输。
支持 Keepalive 机制维持连接(默认每60秒发送一次)。
3. 无类别域间路由(CIDR)
支持路由聚合(如将 192.168.0.0/24 和 192.168.1.0/24 合并为 192.168.0.0/23)。
4. 环路预防机制
域间环路:通过 AS_PATH 属性记录途经的 AS,本地 AS 号重复则丢弃路由。
域内环路:IBGP 水平分割(从IBGP邻居学到的路由不转发给其他 IBGP 邻居)。
5. 增量更新机制
仅发送路由变化部分,减少带宽消耗(对比RIP的周期性全量更新)。
6. 路由策略灵活性
通过属性(如 AS_PATH、COMMUNITY、ORIGIN)实现精细控制。
示例:为特定前缀设置高优先级,或过滤来自某AS的路由。
7. 抗路由振荡
抑制机制(如惩罚值)避免不稳定路由频繁更新。
8. 扩展性
通过新增属性支持IPv6(MP-BGP)、VPN(BGP/MPLS VPN)等扩展功能。
五、运行方式
1. IBGP(内部BGP)
作用:AS内部同步路由信息。
特点:
邻居必须逻辑全连接(或通过路由反射器/联盟简化配置)。
从IBGP邻居学到的路由不转发给其他IBGP邻居(水平分割)。
2. EBGP(外部BGP)
作用:AS 间传递路由。
特点:
直接连接或通过EBGP多跳(EBGP Multi-hop)建立邻居。
路由更新携带完整 AS_PATH 属性。
六、协议分类
七、关键术语与属性
1. 基础术语
AS:自治系统,由单一机构管理的网络集合(如 AS1234)。
对等体(Peer):BGP邻居,分为IBGP和EBGP对等体。
路由反射器(RR):减少IBGP全连接复杂度,允许RR向其他邻居反射路由。
2. 核心属性