zoukankan      html  css  js  c++  java
  • BGP RR和联邦

        由于IBGP的水平分割问题,所以IBGP需要Full Mesh。由于整个IBGP full mesh的话,需要建的session数为n*(n-1)/2。不具有扩展性。所以产生两种解决方法,路由反射器是其中一种,而另一种则是联邦。

    反射器/RR
    从EBGP邻居学习过来的路由(或RR本地注入的路由)RR不会创建cluster-list,这时候的环路避免依靠的originator-id
    originator-id由第一个RR创建且不能更改,orig-id是以这些路由器的BGP RID
          >本地AS始发路由的BGP宣告者
          >EBGP学习到的路由,就是学习到该路由的边界路由器

    RFC1966中定义了3条RR用来决定要宣告哪条路由的规则,具体使用时取决于路由是如何学习到的。
    1,如果路由学习自非客户IBGP对等体,则仅反射给客户路由器。
    2,如果路由学习自某客户,则反射给所有非客户和客户路由器(发起该路由的客户除外)。
    3,如果路由学习自EBGP对等体,则反射给所有非客户和客户路由器

    总结:
    反射器和它的客户端就组成一个簇
    反射器从簇里的任何路由器学到的路由相当于发起于反射器本身
    反射器除了从非客户端学习过来的路由不传给非客户端以外,其他路由都传(因为非客户端于非客户端之间存在水平分割原则)

    反射器是打破了IBGP的水平分割机制,所以必须有自己的防环机制

    路由反射器的客户并不知道自己是客户。客户和非客户经过路由反射器反射的路由更新将会带上cluster-list和originator,可用于IBGP防环。Cluster-id默认为路由反射器自己的router-id,可以通过命令bgp cluster-id 1.1.1.1来修改,cluster-id为32位的值,可以写成点分十进制,也可以写成十进制数;originator为IBGP内起源路由器的router-id。路由反射器是IBGP的特性,出了IBGP后,路由反射器所有的特性消失(即路由携带的cluster-list和originator全部消失)。

    反射器不会改变路由的下一跳(因为内部的IGP都有路由条目)

    R3(config-router)#nei 2.2.2.2 route-reflector-client (说明R2/2.2.2.2是Local的发射器客户端)
    R3(config-router)#nei 4.4.4.4 route-reflector-client 

    联邦/Confederation
    即是使用一个大的AS号拆分为多个小AS号
    两个小AS之间使用eBGP来发送更新(相当于两个AS号运行EBGP)

    联盟增加了两种类型的AS_PATH属性
    AS_confed_sequence:一个去往特定目的地所经路径上的有序AS号列表,其用法与AS_SEQUENCE完全一样,区别在于该列表中的AS号属于本地联盟中的自治系统。
    AS_confed_set:一个去往特定目的地所经路径上的无序AS号列表,其用法与AS_SET完全一样,区别在于该列表中的AS号属于本地联盟中的自治系统。
    由于AS_PATH发生被用于成员自治系统之间,因而保留了环路预防功能。将Update消息发送给联盟之外的对等体时,将从AS_PATH属性中剥离AS_CONFED_SEQUENCE和AS_CONFED_SET信息,而将联盟ID附加到AS_PATH中。
    Local_preference和MED可以在联邦内传递。联盟内的小AS号,在as-path里显示在小括号里,在as-path计算长度时,不被考虑。下一跳在联邦内传递不会改变。

    Confederation配置的步骤:
    Router bgp 小AS号(私有AS号)
    声明所在的大AS号
    小AS号之间互指peer

    联邦注意事项:
    小AS之间学习过来的路由不再是IBGP路由
    联邦中的AS号不做为选路参考
    C-BGP继承所在AS号内的IBGP属性!比如local-preference / 不改变next-hop

    R1(config-router)#bgp confederation identifier 100


    解决BGP收敛无限循环和BGP路由震荡的解决方案
    使用全互联的iBGP——和路由反射器一样,如果一开始就选择联盟来增强扩展性,那么这种方法也许不能被接受
    打开alway-compare-MED——因为成员自治系统不修改MED,因此应用在路由反射上的设计指南和告诫也同样适用于联盟
    打开deterministic-MED比较——打开确定性的MED比较几乎总是一种好的做法,尽管在某些情况下单独使用这一方法不会解决问题
    把MED值重置为0——这消除了MED对确定路径的影响。应用在路由反射上的设置指南也同样适用于联盟
    使用团体属性——在外部邻居之间交换的团体属性主要是私有团体属性,因此,引用在路由反射上的设计指南也同样适用于联盟
    设置适当的IGP度量——在所有其他的高优先级的比较因子相等的情况下,如果把成员AS内的度量设置为小于成员AS间的度量,那么成员AS内路径将优于成员AS的路径。这就打破了路由选择环路

  • 相关阅读:
    4.变量与运算符
    2.python的基本数据类型
    bzoj 2337: [HNOI2011]XOR和路径
    bzoj 2109: [Noi2010]Plane 航空管制
    bzoj 1566: [NOI2009]管道取珠
    bzoj 3439: Kpm的MC密码
    bzoj 2957: 楼房重建
    十、mysql之索引原理与慢查询优化
    九、MySQL 5.7.9版本sql_mode=only_full_group_by问题
    八、多表查询
  • 原文地址:https://www.cnblogs.com/cyrusxx/p/12824215.html
Copyright © 2011-2022 走看看