linux网络基础---子网掩码和子网划分

子网掩码

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

例:我们常用的内网IP地址:192.168.0.100,默认子网掩码:255.255.255.0,指明前3个字节是网络位,第4个字节是主机位。两者可以写成:192.168.0.100/24 (前3个字节,每个字节是8位)

IP地址是以网络号和主机号来标示网络上的主机的,我们把网络号相同的主机称之为本地网络,网络号不相同的主机称之为远程网络主机,本地网络中的主机可以直接相互通信;远程网络中的主机要相互通信必须通过本地网关(Gateway)来传递转发数据。

为什么要使用子网掩码?

两台主机通信,要先判断是否处于同一网段,如果相同,那么可以把数据包直接发送到目标主机,否则就需要路由网关将数据包转发送到目的地。

A主机要与B主机通信,A和B各自的IP地址与A主机的子网掩码进行And与运算,看得出的结果:

1、结果如果相同,则说明这两台主机是处于同一个网段,这样A可以通过ARP广播发现B的MAC地址,B也可以发现A的MAC地址来实现正常通信。

2、如果结果不同,ARP广播会在本地网关终结,这时候A会把发给B的数据包先发给本地网关,网关再根据B主机的IP地址来查询路由表,再将数据包继续传递转发,最终送达到目的地B。

子网掩码和IP地址的逻辑与运算

运算规则:0&0=0;0&1=0;1&0=0;1&1=1;例:

IP地址:192.168.1.120

子网掩码:255.255.255.0

11000000  10101000  00000001  01111000

11111111    11111111    11111111   00000000

———————————————————

11000000  10101000  00000001 00000000

即计算出来的网段是192.168.1.0

为什么要划分子网?

比如我们使用192.168.0的网段,该网段最大能容纳253个主机(主机ID位0特指这个网段,主机ID位全为1指广播地址即该网段所有主机,还有一个网关地址如192.168.0.254,所以256-3=253),而我们只有50台主机,如果不划分子网的话,就会造成地址浪费,降低性能。子网划分的好处:

1.避免地址产生浪费

2.降低广播风暴问题

3.降低网络拥塞,减轻路由器的压力。

子网划分的计算方法

原理:借位计算。

①将一个大的子网拆分成多个小的子网

②借用主机位,变为网络位

③调整划分的网络子网掩码

④获得每个子网的主机范围

/24 代表255.255.255.0

/25 代表255.255.255.128

解释:向主机ID借一位,255.255.255.0000 0000 ===》255.255.255.1000 0000

依次类推:

/26 代表255.255.255.192,255.255.255.0000 0000 ===》255.255.255.1100 0000 借两位

/27 代表255.255.255.224,255.255.255.0000 0000 ===》255.255.255.1110 0000 借三位

/28 代表255.255.255.240

/29 代表255.255.255.248

/30 代表255.255.255.252

/31 代表255.255.255.254

/32 代表255.255.255.255

选定的子网掩码会创建几个子网?

2^x个,x为子网掩码借用的主机位数。

每个子网能包含几台主机?

2^y-2个,y为剩余的主机位数,-2是将主机位全为0或1的两个去掉。

计算子网的步长(增量)

如 /26 是255.255.255.192,子网的步长即为256-192=64

实例1:

将192.168.0.*的网段划分为4个子网

因为4=2^2,所以要向主机ID借2位,也就是/26

子网的步长=256-192=64,所以合法的子网为0  64  128  192

实例2:

公司有5个部门,分别有5、10、12、20、50台电脑,使用10.10.1.*/24网段,请划分子网。

按人数从多到少设部门为ABCDE(这里暂不计算网关,所以每个网段还要+2数目即网段位和广播地址位):

A:50+2 < 2^6=64 即借8-6=2位,子网掩码/26即255.255.255.192,步长256-192=64,地址范围10.10.1.[0-63]

B:20+2 < 2^5=32 即借8-5=3位,子网掩码/27即255.255.255.224,步长256-224=32,地址范围10.10.1.[64-95]

C:12+2 < 2^4=16 即借8-4=4位,子网掩码/28即255.255.255.240,步长256-240=16,地址范围10.10.1.[96-111]

D:10+2 < 2^4=16 即借8-4=4位,子网掩码/28即255.255.255.240,步长256-240=16,地址范围10.10.1.[112-127]

E:5+2 < 2^3=8 即借8-3=5位,子网掩码/29即255.255.255.248,步长256-248=8,地址范围10.10.1.[128-135]

 

posted @ 2020-05-20 17:51  盗哥泡茶去了  阅读(2744)  评论(0编辑  收藏  举报