网络基础-IP地址(IPv4)

2024-05-03 21:44
文章标签 基础 ip 地址 网络 ipv4

本文主要是介绍网络基础-IP地址(IPv4),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

IP地址是指互联网协议地址(Internet Protocol Address),它是分配给网络设备的数字标识符,用于在网络中定位和识别设备。IP地址使得数据包能够在网络中正确地发送和路由到目标设备。

IP地址分为IPv4地址和IPv6地址两类,本篇文章主要对IPv4进行介绍

IPv4地址的表示方法

IPv4(Internet Protocol version 4)由32位二进制数字组成,通常以”点分十进制“(dotted-decimal)表示,这32位二进制数字被分为四个8位(一个字节)的组,每个组用十进制数表示,其十进制的范围为0.0.0.0~255.255.255.255。

IPv4地址组成
一个IPv4地址由网络标识和主机标识组成。

网络标识:是IPv4地址中用于表示特定网络的部分。在IPv4地址中,网络标识指示了网络的身份,并决定了哪个网络中的设备被分配了该IP地址。网络标识的长度取决于IP地址的分类子网掩码

主机标识(Host ID)是指在IPv4地址中用于标识特定主机(或设备)的部分。在IPv4地址中,主机标识确定了特定网络中的哪台设备被分配了该IP地址。主机标识的长度取决于IP地址的分类子网掩码

IPv4地址的分类

分类方法①:

IPv4地址根据其最高位的几位数字被分为以下五个主要类别:A类、B类、C类、D类和E类。

A类地址:
A类地址的范围是1.0.0.0到127.255.255.255。
在A类地址中,第一个字节的最高位固定为0(二进制形式)。

A类地址包含有特殊的地址范围,它们被保留用于特定目的而不被用于普通的网络分配。这些特殊地址是:

0.0.0.0:被用作默认路由(Default Route)地址,通常表示未知或未指定的目的地;可以标识任意地址。
127.0.0.0 ~ 127.255.255.255:这个范围被保留用于回环测试(Loopback Testing)。其中的127.0.0.1是最常见的回环地址(localhost),用于将数据发送回发送者,通常用于测试网络接口或本地主机上的服务。、
B类地址:
B类地址的范围是128.0.0.0到191.255.255.255
B类地址中,第一个字节的最高位固定为10(二进制形式)

B类地址中的特殊地址:

本地链路地址,地址范围169.254.0.0~160.254.255.255
当主机自动获取地址失败后,可 使用该网段中的某个地址进行临时通信。
C类地址
C类地址的范围是192.0.0.0到223.255.255.255
在C类地址中,第一个字节的最高位固定为110
D类地址
D地址用于多播/组播(Multicast)通信,该类地址范围是224.0.0.0到239.255.255.255
D类地址不具备网络标识或主机标识,而是用于多播组的标识
E类地址
E类地址保留用于实验和未分配的目的,该类地址的范围是240.0.0.0到255.255.255.255
E类地址不具备网络标识或主机标识

第二种分类方法②:

IPv4地址可以分为公有地址和私有地址两种类型,它们用于不同的网络环境和目的。

公有地址(Public Address)
公有地址是指由互联网注册机构(如IANA、RIPE等)分配给组织或个人使用的IP地址。这些地址可以在因特网上直接访问和路由,用于公共网络通信,通常用于托管公共服务、网站、服务器等。
私有地址(Private Address)
私有地址是保留用于内部网络或局域网的IP地址,不会被路由到因特网上;这些地址通常用于组织内部网络、家庭网络或私人网络中的设备;私有地址范围是在IPv4地址空间中专门保留的,以便在私有网络中使用而不与公共网络冲突。

IPv4私有地址的范围包括:

  • A类中的私有地址范围:10.0.0.0 到 10.255.255.255(CIDR表示法为10.0.0.0/8)

  • B类中的私有地址范围:172.16.0.0 到 172.31.255.255(CIDR表示法为172.16.0.0/12)

  • C类中的私有地址范围:192.168.0.0 到 192.168.255.255(CIDR表示法为192.168.0.0/16)

第三种分类:

根据IPv4地址的特定属性,主要是根据地址中的主机标识部分的值来进行分类;可以分为网络地址、广播地址、可用地址。

网络地址
网络地址是IPv4地址中的第一个地址,用于表示整个网络的范围。在网络地址中,主机标识部分全部为0。这使得网络地址可以用来标识一个网络的起始位置。

例如:192.168.10.0/24

广播地址
广播地址用于向一个网络中的所有设备发送数据包。在IPv4中,广播地址的主机标识部分全部为1,使得该地址可以将数据包发送到网络中的所有设备。

例如:192.168.10.255/24

广播地址分类:

①有限广播地址/本地广播地址,地址范围255.255.255.255
可作为目的地址,发往当前广播域内的所有主机(受限于网关)。
​
②定向广播地址,地址范围X.255.255.255、X.X.255.255、X.X.X.255
发往目标广播域的所有主机。

可用地址
可用地址是指在一个网络中可以分配给主机使用的IP地址范围。在一个子网中,可用地址是网络地址和广播地址之间的所有地址。这些地址用于分配给具体的主机使用,用于网络通信和数据传输。

例如:192.168.10.1/24

网络掩码

网络掩码(Subnet Mask)是一个32位的二进制数字,用于将一个IPv4地址划分为网络标识部分和主机标识部分。网络掩码与IPv4地址一起使用,以确定一个IP地址属于哪个网络,以及其网络和主机部分的长度。网络掩码中的连续的1位表示网络标识,连续的0位表示主机标识。网络掩码中的1位和0位的数量及其位置确定了网络的范围和主机的数量。

A类地址默认网络掩码:255.0.0.0 (CIDR表示法为 /8),表示网络部分有8位,主机部分有24位,即一个子网中有2^24-2个可用主机地址。
​
B类地址默认网络掩码:255.255.0.0 (CIDR表示法为 /16),表示网络部分有16位,主机部分有16位,即一个子网中有2^16-2个可用主机地址。
​
C类地址默认网络掩码:255.255.255.0 (CIDR表示法为 /24),表示网络部分有24位,主机部分有8位,即一个子网中有2^8-2个可用主机地址。

IP地址计算

网络地址(网络号)计算
  1. 首先,确定给定IP地址的IPv4地址和网络掩码。例如,IP地址为192.168.1.10,网络掩码为255.255.255.0。

  2. 将IP地址和网络掩码分别转换为二进制形式。

  3. 将网络掩码应用于IP地址,将其与IP地址按位相与(AND操作)。这会产生网络地址。

  4. 计算广播地址的方法取决于网络地址的类型(A类、B类或C类)。对于大多数情况,广播地址可以通过将网络地址的主机标识部分全部设置为1来获得。

  5. 将计算出的网络地址和广播地址从二进制转换为十进制,以获得最终的网络地址和广播地址。

下面是一个示例:

IP地址:192.168.1.10
网络掩码:255.255.255.0
​
将IP地址和网络掩码转换为二进制:
IP地址:11000000.10101000.00000001.00001010
网络掩码:11111111.11111111.11111111.00000000
​
网络地址 = IP地址 AND 网络掩码 = 11000000.10101000.00000001.00000000 = 192.168.1.0
广播地址 = 网络地址 + 主机位取反 = 192.168.1.0 + 00000000.00000000.00000000.11111111 = 192.168.1.255

这篇关于网络基础-IP地址(IPv4)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/957712

相关文章

SSID究竟是什么? WiFi网络名称及工作方式解析

《SSID究竟是什么?WiFi网络名称及工作方式解析》SID可以看作是无线网络的名称,类似于有线网络中的网络名称或者路由器的名称,在无线网络中,设备通过SSID来识别和连接到特定的无线网络... 当提到 Wi-Fi 网络时,就避不开「SSID」这个术语。简单来说,SSID 就是 Wi-Fi 网络的名称。比如

shell脚本快速检查192.168.1网段ip是否在用的方法

《shell脚本快速检查192.168.1网段ip是否在用的方法》该Shell脚本通过并发ping命令检查192.168.1网段中哪些IP地址正在使用,脚本定义了网络段、超时时间和并行扫描数量,并使用... 目录脚本:检查 192.168.1 网段 IP 是否在用脚本说明使用方法示例输出优化建议总结检查 1

MySQL中my.ini文件的基础配置和优化配置方式

《MySQL中my.ini文件的基础配置和优化配置方式》文章讨论了数据库异步同步的优化思路,包括三个主要方面:幂等性、时序和延迟,作者还分享了MySQL配置文件的优化经验,并鼓励读者提供支持... 目录mysql my.ini文件的配置和优化配置优化思路MySQL配置文件优化总结MySQL my.ini文件

Java实现任务管理器性能网络监控数据的方法详解

《Java实现任务管理器性能网络监控数据的方法详解》在现代操作系统中,任务管理器是一个非常重要的工具,用于监控和管理计算机的运行状态,包括CPU使用率、内存占用等,对于开发者和系统管理员来说,了解这些... 目录引言一、背景知识二、准备工作1. Maven依赖2. Gradle依赖三、代码实现四、代码详解五

Redis连接失败:客户端IP不在白名单中的问题分析与解决方案

《Redis连接失败:客户端IP不在白名单中的问题分析与解决方案》在现代分布式系统中,Redis作为一种高性能的内存数据库,被广泛应用于缓存、消息队列、会话存储等场景,然而,在实际使用过程中,我们可能... 目录一、问题背景二、错误分析1. 错误信息解读2. 根本原因三、解决方案1. 将客户端IP添加到Re

SpringBoot实现基于URL和IP的访问频率限制

《SpringBoot实现基于URL和IP的访问频率限制》在现代Web应用中,接口被恶意刷新或暴力请求是一种常见的攻击手段,为了保护系统资源,需要对接口的访问频率进行限制,下面我们就来看看如何使用... 目录1. 引言2. 项目依赖3. 配置 Redis4. 创建拦截器5. 注册拦截器6. 创建控制器8.

Linux限制ip访问的解决方案

《Linux限制ip访问的解决方案》为了修复安全扫描中发现的漏洞,我们需要对某些服务设置访问限制,具体来说,就是要确保只有指定的内部IP地址能够访问这些服务,所以本文给大家介绍了Linux限制ip访问... 目录背景:解决方案:使用Firewalld防火墙规则验证方法深度了解防火墙逻辑应用场景与扩展背景:

常用的jdk下载地址

jdk下载地址 安装方式可以看之前的博客: mac安装jdk oracle 版本:https://www.oracle.com/java/technologies/downloads/ Eclipse Temurin版本:https://adoptium.net/zh-CN/temurin/releases/ 阿里版本: github:https://github.com/

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]