|
发表于 2012-4-17 10:06:52
|
显示全部楼层
一、第一、二级路由什么意思?
第1级路由:指的是子网掩码等于或小于网络地址有类掩码的路由。如192.168.1.0/24属于第1级路由,因为其掩码等于有类路由。
第1级路由可做以下用途:
默认路由,指地址为0.0.0.0/0的静态路由;
超网路由,指掩码小于有类掩码的网络地址;
网络路由,指子网掩码等于有类掩码的路由。网络路由也可以是父路由;
第1级路由的来源可以是静态路由、直连路由或动态路由
第1级路由可以再进一步的定义为最终路由。最终路由是指包括下一跳或送出接口的路由。
C 192.168.1.0/24 is directly connected, FastEthernet0/0.10
C 192.168.2.0/24 is directly connected, FastEthernet0/0.20
以上两条路由为第一级路由,同时也是最终路由.
172.16.0.0/24 is subnetted, 1 subnets
C 172.16.4.0 is directly connected, FastEthernet0/0
R 192.168.1.0/24 [120/1] via 192.168.2.1, 00:00:00, Serial1/0
C 192.168.2.0/24 is directly connected, Serial1/0
上图中路由表中,我们是通过定义了一个172.16.4.1的一个路由接口后,在路由表中增加了两个条目。第一个条目中不包含下一跳或者送出接口,此路由成为第一级父路由。父路由下面的条目即子路由。也称第二级路由。第二级路由是具体的路由。
二、路由查找过程
当一个路由器收到一个IP报文后,检查目的IP地址,查找路由表,执行路由转发,具体过程如下:
1,路由器根据数据包中的目的IP地址,查找级别1路由:网络路由(包括父路由)、超网路由、默认路由;
2,如果最佳匹配(指的是最长子网掩码)是级别1的最终路由,这条路由被用来转发数据包;
3,如果最佳匹配是级别1中的父路由,继续下一步查找;
4,如果在父路由中找到了匹配,继续查找该父路由下的子路由。
5,如果有一条子路由匹配,这条路由用来转发数据包;
6,如果没有子路由匹配,则看下一条分析:
7,如果路由器执行的是有类路由查找,则执行第八步;如果执行的是无类路由查找,则执行第九步;
8,有类路由查找:终止查询,丢弃数据包;
9,无类路由行为:继续查找级别1的超网路由和默认路由,有匹配就使用超网和默认路由转发数据包
10,没找到超网路由也没配置默认路由,则终止查找丢弃数据包。
三、有类和无类路由行为
有类路由协议查找路由表的行为如下:首先查找目标IP所在的主网络,若路由表中有该主网络的任何一个子网路由的话,就必须精确匹配其中的子网路由;如果没有找到精确匹配的子网路由,它不会选择最后的缺省路由,而是丢弃报文。
无类路由查找,若路由表中不存在该主网络的任何一个子网路由,则最终选择缺省路由。
四、参照前面的一、二、三
五、路由掩码最长匹配原则是指IP网络中当路由表中有多条条目可以匹配目的ip时,一般就采用掩码最长(最精确)的一条作为匹配项并确定下一跳。(也叫最长前缀匹配,是路由器在查找路由表进行选路的算法)
例如,考虑下面这个IPV4的路由表:
192.168.20.16/28 e0
192.168.0.0/16 s0
在要查找地址192.168.20.19时,不难发现上述两条都“匹配”,即这两条都包含要查找的目的地址。此时就应该根据最长掩码匹配原则,选择第一条进行匹配(更明确),所以数据包将通过e0发送出去。
再来看一个例子:
ip route 10.1.0.0 255.255.255.0 192.168.2.2
ip route 10.1.0.0 255.255.0.0 192.168.3.3
ip route 0.0.0.0 0.0.0.0 192.168.1.1
对于三条目标地址10.1.0.14 ,10.1.4.6 ,10.2.1.3
10.1.0.14有两条路由都符合,根据最常掩码匹配原则,下一跳地址应该是192.168.2.2
10.1.4.6 只与第二条路由网段匹配,所以下一跳地址 192.168.3.3
10.2.1.3与那条都不匹配所以扔到默认路由 下一跳 192.168.1.1
|
|