路由表中的信息

在“查表判断转发目标”这一点上,路由器和交换机的大体思路是类似的,不过具体的工作过程有所不同。交换机是通过MAC头部中的接收方MAC地址来判断转发目标的,而路由器则是根据IP头部中的IP地址来判断的。由于使用的地址不同,记录转发目标的表的内容也会不同。

路由器中的表叫作路由表,其中包含的信息如图3.13所示。

路由器根据“IP地址”判断转发目标。

最左侧的目标地址列记录的是接收方的信息。这里的IP地址只包含表示子网的网络号部分的比特值,而表示主机号部分的比特值全部为0。路由器会将接收到的网络包的接收方IP地址与路由表中的目标地址进行比较,并找到相应的记录。交换机在地址表中只匹配完全一致的记录,而路由器则会忽略主机号部分,只匹配网络号部分。打个比方,路由器在转发包的时候只看接收方地址属于哪个区,××区发往这一边,××区发往那一边。

在匹配地址的过程中,路由器需要知道网络号的比特数,因此路由表中还有一列子网掩码。子网掩码的含义和第1章的图1.9(b)中介绍的子网掩码基本相同,通过这个值就可以判断出网络号的比特数。

在这里插入图片描述
路由器会忽略主机号,只匹配网络号。

上面这些介绍可以帮助大家大致理解路由器的工作方式,如果要进一步深入,还需要再思考一些问题。刚才我们说过,目标地址列中的IP地址表示的是子网,但也有一些例外,有时地址本身的子网掩码和路由表中的子网掩码是不一致的,这是路由聚合的结果。路由聚合会将几个子网合并成一个子网,并在路由表中只产生一条记录。要搞清楚这个问题,我们还是看一个例子。如图3.14所示,我们现在有3个子网,分别为10.10.1.0/24、10.10.2.0/24、10.10.3.0/24,路由器B需要将包发往这3个子网。在这种情况下,路由器B的路由表中原本应该有对应这3个子网的3条记录,但在这个例子中,无论发往任何一个子网,都是通过路由器A来进行转发,因此我们可以在路由表中将这3个子网合并成10.10.0.0/16,这样也可以正确地进行转发,但我们减少了路由表中的记录数量,这就是路由聚合。经过路由聚合,多个子网会被合并成一个子网,子网掩码会发生变化,同时,目标地址列也会改成聚合后的地址。

在这里插入图片描述
相对地,还有另外一些情况,如将一个子网进行细分并注册在路由表中,然后拆分成多条记录。

从结果上看,路由表的子网掩码列只是用来在匹配目标地址时告诉路由器应该匹配多少个比特。而且,目标地址中的地址和实际子网的网络号可能并不完全相同,但即便如此,路由器依然可以正常工作。

此外,通过上述方法,我们也可以将某台具体计算机的地址写入路由表中,这时的子网掩码为255.255.255.255,也就是说地址中的全部32个比特都为1。这样一来,主机号部分比特全部为0可以表示一个子网,主机号部分比特不全部为0可以表示某一台计算机,两种情况可以用相同的规则来处理[插图]。

路由表的子网掩码列只表示在匹配网络包目标地址时需要对比的比特数量。

关于目标地址和子网掩码我们先讲到这里。接下来在子网掩码的右边还有网关和接口两列,它们表示网络包的转发目标。根据目标地址和子网掩码匹配到某条记录后,路由器就会将网络包交给接口列中指定的网络接口(即端口)[插图],并转发到网关列中指定的IP地址。

最后一列是跃点计数,它表示距离目标IP地址的距离是远还是近。这个数字越小,表示距离目的地越近;数字越大,表示距离目的地越远。

路由表记录维护的方式和交换机也有所不同。交换机中对MAC地址表的维护是包转发操作中的一个步骤,而路由器中对路由表的维护是与包转发操作相互独立的,也就是说,在转发包的过程中不需要对路由表的内容进行维护。

对路由表进行维护的方法有几种,大体上可分为以下两类。

(a)由人手动维护路由记录
(b)根据路由协议机制,通过路由器之间的信息交换由路由器自行维护路由表的记录

其中(b)中提到的路由协议有很多种,例如RIP、OSPC、BGP等都属于路由协议。

  • 5
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
路由表信息表示了计算机如何将数据包从源地址传输到目的地址。下面对路由表信息进行详细解释: 1. 接口列表:表示当前计算机的所有网络接口,包括物理网卡和虚拟网卡等。每个接口都有一个唯一的编号和 MAC 地址。 2. IPv4 路由表:表示 IPv4 数据包的路由表信息。每个路由表项包括以下信息: - 网络目标:表示需要路由的目标网络地址。 - 网络掩码:表示目标网络地址的子网掩码。 - 网关:表示发送数据包到目标网络地址时需要经过的网关地址。 - 接口:表示发送数据包到目标网络地址时使用的网络接口。 - 跃点数:表示从当前计算机到目标网络地址所经过的路由器数量,也称为跳数。 3. 活动路由:表示当前生效的路由表项,其默认路由表项(网关为 0.0.0.0)通常是最重要的一条,它定义了当计算机无法直接访问目标网络地址时的默认路由。 4. 持久路由:表示计算机启动时加载的路由表项,默认情况下,Windows 操作系统只会加载默认网关路由表项,但是可以通过 `route add` 命令添加其他持久路由。持久路由可以用于定义特定网络应该通过哪个网关访问,也可以用于实现网络分流等功能。 通过路由表,计算机可以根据目标地址的网络前缀匹配相应的路由表项,从而找到正确的网关和接口,将数据包发送到目标地址。如果路由表不存在匹配的路由,则计算机将无法访问目标地址。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值