在较大规模组网或者路由条目较多的情况下,出于简化配置,减少路由条目,提升设备性能等等因素的考虑,会需要用到以下几种工具或技术:
路由聚合(Aggregation)
对等体组(Peer Group)
团体属性(Community )
路由反射(Route Reflection )
BGP联盟(Confederations )
路由聚合
只向对等体发送聚合后的路由,从而缩小路由表规模
明细路由如果发生路由振荡,不会对网络造成影响
路由聚合分为自动聚合和手动聚合
对于IPv4路由,BGP支持:手工聚合、自动聚合
对于IPv6路由,BGP支持:手工聚合
1、自动聚合
对BGP引入的路由进行有类聚合;
配置聚合后,成员明细路由将被抑制;
仅对import引入的路由进行聚合。
2、手工聚合
对BGP本地路由表中的路由进行聚合。手动聚合可以控制聚合路由的属性,以及决定是否发布明细路由。
对等体组
![1797fb57b6e3396bd805238cbd9c14fd.png](https://i-blog.csdnimg.cn/blog_migrate/015bc1368ecf1dfbf9e40652e1e4f952.png)
对等体组(Peer Group)是一些具有某些相同策略的对等体的集合。此功能可以简化BGP的配置,同时减少路由性能损耗。
BGP按组打包
![1797fb57b6e3396bd805238cbd9c14fd.png](https://i-blog.csdnimg.cn/blog_migrate/015bc1368ecf1dfbf9e40652e1e4f952.png)
按组打包技术将所有拥有共同出口策略的BGP邻居当作是一个打包组
每条待发送路由只被打包一次然后发给组内的所有邻居
1、BGP属性特点—团体(COMMUNITY)
团体属性用于标识具有相同特征的BGP 路由,该属性为可选过渡
团体属性分为:自定义团体属性、公认团体属性、Internet、No_Advertise、No_Export、No_Export_Subconfed
2、团体属性(公认属性)
团体属性是一组有相同特征的目的地址的集合。团体属性用一组以4字节为单位的列表来表示,设备中团体属性的格式是aa:nn或团体号。
aa:nn:aa和nn的取值范围都是0~65535,管理员可根据实际情况设置具体数值。通常aa表示自治系统AS编号,nn是管理员定义的团体属性标识。例如,来自AS100的一条路由,管理员定义的团体属性标识是1,则该路由的团体属性格式是100:1。
团体号:团体号是0~4294967295的整数。RFC1997中定义,0(0x00000000)~65535(0x0000FFFF)和4294901760(0xFFFF0000)~4294967295(0xFFFFFFFF)是预留的。
团体属性用来简化路由策略的应用和降低维护管理的难度,利用团体可以使多个AS中的一组BGP设备共享相同的策略。团体是一个路由属性,在BGP对等体之间传播,且不受AS的限制。BGP设备在将带有团体属性的路由发布给其它对等体之前,可以先改变此路由原有的团体属性。
公认团体属性
路由反射器
路由反射器RR(Route Reflector):允许把从IBGP 对等体学到的路由反射到其他IBGP对等体的BGP设备。
客户机(Client):与RR形成反射邻居关系的IBGP设备。在AS内部客户机只需要与RR直连。
非客户机(Non-Client):既不是RR也不是客户机的IBGP设备。在AS内部非客户机与RR之间,以及所有的非客户机之间仍然必须建立全连接关系。
始发者(Originator):在AS内部始发路由的设备。Originator_ID属性用于防止集群内产生路由环路。
集群(Cluster):路由反射器及其客户机的集合。Cluster_List属性用于防止集群间产生路由环路。
允许将从IBGP邻居学习到的路由发送给特定IBGP邻居,打破了IBGP邻居关系全互联的需求,减少IBGP会话数量。其中包括路由反射器(RR)和客户机(Client)。
为保证IBGP对等体之间的连通性,需要在IBGP对等体之间建立全连接(Full-mesh)关系。假设在一个AS内部有n台路由器,那么应该建立的IBGP连接数就为n(n-1)/2。当IBGP对等体数目很多时,对网络资源和CPU资源的消耗都很大。利用路由反射可以解决这一问题。
在一个AS内,其中一台路由器作为路由反射器RR(Route Reflector),其它路由器作为客户机(Client)。客户机与路由反射器之间建立IBGP连接。路由反射器和它的客户机组成一个集群(Cluster)。路由反射器在客户机之间反射路由信息,客户机之间不需要建立BGP连接。
1、路由反射器的反射规则
在向IBGP邻居发布学习到的路由信息时,RR按照以下规则发布路由
从EBGP对等体学到的路由,发布给所有的非客户机和客户机。
从非客户机IBGP对等体学到的路由,发布给此RR的所有客户机。
从客户机学到的路由,发布给此RR的所有非客户机和客户机(发起此路由的客户机除外)。
RR的配置方便,只需要对作为反射器的路由器进行配置,客户机并不需要知道自己是客户机。
在某些网络中,路由反射器的客户机之间已经建立了全连接,它们可以直接交换路由信息,此时客户机到客户机之间的路由反射是没有必要的,而且还占用带宽资源。VRP支持配置命令undo reflect between-clients来禁止RR将从客户机收到的路由再反射给其他客户机。
2、路由反射器的防环机制
Originator ID由RR产生,使用的Router ID的值标识路由的发送者,用于防止集群内产生路由环路。
当一条路由第一次被RR反射的时候,RR将Originator_ID属性加入这条路由,标识这条路由的发起设备。如果一条路由中已经存在了Originator_ID属性,则RR将不会创建新的Originator_ID属性。
当设备接收到这条路由的时候,将比较收到的Originator ID和本地的Router ID,如果两个ID相同,则不接收此路由。
路由反射器和它的客户机组成一个集群(Cluster)。在一个AS内,每个路由反射器使用唯一的Cluster ID作为集群标识。
为了防止集群间产生路由环路,路由反射器使用Cluster_List属性,记录路由经过的所有集群的Cluster ID。
当RR在它的客户机之间或客户机与非客户机之间反射路由时,RR会把本地Cluster_ID添加到Cluster_List的前面。如果Cluster_List为空,RR就创建一个。
当RR接收到一条更新路由时,RR会检查Cluster_List。如果Cluster_List中已经有本地Cluster_ID,丢弃该路由;如果没有本地Cluster_ID,将其加入Cluster_List,然后反射该更新路由。
3、路由反射器:备份RR
备份RR主要是为了解决单点故障。
相同集群中的路由反射器要共享相同的Cluster_ID;
Cluster_List的应用保证了同一AS内的不同RR之间不出现路由循环。
在冗余的环境里,客户机会收到不同反射器发来的到达同一目的地的多条路由,这时客户机应用BGP选择路由的策略来选择最佳路由。
当客户机Client1从外部对等体接收到一条更新路由(10.0.0.0/24)后,它通过IBGP向RR1和RR2通告这条路由。
RR1接收到该更新路由后,它向其他的客户机(Client2、Client3)和非客户机(RR2)反射,同时将本地Cluster_ID添加到Cluster_List前面。
RR2接收到该反射路由后,检查Cluster_List,发现自己的Cluster_ID已经包含在Cluster_List中。因此,它丢弃该更新路由,不再向自己的客户机反射。
4、路由反射器 - 同级反射器
一个骨干网被分成多个反射集群,每个RR将其它的RR配置成非客户机,各RR之间建立全连接。每个客户机只与所在集群的RR建立IBGP连接。这样该自治系统内的所有BGP路由器都会收到反射路由信息。
5、路由反射器 - 分级反射器
分级反射器是指将较低网络层次的RR配成更高网络层次中RR的客户机。
Cluster1中部署了一个一级RR(RR-1),Cluster2和Cluster3中的RR(RR-2和RR-3)作为RR-1的客户端。
BGP联盟
![1797fb57b6e3396bd805238cbd9c14fd.png](https://i-blog.csdnimg.cn/blog_migrate/015bc1368ecf1dfbf9e40652e1e4f952.png)
将一个AS划分为若干个子AS,每个子AS内部建立全连接的IBGP邻居,子AS之间建立EBGP连接关系。
配置联盟后,原AS号将作为每个路由器的联盟ID。
原有的IBGP 属性,包括Local Preference属性、MED属性和NEXT_HOP属性等;联盟相关的属性在传出联盟时会自动被删除,即管理员无需在联盟的出口处配置过滤子AS号等信息的操作。
1、BGP联盟:防环机制
AS_CONFED_SEQUENCE
AS_CONFED_SET
AS_PATH属性被定义为公认必遵属性,该属性由AS号所组成。AS_PATH包含4种不同类型。
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相同,只能在本地联盟内传递。
联盟内部的成员AS号对于其他非联盟AS是不可见的,所以路由在从联盟内部发送到其他非联盟AS时,联盟成员AS号被剥离。
2、BGP路由反射器和联盟的比较
联盟需要重新划分区域,对现网改动较大。
反射器在配置时,只需要对RR进行配置,客户机不需要做任何其他的操作;联盟需要在所有路由器上进行配置。
RR与RR间需要IBGP全互联。
路由反射器应用较为广泛;联盟应用较少。
!
点阅读原文免费领华为学习资料