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.降低网络拥塞,减轻路由器的压力。

子网划分的计算方法

原理:借位计算。

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

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

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

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

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

/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

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

实例2:

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

设部门为ABCDE,各部门分配子网能包含的主机数(暂不减2):

A:5+2=7<8 = 2^3  需要借8-3=5位,即/29

B:10+2=12<16 = 2^4  需要借8-4=4位,即/28

C:12+2=14<16 = 2^4  需要借8-4=4位,即/28

D:20+2=22<32 = 2^5  需要借8-5=3位,即/27

E:50+2=22<64 = 2^6  需要借8-6=2位,即/26

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

解析:

A部门的广播地址10.10.1.7===>10.10.1.0000 0111,因为主机ID的前5位被借去做网络ID了,所以其主机ID即为111,当主机位全为1时,是该网段的广播地址,所以10.10.1.7为广播地址。

 

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

上一篇:ubuntu16.04 通过命令,修改屏幕分辨率


下一篇:如何使用root账户登录ubuntu