开放网络的先行者与推动者—星融元
加入我们技术支持(Support)  TEL:(+86)4000989811

技术文档

2022-03-25

关注星融元

技术文档

技术手册-BGP路由协议

2022-03-25

BGP全称BorderGatewayProtocol,也叫边界网关协议,是一种路径矢量路由协议,最新版本是BGPv4。BGP是互联网上一个核心的去中心化自治路由协议。BGP是最复杂的路由协议,属于应用层协议,其传输层使用TCP,默认端口号是179。BGP是唯一使用TCP作为传输层的路由协议。

BGP的分类介绍

BGP按照运行方式分为eBGP(External/Exterior BGP)和iBGP(Internal/Interior BGP)。

  • eBGP:运行于不同AS之间的BGP称为eBGP。为了防止AS间产生环路,当BGP设备接收eBGP对等体发送的路由时,会将带有本地AS号的路由丢弃。
  • iBGP:运行于同一AS内部的BGP称为iBGP。为了防止AS内产生环路,BGP设备不将从iBGP对等体学到的路由通告给其他iBGP对等体,并与所有iBGP对等体建立全连接。为了解决iBGP对等体的连接数量太多的问题,BGP设计了路由反射器和BGP联盟。

应该注意的是,使用内部 BGP 不是使用外部 BGP 的前提条件。自治系统可以从多种内部协议中进行选择,以连接其内部网络上的路由器。

BGP的相关概念

AS(Autonomous sydstem)

自治系统,指在一个(有时是多个)组织管辖下的所有IP网络和路由器的全体,它们对互联网执行共同的路由策略。一个AS是一个独立的整体网络。每个AS有自己唯一的编号。通常一个自治系统将会分配一个全局的唯一的16位号码, ASN范围:1-65535;其中1-64511属于公有ASN,64512-65535属于私有ASN。

AS_Path

路由每通过一个AS范围都会产生一个记录。

BGP报文交互中的角色

BGP报文交互中分为Speaker和Peer两种角色。

  • Speaker:发送BGP报文的设备称为BGP发言者(Speaker),它接收或产生新的报文信息,并发布(Advertise)给其它BGP Speadker。
  • Peer:相互交换报文的Speaker之间互称对等体(Peer)。若干相关的对等体可以构成对等体组(Peer Group)。

BGP的路由器号(Router ID)

  • BGP的Router ID是一个用于标识BGP设备的32位值,通常是IPv4地址的形式,在BGP会话建立时发送的Open报文中携带。对等体之间建立BGP会话时,每个BGP设备都必须有唯一的Router ID,否则对等体之间不能建立BGP连接。
  • BGP的Router ID在BGP网络中必须是唯一的,可以采用手工配置,也可以让设备自动选取。缺省情况下,BGP选择设备上的Loopback接口的IPv4地址作为BGP的Router ID。如果设备上没有配置Loopback接口,系统会选择接口中最大的IPv4地址作为BGP的Router ID。一旦选出Router ID,除非发生接口地址删除等事件,否则即使配置了更大的地址,也保持原来的Router ID。

BGP的报文

  • BGP对等体间通过以下5种报文进行交互,其中Keepalive报文为周期性发送,其余报文为触发式发送:
  • Open报文:用于协商BGP参数,包括版本,AS号,hold time等,然后建立BGP对等体连接。
  • Update报文:用于在对等体之间交换路由信息。
  • Notification报文:用于中断BGP连接。
  • Keepalive报文:用于保持BGP连接。
  • Route-refresh报文:用于在改变路由策略后请求对等体重新发送路由信息。只有支持路由刷新(Route-refresh)能力的BGP设备会发送和响应此报文。

BGP的3张表

  • 邻居表(adjancy table):保存所有的BGP邻居信息。
  • BGP表(forwarding database):保存从每一个邻居学到的路由信息。
  • 路由表(routing table):BGP默认不做负载均衡,会从BGP表中选出一条到达各个目标网络最优的路由,放入路由表保存。路由器只需按路由表保存的路由条目转发数据即可。

全文请注册登录后获取:https://asterfusion.com/d-20230427/

相关文章

对星融元产品感兴趣?

立即联系!

返回顶部

© 星融元数据技术(苏州)有限公司 苏ICP备17070048号-2