何时使用子网掩码?

何时使用子网掩码?

我电脑上的 NIC 有一个子网掩码。这只是为了它自己的信息吗?还是子网掩码被扔进 TCP/IP 标头中以帮助下一个设备路由它?我猜这只是为了单个设备的信息。提前感谢您的回复!

答案1

IP 和 TCP 均不在其报头中包含子网掩码。

子网掩码用于接收流量 - 如果线路上出现的流量不在接口分配的子网内,则会丢弃该流量。如果接口处于混杂模式,则其接收的所有流量都会发送到 TCP/IP 堆栈。

操作系统使用子网掩码来了解是否应将流量直接引导到目标 IP(如果在子网内)还是引导到(默认)网关(如果不在)。

由于硬件级别的 NIC 传统上发送和接收以太网帧,而不是 IP 数据包,因此我认为这不一定是 NIC 的硬件功能 - 尽管现代 NIC 具有“TCP 卸载引擎”(TOE),可以执行 NIC 本身上 TCP 所需的大部分处理 - 这些可能也会通过硬件中的子网进行过滤。

答案2

与网络接口关联的网络掩码用于以下情况:

  • 通常(但不一定)路由系统会自动创建到接口子网的路由
  • 仅限 IPv4:主机确定接口接收到的数据包是否是到自己子网的广播(并且应如此处理)。

这些选项在文章“网络掩码不匹配的影响“。

网络掩码本身并不直接影响主机是否应将数据包直接发送到目标地址或网关;负责此决定的是路由系统(但如上所述,网络掩码通常用于构建路由表)。

相关内容