子网掩码、前缀长度、IP地址数的换算

子网掩码、前缀长度、IP地址数的换算

子网掩码

子网掩码只有一个功能,就是将IP地址划分为网络地址和主机地址两部分。 如同现实生活中的通讯地址,可以看作省市部分和具体门牌号部分。相同的IP地址,但掩码不一样,则指向的网络部分和主机部分不一样。子网掩码用来判断任意两台计算机的IP地址是否在同一个子网中的根据。如果相同,说明两台计算机在同一个子网中,可以直接通讯;

  1. 按照TCP/IP协议规定,IP地址用二进制来表示,每个IP地址长32bit,比特换算成字节,就是4个字节;
  2. 子网掩码的长度也是32位,左边是网络位,用二进制数字”1″表示;右边是主机位,用二进制数字”0″表示;
  3. 子网掩码常用两种表示形式,一种是 点分十进制表示法,如: 255.255.255.0;另一种是用 前缀长度 表示,如: 24;
  4. 子网掩码不能单独存在,它必须结合IP地址一起使用;
  5. 子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分;

子网掩码计算

子网掩码和前缀长度的换算:

  • case 1

    255.255.255.0 –> 11111111 11111111 11111111 00000000

网络号: 24
主机号: 8
ip个数: 256

子网掩码”255.255.255.0″的前缀长度为: 24;
后面一个数字可以在0~255范围内任意变化,因此可以提供256个IP地址。但是实际可用的IP地址数量是256-2,即254个,因为主机号不能全是”0″或全是”1″。
* case 2

255.255.0.0 –> 11111111 11111111 00000000 00000000

网络号: 16
主机号: 16
ip个数: 256² = 65536

子网掩码”255.255.0.0″的前缀长度为: 16;
后面两个数字可以在0~255范围内任意变化,可以提供 256² 个IP地址。但是实际可用的IP地址数量是256²-2,即65534个。
* case 3

255.255.252.0 –> 11111111 11111111 11111100 00000000

网络号: 22
主机号: 10
ip个数: 256 * 2 = 512

子网掩码”255.255.252.0″的前缀长度为: 22;
可以提供 512 个IP地址。但是实际可用的IP地址数量是512 -2,即510个。

十进制和二进制的相互转换传送

不想计算的小伙伴可以参考下表

子网掩码与ip个数对照表

子网掩码 网络号/位 IP数 255.255.255.255 32 1 255.255.255.254 31 2 255.255.255.252 30 4 255.255.255.248 29 8 255.255.255.240 28 16 255.255.255.224 27 32 255.255.255.192 26 64 255.255.255.128 25 128 255.255.255.0 24 256 255.255.254.0 23 512 255.255.252.0 22 1024 255.255.248.0 21 2048 255.255.240.0 20 4096 255.255.224.0 19 8192 255.255.192.0 18 16384 255.255.128.0 17 32768 255.255.0.0 16 65536 255.254.0.0 15 131072 255.252.0.0 14 262144 255.248.0.0 13 524288 255.240.0.0 12 1048576 255.224.0.0 11 2097152 255.192.0.0 10 4194304 255.128.0.0 9 8388608 255.0.0.0 8 16777216 254.0.0.0 7 33554432 252.0.0.0 6 67108864 248.0.0.0 5 134217728 240.0.0.0 4 268435456 224.0.0.0 3 536870912 192.0.0.0 2 1073741824 128.0.0.0 1 2147483648 0.0.0.0 0 4294967296

Original: https://www.cnblogs.com/librarookie/p/16262360.html
Author: Librarookie
Title: 子网掩码、前缀长度、IP地址数的换算

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/578036/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Redis Persistent Replication Sentinel Cluster的一些理解

    Redis Persistent Replication Sentinel Cluster的一些理解 我喜欢把工作中接触到的各种数据库叫做存储系统,笼统地说:Redis、Mysql…

    Linux 2023年5月28日
    071
  • JS 模块化- 04 CMD 规范与 Sea JS

    1 CMD 规范介绍 CMD: Common Module Definition, 通用模块定义。与 AMD 规范类似,也是用于浏览器端,异步加载模块,一个文件就是一个模块,当模块…

    Linux 2023年6月6日
    098
  • win11下配置vue3版本

    安装node.js PS:全局需要使用管理员权限打开CMD** 下载nodejs的地址 选择左边就好 下载安装后,选择自己需要安装的盘符,即可,不再叙述。 打开CMD查看node是…

    Linux 2023年6月14日
    092
  • OpenSSL测试-SM3

    任务详情 在openEuler(推荐)或Ubuntu或Windows(不推荐)中完成下面任务 使用OpenSSL的命令计算你的8位学号的摘要值(SM3),提交截图(5’…

    Linux 2023年6月8日
    098
  • CentOS7.6下安装Redis5.0.7

    此次安装是在CentOS7下安装Redis5.0.7 这里下载的&am…

    Linux 2023年6月14日
    099
  • 编程入门之字符编码与乱码

    ——”为什么服务器收到的请求或者打开的文本文件有时会乱码?” ——”因为编码不对。” ——”编码的本质是什么?为什么编码…

    Linux 2023年6月13日
    084
  • jmeter&WebSocket直播间性能测试

    http://t.csdn.cn/GfXzJ 1.Jmeter本身是支持HTTP方法,要测试WebSocket的接口,首先要安装插件。 安装插件的方法:1)首先下载插件管理器① 访…

    Linux 2023年6月8日
    082
  • jmeter 函数之 _RandomString

    jmeter中有许多函数,学会函数的灵活使用,对于很多工作都是事半功倍的效果,今天先学习函数——__RandomString,该函数可以自定义字符长度。做接口自动化测试时,可以使用…

    Linux 2023年6月8日
    0111
  • Sql Server Proc 先看看简单吧

    –以上是语句库 –先看看不带参数的吧 他跟方法一样 可以带参数也可以不带参数(当然我没用过几次不带参数的) –获取一个表吧这种都感觉像视图了 &…

    Linux 2023年6月7日
    0124
  • CodeSmith无法获取MySQL表及列Description说明处理

    实体类生成模板下载: 链接:https://pan.baidu.com/s/1tLxW5m5ECwVV2feWSVtQIA提取码:qezw 反编译工具下载: 链接:https://…

    Linux 2023年6月13日
    0111
  • 认识2020年的苹果设计奖获奖者

    苹果设计奖表彰那些在苹果平台上反映最佳设计、创新和技术的开发者的创造性艺术和技术成就。 塑钢3DShapr3D Zrt. 运行CAD软件通常需要一台具有相当处理能力的台式电脑。Sh…

    Linux 2023年6月7日
    072
  • Spring Session Redis

    http://www.infoq.com/cn/articles/Next-Generation-Session-Management-with-Spring-Session Or…

    Linux 2023年5月28日
    088
  • PHP代码审计_用==与===的区别

    背景介绍 如何审计 绕过案例1 绕过案例2 背景介绍 比较 ==与 ===的差别 == 是等于符号,=== 是恒等于符号,两个符号的功能都是用来比较两个变量是否相等的,只不过两个符…

    Linux 2023年6月6日
    0106
  • 数组常见操作

    8.19 day7 数组常见操作 获取数组最值 public static int maxElement(int[] arr) { // 假设第一个元素的值就是最大值 int ma…

    Linux 2023年6月7日
    082
  • Linux 查看运行中进程的 umask

    线上某台虚机因为故障重装了系统(基线 CentOS 6.9 内核 2.6.x),重新部署了应用。这个应用会生成一个文件,到NFS挂载目录。 而这个 NFS 挂载目录是一个 FTP …

    Linux 2023年5月27日
    0143
  • c++的bind使用方法

    c++的bind使用方法 除了容器有适配器之外,其实函数也提供了适配器,适配器的特点就是将一个类型改装成为拥有子集功能的新的类型。其中函数的适配器典型的就是通过 std::bind…

    Linux 2023年6月14日
    085
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球