谁能告诉我路由器查找路由表的过程(如何查看交换机路由表)

小编:魅力 更新时间:2022-11-17

一、谁能告诉我路由器查找路由表的过程

当路由收到一个数据包的时候,先进行解封装,得到目的地址,例如我们叫常见的192.168.1.10

接着,路由会把这个地址与路由表里的各条路由的掩码匹配,再与该条路由较对,如果匹配,就向这条路由发送出来,如果不匹配,就向下一条路由查找

各条路由查找顺序,根据路由协议的管理距离大小查找,例如直连接口是最小的,管理距离值是0,静态路由是1,那么就先跟直连路由匹配

如果同是直连路由,那就按最小子网匹配

例如有两条路由192.168.1.0/24和192.168.1.10/32

那么就会去到192.168.1.10/32这条路由

简单说就是这样

实际是个很复杂的过程,有兴趣的可以参考一下思科CCNA第二册的教材,说得很详细


二、如何查看交换机路由表

ARP表、交换机转发表、路由表

要弄明白二三转发原理和流程,必须弄清楚ARP表、交换机转发表和路由表,这是数据转发的依据。

由于ARP表和交换机转发表对于管理员来说是透明的,一般很忽视其工作原理,这是我需要注意的学习地方。

所以今天主要是弄明白ARP表、交换机转发表、路由表。

数据最终转发依靠的都是ARP表,他是数据转发最基础的依据。

ARP直接将硬件地址和网络地址相互映射。

数据最终转发依靠的虽然不是路由表,但路由表是一个向导,指引着数据的走向,让数据能跨越网络,ARP表是没有掩码的,是不区分网段的。

以下是我学习结合实验的学习内容小结:

ARP表

1、主机ARP表

主机上查看ARP表:arp -a

主机上删除ARP表:arp -d

主机上ARP表项主要有:

Internet地址(这里是IP地址)

物理地址(这里是MAC地址)

类型(动态或静态,这里是动态)

2、路由器ARP表

路由器上查看ARP表:show arp

路由器上删除ARP表:no arp ……

路由器上ARP表项主要有:

协议(这里是IP协议)

地址(这里是IP地址)

生存时间(?)

硬件地址(这里是MAC地址)

类型(?)

接口(下一跳、出接口)

总结:无论是主机还是路由器,他们的ARP表最重要的是网络地址和硬件地址这两项,最常用的也就是IP地址和MAC地址这两项的映射关系,这是ARP表的本质作用。

路由表

1、主机上的路由表

主机上查看路由表:netstat -r

主机上的路由表项主要有:

目的网络(这里是IP地址)

网络掩码

网关

接口(这里是下一跳地址)

度量值

2、路由器的路由表

路由器上查看路由表:show ip route

路由器上删除路由表:no ip route ……

路由器上的路由表项主要有:

协议类型

网络地址(网段、子网掩码)

下一跳地址、下一跳接口

管理距离、度量值

……

总结:无论是路由器还是主机,他们的路由表都有网络地址、下一跳(地址或接口)、度量值等基本选项。

交换机转发表

交换机转发表(CAM/TCAM)

查看命令:show mac-address-table

交换机转发表表项:

目的地址

地址类型

VLAN

目的端口


三、路由器查询路由表的原则

路由器转发数据时查询的并不是路由表而是转发表!

路由器收集所有端口的路由信息后,后建立路由转发表。

也就是说,收集到的所有路由都会在路由表中,而到达同一目的地址,只有最优路由才会进入路由转发表(为例避免路由环路)。

而路由在转发数据时,使用的是最长匹配原则,举个例子:路由表里有两条路由目的网段分别是172.16.0.0/16和172.16.1.0/24那么当路由器收到一个目的地址为172.16.1.10的地址时,他会优先选择172.16.1.0/24这条路由所匹配的端口转发数据,因为这条路由的掩码较长匹配更精确。