当前位置: 首页 > java >正文

【网安基础】--ip地址与子网掩码

本文主要讲了一些关于ip的知识,其中子网掩码计算算是基础中的基础,十分重要.

ip地址与子网掩码

  • IP地址与子网掩码
    • 一、IP地址:网络世界的“身份证”
      • 1. IPv4与IPv6的核心区别
      • 2. IPv4的两类关键分类
        • (1)有类IP:按固定规则划分网络位与主机位
        • 1. 类别(IPv4地址类别)
        • 2. 首几位二进制
        • 3. 网络位长度(网络号长度)
        • 4. 主机位长度
        • 5. 地址范围(二进制/点分十进制范围)
        • 6. 私有IP段(局域网专用IP段)
        • 7. 每个网络最大可用主机数
        • 8. 可用网络数量
        • (2)无类IP:用子网掩码解决地址浪费
    • 二、子网掩码实战:如何计算网段信息?
      • 1. 核心计算公式
      • 2. 实例拆解:以172.16.1.0/27(掩码255.255.255.224)为例
    • 三、经典题目巩固:从理论到实践
      • 题目1:有类IP地址计算
      • 题目2:无类IP子网划分
      • 题目3:子网掩码与地址合法性判断
    • 四、总结:IP与子网掩码的核心逻辑

IP地址与子网掩码

在网络通信中,IP地址就像设备的“身份证”,子网掩码则是“地址解析器”,二者结合才能实现数据包的精准路由。

一、IP地址:网络世界的“身份证”

IP地址是网络层用于标识设备接口的32位(IPv4)或128位(IPv6)二进制数,核心作用是为IP报文提供寻址依据。我们日常接触最多的是IPv4,下面重点围绕IPv4展开。

1. IPv4与IPv6的核心区别

IPv4因地址空间有限(仅32位,约43亿个地址),已无法满足物联网时代的设备需求,因此诞生了IPv6(128位,地址数量近乎无限)。二者格式差异如下:

版本表示格式比特数示例
IPv4点分十进制32192.168.1.1
IPv6冒号分十六进制1282001::F(压缩格式)

“::” 代表连续的一组或多组全为 0 的十六进制数,用于替代地址中连续的零段,减少书写长度。简单来说就是中间有多少位空着的数就填多少个0

举例说明:后续有许多类似10.1.1.1/8的表示。/8 是CIDR(无类别域间路由,Classless Inter-Domain Routing)表示法的核心部分,其含义是该 IP 地址对应的子网掩码中,“网络位” 的长度为 8 比特(bit)。说人话就是转化为32位二进制数的前八位是网络位,求主机位等东西时候前八位不变,后面所有位数可以从全0到全1任意改变
提问:10.1.1.1/8属于哪一类地址,求网络位与主机位,求网络地址与广播地址?
解答:a类,8比特,24比特,10.0.0.0,10.255.255.255

2. IPv4的两类关键分类

IPv4的分类主要分为“有类IP”和“无类IP”,前者是早期的标准划分,后者为解决地址浪费问题而生。

A.类: 强制第一位为0 (单播地址)
默认网络位:8位 默认主机位:24
范围:0xxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx
0.0.0.0-127.255.255.255
私有IP地址:10.0.0.0-10.255.255.255(10.0.0.0/8)满足局域网

B类:强制第一位1 第二位为0 (单播地址)
默认网络位:16位 默认主机位:16
范围:10xxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx
128.0.0.0-191.255.255.255
私有IP地址:172.16.0.0.-172.31.255.255(172.16.0.0/12)满足局域网

C类:强制第一位1 第二位为1 第三位为0 (单播地址)
默认网络位:24位 默认主机位:8
范围:110xxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx
192.0.0.0-223.255.255.255
私有IP地址:192.168.0.0.-192.168.255.255(192.168.0.0/16)满足局域网

D类:强制第一位1 第二位为1 第三位为1 第四位为0 (组播地址)
范围:1110xxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx
224.0.0.0-239.255.255.255

E类:强制第一位1 第二位为1 第三位为1 第四位为1 (科研)
范围:1111xxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx
240.0.0.0-255.255.255.255

(1)有类IP:按固定规则划分网络位与主机位

有类IP将地址分为A、B、C、D、E五类,每类的“网络位(标识网段)”和“主机位(标识网段内设备)”长度固定,且首几位二进制有强制规则。具体分类如下表:

类别首几位二进制网络位长度主机位长度地址范围私有IP段(局域网专用)点分十进制范围网络号长度(比特)主机号长度(比特)每个网络最大可用主机数可用网络数量
A类08位24位0.0.0.0-127.255.255.25510.0.0.0/8(10.0.0.0-10.255.255.255)1.0.0.1 - 126.255.255.254724(2^{24}-2 = 16777214)(2^7 - 2 = 126)
B类1016位16位128.0.0.0-191.255.255.255172.16.0.0/12(172.16.0.0-172.31.255.255)128.0.0.1 - 191.255.255.2541416(2^{16}-2 = 65534)(2^{14} = 16384)
C类11024位8位192.0.0.0-223.255.255.255192.168.0.0/16(192.168.0.0-192.168.255.255)192.0.0.1 - 223.255.255.254218(2^8 - 2 = 254)(2^{21} = 2097152)
D类1110--224.0.0.0-239.255.255.255无(组播地址,用于多设备通信)224.0.0.0 - 239.255.255.255----
E类1111--240.0.0.0-255.255.255.255无(科研专用,不对外开放)240.0.0.0 - 255.255.255.255----
1. 类别(IPv4地址类别)

概念解释:IPv4地址根据首几位二进制数值的固定规则,划分为A、B、C、D、E五类,核心作用是区分地址的用途(如用于大型网络、中型网络、小型网络、多播通信或保留扩展)。不同类别对应不同的网络位与主机位分配比例,决定了地址可覆盖的网络规模和终端数量,是早期IPv4地址规划的基础分类方式。

2. 首几位二进制

概念解释:用于界定IPv4地址类别的核心标识,是每类地址的“特征位”。通过地址最高位的固定二进制数值,可直接判断地址所属类别(如A类首1位为0,B类首2位为10,C类首3位为110等)。这一规则是地址分类的根本依据,确保不同类别地址的范围不重叠,便于网络设备快速识别地址用途。

3. 网络位长度(网络号长度)

概念解释:在A、B、C类等“可路由”地址中,用于标识“不同网络”的二进制位数。网络位长度决定了可划分的网络数量——长度越长,能区分的网络越多。例如A类地址网络位长度为8位,意味着可划分出多个独立网络;网络位对应的十进制段(如A类的第一段)共同构成“网络号”,用于在公网或局域网中定位特定网络。

4. 主机位长度

概念解释:在A、B、C类地址中,用于标识“同一网络内终端设备”的二进制位数。主机位长度决定了单个网络能容纳的最大终端数量——长度越长,可连接的设备越多。例如C类地址主机位长度为8位,意味着单个网络最多可容纳254台可用设备(需排除特殊地址);主机位对应的十进制段构成“主机号”,用于在网络内定位单个终端。

5. 地址范围(二进制/点分十进制范围)

概念解释

  • 二进制地址范围:基于每类地址的“首几位二进制”规则,确定地址最高位的固定值,进而划定该类地址的二进制取值区间(如D类地址首4位固定为1110,二进制范围即从11100000…到11101111…);
  • 点分十进制范围:将二进制地址范围转换为“四段十进制数”(每段0-255)后的取值区间(如A类地址点分十进制范围为0.0.0.0~127.255.255.255),是实际网络配置中直观识别地址类别的方式。
6. 私有IP段(局域网专用IP段)

概念解释:从A、B、C类公网地址中划分出的“专用地址区间”,仅允许在局域网(如家庭WiFi、企业内网)内使用,无法在互联网中直接路由。其核心作用是解决IPv4公网地址不足的问题——多个局域网可重复使用同一私有IP段,通过NAT(网络地址转换)技术共享少量公网IP访问互联网,确保内网设备通信安全且不占用公网地址资源。

7. 每个网络最大可用主机数

概念解释:在A、B、C类网络中,单个网络内可实际分配给终端设备(如电脑、手机、服务器)的IP地址数量。计算公式为“2^主机位长度 - 2”,减2的原因是:需排除“网络地址”(主机位全为0,用于标识网络本身)和“广播地址”(主机位全为1,用于向网络内所有设备发送消息),这两个地址无法分配给具体终端。

8. 可用网络数量

概念解释:在A、B、C类地址中,可实际划分的独立网络总数。计算公式为“2^(网络位长度 - 固定高位数) - 2”,其中“固定高位数”是每类地址的特征位长度(如A类固定高位数为1,B类为2),减2是因为需排除“全0网络”(网络位全为0,无实际意义)和“全1网络”(早期协议中定义为广播网络,不用于常规路由),确保划分的网络可正常通信。

核心概念延伸

  • 网络地址:网段的“起始地址”,主机位全为0(如192.168.10.0);
  • 主机地址:网段内可分配给设备的地址,需排除网络地址和广播地址(如192.168.10.1-192.168.10.254);
  • 广播地址:网段的“结束地址”,主机位全为1(如192.168.10.255)。

eg.
对于:10.1.1.1/16
网络地址:10.1.0.0/16
广播地址:10.1.255.255/16

(2)无类IP:用子网掩码解决地址浪费

有类IP的固定划分会导致大量地址浪费(如一个C类网段有254个主机位,若仅需10个设备,剩余244个地址会闲置)。因此引入“无类IP”,通过子网掩码灵活划分网络位和主机位。

  • 子网掩码:32位二进制数,与IP地址一一对应,“1”代表网络位,“0”代表主机位(如255.255.255.128,二进制为11111111.11111111.11111111.10000000);
  • 表示方法:IP地址/网络位长度(如192.168.1.1/25,代表前25位是网络位);
  • VLSM(可变长子网掩码):同一网络中使用不同长度的子网掩码,进一步优化地址分配(如一个大网段中,给需要20台设备的部门分/27掩码,给需要50台设备的部门分/26掩码)。

二、子网掩码实战:如何计算网段信息?

掌握子网掩码的核心是“三步走”:确定网络位长度→计算子网数量与主机数量→推导网络地址、主机地址范围、广播地址。

1. 核心计算公式

  • 子网数量 = 2^(子网掩码新增网络位):新增网络位 = 无类网络位长度 - 有类默认网络位长度(如C类默认24位,若掩码为/25,新增1位,子网数量=2^1=2);
  • 每个子网可用主机数 = 2^(主机位长度) - 2:减2是排除网络地址(主机位全0)和广播地址(主机位全1)(如主机位7位,可用主机数=2^7-2=126);
  • 网络地址规律:是“每个子网的IP数量”的整数倍(如子网IP数量32,网络地址为x.x.x.0、x.x.x.32、x.x.x.64…);
  • 广播地址规律:是“每个子网的IP数量的整数倍 - 1”(如子网IP数量32,广播地址为x.x.x.31、x.x.x.63、x.x.x.95…)。

2. 实例拆解:以172.16.1.0/27(掩码255.255.255.224)为例

  1. 确定有类默认类型:172.16.1.0属于B类IP,默认网络位16位,掩码/27表示网络位27位,新增网络位=27-16=11?不,此处需注意:无类IP的网络位是“掩码中1的总位数”,与有类默认无关,直接看掩码/27(27个1),主机位=32-27=5位;
  2. 计算子网数量:子网掩码中“主机位变网络位的位数”=27-24(若按C类掩码对比,实际更简单的方式是看主机位5位,子网数量=2^(8-5)=8个,因最后一段8位中,3位是网络位,5位是主机位);
  3. 每个子网IP数量:2^5=32个(包含网络地址和广播地址);
  4. 推导网段信息
    • 子网1:网络地址172.16.1.0,主机地址172.16.1.1-172.16.1.30,广播地址172.16.1.31;
    • 子网2:网络地址172.16.1.32,主机地址172.16.1.33-172.16.1.62,广播地址172.16.1.63;
    • 以此类推,直到子网8:网络地址172.16.1.224,广播地址172.16.1.255。

三、经典题目巩固:从理论到实践

题目1:有类IP地址计算

已知IP地址为192.168.10.1,判断其类别、网络地址、主机地址范围、广播地址。
解题步骤

  1. 判断类别:192.168.10.1属于192.0.0.0-223.255.255.255,是C类IP,默认网络位24位(掩码255.255.255.0);
  2. 网络地址:主机位(最后8位)全为0 → 192.168.10.0;
  3. 主机地址范围:排除网络地址和广播地址 → 192.168.10.1-192.168.10.254;
  4. 广播地址:主机位全为1 → 192.168.10.255。
    答案:类别为C类;网络地址192.168.10.0;主机地址范围192.168.10.1-192.168.10.254;广播地址192.168.10.255。

题目2:无类IP子网划分

已知IP段为192.168.1.0/24,需划分成8个子网,求每个子网的掩码、网络地址、可用主机数。
解题步骤

  1. 计算所需子网位:8个子网=2^3,需3位子网位(将原主机位8位中的3位改为网络位);
  2. 确定新掩码:原网络位24位+新增3位=27位,掩码为255.255.255.224(二进制11111111.11111111.11111111.11100000);
  3. 每个子网IP数量:主机位=32-27=5位,总IP数=2^5=32,可用主机数=32-2=30;
  4. 推导网络地址:按32个IP为一个子网划分 → 192.168.1.0、192.168.1.32、192.168.1.64、192.168.1.96、192.168.1.128、192.168.1.160、192.168.1.192、192.168.1.224。
    答案:每个子网掩码为255.255.255.224(/27);网络地址分别为192.168.1.0、192.168.1.32、192.168.1.64、192.168.1.96、192.168.1.128、192.168.1.160、192.168.1.192、192.168.1.224;每个子网可用主机数为30。

题目3:子网掩码与地址合法性判断

判断IP地址172.16.1.129/25是否在“172.16.1.128-172.16.1.255”网段内,并说明该网段的网络地址和广播地址。
解题步骤

  1. 分析掩码/25:网络位25位,主机位7位,最后一段8位中,1位是网络位,7位是主机位;
  2. 计算网段IP数量:2^7=128个,因此每个子网包含128个IP;
  3. 确定目标网段范围:网络地址是128的整数倍(172.16.1.128),广播地址=128+128-1=255,因此网段范围是172.16.1.128-172.16.1.255;
  4. 判断合法性:172.16.1.129在128-255之间,合法。
    答案:该IP地址在目标网段内;网段的网络地址为172.16.1.128,广播地址为172.16.1.255。

四、总结:IP与子网掩码的核心逻辑

IP地址是“标识”,子网掩码是“划分规则”,二者结合的本质是“通过二进制位的划分,平衡地址利用率与网络管理效率”。无论是有类IP的固定划分,还是无类IP的灵活子网,核心都围绕“网络位标识网段,主机位标识设备”展开。

http://www.xdnf.cn/news/20201.html

相关文章:

  • 告别线缆束缚!AirDroid Cast 多端投屏,让分享更自由
  • 编写后端JAR包蓝绿发布脚本
  • 23种设计模式——代理模式(Proxy Pattern)详解
  • 【使用goto统计输入数的奇偶数量】2022-10-28
  • 人工智能时代职能科室降本增效KPI设定全流程与思路考察
  • 【高分论文密码】大尺度空间模拟与不确定性分析及数字制图技术应用
  • 为什么动态视频业务内容不可以被CDN静态缓存?
  • [ubuntu][C++]onnxruntime安装cpu版本后测试代码
  • 扫描件、PDF、图片都能比对!让文档差异无所遁形
  • TDengine 时间函数 TODAY() 用户手册
  • Next.js 介绍:为什么选择它来构建你的下一个 Web 应用?
  • 开发环境 之 编辑器、编译器、IDE梳理
  • 深度解读:PSPNet(Pyramid Scene Parsing Network) — 用金字塔池化把“场景理解”装进分割网络
  • 【c++】c++第一课:命名空间
  • uni-app 项目 iOS 上架效率优化 从工具选择到流程改进的实战经验
  • 从零开始的python学习——字典
  • 永磁同步电机负载估计算法--非线性扩张状态观测器
  • 看见世界的另一种可能:Deepoc星眸(StarGaze)如何为视障生活带来曙光
  • Onlyoffice集成与AI交互操作指引(Iframe版)
  • 美团发布 | LongCat-Flash最全解读,硬刚GPT-4.1、Kimi!
  • 标签系统的架构设计与实现
  • Oracle软件在主机平台的应用(课程下载)
  • 请求超过Spring线程池的最大线程(处理逻辑)
  • 企业级项目管理方法设计指南
  • Scikit-learn Python机器学习 - 特征预处理 - 标准化 (Standardization):StandardScaler
  • 音视频面试题集锦第 38 期
  • 电影级文字生视频核心代码手册
  • CASToR 生成的文件进行转换
  • 1.数据库介绍
  • java面试:有了解过数据库事务吗,能详细讲一讲么