[CCIE笔记]BGP知识点汇总

来源:互联网 发布:软件无法连接服务器 编辑:程序博客网 时间:2024/05/16 01:26

BGP,边界网关型路由协议。用于在AS与AS之间传递路由信息。

BGP使用TCP单播传路由更新,TCP端口号179.

BGP的状态机与BGP packets

1.Idle

Idle状态为BGP进程的初始化状态,在该状态下为BGP的TCP连接设置重试连接定时器,默认60s。

2.Connect

Connect状态下的BGP进程初始化TCP连接,一旦TCP建立成功,则向邻居发送Open消息,并迁徙到OpenSent状态;若TCP建立失败,则迁徙到Active状态;

3.Active

Active状态下的BGP进程将尝试TCP连接,若TCP建立成功,则向邻居发送Open消息,并迁徙到OpenSent状态;若TCP建立失败,则迁徙到Idle状态,将重试连接定时器翻倍;

4.OpenSent

OpenSent状态下的BGP进程将等待邻居的Open消息,若收到邻居的Open消息,并检验合格后,则向邻居发送Keepalive消息,设置保持时间,根据对等体的AS号确定是eBGP连接还是iBGP连接,然后迁徙到OpenConfirm状态;

5.OpenConfirm

OpenConfirm状态下得BGP进程等待邻居的Keepalive消息,若收到邻居的Keepalive消息,则BGP连接建立,进入Established状态;若收到Notification消息,则断开BGP连接。

6.Established

BGP邻居建立成功,邻居之间互相交换Update、keepalive、Notification

 

BGP属性与BGP路由决策进程 

W > L > L > A > O > M > N > I

1.W       Weight

             cisco私有属性,仅仅在本路由器上有效,默认本地BGP路由weight为32768,从邻居学习到的BGP条目weight为0。

             越大越优先;

2.L        Local_preference

             仅在本地AS内有效,不会传出本地AS。(如果在本地AS内有小联邦存在,Local_preference就是在这整个大的AS内都有效);

             越大越优先,默认100;

3.L        Locally injected

             从本地network进来的路由条目更优;

4.A       AS_PATH

            BGP路由条目携带有它所经过的AS号码组成的AS_path;set as_path prepend只能在eBGP邻居之间做;

            AS_path越短越优;

5.O      Origin

            IGP > EGP > ?(重分布)

6.M      MED

            默认仅仅比较来自同一个AS的BGP条目的MED(如果前面的属性都相等),而不会比较从不同AS学到的去往同一目的地的BGP条目的MED;越小越优

7.N      Neighbor-Type

            eBGP > iBGP

8.I        IGP_to_next-hop

            IGP到下一跳的metric最小的优;

=====================================================

BGP Community

1.Internet(默认,没什么特别的)

2.NO_Export

   携带有该NO_Export团体属性的BGP条目将不会传出本地AS(或者有联邦的大AS);

3.No_Advertised

   携带有该NO_Advertised团体属性的BGP条目将不会被传递给任何一个BGP邻居(iBGP nor eBGP)

4.Local_AS

   该属性与NO_Export属性基本类似,但是不同的是Local_AS属性的BGP路由将被限制在小联邦内,不会传给其他的联邦。


BGP同步

利用同步机制可以防止因IGP信息不足而使得数据包在转接AS中遇到路由黑洞。

BGP同步原理:如果BGP同步被开启,那么在BGP路由器将从iBGP邻居学习到的BGP路由(这些路由是去往其他AS的)通告给eBGP邻居时,将会首先检查IGP是否知道这些BGP路由,如果IGP路由表中没有这些BGP路由信息,那么BGP路由器将不会将这些BGP路由条目放入路由表,也不会将其通告给eBGP邻居。

即IGP表与BGP表必须保持同步状态,BGP知道的网络,IGP必须事先就知道怎么走。


BGP route-reflector-client

原理:

若从客户学习到的路由,则全部反射给自己的客户+非客户;

若从非客户学习到得路由,则仅反射给自己的客户;

所从eBGP邻居学习到得路由,则发射给全部BGP路由器(非客户+客户);

路由反射器及其客户被共同称为cluster。

为了防止可能出现的路由环路或其他路由差错,要求路由反射器不得更改其从客户接收到得路由的属性。

为了解决单点故障问题,一个cluster中可以有多个RR,客户与每台RR之间都有物理连接,而且RR之间也建立了对等关系。

路由反射器必须使用两种BGP路径属性:ORIGINATOR_ID和CLUSTER_LIST。

Cluster_list防环的机制:

当RR将来自客户的路由反射给非客户时,同时将其簇ID附加到Cluster_list中,如果cluster_list为空,则RR将创建一个Cluster_list。RR接收到Update消息后,就会检查cluster_list,如果发现其簇ID位于cluster_list中,就知道出现了路由环路,从而忽略该Update消息。


BGP confederation

联盟是另一种控制大量iBGP对等体的方法。

外部对等体将整个联盟视为单个AS,在整个联盟内部推荐使用保留的AS号(64512~65535)。

在BGP路由决策进程中有一条规则:联盟外部的eBGP路由优于联盟内部成员AS之间的eBGP路由,而成员AS之间的eBGP路由优于iBGP路由。

联盟与标准AS的另一个区别在于某些属性的处理方式不同,NEXT_HOP和MED属性可以不加修改的宣告给联盟其他AS的eBGP邻居,此外还可以传送LOCAL_PRE属性。


BGP路由阻尼

路由翻滚(route flaps)是Internet不稳定的首要因素。当有效路由被重复宣告为无效、有效时就会产生路由翻滚现象。很显然,每次路由状态发生变化时,都要通过互联网宣告该变化情况,进而每台路由器都要重新计算路由,从而消耗了大量的网络带宽和路由器的CPU资源。

路由阻尼(route dampening)是一种阻止不稳定路由传播到整个互联网络的方法。

开启路由阻尼机制的路由器会为每条路由分配一个动态的特征值,用以反映该路由的稳定的程度。当某条路由出现翻动时,将会给该路由分配一个惩罚值,翻动次数越多,累加的惩罚之就越大,惩罚值超出预设的阈值(抑制门限suppress limit),该路由就被抑制,不再对外宣告该路由。惩罚值会在一个半衰期内降低为当前初值的一半,当降低至另一个阈值(重用门限reuse limit)后,才会再次对外宣告该路由。

         最大抑制门限使得某路由在非常短的时间内发动十几次之后,不会将惩罚值累加到很高,使路由始终保持被抑制状态。


cisco路由器默认的各种路由阻尼变量:

l  惩罚值:1000/路由翻滚

l  抑制门限:2000

l  重用门限:750

l  半衰期:15分钟

l  最大抑制时间:60分钟或半衰期的4倍



原创粉丝点击