文章目录

  • 1、BGP 是怎样实现跨自治系统交互路由信息?为什么需要 BGP 路由协议?
  • 如何跨AS交互
  • BGP的用处
  • 2、IBGP 为什么采用全互联?不采用全互联怎么部署?
  • 什么是全互联?
  • 其他部署
  • 3、 IBGP 为什么不相互通告路由?
  • 水平分割
  • IGP与BGP基于水平分割的对比
  • 4 、BGP 中团体的作用
  • 5、如果 BGP 加上 max path,会在哪个 BGP 选路属性之前应用这个选项?
  • 6、谈谈 BGP 反射器的缺点
  • 7、 BGP 的属性在 MPLS 中的应用?选路控制?
  • 产生
  • 应用
  • 选录控制
  • 8、BGP的同步是什么?为什么现在的BGP都是默认关闭?
  • 同步
  • 默认关闭
  • 9、BGP 路由协议和 IGP 路由协议的区别?
  • 10、BGP 的选路原则


1、BGP 是怎样实现跨自治系统交互路由信息?为什么需要 BGP 路由协议?

如何跨AS交互

  • BGP基于TCP的179端口进行封装,即BGP要采用TCP的方式建立邻居,分为IBGP、EBGP邻居,前者是同一AS内的邻居,后者是不同AS号的邻居,邻居的建立使用的是Open报文;之后使用Update交换路由信息,完成路由信息的交互,之后使用Keeplive来保持邻居关系,60s的周期保活,实际上保活的是TCP的会话,自然就保证的BGP的邻居关系

BGP的用处

  • BGP是一个高级的路径矢量型协议,还被称为路径矢量型;其主要用于不同AS之间的路由传递,即每一个AS说简单点代表的是一个网络节点,可以是运营商、企业、学校、大型组织等

2、IBGP 为什么采用全互联?不采用全互联怎么部署?

什么是全互联?

说到全互联,就要知道其产生的原因,全互联的本质是因为IBGP水平分割,即AS内部的防环原则,这是BGP设计时所规定的准则

IBGP水平分割:通过IBGP邻居学到的路由不能传递给另外的IBGP邻居

解决:全互联,即AS内部的每台设备都与其他设备建立IBGP邻居关系,即全互联,full-mesh架构,这样一来就不会出现IBGP水平分割了,当然这样的部署十分麻烦,且不利于后期的扩展性

其他部署

解决IBGP水平分割常用的两种方法:路由反射器、EBGP联邦

路由反射器:将AS内的某台设备作为路由反射器,与其建邻的设备存在两种角色,客户端与非客户端;其解决的原理十分简单,不反射的情况只有一种,即非客户端发来的路由不会给非客户端传递,即菲菲不传;

EBGP联邦:设置AS内的大AS号与小AS号,即逻辑的将一个AS划分为多个AS,这样就从逻辑上解决的IBGP水平分割的问题

3、 IBGP 为什么不相互通告路由?

水平分割

因为IBGP水平分割的原因,即通过IBGP邻居学到的路由不会传递给另外的IBGP邻居,也称为IBGP只传一跳原则;其实说到底就是为了防环

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ykkc1gxK-1597684467128)(C:\Users\Yichen\AppData\Roaming\Typora\typora-user-images\1597558260970.png)]

IGP与BGP基于水平分割的对比

上面提到了水平分割,这里对IGP与BGP的水平分割做一个详细的对比

  • IGP的水平分割:从某个接口上学习来的路由信息将不再从该接口上通告出去;就是说,从此口进,不能从此口出
  • BGP的水平分割:从任何IBGP邻居学来的路由信息都不再向任何IBGP路由器转发;即完全不转发,把事做绝

那么这里就产生了一个问题,同样都是水平分割为什么标准不同?

  • 注意,IGP这样基于接口的水平分割,若应用于大型网络还是会产生环路的,原因是IGP的水平分割只是防止区域网络(比如相邻的路由器)这种小范围内的问题,如果网络大了,互联复杂,依旧可能产生环路;
  • 而BGP中的IBGP邻居根本不传才是从根本上解决了环路问题;

那IGP如果对于大型网络防止环路呢?

RIP用的是跳数限制,OSPF用的是内外优先值 10-150

  • 总结:虽然都叫做水平分割,但是其内部实现的逻辑是不同的,说白了,IGP与BGP应用的场景本来就不同

4 、BGP 中团体的作用

团体属性:该属性为可选过度

团体属性分为:

1、自定义团体属性

a.标准团体值 —用于对路由进行标记,更好的抓取路由,增强后期的扩展性

b.扩展团体值(vpn-target) —用于MPLS-VPN下的MP-BGP邻居的VPNV4路由的传递

2、公共团体属性

a.Internet 可以传递给所有邻居;默认的团体属性

b.No_Advertise 将不会把路由传递给他的邻居 EBGP;不能传递给任何邻居

从IGP传,不能从BGP传

c.No_Export 不能出AS,不能传出本路由器;不能传递出大的AS

举例:当电信与联通间的相通链路出现故障时,不允许绕行百度,那么百度对电信与联通进来的路由打上No_export,这样进来的路由就不能出去

d.No_Export_Subconfed 不能出联邦;不能传递出小的AS

注意团体值的开启要打开传递的开关

5、如果 BGP 加上 max path,会在哪个 BGP 选路属性之前应用这个选项?

注意,这里的Max Path在Cisco在思科设备的BGP选路中存在,Cisco的BGP选路原则如下;对于华为设备中的BGP选路在后面会提到

1、weight 权重;默认:32768,大优;仅本地有效,不能传递
2、Local-Preference 本地优先级;默认100,大优;限制离开本AS的流量
3、本地起源最优,即本地宣告的路由的Next-Hop为0.0.0.0 为最优
4、AS-Path,越短越优,记录的是经过的AS号
5、起源类型 IGP>EGP>Incomplete。 起源属性 i优于e优于?; 可在控制层面任意接口修改
	network  宣告本地路由表中的任意路由  				i 0 
	egp     早期的ebg协议学习的路由重发布到BGP协议中       e 1
	import   将本地通过其他协议学习的路由重发布到BGP协议中  ? 2
6、对于来自同一AS的路由,优选MED(多出口的鉴别属性)值小的。 最常用于干涉EBGP选路的属性
	MED就是人为的利用路由器优选路径的规则—先比较管理距离(华为为优先级),若一直再比较度量值(华为cost)
	
7、优选从 EBGP学来的路由(EBGP>IBGP)。 

8、优选AS内部IGP的Metric最小的路由。

9.如果配置了maximum-path [ibgp]n,如果存在多条等价路径,会同时进路由表。
负载均衡后,路由表中存在不优路径,但是只是针对ip路由表的,bgp自己永远没有负载均衡

10.最老的路由(前提必须是external路由,联邦内的EBGP路由当做IBGP处理)针对EBGP
11.最低的router-id(起源)
12.多条路径的始发router-id相同,那么选择cluster-list长度最短的
13.BGP优选来自最低邻居IP地址的路径(BGP的neighbor配置的那个IP地址)

总结:

当BGP配置了maximum-path 后,这可以使得EBGP在多条路径上进行负载分担,这个属性在EBGP选路属性之后,即多路配置完成后,还能进行比较的都是IBGP的路由

6、谈谈 BGP 反射器的缺点

说起反射器,就要明确其产生的意义与原理,反射器呢,是用于解决IBGP水平分割的,还有一种解决方法呢,叫做EBGP联邦

二者的比较

  • 联盟中的所有路由器都必须理解和支持联盟机制,而路由反射方案只需要路由反射器了解路由反射机制即可,客户端路由器和反射器之间只建立不同的IBGP连接。
  • 无论从所需的配置命令还是从拓扑结构的设计上说,路由反射器的实现都更加的简单。

那路由反射器的缺点是什么?其实,反射器的缺点非常明显,如下所示

  • 会出现环路,对于反射器的出环问题,下面的问题中会做详细的解释;解决环路,用的是Originator-ID、Cluster-ID
  • 客户端必须与反射组的所有反射器建立IBGP邻居,否则会出现反射客户端之间的路由无法同步的情况
  • 反射器收到两个或两个以上的到达同一目标的路由时,需要判断出最优的路由,然后反射给客户端;这会导致这些设备丧失多条路径判断最优路径的能力。

7、 BGP 的属性在 MPLS 中的应用?选路控制?

产生

当MPLS用到BGP中的原因有如下两种情况

  • BGP中存在纯P设备,即不运行BGP的设备,这时就会造成数据层面的路由黑洞,需要用到MPLS进行解决
  • 当需要重叠的IP地址、多个为p嗯站点部署在一个同一个PE设备上时;铺设MPLS-为p嗯

应用

如果在BGP中铺设了MPLS-为p嗯,每个BGP设备就要建立MP-BGP邻居,且需要开启传递团体属性;各台设备间传递的是为p嗯V4路由,即IPV4+RT标识的路由

选录控制

对于选路的控制用的就是BGP的诸多属性,应用分为三步走

  • 抓路由
  • 布置策略
  • 对邻居进行调用

8、BGP的同步是什么?为什么现在的BGP都是默认关闭?

同步

同步就是IGP、BGP中都存在的路由,在之前的BGP版本中如果发现某条路由我BGP有,IGP没有,我就不敢将此路由变成最优路由;

默认关闭

当MPLS-为屁嗯杀出来后,就必须关闭同步,因为MPLS-为屁嗯是建立了一条隧道,与同步与否毫无关系

当然最好是关闭的,因为同步的本质是IGP也会学到BGP的路由,BGP的路由过于庞大,如果也让IGP学到的话,那么对IGP的压力无疑是巨大的

9、BGP 路由协议和 IGP 路由协议的区别?

IGP追求的是速度

  • 如RIP的计时器,用于加快路由的更新与触发更新的速度;
  • OSPF的触发更新,周期更新,用于加快收敛速度;
  • EIGRP的DUAL,即弥散算法(分布式计算)用于加快收敛速度;

BGP的追求:稳定性强,操控性强,可靠性强,承载性强;BGP没有追求速度的包袱,不需要有很强的算法;

  • 可靠性:
    TCP179端口进行邻居的建立 TCP开销大、速度慢;但是对BGP没有影响
  • 稳定性:
  1. 不做触发更新,也不周期更新,只做增量更新;
  2. 工作的环境本身就是稳定态;工作在骨干网上,骨干网是被做聚合了的路由进行传输,所以是稳定的;
  3. TCP也是稳定的
  • 承载性:不使用链路状态型计算;是一种高级的距离矢量型,称作路径矢量型
  • 操控性:AS间的选路需求,必须要有很强的操控性(选路、策略)

10、BGP 的选路原则

0、不优不传
1、优选 Preferenge_Value值最高的路由(私有属性,仅本地有效)。入向调用,不传递;默认0,大优
	Cisco叫weight,权重,思科私有
	
2、优选本地优先级 (Local_Prefereace)最高的路由。 最常干涉IBGP关系的选路;只在IBGP邻居关系间传递;用于限制离开本AS的流量;默认100,大优

3、优选手动聚合>自动聚合>network>import>从对等体学到的。

4、优选 AS_Path短的路由。 EBGP/IBGP关系均可被干涉,但只能在EBGP邻居间修改;最前端号码为最新经过的AS号;  none overwrite

5、起源类型 IGP>EGP>Incomplete。 起源属性 i优于e优于?; 可在控制层面任意接口修改
	network  宣告本地路由表中的任意路由  				i 0 
	egp     早期的ebg协议学习的路由重发布到BGP协议中       e 1
	import   将本地通过其他协议学习的路由重发布到BGP协议中  ? 2
	
	
6、对于来自同一AS的路由,优选MED(多出口的鉴别属性)值小的。 最常用于干涉EBGP选路的属性
	MED就是人为的利用路由器优选路径的规则—先比较管理距离(华为为优先级),若一直再比较度量值(华为cost)
	
7、优选从 EBGP学来的路由(EBGP>IBGP)。 

8、优选AS内部IGP的Metric最小的路由。
9、优选 Cluster_List最短的路由。  反射的少
10、优选Orginator_ID最小的路由。   
11、优选Router_ID最小的路由器发布的路由。
12、优选具有 较小IP地址的邻居学来的路由。