欢迎来到通信人在线![用户登录] [免费注册]

子网与子网掩码机制

浏览:3741  来源:通信人在线  日期:2026-11-09

一、子网与子网掩码机制的因由

子网与子网掩码机制是IPv4网络为了解决早期地址设计缺陷而引入的核心机制,其本质是将传统的两级IP地址升级为三级地址结构,从而实现更精细、更高效的网络管理。子网掩码的诞生,源于早期“分类IP地址”设计的结构性缺陷。我们知道,在20世纪80年代之前,IPv4地址被划分为A、B、C等类别,其网络代码与主机代码的位数是固定的。这种“两级地址”结构(网络代码 + 主机代码)在实际应用中暴露了三大问题:地址空间浪费严重、路由表急剧膨胀和灵活性缺乏,具体详见下表1的陈述。

表 1:IPv4地址两级结构带来的局限性

欲详细了解IPv4地址技术内容的请进入。

为了解决这些问题,RFC 950在1985年正式引入了子网划分(Subnetting)的概念。其核心思路是:从IP地址的主机代码部分“借”出若干位,作为新的“子网代码”,从而将两级地址结构{<网络位>, <主机位>}演变为三级结构{<网络位>, <子网位>, <主机位>}。如下图1所示。对外,整个组织仍然表现为一个单一网络;对内,则可以根据需要划分出多个逻辑子网。即为了提高IPv4地址的使用效率,一个网络可以划分为多个子网:采用借位的方式,从主机最高位开始借位变为新的子网位,剩余部分仍为主机位。

图1:带有子网位的IPv4地址结构

子网编址使得IP地址具有一定的内部层次结构,这种层次结构便于IP地址分配和管理。它的使用关键在于选择合适的层次结构,使得网络地址既能适应各种现实的物理网络规模,又能充分地利用IP地址空间(即从何处分隔子网号和主机号来决定)。

二、子网与子网掩码

1、子网

子网编址(Subnet Addressing)技术,又叫子网寻径(Subnetrouting),是最广泛使用的IP网络地址复用方式。通常,32位的IP地址分为两部分,即网络代码和主机代码,分别叫做IP地址的“网间网部分”和“本地部分”。子网编址技术将本地部分进一步划分为“物理网络”部分(即图1中的子网位部分)和“主机位”部分,如图2所示。其中“物理网络”用于标识同一IP网络地址下的不同物理网络,即“子网”。

图2:子网编址原理

2、子网掩码

子网位的子网代码是“借”出来的,但一个IP数据包的首部本身并不包含“借了多少位”这一信息。因此,必须有一个配套的“说明书”来告知设备如何解读地址结构,子网掩码(Subnet Mask)就扮演了这个角色。

子网掩码(Subnet Mask)结构与规则:子网掩码是一个与IP地址等长的32位二进制数,其构成规则极其简洁:网络位(含子网代码)对应位全部置为 1,主机位对应位全部置为 0;并且,这些1和0必须是连续的,即1在前,0在后。

例如,一个C类地址的默认掩码是255.255.255.0(/24),如果借用2位作为子网号,新掩码就是255.255.255.192(/26),二进制形式为...11111111.11000000。再如位模式“11111111 11111111 11111111 00000000”中,前三个字节全1,代表对应IP地址中最高的三个字节为网络地址;后一个字节全0,代表对应IP地址中最后的一个字节为主机地址。为了使用的方便,子网掩码与IP地址一样,使用“点分十进制表示法”。例如B类地址子网掩码(11111111 11111111 11111111 00000000)为255.255.255.0。

IP协议关于子网掩码的定义提供一种有趣的灵活性,允许子网掩码中的“0”和“1”位不连续。但是,这样的子网掩码给分配主机地址和理解寻径表都带来一定困难,并且极少的路由器支持在子网中使用低序或无序的位,因此在实际应用中通常各网点采用连续方式的子网掩码。如上述的255.255.255.0。

3、子网掩码的作用

子网掩码与IP地址结合使用,可以区分出一个网络地址的网络代码和主机代码。子网掩码的核心作用是提取网络地址,这一过程通过子网掩码与IP地址进行按位逻辑“与”运算实现。

逻辑“与”运算规则为:1 AND X = X,0 AND X = 0。

因此,掩码中的1会“保留”IP地址的对应位(网络部分),而0会“屏蔽”IP地址的对应位(主机部分归零),最终的结果就是该IP地址所属的网络地址。

例如,有一个C类地址为192.10.1.18,其缺省的子网掩码为255.255.255.0,则它的网络代码和主机代码可按如下方法得到:

将IP地址192.10.1.18 转换为二进制:     11000000 00001010 0000001 00010010;

将子网掩码255.255.255.0转换为二进制: 11111111 11111111 11111111 00000000;

将两个二进制数逻辑与(AND)运算后得出的结果为11000000 00001010 00000001 00000000,即网络代码为192.10.1.0;

将子网掩码取反再与IP地址逻辑与(AND)后得到的结果即为主机部分:11000000 00001010 0000001 00010010 AND 00000000 00000000 00000000 11111111,逻辑运算结果为00000000 00000000 00000000 00010010,即0 .0.0 .18,得到的主机代码为18。

判断两台主机是否在同一子网,就是看它们各自的IP与掩码进行AND运算后,得到的网络地址是否相同。

欲详细了解相关逻辑运算知识内容的请进入。

三、子网数目与子网掩码

1、子网划分的方法

在实际的网络中,子网的划分有一些通常用的方法,以下给出划分子网和定义子网掩码的规则,步骤如下:

第一步,将要划分的子网数目转换为2的n次方。如要分8个子网,则8=23。

第二部,取上述要划分子网数的2的n次方的幂。如23,即n = 3。

第三步,将上一步确定的幂n按高序占用主机地址n位后转换为十进制。如n为3则是11100000,转换为十进制为224,即为最终确定的子网掩码。如果是C类网,则子网掩码为255.255.255.224;如果是B类网,则子网掩码为255.255.224.0;如果是A类网,则子网掩码为255.224.0.0。

在这里,子网个数与占用主机地址位数有如下等式成立:2n = m。其中,n表示占用主机地址的位数;m表示划分的子网个数。

2、示例

根据上述规则,将一个B类网络分成4个子网。若我们用的网络代码为168.18.10,则该B类网内的主机IP地址就是168.18.10.1~168.18.10.254(因为全“0”和全“1”的主机地址有特殊含义,不作为有效的IP地址),现将网络划分为4个部分,按照以上步骤:4=22,取22的幂,即2,则二进制为11,占用主机地址的高序位即为11000000,转换为十进制为192。这样就可确定该子网掩码为255.255.192.0,4个子网的IP地址范围分别为:

10101000 00010010 00001010 00000001~10101000 00010010 00001010 00111110,即168.18.10.1~168.18.10.62

10101000 00010010 00001010 01000001~10101000 00010010 00001010 01111110,即168.18.10.65~168.18.10.126

10101000 00010010 00001010 10000001~10101000 00010010 00001010 10111110,即168.18.10.129~168.18.10.190

10101000 00010010 00001010 11000001~10101000 00010010 00001010 111111110,即168.18.10.193~168.18.10.254

3、子网数目与子网掩码间的转换

依据上述规则,A、B、C三类网络子网数目与子网掩码的转换表请详见下表3-3-1至表3-3-3所列,可供参考。

表 3-3-1:A类网络子网数目与子网掩码的转换

表 3-3-2:B类网络子网数目与子网掩码的转换

表 3-3-3:C类网络子网数目与子网掩码的转换

四、子网划分的相关参数

掌握了上述原理,就可以推导出子网划分中的关键参数:网络地址、广播地址、可用主机地址范围、可用主机数等,其计算方法详见下表4的介绍。

表 4:子网划分中的关键参数及计算

依据表中的方法,以 192.168.1.10/26(掩码255.255.255.192)为例:主机位为6位(32-26),因此可用主机数为 26 - 2 = 62 台,网络地址是192.168.1.0,广播地址是192.168.1.63,可用范围是192.168.1.1至192.168.1.62。

子网与子网掩码的机制,本质上是为IPv4地址引入了一个可灵活定义的层次维度。子网划分是为了解决地址浪费和路由表膨胀的管理需求;子网掩码则是实现这一需求的技术手段,它通过标准化的位模式,让网络设备能够以“按位与”这一简单高效的运算,从单一的IP地址中动态解析出网络、子网与主机的三级结构。这一设计也为后续更灵活的变长子网掩码(VLSM) 和无分类域间路由(CIDR) 奠定了基础。

欲进一步了解自治系统(AS)与自治系统编码(ASN)的请进入。

百度云服务器
© 2004-2026 通信人在线 版权所有 备案号:粤ICP备06113876号 网站技术:做网站