BGP 笔记

发布于:2025-08-11 ⋅ 阅读:(14) ⋅ 点赞:(0)

一、c 简介

1. BGP 定义

BGP:边界网关协议,用于自治系统(AS)之间交换路由信息,属于外部网关协议(EGP)。

2. 自治系统(AS)

定义:一组被统一管理、运行相同 IGP 协议的路由器组成的网络范围。

特点:通常使用相同的路由策略,例如控制对邻居 AS 的路由接收和发布。

3. AS 编号

2 字节 AS 编号:范围 0–65535,其中 0 和 65535 保留。

   公有 AS :1–64511

   私有 AS :64512–65535

4 字节 AS 编号:数量更多,范围 65536–4294967294。

   公有 AS :65536–4199999999

   私有 AS :4200000000–4294967294

二、BGP 协议特性

1. 路径矢量协议

每跳是一个自治系统,通过AS_PATH属性记录路径,避免环路。

2. 基于 TCP 协议

使用端口号 179,需手动配置邻居关系。

3. 增量更新

 首次发送完整路由表,之后仅发送增量更新。

4. 丰富的路由属性

 支持多种属性控制路由选择,如:

   AS_PATH

  NEXT_HOP

  LOCAL_PREF

5. 支持路由聚合

 减小路由表规模,提高网络效率。

6. 路由过滤和策略

 控制路由信息的接收和发布。

三、BGP 基本术语

1. BGP Speaker

 运行 BGP 协议的路由器。

2. BGP Peer

 相互交换路由信息的 BGP Speaker。

3. EBGP Peer

 不同 AS 之间的 BGP Peer,通常物理直连。

4. IBGP Peer

 同一个 AS 内部的 BGP Peer。

四、BGP 规划问题

1. 路由黑洞

产生原因:IBGP 邻居之间有未运行 BGP 协议的路由器,无法获得 BGP 路由,导致数据包被丢弃。

解决方法:

    BGP 引入 IGP

   配置静态路由

   IBGP 全连接

   BGP 路由反射器

   BGP 联盟

五、BGP 环路问题

1. EBGP 水平分割

 通过 AS_PATH 属性防环,若学习到的路由中包含本地 AS 号,则拒绝学习。

2. IBGP 水平分割

 从 IBGP 邻居学习到的路由不会传递给其他 IBGP 邻居。

六、BGP 消息种类

1. Open

- 用于建立 BGP 对等体之间的连接关系。

2. Keepalive

- 周期性发送,用于保持连接有效性(默认 60 秒发送一次,超时 180 秒)。

3. Update

- 携带路由更新信息(增加或删除路由)。

4. Notification

- 检测到错误时发送,并立即关闭 BGP 连接。

5. Route-refresh

 用于在改变路由策略后,要求对等体重新发送指定地址族的完整路由表信息。

七、BGP 状态机

1. Idle:初始化状态,准备建立 TCP 连接。

2. Connect:TCP 连接中状态。

3. Active:TCP 连接未成功,反复尝试连接。

4. Open-sent:已发送 Open 报文,等待对方响应。

5. Open-confirm:收到 Open 报文,发送 Keepalive 报文。

6. Established:邻居关系成功建立。

八、BGP 邻居建立条件

1. IBGP 邻居

 物理口建邻:建议使用直连接口地址。

 环回口建邻:需修改更新源为环回地址。

2. EBGP 邻居

 物理口建邻:建议使用直连接口地址。

 环回口建邻:需修改 EBGP 最大跳数(默认 TTL=1)。

十、BGP 选路原则

1、首先丢弃下一跳(NEXT_HOP)不可达的路由;

2、优选Preferred-value值最大的路由;默认为0;

Preferred-value:定义:首选项。

属性值:默认为0,取值范围是 0~65535,取值越大,优先级越高。

注意:H3C和华为的私有属性,

3、优选本地优先级(LOCAL_PREF)最高的路由;

4、依次选择network命令生成的路由、import-route命令引入的路由、聚合路由;

5、优选AS路径(AS_PATH)最短的路由;

6、依次选择ORIGIN属性为IGP、EGP、Incomplete的路由;

7、优选MED值最低的路由;

8、依次选择从EBGP、联盟EBGP、联盟IBGP、IBGP学来的路由;

9、优选下一跳度量值最低的路由;

     度量值:一般指通过IGP协议到达下一跳地址的度量值

10、优选CLUSTER_LIST长度最短的路由;

11、优选ORIGINATOR_ID最小的路由;

12、优选Router ID最小的路由器发布的路由。

13、优选IP地址最小的对等体发布的路由。

十一、BGP 属性

1. 公认必遵属性

AS_PATH:记录路由传递过程中经过的 AS 编号。

NEXT_HOP:下一跳地址。

ORIGIN:路由来源属性(IGP、EGP、Incomplete)。

2. 公认可选属性

  LOCAL_PREF:本地优先级,默认值 100,值大的优先。

  ATOMIC_AGGREGATE:自动聚合。

3. 可选传递属性

COMMUNITY:团体属性。

AGGREGATOR:手动聚合。

4. 可选非传递属性

CLUSTER_LIST:集群列表。

ORIGINATOR_ID:起源 ID。

MED:多出口鉴别器,值小的优先。

十二、BGP 高级特性

1. 路由反射器

 用于替代 IBGP 全连接,减少邻居数量。

 角色:RR(路由反射器)、Client(客户端)、非客户端。

2. BGP 联盟

 将一个 AS 划分为多个子 AS,子 AS 之间建立联盟内部 EBGP 连接。

3. BGP 团体属性

 用于批量匹配具有相同特征的路由。

 常见属性:Internet、no-advertise、no-export、no-export-subconfed。

4. BGP 路由衰减

 用于解决路由振荡问题,通过惩罚值机制抑制不稳定路由。

十三、实验与配置示例

1. BGP 基础实验

 配置 BGP 邻居关系。

 测试路由传递与选路。

2. BGP 路由反射器实验

 配置 RR 和客户端。

 测试路由反射规则。

3. BGP 联盟实验

 划分子 AS。

 测试联盟内部 EBGP 连接。

4. BGP 团体属性实验

 配置团体属性

 测试路由过滤与发布策略。


网站公告

今日签到

点亮在社区的每一天
去签到