路由表中存储着网络中的路由信息,包括目标地址、子网掩码、网关、接口等。路由器会将目的地址与路由表中的目标地址和子网掩码进行比对,以确定是否匹配。如果匹配,则表示找到了正确的出口,数据包将被发送到相应的网关;如果不匹配,路由器将继续在路由表中查找,直到找到匹配的路由。
在查找过程中,路由器会按照路由协议的管理距离大小来决定查找顺序。比如,直连接口的路由通常具有最小的管理距离值(0),静态路由的管理距离值为1。因此,路由器会先尝试匹配直连接口的路由。
有时候,即使是直连接口,也会出现多个匹配项。在这种情况下,路由器会按照最小子网匹配的原则进行选择。比如,对于192.168.1.0/24和192.168.1.10/32这两条路由,虽然都是直连接口,但192.168.1.10/32路由的掩码更精确,因此会被优先选择。
在实际操作中,路由表的查询过程非常复杂。为了更好地理解这个过程,可以参考思科CCNA第二册的教材。
接下来,我们来看看交换机路由表。为了弄清楚数据转发的原理和流程,我们需要了解ARP表、交换机转发表和路由表。这些表为数据转发提供了依据。
ARP表是数据转发的最基础依据,它将硬件地址和网络地址相互映射。在主机上,可以使用arp -a命令查看ARP表;在路由器上,可以使用show arp命令查看。路由表则像是一个向导,指引着数据的走向,让数据能够跨越网络。虽然数据最终转发并不依赖于路由表,但路由表的存在对于数据转发至关重要。
主机和路由器上的路由表都包含网络地址、下一跳(地址或接口)、度量值等基本选项。在主机上,可以使用netstat -r命令查看路由表;在路由器上,可以使用show ip route命令查看。
交换机转发表(CAM/TCAM)存储着交换机学习到的MAC地址和端口映射信息。使用show mac-address-table命令可以查看交换机转发表。
最后,我们来看看路由器查询路由表的原则。路由器在转发数据时,使用的是最长匹配原则。比如,当路由表中有172.16.0.0/16和172.16.1.0/24这两条路由时,当路由器收到一个目的地址为172.16.1.10的数据包时,它会优先选择172.16.1.0/24这条路由,因为这条路由的掩码较长,匹配更精确。
总之,路由器查找路由表的过程涉及到多个步骤和原则,理解这些知识对于网络工程师来说至关重要。一、谁能告诉我路由器查找路由表的过程
当路由收到一个数据包的时候,先进行解封装,得到目的地址,例如我们叫常见的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
交换机转发表表项:
目的地址
地址类型
目的端口
三、路由器查询路由表的原则
路由器转发数据时查询的并不是路由表而是转发表!
路由器收集所有端口的路由信息后,后建立路由转发表。
也就是说,收集到的所有路由都会在路由表中,而到达同一目的地址,只有最优路由才会进入路由转发表(为例避免路由环路)。
而路由在转发数据时,使用的是最长匹配原则,举个例子:路由表里有两条路由目的网段分别是172.16.0.0/16和172.16.1.0/24那么当路由器收到一个目的地址为172.16.1.10的地址时,他会优先选择172.16.1.0/24这条路由所匹配的端口转发数据,因为这条路由的掩码较长匹配更精确。