何时使用子网掩码?


2

我的计算机上的NIC有一个子网掩码。这仅仅是因为它自己的信息吗?或者子网掩码是否被抛入TCP / IP标头以帮助下一个设备上行路由?我猜这只是针对个别设备的信息。感谢您提前回复!

Answers:


1

IP或TCP都不在其标头中包含子网掩码。

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

操作系统使用子网掩码来确定它是应该将流量直接定向到目标IP(如果它在子网内)还是指向(默认)网关(如果不是)。

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


1
你的答案是正确的,但最后一段没有意义。路由器在TCP数据包中接收关于网络掩码的NO信息(你自己在第一行说了这是正确的)。它也不关心目标IP网络掩码。它只是将目标IP本身与其路由表进行匹配,以查看它必须发送到哪个下一跳路由器。 DHCP有什么用呢?路由表通过路由协议学习或静态配置。即使路由器通过DHCP获得其自己的IP地址之一,它也不包含有关路由的信息(下一跳除外...
Tonny

...该接口的网关)。路由器可以将下一跳网关作为“最后的路由”使用任何其他信息。 (这是连接到ISP的客户路由器的典型情况。基础设施路由器通常根本不使用DHCP。)
Tonny

非常正确,一旦我再次阅读那个没有多大意义的话。 (我删除了它。)我在考虑典型的住宅路由器,它从上游电缆/ DSL DHCP获取其WAN IP。
LawrenceC

啊......谢谢@ultrasawblade和Tonny。我理解你所说的完美。我想我要去图书馆买一些网络书!任何建议将不胜感激。谢谢!
pkSML

if traffic appears on the wire that is not within a subnet that the interface is assigned 你的意思是什么?我的电脑只通过一根线连接到我的路由器
CodyBugstein

0

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

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

这些选项详见文章“ 网络掩码不匹配的含义 ”。

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.