学习笔记——IP地址网络协议——网络掩码(Netmask)

三、网络掩码(Netmask)

1、网络掩码概述

网络掩码(Netmask)又称子网掩码(Subnet Mask)网络掩码为32 bit,与IP地址的位数一样,通常也以点分十进制数来表示。

子网掩码不能单独存在它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分

说的通俗的话,就是用来分割子网和区分哪些IP是同一个网段的,哪些不是同一网段的

通常将网络掩码中1的个数称为这个网络掩码的长度。如∶掩码0.0.0.0的长度是0,掩码252.0.0.0的长度是6。

网络掩码一般与IP地址结合使用,其中值为1的比特对应IP地址中的网络位;值为0的比特对应IP地址中的主机位,来识别一个IP地址中的网络位与主机位。

即:网络掩码中1的个数就是IP地址的网络号的位数,0的个数就是IP地址的主机号的位数。

(1)子网掩码的组成

同IP地址一样,子网掩码是由长度为32位二进制数组成的一个地址。

子网掩码32位与IP地址32位相对应,IP地址如果某位是网络地址,则子网掩码为1,否则为0

IP地址:192.168.1.111 子网掩码:255.255.255.0

①转换为二进制 

1100 0000. 1010 1000. 0000 0001. 0110 1111   地址

1111 1111. 1111 1111. 1111 1111. 0000 0000   掩码

②子网掩码为1 所对应的IP地址那一位,则为网络位,子网掩码为0 所对应的位主机位。 24位网络位 8个主机位

注:左边连续的1的个数代表网络号的长度,(使用时必须是连续的,理论上也可以不连续),右边连续的0的个数代表主机号的长度。

(2)子网掩码的表示方法

①点分十进制表示法  二进制转换十进制,每8位用点号隔开

例如:子网掩码二进制11111111.11111111.11111111.00000000,表示为255.255.255.0

②CIDR斜线记法  IP地址/n

例1:192.168.1.100/24,其子网掩码表示为255.255.255.0,二进制表示为11111111.11111111.11111111.00000000

例2:172.16.198.12/20,其子网掩码表示为255.255.240.0,二进制表示为11111111.11111111.11110000.00000000

不难发现,例1中共有24个1,例2中共有20个1,所以n是这么来的。运营商ISP常用这样的方法给客户分配IP地址。

注:n为1到32的数字,表示子网掩码中网络号的长度,通过n的个数确定子网的主机数=2^(32-n)-2(-2的原因:主机位全为0时表示本网络的网络地址,主机位全为1时表示本网络的广播地址,这是两个特殊地址)。

在实际项目中,我们通常会遇到这样的IP地址。

  ip地址:192.168.1.1 子网掩码:255.255.255.0

  ip地址:192.168.1.2 子网掩码:255.255.255.0

案例1:我们可以直接的判断,他们是同属于一个网段的IP地址。那么对于下面这样的呢?

  ip地址:192.168.1.1 子网掩码:255.255.255.0

  ip地址:192.168.1.2 子网掩码:255.255.0.0

这两个ip地址虽然在不看掩码的情况下,比较像,但他们并不是同一个网段内的。这个可以从子网掩码来判断,

  192.168.1.1   255.255.255.0  是属于192.168.1.0网段。

192.168.1.2   255.255.0.0    是属于192.168.0.0网段。

2、子网掩码作用

①子网掩码(Subnet Mask)又叫网络掩码、地址掩码,必须结合IP地址一起对应使用。

②只有通过子网掩码,才能表明一台主机所在的子网与其他子网的关系,使网络正常工作。

③子网掩码和IP地址做“与”运算,分离出IP地址中的网络地址和主机地址,用于判断该IP地址是在本地网络上,还是在远程网络网上。

④子网掩码还用于将网络进一步划分为若干子网,以避免主机过多而拥堵或过少而IP浪费。

3、子网掩码的分类

(1)缺省(默认)子网掩码

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

"有类编址"的地址划分过于死板,划分的颗粒度太大,会有大量的主机号不能被充分利用,从而造成了大量的IP地址资源浪费。

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

A类网络缺省子网掩码: 255.0.0.0,用CIDR表示为/8

B类网络缺省子网掩码: 255.255.0.0,用CIDR表示为/16

C类网络缺省子网掩码: 255.255.255.0,用CIDR表示为/24

(2)自定义子网掩码

将一个网络划分子网后,把原本的主机号位置的一部分给了子网号,余下的才是给了子网的主机号。即VLSM(Variable Length Subnet Mask),可变长子网掩码。将一个大的有类网络,划分成若干个小的子网,使得IP地址的使用更为科学,减少地址浪费。

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

举个栗子:192.168.1.100/25,其子网掩码表示:255.255.255.128

意思就是将192.168.1.0这个网段的主机位的最高1位划分为了子网。

4、网段

网段(network segment):在没有路由器的情况下,两个网络之间是不能进行TCP/IP通信的,

即使是两个网络连接在同一台交换机(或集线器)上,TCP/IP协议也会根据子网掩码(255.255.255.0)判定两个网络中的主机处在不同的网络里。

子网掩码和IP地址的关系

子网掩码是用来判断任意两台主机的IP地址是否属于同一网络的依据,就是拿双方主机的IP地址和自己主机的子网掩码做与运算,如结果为同一网络,就可以直接通信。

And按位与运算:

与运算是计算机中一种基本的逻辑运算方式,符号表示为&,也可以表示为 and。

参加运算的两个数据,按二进制位进行“与”运算。

运算规则:0&0=0;0&1=0;1&0=0;1&1=1;即:两位同时为“1”,结果才为“1”,否则为0

举例:192.168.1.1-192.168.1.2就是一个网段,类似于一个ip到另一个ip。是否同一网段判断:

要在同一网段,必须是网络标识(网络号)相同。

要想在同一网段,必需做到网络标识相同,那网络标识怎么算呢?

各类IP的网络标识算法都是不一样的。

A类的,只算第一段。

B类,只算第一、二段。

C类,算第一、二、三段。算法只要把IP和子网掩码的每位数AND(相与)就可以了。

AND方法:0 and 1=0; 0 and 0=0; 1 and 1=1;

如:192.168.0.1,255.255.255.0,先转换为二进制,然后AND每一位

IP : 192.168.0.1 -> 11000000.10101000.00000000.00000001

子网掩码: 255.255.255.0 -> 11111111.11111111.11111111.00000000

AND结果: 11000000.10101000.00000000.00000000 转换为十进制192.168.0.0,这就是网络标识

在实际项目中,我们通常会遇到这样的ip地址。

  ip地址:192.168.1.1 子网掩码:255.255.255.0

  ip地址:192.168.1.2 子网掩码:255.255.255.0

  我们可以直接的判断,他们是同属于一个网段的ip地址。那么对于下面这样的呢?

  ip地址:192.168.1.1 子网掩码:255.255.255.0

  ip地址:192.168.1.2 子网掩码:255.255.0.0

这两个ip地址虽然在不看掩码的情况下,比较像,但并不是同一个网段的。可以从子网掩码来判断

  192.168.1.1 255.255.255.0是属于192.168.1.0网段。

192.168.1.2 255.255.0.0是属于192.168.0.0网段。

如何根据掩码来确定ip地址网段

如何根据IP地址和子网掩码,计算网络地址:

将IP地址与子网掩码转换成二进制数。

②、将二进制形式的 IP 地址与子网掩码做“与”运算。

③、将得出的结果转化为十进制,便得到网络地址。

网络地址计算小技巧:IP地址和子网掩码做与运算,把IP地址的主机位直接归0,就快速得到网络地址。所以只要一看到IP地址和子网掩码,就能马上确认网络地址。

  ip地址:192.168.1.1 子网掩码:255.255.255.0

  ip地址:192.168.2.1 子网掩码:255.255.255.0

以上地址可以直观的判断,他们并不属于同一个网段,那么如何计算呢?

要想判断两个ip地址是不是在同一个网段,只需将ip地址与子网掩码做与运算,如果得出的结果一样,则这两个ip地址是同一个子网当中。

详细计算

  将ip地址192.168.1.1转换为二进制       11000000 10101000 00000001 00000001

  将子网掩码255.255.255.0转换成二进制   11111111.11111111.11111111.00000000

  将两者相“与(and)"运算得到结果:  11000000 10101000 00000001 00000000

  转换成网络号就是:             192   . 168    .       1. 0

  将ip地址192.168.2.1转换为二进制       11000000 10101000 00000010 00000001

  将子网掩码255.255.255.0转换成二进制   11111111.11111111.11111111.00000000

  将两者相“与(and)"运算得到结果:   11000000 10101000 00000010 00000000

  转换成网络号就是:             192    .168     .      2 . 0

二者的结果不一样,一个是网段192.168.1.0,一个是网段192.168.2.0,所以不是一个网段

例2:

ip地址1:192.168.1.1 子网掩码:255.255.252.0

ip地址2:192.168.2.1 子网掩码:255.255.252.0

详细计算

 将ip地址192.168.1.1转换为二进制         11000000 10101000 00000001 00000001

 将子网掩码255.255.252.0转换成二进制     11111111.11111111.11111100.00000000

 然后将两者相“与(and)"运算得到结果:    11000000 10101000 00000000 00000000

 转换成网络号就是:                          192     . 168     .  0     . 0

  将ip地址192.168.2.1转换为二进制          11000000 10101000 00000010 00000001

  将子网掩码255.255.252.0转换成二进制      11111111.11111111.11111100.00000000

  然后将两者相“与(and)"运算得到结果:  11000000 10101000 00000000 00000000

  转换成网络号就是:                       192   . 168     . 0     . 0

  很明显,二者的结果是一样的,都是属于192.168.0.0网段,所以他们是同属于一个网段。

如何根据ip地址推算子网掩码

大部分的情况下,网络中只要不超过254台主机的话,子网掩码都可以设置成255.255.255.0超过了254台主机的话怎么办呢?

可以划分vlan,也可以设置成一个大网段,划分vlan我们就不说了,上面有例子,设置成一个大网段就有一个难点,如何确定这个大网段里面的子网掩码呢?

例如:假设监控网络中有600个点位,我们不想把它划分vlan(实际项目中大部分是会划分vlan的),假设只想用一个大网段把这600个点位分配ip地址,如何设置ip地址,如何确实子网掩码?

分析:首先我们知道600个点位,可以使用3个254个ip地址段来分配。

ip段一:192.168.0.1——192.168.0.254

ip段二:192.168.1.1——192.168.1.254

ip段三:192.168.2.1——192.168.2.254  每个网段有254个ip地址,完全够600个点位用的。如果要使这三个ip段在同一个网段内,那么这个大网段共同的子网掩码是多少呢?分析下:

  将ip地址192.168.0.1转换为二进制       11000000 10101000 00000000 00000001

  将ip地址192.168.1.1转换为二进制       11000000 10101000 00000001 00000001

  将ip地址192.168.2.1转换为二进制       11000000 10101000 00000010 00000001

转换成了二进制,三个ip段的二进制前面22位的是不变的,那么可以将他们表示成:

  ip段一:192.168.0.1/22

  ip段二:192.168.1.1/22

  ip段三:192.168.2.1/22

这种192.168.2.x/22形式的ip地址相信大家平时都见过,就是已经告诉了子网掩码了。

也就是说他们共同的子网掩码二进制前面22个都是1。11111111 11111111 11111100 00000000

转换成十进制,那就是255.255.252.0,所以他们共同的子网掩码就是255.255.252.0。

通信时如何衡量是否在同一网段。

1、通信时发送端的主机会使用对方的IP地址加上自己的掩码进行运算,最终计算出对端的网络地址

2. 计算之后,将计算后的网络地址与自己本段的网络地址进行比对,相同,则认为在同一网段,不同,则认为不在同一网段。

5、有类和无类网络,超网和子网

有类网络(主类网络或标准网络):指把IP地址能归结到的A类、B类、C类IP,使用的是标准的默认子网掩码。

无类网络:相对于有类网络,无类网络IP地址的掩码是变长的。在有类网络的基础上,拿出一部分主机ID作为子网ID。

超网(SuperNetting)把多个小网络组合成一个大网络。

子网(Subnet):有类网络划分成更小后的网络。


整个华为数通学习笔记系列中,本人是以网络视频与网络文章的方式自学的,并按自己理解的方式总结了学习笔记,某些笔记段落中可能有部分文字或图片与网络中有雷同,并非抄袭。完处于学习态度,觉得这段文字更通俗易懂,融入了自己的学习笔记中。如有相关文字涉及到某个人的版权利益,可以直接联系我,我会把相关文字删除。【VX:czlingyun    暗号:CSDN】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/683848.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

北斗RTK+UWB定位的优势

在当今科技飞速发展的时代,定位技术的应用已渗透到我们生活的方方面面。从导航、物流到无人驾驶、智能制造,精准定位技术无处不在。而北斗RTK(Real-Time Kinematic,实时动态)和UWB(Ultra-Wideband&#xff…

JS 二进制文件处理与转换:Blob,FileReader,Base64,ArrayBuffer

转载:https://www.cnblogs.com/yinpengfei/p/17280585.html

【CentOS 7】CentOS 7极致指南:高级部署PyCharm 2022.3.3专业版,实现定制化配置与无缝桌面集成

【CentOS 7】CentOS 7极致指南:高级部署PyCharm 2022.3.3专业版,实现定制化配置与无缝桌面集成 大家好 我是寸铁👊 总结了一篇CentOS 7极致指南:高级部署PyCharm 2022.3.3专业版,实现定制化配置与无缝桌面集成✨ 喜欢的…

RN解析富文本内容的插件

安装插件 yarn add react-native-render-html使用 import HTML from react-native-render-html; import {View} from react-native; export default function () {return (<View style{{flex: 1}}><HTMLsource{{html: <p>功能介绍1</p><p>功能介绍…

基于STC89C52单片机空气PM2.5系统设计资料

#include <reg52.h>#include <intrins.h>#define uint unsigned int#define uchar unsigned char //宏定义sbit RSP1^6;//液晶接口sbit ENP1^7;sbit LED P2^0;//粉尘传感器控制接口sbit ADCS P3^7;//AD0832接口sbit ADCLK P3^5;sbit ADDI P3^6;sbit ADDO P3^6;…

Cesium项目报错An error occurred while rendering. Rendering has stopped.

一般就是本地打开会报错&#xff0c;改成用本地服务器打开 全局安装一个live-server sudo cnpm i live-server -g然后新增一个package.json文件 npm init -y然后在package.json的scripts中增加一个命令 "server": "live-server ./ --port8181 --hostlocalhos…

一文了解如何安全有效的进行PB级别的大数据迁移

在这个信息量爆炸的时代&#xff0c;处理PB级别的数据转移已成为常态&#xff0c;但对企业而言&#xff0c;这仍然是一个充满挑战的任务。今天&#xff0c;我们来探讨一下这个话题&#xff0c;看看在进行PB级数据转移时&#xff0c;需要留意哪些事项&#xff0c;可能会遇到哪些…

【多模态】35、TinyLLaVA | 3.1B 的 LMM 模型就可以实现 7B LMM 模型的效果

文章目录 一、背景二、方法2.1 模型结构2.2 训练 pipeline 三、模型设置3.1 模型结构3.2 训练数据3.3 训练策略3.4 评测 benchmark 四、效果 论文&#xff1a;TinyLLaVA: A Framework of Small-scale Large Multimodal Models 代码&#xff1a;https://github.com/TinyLLaVA/T…

11. MySQL 备份、恢复

文章目录 【 1. MySQL 备份类型 】【 2. 备份数据库 mysqldump 】2.1 备份单个数据表2.2 备份多个数据库2.3 备份所有数据库2.4 备份文件解析 【 3. 恢复数据库 mysql 】【 4. 导出表数据 OUTFILE 】【 5. 恢复表数据 INFILE 】 问题背景 尽管采取了一些管理措施来保证数据库的…

文件传输新体验,这些中转站工具让你的职场生活更轻松

不知道大家有没有体验过华为手机的中转站功能&#xff0c;可以一键抓取图片或文件&#xff0c;暂时放在中转站中然后可以再拖到指定文件夹中。 华为手机的中转站功能&#xff0c;以其独特的跨应用文件传输能力&#xff0c;为用户带来了极大的便利。无论是图片、视频还是文档&am…

NineData云原生智能数据管理平台新功能发布|2024年5月版

重点发布​ 数据库 DevOps - 表分组查询​ 在企业用户规模达到一定程度后&#xff0c;分库分表成为一种常见的数据库架构选择。在这种情况下&#xff0c;查询和维护数据需要高效的解决方案&#xff0c;以避免手动逐一查询、变更和汇总多个分库和分表的繁琐操作。 库分组变更…

亚马逊测评自养号需要什么资源?

亚马逊测评自养号项目需要用到哪些资源呢&#xff1f; 1. 养号系统及软件 2. 代理IP资源 3. 收货地址及注册资料 4. 国外信用卡及礼品卡 5. 邮箱及手机号想做好这个项目以上的资源缺一不可 首先我们来说说养号的环境&#xff0c;养号的环境在以前的文章里也提到过&#x…

快速排序——AcWing785.快速排序

AcWing785.快速排序 题目描述 785. 快速排序 - AcWing题库 运行代码 #include <iostream> #include <algorithm> using namespace std; const int N 1e66; int q[N]; void quick_sort(int q[], int l, int r) {if (l > r) return;int m l r >> 1;//…

Linux网络编程:回顾网络通信

1.数据从应用层到数据链路层的本质 数据的封装&#xff1a; 用户在用户级缓冲区输入数据&#xff0c;经过应用层协议进行序列化成字节流数据&#xff0c;拷贝到传输层的缓冲区。而操作系统在传输层维护了sk_buff这一个结构体&#xff0c;然后data指针指向这段数据的开头&#x…

用Conda配置Pytorch环境 (pytorch==2.2.1)

用Conda配置Pytorch环境 (pytorch==2.2.1) 本文主要讲解: 如何用Conda搭建Pytorch环境,用Conda的方式安装,不需要单独去安装Cuda了。 1. 安装miniconda https://docs.anaconda.com/free/miniconda/index.html 2. 搭建虚拟环境 激活python虚拟环境 conda create -n env…

618哪些品牌好入手?四款主流数码产品,必看!

随着618购物狂欢节的钟声逐渐敲响&#xff0c;你是否在面对繁多的商品时感到一丝迷茫&#xff0c;想要找到那些既引领潮流又极具实用价值的商品&#xff1f;团团精心为你准备了一份个人实测后的好物推荐清单。这些商品不仅紧跟时尚潮流&#xff0c;更是你生活中的得力助手&…

全域外卖推广怎么做才能赚钱?

当前&#xff0c;全域外卖行业的热度持续飙升&#xff0c;许多创业者在了解完全域外卖项目的基本信息之后&#xff0c;便开始将目光转向与全域外卖推广相关的各项事宜之中&#xff0c;誓要将全域外卖行业彻底摸清后再行入局。 从理论层面上来说&#xff0c;这种思路并没有任何问…

sqlilabs靶场安装

05-sqllabs靶场安装 1 安装 1 把靶场sqli-labs-master.zip上传到 /opt/lampp/htdocs 目录下 2 解压缩 unzip sqli-labs-master.zip3 数据库配置 找到配置文件,修改数据库配置信息 用户名密码&#xff0c;修改为你lampp下mysql的用户名密码&#xff0c;root/123456host:la…

OrCAD17.4原理图DRC各选项注释

OrCAD17.4原理图DRC各选项注释 一、旧版本OrCAD原理图DRC选项注释 链接&#xff1a;https://pan.baidu.com/s/1bq59A-PoXHC0YNVdX9k-bQ?pwdyqcg 提取码&#xff1a;yqcg 二、Options Online DRC&#xff1a;在线设计DRCDRC Action&#xff1a;DRC运行模式。Run on Design—…

YOLOv5改进 | 主干网络 | 用SimRepCSP作为主干网络提取特征【附完整代码 + 降本增效】

&#x1f4a1;&#x1f4a1;&#x1f4a1;本专栏所有程序均经过测试&#xff0c;可成功执行&#x1f4a1;&#x1f4a1;&#x1f4a1; SimRepCSP 类似于 YOLOv7的主干网络&#xff0c;由卷积模块和重参数化卷积&#xff08;RepConv&#xff09;模块组合而成&#xff0c;以 Cro…