学习子网掩码

article/2025/9/12 1:26:01

一.子网掩码

1.含义

子网掩码(subnet mask)又叫网络掩码、地址掩码、子网络遮罩,它用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。
子网掩码是一个32位地址,用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在广域网上。

2.简介

子网掩码是在IPv4地址资源紧缺的背景下为了解决lP地址分配而产生的虚拟lP技术,通过子网掩码将A、B、C三类地址划分为若干子网,从而显著提高了IP地址的分配效率,有效解决了IP地址资源紧张的局面。另一方面,在企业内网中为了更好地管理网络,网管人员也利用子网掩码的作用,人为地将一个较大的企业内部网络划分为更多个小规模的子网,再利用三层交换机的路由功能实现子网互联,从而有效解决了网络广播风暴和网络病毒等诸多网络管理方面的问题。

3.子网掩码功能

网掩码是一个32位地址,是与IP地址结合使用的一种技术。它的主要作用有两个,一是用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在远程网上。二是用于将一个大的IP网络划分为若干小的子网络。
使用子网是为了减少IP的浪费。因为随着互联网的发展,越来越多的网络产生,有的网络多则几百台,有的只有区区几台,这样就浪费了很多IP地址,所以要划分子网。使用子网可以提高网络应用的效率。
通过计算机的子网掩码判断两台计算机是否属于同一网段的方法是,将计算机十进制的IP地址和子网掩码转换为二进制的形式,然后进行二进制“与”(AND)计算(全1则得1,不全1则得0),如果得出的结果是相同的,那么这两台计算机就属于同一网段。

  • 声明网络地址与主机地址

image-20220429001649387

子网掩码一定是配合IP地址来使用的。对于常用网络A、 B、C 类IP地址其默认子网掩码的二进制与十进制对应关系如表1所示。子网掩码工作过程是:将32位的子网掩码与IP地址进行二进制形式的按位逻辑“与”运算得到的便是网络地址,将子网掩码二进制和IP地址二进制进行逻辑“与”(AND)运算,得到的就是主机地址。如:192.168.10.11 AND 255.255.255.0,结果为192.168.10.0,其表达的含义为:该IP地址属于 192.168.10.0这个网络,其主机号为11,即这个网络中编号为11的主机。

  • 划分子网

子网掩码机制提供了子网划分的方法。其作用是:减少网络上的通信量;节省IP地址;便于管理;解决物理网络本身的某些问题。使用子网掩码划分子网后,子网内可以通信,跨子网不能通信,子网间通信应该使用路由器,并正确配置静态路由信息。划分子网,就应遵循子网划分结构的规则。就是用连续的1在IP地址中增加表示网络地址,同时减少表示主机地址的位数。例如,IP地址为130.39.37.100,网络地址为130.39.37.0、子网地址为130.39.37.0、子网掩码为255.255.0.0,网络地址部分和子网标识部分为“1”所对应,主机标识部分为“0”所对应。 使用CIDR表示为:130.39.37.100/24即IP地址/ 掩码长度。其中第三个字节上的255 所对应的8位二进制数值就是将主机地址位数借给了网络地址部分,充当了划分子网的位数。

4.为什么划分子网

IPv4地址如果只使用有类(A、B、C类)来划分,会造成大量的浪费或者不够用,为了解决这个问题,可以在有类网络的基础上,通过对IP地址的主机号进行再划分,把一部分划入网络号,就能划分各种类型大小的网络了。

二.划分子网计算方式

由于子网掩码的位数决定于可能的子网数目和每个子网的主机数目。在定义子网掩码前,必须弄清楚本来使用的子网数和主机数目。

  • 根据子网数

利用子网数来计算

在求子网掩码之前必须先搞清楚要划分的子网数目,以及每个子网内的所需主机数目。

1)将子网数目转化为二进制来表示

2)取得该二进制的位数,为 N

3)取得该IP地址的类子网掩码,将其主机地址部分的前N位置1 即得出该IP地址划分子网的子网掩码。

如欲将B类IP地址168.195.0.0划分成27个子网:

1)27=11011

2)该二进制为五位数,N = 5

3)将B类地址的子网掩码255.255.0.0的主机前5位置1(B类地址的主机位包括后两个字节,所以这里要把第三个字节的前5位置1),得到 255.255.248.0

即为划分成27个子网的B类IP地址 168.195.0.0的子网掩码(实际上是划成了32个子网)。

  • 根据主机数

利用主机数来计算

1)将主机数目转化为二进制来表示

2)如果主机数小于或等于254(注意去掉保留的两个IP地址),则取得该主机的二进制址168.195.0.0划分成若干子网,每个子网内有主机11111111.11111111.11111100.00000000

3)使用255.255.255.255来将该类IP地址的主机地址地址168.195.0.0划分成若干子网,每个子网内有主机11111111.11111111.11111100.00000000

如欲将B类IP地址168.195.0.0划分成若干子网,每个子网内有主机11111111.11111111.11111100.00000000

  1. 700=1010111100

2)该二进制机地址: 11111111.11111111.11111100.00000000

3)将该B类地址的子网掩码255.255.0.0的主机地址: 11111111.11111111.11111100.00000000

然后再从后向前将后10位置0,即为: 11111111.11111111.11111100.00000000

即255.255.252.0。这就是该域划分成主机量计算法

  • 增量计算法

子网ID增量计算法(即计算每个子网的IP范围)

其基本计算步骤如下:

第1步,将所需的子网数转换为二进制,如所需划分的子网数为“4”,则转换成成二进制为00000100;

第2步,取子网数的二进制中有效位数,即为向缺省子网掩码中加入的位数(既向主机ID中借用的位数)。如前面的00000100,有效位为“100”,为3位(在新标准中只需要2位就可以了);

第3步,决定子网掩码。如IP地址为B类129.20.0.0网络,则缺省子网掩码为:255.255.0.0,借用主机ID的3位以后变为:255.255.224(11100000).0,即将所借的位全表示为1,用作子网掩码。

第4步,将所借位的主机ID的起始位段最右边的“1”转换为十进制,即为每个子网ID之间的增量,如前面的借位的主机ID起始位段为“11100000”,最右边的“1”,转换成十进制后为2^5=32(此为子网ID增量)。

第5步,产生的子网ID数为:2^m-2 (m为向缺省子网掩码中加入的位数),如本例向子网掩码中添加的位数为3,则可用子网ID数为:2^3-2=6个;

第6步,将上面产生的子网ID增量附在原网络ID之后的第一个位段,便形成第一个子网网络ID 129.20.32.0(即第一个子网的起始IP段);

第7步,重复上步操作,在原子网ID基础上加上一个子网ID增量,依次类推,直到子网ID中的最后位段为缺省子网掩码位用主机ID位之后的最后一个位段值,这样就可得到所有的子网网络ID。如缺省子网掩码位用主机ID位之后的子网ID为255.255.224.0,其中的“224”为借用主机ID后子网ID的最后一位段值,所以当子网ID通过以上增加增量的方法得到129.20.224.0时便终止,不要再添加了(只能用到129.20.192.0)。

我们知道当主机ID为全0时表示网络ID,全1时表示广播地址。在RFC950标准中,不建议使用全0和全1的子网ID。

例如把最后一个字节的前3位借给网络ID,用后面的5位来表示主机ID,这样就会产生2^3=8个子网,子网ID就分别为000、001、010、011、100、101、110、111这样8个,在RFC950标准中只能使用中间的6个子网ID。

这么做的原因是:

设我们有一个网络:192.168.0.0/24(即子网掩码的前24位为1,255.255.255.0),我们需要两个子网,那么按照RFC950,应该使用/26而不是/25,得到两个可以使用的子网192.168.0.64和192.168.0.128

对于192.168.0.0/24,网络地址是192.168.0.0,广播地址是192.168.0.255

对于192.168.0.0/26,网络地址是192.168.0.0,广播地址是192.168.0.63

对于192.168.0.64/26,网络地址是192.168.0.64,广播地址是192.168.0.127

对于192.168.0.128/26,网络地址是192.168.0.128,广播地址是192.168.0.191

对于192.168.0.192/26,网络地址是192.168.0.192,广播地址是192.168.0.255

可以看出来,对于第一个子网,网络地址和主网络的网络地址是重叠的,对于最后一个子网,广播地址和主网络的广播地址也是重叠的。在CIDR流行以前,这样的重叠将导致极大的混乱。

三.标注方法

  • 无子网

无子网的标注法

对无子网的IP地址,可写成主机号为0的掩码。如IP地址210.73.140.5,掩码为255.255.255.0,也可以缺省掩码,只写IP地址。

  • 有子网

有子网的标注法

有子网时,一定要二者配对出现。以C类地址为例。

以下一段指定掩码为27位(1111 1111, 1111 1111, 1111 1111, 1110 0000=>255.255.255.224

1.IP地址中的前3个字节表示网络号,后一个字节既表明子网号,又说明主机号,还说明两个IP地址是否属于同一个网段。如果属于同一网络区间,这两个地址间的信息交换就不通过路由器。如果不属同一网络区间,也就是子网号不同,两个地址的信息交换就要通过路由器进行。

例如:

对于IP地址为210.73.140.5的主机来说,其主机标识为5=>00000101,

对于IP地址为210.73.140.16的主机来说它的主机标识为16=>00010000,

以上两个主机标识的前面三位全是000,说明这两个IP地址在同一个网络区域中,这两台主机在交换信息时不需要通过路由器进行。

210.73.60.1的主机标识为1=>00000001,

210.73.60.252的主机标识为252=>11111100,

这两个主机标识的前面三位000与111不同,说明二者在不同的网络区域,要交换信息需要通过路由器。其子网上主机号各为1和252。

2.掩码的功用是说明有子网和有几个子网,但子网数只能表示为一个范围,不能确切讲具体几个子网,掩码不说明具体子网号,有子网的掩码格式(对C类地址)。

四.分类

子网掩码一共分为两类。一类是缺省(自动生成)子网掩码,一类是自定义子网掩码。

  • 缺省子网掩码

缺省子网掩码即未划分子网,对应的网络号的位都置1,主机号都置0。

A类网络缺省子网掩码:255.0.0.0

B类网络缺省子网掩码:255.255.0.0

C类网络缺省子网掩码:255.255.255.0

在缺省掩码下的IP地址中,网络地址和广播地址的计算很简单,虽然按照计算方法需要进制转换和与运算,但是在实际使用当中,我们已经可以快速写出结果。网络地址的计算就是子网掩码中0对应的地方变0, “255”对应的地方不变即可;而广播地址则是子网掩码中0对应 的地方变“255”,“255”对应的地方不变。

  • 自定义子网掩码

自定义子网掩码是将一个网络划分为几个子网,需要每一段使用不同的网络号或子网号,实际上我们可以认为是将主机号分为两个部分:子网号、子网主机号。形式如下:

未做子网划分的IP地址:网络号+主机号

做子网划分后的IP地址:网络号+子网号+子网主机号

也就是说IP地址在划分子网后,以前的主机号位置的一部分给了子网号,余下的是子网主机号。子网掩码是32位二进制数,它的子网主机标识用部分为全“0”。利用子网掩码可以判断两台主机是否在同一子网中。若两台主机的IP地址分别与它们的子网掩码相“与”后的结果相同,则说明这两台主机在同一子网中。

的IP地址:网络号+主机号

做子网划分后的IP地址:网络号+子网号+子网主机号

也就是说IP地址在划分子网后,以前的主机号位置的一部分给了子网号,余下的是子网主机号。子网掩码是32位二进制数,它的子网主机标识用部分为全“0”。利用子网掩码可以判断两台主机是否在同一子网中。若两台主机的IP地址分别与它们的子网掩码相“与”后的结果相同,则说明这两台主机在同一子网中。


http://chatgpt.dhexx.cn/article/ryqn7ELG.shtml

相关文章

# 子网掩码

子网掩码 1、概念简介   子网掩码又叫网络掩码、地址掩码,是一个32位地址,用于屏蔽IP地址的一部分以区别网络号和主机号,并说明该IP地址是在局域网上,还是在远程网上。子网掩码不能单独存在,它必须结合IP地址一起使…

IP与子网掩码

目录 一.IP 1.IP地址 2.IP地址的分类 二.子网掩码 1.子网掩码由32个二进制位表示 2.IP地址和子网掩码作“逻辑与”运算得到网络地址 3.网络中不同主机之间通信 4.A、B、C三类地址的默认子网掩码 5.子网划分的原因 6.子网划分的原理 7.子网掩码及相关参数对应表 8.I…

计算机子网掩码作用,什么是子网掩码?子网掩码的作用是什么?

网络工作人员经常需要处理ip和子网掩码等. 我相信大多数朋友都知道IP的含义,但仍然不了解子网掩码的含义. 希望在了解子网掩码的相关知识的基础上,希望对网络感兴趣的用户能学到一些东西. 什么是子网掩码? 子网掩码也称为网络掩码&#xff0c…

将子网掩码取反_子网掩码

1 基本介绍 子网掩码(subnet mask)是每个使用互联网的人必须要掌握的基础知识,只有掌握它,才能够真正理解TCP/IP协议的设置。以下我们就来深入浅出地讲解什么是子网掩码。 子网掩码——屏蔽一个IP地址的网络部分的“全1”比特模式。对于A类地址来说,默认的子网掩码是255.0.0…

计算机子网掩码在线,子网掩码计算器

华军软件园提供的这款子网掩码计算器可以很方便的计算子网掩码,它包含了五款经典的子网掩码计算工具,您可以自由选择,网管必备!子网掩码计算器可以自动划分A、B、C类IP,可以输出划分后的子网掩码、子网位、最多子网数、主机位、最多主机数以及所有的子网列表,并可以将结果…

计算机子网掩码作用,什么是子网掩码 子网掩码的作用是什么?

网络工作人员经常需要与ip和子网掩码等打交道,相信绝大数的朋友都知道IP的意思,但是还不理解子网掩码的意思,下面装机之家小编来为大家介绍下关于子网掩码的相关知识,希望能够对网络感兴趣的用户有所学习。 什么是子网掩码&#x…

Swift: 实现JSON转Model - HandyJSON

很多时候,我们从服务端请求下的数据都是Json格式,我们需要拿这些数据显示到我们的UI界面。 因此,我们的做法基本都会先将json转为方便使用的数据模型,或者也可以直接转字典解决。 在OC中,我们有很多优秀的第三方库帮助…

项目剖析03-swift 网络请求Moya+HandyJSON+RxSwift

项目第一版网络框架用的是siesta,它的缓存与自动刷新确实很好用而且代码很简洁,但是在文件的上传与下载以及对返回类型需要精确匹配要求这方面就很不友好,所以在第二版的我选择了Moya,它是一个网络抽象层,它在Alamofire基础上提供了一系列的抽…

HandyJSON阅读笔记

2019独角兽企业重金招聘Python工程师标准>>> HandyJSON仓库: https://github.com/alibaba/HandyJSON HandyJSON 花了一天半的时间大概阅读学习了一下阿里巴巴开源的HandyJSON库, 只能说是简单的了解一下, Swift Runtime相关的代码没有深入了解. 但是, 收获还是满满的…

iOS swift Alamofire+HandyJSON网络框架封装

iOS swift AlamofireHandyJSON网络框架封装 我们在学习Objective_C时使用的网络框架是AFNetworkingMJExtension,而在swift中AlamofireHandyJSON取代了它,如果你是第一次学习和尝试封装swift的网络框架,可能会遇到一些坑,但踩过这些…

Swift 类似HandyJSON解析Struct

Swift 类似HandyJSON解析Struct HandyJSON从源码解析Struct获取TargetStructMetadata获取TargetStructDescriptor实现TargetRelativeDirectPointerFieldDescriptor和FieldRecordfieldOffsetVectorOffset计算偏移量 代码的验证 HandyJSON HandyJSON是阿里开发的一个在swift上把…

HandyJSON:Swift语言JSON转Model工具库

背景 JSON是移动端开发常用的应用层数据交换协议。最常见的场景便是,客户端向服务端发起网络请求,服务端返回JSON文本,然后客户端解析这个JSON文本,再把对应数据展现到页面上。 但在编程的时候,处理JSON是一件麻烦事。…

HandyJSON和SwiftyJSON的应用

2019独角兽企业重金招聘Python工程师标准>>> 1. HandyJSON的应用 想要通过HandyJSON实现序列化和反序列化, 必须实现HandyJSON协议, 不需要继承NSObject对象, 实现协议必须实现public init(){} 方法. 序列化和反序列化支持struct和enumerate类型. HandyJSON可支持非…

(时频分析学习)Week01:傅里叶级数,S变换与广义S变换

学习内容:了解了傅里叶变换相关内容,掌握了基本的傅里叶函数的性质、特性和背景。了解S变换和广义S变换的公式和具体含义。 s变换: (在"基准"论文中)意义: 公式: (傅里叶原公式),再有ω2πf 和 f(t)x(t)w(τ-t)进行转换 在另一篇论文中: 广义s变换: 加上了一点关…

解构变换矩阵:如何使变换矩阵分解为位移(T),旋转(R),缩放(S)矩阵

解构变换矩阵 给定一个转换的复合矩阵,关于组成该转换的任何单个转换的信息就会丢失。 我们如果有一个复合矩阵,怎么能使其分解为TRS三个矩阵呢?即如何完成下述变化: 其中M是给定的变换矩阵,T是平移矩阵,R是…

SS2022-Z变换-性质-什么是z变换的时移特性?

简 介: 本文介绍了z变换时移特性。 关键词: z变换,时移特性 #mermaid-svg-EnOHOPxDmWhoesDM {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-EnOHOPxDmWhoesDM .error-icon{fill:#…

【转】传递函数中拉普拉斯变换的s是用来干什么的?

自控书里一上来就到处是s,这个s到底是个什么东西? 好我知道s是拉普拉斯变换出来的,但为什么要搞这样一个变换?这个s的物理意义是什么? 为什么传递函数的极点决定系统的性质? …… 要解答这些问题,首先要从拉普拉斯变换讲起。 -----------------------------------------…

S变换的Python代码

S变换的Python代码 S变换简介S变换Python程序 S变换简介 S变换,又称为Stockwell变换,由R. G. Stockwell于1996年提出。具体的定义如下: S变换在傅里叶域的表示形式为: 离散的S变换为: S变换克服了短时傅里叶变换固…

S变换画图

The S -transform with windows of arbitraryand varying shape 想画如上的三张图,可是问题 (1)滤波窗口的平滑实现 The filter (applied to the full 200£400 S-transform matrix)is constructed in Matlab by constructing a two-dime…

【广义S变换】一维广义S变换对非平稳信号处理的matlab仿真

1.软件版本 matlab2013b 2.本算法理论知识 参考文献: 《广义S变换时频分析的应用研究》 《时频分布与地震信号谱分析研究》 《非平稳信号广义S不变换及其在SAR图像分析中的应用研究》 《S变换时变滤波在去噪处理中的应用研究》 《广义S变换域时频特征分析及微弱目标检测…