热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

理解网络标识符:IP地址、子网掩码与网络号的关联性分析

本文深入探讨了IP地址、子网掩码与网络号之间的关联性。IP地址由32位二进制数构成,分为四个8位段,通常以十进制形式表示。通过子网掩码,可以将IP地址划分为网络部分和主机部分,从而实现网络的高效管理和路由。文章详细解析了这三者之间的关系及其在实际网络配置中的应用。

网络号=IP乘以子网掩码

IP、子网掩码、网络号之间的关系、区分和运算
IP地址总共是32位二进制数表示,每8位为一节,总共4节。日常使用中每节用一个十进制表示(0-255)。每个IP地址都是由网络号+主机号组成,前面N位表示网络号,后面32-N位表示主机号。到底前面几位表示网络号就是由子网掩码来区分,在子网掩码中用1和0来分别网络号位和主机号位,其中是1的表示是网络位,0表示主机位,前面说的IP中前面的N位表示网络号,后面的32-N位才是主机号,所以子网掩码总是前面一段全是1,后面一段全是0。我们的IP范围就是主机号范围。所有主机号中的最后一个主机号为广播地址。
比如一个IP地址:192.168.0.1/24,这是我们常见的一个C类地址,用二进制表示就是 IP:11000000 10101000 00000000 00000001 子:11111111 11111111 11111111 00000000
这就是说这个IP中,前24位表示网络号,后面8位表示主机号。也就是说我们IP取值范围就是最后的8位从0000000-11111111之间,用十进制表示也就是0-255之间,在地址中0不能作为IP地址使用,他是网络号的专用,也就是说我们的取值范围是在1-255之间,其中1是网关地址(实际中我们组建局域网的时候不一定用1作网关这是另一回事),255是广播地址,也就是说实际能使用的只有253个IP,即192.168.0.2-192.168.0.254。
那什么是网络号呢?说得直接一点就是这个局域网在网络上的IP。我们知道每一台计算机在网络上都有一个IP地址,这个IP地址就是这台计算机在网络上的一个编号,那么网络号也就是这个局域网在互联网上的IP地址编号。网络号的计算方法是把IP地址与子网掩码作“与”运算,所谓的与运算,就相当于我们并时所说的乘运算,当两个同为1时其结果为1,如果其中有一个是0则结果是0。在上面的例子中前面的24位是网络号那么这个局域网在网络中的编号就是192.168.0.0,现在知道为什么0始终不能用为IP地址了吧。如果两台机的网络号不一样,表示这两台机不在同一个局域网中。比如有如下两个IP:192.168.0.115/24,192.168.5.115/24,用二进制表示就是:
IP1: 11000000 10101000 00000000 01110011 子网: 11111111 11111111 11111111 00000000 网络号: 11000000 10101000 00000000 00000000 十进制表示网络号:192.168.0.0
IP2: 11000000 10101000 00000101 01110011 子网: 11111111 11111111 11111111 00000000 网络号: 11000000 10101000 00000001 00000000 十进制表示网络号:192.168.5.0 两个IP的网络号不一样,表示这两个IP不在同一个局域网中。
又比如我网吧从电信公司分到一组IP:89.153.43.225/29,那么换成二进制就是
IP:01011001 10011001 00101011 11100001 子:11111111 11111111 11111111 11111000 可以清楚的看出这组IP在网络上的网络号是前面的29位,用十进制表示就是89.153.43.224,这组IP的主机号就是最后的三位,我们说过主机号范围就是IP范围。我网吧从电信公司分得的IP范围用二进制表示就是: IP1:01011001 10011001 00101011 11100000 IP2:01011001 10011001 00101011 11100001 IP3:01011001 10011001 00101011 11100010 IP4:01011001 10011001 00101011 11100011 IP5:01011001 10011001 00101011 11100100 IP6:01011001 10011001 00101011 11100101 IP7:01011001 10011001 00101011 11100110 IP8:01011001 10011001 00101011 11100111
我们说过0只能用来表示网络号,不能用于IP,所以上面的8个IP中,只有IP2-IP8是合法的,用十进制表示就是89.153.43.225-231,其中89.153.43.225是网关,89.153.43.231是广播地址,实际可用IP是89.153.43.226-230,因为这一组IP的网络号同为89.153.43.224,

那么已知IP地址以及它的子网掩码,如何知道其网络地址,主机号,广播地址以及可用的主机地址呢?
首先将IP地址和子网掩码用二进制表示,那么
网络地址=IP地址 and 子网掩码(and表示”与”操作) ;
主机号=IP地址 and 子网掩码的反码;
广播地址=将网络号右边表示主机部分的二进制变1;
可用的主机地址:网络号+1————-广播地址-1。
举例:
172.16.2.10/255.255.255.0
首先我们可以知道它是B类地址.
将172.16.2.10用二进制表示:10101100 00010000 00000010 00001010


255.255.255.0用二进制表示:11111111 11111111 11111111 00000000

“与”操作 10101100 00010000 00000010 00000000
网络地址: 172 . 16 . 2 . 0
将网络地址右边表示主机部分的二进制变1,即
10101100 00010000 00000010 11111111
广播地址: 172 . 16 . 2 . 255
可用主机地址为: 172.16.2.1——172.16.2.254

192.168.100.5/255.255.255.0
首先我们可以知道它是C类地址.
255.255.255.0 11111111 11111111 11111111 00000000


192.168.100.5 11000000 10101000 01100100 00000101

“与”操作 11000000 10101000 01100100 00000000
网络地址: 192 . 168 . 100 . 0
广播地址:
11000000 10101000 01100100 11111111
192 . 168 . 100 . 255
可用主机地址为:192.168.100.1——192.168.100.254


推荐阅读
  • 在掌握Promise调用链的过程中,理解其在异步执行中的核心作用至关重要。链式调用不仅简化了代码结构,提高了可读性,还增强了程序的健壮性和维护性。类似于jQuery中常用的链式调用,如 `$(#app).show().css('color', 'red')`,Promise的链式调用通过 `.then()` 方法实现了异步操作的无缝衔接,使得复杂的异步流程更加直观和高效。掌握这些技巧将有助于开发者更好地处理异步编程中的常见问题,提升开发效率。 ... [详细]
  • 本文详细解析了 Python 2.x 版本中 `urllib` 模块的核心功能与应用实例,重点介绍了 `urlopen()` 和 `urlretrieve()` 方法的使用技巧。其中,`urlopen()` 方法用于发送网络请求并获取响应内容,而 `urlretrieve()` 方法则用于下载文件并保存到本地。文章通过具体示例展示了这两个方法在实际开发中的应用场景,帮助读者更好地理解和掌握 `urllib` 模块的使用。 ... [详细]
  • 汽车电子架构与CAN网络基础解析——鉴源实验室专业解读 ... [详细]
  • C#编程中按钮控件的使用与优化 ... [详细]
  • PHP网站日志深度解析与数据洞察分析
    通过对PHP网站日志进行深入解析与数据洞察分析,可以有效提升网站性能和用户体验。由于网站日志数据量庞大,通常需要借助专业的日志分析工具来处理。常用的工具包括光年日志分析工具和WebLog Expert等,这些工具能够帮助技术人员快速识别并解决网站运行中的各种问题,从而优化SEO效果和提升整体运营效率。 ... [详细]
  • 本文探讨了如何通过检测浏览器类型来动态加载特定的npm包,从而优化前端性能。具体而言,仅在用户使用Edge浏览器时加载相关包,以提升页面加载速度和整体用户体验。此外,文章还介绍了实现这一目标的技术细节和最佳实践,包括使用User-Agent字符串进行浏览器识别、条件加载策略以及性能监控方法。 ... [详细]
  • 蓝桥杯算法实战:节点选取策略优化分析
    本文针对蓝桥杯算法竞赛中的节点选取策略进行了深入分析与优化。通过对比不同节点选择方法的效果,提出了基于贪心算法和动态规划的综合优化方案,旨在提高算法效率和准确性。实验结果表明,该优化策略在处理大规模数据集时表现出色,显著提升了算法性能。 ... [详细]
  • 实现圆角Div的JavaScript代码技巧与示例
    实现圆角Div的JavaScript代码技巧与示例:虽然使用图片是实现圆角的一种常见方法,能够生成平滑的圆角效果,但这种方法需要准备合适的图片,并且在动态调整时存在局限性。本文将介绍一种纯JavaScript实现圆角Div的技术,无需依赖图片,具有更高的灵活性和可维护性。通过具体的代码示例,帮助开发者快速掌握这一技巧。 ... [详细]
  • 深入对话上海视九叶文鑫:HTML5技术引领智能电视新趋势
    深入对话上海视九叶文鑫:HTML5技术引领智能电视新趋势 ... [详细]
  • HTML 页面中调用 JavaScript 函数生成随机数值并自动展示
    在HTML页面中,通过调用JavaScript函数生成随机数值,并将其自动展示在页面上。具体实现包括构建HTML页面结构,定义JavaScript函数以生成随机数,以及在页面加载时自动调用该函数并将结果呈现给用户。 ... [详细]
  • 本文详细介绍了 Python 中字符串处理的各种技巧,包括查找、复制、替换、删除、截取、连接、比较、包含检测及大小写转换等操作。特别强调了如何使用 `strip()`、`lstrip()` 和 `rstrip()` 方法去除字符串中的空格和特殊符号,以及如何通过简单的赋值语句实现字符串的复制。此外,还提供了丰富的示例代码,帮助读者更好地理解和应用这些技巧。 ... [详细]
  • 七款高效编辑器与笔记工具推荐:KindEditor自动换行功能解析
    本文推荐了七款高效的编辑器与笔记工具,并详细解析了KindEditor的自动换行功能。其中,轻笔记QingBiJi是一款完全免费的记事本软件,用户可以通过其简洁的界面和强大的功能轻松记录和管理日常事务。此外,该软件还支持多平台同步,确保用户在不同设备间无缝切换。 ... [详细]
  • Optimize Data Compression Prior to Transmission ... [详细]
  • 本文首先介绍了BGP的基本概念和基础知识,详细解析了BGP的不同邻居类型及其作用。接着,文章对BGP的报文格式、状态机以及路由宣告原则进行了深入探讨,包括本地宣告、引入宣告和缺省路由的处理方法。通过这些内容,读者可以全面了解BGP路由协议的核心机制及其在实际网络中的应用。 ... [详细]
  • Docker入门指南:初探容器化技术
    Docker入门指南:初探容器化技术摘要:Docker 是一个使用 Go 语言开发的开源容器平台,旨在实现应用程序的构建、分发和运行的标准化。通过将应用及其依赖打包成轻量级的容器,Docker 能够确保应用在任何环境中都能一致地运行,从而提高开发和部署的效率。本文将详细介绍 Docker 的基本概念、核心功能以及如何快速上手使用这一强大的容器化工具。 ... [详细]
author-avatar
董丹一只花
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有