《OSPF和IS-IS详解》一2.5 路径决策过程

2.5 路径决策过程

BGP设计与实现
BGP经过一个复杂的算法来决定最佳路径并更新BGP RIB和IP RIB。正如前面所提到的,BGP是一个策略工具。它的重要性通过BGP利用属性和其他参数来选择最佳路径的过程最能说明。

当存在多条到达特定目的地的有效的BGP路径时,IOS将会根据收到它们的相反顺序列出这些路径。也就是说,最新的路径将被列在最开始,而最老的路径则被列在末端。在命令show ip bgp的输出中,最新的路径被列在最上面,而最老的路径被列在最下面。对于给定的一个目的地,为了选择最佳路径,BGP通常使用顺序比较的方法。它指定第一条路径(最新的路径)作为当前的最佳路径,然后比较当前的最佳路径和列表中的下一条路径,直到比较到有效路径列表的末端。例如,BGP顺序接收到3条路径——1、2和3——BGP首先比较路径3(最后接收到的)和路径2。接着,得出的最佳路径再与路径1(最早接收到的)相比较。这样,第二次比较得出的最佳路径就成为到达目的地的最终的最佳路径。

如果一条路径满足下列任一条件,那么它在最佳路径选择过程中就不是有效的候选者:

  • 路径的下一跳不可达;
  • 路径未同步,但同步功能被启用了;
  • 路径被入境BGP策略所拒绝,并且路由器配置了入境温和重置(soft reset);
  • 路由被惩罚(dampened)。

当前,Cisco IOS软件的路径选择有13步(www.cisco.com/warp/customer/459/25.shtml)。每一步都会被顺序评估,直到找到一条优选路径为止:

1.WEIGHT是首先考虑的参数。WEIGHT值最高的路径优先。WEIGHT是Cisco专有的参数,并且对配置这个参数的路由器来说是本地有效的。默认条件下,本地始发的路径具有相同的WEIGHT值(即32768),所有其他的路径的WEIGHT值为0。

2.LOCAL_PREF值最高的路径优先。Cisco IOS软件中,LOCAL_PREF的默认值为100。

3.基于始发地(origination)评估路由,路由器本地始发的路径优先。依次降低的优先级顺序是:default-originate(针对每个邻居配置)、default-information-originate(针对每种地址簇配置)、network、redistribute、aggregate-address。

4.评估AS_PATH的长度,AS_PATH列表最短的路径优先。但是,可以通过配置bgp bestpath as-path ignore(隐藏的命令)来跳过这一步。

在评估路径长度时,记住以下要点:

  • 一个AS_SET被计数为1,而不管“set”中包含多少个自治系统;
  • AS_CONFED_SEQUENCE不包括在AS_PATH长度中。

5.这一步评估路由的ORIGIN属性,ORIGIN类型最低的路径优先。IGP低于EGP,EGP低于INCOMPLETE。

6.评估MED。MED值最小的路径胜出。默认条件下,只有在两条路径的第一个(邻近的)AS相同的情况下才会进行比较操作;任何联盟子自治系统都被忽略。换句话说,对于多条路径,只有在AS_SEQUENCE中的第一个AS相同的情况下,才会比较MED;任何打头的AS_CONFED_SEQUENCE都将被忽略。如果激活了bgp always-compare-med,那么对于所有路径都将比较MED,而不考虑它们是否来自于同一个AS。如果你使用了这个选项,就应该在整个AS中都这么做,以避免路由选择环路。

注意以下MED的更改选项:

  • 配置了bgp deterministic-med后,不管收到前缀的顺序如何,MED比较的结果都是一致的。在这种配置下,所有的路径都将基于邻近的编组。在每一个AS组内,根据MED的大小对路径进行排序。MED值最小的路径被选为该组的最佳路径。最终的最佳路径是所有选出的路径中具有最小MED值的路径(译者注:这句话值得商榷,参见Cisco文 档http://www.cisco.com/en/US/tech/tk365/technologies_tech_
    note09186a0080094925.shtm1)。如果存在MED,那么这是一种建议的配置。
  • 如果激活了bgp bestpath med-confed,对于所有只包含AS_CONFED_SEQUENCE的路径来说才比较MED,也就是说,这些路径是始发于本地联盟的。注意,如果一条路径包含了任何外部的自治系统,那么这条路径就不参与比较,而它的MED在联盟内部被传递时不被改变。
  • 如果接收到的路径没有MED,就把它的度量指定为0,除非激活了bgp bestpath missing- as-worst,在这种情况下,这些路径的度量值被指定为4 294 967 294(最大值)。这主要是考虑到对旧标准的兼容性。

7.外部BGP(eBGP)路径优于内部BGP(iBGP)路径。包含AS_CONFED_SEQUENCE的路径对于联盟来说是本地的,因此被看作是内部路径。在路径选择过程中,联盟外部(Confederation External)路径和联盟内部(Confederation Internal)路径没有差别。

8.BGP优先选择到BGP下一跳的IGP度量最低的路径。这一步使得本地拓扑信息被考虑进去。

9.如果配置了maximum-paths [ibgp]n,这里的n在2~6之间,并且存在多条等价成本的路径(对于多条路径,以上1~6步的比较结果都相同,而且AS_PATH也相同),那么BGP会在IP路由选择表中插入最多n条接收到的路径。这就激活了BGP多路径负载分担(multipath load sharing)特性。如果没有使用可选关键字ibgp,那么多路径特性就仅仅应用于eBGP路径,或来自于同一个邻居AS或子AS的联盟外部路径。当不激活这一选项时,它的默认值为1。

10.当两条路径都是外部路径时,BGP将优先选择最先收到的路径(最老的路径)。这一步能最小化路由抖动,因为新路径即使在基于另外的决策准则(在第11、12和13步中讲述)下是优先的路径,也不会替代老路径。

如果以下任一条件为真,这一步将会被忽略:

  • 启用了bgp bestpath compare-routerid命令;
  • 多条路径具有相同的路由器ID,因为这些路由都是从同一台路由器接收过来的;
  • 当前没有最佳路径。缺乏当前最佳路径的例子发生在正在通告最佳路径的邻居失效的时候。

11.BGP优先选择来自于具有最低的路由器ID的BGP路由器的路由。路由器ID是路由器上的最高IP地址,并且优选环回地址。也可以通过bgp router-id命令静态地设定路由器ID。如果路径包含RR属性,那么在路径选择过程中,就用ORIGINATOR_ID来替代路由器ID。

12.如果多条路径的始发路由器ID或路由器ID相同,那么BGP将优选CLUSTER_LIST长度最短的路径。这种情况仅仅出现在BGP RR的环境中。当一个客户与其他簇中的RR或客户形成对等关系时,该客户可以使用CLUSTER_LIST长度来选择最佳路径。为了采用这一步,客户必须能感知RR特定的BGP属性。

13.BGP优选来自于最低的邻居地址的路径。这是BGP的neighbor配置中所使用的IP地址,并且它对应于与本地路由器建立TCP连接的远端对等体。

时间: 2024-09-19 08:52:57

《OSPF和IS-IS详解》一2.5 路径决策过程的相关文章

Spring配置文件详解 - applicationContext.xml文件路径

Spring配置文件详解 - applicationContext.xml文件路径 Java编程 超过1579次围观 spring的配置文件applicationContext.xml的默认地址在WEB-INF下,只要在web.xml中加入代码  <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </listener

蒋耀详解上广电重组路径:坚持四大原则齐头并进

王如晨 蔡越 "看样子,还能来两个 涨停."昨天A股收盘后,股民张晖忍不住用手机上网打开了广电电子(600602.SH).广电信息(600637.SH)两只股票.她一度担心的局面没有发生,在6月8日上广电集团重组方案(预案)披露后,作为上广电集团下属上市公司,这两家企业的股票已连续两天涨停. 这两家企业因剥离了间接亏损源及非核心资产,业务变得清晰起来.而随着上海仪电控股对上广电发出收购要约,这两家公司还有望靠上上海仪电控股这家国企改革平台公司.不过,将上广电集团拖入亏损泥潭的第五代线项

侯纪磊详解高通物联网路径:集成再集成 做大生态链

在今天召开的"2017中国通信行业物联网大会"上,美国高通公司高级研发总监.中国区研发中心负责人侯纪磊指出,海量物联网将会成为移动通信产业发展的重要方向之一. 但要真正的实现5G愿景中所定义的海量物联网,还需要在节能低功耗.远程和低复杂性等几个维度进行前进.以低功耗为例,现在的模组只能支持几个月,而未来则需要达到5到10年的寿命:在远程方面,则需要满足多样性和广泛性的场景需求:在复杂度方面,主要是实现不同标准之间的融合发展,做大产业链. 侯纪磊说,海量物联网虽然是5G所定义的愿景,但垂

JAVA获取CLASSPATH路径的方法详解_java

ClassLoader 提供了两个方法用于从装载的类路径中取得资源: public URL getResource (String name); public InputStream getResourceAsStream (String name);        这里name是资源的类路径,它是相对与"/"根路径下的位置.getResource得到的是一个URL对象来定位资源,而getResourceAsStream取得该资源输入流的引用保证程序可以从正确的位置抽取数据.     

OSPF OE2和OE1外部路由的详解

从OSPF的ASBR重分发的外部路由,会生成OE1和OE2的两类路由在OSPF区域中进行传递. cisco默认的外部路由的类型是OE2.默认的metric=20,不会根据链路的cost进行累加. 而OE1必须要经过手工指定以后才能在OSPF区域内进行传递.在该文档中会把OE1和OE2通过实验都详细验证一次,然后看看区别在哪里,最后还有一个关于OE2路由的问题是forward metric,这个知识点很少用到,但是需要了解.算是一个高级知识点吧. 好了,下面来看看OE1和OE2的区别. 下面是实验

《OSPF和IS-IS详解》一第1章 链路状态路由协议之由来

第1章 链路状态路由协议之由来 OSPF和IS-IS详解 本书的开篇方式极为特别.只要读者愿意,第1章可略过不读.若读者只准备了解OSPF和IS-IS技术方面的内容,请直接阅读第2章.本章不涉及技术内容,为非必读章节.作者之所以非要在这里说一说与链路状态路由协议有关的历史故事,理由很简单,那就是作者对某些事物的关注程度甚至还要超过网络技术,而历史正是其中之一.研究历史不但能帮助我们以正视听,而且还能使我们免遭满嘴谎言的奸商.政客以及其他奸诈小人的蒙蔽.专注于技术,通晓某些网络协议的运作方式固然是

《OSPF和IS-IS详解》一1.5 ARPANET内的路由选择

1.5 ARPANET内的路由选择 OSPF和IS-IS详解 1983年,在ARPANET内,人们展开了把网络协议从NCP切换成TCP/IP的割接工作.当时,有两拨研究人员同时都在使用ARPANET,分别来自军方和非军方(大学或企业).就人数而论,第二拨人要多得多,有很多大学生也在学着掌握或使用计算机网络,这反过来又对整个计算机行业产生了影响.此外,还有很多人出于非研究性的目的而使用计算机网络,比如,玩网络游戏.由于使用网络的用户群日渐庞大,美国国防部开始考虑网络的安全性问题,并将军用节点都迁移

《OSPF和IS-IS详解》一6.1 OSPF数据库同步

6.1 OSPF数据库同步 OSPF和IS-IS详解 读至本章,读者想必知道,OSPF协议是一种结构性很强的路由协议.既然读者都清楚OSPF数据库同步的可靠性和精确性是如此重要,那么也就不会对用来管理OSPF数据库同步过程的状态机(名为邻居状态机)的复杂程度感到惊讶了.简而言之,在数据库同步过程中,邻居状态机会驱动(OSPF路由器)采取以下"行动". 1.当相邻的两台路由器决定彼此建立邻接关系时,会进行分工:一台起"主导"作用,另外一台会进行"配合&quo

《OSPF和IS-IS详解》一第6章 链路状态数据库同步6.1 OSPF数据库同步

第6章 链路状态数据库同步 OSPF和IS-IS详解 有一句话作者此前曾反复提及,现在再说一遍:链路状态路由协议的"精髓"在于,隶属同一区域的每台路由器都会根据存储在一个公共拓扑数据库里的信息,执行本机路由计算.因此,在同一区域内,每台路由器所存储的拓扑数据库的内容必须完全一样.路由器之间相互同步链路状态数据库的目的正是为此.在OSPF或IS-IS网络中,路由器只要上线运行,就必须与邻居路由器进行数据库同步,以确保各自所持数据库的内容完全相同.若路由器刚接入点到点链路,便会与链路对端的

OSPF 实验详解(3)

OSPF实验步骤:2. 配置R4的辅助地址Router(config)#intf1/0 Router(config-if)#ipadd192.168.6.1255.255.255.0secondary Router(config-if)#exit498)this.w idth=498;' onmousewheel = 'javascript:return big(this)' height=75 alt="OSPF 实验详解" src="http://images.51cto