你的位置: 首页 > 通信技术 > 计算机网络

路由选择技术

2016-11-02 11:47:06 | 人围观 | 评论:

    1、路由选择算法
    网络互联,使得通信子网为端结点的通信提供了多条传输路径的可能性,端结点主要完成数据的分组和组装,中间结点则基于存储-转发技术,采用一定的算法在多条传输路径中选择一条来,并维持一个路由表来记录有关的路径信息,采用的算法就是路由选择算法。在数据报方式中,网络结点要为每个分组做出路由选择,而在虚电路方式中,只需在连接建立时确定路由。路由选择算法有多种,大致可分成静态算法和动态算法两大类。
    静态路由是在路由器中设置的固定路由表。除非网络管理员干预,否则静态路由不会发生变化。由于静态路由不能对网络的改变作出反映,一般用于网络规模不大、拓扑结构固定的网络中。静态路由的优点是简单、高效、可靠。在所有的路由中,静态路由优先级最高。当动态路由与静态路由发生冲突时,以静态路由为准。
    动态路由是网络中的路由器之间相互通信,传递路由信息,利用收到的路由信息更新路由器表的过程。它能实时地适应网络结构的变化。如果路由更新信息表明发生了网络变化,路由选择软件就会重新计算路由,并发出新的路由更新信息。这些信息通过各个网络,引起各路由器重新启动其路由算法,并更新各自的路由表以动态地反映网络拓扑变化。动态路由适用于网络规模大、网络拓扑复杂的网络。当然,各种动态路由协议会不同程度地占用网络带宽和CPU资源。
    静态路由和动态路由有各自的特点和适用范围,因此在网络中动态路由通常作为静态路由的补充。当一个分组在路由器中进行寻径时,路由器首先查找静态路由,如果查到则根据相应的静态路由转发分组;否则再查找动态路由。
    2、路由选择协议
    在动态路由选择算法中,路由器通过与相邻结点周期地交换路由信息来更新和维护路由表,交换路由信息所使用的协议就是路由协议。
    因特网采用分层次的路由选择协议,之所以采用层次的路由选择协议主要基于以下两点考虑。第一,因特网的规模非常大,如果让所有的路由器知道所有的网络应怎样到达,则这种路由表将非常大,处理起来也太花时间。而所有这些路由器之间交换路由信息所需的带宽就会使因特网的通信链路饱和。第二,许多单位不愿意外界了解自己单位网络的布局细节和本部门所采用的路由选择协议(这属于本部门内部的事情),但同时还希望连接到因特网上。
    为了能够采用分层的路由协议,因特网引入了自治系统 AS的概念。自治系统 AS 的定义:在单一的技术管理下的一组路由器,而这些路由器使用一种 AS 内部的路由选择协议和共同的度量以确定分组在该 AS 内的路由,同时还使用一种 AS 之间的路由选择协议用以确定分组在 AS之间的路由。在AS的基础上,因特网引入了两大类路由选择协议 :
    内部网关协议 IGP (Interior Gateway Protocol) 即在一个自治系统内部使用的路由选择协议。目前这类路由选择协议使用得最多,如路由选择信息协议RIP(Routing Information Protocol) 、开放式最短路径优先OSPF (Open Shortest Path First)、中间系统到中间系统的路由选择协议IS-IS(Intermediate System to Intermediate System Routing Protocol)、Internet组管理协议IGMP(Internet Group Management Protocol)等。
    外部网关协议EGP (External Gateway Protocol) 若源站和目的站处在不同的自治系统中,当数据报传到一个自治系统的边界时,就需要使用一种协议将路由选择信息传递到另一个自治系统中。这样的协议就是外部网关协议 EGP。在外部网关协议中目前使用最多的是边界网关协议BGP-4。

    3、RIP协议
    路由信息协议(RIP)协议是基于DVR距离矢量的路由选择协议。RIP协议中,如果路由器A和网络B直接相连,那么路由器A到网络B的距离就是1。如果从路由器A出发,到达网络B中间需要经过N个路由器,那么路由器A到网络B的距离就是N+1。RIP协议中的距离也称为“跳数”,每增加一个路由器,跳数就加1。
    RIP协议允许一条路径上最多包含15个路由器,因此距离的最大值为16(表示网络不可达),所以RIP协议只适合于小型的网络。在RIP协议中,路由表不但要记录到达目的网络的下一站信息,还要记录到达目的网络的距离(跳数)。
    RIP协议认为距离最小的路就是最好的路,其工作原理如下:
    每个路由器每隔30s给自己的所有的邻居路由器广播RIP报文,报文的内容是这个路由器当前的路由表信息。
    收到邻居路由器的路由表信息后,每个路由器都要更新自己的路由表,填加新的路由表项后更改旧的路由表项。这样下一次就可以将更新后的路由表告诉自己的领居。
    如果180s内没有收到某个路由器的路由表信息,就认为这个路由器出了故障,路由表中所有以这个路由器为下一站的表项中的距离修改为16,表示目的网络不可达。
    经过一段时间后,每个路由器都会知道到达每个网络的路由,构建出完整的路由表。
    4、OSPF协议
    RIP协议比较简单,但只适用于规模较小的网络(跳数<=16)。并且定期广播路由表会耗费比较大的网络资源。开放的最短路径优先OSPF协议(Open Shortest Path First)是对RIP的改进,支持大型的网络。OSPF是基于链路状态的路由协议。 对于一个路由器而言,它的链路状态是指这个路由器与哪些路由器相邻,以及它们之间链路的“度量”。     OSPF使用带宽、延时、负载、距离和费用等多种因素来考虑度量,度量越小,代价越低。链路状态不包含路由信息,只是表明了两个路由器之间的连接状态。 每个路由器都有一个链路状态数据库,记录当前网络的连接状况。
    OSPF支持大型的网络,它将一个自治系统分为若干个区域,每个区域内的路由器相互交换链路状态信息,区域也不能太大,在一个区域内的路由器最好不超过 200 个。 存在一个主干区域,连接各个区域,主干区域负责收集非主干区域发出的汇总路由信息,并将这些信息发送给到各区域。划分区域的好处就是将利用洪泛法交换链路状态信息的范围局限于每一个区域而不是整个的自治系统,这就减少了整个网络上的通信量。在一个区域内部的路由器只知道本区域的完整网络拓扑,而不知道其他区域的网络拓扑的情况。OSPF 使用层次结构的区域划分。在上层的区域叫作主干区域(backbone area)。主干区域的标识符规定为0.0.0.0。主干区域的作用是用来连通其他在下层的区域。
    OSPF由五种类型的分组来完成链路的更新:
    类型1,问候(Hello)分组。
    类型2,数据库描述(Database Description)分组。
    类型3,链路状态请求(Link State Request)分组。
    类型4,链路状态更新(Link State Update)分组,用洪泛法对全网更新链路状态。
    类型5,链路状态确认(Link State Acknowledgment)分组。
    OSPF的工作原理就是由该五类分组完成 :
    每个路由器会周期性地向相邻路由器发送探测报文,检测其是否可达。如果邻站给与应答,说明链路正常;否则说明链路出了故障。
    如果一个路由器检测到某条链路状态发生了变化,该路由器就发送链路状态更新报文,使用泛洪法对全网更新链路状态。所谓泛洪法是指每个路由器收到更新报文后都将这个报文发送给自己的相邻路由器,直到报文送达到整个网络。
    即便链路状态没有发生变化,每隔30分钟路由器要向网络中的其他路由器广播链路状态信息,以确保链路状态数据库与全网保持一致。
    每个路由器收到其他路由器的链路状态信息后,更新链路状态数据库,构建整个网络的拓扑图,利用Dijkstra的最短路径算法计算出到达每个网络的最短路径。
    5、 BGP协议
    BGP 是不同自治系统的路由器之间交换路由信息的协议。 BGP 较新版本是 2006 年 1 月发表的 BGP-4(BGP 第 4 个版本), 可以将 BGP-4 简写为 BGP。因特网的规模太大,使得自治系统之间路由选择非常困难。对于自治系统之间的路由选择,要寻找最佳路由是很不现实的。当一条路径通过几个不同 AS 时,要想对这样的路径计算出有意义的代价是不太可能的。比较合理的做法是在 AS 之间交换“可达性”信息,力求寻找一条能够到达目的网络且比较好的路由(不能兜圈子),而并非要寻找一条最佳路由。
    每一个自治系统的管理员要选择至少一个路由器作为该自治系统的“ BGP 发言人”。
    一般说来,两个 BGP 发言人都是通过一个共享网络连接在一起的,而 BGP 发言人往往就是 BGP 边界路由器,但也可以不是 BGP 边界路由器。一个 BGP 发言人与其他自治系统中的 BGP 发言人要交换路由信息,就要先建立 TCP 连接,然后在此连接上交换 BGP 报文以建立 BGP 会话(session),利用 BGP 会话交换路由信息。BGP 所交换的网络可达性的信息就是要到达某个网络所要经过的一系列 AS。当 BGP 发言人互相交换了网络可达性的信息后,各 BGP 发言人就根据所采用的策略从收到的路由信息中找出到达各 AS 的较好路由。
    BGP-4 共使用四种报文来完成AS之间的会话,分别是:
    打开(OPEN)报文,用来与相邻的另一个BGP发言人建立关系。
    更新(UPDATE)报文,用来发送某一路由的信息,以及列出要撤消的多条路由。
    保活(KEEPALIVE)报文,用来确认打开报文和周期性地证实邻站关系。
    通知(NOTIFICATION)报文,用来发送检测到的差错。

    在 RFC 2918 中增加了 ROUTE-REFRESH 报文,用来请求对等端重新通告。
    BGP具有以下特点:
    可靠的路由更新机制
    丰富的Metric度量方法
    从设计上避免了环路的发生
    支持CIDR(无类别域间选路)
    丰富的路由过滤和路由策略
    周期性发送keepalive报文效验TCP的连通性
    无需周期性更新,路由更新只发送增量路由





标签:

相关内容推荐: