IP地址查询的背后②:IP地址(IPv4)的构成、类型以及子网划分

自从各大平台将IP地址显示之后,相信广大网友对于IP地址相当不陌生了。而我们见到的IP地址往往只会显示在某市,更仔细的会看到有一段段字节所显示的字符串,而IP地址看似由很简单的1-255之间的数字所组成的四个部分,但其实质上则是二进制最后的体现形式。

其中每一个字节都代表着一个“八位字节”(其实就是8位的序列)。

IP地址存在 主机地址 网络地址 广播地址 不同种类

IP地址有很多种类,单个主机地址(eg: 192.168.57.25),就明确指向网络中的某一种特定主机。网络地址(eg: 192.168.0.0/16)则具有其特定的网络标识意义(感兴趣下次可以单独写,之前也有写过,可以翻之前的文章)。而广播地址(eg: 192.168.255.255)则会用于向特定的网络中的所有主机发送信息。
IP地址查询的背后②:IP地址(IPv4)的构成、类型以及子网划分
网络地址转换为二进制时需要进行特别处理

我们可以借助计算器八位字节对四个字段进行分别处理,进行网络地址和二进制之间的转换

Eg

192.168.57.2511000000.10101000.00111001.00011001;

192.168.0.0/1611000000.10101000.00000000.00000000;

192.168.255.25511000000.10101000.11111111.11111111。

而网络地址的最后若干位则全部为“0”,网络位数以“/X”表示给出

Eg

192.168.0.0/16:网络位数“16”,这意味着该IP地址前16位为网络标识,其余位为“0”。
【资料来源: https://www.ipdatacloud.com/?utm-source=LMN&utm-keyword=?2092】

而广播地址则是与网络位相同,区别为其余位为“1”而非0。
IP地址查询的背后②:IP地址(IPv4)的构成、类型以及子网划分
但某些情况则会使IP地址的表示变得复杂

有些IP地址会将网络IP地址表示为192.168.0.0网络掩码255.255.0.0。

其实这里的“网络掩码”就是所有网络位都设为1的网络地址。

当子网与八位字节边界(/8、/16、/24)不匹配时,广播地址的计算就会变得棘手。

根据子网划分。IP地址是每个信息包的地址,当数据包到达路由器时,路由器会将数据包主机地址自身网络的网络地址作比较。就是将IP 地址的初始位各网络的位进行匹配(最多匹配到网络地址末尾“/x”所给出的网络位数)。

Eg

某路由器拥有192.168.0.0/16网络,收到主机192.168.57.25的数据包。

该路由器还有其他网络,假设分别为192.160.0.0(/12)、192.168.0.0(/16)、192.168.0.0(/24)。

以二进制形式比较时,主机地址为11000000.10101000.00111001.00011001,网络1为11000000.1010(/12),网络2为11000000.10101000(/16),网络3为11000011.10101000.11100000(/24)。

路由器会将主机地址的前12位与网络1比较,前16位与网络2比较,前24位与网络3比较。

在此例中,前两个比较匹配,最终会依据最具体的网络,即网络2来路由数据包。
【资料来源: https://www.ipdatacloud.com/?utm-source=LMN&utm-keyword=?2092】
从十进制表示看,网络1为192.160.0.0(/12),网络2为192.168.0.0(/16),不容易看出来但二进制形式下可清晰看出网络2是网络1的子网。

这一系列关于IP地址的知识,能够对网络技术的学习或者进行相关互联网工作都是基础的知识点。
IP地址查询的背后②:IP地址(IPv4)的构成、类型以及子网划分

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/64741.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python中的绝对导入与相对导入

如果您从事的Python项目有多个文件,那么您以前可能不得不使用import语句。即使对于拥有多个项目的Python重度使用者(比如我),import也可能会造成混淆!您可能正在阅读本文,因为您想对Python中的import&#…

使用 DeepSpeed 微调 OPT 基础语言模型

文章目录 OPT 基础语言模型Using OPT with DeepSpeedmain.py 解析1、导入库和模块2、解析命令行参数3、main 函数3.1 设备与分布式初始化3.2 模型与数据准备3.3 定义评估函数3.4 优化器与学习率调度器设置3.5 使用 deepspeed 进行模型等初始化3.6 训练循环3.7 模型保存 4、dsch…

计算机网络-GRE Over IPSec实验

一、概述 前情回顾:上次基于IPsec VPN的主模式进行了基础实验,但是很多高级特性没有涉及,如ike v2、不同传输模式、DPD检测、路由方式引入路由、野蛮模式等等,以后继续学习吧。 前面我们已经学习了GRE可以基于隧道口实现分支互联&…

使用Turtle库实现,鼠标左键绘制路径,用鼠标右键结束绘制,小海龟并沿路径移动

使用Turtle库实现,鼠标左键绘制路径,用鼠标右键结束绘制,小海龟并沿路径移动 Turtle库是Python标准库的一部分,它提供了一种基于命令的图形绘制方式。Turtle模块通过一个“海龟”(Turtle)对象在屏幕上移动…

《计算机组成及汇编语言原理》阅读笔记:p9-p27

《计算机组成及汇编语言原理》学习第 2 天,p9-p27 总结,总计 19 页。 一、技术总结 1.quantum physics(量子物理学) (1)quantum(量子) quantum的本意是:c. the smallest amount of sth(量子)。 In physics, a quantum is the minimum am…

使用 Dash 构建交互式数据可视化应用

使用 Dash 构建交互式数据可视化应用 1. 什么是 Dash? Dash 是一个由 Plotly 开发的开源 Python 框架,用于快速构建交互式数据可视化应用。Dash 将前端(HTML、CSS 和 JavaScript)与后端(Python)无缝集成&…

Qt:QMetaObject::connectSlotsByName实现信号槽自动关联

简介 在Qt中,QMetaObject::connectSlotsByName 是一个便利的方法,它可以根据对象的对象名(objectName)自动将信号和槽连接起来。但是,要使用这个方法,必须确保: 1 控件(如按钮&…

周末总结(2024/12/21)

工作 人际关系核心实践: 要学会随时回应别人的善意,执行时间控制在5分钟以内 坚持每天早会打招呼 遇到接不住的话题时拉低自己,抬高别人(无阴阳气息) 朋友圈点赞控制在5min以内,职场社交不要放在5min以外 职场的人际关系在面对利…

一般行业安全管理人员考试题库分享

1.在高速运转的机械飞轮外部安装防护罩,属于(B)安全技术措施。 A.限制能量 B.隔离 C.故障设计 D.设置薄弱环节 2.生产经营单位的(B)是本单位安全生产的第一责任人,对落实本单位安全生产主体责任全面负责,具体履行安全生产管理职责。 A.全员 B…

国标GB28181平台EasyGBS在安防视频监控中的信号传输(电源/视频/音频)特性及差异

在现代安防视频监控系统中,国标GB28181协议作为公共安全视频监控联网系统的国家标准,该协议不仅规范了视频监控系统的信息传输、交换和控制技术要求,还为不同厂商设备之间的互联互通提供了统一的框架。EasyGBS平台基于GB28181协议&#xff0c…

概率论得学习和整理29: 用EXCEL 描述二项分布

目录 1 关于二项分布的基本内容 2 二项分布的概率 2.1 核心要素 2.2 成功K次的概率,二项分布公式 2.3 期望和方差 2.4 具体试验 2.5 概率质量函数pmf 和cdf 3 二项分布的pmf图的改进 3.1 改进折线图 3.2 如何生成这种竖线图呢 4 不同的二项分布 4.1 p0.…

长短期记忆网络(LSTM):深度学习中的序列数据处理利器

目录 ​编辑 长短期记忆网络(LSTM):深度学习中的序列数据处理利器 引言 LSTM的起源与背景 LSTM的核心机制 LSTM的优势 LSTM的应用案例 LSTM的研究进展 LSTM的变种 LSTM的改进 LSTM的最新研究 结论 长短期记忆网络(LST…

代码随想录第52天

110.字符串接龙 #include<iostream> #include<unordered_map> #include<queue> using namespace std; // 定义一个类用来解决本道题 class Xxc { private:// 用来记录可以每个字符可以改变的可能static char libs[26]; public:static int xxc(unordered_ma…

2024年前端面试题【基本功篇】

文章目录 前言一、html 相关1.1 行内元素和块级元素分别有哪些&#xff1f;1.2 IE盒子模型和标准盒子模型 二、css 相关2.1 选择器2.2 设置垂直居中的方法2.3 定位的几种方式2.4 清除浮动的几种方式2.5 rem、em、px、vw、vh区别2.6 响应式和自适应布局的区别2.7 元素隐藏的几种…

图解HTTP-HTTP状态码

状态码 状态码的职责是当客户端向服务器端发送请求时&#xff0c;描述返回的请求结果。 类别原因短语1XXInformational(信息状态码)接收的请求正在处理2XXSuccess&#xff08;成功状态码&#xff09;请求正常处理完毕4XXRedirection &#xff08;重定向状态码&#xff09;需要…

Excel设置生日自动智能提醒,公式可直接套用!

大家好&#xff0c;我是小鱼。 今天跟大家分享一个WPS表格中根据出生日期&#xff0c;设置生日提醒&#xff0c;并且根据距离生日天数自动标记数据颜色。简单又实用&#xff0c;一个公式轻松搞定&#xff01; 接下来我们先学习一下需要使用到的函数&#xff0c;然后再根据实例让…

【MAC】深入浅出 Homebrew 下 Nginx 的安装与配置指南

硬件&#xff1a;Apple M4 Pro 16寸 系统&#xff1a; macos Sonoma 15.1.1 Nginx 是一款高性能的 Web 服务器和反向代理服务器&#xff0c;广泛应用于全球各地的网站和企业应用中。本文将详细介绍如何在 macOS 环境下使用 Homebrew 安装、启动、管理以及优化配置 Nginx&#x…

Flink执行模式(批和流)如何选择

DataStream API支持不同的运行时执行模式(batch/streaming),你可以根据自己的需求选择对应模式。 DataStream API的默认执行模式就是streaming,用于需要连续增量处理并且预计会一直保持在线的无界(数据源输入是无限的)作业。 而batch执行模式则用于有界(输入有限)作业…

安卓环境配置及打开新项目教程,2024年12月20日最新版

1.去官网下载最新的Android Studio&#xff0c;网址&#xff1a;https://developer.android.com/studio?hlzh-cn 2.下载加速器&#xff0c;注册账号&#xff0c;开启加速器。网址&#xff1a;放在文末。 3.下载安卓代码&#xff0c;项目的路径上不能有中文&#xff0c;特别是…

VMware虚拟机Ubuntu 18.04版本 磁盘扩容

一、版本配置 虚拟机版本&#xff1a;VMware WORKSTATION 16 PRO Ubuntu版本&#xff1a;Ubuntu 18.04 二、磁盘大小介绍 目的&#xff1a;磁盘扩容&#xff08;20G----->100G&#xff09;&#xff0c;从20G扩到100G 查看磁盘大小命令&#xff1a;df -h 扩容前的磁盘大小 …