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

相关文章

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

揭秘Python Socket网络编程的7种硬核用法

《揭秘PythonSocket网络编程的7种硬核用法》Socket不仅能做聊天室,还能干一大堆硬核操作,这篇文章就带大家看看Python网络编程的7种超实用玩法,感兴趣的小伙伴可以跟随小编一起... 目录1.端口扫描器:探测开放端口2.简易 HTTP 服务器:10 秒搭个网页3.局域网游戏:多人联机对战4.

C#基础之委托详解(Delegate)

《C#基础之委托详解(Delegate)》:本文主要介绍C#基础之委托(Delegate),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 委托定义2. 委托实例化3. 多播委托(Multicast Delegates)4. 委托的用途事件处理回调函数LINQ

SpringBoot使用OkHttp完成高效网络请求详解

《SpringBoot使用OkHttp完成高效网络请求详解》OkHttp是一个高效的HTTP客户端,支持同步和异步请求,且具备自动处理cookie、缓存和连接池等高级功能,下面我们来看看SpringB... 目录一、OkHttp 简介二、在 Spring Boot 中集成 OkHttp三、封装 OkHttp

Linux系统之主机网络配置方式

《Linux系统之主机网络配置方式》:本文主要介绍Linux系统之主机网络配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、查看主机的网络参数1、查看主机名2、查看IP地址3、查看网关4、查看DNS二、配置网卡1、修改网卡配置文件2、nmcli工具【通用

使用Python高效获取网络数据的操作指南

《使用Python高效获取网络数据的操作指南》网络爬虫是一种自动化程序,用于访问和提取网站上的数据,Python是进行网络爬虫开发的理想语言,拥有丰富的库和工具,使得编写和维护爬虫变得简单高效,本文将... 目录网络爬虫的基本概念常用库介绍安装库Requests和BeautifulSoup爬虫开发发送请求解

Linux系统中配置静态IP地址的详细步骤

《Linux系统中配置静态IP地址的详细步骤》本文详细介绍了在Linux系统中配置静态IP地址的五个步骤,包括打开终端、编辑网络配置文件、配置IP地址、保存并重启网络服务,这对于系统管理员和新手都极具... 目录步骤一:打开终端步骤二:编辑网络配置文件步骤三:配置静态IP地址步骤四:保存并关闭文件步骤五:重

Linux配置IP地址的三种实现方式

《Linux配置IP地址的三种实现方式》:本文主要介绍Linux配置IP地址的三种实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录环境RedHat9第一种安装 直接配置网卡文件第二种方式 nmcli(Networkmanager command-line

Linux虚拟机不显示IP地址的解决方法(亲测有效)

《Linux虚拟机不显示IP地址的解决方法(亲测有效)》本文主要介绍了通过VMware新装的Linux系统没有IP地址的解决方法,主要步骤包括:关闭虚拟机、打开VM虚拟网络编辑器、还原VMnet8或修... 目录前言步骤0.问题情况1.关闭虚拟机2.China编程打开VM虚拟网络编辑器3.1 方法一:点击还原VM

Nginx实现动态封禁IP的步骤指南

《Nginx实现动态封禁IP的步骤指南》在日常的生产环境中,网站可能会遭遇恶意请求、DDoS攻击或其他有害的访问行为,为了应对这些情况,动态封禁IP是一项十分重要的安全策略,本篇博客将介绍如何通过NG... 目录1、简述2、实现方式3、使用 fail2ban 动态封禁3.1 安装 fail2ban3.2 配