既然IPv4地址已经给出了网络和主机的信息,为什么还需要子网掩码呢?
第一个八位字节已指定网络类别(1-127:A、128-191:B、192-223:C 等)。A、B 或 C 表示网络的八位字节数(分别为 255.0.0.0、255.255.0.0、255.255.255.0),它会自动告诉您每类网络允许的主机数量。
IP 提供了子网掩码所具有的所有信息,等等。为什么我们首先需要子网掩码?如果子网包含的信息不完全是 IP 内部信息的子集,那么它还包含什么或子网还做什么,需要我们独立指定它?
shf*_*301 38
我们需要 IPv4 地址的子网掩码,因为该地址不提供有关网络大小的任何信息。班级大小不是网络大小。在实际网络中,所有 IPv4 网络都被分成小于类大小的子网。
例如,您可以将 C 类网络 200.200.200.0/255.255.255.0 拆分为两个较小的网络(可能位于不同的位置)200.200.200.0/255.255.255.128 和 200.200.200.2525.525.128 和 200.200.200.525.25.125.128 需要的主机数均不超过 25.525。实际上,大多数公司只能为需要在公共 Internet 上的服务器获取足够的 IPv4 地址。我个人见过有 32,16 和 8 个地址网络的设置(分别是 255.255.255.224、255.255.255.240 和 255.255.255.248 的掩码)
仅在类大小块中拥有 IP 网络在限制可以允许的网络数量方面过于严格 - 127 个 A 类网络占用了一半的空间。更不用说拥有 240 亿个节点的网络是完全无法管理的,而是在 1993年引入了无类别域间路由 (CIDR)以允许拆分网络。
另外要明确子网掩码的目的是确定哪些主机在本地网络上,哪些在网络外。主机可以直接与同一网络上的主机通信,但它们需要与路由器通信才能与外部网络上的主机通信。
Dav*_*rtz 22
第一个八位字节已指定网络类别(1-127:A、128-191:B、192-223:C 等)。A、B 或 C 表示网络的八位字节数(分别为 255.0.0.0、255.255.0.0、255.255.255.0),它会自动告诉您每类网络允许的主机数量。
是的,但是如果有人要对该网络进行子网划分,则您需要子网掩码才能知道您所在的子网有多大。 是的,通过有类寻址,该类会告诉您网络的大小,并允许您判断主机与您在同一网络中,但如果该网络已划分子网,没有子网掩码,您如何知道另一个节点是否与您在同一子网中?
假设您在以太网上。我们使用带子网划分的有类寻址。您的 IP 地址是1.2.3.4并且您想要访问1.3.1.1。您是否使用 ARP 到达该地址?嗯,这取决于1.2.3.4和1.3.1.1是否在同一个子网中。即使它们在同一个网络中,如果它们在不同的子网中,也需要使用路由器。如果它们在同一子网中,则应使用 ARP。
因此,如果正在使用子网划分,则您需要子网掩码,即使是有类网络也是如此。
实际上,我认为您将子网划分与 CIDR 混淆了。如果没有 CIDR,即使有子网划分,您也不需要行政区域之间的子网掩码。但是你在网络内部仍然需要它!
小智 8
子网掩码用于结合网络地址对 IP 地址执行一些明智的操作。如果我没记错的话,您可以获取一个 IP 地址并对其和给定网络的子网掩码进行一些明智的处理。如果结果等于网络地址,则 IP 地址在该特定网络上。具有网络地址和子网掩码路由表的路由器可以使用简单的二进制数学运算(即使不是计算机处理的最快,也是非常快的)来找出从哪个接口发送数据包。
除了@Adrian的回答之外,我不确定其中任何一个实际上提到了为什么我们使用掩码而不是一些更容易理解的解决方案——他只提到了掩蔽速度很快的事实,我的意思是为什么不直接指定你是对地址 192.168.1.200-192.168.1.220 感兴趣,或者为什么不直接使用 *.my.address.com 这样的名称,只命名每台计算机而不是分配数字?
实际上,您现在可以在某种程度上完全从路由中删除数字,大多数 PC 可以处理它们发送的流量类型,但在更大规模的设备上仍然存在问题。
像这样的过滤一直在发生,而且发生的次数很多。屏蔽可以在硬件中完成,完全消除了在不感兴趣的数据包上浪费时间的需要(过去 99% 的数据包都是通过线路传输的,现在使用交换集线器,您不应该看到任何不感兴趣的数据包)发送到您的机器,再次使其相关性降低)。
对于硬件上如此简单的解决方案来说,它也非常灵活。相同的硬件可以通过相同的实现路由整个 A 类网络 (10.xxx) 或仅路由一两个 IP 地址。
这并不能替代任何其他答案,只是提供更多信息。
| 归档时间: |
|
| 查看次数: |
65138 次 |
| 最近记录: |