子网掩码、前缀长度、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)

大家都在看

  • 有道云笔记迁移到为知笔记

    背景 之前一直用的有&am…

    Linux 2023年6月14日
    0110
  • 上篇:Go函数的骚包玩法有哪些

    1. 用type关键字可以定义函数类型,函数类型变量可以作为函数的参数或返回值。 package main import "fmt" func add(a, b…

    Linux 2023年6月7日
    095
  • JS 模块化- 05 ES Module & 4 大规范总结

    1 ES Module 规范 ES Module 是目前使用较多的模块化规范,在 Vue、React 中大量使用,大家应该非常熟悉。TypeScript 中的模块化与 ES 类似。…

    Linux 2023年6月6日
    0138
  • 5.3 Linux Vim三种工作模式

    通过前面的学习我们知道,Linux 系统中所有的内容都以文件的形式进行存储,当在命令行下更改文件内容时,常会用到文本编辑器。 我们首选的文本编辑器是 Vim(至于为什么,可查看《V…

    Linux 2023年6月7日
    0104
  • 【k8s】kubeadm init 时报错 unknown service runtime.v1alpha2.RuntimeService

    在测试机器中准备搭建 k8s 集群,在 master 节点执行 kubeadm init 时出现报错, unknown service runtime.v1alpha2.Runti…

    Linux 2023年6月7日
    0133
  • sed用法

    基础sed命令 sed OPTIONS… [SCRIPT] [INPUTFILE…] 常用的选项: -n,–quiet: 不输出模式空间中的内容 -i: 直…

    Linux 2023年6月6日
    0132
  • Linux解压命令

    .tar解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)———————————————….

    Linux 2023年6月13日
    080
  • DML

    用来对数据库中的表的数据进行增删改 添加数据 给指定列添加数据 insert into <表名> (&#x5217;&#x540D;1, &#x…

    Linux 2023年6月7日
    098
  • Android(Linux)控制GPIO方法二

    前文《Android(Linux)控制GPIO的方法及实时性分析》主要使用Linux shell命令控制GPIO,该方法可在调试过程中快速确定GPIO硬件是否有问题,即对应的GPI…

    Linux 2023年6月7日
    083
  • Markdown 常用语法精讲

    标题 (# 跟标题名称一定要留空格) 一级标题 二级标题 三级标题 四级标题 五级标题 六级标题 缩进 (使用) 这是缩进四个空格文本 (源码: 这是缩进四个空格文本) 强调/加粗…

    Linux 2023年6月7日
    0134
  • 【5】2022年7月

    7月3日 总结3号的一天就是只有一句话,”自己经历了什么只有自己最清楚,不要辜负自己经历的”。 7月3号凌晨2点,收拾好行李和整理房间,在网上购买日常用品到…

    Linux 2023年6月13日
    087
  • Jmeter 使用Json提取请求数据

    使用Json提取器可以提取请求响应数据 Json提取器 位置: 后置处理器-》Json提取器 使用介绍 1,变量名 变量名,其他部分引用方式: ${变量名}若提取多个变量,多个之间…

    Linux 2023年6月8日
    097
  • linux常用的一些命令

    时隔一年半,楼主又回来了,以前就想看一下鸟叔的教程,现在如愿了!也没有认真的去啃一本书真是惭愧啊,其实在linux环境中命令的用法真的可以查看命令的help,现学现用也是不错的 以…

    Linux 2023年6月8日
    0102
  • [编程一生]历史文章分类汇总

    2021年过去了,总结一下我的239篇原创。方便大家利用自带的搜索功能当智能机器人来用。 面试类 方法论 架构类 网络通信与 操作系统原理 稳定性建设 Java 中间件 程序人生 …

    Linux 2023年6月13日
    094
  • Docker搭建Redis Cluster集群及扩容和收容

    上一篇文章讲解了Redis集群原理及搭建,由于工作中使用docker较多,本文主要讲解使用docker搭建集群及对集群的扩展收容。环境:Centos7.6Docker:20.10….

    Linux 2023年6月13日
    083
  • JavaScript快速入门-06-函数

    6 函数 6.1 函数定义 函数可以封装语句,然后在任何地方、任何时间执行。JavaScript中的函数使用 function关键字声明,主要由 函数名、 函数参数和 函数体组成。…

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