IP地址分类以及子网组建

2024-01-06 04:20
文章标签 ip 分类 地址 组建 子网

本文主要是介绍IP地址分类以及子网组建,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1,IP简介

IP地址被用来给Internet上的电脑一个编号。大家日常见到的情况是每台联网的PC上都需要有IP地址,才能正常通信。我们可以把“个人电脑”比作“一台电话”,那么“IP地址”就相当于“电话号码”,而Internet中的路由器,就相当于电信局的“程控式交换机”。 
IP地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节)。IP地址通常用“点分十进制”表示成【a.b.c.d】的形式,其中,a,b,c,d都是0~255之间的十进制整数。例:点分十进IP地址【100.4.5.6】,实际上是32位二进制数【01100100.00000100.00000101.00000110】

2,IP地址分类

IP地址分为A,B,C,D,E五类,每个ip由两部分组成(网络号和主机号),其中A类分配给政府机关使用,B类地址给大中型企业使用,C类地址给个人使用。这三种是主要的,D类用于组播,E类用于实验,各类可容纳的地址数目不同。

其中A类、B类、和C类这三类地址用于TCP/IP节点,其它两类D类和E类被用于特殊用途。
A、B、C三类IP地址的特征:当将IP地址写成二进制形式时,A类地址的第一位总是0,B类地址的前两位总是10,C类地址的前三位总是110。如下图所示。

保留地址:

私有地址(内部局域网可以使用的)

A级:10.0.0.0 - 10.255.255.255

B级:172.16.0.0 - 172.31.255.255

C级:192.168.0.0 - 192.168.255.255

保留地址(特殊用途的)

A类:127.X.X.X

B类:169.254.X.X

3,子网掩码

子网掩码(subnet mask)又叫网络掩码、地址掩码、子网络遮罩,它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。

子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。
子网掩码是一个32位地址,用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在远程网上。

子网掩码——屏蔽一个IP地址的网络部分的“全1”比特模式。对于A类地址来说,默认的子网掩码是255.0.0.0;对于B类地址来说默认的子网掩码是255.255.0.0;对于C类地址来说默认的子网掩码是255.255.255.0。

通过子网掩码,就可以判断两个IP在不在一个局域网内部。

子网掩码可以看出有多少位是网络号,有多少位是主机号。

4,网关

网关(Gateway)又称网间连接器、协议转换器。默认网关在网络层上以实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关的结构也和路由器类似,不同的是互连层。网关既可以用于广域网互连,也可以用于局域网互连

网关实质上是一个网络通向其他网络的IP地址。

比如有网络A和网络B,网络A的IP地址范围为“192.168.1.1~192. 168.1.254”,子网掩码为255.255.255.0;网络B的IP地址范围为“192.168.2.1~192.168.2.254”,子网掩码为255.255.255.0。

在没有路由器的情况下,两个网络之间是不能进行TCP/IP通信的,即使是两个网络连接在同一台交换机(或集线器)上,TCP/IP协议也会根据子网掩码(255.255.255.0)判定两个网络中的主机处在不同的网络里。

而要实现这两个网络之间的通信,则必须通过网关。如果网络A中的主机发现数据包的目的主机不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给网络B的网关,网络B的网关再转发给网络B的某个主机。

所以说,只有设置好网关的IP地址,TCP/IP协议才能实现不同网络之间的相互通信。那么这个IP地址是哪台机器的IP地址呢?网关的IP地址是具有路由功能的设备的IP地址,具有路由功能的设备有路由器、启用了路由协议的服务器(实质上相当于一台路由器)、代理服务器(也相当于一台路由器)。

5,广播地址(Broadcast Address)

广播地址(Broadcast Address)是专门用于同时向网络中所有工作站进行发送的一个地址。

在使用TCP/IP 协议的网络中,主机标识段host ID 为全1 的IP 地址为广播地址,广播的分组传送给host ID段所涉及的所有计算机。例如,对于10.1.1.0 (255.255.255.0 )网段,其广播地址为10.1.1.255 (255 即为2 进制的11111111 ),当发出一个目的地址为10.1.1.255 的分组(封包)时,它将被分发给该网段上的所有计算机。

6,根据IP地址和子网掩码求 网络地址 和 广播地址

计算过程大概分为4个步骤

1,将IP地址和子网掩码换算为二进制,子网掩码连续全1的是网络地址,后面的是主机地址。

2,IP地址和子网掩码进行与运算,结果是网络地址(即主机号全0是网络地址)。

3,将运算结果中的网络地址不变,主机地址变为1,结果就是广播地址。

4,地址范围就是含在本网段内的所有主机。

这里举个例子,一个主机的IP地址是202.112.14.137,掩码是255.255.255.224,要求计算这个主机所在网络的网络地址和广播地址。

子网转换成二进制:255.255.255.224 -->>> 11111111 11111111 11111111 11100000

IP地址转换成二进制:202.112.14.137-->>> 11001010 01110000 00001110 10001001

IP地址&子网掩码

11001010 01110000 00001110 10001001
11111111 11111111 11111111 11100000
------------------------------------------------------
11001010 01110000 00001110 10000000

计算后的结果为11001010 01110000 00001110 10000000

转换成十进制即:202.112.14.128 (网络地址)

广播地址:网络地址的主机位全部变成1 ,11001010 01110000 00001110 10011111 即159 即:202.112.14.159

主机号有5位,那么这个地址中,就只能有25−2=3025−2=30个主机,因为其中全0作为网络地址,全1作为广播地址。

7,根据每个网络的主机数量进行子网地址的规划和计算子网掩码

比如一个子网有10台主机,那么对于这个子网需要的IP地址有10+1+1+1=13 个
注意:加的第一个1是指这个网络连接时所需的网关地址,接着的两个1分别是指网络地址和广播地址。 
因为13小于16(16等于2的4次方),所以主机位为4位。

11111111 11111111 11111111 11110000 既该子网掩码为255.255.255.240

如果一个子网有14台主机,不少人常犯的错误是:依然分配具有16个地址空间的子网,而忘记了给网关分配地址。这样就错误了,因为: 14+1+1+1=17 个
17.大于16,所以我们只能分配具有32个地址(32等于2的5次方)空间的子网。这时子网掩码为:255.255.255.224

下面把206 110 4 0/18划分成16个子网,每个子网掩码?

206.110.1.0 /18 由最后的那个/18,我们可以知道这个IP已经规定了它的网络位是18位,它默认的子网掩码就是11111111.11111111.11 | 000000.00000000(其中1代表网络位,0代表主机位)

可以看出我们可以操作的位数就是后面的14个0,也就是说我们可以在地面划分出几位作为子网的网络位,进而来划分子网。要求是切分成16个子网,我们知道2的4次方刚好等于16,这就说明子网网络位的位数是4位,那14-4=10就是子网的主机位。所以上面我写的那串二进制就可以变成:11111111.11111111.111111 | 00.00000000(其中1代表网络位,0代表主机位),转换成10进制既然子网掩码是255.255.252.0

每个子网可以容纳的主机数是2的10次方1024台。

8,附录16-30位网络号-掩码位数,IP总数,子网掩码查询表

ip段/27 /29 /30 网关,子网掩码,广播地址查询 
可用IP查询,IP段对应表

掩码位数IP总数子网掩码C段个数
/304255.255.255.2521/64
/298255.255.255.2481/32
/2816255.255.255.2401/16
/2732255.255.255.2241/8
/2664255.255.255.1921/4
/24256255.255.255.01
/23512255.255.254.02
/221024255.255.252.04
/212048255.255.248.08
/204096255.255.240.016
/198192255.255.224.032
/1816384255.255.192.064
/1732768255.255.128.0128
/1665536255.255.0.0256

24位网络号


24位网络号,8位主机号,可形成1个子网(C段总数),每个子网256-2台主机

网络地址可用IP范围广播地址
.0.1-.254.255

25位网络号


25位网络号,7位主机号,可形成2个子网,每个子网126台主机

网络地址可用IP范围广播地址
.0.1-.126.127
.128.129-.254.255

26位网络号


26位网络号,6位主机号,可形成4个子网,每个子网62台主机

网络地址可用IP范围广播地址
.0.1-.62.63
.64.65-.126.127
.128.129-.190.191
.192.193-.254.255

27位网络号


27位网络号,5位主机号,可形成8个子网,每个子网30台主机

网络地址可用IP范围广播地址
.0.1-.30.31
.32.33-.62.63
.64.65-.94.95
.96.97-.126.127
.128.129-.158.159
.160.161-.190.191
.192.193-.222.223
.224.225-.254.255

28位网络号


28位网络号,4位主机号,可形成16个子网,每个子网14台主机

网络地址可用IP范围广播地址
.0.1-.14.15
.16.17-.30.31
.32.33-.46.47
.48.49-.62.63
.64.65-.78.79
.80.81-.94.95
.96.97-.110.111
.112.113-.126.127
.128.129-.142.143
.144.145-.158.159
.160.161-.174.175
.176.177-.190.191
.192.193-.206.207
.208.209-.222.223
.224.225-.238.239
.240.241-.254.255

29位网络号


29位网络号,3位主机号,可形成32个子网,每个子网6台主机

网络地址可用IP范围广播地址
.0.1-.6.7
.8.9-.14.15
.16.17-.22.23
.24.25-.30.31
.32.33-.38.39
.40.41-.46.47
.48.49-.54.55
.56.57-.62.63
.64.65-.70.71
.72.73-.78.79
.80.81-.86.87
.88.89-.94.95
.96.97-.102.103
.104.105-.110.111
.112.113-.118.119
.120.121-.126.127
.128.129-.134.135
.136.137-.142.143
.144.145-.150.151
.152.153-.158.159
.160.161-.166.167
.168.169-.174.175
.176.177-.182.183
.184.185-.190.191
.192.193-.198.199
.200.201-.206.207
.208.209-.214.215
.216.217-.222.223
.224.225-.230.231
.232.233-.238.239
.240.241-.246.247
.248.249-.254.255

30位网络号


29位网络号,3位主机号,可形成64个子网,每个子网2台主机

网络地址可用IP范围广播地址
.0.1-.2.3
.4.5-.6.7
.8.9-.10.11
.12.13-.14.15
.16.17-.18.19
.20.21-.22.23
.24.25-.26.27
.28.29-.30.31
.32.33-.34.35
.36.37-.38.39
.40.41-.42.43
.44.45-.46.47
.48.49-.50.51
.52.53-.54.55
.56.57-.58.59
.60.61-.62.63
.64.65-.66.67
.68.69-.70.71
.72.73-.74.75
.76.77-.78.79
.80.81-.82.83
.84.85-.86.87
.88.89-.90.91
.92.93-.94.95
.96.97-.98.99
.100.101-.102.103
.104.105-.106.107
.108.109-.110.111
.112.113-.114.115
.116.117-.118.119
.120.121-.122.123
.124.125-.126.127
.128.129-.130.131
.132.133-.134.135
.136.137-.138.139
.140.141-.142.143
.144.145-.146.147
.148.149-.150.151
.152.153-.154.155
.156.157-.158.159
.160.161-.162.163
.164.165-.166.167
.168.169-.170.171
.172.173-.174.175
.176.177-.178.179
.180.181-.182.183
.184.185-.186.187
.188.189-.190.191
.192.193-.194.195
.196.197-.198.199
.200.201-.202.203
.204.205-.206.207
.208.209-.210.211
.212.213-.214.215
.216.217-.218.219
.220.221-.222.223
.224.225-.226.227
.228.229-.230.231
.232.233-.234.235
.236.237-.238.239
.240.241-.242.243
.244.245-.246.247
.248.249-.250.251
.252.253-.254.255

这篇关于IP地址分类以及子网组建的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Ubuntu固定虚拟机ip地址的方法教程

《Ubuntu固定虚拟机ip地址的方法教程》本文详细介绍了如何在Ubuntu虚拟机中固定IP地址,包括检查和编辑`/etc/apt/sources.list`文件、更新网络配置文件以及使用Networ... 1、由于虚拟机网络是桥接,所以ip地址会不停地变化,接下来我们就讲述ip如何固定 2、如果apt安

查询SQL Server数据库服务器IP地址的多种有效方法

《查询SQLServer数据库服务器IP地址的多种有效方法》作为数据库管理员或开发人员,了解如何查询SQLServer数据库服务器的IP地址是一项重要技能,本文将介绍几种简单而有效的方法,帮助你轻松... 目录使用T-SQL查询方法1:使用系统函数方法2:使用系统视图使用SQL Server Configu

使用Java实现获取客户端IP地址

《使用Java实现获取客户端IP地址》这篇文章主要为大家详细介绍了如何使用Java实现获取客户端IP地址,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 首先是获取 IP,直接上代码import org.springframework.web.context.request.Requ

C#使用DeepSeek API实现自然语言处理,文本分类和情感分析

《C#使用DeepSeekAPI实现自然语言处理,文本分类和情感分析》在C#中使用DeepSeekAPI可以实现多种功能,例如自然语言处理、文本分类、情感分析等,本文主要为大家介绍了具体实现步骤,... 目录准备工作文本生成文本分类问答系统代码生成翻译功能文本摘要文本校对图像描述生成总结在C#中使用Deep

Linux环境变量&&进程地址空间详解

《Linux环境变量&&进程地址空间详解》本文介绍了Linux环境变量、命令行参数、进程地址空间以及Linux内核进程调度队列的相关知识,环境变量是系统运行环境的参数,命令行参数用于传递给程序的参数,... 目录一、初步认识环境变量1.1常见的环境变量1.2环境变量的基本概念二、命令行参数2.1通过命令编程

C++实现获取本机MAC地址与IP地址

《C++实现获取本机MAC地址与IP地址》这篇文章主要为大家详细介绍了C++实现获取本机MAC地址与IP地址的两种方式,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 实际工作中,项目上常常需要获取本机的IP地址和MAC地址,在此使用两种方案获取1.MFC中获取IP和MAC地址获取

C/C++通过IP获取局域网网卡MAC地址

《C/C++通过IP获取局域网网卡MAC地址》这篇文章主要为大家详细介绍了C++如何通过Win32API函数SendARP从IP地址获取局域网内网卡的MAC地址,感兴趣的小伙伴可以跟随小编一起学习一下... C/C++通过IP获取局域网网卡MAC地址通过win32 SendARP获取MAC地址代码#i

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

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

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

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

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

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