简述BGP知识点


BGP是路径矢量协议,为每一个目的地构造了一个基于自治系统的概要图。NLRI=Network Layer Reachability Information,网络层可达性信息,BGP是通过AS_PATH属性检测环路:如果AS_PATH中出现了自己的AS号,那么这个前缀将被拒绝。准确的说,这是针对eBGP。因为iBGP是不检查AS_PATH的!而且iBGP不会更改AS_PATH属性。

那么iBGP是怎么防止环路的?通过iBGP宣告者不允许把一个iBGP对等体学到的前缀传给另一个iBGP对等体。可是,由于这个原因,需要对所有iBGP对等体做全连接fully meshed)才能保证前缀广播到所有iBGP对等体。

iBGP vs eBGP:

1. iBGP通告local-prefence;eBGP不能;

2. iBGP不修改下一跳和AS_PATH,而eBGP可以;

3. iBGP有前缀同步要求(前缀需要在IGP存在才被广播,而且如果IGP是OSPF的话,还需要路由器ID吻合;eBGP没有前缀同步要求;如果此AS不是穿越AS,或是穿越AS但穿越路径上都运行了BGP,前缀同步可以关掉;

4. iBGP路由默认情况下不会重分布到IGP。可以通过bgp redistribute-internal修改)。eBGP没有这个限制。

Cisco路径决策

共有有13步,其中第10条是按照接收的先后顺序,一般情况下比较到第10条就结束了。如果在下列情况下,第10条先后顺序)将被忽略而继续比较:

1. bgp bestpath compare-routerid;

2. 多条路径都是有相同的路由器ID,即是从同一邻居过来的。这种情况比较少见,因为BGP通常只宣告最佳的一条路径)。

第11条是比较路由器ID,如果有RR属性,就比较originatior_ID;

第12条是针对RR的环境,按照cluster_list长度比较;

第13条优选邻居地址比较低的路径。

BGP只读模式(read-only)和读写模式

BGP的路径选择过程在没有接收到所有路径信息时候就已经开始了,这样导致重复发送某些前缀的最佳路径。

在只读模式下,BGP会在接收到全部路径信息,路径选择出最佳路径后才通告前缀。从会话建立的时间算起,只读模式的上限是2分钟。可以通过bgp update-delay来限制。BGP进程在收到BGP keepalive消息时就自动脱落只读模式。

BGP NSF(不中断转发)、GRgraceful restart,优雅重启)

在BGP路由器重新启动、RP的切换过程中,数据层面能够继续转发数据。重启时,不发BGP notification;重启后,建立新的TCP会话, 更新RIB和FIB。这通过BGP两个补充去完成:

1.RIB结束标志end-of-RIB marker):

它是一种BGP update消息,不含可达到NLRI,或是withdrawal NLRI是空的。表示路由更新已经结束,它允许BGP对等体在收到它之前保持只读模式。虽然这个可以通过keepalive消息来完成,但并不是所有厂商都遵循。

2.GR能力capability):

它表明对等体使用RIB结束标志。重启路由器为GR restarter;其对等体为GR helper。

当GR restarter重启时,FIB被标志为“过时”stale)。GR restarter会与GR helper重新建立BGP会话,接收并处理对等体发过来的BGP路由更新,可是它会延迟路由选择过程,等到收到所有对等体的RIB结束标志。路由选择完成后,更新转发状态,删除“过时”标记,宣告adj-rib-out,和RIB结束标志。

当GR helper收到GR restarter的BGP会话的TCP reset后,保留并“过时”从该对等体收到的路由信息,也不会发送BGP notification消息。BGP会话重建后,发送路由更新和RIB结束标志。然后收到对方路由更新和RIB结束标志,此时删除FIB“过时”标记。如果在restarter timer内无法重建BGP会话,删除带有“过时”的路由。重启时间restart timer)应该小于保持时间hold timer)。

路由抖动衰减route dampening)

重用阀值(reuse limit,750) < 抑制阀值(suppress limit,2000) < 最大抑制阀值(max suppress limit)

  1. bgp dampening <half-life> <reuse-limit> <suppress-limit> <max-suppress-time> 
  2.  
  3. max-suppress-limit = reuse-limit x 2(max-suppress-time/half-time) 

计算出来的最大抑制阀值必须大于抑制阀值,否则惩罚是无效的。

当所有RR客户属于同一个对等体组peer-group),RR会把一客户发送的前缀反射给所有的客户,包括发起前缀的客户。

团体列表的匹配

  1. ip community-list 1 permit 100:1 100:2  
  2.  
  3. ip community-list 2 permit 100:1  
  4.  
  5. ip community-list 2 permit 100:2 

列表1是逻辑与的关系;而列表2是逻辑或的关系。

而在路由映射match命令:

  1. match community 10 11  
  2.  
  3. match community 10  
  4.  
  5. match community 11 

第1匹配是逻辑或的关系;第2匹配是逻辑与的关系。

BGP的相关概念就为大家介绍完了,希望大家已经掌握。

相关内容