大家好,又见面了,我是你们的朋友全栈君。
IP地址划分
1 IP地址分类
主机位全0为网络地址,全1为广播地址
(1)A类IP地址
一个A类IP地址由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0”,
地址范围:1.0.0.1——126.255.255.254
二进制表示为:00000001 00000000 00000000 00000001——01111110 11111111 11111111 11111110
可用的A类网络有126个,每个网络能容纳1677214个主机
(2)B类IP地址
一个B类IP地址由2个字节的网络地址和2个字节的主机地址组成,网络地址的最高位必须是“10”,
地址范围:128.1.0.1——191.255.255.254
二进制表示为:10000000 00000001 00000000 00000001——10111111 11111111 11111111 11111110
可用的B类网络有16384个,每个网络能容纳65534主机
(3)C类IP地址
一个C类IP地址由3字节的网络地址和1字节的主机地址组成,网络地址的最高位必须是“110”
范围:192.0.1.1——223.255.255.254
二进制表示为: 11000000 00000000 00000001 00000001 —— 11011111 11111111 11111110 11111110
C类网络可达2097152个,每个网络能容纳254个主机
(4)D类地址用于多点广播
D类IP地址第一个字节以“1110”开始,它是一个专门保留的地址。它并不指向特定的网络,目前这一类地址被用在多点广播(Multicast)中多点广播地址用来一次寻址一组计算机
地址范围:224.0.0.1——239.255.255.254
(5)E类IP地址
以“1111”开始,为将来使用保留,E类地址保留,仅作实验和开发用
(6) 私有ip
在这么多网络IP中,国际规定有一部分IP地址是用于我们的局域网使用,也就是属于私网IP,不在公网中使用的,它们的范围是:
10.0.0.0~10.255.255.255
172.16.0.0~172.31.255.255
192.168.0.0~192.168.255.255
注意
IP地址127.0.0.1~127.255.255.255
用于回路测试,
如:127.0.0.1可以代表本机IP地址,用http://127.0.0.1就可以测试本机中配置的Web服务器。
2 子网掩码的概述及作用
(1)子网掩码是一个应用于TCP/IP网络的32位二进制值,每节8位,必须结合IP地址对应使用。
(2)子网掩码32位都与IP地址32位对应,如果某位是网络地址,则子网掩码为1,否则为0。
(3)子网掩码可以通过与IP地址“与”计算,分离出IP地址中的网络地址和主机地址,用于判断该IP地址是在局域网上,还是在广域网上。
(4)子网掩码一般用于将网络进一步划分为若干子网,以避免主机过多而拥堵或过少而IP浪费。
3 子网掩码的分类
1)缺省子网掩码(未划分子网):
子网掩码32位与IP地址32位对应,如果某位是网络地址,则子网掩码为1,否则为0。例如A类IP地址,第一节为网络地址,其余三节为主机地址,故掩码为“11111111.00000000.00000000.00000000”
A类网络缺省子网掩码:255.0.0.0
B类网络缺省子网掩码:255.255.0.0
C类网络缺省子网掩码:255.255.255.0
2)自定义子网掩码(用于划分子网):
将一个网络划分为若干子网,希望每个子网拥有不同的网络地址或子网地址。因为IP是有限的,实际上我们是将主机地址分为两个部分:子网网络地址、子网主机地址。形式如下:
未做子网划分的ip地址:网络地址+主机地址
做子网划分后的ip地址:网络地址+(子网网络地址+子网主机地址)
4 子网掩码计算
(1)利用子网数来计算
在求子网掩码之前必须先搞清楚要划分的子网数目,以及每个子网内的所需主机数目。
1)将子网数目转化为二进制来表示
2)取得该二进制的位数,为 N
3)取得该 IP地址的类子网掩码,将其主机地址部分的的前N位置 1 即得出该IP地址划分子网的子网掩码。
如欲将C类IP地址192.168.10.0划分成4个子网:
1)4=100
2)该二进制为三位数,N = 3
3)将C类地址的子网掩码255.255.255.0的主机地址前3位置 1,得到子网掩码255.255.255.224。(具体见下图)
(2)利用主机数来计算
1)将主机数目转化为二进制来表示
2)如果主机数小于或等于254(注意去掉保留的两个IP地址,去除子网网络地址(主机号全0)和子网广播地址(主机号全1)),则取得该主机的二进制位数。
3)将该类IP地址的主机地址位数全部置1,然后从后向前的将N位全部置为 0,即为子网掩码值。
如将B类IP地址192.168.10.0划分成若干子网,每个子网内有主机25台:
1)25=11001
2)该二进制为十位数,N = 5
3)将该B类地址的子网掩码 255.255.255.0的主机地址全部置 1,得到255.255.255.255,然后再从后向前将后5位置0,即为:11111111.11111111.11111111.11100000,即255.255.252.224。
5 子网聚和
子网聚和与子网划分的操作与意图正好相反,子网聚合即将多个子网合成一个超网。尽量找到它的最小合集,方能找到最小的超网。
例:将下面五个子网聚和成一个超网
192.168.11.0/27
192.168.12.0/27
192.168.14.0/27
192.168.14.32/27
192.168.14.64/27
子网聚和就是将不同的用二进制展开,上下对应,找出相同位置处的数字,若数字相同,则将超网的相同位上置与其位上相同的数字,即如果全为0,则置0,全为1,则置为1;如相同位置处的数字有不同,则在超网的相应位上为0。如下所示:
00001011 00000000
00001100 00000000
00001110 00000000
00001110 00100000
00001110 01000000
得:00001000 00000000
且前面5位是相同的,所以,掩码长度为16+5=21
故此超网为:192.168.8.0/21
注意:
- 主机位的最大和最小的都是不能用的,主机位全0,为网络地址,全1为广播地址。
- 网络地址的划分,有一种比较方便的方法,那就是计算主机数,/21代表网络位在第3段,(第3段指的是xxx.xxx.xxx.xxx,掩码的第3段,掩码一共32位,每段8位)那么/21,即第3段掩码网络号占5位,剩余主机位位11位,11个主机位,能够编码出210-2个主机ip地址。
参考文章:
作者:Zuoyan
出处:https://www.cnblogs.com/kangxinxin/p/9917961.html
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/132112.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...