计算机网络 | IP地址、子网掩码、网络地址、主机地址计算方式详解

关注:CodingTechWork

引言

  在计算机网络中,IP地址、子网掩码和网络地址是构建网络通信的基本元素。无论是企业网络架构、互联网连接,还是局域网(LAN)配置,它们都起着至关重要的作用。理解它们的工作原理,可以帮助我们更好地设计和管理网络。本文将对IP地址、子网掩码、网络地址和主机地址进行深入剖析,并结合具体示例加以说明。

IP地址

定义

  IP地址(Internet Protocol Address)是用于标识网络中每一台计算机或设备的唯一标识符。IP地址遵循网络层协议,通过数字形式(IPv4)或更长的字符形式(IPv6)表示。IP地址的作用是确保数据包能够从源设备准确地送达目标设备。

IPv4与IPv6

  • IPv4地址由32个二进制位组成,通常以四个十进制数字(每个数字为0-255)表示,每个数字之间用点分隔。比如:192.168.1.1
  • IPv6地址则由128个二进制位组成,通常以八组16位十六进制数表示,每组之间用冒号分隔。IPv6地址是由8个块组成,每个块由4个十六进制数字表示。例如,IPv6地址的一部分可能是00001234abcd 等。每个块的值从 0000ffff 都是有效的。比如:2001:0db8:85a3:0000:0000:8a2e:0370:7334

IP地址的结构

IPv4地址可以分为两部分:

  • 网络部分:用于标识网络的唯一性
  • 主机部分:用于标识网络中具体的设备(主机)

对于IPv6,结构更加复杂和灵活,IPv6地址通常分为三部分:

  • 前缀部分:与网络地址相关,标识网络
  • 子网部分:用于标识子网
  • 接口标识符:用于标识单个设备或主机

IP地址示例

  • IPv4示例:192.168.1.10:这是一个典型的私有IPv4地址,通常用于局域网(LAN)中的设备。
  • IPv6示例:2001:0db8:85a3:0000:0000:8a2e:0370:7334:这是一个典型的全球唯一IPv6地址,表示网络中一个设备。

子网掩码

定义

  子网掩码(Subnet Mask)是用于将IP地址分成网络部分主机部分的工具。它与IP地址相结合,用于确定网络地址和可用的主机地址。
  子网掩码也是由32位二进制数构成,其中“1”表示网络部分"0"表示主机部分。子网掩码通常和IP地址一起使用,以确定哪些IP地址属于同一网络。

作用

  • 分割网络:子网掩码允许将一个大的网络划分为多个小网络(子网),以提高网络的管理效率。
  • 决定网络范围:通过与IP地址按位进行“与”操作(AND运算),子网掩码可以帮助确定IP地址所在的网络范围。

示例(IPv4)

  • 子网掩码 255.255.255.0,即/24(表示前24位是网络部分)。
  • 子网掩码 255.255.255.128,即/25(表示前25位是网络部分)。

示例(IPv6)

  • IPv6网络2001:0db8:85a3::/48:前48位是网络部分,后80位可用于划分子网。
  • IPv6网络2001:0db8:85a3::/64:前64位是网络部分,后64位用于主机部分,通常用于标识单个主机。

网络地址

定义

  网络地址是由IP地址和子网掩码计算得出的结果,它表示网络本身而不是网络中的某个具体主机。网络地址是网络的标识符,通常不能分配给主机。

计算

  • 网络地址是通过将IP地址与子网掩码进行按位与运算得到的。
  • 对于IPv6,网络地址也是通过前缀来定义的。前缀可以表示一个完整的网络或子网,通过根据前缀长度来确定网络地址范围。

作用

  这个网络地址的作用是标识一个子网网络区域,通常用于路由选择和数据包的转发。

主机地址

定义

  主机地址是IP地址中的一部分,表示网络中某个特定设备(主机)的唯一标识符。它位于由子网掩码划分出的网络部分之外,通常是在网络地址之后的部分。主机地址是区分网络内不同设备的标识符。

计算

  • 主机地址是通过将IP地址和子网掩码进行按位与运算后得到的网络地址部分以外的剩余部分。简单来说,主机地址对应于IP地址中的主机部分,它位于子网掩码中标识为0的位置,即IP地址和子网掩码的反码进行与运算。
  • 在IPv6中,主机地址由网络地址的前缀长度决定,网络前缀后面部分即为主机地址的范围。

作用

  • 主机地址的作用是标识同一网络中的不同设备。每个设备在其网络内有一个唯一的主机地址,它在网络中用于确定通信的具体目标。例如,在局域网(LAN)中,每台计算机、打印机等设备都有一个主机地址,用于在该网络内进行数据传输。
  • 主机地址通常用于在本地网络内进行设备间的通信以及从路由器或其他设备中获取数据。

IP地址、子网掩码、网络地址和主机地址示例分析

示例 :典型家庭网络(IPv4)

配置

IP地址:192.168.1.10
子网掩码:255.255.255.0

将子网掩码转换为二进制

255.255.255.0 → 11111111.11111111.11111111.00000000

确定网络部分和主机部分

  • 网络部分:前24位(即11111111.11111111.11111111,即192.168.1)。
  • 主机部分:后8位(即00000000,即主机地址)。

网络地址计算:

将IP地址与子网掩码进行按位“与”运算:

IP地址:    192.168.1.10 → 11000000.10101000.00000001.00001010
子网掩码:  255.255.255.0 → 11111111.11111111.11111111.00000000
结果(网络部分):         11000000.10101000.00000001.00000000
  • 网络地址:192.168.1.0

广播地址计算

广播地址是通过将主机部分(即IP地址中与子网掩码为0的部分)置为全1,得到广播地址:

IP地址:    192.168.1.10 → 11000000.10101000.00000001.00001010
子网掩码反码:               00000000.00000000.00000000.11111111
结果(广播地址):            11000000.10101000.00000001.11111111
  • 广播地址: 192.168.1.255

可用主机地址范围

主机地址范围是从 192.168.1.1192.168.1.254

示例 :公司网络的子网划分(IPv4)

配置

IP地址:10.0.0.10
子网掩码:255.255.255.128(即 /25)

将子网掩码转换为二进制:

255.255.255.128 → 11111111.11111111.11111111.10000000

确定网络部分和主机部分

  • 网络部分:前25位(即11111111.11111111.11111111.10000000,即10.0.010地址段中的前25位)。
  • 主机部分:剩余7位。

网络地址计算

将IP地址与子网掩码进行按位“与”运算:

IP地址:    10.0.0.10   →    00001010.00000000.00000000.00001010
子网掩码:  255.255.255.128 → 11111111.11111111.11111111.10000000
结果(网络部分):              00001010.00000000.00000000.00000000
  • 网络地址: 10.0.0.0

广播地址计算

将IP地址中的主机部分设置为全1,得到广播地址:

IP地址:    10.0.0.10   →    00001010.00000000.00000000.00001010
子网掩码反码:                00000000.00000000.00000000.01111111
结果(广播地址):            00001010.00000000.00000000.01111111
  • 广播地址: 10.0.0.127

可用主机地址范围

主机地址范围是从10.0.0.110.0.0.126

示例 :多子网配置(IPv4)

配置

IP地址:192.168.2.25
子网掩码:255.255.255.192(即 /26)

将子网掩码转换为二进制

255.255.255.192 → 11111111.11111111.11111111.11000000

确定网络部分和主机部分

  • 网络部分:前26位(即11111111.11111111.11111111.11000000,即192.168.225地址段中的前26位)。
  • 主机部分:剩余6位。

网络地址计算

将IP地址与子网掩码进行按位“与”运算:

IP地址:    192.168.2.25    → 11000000.10101000.00000010.00011001
子网掩码:  255.255.255.192  → 11111111.11111111.11111111.11000000
结果(网络部分):               11000000.10101000.00000010.00000000
  • 网络地址:192.168.2.0

广播地址计算

将IP地址中的主机部分设置为全1,得到广播地址:

IP地址:    192.168.2.25    → 11000000.10101000.00000010.00011001
子网掩码反码:                  00000000.00000000.00000000.00111111
结果(网络部分):               11000000.10101000.00000010.00111111
  • 广播地址: 192.168.2.63

可用主机地址范围

主机地址范围是从192.168.2.1192.168.2.62

示例:前缀 2001:0db8:85a3::/64

配置

IPv6地址:2001:0db8:85a3::1
IPv6前缀:2001:0db8:85a3::/64

确定网络部分和主机部分

  • IPv6前缀/64表示网络的前64位是固定的,也就是说,地址的前64位用于表示网络部分,而剩下的64位用于表示主机地址部分。
  • 网络地址部分2001:0db8:85a3::: 表示一个网络地址,其中 :: 是连续的零段,意味着这一部分是:2001:0db8:85a3:0000:0000:0000:0000
  • 地址范围:由于前64位(2001:0db8:85a3)是固定的,因此剩下的后64位部分(0000:0000:0000:0000ffff:ffff:ffff:ffff)可以用来分配给不同的主机或设备。

网络地址计算

最小地址(网络地址):

2001:0db8:85a3:0000:0000:0000:0000

广播地址计算

最大地址(广播地址):

2001:0db8:85a3:ffff:ffff:ffff:ffff

其中,十六进制字符的含义:0 到 f 是十六进制数字的范围,表示:

0 = 十进制的 0
1 = 十进制的 1
2 = 十进制的 2
3 = 十进制的 3
4 = 十进制的 4
5 = 十进制的 5
6 = 十进制的 6
7 = 十进制的 7
8 = 十进制的 8
9 = 十进制的 9
a = 十进制的 10
b = 十进制的 11
c = 十进制的 12
d = 十进制的 13
e = 十进制的 14
f = 十进制的 15

这些地址是该网络(2001:0db8:85a3::/64)内可以分配的所有地址范围。这意味着该网络包含了从 2001:0db8:85a3:0000:0000:0000:00002001:0db8:85a3:ffff:ffff:ffff:ffff的所有IPv6地址。

可用主机地址范围

  • 最小主机地址:2001:0db8:85a3::1(这个地址是网络中的第一台设备)
  • 最大主机地址:2001:0db8:85a3:ffff:ffff:ffff:fffe(这个地址是网络中的最后一台设备)

即为:

  • IPv6地址2001:0db8:85a3::1
  • IPv6网络地址(前64位):2001:0db8:85a3:0000:0000:0000:0000
  • IPv6广播地址(最大地址):2001:0db8:85a3:ffff:ffff:ffff:ffff
  • IPv6可用主机地址范围:从2001:0db8:85a3::12001:0db8:85a3:ffff:ffff:ffff:fffe

总结

  • IP地址:是用于标识网络中设备的唯一地址。
  • 子网掩码:用于将IP地址划分为网络部分和主机部分,帮助区分同一网络内的设备和不同网络之间的设备。
  • 网络地址:通过IP地址和子网掩码按位与运算得到,标识了一个特定的子网或网络区域。
  • 主机地址:网络内某个设备的具体地址,通过网络地址和子网掩码的计算得到的主机部分。

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

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

相关文章

JAVA使用自定义注解,在项目中实现EXCEL文件的导出

首先定义一个注解 Retention(RetentionPolicy.RUNTIME) Target(ElementType.FIELD) public interface Excel {/*** 导出时在excel中排序*/int sort() default Integer.MAX_VALUE;/*** 导出到Excel中的名字.*/String name() default "";/*** 首行字段的批注*/String …

数据可视化大屏设计与实现

本文将带你一步步了解如何使用 ECharts 实现一个数据可视化大屏,并且如何动态加载天气数据展示。通过整合 HTML、CSS、JavaScript 以及后端接口请求,我们可以构建一个响应式的数据可视化页面。 1. 页面结构介绍 在此例中,整个页面分为几个主…

搭建Hadoop源代码阅读环境

个人博客地址:搭建Hadoop源代码阅读环境 | 一张假钞的真实世界 环境 Mac OS X EI Capitan 10.11.6java version “1.7.0_80”git version 2.7.4 (Apple Git-66)Apache Maven 3.3.9下载源代码 从Git上下载最新源代码: git clone git://git.apache.org/hadoop-common.git 构…

【2024年华为OD机试】 (B卷,100分)- 金字塔,BOSS的收入(Java JS PythonC/C++)

一、问题描述 微商模式收入计算 题目描述 微商模式中,下级每赚 100 元就要上交 15 元。给定每个级别的收入,求出金字塔尖上的人的收入。 输入描述 第一行输入 N,表示有 N 个代理商上下级关系。接下来输入 N 行,每行三个数&am…

光伏储能交直流微电网Matlab/Simulink仿真模型

博士毕业后项目和课题的交接工作也都基本上结束了,之前从20年我博一开始创作的博客,我也将从25年伊始重新进行更新,在保留原有内容的基础上,在对现如今的研究热点进行补充,希望能为各位校友提供一定的研究思路。首先是…

Windows中安装RabbitMQ

安装Erlang 下载地址:https://www.erlang.org/downloads 配置环境变量 变量名:ERLANG_HOME 变量值:D:\tools\Erlang-27.2 Path:%ERLANG_HOME%\bin 验证配置是否成功 erl 安装RabbitMQ 下载地址:https://www.rabbitm…

线性代数概述

矩阵与线性代数的关系 矩阵是线性代数的研究对象之一: 矩阵(Matrix)是一个按照长方阵列排列的复数或实数集合,是线性代数中的核心概念之一。矩阵的定义和性质构成了线性代数中矩阵理论的基础,而矩阵运算则简洁地表示和…

2024年度总结:从后端Java到全栈成长的蜕变

目录 前言1. 用数据与实践书写成长篇章2. 技术与生活的双重蜕变3. 技术的进阶与生活的绽放 前言 今年是我入行的第十年,也是记录在CSDN平台上的第五年。这五年来,我始终坚持记录成长的点滴,将个人事业与博客创作紧密相连。一路走来&#xff0…

关于new和delete的匹配问题

目录 引入 原理 引入 大家先看如下代码: class A { private:int _a 0; };int main() {A* arr1 new A[10];delete arr1;return 0; } 可以发现这里new了一个数组但却用delete释放。先看运行结果: 可以看到程序正常结束并没有崩 ,别急我们…

蓝桥杯3526 子树的大小 | 数学规律

题目传送门 这个题目是一个数学题,比较好的方法是从上往下寻找子树的最左和最右的结点,每层统计子结点数,到树的底部时打印结果。 如何求最左、最右的子结点呢? 对于第i个结点,其前面有i-1个结点,每个结点各有m个孩子,再加上1号结…

计算机毕业设计Python+卷积神经网络租房推荐系统 租房大屏可视化 租房爬虫 hadoop spark 58同城租房爬虫 房源推荐系统

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…

Rust实现内网穿透工具:从原理到实现

目录 1.前言2.内网穿透原理3.丐版实现3.1 share3.2 server3.3 client3.4 测试4.项目优化4.1 工作空间4.2 代码合并4.3 无锁优化4.4 数据分离4.5 错误处理4.6 测试代码4.7 参数解析本篇原文为:Rust实现内网穿透工具:从原理到实现 更多C++进阶、rust、python、逆向等等教程,可…

Mysql 主从复制原理及其工作过程,配置一主两从实验

主从原理:MySQL 主从同步是一种数据库复制技术,它通过将主服务器上的数据更改复制到一个或多个从服务器,实现数据的自动同步。 主从同步的核心原理是将主服务器上的二进制日志复制到从服务器,并在从服务器上执行这些日志中的操作…

【Vue3进阶】Pinia 中的 Store 组合式写法

Hey小伙伴们!今天来给大家分享一个 Vue3 状态管理库 Pinia 中非常实用的功能——Store 的组合式写法。通过这种写法,我们可以将多个 store 进行组合和复用,使得代码更加模块化、清晰易读。 如果你对 Vue3 和 Pinia 感兴趣,或者想…

00_专栏《Redis 7.x企业级开发实战教程》介绍

大家好,我是袁庭新。Redis作为一款高性能、多用途的内存数据库,凭借其丰富的数据结构、高速读写能力、原子操作特性及发布订阅等功能,在缓存加速、分布式锁、消息队列等场景中不可或缺,极大提升了系统性能与开发效率,是现代互联网应用架构的关键组件。 你是否在学习Redis…

TensorFlow DAY3: 高阶 API(Keras,Estimator)(完)

TensorFlow 作为深度学习框架,当然是为了帮助我们更便捷地构建神经网络。所以,本次实验将会了解如何使用 TensorFlow 来构建神经网络,并学会 TensorFlow 构建神经网络的重要函数和方法。 知识点 Keras 顺序模型Keras 函数模型Keras 模型存储…

第14章:Python TDD应对货币类开发变化(一)

写在前面 这本书是我们老板推荐过的,我在《价值心法》的推荐书单里也看到了它。用了一段时间 Cursor 软件后,我突然思考,对于测试开发工程师来说,什么才更有价值呢?如何让 AI 工具更好地辅助自己写代码,或许…

macOS查看当前项目的 tree 结构

文章目录 使用 tree 命令 macOS 系统默认不包含 tree 命令 使用 tree 命令 使用homebrew自动安装脚本/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"安装 tree:brew install tree查看项目的 tree 结构&#…

Python自动化:基于faker批量生成模拟数据(以电商行业销售数据为例)

引言:个人认为,“造数据”是一个数据分析师的一项基本技能,当然啦,“造数据”不是说胡编乱造,而是根据自己的需求去构造一些模拟数据集,用于测试等用途,而且使用虚拟数据不用担心数据隐私和安全…

WPS数据分析000004

目录 一、表格阅读技巧 冻结窗格 拆分窗口 新建窗口 阅读模式 护眼模式 二、表格打印技巧 打印预览 打印缩放 打印区域 打印标题 分页打印 打印位置 页眉页脚 逐份打印 三、表格保护技巧 锁定单元格 隐藏公式 文档权限 文件加密 一、表格阅读技巧 冻结窗…