详解IP地址、子网掩码、网络号、主机号、网络地址、主机地址

详解IP地址、子网掩码、网络号、主机号、网络地址、主机地址

概念

详解IP地址、子网掩码、网络号、主机号、网络地址、主机地址
  • IP地址:一般是指逻辑ip;
  • 子网掩码:将IP划分为网络号和主机号的IP;
  • 网络号/主机号:子网掩码转成二进制后,连续全1的是网络号,后面的是主机号;
  • 网络/广播/主机地址:在二进制下,主机位全为零就是网络地址,主机位全为1就是广播地址,其它就是主机地址。

相关计算

根据IP地址和子网掩码,求网络地址和广播地址

一个主机的IP地址是202.112.14.137,掩码是255.255.255.224,要求计算这个主机所在网络的网络地址和广播地址?

  1. 根据子网掩码可知网络号有27位,主机号有5位!
255.255.255.224  --> 11111111 11111111 11111111 11100000    # 子网掩码
  1. 网络地址(把IP地址转成二进制和子网掩码进行 与运算
202.112.14.137   --> 11001010 01110000 00001110 10001001    # ip地址

255.255.255.224  --> 11111111 11111111 11111111 11100000    # 子网掩码

202.112.14.128

即网络地址: 202.112.14.128
3. 广播地址(网络地址的主机位有5位,全部变成1)

202.112.14.128   --> 11001010 01110000 00001110 10000000    # 网络地址

                                ||

202.112.14.159

即广播地址: 202.112.14.159
4. 主机数 2^5 – 2 = 30

根据每个网络的主机数量,计算子网掩码和子网地址的规划

比如一个子网有10台主机,那么对于这个子网需要的IP地址是?

  • ip所需总数:
    10 + 1 + 1 + 1 =13 Tips:三个 1 分别是指 网关地址网络地址广播地址
  • 子网掩码(因为 13 < 16(2^4=16),所以主机位为4位,网络位28位):
11111111 11111111 11111111 11110000 --> 255.255.255.240

或者根据主机位:
2^8 – 2^4 = 256 – 16 = 240
* 结果 所以该子网掩码为 255.255.255.240 Tips: 如果一个子网有14台主机,不少人常犯的错误是:依然分配具有16个地址空间的子网,而忘记了给网关分配地址。这样就错误了,因为:

根据IP地址和子网掩码,计算网络地址、广播地址、地址范围、主机数

IP地址为 128.36.199.3 子网掩码是 255.255.240.0 , 算出网络地址、广播地址、地址范围、主机数

128.36.199.3    --> 10000000 00100100 11000111 00000011    # IP地址

255.255.240.0   --> 11111111 11111111 11110000 00000000    # 子网掩码

128.36.192.0

Tips:子网掩码连续全1的是网络号,后面的是主机号

  1. IP地址和子网掩码进行与运算,结果是网络地址 即网络地址: 128.36.192.0
  2. 将运算结果中的网络地址不变,主机地址变为1,结果就是广播地址(由子网掩码可知主机号为12位)
10000000 00100100 11000000 00000000 --> 10000000 00100100 11001111 11111111 --> 128.36.207.255

即广播地址: 128.36.207.255
3. 地址范围就是含在本网段内的所有主机

地址范围是: 网络地址+1 至 广播地址-1 网络地址: 128.36.192.0,广播地址: 128.36.207.255 所以本例的网络范围是:128.36.192.1 至 128.36.207.254 Tips: &#x7F51;&#x7EDC;&#x5730;&#x5740;+1 即第一个主机地址, &#x5E7F;&#x64AD;&#x5730;&#x5740;-1 即最后一个主机地址
4. 主机的数量
主机的数量 = 2^主机号-2 即:主机的数量 = 2^12-2 = 4096-2 =4094 Tips: &#x51CF;2是因为主机不包括 &#x7F51;&#x7EDC;&#x5730;&#x5740;&#x5E7F;&#x64AD;&#x5730;&#x5740;

从上面两个例子可以看出不管子网掩码是标准的还是特殊的,计算网络地址、广播地址、地址数时只要把地址换算成二进制,然后从子网掩码处分清楚连续1以前的是网络地址,后是主机地址进行相应计算即可。

206.110.4.0/18被划分成16个子网,求每个子网掩码?

划分成16个子网,根据子网掩码/18就表示有18个1,就要从的IP地址的主机位借4位来用作网络位

  1. 由前缀长度18,得掩码是 255.255.192.0
11111111 11111111 11000000 00000000 -->  255.255.192.0

Tips:206.110.4.0/18 由前缀长度/18,可得网络位是18位,主机位是14位(其中1代表网络位,0代表主机位)
2. 切分成16个子网(2^4=16)
– 可以看出能操作的位数就是后面的14个0,即可以在里面划分出几位作为子网的网络位,进而来划分子网。
– 要求是切分成16个子网,而2的4次方刚好等于16,则:
1. 子网的网络位: 18+4 = 22
2. 子网的主机位: 32-22 = 10

11111111 11111111 11111100 00000000 -->  255.255.252.0

结果:

  • 子网掩码是: 255.255.252.0
  • 每个子网可以容纳的主机数是: 2^10-2 = 1024-2, 即 1022台;

Via

Original: https://www.cnblogs.com/librarookie/p/16276608.html
Author: Librarookie
Title: 详解IP地址、子网掩码、网络号、主机号、网络地址、主机地址

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

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

(0)

大家都在看

  • 6.18(反射和注解—>反射机制的作用)

    反射 获取Class对象三种方式第一种方式:类.class第二种方式:对象.getClass()第三种方式:Class.forName &#x5728;&#x4E0…

    Linux 2023年6月7日
    0111
  • Django补充

    django配置文件相关操作 django实际上有两个配置文件 一个是提供给用户可以自定义的基本配置 from 项目名 import settings 一个是全局的系统默认的配置 …

    Linux 2023年6月7日
    0101
  • 代码规范浅谈

    代码规范这东西网上很容易百度到一堆,除了天下文章一大抄的问题,另外,多数只给了结果,原因没有充分说明,或者非常的纠结于大写小写,一个函数可以写几行的细节。感觉有点容易让新人误入歧途…

    Linux 2023年6月13日
    094
  • Linux实用命令(更新中)

    参数 描述 样例 样例说明 -l 详细文件信息 -t 修改时间排序 -r 倒序排列 -h 可读的文件大小单位 -a 显示隐藏文件 常用用法 ls -ltr zip 参数 描述 样例…

    Linux 2023年5月27日
    090
  • Ruby快速入门

    推荐网站:http://ruby-for-beginners.rubymonstas.org/index.html源码参考:https://gitee.com/komavideo/…

    Linux 2023年6月14日
    095
  • Flask聚合函数(基本聚合函数、分组聚合函数、去重聚合函数))

    1.基本聚合函数(sun/count/max/min/avg) 语法 注意:使用db.session.query()括号内必须要写东西,不能空着,不然都不知道从哪张表中查询数据 代…

    Linux 2023年6月8日
    088
  • 五分钟搭建博客系统 OK?

    前言: 请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i 概要: 通过 Docker Compose 在使用 Docker容器构建的隔离环境中轻松运行 WordPress。…

    Linux 2023年6月14日
    0127
  • JuiceFS 缓存预热详解

    缓存预热是一个比较常见的概念,相信很多小伙伴都有所了解。对于 JuiceFS 来说,缓存预热就是将需要操作的数据预先从对象存储拉取到本地,从而获得与使用本地存储类似的性能表现。 缓…

    Linux 2023年6月14日
    085
  • 多进程知识简单总结

    多进程间的全局变量不共享 一、代码展示 import multiprocessing as mul_p import time egg1 = 1 def write(egg2, q…

    Linux 2023年6月14日
    082
  • Linux命令(实时更新)

    本博客主要总结一下博主工作中比较常用的命令: 1.iconv命令 对于给定文件把它的内容从一种编码转换成另一种编码。 -f encoding : 把字符从encoding编码开始转…

    Linux 2023年6月6日
    081
  • Linux 配置Maven(避免踩坑篇)

    前言:请各大网友尊重本人原创知识分享,谨记本人博客: 南国以南i 二、下载好的maven安装包放在磁盘的 /usr/local/ 目录下,如下图: 三、解压该压缩文件 tar -z…

    Linux 2023年6月14日
    0100
  • Jenkins+svn自动化部署完整教程

    1、概述 Jenkins 是一个可扩展的持续集成引擎。主要用于持续、自动地构建/测试软件项目、监控一些定时执行的任务。Jenkins用Java语言编写,可在Tomcat等流行的se…

    Linux 2023年6月7日
    092
  • 高速USB转4串口产品设计-TTL串口

    基于480Mbps 高速USB转8路串口芯片CH344Q,可以为各类主机扩展出4个独立的串口。CH344芯片支持使用操作系统内置的CDC串口驱动,也支持使用厂商提供的VCP串口驱动…

    Linux 2023年6月7日
    0104
  • NoteOfMySQL-14-日志管理

    一、MySQL日志 日志是MySQL数据库的重要组成部分,日志文件记录了MySQL数据库的日常操作和错误信息,可以通过分析这些日志文件了解MySQL数据库的运行情况。MySQL数据…

    Linux 2023年6月14日
    087
  • ICMP 协议仿真及ping命令用途

    1、实验目的 加深对 IPv4 协议首部各定义域的理解,掌握路由表的结构和基本配置命令,熟悉 ICMP 的调试操作。 2、实验原理 IPv4 协议定义,网络层协议的相关 RFC 定…

    Linux 2023年6月8日
    0110
  • bash初始化文件详解

    本文使用的环境: Bash 4.2.46 bash启动时会执行一系列脚本, 具体要执行哪些启动文件, 这和bash的类型有关: 是否为交互式(interactive)的shell,…

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