子网(英語:Subnetwork)这个词有两个相关的含义:其中一个较老的、一般的含义是互联网中的一个物理网络;在因特网协议(Internet Protocol,IP)中,子网指的是从分类网络中划分出来的一部分。本文敘述其第二种含义。

将包含 256 个地址的 200.100.10.0/24 IPv4 地址空间使用子网分割为两个各包含 128 个地址的地址空间 (200.100.10.0/25 和 200.100.10.128/25)

具有相同的前半部分地址的一组IP地址,可以利用地址的前半部分划分组。在一个IP网络中划分子网使我们能将一个至少从逻辑上看上去单一的大型网络分成若干个较小的网络。在最初引入这个概念的时候,IPv4还未引入分类网络这个概念。而引入划分子网这个概念的目的是为了允许一个单一的站点能拥有多个局域网。即使在引入了分类网络号之后,这个概念仍然有它的用处,因为它减少了因特网路由表中的表项数量(通过隐藏一个站点内部所有独立子网的相关信息)。此外它还带来了一个好处,那就是减少了网络开销,因为它将接收IP广播的区域划分成了若干部分。

网络掩码

「网络掩码」又叫「子网掩码」、「地址掩码」、「子网路遮罩」(subnet mask),它是一种用来指明一个IP地址的哪些位标识的是主机所在的网络地址以及哪些位标识的是主机地址的位掩码

通常情况下,子网掩码的表示方法和地址本身的表示方法是一样的。在IPv4中,就是点分十进制四组表示法(四个取值从0到255的数字由点隔开,比如255.128.0.0)或表示为一个八位十六进制数(如FF.80.00.00,它等同于255.128.0.0),后者用得较少。

另一种更为简短的形式叫做无类别域间路由(CIDR)表示法,它给出的是一个地址加上一个斜杠以及网络掩码的二进制表示法中“1”的位数(即网络号中和网络掩码相关的是哪些位)。例如,192.0.2.96/28表示的是一个前28位被用作网络号的IP地址(和255.255.255.240的意思一样)。

子网掩码的好处就是:不管网络有没有划分子网,只要把子网掩码和IP地址进行逐位的“与”运算(AND)即得出网络地址来。这样在路由器处理到来的分组时就可以采用同样的方法。[1]

IPv4子网划分

IPv4地址被分为三部分:网络部分(network)、子网部分(subnetwork,常被认为是网络部分的一部分)和主机(host)部分。共有三IP地址,它们分别指定了各部分占多少位。

类别 起始位 开始 结束 点分十进制掩码
A 0 0.0.0.0 127.0.0.0 255.0.0.0
B 10 128.0.0.0 191.255.0.0 255.255.0.0
C 110 192.0.0.0 223.255.255.0 255.255.255.0

子网的划分是一个将主机部分的若干位分配到网络部分的过程。例如,对于一个给定的A类网络:10.0.0.0,子网掩码:255.0.0.0可以将其划分为256个子网(从10.0.0.0到10.255.0.0)——第一个八位位组表示网络地址,第二个表示子网号,而最后两个表示主机部分。用子网掩码对主机地址进行位与操作,就能够提取出完整的子网地址(参见下面的例子)。

子网掩码并不局限于整数个八位位组的情况。例如,255.254.0.0(或“/15”)同样是一个有效的掩码。如果将它应用到A类地址上,就会产生128个间隔为2的子网(例如1.2.0.1~1.3.255.254,1.4.0.1~1.5.255.254等等)。这情況我們可以說是Class A的network向host“借”了7個bits,也可以說是host向Class B的network“借”了1个bits,后者又称为超級線路網英语Supernetting

非标准子网

子网0

尽管从技术角度来说子网0是无效的,但它仍是可用的。例如以255.255.0.0为子网掩码的子网:1.0.0.0。这个子网有一个问题,就是它对应的单播地址和该A类网络整体对应的单播地址是一样的。

交错子网

参考文献

引用

  1. ^ 谢希仁. 计算机网络. 电子工业出版社. 2008: 131. 

书目

  • MarkA.dye Rick McDonald Antoon W.RUFI 著 2009 思科网络技术学院教程 PP 318

外部链接