在配置 BGP 时,最好从模块化的角度考虑配置信息。BGP 路由器上需要配置以下组成
部分。
? BGP 会话参数:BGP 会话参数中提供了用来与远端 BGP 邻居建立通信所需的设置。
会话设置中包含 BGP 对等体的 ASN、认证和存活计时器。
? 地址家族初始化:地址家族的配置是在 BGP 路由器配置模式中进行初始化的。网络通
告和汇总都是发生在地址家族中的事件。
? 在 BGP 对等体上激活地址家族:要想初始化一个会话,必须为指定邻居激活一个地址
家族。将路由器的 IP 地址添加到邻居表中,BGP 会尝试与对等体路由器建立 BGP 会
话,或尝试接受对等体路由器发起的 BGP 会话。
对于本章来说,BGP 环境中只涉及 IPv4 路由。其他地址家族的内容超出了本书范畴。
1.5.1 IOS
工程师需要按照以下步骤在 IOS 路由器上配置 BGP。
步骤 1  创建 BGP 路由进程。使用全局配置模式的命令 router bgp as-number 初始化 BGP
进程。
步骤 2  确定 BGP 邻居的 IP 地址和 AS 号。使用 BGP 路由器配置模式的命令 neighbor
ip-address remote-as as-number,确定 BGP 邻居的 IP 地址和 AS 号。

注释

IOS 会默认激活 IPv4 地址家族。这种默认行为简化了 IPv4 环境中的配置,因为步
骤 3 和 4 变成了可选步骤;但同时这种默认行为也会在工程师配置其他地址家族时认为该地址家族已激活。如果配置了 BGP 路由器配置命令 no bgp default ipv4-unicast,就会禁用 IPv4 AFI
的自动激活功能,因此仍需要步骤 3 和 4 的配置。

步骤 3  使用 BGP 路由器配置命令 address-family afi safi,初始化地址家族。
步骤 4  使用 BGP 地址家族配置命令 neighbor ip-address activate,为指定邻居激活地址
家族。

注释

在 IOS 路由器上,IPv4 和 IPv6 地址家族的默认地址家族修饰符都是单播,并且是
可选参数。在 IOS XR 路由器上,地址家族修饰符是必选参数。

例 1-2 分别通过 R1 和 R2 展示了 IOS 默认环境中的配置,以及可选的使用 IPv4 AFI 修饰符
的 CLI 命令配置。R1 上默认启用了 IPv4 地址家族,R2 上禁止 IOS 默认启用 IPv4 地址家族,
而是由工程师手动为指定邻居 10.1.12.1 激活 IPv4 地址家族。

1.5.2 IOS XR
工程师需要按照以下步骤在 IOS XR 路由器上配置 BGP。
步骤 1  创建 BGP 路由进程。使用全局配置模式的命令 router bgp as-number 初始化 BGP
进程。
步骤 2  使用 BGP 路由器配置模式的命令 address-family afi safi,初始化地址家族并将其
与指定 BGP 邻居相关联。
步骤 3  使用 BGP 路由器配置模式的命令 neighbor ip-address,确定 BGP 邻居的 IP 地址。
步骤 4  使用 BGP 邻居配置模式的命令 remote-as as-number,确定 BGP 邻居的 AS 号。
步骤 5  使用 BGP 邻居配置模式的命令 address-family afi safi,为指定 BGP 邻居激活地址
家族。
步骤 6  为 EBGP 对等体关联一个路由策略。IOS XR 路由器需要在 EBGP 对等体上关联
路由策略,以此实现安全管理,防止不慎接受或通告错误的路由。如果在相应的
地址家族中没有配置路由策略,那么路由器在从这个 EBGP 对等体收到 NLRI(网
络层可达性消息)时会将其丢弃,并且也不会向这个 EBGP 对等体通告任何 NLRI。
工程师可以在 BGP 邻居的地址家族配置模式中,使用命令 route-policy
policy-name {in | out},配置入向和出向路由策略。

注释

如果由于动态路由器 ID(RID)分配功能没有找到任何 up 状态的环回接口,而导致
RID 被设置为 0,IOS XR 路由器就不会建立 BGP 会话。这时工程师需要使用 BGP 路由器配置
命令 bgp router-id,手动设置 RID。

例 1-3 假设 R1 上运行的是 IOS XR 操作系统,并展示了它的配置。工程师手动设置了 R1
的 RID,因为 R1 上没有配置任何环回接口。

1.5.3 NX-OS
工程师需要按照以下步骤在 NX-OS 设备上配置 BGP。
步骤 1  创建 BGP 路由进程。使用全局配置模式的命令 router bgp as-number 初始化 BGP
进程。
步骤 2  使用 BGP 路由器配置模式的命令 address-family afi safi,初始化地址家族并将其
与指定 BGP 邻居相关联。
步骤 3  使用 BGP 路由器配置模式的命令 neighbor ip-address remote-as as-number,确定
BGP 邻居的 IP 地址和 AS 号。
步骤 4  使用 BGP 邻居配置模式的命令 address-family afi safi,为指定 BGP 邻居激活地址
家族。
例 1-4 假设 R1 上运行的是 NX-OS 操作系统,并展示了它的配置。

1.5.4 验证 BGP 会话
在 IOS、IOS XR 和 NX-OS 上,工程师可以使用命令 show bgp afi safi summary,验证 BGP
会话。例 1-5 中展示了 IPv4 BGP 单播汇总信息。注意命令的输出内容中,首先展示的是 BGP RID
和 BGP 表的版本。从起/宕(Up/Down)列能够看出 BGP 会话已经建立了 5 分多钟。

表 1-3 中列出了 BGP 表每一列的显示信息。

注释

有一些命令的出现早于 MBGP,比如 show ip bgp summary,这些命令输出的信息
结构中不包含当前 BGP 中的多协议功能。通过添加 AFI 和 SAFI 语法结构,无论 BGP 交换的
信息种类,命令都可以统一。

命令 show bgp afi safi neighbors ip-address 中展示了 BGP 邻居会话状态、计时器和其他重
要的对等体信息,详见例 1-6。

 

1.5.5 前缀通告
BGP 使用三张表来维护每条路由的网络前缀和路径属性(PA),分别如下。
? 入向邻接 RIB(Adj-RIB-in):这张表中包含了 NLRI 的原始格式,等待入向路由策略
进行处理。在所有路由策略都处理完成后,为了节省内存空间,这个表会被清除。
? 本地 RIB(Loc-RIB):这张表中包含了所有本地生成的 NLRI,或者从其他 BGP 对等
体收到的 NLRI。在针对这些 NLRI 执行了有效性和下一跳可达性检查后,BGP 最优路
径算法会为指定前缀选择出最优 NLRI。Loc-RIB 表是用来向 IP 路由表提供路由的表。
? 出向邻接 RIB(Adj-RIB-out):这张表中包含了出向路由策略处理后的 NLRI。
BGP 中的 network 命令并不会为指定接口启用 BGP,而是把具体的网络前缀放入到 BGP
表中,也就是放入 Loc-RIB 表中。
在配置了 BGP network 命令后,BGP 进程会在全局 RIB 中搜索与命令中指定的网络前缀
精确匹配的条目。命令中指定的网络前缀可以是直连网络、非直连网络,或者从路由协议学到
的任何路由。当在全局 RIB 中找到了匹配的网络前缀后,这个前缀就会被放入 BGP Loc-RIB 表
中。在将 BGP 前缀放入 Loc-RIB 后,路由器会按照 RIB 前缀类型来设置下列 BGP PA。
? 直连网络:下一跳 BGP 属性设置为 0.0.0.0,源属性设置为 i(IGP),BGP 权重设置为
32 768。
? 静态路由或路由协议:下一跳 BGP 属性设置为 RIB 中的下一跳 IP 地址,源属性设置
为 i(IGP),BGP 权重设置为 32 768;MED 设置为 IGP 度量值。
工程师需要在 BGP 路由器配置模式中适当的地址家族中应用网络配置。在 IOS 和 NX-OS
设备中,使用命令 network network mask subnet-mask [route-map route-map-name],通告 IPv4
网络。
在 NX-OS 设备上将路由添加到 BGP 表中时,工程师还可以在命令中使用前缀长度,命令
语法为 network network/prefix-length [route-map route-map-name]。工程师通过可选参数

route-map 或 route-policy 可以设置具体的 BGP PA,在将前缀放入 Loc-RIB 的过程中实施过滤。
在 IOS、IOS XR 和 NX-OS 设备上,工程师可以使用命令 show bgp afi safi,来查看 BGP
表(Loc-RIB)中的内容。BGP Loc-RIB 表中的每个网络前缀都至少对应一条路由,同一个网络
前缀能够同时对应多条路由。
注释 默认情况下,无论 BGP Loc-RIB 中有多少条路由(NLRI),BGP 都只会向其他 BGP
对等体通告一条最优路径。BGP 最优路径是根据每个地址家族独立计算的。一个地址家族中选
出的最优路径,并不会对另一个地址家族中的最优路径计算产生影响。
例 1-7 中展示了 IOS、IOS XR 和 NX-OS 设备中的 BGP 表。BGP 表中包含接收到的路由和
本地生成的路由。

注释 NX-OS 设备将从外部学到的 BGP 路由标记为 e,将本地通告的 BGP 路由标记为 l。
IOS 和 IOS XR 设备并没有这种行为。

表 1-4 中描述了 BGP 表中展示的输出字段。

1.5.6 BGP 最优路径计算
在 BGP 中,路由通告是由网络层可达性信息(NLRI)和路径属性(PA)组成的。NLRI
是由网络前缀和前缀长度组成的,路径属性中包含了一些 BGP 属性,比如 AS-Path、Origin 等。
去往相同网络的 BGP 路由可能会包含多条路径。路由器会根据每条路径的属性来选择最优路
径。BGP 路由器只会向邻居路由器通告最优路径。
BGP Loc-RIB 表会维护所有路由及其路径属性,用来计算最优路径。接着最优路径会被放
入路由器的 RIB 中。当最优路径变得不再可用时,路由器可以使用现有路径快速计算出新的最
优路径。BGP 路由器会在发生以下 4 种事件后重新计算最优路径:
? BGP 下一跳可达性发生了变化;
? 与 EBGP 对等体相连的接口发生了故障;
? 重分布变更;

? 收到了去往某条路由的新路径。
BGP 最优路径选择算法会影响流量进入或离开自治系统(AS)的路径。BGP 不使用度量
值来标识一个网络内的最优路径。BGP 使用路径属性来标识它的最优路径。
有些路由器配置能够更改 BGP 属性,从而影响入向流量、出向流量,或者入向和出向流量,
具体影响的流量类型取决于网络设计的需求。BGP 路由器可以通过接收到的路径属性影响本地
AS 中的路由,也可以通过通告中的路径属性影响邻居 AS 中的路由。BGP 中流量工程的基本规
则是通过修改出向路由策略来影响入向流量,通过修改入向路由策略来影响出向流量。
BGP 会自动将第一个收到的路径添加为最优路径。在收到其他路径后,路由器会将新路径
与当前的最优路径进行对比。如果一上来没比较出优劣,就进行下一步比较,直到确认了新的
最优路径。
BGP 最优路径算法会在选择最优路径的过程中,使用下列 BGP 属性;其中这些属性的使
用顺序如下所示。
1.权重。
2.本地优先级。
3.本地源(网络命令、重分布、汇聚)。
4.AIGP。
5.最短 AS-Path。
6.源类型。
7.最低 MED。
8.EBGP 优于 IBGP。
9.最低 IGP 下一跳。
10.如果两条路径都是外部路由(EBGP),优选第一条(最老的)。
11.优选从 RID 较低的 BGP 对等体学到的路由。
12.优选集群列表长度最小的路由。
13.优选从 IP 地址较低的邻居学到的路径。
工程师可以通过修改 BGP 路由器上的各种路径属性,利用最优路径算法来影响某条路由的
流量模式。通过更改 BGP PA,可以影响进入 AS,以及从 AS 发出或穿越的数据流。
BGP 支持三种类型的等价多路径(ECMP):EBGP 多路径、IBGP 多路径、eIBGP 多路径。
第二条路由的权重、本地优先级、AS-Path 长度、AS-Path 内容、源和 MED 都要与第一条路由
相匹配,这条路由才能被当作EBGP多路径放入到RIB中。第8章中更详细地介绍了BGP ECMP。

BGP路由器协议排错教程:BGP 基本配置相关推荐

  1. BGP路由器协议排错教程:BGP 对等体翻动问题

    完整版下载 2022年最新BGP路由协议排错教程指南-网络安全文档类资源-CSDN下载 BGP 对等体失效问题讨论的是当 BGP 邻居关系总是在 Idle(空闲)状态和 Active(活跃) 状态之间 ...

  2. BGP路由器协议排错教程:缺失 BGP 路由的排错

    完整版下载 2022年BGP路由协议排错全方面教程-网络安全文档类资源-CSDN下载 我们已经全面介绍过从 BGP 对等体接收路由,以及把路由通告给其他对等体的完整过程. 这些知识能够为对等体之间路由 ...

  3. BGP路由器协议排错教程:AS总结

    1.15 允许 AS 允许 AS(Allow AS)特性允许路由器在一条路由的 AS-Path 中检测到自己 ASN 的情况下, 仍接收并处理这条路由.作为一种防环机制,路由器在 AS-Path 中看 ...

  4. BGP路由器协议排错教程:BGP 对等体失效的问题

    当一个已经配置好的 BGP 邻居并没有处于已建立状态的话,网络工程师就把这种情况称为 BGP 对等体失效.以下情况都有可能引发对等体失效的问题. ? 由于配置错误导致 BGP 会话停留在建立过程中. ...

  5. BGP路由器协议排错教程:BGP 路由通告的排错

    工程师很容易对 BGP 路由通告产生误解,这是本章第一个需要解释清楚的概念. 4.1.1 本地路由通告问题 假设现在有一台路由器,它要把网络 10.1.0.0/16 和 10.0.0.0/8 放到 B ...

  6. BGP路由器协议排错教程:IBGP

    当一个AS内需要使用多种路由策略,或者当一个AS要在多个AS之间提供传输联通性时, 就需要在一个 AS 内使用 BGP.如图 1-3 所示,AS65200 提供了 AS65100 和 AS65300 ...

  7. BGP——边界网关协议简介

    BGP简介 目录 BGP简介 BGP协议的关注点 BGP的数据包 BGP的状态机 BGP工作过程 BGP的路由黑洞 BGP的防环机制--水平分割 BGP的基本配置 BGP的路由聚合 BGP的路由反射器 ...

  8. 网络路由器协议(OSPF、RIP、BGP、IGRP、IS-IS)

    一.OSPF.RIP.BGP.IS-IS的区别 (1).OSPF:(开放式最短路径优先)是一种链路状态路由协议,使用SPF算法(Dijkstra算法)计算路由,保证没有路由环路,使用带宽作为度量值,能 ...

  9. BGP协议原理(一)BGP协议基本概念:BGP作用与特点、BGP邻居关系建立与配置

    文章目录 前提概念 AS ASN IGP与EGP BGP的基本概述 基本作用 BGP协议特点 BGP邻居关系和配置 建立TCP连接 BGP邻居类型 BGP简单邻居关系配置 报文类型 邻居关系的建立 前 ...

最新文章

  1. R语言使用randomForest包构建随机森林模型(Random forests)、使用importance函数查看特征重要度、使用table函数计算混淆矩阵评估分类模型性能、包外错误估计OOB
  2. PPT讲解机器人产业发展现状与未来展望,重磅资料
  3. 特殊的Windows消息
  4. 令牌桶算法和漏桶算法有什么区别_高并发之限流,到底限的什么鬼 (精品长文)...
  5. 简单封装 HTTP 请求
  6. TCP首部和TCP的特性—Vecloud微云
  7. c#获取电脑硬件信息参数说明(硬盘篇 Win32_DiskDrive)
  8. 工作流引擎Activiti使用总结
  9. NYOJ 927 The partial sum problem 【DFS】+【剪枝】
  10. dell驱动安装工具_技术丨如何快速安装显卡驱动
  11. 从谷歌宕机事件认识互联网工作原理
  12. office 2003和office 2013同时安装使用的问题
  13. Python学习笔记:交互对话环境IPython
  14. Matplotlib 中文用户指南 7.1 交互式导航
  15. 疫情后,超七成居民理财偏好趋于保守
  16. 偏执的interviewee
  17. 《蜗居》:海外解读中国新样本
  18. 机器学习——建筑能源得分预测
  19. 如何构建企业TPM管理体系?
  20. 嵌入式视频处理基本原理part1

热门文章

  1. 一位近60岁的美国程序员令我狼狈不堪的回复
  2. 布局产业互联网,技术策略的变与不变
  3. 计算机科学与技术专业课程导论,计算机科学与技术专业导论
  4. matlab 仿真风速,基于Matlab的组合风速建模与仿真
  5. QT案例实战1 - 从零开始编写一个OCR工具软件 (3)创建项目
  6. 100个python算法超详细讲解:谁是窃贼
  7. AD FS是什么,用在什么场景,原理是什么?
  8. 2022年10月23日周赛ZZULIOJ
  9. 【财富空间】北京航空航天大学王田苗教授:人工智能与机器人前沿科技发展与投资布局
  10. PICE(3):CassandraStreaming - gRPC-CQL Service