BGP选路原则和选路控制

BGP选路原则

        如果收到同一个目的地址的多条BGP路由,将按照以下顺序进行选择比较:
        1.最高Weight值优先。Weight值为Cisco私有,并且只有本地有效,不会通过BGP ,传播默认weight值为0,本地发起路由为32768。
        2.最高LOCAL_PREF值优先。默认为100。只能通过IBGP传播)
        3.本地发起路由优先。下一跳为0.0.0.0的路由优先。本地发起的路由方式包括:
            1.nework 命令从igp发布
            2.将IGP路由重分布到BGP中
            3.使用summary命令
           使用Network和重分布优先于summary命令

        4.最短AS_PATH优先。AS_SET被认为是1个AS,而无论AS_SET中包含多少个AS,并且BGP联邦内部AS不被计算。AS_PATH会随着穿越的AS而增加,通常也是用入方向的流量控制
        5.最低Origin类型优先。Origin表示路由最初是如何进入BGP路由表的,目前有三种进行BGP路由表的方法,从IGP导入,从EGP学习,以及重分布,它们的优先级为IGP优于EGP,EGP优于Incomplete,即IGP>EGP>Incomplete。
        6.最小MED值。只有当多个下一跳邻居在同一AS时才比较MED值。如果要在多个不同AS的下一跳中比较MED,可在BGP进程中输入命令bgp always-compare-med,注意须保证此命令在整个AS的路由器上输入,否则可能产生路由环路。默认的MED值为0,如果收到一条没有MED的路由,也认为是0。
        7.eBGP优于iBGP。虽然eBGP的路由AD值为20,而iBGP的路由AD值为200,但BGP并不在eBGP与iBGP之间比较AD值,并且在比到此步时,邻居类型才影响了最优路径的选择,这种影响是受邻居类型的影响,而不是受AD值的影响。注意:BGP联邦内部没有此规则。
        8.最小IGP metric到达下一跳的路由。如果多条路径的下一跳邻居同为eBGP或iBGP,则选择拥有最小IGP metric到达下一跳的路由。)
        9.负载均衡。BGP并不是不能负载均衡的,如果之前的属性都无法选出最优路径,且开启负载均衡时,进行负载均衡。
        在开启负载均衡功能时,在BGP进程下输入以下命令:
        maximum-paths n (多条路径的下一跳邻居都为eBGP时,输入此命令)
        maximum-paths ibgp n(多条路径的下一跳邻居都为iBGP时,输入此命令)
        其中n为执行负载均衡的路径数量,最大值为6,默认为1,也就是不执行负载均衡。
        10.如果下一跳都为eBGP,则选择最早学习到的路由(即时间最长的路由)。为了避免路由翻动,所以选择最早学习到的路由,如果要忽略比较路由学习到的时间长短,可在BGP进程下输入命令bgp best path compare−routerid,某些IOS已经自动加入此命令,并且不能删除。如果多条路由拥有相同的Router-ID,比如路由是从同一个邻居学习到的,同样也会忽略比较路由学习到的时间长短。
        11.最低Router-ID下一跳
        12.最短cluster list(如同AS_PATH)
[cluster list只在BGP reflector (RR)的环境下才有,功能如同AS_PATH]
        13.最小下一跳的邻居地址。如果比较之前的所有属性都无法选出最优路径,最终选择下一跳的邻居地址最小的路由,这个地址就是在建立邻居时所指的地址,也是邻居和自己建立TCP连接所使用的源地址,建立不同邻居,不可能使用相同地址,所以不可能两个不同路径的邻居地址是相同的,在这一步一定能够选出最优路径。

BGP选路控制

        选路控制分为出发方向选路控制和入方向选路控制。
        出方向上,通常做法是针对邻居配置入方向route-map ,根据前缀或其他信息修改local-prefence 改变优先级。达到优先目的出方向控制的目的。出方向控制取决于接收的路由条目,接收到的条目越多,可以控制的粒度越细。
         MED在某些情况下也用于出方向的选路控制。举例,AS 号aaaa,和AS bbbb使用option A 建立两条NNI , 为了使用最短路径到达对方AS,可以在ASBR 配置set metric-type internal 将IBGP邻居得到的med发送给对端,对端根据MED值选路。
        入方向通过as-path来一定程度上影响入方向流量,通过as-path prepend命令,增加远端收到as-path长度,如果远端前三个属性相同,则根据as-path长度选择出方向路径。
另外入方向控制还可以通过控制通告前缀长度来影响入方向流量。例如,有A,B出口,前缀是47.77.124.0/24, 可以向A通告47.77.124.0/25,47.77.124.0/24,向B通告47.77.124.128/25,47.77.124.0/24。这样47.77.124.0/25就会从A方向进入,47.77.124.128/25就会从B方向进入。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值