网络 – 为什么操作系统需要知道子网掩码?

参见英文答案 > How does IPv4 Subnetting Work?                                    7个
如果我理解正确,操作系统会从DHCP服务器获取子网掩码以及IP和其他内容.这个子网掩码似乎对路由器很重要,因为它知道数据包是从/到LAN还是应该在其他地方发送,或者是从Internet接收的.但为什么操作系统需要子网掩码?操作系统对子网掩码的了解有何作用?
最佳答案
网络配置有三个主要组件:

> IP地址
>网络掩码
>默认网关

操作系统需要知道网络掩码,以确定数据需要传输的位置.您的IP地址与网络掩码一起告诉操作系统本地子网上是否存在目标IP地址,或者它是否存在于子网外部.某些计算机具有多个网络连接,无论是物理(多NIC)还是逻辑(想想VPN).如果没有每个网络的子网掩码,操作系统将无法确定哪个流量应该离开哪个接口.

如果目标存在于您的子网中:

>您的操作系统通过引用其ARP表来确定目标的硬件地址.如果ARP表中没有该地址的条目,则系统发出硬盘广播,该广播被泛洪到第2层网络上的所有设备.拥有IP地址的系统将以其硬件地址(MAC ADDR)响应广播.然后操作系统将发送数据,从而不会离开本地网络.

如果您的子网中不存在目标:

>您的操作系统根据其路由表确定将数据包发送到何处.通常情况下,数据包将以默认网关为目的地.该网关通常是一个路由器,它将使用自己的路由表将数据包发送到最终目的地.发送到默认网关的过程与发送到子网上的其他主机的过程相同.如果网关MAC地址不在ARP表中,它将发送广播以确定网关硬件地址,然后转发帧.

如您所见,子网掩码非常重要,因为它用于确定目标网络的位置,并相应地路由它们.

转载注明原文:网络 – 为什么操作系统需要知道子网掩码? - 代码日志