子网掩码与IP段计算

一.什么叫子网掩码:

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

使用子网掩码有两个作用:

  1. 用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在远程网上。
  2. 用于将一个大的IP网络划分为若干小的子网络。这也就是“子网”的理解。

二.子网掩码怎么用的:

使用子网是为了减少IP的浪费。因为随着互联网的发展,越来越多的网络产生,有的网络多则几百台,有的只有区区几台,这样就浪费了很多IP地址,所以要划分子网。使用子网可以提高网络应用的效率。
通过计算机的子网掩码判断两台计算机是否属于同一网段的方法是,将计算机十进制的IP地址和子网掩码转换为二进制的形式,然后进行二进制“与”(AND)计算(全1则得1,不全1则得0),如果得出的结果是相同的,那么这两台计算机就属于同一网段。
通过下边这个例子就可以看下:
在这里插入图片描述
对于我们常说的网络A、 B、C 类IP地址,其默认子网掩码的二进制与十进制对应关系如上所示。
子网掩码工作过程是:将32位的子网掩码与IP地址进行二进制形式的按位逻辑“与”运算得到的便是网络地址,将子网掩码二进制按位取反,然后与IP地址二进制进行逻辑“与”(AND)运算,得到的就是主机地址。
比如:有如下4个主机,IP配置分别是这样的:
在这里插入图片描述
怎么判断谁和谁是同一网段呢,同网段的才可以通信,不同网段的就要借助交换机了。
第一步:先把IP地址都转成二进制
在这里插入图片描述
第二步:各自的IP地址与各自的子网掩码做“与”运算

在这里插入图片描述
运算结果相同的话,就是同一网段。
从上边的运算结果就可以看出来,
在这里插入图片描述
区别其实就在子网掩码上,从计算过程也能看出来,为啥掩码用255和0的多,因为转成二进制全是1或0,当然也可以是其他数字,划分子网的时候,就会有其他数字。

在工作中,有时候分配网络,直接不说子网掩码是多少,而是说,给你一个多少位的地址,比如说给分配一个28位的网段,192.168.1.30/28
这个就需要我们自己计算一下,可用IP是多少,子网掩码是多少,主机该怎么配置,可以借助子网掩码计算器,网上一搜就有,
在这里插入图片描述
这个具体怎么算,下边我们算下,28位的意思就是子网掩码前28位是固定的都是1,
子网掩码: 11111111 11111111 11111111 11110000 转换后是:255.255.255.240
然后拿子网掩码与给的IP地址做“与”运算,得到子网地址
11000000.10101000.00000001.00010000 192.168.1.16
然后第29位到第32位全变成1,
11000000.10101000.00000001.00011111 192.168.1.31
所以这个IP段就是192.168.1.16—192.168.1.31段。
开头地址后半部分主机位是0的,作为网络地址使用;结尾主机位为1的,作为广播地址使用。
这是协议规则。所以头尾都不能用,就剩
192.168.1.17—192.168.1.30 共14个可用的地址。子网掩码就是255.255.255.240,这就用掩码隔开的单独一个网段。

所以划分网段的时候,如果你需要100个主机IP,就可以自己反算一下,反算出来,自己需要多少位的掩码,这都有现成的掩码计算器可以用,但你自己知道的话,就会更清楚这是怎么划分的。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Prometheus告警处理

Alertmanager介绍 Prometheus 包含一个报警模块,就是 AlertManager,Alertmanager 主要用于接收 Prometheus 发送的告警信息,它支持丰富的告警通知渠道,而且很容易做到告警信息进行去重、降噪、分组等,是一款前卫的告警…

【数据结构】链式家族的成员——循环链表与静态链表

循环链表与静态链表 导言一、循环链表1.1 循环单链表1.2 循环双链表 二、静态链表2.1 静态链表的创建2.2 静态链表的初始化2.3 小结 结语 导言 大家好!很高兴又和大家见面啦!!! 经过前面的介绍,相信大家对链式家族的…

系列六、Consul

一、Consul 1.1、概述 Consul是一套开源的分布式服务发现和配置管理系统,由HashiCorp公司用Go语言开发。他提供了微服务系统中的服务治理、配置中心、控制总线等功能。这些功能中的每一个功能都可以单独使用,也可以一起使用以构建全方位的服务网格&…

react-router-dom5升级到6

前言 升级前版本为5.1.2 下载与运行 下载 npm install react-router-dom6运行 运行发现报错: 将node_modules删除,重新执行npm i即可 运行发现如下报错 这是因为之前有引用react-router-dom.min,v6中取消了该文件,所以未找到文件导致报错。…

Vue.js学习笔记(1)——Visual Studio Code搭建Vue.js框架

1 安装Node.js 1、下载安装包:进入官网(https://nodejs.org/en),下载左侧的稳定版。 2、选择安装位置,不用勾选自动安装必要工具。 其他都默认Next。 配置环境,具体参考本文章: https://blo…

HCIA-Datacom题库(自己整理分类的)——ARP协议【完】

一、单选 1.ARP 属于哪一层协议? 数据链路层 网络层 物理层 传输层 2.ARP请求是____发送的 点播 广播 组播 单播 关于ARP报文的说法错误的是? ARP请求报文是广播发送的 ARP报文不能被转发到其他广播域 ARP应答报文是单播方发送的 任何链路层协议都需…

攻防世界easyphp解题

攻防世界easyphp解题 <?php highlight_file(__FILE__); $key1 0; $key2 0;$a $_GET[a]; $b $_GET[b];if(isset($a) && intval($a) > 6000000 && strlen($a) < 3){if(isset($b) && 8b184b substr(md5($b),-6,6)){$key1 1;}else{die(&q…

一语道破爬虫,来揭开爬虫面纱

目录 一、爬虫&#xff08;网络蜘蛛(Spider)&#xff09; 1.1、是什么&#xff1a; 1.2、学习的原因 1.3、用在地方&#xff1a; 1.4、是否合法&#xff1a; 1.5、后果 案例&#xff1a; 二、应用领域 三、Robots协议 四、抓包 4.1、浏览器抓包 4.2、抓包工具 常见…

十三:爬虫-Scrapy框架(下)

一&#xff1a;各文件的使用回顾 1.items的使用 items 文件主要用于定义储存爬取到的数据的数据结构&#xff0c;方便在爬虫和 Item Pipeline 之间传递数据。 items.pyimport scrapyclass TencentItem(scrapy.Item):# define the fields for your item here like:title scr…

HarmonyOS4.0系统性深入开发09卡片使用动效能力

卡片使用动效能力 ArkTS卡片开放了使用动画效果的能力&#xff0c;支持显式动画、属性动画、组件内转场能力。需要注意的是&#xff0c;ArkTS卡片使用动画效果时具有以下限制&#xff1a; 名称参数说明限制描述duration动画播放时长限制最长的动效播放时长为1秒&#xff0c;当…

Games101作业5

1.实现Renderer.cpp 中的 Render()&#xff1a;为每个像素生成光线 这里你需要为每个像素生成一条对应的光 线&#xff0c;然后调用函数 castRay() 来得到颜色&#xff0c;最后将颜色存储在帧缓冲区的相 应像素中。 我们要做的就是将屏幕空间下的坐标最后转换到世界空间的坐标…

Innosetup 调用c# dll 和 c# dll的函数导出

目标需求&#xff0c;基于现在安装包脚本。需要在用户安装和卸载成功时。进行数据记录,所以需要调用c#dll 主要涉及到的知识点 需要理解脚本的文件使用机制脚本的文件dll加载&#xff0c;和dll的调用c# dll的制作&#xff0c;和工具的使用 下面具体介绍 脚本的文件dll加载&…