1.路由反射器
Router Refleor——路由反射器——RR——我们可以通过配置,将某些设备在一定的条件下设置成为路由反射器,之后,该设备将可以反射所学习到的BGP路由信息
我们在指定一台路由器成为路由反射器(RR)的同时,必须在他的IBGP对等体关系中选择一个或者多个设备成为他的客户(client),RR和客户之间所构成的系统我们称为反射簇(Cluster)。每一个反射簇都将使用RR的RID作为簇ID。其余没有成为RR客户的IBGP对等体关系,我们称其为非客户。
路由反射器的反射规则:
1.当路由反射器从自己的客户处学习到一条路由,则他会把这条路由信息反射给自己的所有客户以及非客户。
2.如果路由反射器从自己的非客户处学习到一条路由,则它将把这条路由信息反射给自己所有的客户但是不能反射给非客户。
“非非不传”
3.当路由器执行路由反射时,他只将自己使用的最优的BGP路由进行反射。
因为IBGP水平分割是为了防止环路的产生,二路由反射器将路由反射之后就打破IBGP的水平分割,就可能造成环路的出现。——所以,路由反射器为了防止环路的出现,又引入了两个属性——Originator_ID(起源者ID),Cluster_list(簇列表)
起源者ID——O_ID——当一条路由信息来到路由反射器时,反射器需要将这条路由信息反射,反射前将在该路由信息中添加这个属性,这个属性的值为该反射器收到这条路由信息的通告者的RID,之后,别的路由反射器收到一条路由信息如果其中包含O_ID,则他将不会改变这个属性。如果一台设备收到一条路由条目其中起源者ID是自己本地的ID,则将不再学习这条路由信息,起到防止环路的效果。
如果在一个AS当中,存在多次反射,则一定存在多个反射簇,则每个RR在反射路由信息时都会在其中簇列表属性中添加本地的簇ID。当一个设备收到一条反射的路由信息后,其中的簇列表属性中包含本地的簇ID,则将不再学习该路由,防止环路的产生。
2.联邦
联邦的思想就是将同一个AS当中的IBGP对等体关系改变为EBGP对等体关系,通过这种方法来打破IBGP的水平分割。这就需要将不同的IBGP对等体划分到不同成员AS当中,成员AS之间建立的EBGP对等体关系是一种特殊的EBGP对等体关系,他们之间仅遵循EBGP对等体的传递性,而从传递的内容来看,依然需要遵循AS-BY-AS规则,因为从宏观上看,他们依然处于同一个AS当中。
联邦的做法也相当于打破了IBGP的水平分割,则也将可能出现环路问题,则需要考虑防环,防环方法可以直接借鉴EBGP水平分割,在AS_PATH属性当中添加成员AS号来防止回传。注意,为了区分成员AS和正常的AS,成员AS号将使用小括号括起来。
联邦的配置
联邦成员设备启动BGP进程时需要使用小号来启动
声明联邦成员的大号
联邦成员之间建立IBGP对等体关系需要使用小号来建立
在需要建立联邦的EBGP对等体关系的设备上需要声明建邻成员的AS号
联邦的EBGP对等体关系使用小号建邻
因为联邦的EBGP对等体关系之间需要遵循EBGP对等体的传递性,所以,其TTL值默认为1,在非直连建邻时需要将TTL值修改才能正常建邻
3.BGP的选路原则
BGP选路的前提条件——丢弃所有不可用的路由信息
1.优选Preferred-Value属性最大的路由
2.优选Local_Preference属性值最大的路由
3.本地始发的BGP路由优于从其他对等体学习到的路由,本地始发的路由优先级:优选手动聚合>自动聚合>network>import>从对等体学到的。
4.优选AS_Path属性值最短的路由
5.优选Origin属性最优的路由。Origin属性值按优先级从高到低的排列是:IGP、EGP及incomplete。
6.优选MED属性值最小的路由。
7.优选从EBGP对等体学来的路由(EBGP路由优先级高于IBGP路由)。
8.优选到Nect_Hop的IGP度量值最小的路由。
9.优选Cluster_LIst最短的路由。
10.优选Router ID(Orginator ID)最小的设备通告的路由。
11.优选具有最小IP地址的对等体通告的路由。
属性名称 | 传播范围 | 默认值 | 评判标准 |
PV | 不传播 | 0 (0-65535) | 越大越优 |
LP | IBGP对等体之间 | 100 | 越大越优 |
AS_PATH | BGP对等体之间 | 记录数量越少越优 | |
OGN | BGP对等体之间 | 根据起源类型决定 | i>e>? |
MED | BGP对等体之间 | 默认继承全局路由表中的开销值 | 越小越优 |
1、优选PV值最大的路由
PV值是华为的私有属性,可以理解为是权重,数值越大,其优先级越高,又因为他是所有选路原则中的第一条原则,所以,该属性是本设备上选路最方便的一个属性——这个属性只能在本设备上生效,他无法传递给任何BGP对等体。
修改PV影响选路的配置:
方法一:全局修改
负载分担——即让不同的流量走不同的线路,分担单一线路的压力。
方法二:精细化控制
1.抓取流量
2.做路由策略
注意:必须要配置空表放通剩余所有流量
3.在BGP中调用路由策略
2、优选LP属性值最大的路由
LP——本地优先级——默认值为100,越大越优。这个属性可以在IBGP对等体之间进行传递,所以,他是AS内部选路最常用的属性。路由信息在传递给EBGP对等体时将不携带这个属性。
通过修改LP值来影响选路:
方法一:全局修改
方法二:精细化控制
1.抓取路由
2.做路由策略
3.在BGP中调用路由策略
3、自己始发的路由优先级高于从对等体处学来的,自己始发的方法也存在多种,他们的优先级关系为手工聚合>自动聚合>network>import
4、优选AS_PATH属性最短的路由
AS_PATH属性进行选路时,需要注意以下两点:
1.我们在进行路由聚合时,如果激活AS_SET关键字之后,将不同AS的明细路由进行聚合,则我们将在AS_PATH属性中携带所有明细AS的AS号,并用大括号括起来,在进行选路比较时,大括号的内容当做一个AS号来看待。
2.在联邦时,我们联邦内部也需要使用AS_PATH来进行防环,我们将使用小括号将AS号括起来,在进行选路比较时,将不计算小括号里的内容。
方法:
1.抓取流量
2.配置路由策略
additive——在原有AS_PATH属性的基础上添加配置的AS号
overwrite——直接覆盖原有的AS_PATH属性值
建议使用添加,因为AS_PATH属性主要任务用来防止环路,将原有属性覆盖可能导致路由回传,造成环路产生。
3.在BGP中调用策略
建议在AS_PATH属性中添加真实离开的AS的AS号,因为AS_PATH属性本身具有防环作用,添加AS号后可能导致路由无法发送到对应的AS当中,影响路由的传递。AS_PATH属性在进行选路时,仅关注AS号的长短,不关注内容。
5、优选起源码属性最优的路由。起源码的优先级——i>e>?
OGN——起源码——i,e,?——用来标识路由条目的起源
i——代表该路由信息起源于IGP协议(不局限于IGP协议,包括静态,直连),代表该路由条目起源于AS内部——通过network发布出来的路由信息其起源码为i
e——代表该路由信息起源于EGP协议——EGP指的是BGP之前使用的外部网关协议
?——通过除了以上两种方式学习到的路由——重发布导入的路由起源码都是?
控制选路的方法:
1.抓流量
2.配置路由策略
3.在BGP中进行调用
6、优选MED属性值较小的路由
MED——多出口鉴别属性——MED值默认初始值并不是0,而是继承了路由表中该路由条目的开销值,所以,它可以反应到达目标网段在本AS内部的开销大小,通过这个参数,别的AS的流量在进入本AS时将可以选择开销较小的入口进入,通过修改这个属性值,我们也可以影响其他AS的流量流入本AS的路径。若本地通过IBGP对等体学习到一条BGP路由,其中存在MED值,之后需要将这条路由再传递给本地的EBGP对等体,则他将不再携带这个MED值。这种设置将有可能造成选路不佳的情况,所以,建议,如果存在多组边界设备需要将路由发送给EBGP对等体关系时,需要将所有的路由信息都发布。(每台设备都需要发布)
干涉选路的方法:
1.抓取流量
2.配置路由策略
3.在BGP进程中调用
注意:MED值影响的是别的AS的流量通过多个出口进入到本AS内部,如果流入的不是同一个AS,即收到的路由条目中AS_PATH属性最左边的AS号不同,则将不比较第六条,直接比较第七条。
7、EBGP对等体路由优于IBGP对等体路由
8、优选到Nect_Hop的IGP度量值最小的路由。
9、优选Cluster_LIst最短的路由。
10、优选Router ID(Orginator ID)最小的设备通告的路由。
11、优选具有最小IP地址的对等体通告的路由。