BGP基本概念

AS的概念

  • 自治系统(Autonomois System,AS)—— A collection of IP networks and routers under the control of one entity。在一个实体管辖下的拥有相同选路策略的IP网络。

  • BGP网络中的每个AS都被分配一个唯一的AS号,用于区分不同的AS。AS号分为2字节AS号和4字节AS号,其中2字节AS号的范围为1至65535,4字节AS号的范围为1至4294967295。支持4字节AS号的设备能够与支持2字节AS号的设备兼容。

  • 中国电信163:AS4134

  • 中国电信CN2:AS4809

  • 中国联通A网:AS9929


image-20250206105720933

路由协议的分类

  • An IGP (Interior Gateway Protocol) is atype of protocol used for exchanging routing information between routers within an autonomous system.

    (RIP OSPF IS-IS)

  • An EGP (Exterior Gateway Protocol) is a routing protocol used to exchange routing information between autonomous systems

    BGP


BGP概述

  • BGP(Border Gateway Protocol,边界网关路由协议),用于在AS之间实现路由信息的交互。

  • 使用BGP的理由:

    – BGP能够承载大批量的路由前缀。

    – 支持MPSL/VPN的应用,传递客户VPN路由。

    – 具备强大的路由策略能力,定义了丰富的路径属性。

    – 支持多协议的扩展。

BGP路径矢量特征

image-20250206111204966

BGP协议特征

  • BGP使用TCP为传输层协议,使用TCP端口号179.BGP路由器之间基于TCP建立BGP会话。BGP的对等体无需直连


image-20250206112440770


image-20250206112619382


  • 运行BGP的路由器被称为BGP Speaker。两台BGP路由器需建立对等体关系(邻居关系)才能交互BGP路由。存在两种类型的BGP对等体关系——EBGP以及IBGP

  • 在BGP对等体关系建立完成之后,BGP路由器只发送增量更新或者触发更新(不会周期性更新)

  • BGP具有丰富的路径属性和强大的策略工具

  • BGP能够承载大批量的路由前缀,用于大规模的网络中

BGP报文类型

image-20250206113051021


image-20250206113146622

BGP的邻居状态机

image-20250206113511517

BGP对等体(BGP Peer)

  • BGP对等体关系也被称为BGP邻居关系,两台BGP路由器需要建立BGP对等体关系,才能够交换BGP路由

  • BGP会话基于TCP建立,建立对等体关系的BGP路由器无需直连

image-20250206120629022

  • EBGP Peer (External BGP Peer):位于不同AS的BGP路由器之间的对等体关系,同上图

  • IBGP Peer (Internal BGP Peer):位于相同AS的BGP路由器之间的对等体关系,同上图


image-20250206121152249


中转AS中的路由黑洞问题

背景:

image-20250206121457761

ip packet:

image-20250206121546921

C、D由于并未运行BGP,因此不知道1.1.1.0的路由,遂丢弃数据包,这里就产生了路由黑洞

BGP同步规则

  • BGP同步(Synchronization)规则指出,BGP路由器不应使用通过IBGP对等体获悉的路由或将其通告给EBGP对等体,除非该路由是本地的或者又通过IGP获悉

  • 若同步规则关闭,则BGP可以将使用这样的路由,并将其通告给外部BGP对等体:从IBGP对等体那里获悉的且没有与IGP同步的路由

  • 若同步规则开启,则路由器通告IBGP对等体获悉路由后,将等待IGP将该路由传遍这个给自治系统(自己的路由表中必须存在相应的IGP路由表条目),然后再将其通告给外部对等体

中转AS中的路由黑洞问题解决办法

  • 1.IGP-BGP路由重发布

image-20250206123132908

  • 2.中转AS内部的路由器均运行BGP,且IBGP邻居全互联

image-20250206123342065

  • 3.部署MPLS解决BGP路由黑洞问题(标签查找)

IBGP水平分割原则

image-20250206124216349

因为防环,导致E无法获得路由

  • BGP的路由防环是依赖AS_PATH属性的,而AS_PATH属性仅仅在路由离开AS才会被更改,因此在AS内,IBGP路由就没有EBGP路由那样基于AS_PATH的防环能力,为了防止环路的出现,BGP路由器不会将从IBGP邻居学习过来的路由再通告给其他IBGP邻居——这就是BGP的水平分割原则

  • 由于水平分割原则存在,BGP要求AS内保证IBGP邻居关系全互联(但会给路由器代理极大的压力)

    规避方法:– 路由反射器(Route Reflector)

    ​ – 联邦(Confederation)

BGP路由通告规则

  • 当到达同一个目的地的存在多条路径时,BGP路由器只选择最优的(BEST)路由来使用(没开启负载均衡的情况下)

  • BGP只把自己使用的路由,也就是自己认为Best的路由传递给BGP对等体

  • BGP路由器从EBGP对等体获得的路由会向它所以BGP对等体通告(包括EBGP和IBGP对等体)

  • BGP路由器从IBGP对等体获知的路由不向它的IBGP对等体通告(水平分割规则,存在路由反射器的情况除外)

  • BGP路由器从IBGP对等体获知的路由是否通告给它的EBGP对等体则要视IGP和BGP同步的情况来定

  • 路由更新时,BGP设备只发送更新的BGP路由