首页 > 编程知识 正文

子网掩码二进制转换,b类子网掩码可用主机数

时间:2023-05-06 08:41:14 阅读:135271 作者:4954

如果是中小企业的话,假设有2,000台机器,给他分6万个以上的B类地址就太可惜了。 划分254个C类地址、C类地址、C类地址不够,还得申请好几个。 因此,A、B、C类的IP地址划分过于僵硬,不够灵活。 因此,提出了用IP地址来划分无类IP地址间路径(CIDR )的方法。

无类间路由(CIDR )

传统的IP地址分割方法是用8位进行分割。 或者是高位8位的网络ID、低位24位的主机ID。 或者如上位16比特网络ID、下位16比特的主机ID、或者上位24比特的网络ID、下位8比特的主机ID那样,分割IP地址的方法是固定的,上位10比特是网络ID,下位22比特是主机ID 不通过域间路由来分割这样分割IP地址的方法,就能够分割该地址,不会强制规定哪个比特是网络ID、哪个比特

子网掩码

因为没有规定明确的网络ID和主机ID,所以如果给你IP地址,你怎么知道哪个位数是网络ID位,哪个位数是主机ID位呢? 因此提出了子网掩码的概念,使得子网掩码可以根据IP地址判断哪个比特是网络ID,哪个比特是主机ID。

与网络ID对应的位、子网掩码的位为1,与主机ID对应的位、子网掩码的位为0。

a类地址的子网掩码

8位网络ID 24位主机id a类地址

1111111100000000000000000000000000子网掩码

255.0.0.0转换为十进制

b类地址的子网掩码

16位网络ID 16位主机id b类地址

111111111111110000000000000子网掩码

255.255.0.0转换为十进制

c类地址的子网掩码

24位网络ID 8位主机ID C类地址

111111111111111111111111111111111111111110000子网掩码

255.255.255.0转换为十进制

对于子网掩码,1必须在前面,0必须在后面,并且是连续的

只考虑8位的子网掩码

00000000 0

10000000 128

11000000 192

11100000 224

11110000 240

11111000 248

11111100 252

11111110 254

11111111 255

这些将成为子网掩码。

如果用一个小网络分割两个IP地址,那么如何分割这样的网络,子网掩码是什么?

将两个IP地址分割后,主机数为2,如果应用式2^x=2,则得到x=2,所以应该分割为网络ID位为30、主机ID位为2的IP地址,子网掩码为30个

无类域间路由(CIDR )表示法: IP/网络ID位数IP/(32 -主机ID位数) ) ) ) ) )。

例如,a类地址CIDR表示: IP/8

例题1 172.17.0.100/26

)1) netmask )十进制子网掩码?

前26位是网络ID,后6位是主机ID

11111111111111111111111111 000000

255.255.255.192

)2)有多少台主机?

2^(32-26 )=2^6-2=62

)3)网络ID的值是什么?

网络ID的值是IP和子网掩码相

01100010 172.17.0.100

1111111111111111111111111111111111111111110000255.255.192

01000000 172.17.0.64

因此,网络ID的值为172.17.0.64/26

备注: 255是二进制数,全部为1,所以谁是255相,还没有人,所以前三位不用想,不变,只考虑第四位就可以了。

0和0

1和0

0和1 0

1和1 1

法则: 0和谁是0,谁和1个人是谁

例题2:110.110.244.100/22

)1) netmask )十进制子网掩码?

前22位是网络ID,后10位是主机ID

11111111111111111111110000000000

255.255.252.0

)2)有多少台主机?

2^(32-22 )-2=2^10-2=1022

)3)网络ID的值是什么?

1111010001100100100110.110.244.100

1111111111111111111111100000000255.255.252.0

1111010000000000 110.110.244.0

因此,网络ID的值为110.110.244.0/22

确定两台主机是否位于一个网络中。 确定IP地址的网络ID位是否相同

192

.168.1.100/16

192.168.2.100/16

前十六位都是192.168,所以在一个网络里

192.168.1.100/24

192.168.2.100/24

看前24位,一个是192.168.1,一个是192.168.2,所以不在一个网络

假如A和B通讯

A:192.168.1.100/24

B:192.168.2.100/16

对于A来说:先拿A的IP地址与自己子网掩码相与得出网络ID值为192.168.1.0,再拿B的IP地址与自己的IP地址相与得出网络ID值为192.168.2.0(不能和B的子网掩码相与,因为A和B通讯,A只知道B的IP地址,并不知道到B的子网掩码),前24位不相同,所以在A的眼里面A和B不在一个网络里,那么A就要找路由器,通过路由器把数据发给B。

对于B来说:先拿B的IP地址与自己的子网掩码相与得出网络ID值为192.168.0.0,再拿A的IP地址与自己的子网掩码相与得出网络ID值为192.168.0.0,前16位相同,所以在B眼里B和A在一个网络里,B直接和A进行通讯。

例题3:给出IP地址和子网掩码

10.100.222.100

255.255.248.0

(1)CIDR表示法

255.255.248.0

11111111 11111111 11111000 00000000 前21位都是1,说明IP地址的网络ID位为21位

所以CIDR表示法为:10.100.222.100/21

(2)主机数是多少?

2^(32-21)-2=2^11-2=2046

(3)网络ID值是多少?

11011110 00000000 10.100.222.100

11111111 11111111 11111000 00000000 255.255.248.0

11011000 00000000 10.100.216.0

所以网络ID值为10.100.216.0/21

公式

1 主机数=2^主机ID位-2

2 网络数=2^可变的网络ID位

3 网络ID=IP和netmask 相与

4 划分子网数=2^网络ID向主机ID借的位数

5 损失IP=2*(划分子网数-1)

划分子网

划分子网:将一个大网络(主机ID位多)划分多个小的网络(主机ID位少),网络ID向主机ID借位,网络ID变多,主机ID变少

10.0.0.0/8 前8位是网络ID

IP范围:10.0.0.1~10.255.255.254

我们先借一位

10.00000000.0.0

10.0 00000000.0.0

前九位是网络ID,这就将10.0.0.0/8划分为2个子网,为10.0 0000000.0.0/9和

10.1 0000000.0.0/9(因为借来的一位是主机ID,主机ID位是可变的,所以借来的这一位也可变)

第一个子网:10.0 0000000.0.0/9 IP范围为:10.0 0000000.0.1/9~10.0 1111111.255.254/9

第二个子网:10.1 0000000.0.0/9 IP范围为:10.1 0000000.0.1/9~10.1 1111111.255.254/9

和10.0.0.0/8的范围对比发现损失了边界两个IP10.0 1111111.255.255和10.1 0000000.0.0

我们借两位

10.00000000.0.0

10.00 000000.0.0

前10位是网络ID,这就将10.0.0.0/8划分为4个子网,为10.00 000000.0.0/10和10.01 000000.0.0/10和10.10 000000.0.0/10和10.11 000000/10

第一个子网:10.00 000000.0.0/10 IP范围:10.00 000000.0.1/10~10.00 111111.255.254/10

第二个子网:10.01 000000.0.0/10 IP范围:10.01 000000.0.1/10~10.00 111111.255.254/10

第三个子网:10.10 000000.0.0/10 IP范围:10.10 000000.0.1/10~10.10 111111.255.254/10

第四个子网:10.11 000000.0.0/10 IP范围:10.11 000000.0.1/10~10.11 111111.255.254/10

和10.0.0.0/8的IP范围对比发现少了6个边界的IP,10.00 111111.255.255和10.01 000000.0.0和10.01 111111.255.255和10.10 000000.0.0和10.10 111111.255.255和10.11 000000.0.0

从这我们就可以得出两个公式:

划分子网数=2^网络ID向主机ID借的位数

损失IP=2*(划分子网数-1)

例题1:172.200.249.200/22 划分16子网

1 每个子网络netmask

划分16子网,套公式,16=2^x可以求出x=4,所以网络ID向主机ID借的位数为4,所以网络ID位数应为22+4=26位,所以子网掩码前26位为1,后6位为0

11111111111111111111111111 000000 二进制的子网掩码

255.255.255.192 转换成十进制

所以每个子网络netmask为255.255.255.192

2 每个子网络的主机数

2^(32-26)-2=2^6-2=62

3 最小子网的netid

172.200.11110 01 11001000/22

划分16子网172.200.111110 0111 001000/26向主机ID借了4位,所以0111这四位变为网络ID位了。当这四位全为0时且主机ID位全为0时,就为最小子网的网络ID,为172.200.248.0/26

4 最大子网的IP范围

借的四位全为1时,划分的子网最大,所以最大子网IP范围为:172.200.11110 11. 11000001~172.200.11110 11.11111110

化成十进制为172.200.251.193~172.200.251.254

划分超网

划分超网:将多个小网合并一个大网,主机ID向网络ID借位

例子:将以下几个小网合并成大网

220.78.168.0/24 220.78.10101 000.0/24

220.78.169.0/24 220.78.10101 001.0/24

220.78.170.0/24 220.78.10101 010.0/24

220.78.171.0/24 220.78.10101 011.0/24

220.78.172.0/24 220.78.10101 100.0/24

220.78.173.0/24 220.78.10101 101.0/24

220.78.174.0/24 220.78.10101 110.0/24

220.78.175.0/24 220.78.10101 111.0/24

将第三位划分为二进制,我们发现前两位和第三位的前5位是一样的。所以把第三位的后三位借走为主机ID,这时就变成前21位是网络ID,后11位为主机ID,就能把这几个小网合并成一个新网为220.78.10101.000.0/21,包含了原来的网络。当然合并是有前提的,借的位前面的位是相同的,且借的位是连续的(例子中000-111都包括),假如说中间缺了一位220.78.10101.011.0/24,但是合并出的新网也包含他,所以必须借的位是连续的。

原创文章,作者:fuming,如若转载,请注明出处:http://www.178linux.com/85889

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。