什么是 BGP?

GP 是指边界网关协议,这是一种在 TCP 中的自治系统上运行的路由协议,BGP 的产生充分利用了 EGP 的发展经验。 BGP 能对像因特网大小的网络进行处理,还能够对不相关路由域间的多路连接进行妥善处理,这两种能力都具有唯一性,但是与其他的 BGP 系统交换网络信息才是 BGP 的主要功能。

BGP 的结构和功能

BGP (边界网关协议)是一种在不同自治系统(AS)之间交换路由信息的协议,具有以下结构和功能:

自治系统(AS)

BGP 的主要应用是在不同的自治系统之间进行路由信息交换。自治系统是指由一个或多个 IP 网络组成的网络集合,由单一的技术管理机构负责其路由策略和性能。

BGP 节点

当两个 AS 需要交换路由信息时,每个AS都必须指定一个运行 BGP 的节点来代表该 AS 与其他 AS 进行路由信息交换。这些节点通常是主机或路由器,被称为边界设备或边界路由器(Border Router)。

路由信息交换

BGP 节点之间通过建立 TCP 连接交换路由信息。路由信息包括网络前缀、AS 路径、路由属性等。BGP 使用路径向量算法来选择最佳路由。

路由策略

BGP 允许网络管理员定义和实施路由策略,控制路由信息的传播和选择。这些策略可以基于网络前缀、AS 路径、路由属性等进行配置。

路由聚合

BGP 支持路由聚合,将多个较小的网络前缀合并为一个较大的前缀,从而减少路由表的大小和路由更新的开销。

路由过滤

BGP 可以过滤不需要的路由信息,防止路由表膨胀和减轻路由器的负担。

路由反射器

在大型 AS 中,BGP 路由反射器可以减少 BGP 对等体之间的连接数量,提高路由信息传播的效率。

总之,BGP 作为一种路由协议,在不同自治系统之间交换路由信息,实现网络互连和路由选择,并提供了灵活的路由策略和优化机制。

BGP 的特点

BGP (Border Gateway Protocol) 是一种路由协议,具有以下主要特点:

BGP 是一种外部或域间路由协议,主要用于在不同自治系统 (AS) 中的路由器之间交换路由信息,实现自治系统间的通信。它传播网络可达性信息,允许不同网络之间互联互通。

BGP 不能被纯粹地归类为矢量距离协议或链路状态协议,而是一种通路向量路由协议。它在传播路由信息时,不仅包含目的地址和下一跳地址,还包含了整个路径的 AS 路径信息。

BGP 具有协调多个 BGP 路由器工作的能力。通过 BGP 对等体建立邻居关系,路由器之间可以交换路由信息并协调路由选择。

BGP 支持基于策略的选路 (policy-based routing)。网络管理员可以根据自己的需求,制定路由策略来控制路由信息的传播和路由选择。

BGP 使用 TCP 协议作为传输层协议,确保路由信息的可靠传输。TCP 连接的建立和维护也是 BGP 协议的一部分。

BGP 对网络拓扑结构没有限制,可以适应各种复杂的网络拓扑环境。

BGP 的路由通告原则

最优路由的使用

BGP (边界通信协议)是一种自治系统间路由协议,用于在互联网上交换路由信息。当面临多条可用路径可供选择的情况下,BGP Speaker(BGP 路由器)会自动筛选并使用最优路径进行数据传输。这种最优路径选择机制是 BGP 的核心功能之一,可确保网络流量沿着最佳路径传输,提高网络性能和可靠性。

然而,从 IBGP 获得的路由内容不会向自己的 IBGP 相邻体进行通告,以避免在自治系统内部形成路由环路。但是,对于路由反射器 (Route Reflector) 来说,它会将从 IBGP 获得的路由通告给其客户端路由器。路由反射器的引入解决了 IBGP 全互联的可扩展性问题。

 最优路由的使用

BGP 的相邻体通告

在 BGP 对等体 (Peer) 支持路由刷新 (Route Refresh) 能力的情况下,当 BGP Speaker 收到对端发送的刷新报文时,它会将自己的全部 BGP 路由内容向对等体通报。这种通告机制确保了对等体能够获取最新的路由信息,维护路由表的一致性。

然而,从 IBGP 获得的路由内容不会向自己的 IBGP 相邻体进行通告,以避免在自治系统内部形成路由环路。但是,对于路由反射器 (Route Reflector) 来说,它会将从 IBGP 获得的路由通告给其客户端路由器。路由反射器的引入解决了 IBGP 全互联的可扩展性问题。

 BGP 的相邻体通告

GP 的对等体通告

BGP 在 BGP 对等体 (Peer) 支持路由刷新 (Route Refresh) 能力的情况下,当 BGP Speaker 收到对端发送的刷新报文时,它会将自己的全部 BGP 路由内容向对等体通报。这种通告机制确保了对等体能够获取最新的路由信息,维护路由表的一致性。

此外,在 BGP Graceful Restart (GR) 过程中,当主备倒换方结束时,BGP Speaker 也会将自己的 BGP 路由全部通告给对等体。GR 机制允许 BGP 会话在路由器重启后快速恢复,避免了网络中断,提高了网络的可用性和可靠性。通过全量路由通告,确保了主备路由器之间的路由信息同步。

 GP 的对等体通告

如何配置和管理 BGP

边界协议 (BGP) 是一种标准的互联网路由协议,用于在自治系统之间交换路由信息。配置和管理 BGP 是一项关键任务,以确保网络的可靠性和高效性。以下是一些关键步骤:

BGP 对等体是自治系统边界上的路由器,负责与其他自治系统的 BGP 对等体交换路由信息。管理员需要在这些路由器上配置 BGP,包括设置 BGP 对等体关系、分配自治系统号码等。

BGP 允许管理员实施自己的路由策略,例如区分内部和外部路由、设置路由优先级等。管理员可以根据网络需求配置相应的策略,以控制路由选择和流量转发。

为了防止非法流量,BGP 支持多种安全特性,如使用预配置密码对路由器之间的消息进行身份验证。管理员应启用这些安全特性,以确保只接受合法的 BGP 消息。

在 BGP 运行过程中,管理员需要持续监控 BGP 对等体的状态、路由表更新等,及时发现并排除故障。BGP 提供了丰富的诊断工具,有助于故障排查。

为了缓解全互联 BGP 网状结构带来的扩展性问题,BGP 实现了路由反射器和联盟机制。管理员可以根据网络规模和拓扑结构,部署这些机制以提高可扩展性。

BGP 的性能取决于多个因素,如路由表大小、更新频率等。管理员需要根据实际情况调整相关参数,优化 BGP 的性能和效率。

BGP 的安全性和可靠性

BGP 是互联网上用于路由流量的协议,但它存在一些固有的安全和可靠性问题。

路由抖动问题

路由抖动是指路由在路由表中反复注入和撤销,可能导致数分钟的中断。为了缓解这一问题,BGP实现采用了路由抖动阻尽功能,通过指数衰减路由抖动来维护路由稳定性。

BGP 劫持风险

另一个安全隐患是 BGP 劫持,恶意行为者可以通过广播虚假路由来破坏流量。这是一个具有挑战性的问题,因为 BGP 深深嵌入到互联网核心基础设施中,由许多不同的组织运营。使用加密验证 BGP 路由器被提出作为解决方案,但在技术和经济上都很难实施。。

多协议 BGP 扩展

多协议 BGP 扩展 (MBGP) 有助于提高 BGP 的可靠性,允许它并行分发不同地址族(如 IPv4 和 IPv6)的信息。这有助于在互联网发展的同时保持连接。

总结

总的来说,尽管 BGP 对互联网的运行至关重要,但其设计存在固有的安全和可靠性问题。目前的努力集中在缓解这些问题,解决这些问题仍然具有挑战性。

注册开启免费试用 热门云产品任你选

免费体验 40+ 款企业级云服务,一次性试用多款云产品,迅速找到适配您业务的解决方案

BGP 的应用场景

BGP 是一种标准化的外部协议,旨在在互联网上的自治系统 (AS) 之间交换路由和可达性信息。它用于自治系统内部的路由,称为内部边界协议 (IBGP),以及协议在互联网上的应用,称为外部边界协议 (EBGP)。

虚拟私有网络

除了在全球互联网上路由之外,BGP 还越来越多地用作通用信令协议,用于传输可能不属于全球互联网的路由信息,例如虚拟私有网络(VPN)。BGP 可以在 VPN 中用于交换路由信息,确保数据在私有网络内高效传输。

虚拟私有网络

大型私有 IP 网络

非常大的私有 IP 网络也在内部使用 BGP,例如,当连接多个无法扩展到所需规模的大型开放最短路径优先 (OSPF) 网络时。BGP 可以在这些大型网络中用于路由和网络互连,提供更好的可扩展性和灵活性。

大型私有 IP 网络

多宿主网络

另一个使用 BGP 的原因是为网络提供多宿主,以获得更好的冗余性,无论是连接到单个 ISP 的多个接入点,还是连接到多个 ISP。BGP 可以在多个 ISP 之间进行路由选择和负载均衡,提高网络的可靠性和容错能力。

多宿主网络

小型网络设备的限制

然而,并非所有路由器,尤其是那些面向小型办公室/家庭办公室(SOHO)使用的较小路由器,都可能包括 BGP 功能。作为第 3 层交换机营销的设备也不太可能支持 BGP,尽管许多高端第 3 层交换机可以运行 BGP。

小型网络设备的限制

BGP 与其他路由协议的区别

BGP 是一种外部路由协议,用于在不同自治系统之间交换路由和可达性信息,而像 OSPF、RIP 和 EIGRP 这样的协议则是内部路由协议,用于单个自治系统内部。当 BGP 在不同自治系统之间使用时,称为外部 BGP (eBGP),而在单个自治系统内部使用时,称为内部 BGP (iBGP)。从 eBGP 对等体学习到的新路由会重新通告给所有 iBGP 和 eBGP 对等体,而从 iBGP 对等体学习到的新路由只会重新通告给所有 eBGP 对等体。

与通过 IP 传输的内部路由协议不同,BGP 运行在 TCP 之上,提供了可靠的传输机制。BGP 在选择路由时也有更复杂的决策过程,会考虑诸如社区、多出口判别符和自治系统路径等因素,而不仅仅是跳数或延迟。

BGP 对等体交换路由信息时使用网络层可达性信息 (NLRI) 和路径属性,其中包括延迟、跳数和传输成本等细节。这使得 BGP 能够为数据在自治系统之间的传输选择最佳路径,而其他内部路由协议使用不同的路径选择机制。

BGP 还提供了管理网络策略的能力,并通过对 BGP 消息进行身份验证增加了一层安全性。这些功能通常不存在于内部路由协议。

欢迎加入亚马逊云科技培训中心

从 0 到 1 轻松上手云服务,获取更多官方开发资源及培训教程

快速上手训练营

第一课:亚马逊云科技简介

本课程帮助您初步了解云平台与本地环境的差异,以及亚马逊云科技平台的基础设施和部分核心服务,包括亚马逊云科技平台上的弹性高可用架构,架构设计准则和本地架构迁移上云的基本知识。

亚马逊云科技技术讲师:李锦鸿

第二课:存储与数据库服务

您将在本课程中学习到亚马逊云科技上的三个存储服务分别是什么。我们也将在这个模块中为您介绍亚马逊云科技上的关系型数据库服务 Amazon Relational Database Service (RDS)。

亚马逊云科技资深技术讲师:周一川

第三课:安全、身份和访问管理

在这个模块,您将学习到保护您在亚马逊云科技上构建的应用的安全相关知识,责任共担模型以及身份和访问管理服务, Identity and Access Management (IAM) 。同时,通过讲师演示,您将学会如何授权给 EC2 实例,允许其访问 S3 上的资源。

亚马逊云科技技术讲师:马仲凯

了解更多入门学习计划 »

快速上手训练营

账单设置与查看

账单设置与查看

动手实操

快速上手云上无服务器化的 MySQL 数据库

本教程将引导您创建一个Aurora Serverless 数据库并且连接上它。

部署时间:10 分钟

启动一台基于 Graviton2 的 EC2 实例

本教程将为您讲解如何在云控制台上启动一台基于 Graviton2 的 EC2 实例。

部署时间:5 分钟

使用 Amazon Systems Manager 进行云资源统一跟踪和管理

在这个快速上手教程中,您将学会如何使用 Amazon Systems Manager 在 Amazon EC2 实例上远程运行命令。

部署时间:10 分钟

查看更多教程 »

动手实操

快速注册账号 享用免费套餐

跟随注册步骤详解,三分钟快速创建账号,领取免费权益

打开中国区账号注册页面

01 填写您 注册账号的邮箱,点击“继续”

02 查看您的 注册账号邮箱

注: 发件箱 no-reply@register.signin.amazonaws.com.cn

03 输入 邮箱中收到的验证码,点击“继续”

注: 该链接中的内容显示语言是与您的网页浏览器设置相一致的,您可以根据需要自行调整语言栏。

立即开始注册 »

image

填写用户名密码

01 请设置您的 账号用户名

02 为您的帐号 设置密码

03 重新 输入密码

立即开始注册 »

图片

填写账号联系人以及公司信息

01 填写公司联系人 姓名全称

02 填写公司联系人的 联系电话

03 填写 公司名称

注: 公司名称请务必与您所提供的营业执照公司名称保持一致

04 填写 公司办公地址

注: 省份/自治区/直辖市 - 城市 - 区 - 街道门牌号以及楼层信息 - 邮政编码

05 请选择 是否需要发票

注: *附件-申请发票流程 供您参考

06 点击查看 客户协议 勾选方框表示您已阅读,并同意客户协议的条款

立即开始注册 »

图片

企业信息验证

01 在此上传 企业注册执照

02 请填写网络安全负责人的 姓名

注: 该字段务必与您下方提供的身份证号匹配或与证件上的姓名保持一致

03 请填写网络安全负责人的 联系方式

注: 有效的电子邮件地址 - 有效的中国内地 手机号码 - 座机号码(如无座机,请填写正确有效的手机号码)

04 在此上传网络安全负责人的 身份证件

注: 当您选择证件类型为“身份证”时,您需要填写正确的身份证号码,选择其他证件类型时,您需要上传证件扫描稿

立即开始注册 »

图片

手机验证与支持计划

01 在此填写 手机号

02 请输入您收到的 4 位 验证码

03 请点击 继续

04 请根据需求 选择一个支持计划

立即开始注册 »

图片