别说爱就一个字,你数数你说过几次; 别说程序员好干,你看看你年薪几万!~ 别说你爱的太真,伤的却太深——只要真心的投入就无悔、无怨恨 别说失去的太多,那是不懂得收获;别说爱了又错过,那是你没有去收获住那么硕果!~ 请真心你现在所拥有的一切——守侯住属于你的爱情!FOR ever

分析:路由器的路由选择原理

上一篇 / 下一篇  2008-02-14 10:57:53 / 个人分类:辞海

查看( 130 ) / 评论( 0 )
路由器在诸多路由协议、手工配置和路由策略下,是如何选择最佳路由的?理解这个问题,对于掌握路由器的工作原理大有裨益。   路由选择牵涉到三个方面:1、 各种路由协议的处理,包括rip,igrp eigrp,ospf,is-is,bgp等,每个协议都通过IP数据包在路由器间传递网络的路由信息,为路由表的建立提供信息。2、   路由表,它从路由协议那里接受信息,并为转发数据包提供所需要的信息。3、   转发过程,它从路由表那里请求所需要信息,为正确转发数据包做出决策。     下面从几个方面对此进行讨论。IXPUB技术博客 w6Col4C1a3V4D+Z h
建立路由表
k|3[ v3~_1?L!F5P0        每个路由协议处理路由更新时,选择到目的地址的最佳路由,并试图安装到路由表中。如果只有多个动态路由协议运行,存在争先安装路由的问题。必须有机制来管理路由的安装。该机制就是根据各个路由协议的优先级来决定安装过程。每个路由协议都有缺省的管理距离值,值愈小其优先级愈高。各路由协议的缺省管理距离值如:IXPUB技术博客F(l\P^'x9I
        IXPUB技术博客"X?7r8D5|/l_6p
        
vR fwV$d#Wj0        
"`'_ ju#Q/`s L0IXPUB技术博客to/_R-C1R;Jj){4Y
1.gif
IXPUB技术博客 nO9fT6BVm1K
        
1a%i XQw3f0        IXPUB技术博客;vZ!x2Rb;z4?
        IXPUB技术博客&u6aMJDdG
        假设路由器运行EIGRP、OSPF、RIP、IGRP四种路由协议,它们都得到了到网络192.168.24.0/24的路由,但只有EIGRP(internal)可将其路由安装到路由表中,因为其管理距离值最小,优先权最高。
|eEA3tL'Ag%e9t0备份路由
I ]4IZ#X_6_0        其他协议对于未安装的协议怎么处理?EIGRP安装的路由失败了怎么办?对此有两种解决方法,一是每个路由协议周期性地尝试安装它们的路由到路由表中,如果EIGRP安装的路由失效了,IGRP会将它的相应路由安装到路由表中。另一个办法是将未安装的路由挂靠在路由表中,如果先前安装的路由失效了,将挂靠的路由正式安装到路由表中。        对于没有自身路由信息表的路由协议,比如IGRP,将采取第一种方法,每次收到路由更新都尝试安装到路由表中。        对于EIGRP、IS-IS、OSPF、BGP、RIP这样的有自身路由信息表的路由协议,将采取第二种办法,安装失败的路由将登记在路由表中,当原路由条目失效时,将通知做登记的路由协议的处理进程来安装它们的路由,如果有多个进程来安装,管理距离小的协议优先。
g+xf gu0调整管理距离值
C)E/oo$^5k~0        改变路由协议的缺省距离值是比较慎重的动作,有可能导致路由循环或其他奇怪的问题,必须非常小心!其命令为distance后跟具体的值。也可以只改变从某一协议分布进来的路由的管理距离值。在静态路由的最后也可以跟上一个值,改变原来的缺省值1。IXPUB技术博客r9F9\5B uc
前缀长度IXPUB技术博客Y%dObCy]
        不同前缀长度的路由将视为不同的路由,将同时安装到路由表中,比如三个路由协议分别得到以下路由:l          EIGRP (internal): 192.168.32.0/26 l          RIP: 192.168.32.0/24 l          OSPF: 192.168.32.0/19三个路由的前缀长度(子网掩码)不同,所以得到不同目的网络的路由,同时安装到路由表中。IXPUB技术博客.Xr]n3y
转发决策
)z,[%u3]y.K Y0        先看一下路由器刚才安装的三个路由条目:router#show ip route      ....      D   192.168.32.0/26 [90/25789217] via 10.1.1.1      R   192.168.32.0/24 [120/4] via 10.1.1.2      O   192.168.32.0/19 [110/229840] via 10.1.1.3      如果目的地址为192.168.32.1,将选择哪条路由呢?这依赖于所匹配的前缀长度,最长匹配的前缀长度优先。匹配是用路由条目中的掩码与目的地址相与后再与网络地址比较,相同意味着匹配。该地址与这三条路由都匹配,但第一条匹配的路由前缀(26)最长,所以该包将被转发到10.1.1.1。如果目的地址为192.168.32.100,它与第一条路由不匹配,与第二、第三条路由匹配,所以将被转发到10.1.1.2。具体的路由查找速度依赖于路由表的结构与硬件速度,如采用二叉树结构的路由表,那么32位的IP地址最多查找32次就可以决定是否找到适应的路由条目。
C9f]-`p&]4]"f a0IP CLASSLESS的影响IXPUB技术博客Ur"V5r/ZW/f6L
        该命令只影响转发进程,不影响路由表的建立。看以下的例子:router#show ip route....     172.30.0.0/16 is variably   subnetted, 2 subnets, 2 masksD    172.30.32.0/20 [90/4879540] via   10.1.1.2D    172.30.32.0/24   [90/25789217] via 10.1.1.1S*    0.0.0.0/0 [1/0] via 10.1.1.3                                     假设ip classless命令没有配置,那么:l          到172.30.32.1的包被转发到10.1.1.1,因为该路由是最长匹配。l          到172.30.33.1的包被转发到10.1.1.2,因为该路由是最长匹配。l          到192.30.32.1的包被转发到10.1.1.3,因为无对应的网络路由,用缺省路由转发。l          到172.30.100.1的包无法转发,被丢弃。为什么不用缺省路由?因为该目的地址的主网络部分在路由表中已知,并有子网路由,故路由器查找对应的子网路由,结果没有匹配的路由,最终丢弃该包。如果用IP classless命令进行了配置,那么最终将应用缺省路由将数据包转发到10.1.1.3。
*JpKs;~ ~0总结IXPUB技术博客{U,o2`XaR]3bQ
  数据包的转发决定依赖于三部分的进程:路由协议、路由表、实际的转发交换,这三者的关系图示如下:IXPUB技术博客U OJ2L{*x
IXPUB技术博客 i`&U5z8t

yd8}YMU0IXPUB技术博客4hm"A,u5X]1I
2.jpg
IXPUB技术博客9yu~:BM ~"I

S'od"n U UcN0选择路由时采取最长匹配的原则,而路由协议安装路由的优先级取决于管理距离值

TAG:

我来说两句

(可选)

Open Toolbar