如果我们以 Windows 为例,我们可以使用命令“netstat -rn”来显示路由表,如下所示:
IPv4 Route Table
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
(omit other items..)
192.168.56.0 255.255.255.0 On-link 192.168.56.1 281
192.168.56.1 255.255.255.255 On-link 192.168.56.1 281
192.168.56.255 255.255.255.255 On-link 192.168.56.1 281
我们还可以使用命令“ipconfig”来列出接口,如下所示:
Ethernet adapter Ethernet 3:
(omit other items..)
Connection-specific DNS Suffix . :
Link-local IPv6 Address . . . . . : fe80::e1d6:d479:c8d3:3032%8
IPv4 Address. . . . . . . . . . . : 192.168.56.1
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . :
如果我们向“192.168.56.13”发送一个 ip 数据包,则此 dest ip 地址将与“Netmask(255.255.255.0)”进行与运算,并与 IPv4 路由表中所有项目的“Network Dest AND Netmask”进行比较,并获得接口“192.168.56.1”。
我的问题是从ipconfig得到的接口信息中,还有一个“子网掩码(255.255.255.0)”。“网络掩码”和“子网掩码”有什么不同的用途?从路由表中获取接口以确定“192.168.56.13”是否在同一个局域网(广播域)中后,“子网掩码”是否仅用于另一个 AND 操作?