网络基础-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

相关文章

SpringBoot服务获取Pod当前IP的两种方案

《SpringBoot服务获取Pod当前IP的两种方案》在Kubernetes集群中,SpringBoot服务获取Pod当前IP的方案主要有两种,通过环境变量注入或通过Java代码动态获取网络接口IP... 目录方案一:通过 Kubernetes Downward API 注入环境变量原理步骤方案二:通过

从基础到进阶详解Pandas时间数据处理指南

《从基础到进阶详解Pandas时间数据处理指南》Pandas构建了完整的时间数据处理生态,核心由四个基础类构成,Timestamp,DatetimeIndex,Period和Timedelta,下面我... 目录1. 时间数据类型与基础操作1.1 核心时间对象体系1.2 时间数据生成技巧2. 时间索引与数据

安装centos8设置基础软件仓库时出错的解决方案

《安装centos8设置基础软件仓库时出错的解决方案》:本文主要介绍安装centos8设置基础软件仓库时出错的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录安装Centos8设置基础软件仓库时出错版本 8版本 8.2.200android4版本 javas

Linux基础命令@grep、wc、管道符的使用详解

《Linux基础命令@grep、wc、管道符的使用详解》:本文主要介绍Linux基础命令@grep、wc、管道符的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录grep概念语法作用演示一演示二演示三,带选项 -nwc概念语法作用wc,不带选项-c,统计字节数-

python操作redis基础

《python操作redis基础》Redis(RemoteDictionaryServer)是一个开源的、基于内存的键值对(Key-Value)存储系统,它通常用作数据库、缓存和消息代理,这篇文章... 目录1. Redis 简介2. 前提条件3. 安装 python Redis 客户端库4. 连接到 Re

Linux网络配置之网桥和虚拟网络的配置指南

《Linux网络配置之网桥和虚拟网络的配置指南》这篇文章主要为大家详细介绍了Linux中配置网桥和虚拟网络的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 一、网桥的配置在linux系统中配置一个新的网桥主要涉及以下几个步骤:1.为yum仓库做准备,安装组件epel-re

SpringBoot基础框架详解

《SpringBoot基础框架详解》SpringBoot开发目的是为了简化Spring应用的创建、运行、调试和部署等,使用SpringBoot可以不用或者只需要很少的Spring配置就可以让企业项目快... 目录SpringBoot基础 – 框架介绍1.SpringBoot介绍1.1 概述1.2 核心功能2

python如何下载网络文件到本地指定文件夹

《python如何下载网络文件到本地指定文件夹》这篇文章主要为大家详细介绍了python如何实现下载网络文件到本地指定文件夹,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下...  在python中下载文件到本地指定文件夹可以通过以下步骤实现,使用requests库处理HTTP请求,并结合o

Spring Boot集成SLF4j从基础到高级实践(最新推荐)

《SpringBoot集成SLF4j从基础到高级实践(最新推荐)》SLF4j(SimpleLoggingFacadeforJava)是一个日志门面(Facade),不是具体的日志实现,这篇文章主要介... 目录一、日志框架概述与SLF4j简介1.1 为什么需要日志框架1.2 主流日志框架对比1.3 SLF4

Spring Boot集成Logback终极指南之从基础到高级配置实战指南

《SpringBoot集成Logback终极指南之从基础到高级配置实战指南》Logback是一个可靠、通用且快速的Java日志框架,作为Log4j的继承者,由Log4j创始人设计,:本文主要介绍... 目录一、Logback简介与Spring Boot集成基础1.1 Logback是什么?1.2 Sprin