路由器原理( 四 )


3.3 BGP和BGP-4路由协议
BGP是为TCP/IP互联网设计的外部网关协议,用于多个自治域之间 。它既不是基于纯粹的链路状态算法,也不是基于纯粹的距离向量算法 。它的主要功能是与其它自治域的BGP交换网络可达信息 。各个自治域可以运行不同的内部网关协议 。BGP更新信息包括网络号/自治域路径的成对信息 。自治域路径包括到达某个特定网络须经过的自治域串,这些更新信息通过TCP传送出去,以保证传输的可靠性 。
为了满足Internet日益扩大的需要,BGP还在不断地发展 。在最新的BGp4中,还可以将相似路由合并为一条路由 。
3.4 路由表项的优先问题
在一个路由器中,可同时配置静态路由和一种或多种动态路由 。它们各自维护的路由表都提供给转发程序,但这些路由表的表项间可能会发生冲突 。这种冲突可通过配置各路由表的优先级来解决 。通常静态路由具有默认的最高优先级,当其它路由表表项与它矛盾时,均按静态路由转发 。
4.路由算法
路由算法在路由协议中起着至关重要的作用,采用何种算法往往决定了最终的寻径结果,因此选择路由算法一定要仔细 。通常需要综合考虑以下几个设计目标:
(1)最优化:指路由算法选择最佳路径的能力 。
(2)简洁性:算法设计简洁,利用最少的软件和开销,提供最有效的功能 。
(3)坚固性:路由算法处于非正常或不可预料的环境时,如硬件故障、负载过高或操作失误时,都能正确运行 。由于路由器分布在网络联接点上,所以在它们出故障时会产生严重后果 。最好的路由器算法通常能经受时间的考验,并在各种网络环境下被证实是可靠的 。
(4)快速收敛:收敛是在最佳路径的判定上所有路由器达到一致的过程 。当某个网络事件引起路由可用或不可用时,路由器就发出更新信息 。路由更新信息遍及整个网络,引发重新计算最佳路径,最终达到所有路由器一致公认的最佳路径 。收敛慢的路由算法会造成路径循环或网络中断 。
(5)灵活性:路由算法可以快速、准确地适应各种网络环境 。例如,某个网段发生故障,路由算法要能很快发现故障,并为使用该网段的所有路由选择另一条最佳路径 。
路由算法按照种类可分为以下几种:静态和动态、单路和多路、平等和分级、源路由和透明路由、域内和域间、链路状态和距离向量 。前面几种的特点与字面意思基本一致,下面着重介绍链路状态和距离向量算法 。
链路状态算法(也称最短路径算法)发送路由信息到互联网上所有的结点,然而对于每个路由器,仅发送它的路由表中描述了其自身链路状态的那一部分 。距离向量算法(也称为Bellman-Ford算法)则要求每个路由器发送其路由表全部或部分信息,但仅发送到邻近结点上 。从本质上来说,链路状态算法将少量更新信息发送至网络各处,而距离向量算法发送大量更新信息至邻接路由器 。
由于链路状态算法收敛更快,因此它在一定程度上比距离向量算法更不易产生路由循环 。但另一方面,链路状态算法要求比距离向量算法有更强的CPU能力和更多的内存空间,因此链路状态算法将会在实现时显得更昂贵一些 。除了这些区别,两种算法在大多数环境下都能很好地运行 。
最后需要指出的是,路由算法使用了许多种不同的度量标准去决定最佳路径 。复杂的路由算法可能采用多种度量来选择路由,通过一定的加权运算,将它们合并为单个的复合度量、再填入路由表中,作为寻径的标准 。通常所使用的度量有:路径长度、可靠性、时延、带宽、负载、通信成本等 。

推荐阅读