路由表简介

路由表其实是一个小型的数据库,其中的每一笔路由记录,记载了通往每个节点或网络的路径,当路由器收到IP封包时,必须根据IP封包的目的地址,选择一笔合适的路由记录,亦即转送此一IP封包的最佳路径。然后依路径所指定的网络接口,将IP封包转送出去。

8-2-1 路由表的字段

 路由表的字段会因制造厂商及规格而有差异,不过基本上会有以下字段:

1、Network Destination(目的IP地址)  2、Netmask(网络掩码)

3、Interface(接口)           4、Gateway(网关)

5、Metric(成本)

为了方便说明,首先我们仿真一个简化的网络环境:

在上图的环境中,总共有A、B、C、D4个网络,以及R1、R2两部路由器,以下说明将以R1路由器为主轴。由于总共有4个网络,因此我们假设R1路由器中有4笔路由记录,分别记载通往这4个网络的路径以。

接下来便以这4笔记录为例,说明路由表各字段的功能。

Network Destination(目的IP地址)与Netmask(网络掩码)

由于这两个字段的信息必须合起来解读才有意义,因此将之合并说明。

路由记录利用Network Destination(目的IP地址)与Netmask(网络掩码)两个字段来代表的目的IP地址的范围,也就是用来定义目的网络。Network Destination(目的IP地址)为目的网络的Network ID,Netmask则是对应的子网掩码。

以R1路由器则言,通往A、B、C、D等网络的路由记录,其Network Destination(目的IP地址)与Netmask(网络掩码)两个字段值如下(其他字段暂省略);

Network Destination  Netmask    Interface    Gateway    Metric

203.74.205.0     255.255.255.0

203.74.206.0     255.255.255.0

203.74.207.0     255.255.255.0

203.74.208.0     255.255.255.0

请读者注意,路由记录也可用来代表通往某个主机的路径。当路由记录代表单一主机时,Network Destination字段必须填入主机的IP地址,Netmask字段则是255.255.255.255。

假设R1路由器中有一笔A1主机的路由记录,则Network Destination与Netmask,两个字段值如下:

Network Destination  Netmask    Interface    Gateway    Metric

203. 74.205.250   255.255.255.255

A1主机的IP地址

为了节省空间,路由表中的记录,一般都是代表一个网络,代表单一主机的记录则较为罕见。

Interface(接口)

记录路由器本身的网络接口。由于路由器具有多个网络接口中,当路由器决定以某笔路由记录来转送IP封包时,必须将IP封包从该记录指定的接口转送出去。

Network Destination  Netmask    Gateway  Interface    Metric

203.74.205.0     255.255.255.0       203.74.205.1

203.74.206.0     255.255.255.0       203.74.206.1

203.74.207.0     255.255.255.0       203.74.207.1

203.74.208.0     255.255.255.0       203.74.206.1

                    B、D网络是从同一个接口转送出去

Gateway(网关)

 记录要将IP封包转送至哪一部路由器。若目的网络已直接连接在此一路由器,代表毋须再将IP封包转送给其他路由器,因此Gateway(网关)字段填入Interface的IP地址即可。以R1路由器为例,通往A、B、C网络的路由记录,由于这3个网络直接与R1连接,不必再转送给其他路由器,因此Gateway(网关)字段入与Interface相同的IP地址。至于D网络,必须将封包转送给R2路由器,因此Gateway(网关)字段填入R2路由器在B网络的网络接口地址。

Network Destination  Netmask    Gateway    Interface   Metric

203.74.205.0     255.255.255.0  203.74.205.1      203.74.205.1

203.74.206.0     255.255.255.0  203.74.206.1     203.74.206.1

203.74.207.0     255.255.255.0  203.74.207.1     203.74.207.1

203.74.208.0     255.255.255.0  203.74.206.2     203.74.206.1

 



这是R2路由器连接B网络的网络接口地址

 

Metric(度量)

用来度量路径的成本。如果有两笔路由记录的Network Destination(目的IP地址)与Netmask(网络掩码)相同,则路由器会挑选Metric值最小的路径来使用。Metric值通常设为到达目的网络所须经过的HOP(路程段)数目上。

什么是HOP数目呢?IP封包从来源端传送到目的端,途中所经过的路由器数目即是HOP数目上。

IP封包从X传到Y,要经过2个HOP

以R1路由器为例,到A、B、C网络的路径为1个HOP,到D网络则为2个HOP。Network Destination  Netmask    Gateway    Interface    Metric

203.74.205.0     255.255.255.0  203.74.205.1     203.74.205.1    1

203.74.206.0     255.255.255.0  203.74.206.1     203.74.206.1    1

203.74.207.0     255.255.255.0  203.74.207.1 

203.74.208.0     255.255.255.0  203.74.206.2     203.74.206.1    2

经过2部路由器,所以值为2

           

但是,Metric字段并不必然就是代表HOP数目,在不同的路由协议,可能会有不同的意义。例如OSPF协议会根据带宽、延时等因素来计算Metric字段值。因此,Metric字段可说是对于每条路径的加权值,而路由器会优先选择Metric值最小的路径

8-2-2决定路径的步骤

当路由器收到IP封包时,必须为它选择一条最佳路径,其实就是选择一笔最合适的路由记录。以下为路由器选择路径的步骤:

1、  将IP封包的目的IP地址与路由记录的Netmask(网络掩码)做位AND运算。例如:目的IP地址若为203.74.205.33,Netmask(网络掩码)为255.255.255.224,则运算结果为203.74.205.32。


来源地址(十进制) 203      74     205     33

    (二进制)11001011   01001010   11001101  00100001

子网掩码(十进制) 255      255     255     224

    (二进制)11111111   11111111   11111111   11100000

 


运算结果(二进制)11001011   01001010   11001101   00100000

 




2、  将上述结果与路由记录的Network Destination(目的IP地址)比较,若两者相同,才代表IP封包适用该路由记录。若找不到任何适用的记录,则使用默认路由,亦即将封包转送给默认的路由器来处理。

3、  若有多笔符合的记录,则从中找出Netmask字段中最多1的记录。这是因为Netmask字段的1愈多,代表目的网络的规模愈小,因此路径较为精确。假设符合步骤1、2有以下两笔记录:

203.74.205.0/24           Netmaske 24 Bits为1

203.74.0.0/16      Netmaske 16 Bits为1

则路由器会优先使用第1笔记录。

4、  找出Metric值最小的记录。Metric值代表路径的成本,因此路由器会优先使用成本较低的路径。

作业:1、写出路由表各字段的功能是什么

   2、路由器选择路径的步骤有哪些?