我试图了解设计子网大小的决策过程中需要考虑的因素。根据这张出色的备忘单:
- /24 子网掩码为您提供 65,536 个子网和 254 个主机
- /18 子网掩码为您提供 1,024 个子网和 16,382 个主机
- ETC。
所以出现决定子网掩码大小(例如/24 与 /18)的两个主要因素是:您需要多少个子网,以及您希望该子网有多少个主机可用?
后一个因素对我来说很有意义:如果我知道我正在为一个中型团队划分一个子网,该团队可能有六个应用程序/服务,其中每个应用程序/服务每个环境可能有 3-6 个节点,并且可能有 2 或 3 个不同的环境(开发、QA、生产等),然后我知道该团队大约需要在他们的子网中提供约 90 台主机,因此我可能倾向于为他们提供 /25(126 个可能的主机)子网掩码。
但是,我不明白这个等式中的第一个因素:每个掩码提供的子网数量。/18 子网掩码提供 1,024 个子网,而 /24 子网掩码提供 65,536 个子网。
这到底是什么意思?!凭直觉,它声音就像您可以递归地从子网中再从子网中划分子网,等等。是吗?如果这是真的,那么在设计子网时,您有时会知道子网需要包含多少个子网,这可能是您做出决定的重要因素?我这样说是对的还是错的?
最终,我只是想了解该表中的第三列(“子网数量“),并了解其在确定创建子网时选择的子网掩码/大小时如何/为何发挥作用。
答案1
但是,我不明白这个等式中的第一个因素:每个掩码提供的子网数量。/18 子网掩码提供 1,024 个子网,而 /24 子网掩码提供 65,536 个子网。
子网数量取决于网络本身的大小。如果不知道这一点,这些备忘单就毫无用处。
您链接的备忘单不再“优秀”——它相当老旧;请注意它有单独的“A 类”、“B 类”等表格。当时,如果您有一个 A 类网络(现在为 /8)并将其划分为 /18 大小的子网,那么您确实会有 1024 个子网(10 位宽的子网 ID)。
但是现在您可以直接获得 CIDR 分配,其大小可能是任意的 - 因此您需要类似于乘法表的东西。这可能是一个有用的小抄,可以让你直观地划分网络。(虽然你的表格中仍然有正确的数字,但你可以看到它们不完整– 仅适用于三种特定的起始尺寸。)
计算本身很简单,您可以使用相同的方法计算每个网络的子网数和每个子网的主机数:
- 假设您有一个
/16
并且需要/23
,那么您就有23 - 16 = 7
子网ID的位,因此2⁷ = 128
可能的子网; - 这些
/23
子网有32 - 23 = 9
主机ID位,因此2⁹ = 512
有可能的地址(510个主机)。
仅凭直觉,听起来您可以递归地从子网中再从子网中划分子网,等等。是吗?如果这是真的,那么在设计子网时,您有时会知道子网需要包含多少个子网,这可能是您做出决定的重要因素?我这样说是对的还是错的?
是的,听起来是对的。
但请注意,“网络”或“子网”可以表示路由或在线子网(广播域) - 具体来说,“保留 2 个地址”之类的内容仅适用于最后的后者,而不适用于沿途的路由。
例如,
- 互联网有一条
/12
通向某个 ISP 的路由,覆盖该 ISP 的整个网络; - 然后,ISP 将
/16
子网路由到客户组织(65536 个地址), - 然后将几个
/20
子网络路由到每栋建筑(4096 个地址), - 最后将 赋值
/24
为链接上每个楼层或部门都有子网(256 个地址减去 2 个保留地址 = 每层楼有 254 个可能的主机)。
答案2
您的 IPv4 地址是一个 32 位数字(通常表示得更好一些)。子网掩码决定了其中有多少位用于标识网络,有多少位用于寻址主机。如果您使用 8 位(2^8 = 256)作为主机地址,则剩下 24 位(16,777,216)作为网络地址。您的示例显示 65,536,因为它们假设您有一个 A 类网络,因此您不应该自由选择前 8 位,而应该将它们分配给您。因此,在这 24 位中,您只能使用 16 位来标识网络。
网络课程有点过时了,但今天跨域路由因为静态模型意味着您至少拥有 256 个地址。
以下其他一些问题也有一些很好的、更深入的回答和/或更具说明性的回答: