一、BGP 基本概念
BGP(Border Gateway Protocol,边界网关协议)是一种外部网关协议(EGP),主要用于在不同自治系统(AS)之间交换路由信息。与 OSPF、RIP 等内部网关协议(IGP)不同,BGP 更注重路由的可达性和策略控制,而非快速收敛或最小跳数。
核心特点:
路径矢量协议:通过携带 AS 路径(AS Path)等属性判断路由优劣,避免环路。
无类别路由协议:支持 CIDR(无类别域间路由),传递路由时携带子网掩码。
TCP 传输:使用 TCP 端口 179 建立邻居关系,保证数据传输的可靠性。
增量更新:仅在路由信息变化时发送更新,减少带宽占用。
二、BGP 工作原理
1. 邻居关系建立
BGP 邻居(Peer)需手动配置,分为两种类型:
IBGP(内部 BGP):同一 AS 内的 BGP 路由器之间的邻居关系,要求逻辑上直连(通常通过 IGP 保证可达)。
EBGP(外部 BGP):不同 AS 之间的 BGP 路由器之间的邻居关系,通常为物理直连。
建立过程:
发送 TCP 连接请求,建立三次握手。
交换 OPEN 消息,协商 BGP 版本、AS 号、保持时间等参数。
发送 KEEPALIVE 消息确认邻居关系,进入 Established 状态。
2. 路由传递与选路
BGP 通过 UPDATE 消息传递路由条目,包含网络层可达信息(NLRI) 和路径属性(PA)。选路时按优先级评估路径属性,核心属性包括:
Weight(权重):Cisco 私有属性,本地有效,值越大越优先。
Local Preference(本地优先级):IBGP 内传递,值越大越优先,默认 100。
Origin(起源):标记路由来源,优先级:IGP(i)> EGP(e)> Incomplete(?)。
AS Path(AS 路径):记录路由经过的 AS 号,长度越短越优先,同时用于防环。
Next Hop(下一跳):指示到达目标网络的下一跳地址。
MED(多出口鉴别器):向 EBGP 邻居传递,值越小越优先,默认不传递。
三、BGP 消息类型
BGP 共定义 4 种消息类型,均通过 TCP 传输:
OPEN:建立邻居关系时交换,包含版本、AS 号、路由器 ID 等关键信息。
KEEPALIVE:维护邻居关系,周期为保持时间的 1/3(默认 60 秒发送一次,保持时间 180 秒)。
UPDATE:传递路由信息,可包含可达路由(NLRI)和不可达路由(撤销路由)。
NOTIFICATION:当检测到错误时发送,如版本不匹配、AS 号错误等,发送后断开邻居关系。
四、BGP 防环机制
BGP 通过多层机制防止路由环路:
EBGP 防环:接收路由时检查 AS Path,若包含本地 AS 号则丢弃。
IBGP 防环:默认不将从 IBGP 邻居学到的路由传递给其他 IBGP 邻居(需通过路由反射器或联邦解决)。
五、常见应用场景
ISP 之间路由交换:互联网骨干网依赖 BGP 连接不同 AS,实现全球路由互通。
企业多出口选路:通过 BGP 与多个 ISP 建立连接,利用本地优先级、MED 等属性控制出 / 入站流量。
路由过滤与策略:通过路由映射(Route-map)、前缀列表(Prefix-list)等工具过滤路由或修改属性,满足业务需求。
六、实战配置要点
基本配置步骤:
启用 BGP 进程,指定本地 AS 号;
配置邻居 IP 及远程 AS 号(IBGP/EBGP);
宣告本地网络(或通过 redistribution 引入 IGP 路由);
关键命令示例:
router bgp 65001
neighbor 10.1.1.2 remote-as 65002 配置EBGP邻居
neighbor 192.168.1.1 remote-as 65001 配置IBGP邻居
network 10.0.0.0 mask 255.255.255.0 宣告本地网络
922

被折叠的 条评论
为什么被折叠?



