详解路由表
1.概述
在计算机网络中,路由器的主要工作就是为经过路由器的每个数据包寻找一条最佳的传输路径,并将该数据有效地传送到目的站点。为了能够实现从众多路径中选择最佳的传输路径,路由器中保存了周边网络的拓扑信息和各种路径参数,我们将这张表称作路由表。路由表(routing table)或称路由择域信息库(RIB, Routing Information Base),是一个存储在路由器或者联网计算机中的电子表格(文件)或类数据库。路由表存储着指向特定网络地址的路径(在有些情况下,还记录有路径的路由度量值)。路由表建立的主要目标是为了实现路由协议和静态路由选择。
在每一个路由器设备中,通常都维护了两张比较相似的表,分别为:
- 路由信息表,简称为RIB表、路由表
- 转发信息表, 简称为FIB表、转发表
路由表(RIB表)用来决策路由;转发表用来转发分组🎡
2.命令
查询RIB表:
┌──(root㉿kali)-[~/Desktop]
└─# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.18.2 0.0.0.0 UG 10000 eth0
192.168.18.0 0.0.0.0 255.255.255.0 U 10000 eth0
查询FIB表:
┌──(root㉿kali)-[~/Desktop]
└─# route -F
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.18.2 0.0.0.0 UG 10000 eth0
192.168.18.0 0.0.0.0 255.255.255.0 U 10000 eth0
由于是主机设备,路由表比较简单,且不存在多个出接口,因此FIB表和RIB是相同的。
3.路由表项内容
**目的网络地址(
Destination
) + 子网掩码(
Genmask
)**
网络地址和网络掩码共同确定本机可以达到的目的网络范围
通常情况下,目的网络范围包含以下几种情况:
- 主机地址:某个特定主机的网络地址
- 子网地址:某个特定子网的网络地址
- 默认路由:所有未在路由表中指定的网络地址,用0.0.0.0统一匹配,用于配置默认网关(kali虚拟机中默认路由显示为default)
**网关(
Gateway
)+ 下一跳(
Next Hop
)**
**接口(
Iface
)**
接口定义了针对特定的网络目的地址,路由器用于转发数据包的出接口。即用来确定数据包从哪个网口上发送到下一跳设备
**跳数(
Metric
)**
跳数用于指出路由的成本,通常情况下代表:到达目标地址所需要的总路由器个数,一个跳数代表经过一个路由器,IP数据报首部中的TTL字段就是该数据报所能存活的总跳数。跳数越少往往代表着该路由成本越低,跳数越多则说明成本越高。当具有多条达到相同目的网络的路由选项时,路由算法会选择具有更少跳数的路由
**标志(
Flags
)**
路由表中常见的flag标记有:
- U:路由是动态的;
- H:目标是一个主机;
- G:路由指向网关;
- R:恢复动态路由产生的表项;
- D:由路由的后台程序动态安装;
- M:由路由的后台程序修改;
- !: 拒绝路由。
**引用次数(
Ref
)**
Linux内核中未使用,一般是0
**查询次数(
Use
)**
此路由项被路由软件查找的次数
版权归原作者 世界尽头与你 所有, 如有侵权,请联系我们删除。