划分子网为什么要减2?
发布网友
发布时间:2022-04-28 16:00
我来回答
共2个回答
热心网友
时间:2022-06-19 14:42
你这是从老古董书里看来的吧,主机个数是要减2,而子网个数现在一般是不需要减去2的。
主机数减去2是因为要除去子网网络地址(主机号全0)和子网广播地址(主机号全1),每个子网的这两个地址都是保留不能分配给主机,所以要减去2。
至于子网个数减去2是因为很早以前的网络设备跟相关协议是不支持子网号全0跟全1,里面会出现地址重叠的现象。但是这都是很久以前的老书上这样的算法,现在一般都是不用减去2的,网络设备跟相关协议能都区分全0跟全1子网号了。追问
为什么第3个字节从0到99?
追答150.80.0.0/16 ---- 10010110 01010000 00000000 00000000
前16位网络号,后16位主机号,划分为主机号7位的子网,也就是说原先16位主机号里面拿出了9为来划分子网。
例如:注意()里面的就是那9位,也是你那个问题的关键所在,只是这9位有8位的你所诉说的第三字节,还有一位是第四字节的第一位。
150.80.0.0/25 ---- 10010110 01010000 (00000000 0)0000000
150.80.0.128/25 ---- 10010110 01010000 (00000000 1)0000000
150.80.1.0/25 ---- 10010110 01010000 (00000001 0)0000000
150.80.2.0/25 ---- 10010110 01010000 (00000010 0)0000000
一直到:
150.80.255.128/25 ---- 10010110 01010000 (11111111 1)0000000
这里面可以有2的9次方也就是512个这样的网络,题目说200个就够了,那么第200个是那个呢。
实际上也就是那()里吗9位二进制的第二百个,他从(000000000)开始,到(111111111)结束。
想象成十进制,实际上就是从0开始的,那么 第二百个也就199这个十进制转化成这9位二进制的值,也就是(011000111)。
再把这个(011000111)放回去,前8个放第三字节,后一个放回第四字节首位:
自然就是150.80.99.128/25 ---- 10010110 01010000 (01100011 1)0000000
热心网友
时间:2022-06-19 14:42
1楼正解,就是去掉了网络地址和广播地址 所以减去2