BGP---BGP大规模路由应用

在较大规模组网或者路由条目较多的情况下,出于简化配置,减少路由条目,提升设备性能等等因素的考虑,会需要用到以下几种工具或技术

  1. 路由聚合(Aggregation)
  2. 对等体组(Peer Group)
  3. 团体属性(Community )
  4. 路由反射(Route Reflection )
  5. BGP联盟(Confederations )

1.路由聚合

作用:

  • 只向对等体发送聚合后的路由,从而缩小路由表规模

  • 明细路由如果发生路由震荡,不会对网络造成影响

分为自动聚合和手动聚合

  • IPv4中BGP支持手动聚合和自动聚合
  • IPv6中BGP只支持手动聚合

自动聚合

对BGP引入的路由进行有类聚合

仅对import引入的路由进行聚合(network无效)

配置聚合后,所有明细路由将被抑制

缺省情况下BGP不启用自动聚合

聚合后的路由将带有atomic aggregateaggregator属性

[AR1-bgp]import-route direct
[AR1-bgp]summary  automatic   ##启动自动聚合功能

缺点:

  • 聚合后的路由主机地址范围扩大,不精确

  • 聚合范围优先,只能针对import路由

手动聚合

对BGP本地路由表中的路由进行聚合,手动聚合可以控制聚合路由的属性,以及决定是否发布明细路由

扩展配置

[R2-bgp]aggregate 192.168.1.0 255.255.255.248 ?

  1. as-set --继承明细路由的AS属性,BGP路由表用{}存放明细路由AS号,AS号排序无意义在这里插入图片描述
  1. attribute-policy --用来修改汇总路由的属性
##针对聚合路由修改路由属性为?
route-policy att permit node 10
apply origin incomplete			##修改路由属性为?
##bgp下调用
bgp 100
aggregate 192.168.1.0 255.255.255.248 attribute-policy att
##定义策略时不需要匹配对应网段
  1. detail-suppressed --抑制所有明细路由
aggregate 192.168.1.0 255.255.255.248 detail-suppressed ##抑制所有明细路由
  1. origin-policy --用于选择汇总的明细路由
  2. suppress-policy --抑制被策略匹配出来的明细路由
##只抑制192.168.1.3/32
ip ip-prefix sup permit 192.168.1.3 32
route-policy sup permit node 10
if-match ip-prefix sup

bgp 100
aggregate 192.168.1.0 255.255.255.248 suppress-policy sup

Atomic-aggregate:为了警告网络管理员,当手工聚合并且抑制明细,可能会产生环路问题

Aggregator ID:聚合者

聚合之后是否继承明细路由的路径属性

  • origin 属性继承最差
  • next-hop 不继承
  • as-path 默认不继承,配置AS-SET可以还原
  • med、localpre不继承
  • 团体属性 继承

聚合路由的防环

  • 通过AS-SET命令,还原聚合路由的AS号
  • 在路由表中添加针对聚合路由指向null0(自动生成)

2.对等体组

对等体组(Peer Group)是一些具有某些相同策略的对等体的集合

此功能可以简化BGP配置,同时减少路由性能的消耗

在大型BGP网络中,对等体的数量会很多,其中很多对等体具有相同的策略,在配置时会重复使用一些命令,利用对等体组可以简化配置

对等体组中的单个对等体,也可以配置自己的发布路由与接收路由的策略

##配置
group 名字  internal/external  		##创建对等体组,internal为IBGP对等体组、external为EBGP对等体组
peer X.X.X.X 指定邻居的AS号			##在EBGP邻居对等体组才需要
peer X.X.X.X  group + 组名  			##将邻居加入到对等体中
peer huawei connect-interface LoopBack0		##配置策略
peer huawei next-hop-local					##配置策略
###

对等体组是如何减少路由性能损耗的

默认情况下,BGO会针对不同邻居单独打包路由(即使针对不同邻居有相同的路由策略)

  • 按组打包技术

  • 在这里插入图片描述

    • 按组打包技术将所有拥有共同出口策略的BGP邻居当作是一个打包组,每条待发送的路由只被打包一次然后发送给组内所有的邻居

3.团体属性

基本概念
  • 团体属性用于标识具有相同特征的BGP 路由,该属性为可选过渡

  • 团体属性是一组有相同特征的目的地址的集合。团体属性用一组以4字节为单位的列表来表示

  • 设备中团体属性的格式是mm:nn团体号

  • 团体属性用来简化路由策略的应用和降低维护管理的难度,利用团体可以使多个AS中的一组BGP设备共享相同的策略。团体是一个路由属性,在BGP对等体之间传播,且不受AS的限制。BGP设备在将带有团体属性的路由发布给其它对等体之前,可以先改变此路由原有的团体属性。

分类

分为基本团体属性扩展团体属性

基本团体属性分为自动以团体属性、公认团体属性

  • 自定义团体属性

    • 格式:mm:nn
      • 通常mm为自治系统的AS号,nn是管理员自定义
    • 取值范围:0-65535
  • 公认团体属性

    • Internet
    • No Advertise
    • No Export
    • No_Export_Subconfed
团体名称 团体标识 说明
Internet 0(0x00000000) 缺省情况下,所有路由器都属于Internet团体。具有此属性的路由可以被通告给所有的BGP对等体。
No_Export 4294967041(0xFFFFFF01) 具有此属性的路由在收到后,不能被发布到本地AS之外。不传出第三个AS
No_Advertise 4294967042(0xFFFFFF02) 具有此属性的路由在收到后,不能被通告给任何其他的BGP对等体。
No_Export_Subconfed 4294967043(0xFFFFFF03) 具有此属性的路由在收到后,不能被发布到本地AS之外,也不能被发布到其他子AS。

团体号

  • 团体号是0-4294967295的整数
  • RFC1997中定义 0(0x00000000)~65535(0x0000FFFF)4294901760(0xFFFF0000)~4294967295(0xFFFFFFFF)是预留的
    • 0-65535 是给自定义团体属性的预留的
    • 4294901760-4294967295是给公认团体属性预留的

4.路由反射

作用
  • 打破BGP通告原则3(打破水平分割),允许将从IBGP邻居学习到的路由发送给特定IBGP邻居,打破了IBGP邻居关系全互联的需求,减少IBGP会话的数量
概念
  • 路由反射器RR(Route Reflector):允许把从IBGP 对等体学到的路由反射到其他IBGP对等体的BGP设备。
  • 客户机(Client):与RR形成反射邻居关系的IBGP设备。在AS内部客户机只需要与RR直连。
  • 非客户机(Non-Client):既不是RR也不是客户机的IBGP设备。在AS内部非客户机与RR之间,以及所有的非客户机之间仍然必须建立全连接关系。
  • 始发者(Originator):在AS内部始发路由的设备。Originator_ID属性用于防止集群内产生路由环路。
  • 集群(Cluster):路由反射器及其客户机的集合。Cluster_List属性用于防止集群间产生路由环路。
反射规则

在这里插入图片描述

  • 从EBGP对等体学习的路由,发送给所有的非客户机和客户机
  • 从非客户机学习的路由,发送给所有的客户机
  • 从客户机学习的路由,发布给所有的客户机和非客户机
  • 非非不传
    • 从非客户机学习的路由,不发送给非客户机
防环规则

originator_ID

在这里插入图片描述

  • 可选非过度属性

  • 用于集群内的防环

  • 由路由反射器(RR)产生,携带了本地AS该路由发送者的router id

  • 防环原理

    • 当一条路由第一次被RR反射的时候,RR将Originator_ID属性加入这条路由,标识这条路由的发起设备。如果一条路由中已经存在了Originator_ID属性,则RR将不会创建新的Originator_ID属性。

    • 当设备接收到这条路由的时候,将比较收到的Originator ID本地的Router ID,如果两个ID相同,则不接收此路由

cluster_list

在这里插入图片描述

  • 可选非过渡属性
  • 用于集群间的防环
  • 由每个路由反射器(RR)产生,记录反射路由经过的集群
  • cluster ID
    • 每个路由反射器使用唯一的cluster ID作为集群标识
    • 生成方式
      • 自动生成:router id作为cluster id
      • 手动配置:reflector cluster-id x.x.x.x
  • 防环原理
    • 记录路由经过的所有集群的Cluster ID。
    • 当RR在它的客户机之间或客户机与非客户机之间反射路由时,RR会把本地Cluster_ID添加到Cluster_List的前面。如果Cluster_List为空,RR就创建一个。
    • 当RR接收到一条更新路由时,RR会检查Cluster_List。
      • 如果Cluster_List中已经有本地Cluster_ID,丢弃该路由;
      • 如果没有本地Cluster_ID,将其加入Cluster_List,然后反射该更新路由。

注意

  • RR的配置方便,只需要在反射器上进行配置,客户机并不知道自己是客户机

备份RR

  • 一个集群内存在两个以上的RR
    在这里插入图片描述

同级反射器

  • 一个AS中可能存在多个集群,各个RR之间是IBGP对等体的关系
    在这里插入图片描述

分级反射器

  • 将较低网络层次的RR配成更高网络层次中RR的客户机
    在这里插入图片描述

在某些网络中,路由反射器的客户机之间已经建立了全连接,它们可以直接交换路由信息,此
时客户机到客户机之间的路由反射是没有必要的,而且还占用带宽资源。VRP支持配置命令undo reflect between-clients来禁止RR将从客户机收到的路由再反射给其他客户机。

5.BGP联盟

将一个AS划分为若干个子AS,每个子AS内部建立全连接的IBGP邻居,子AS之间建立EBGP连接关系

在这里插入图片描述

  • 配置联盟后,原AS号将作为每个路由器的联盟ID
  • 原有的IBGP属性(local preference、MED、next_hop等)会保留
  • 联盟相关的属性在传出联盟时会自动被删除
  • 联盟内部的成员AS号对于其他非联盟AS是不可见的,所以路由在从联盟内部发送到其他非联盟AS时,联盟成员AS号被剥离
配置
##配置前需要删除原有AS号、创建新的成员AS号
bgp 65001
confederation id 100	##指定联盟ID
peer 10.1.12.1 as-number 65001  	##指定联盟内的IBGP邻居
peer 10.1.24.4 as-number 200  		##指定联盟外的EBGP邻居
confederation peer-as 65002  		##65002是联盟内的EBGP邻居
peer 10.1.13.3 as-number 65002
联盟的防环机制

AS_SET: 由一系列AS号无序地组成,包含在UPDATE消息里。当网络发生聚合时,可通过适当策略使AS_PATH使用类型AS_SET来避免路径信息丢失。

AS_SEQUENCE: 由一系列AS号顺序地组成,包含在UPDATE消息里。一般情况下,AS_PATH类型为AS_SEQUENCE。

  • AS_CONFED_SEQUENCE

    • 在本地联盟内由一系列成员AS号按顺序地组成,包含在UPDATE消息中,用法和AS_SEQUENCE相同,只能在本地联盟内传递
  • AS_CONFED_SET

    • 在本地联盟内由一系列成员AS无序组成,包含在UPDATE消息中,用法和AS_SET相同,只能在本地联盟内传递

反射器和联盟的比较

反射器和联盟都用于打破BGP通告原则3(水平分割):从IBGP接收的路由不传递给IBGP

反射器 联盟
不需要更改现有的网络拓扑,兼容性好 需要修改逻辑拓扑
配置方便,客户机不知道自己是客户机 所有设备需要重新进行配置,且所有设备必须支持联盟功能
集群与集群之间仍然需要全连接 联盟的子AS之间是特殊的EBGP连接,不需要全连接
在大型网络中应用广泛 应用较少
posted @ 2021-04-08 14:17  dragon's  阅读(642)  评论(0编辑  收藏  举报