什么是 BGP(边界网关协议)?
BGP,全称Border Gateway Protocol(边界网关协议),是实现互联网全球路由系统的协议。它通过在边缘路由器之间交换路由和可达性信息来管理数据包在网络之间的路由方式。
BGP 类似互联网的邮政服务。当有人把一封信投进邮筒时,邮政服务就会处理这封信,并选择一条快速、高效的路线将这封信投递给收件人。同样地,当有人通过互联网提交数据时,BGP 负责寻找数据能传播的所有可用路径,并选择最佳的路由,这通常意味着在自治系统(AS)之间跳跃。
什么是自治系统?
互联网是一个由网络组成的网络。它由成千上万个被称为“自治系统”(autonomous system,AS)的更小网络组成。这些网络中的每一个实际上就是由单一组织运行的一个大型路由器池。
如果我们继续将 BGP 比作互联网的邮政服务,那么自治系统就相当于各邮政分局。一个城镇可能有数百个邮箱,但邮箱中的所有邮件都必须先经过本地邮政分局,然后再运送到另一个目的地。自治系统中的内部路由器就好比邮箱。它们将出站流量路由到自治系统,然后使用 BGP 路由将这些流量传输到其目的地。
为什么 BGP 很重要?
边界网关协议 (BGP) 通过数据路由使互联网正常运行。BGP 路由至关重要,因为互联网的核心是由数十万个自治系统组成的。
自治系统是指由单个管理实体控制的小型网络。您可以通过互联网号码分配机构 (IANA) 分配的自治系统编号来唯一标识此类网络。当数据从来源移动到目的地时,会在自治系统之间传输。
BGP 支持每个自治系统执行以下操作。
查找最佳路线
当数据通过互联网从来源传输到目的地时,介于两者之间的每个自治系统都需要决定数据包下一步将传输到的位置。
该决定基于多个因素,如地理位置、网络拥塞和数据传输成本。BGP 路由会考虑这些因素并帮助确定下一个最佳的自治系统,从而使数据通过最短路径从来源传输到目的地。
发现网络连接的变化
互联网的结构是动态的。新的自治系统不断增加,而旧的自治系统不断被删除。每个自治系统都必须随时更新有关新路由和过时路由的信息。BGP 可以帮助系统发现此类网络变化并及时最新。
管理网络策略
BGP 具有灵活性,允许自治系统管理员实施自己的路由策略。
例如,您可以配置运行 BGP 的路由器,以区分自治系统内部和外部的路由。管理员可以设置规则来确定应在内部还是外部路由数据。
增加一层网络安全保障
BGP 可支持网络管理中的安全性。例如,BGP 可以使用预先配置的密码对路由器之间的消息进行身份验证。管理员可以验证来自合法自治系统的 BGP 消息并筛选掉未经授权的流量。
BGP协议如何运作?
BGP 使用一种称为对等的机制工作。管理员将某些路由器指定为 BGP 对等体。您可以将对等体视为位于自治系统边缘或边界上的设备。
BGP 对等体执行以下主要功能。
路由发现
BGP 对等体通过网络层可访问性信息 (NLRI) 和路径属性与相邻 BGP 对等体交换路由信息。NLRI 包含有关邻居的连接信息。路径属性包括延迟、跳数和传输成本等信息。
交换信息后,每个 BGP 对等体就可以围绕信息来构建网络连接图。
路由存储
在发现过程中,每台 BGP 路由器都会收集路由通告信息并以路由表的形式存储这些信息。它使用路由表进行路径选择,还会经常更新。
例如,BGP 路由器每 30 秒接收一次来自邻居路由器的保持连接消息。它会相应地更新存储的路由。
路径选择
BGP 路由器使用存储的信息以最佳方式路由流量。路径选择的主要因素是最短路径,由存储的路径图确定。当可以从多条路径到达目的地时,BGP 会按顺序评估其他路径属性,以选择最佳路径。
BGP 有哪些主要类型?
eBGP
外部BGP(External BGP)是在不同自治系统之间使用的BGP协议。当两个自治系统之间需要交换路由信息时,它们通常使用eBGP协议。
iBGP
内部BGP(Internal BGP)是在同一自治系统内部使用的BGP协议。当同一自治系统内的不同路由器需要交换路由信息时,它们通常使用iBGP协议。
MP-BGP
多协议BGP(Multiprotocol BGP)是一种扩展的BGP协议,支持多种协议,例如IP、IPv6、MPLS等。MP-BGP可以用于在不同网络之间交换多种协议的路由信息。
4BGP
4字节BGP(4-Byte AS Number BGP)是一种扩展的BGP协议,用于支持更大的自治系统号。由于自治系统号的范围限制,传统的BGP协议只支持65536个自治系统号,而4BGP协议支持更大的自治系统号。
外部 BGP 与内部 BGP 有什么区别?
BGP 根据数据的路由位置分为内部 BGP 和外部 BGP。
外部 BGP 路由器将自治系统连接到全局互联网。但是,大型自治系统本身由内部较小的自治系统组成。内部 BGP 在系统内路由数据。
内部和外部 BGP 对等之间的主要区别在于默认情况下,将从一个对等体接收的 BGP 路由传播到其他对等体的方式。具体说明如下:
- 从外部 BGP 对等体获知的新路由将重新通告给所有对等体
- 从内部 BGP 对等体获知的新路由仅重新通告给所有外部对等体
此外,组织必须使用外部 BGP 将其公司网络连接到互联网。
与之相对的是,组织没有义务使用内部 BGP。您可以根据组织的网络要求从多种内部路由协议中进行选择。
原创文章,作者:ZEGO即构科技,如若转载,请注明出处:https://market-blogs.zego.im/reports-baike/1865/