Linux常用命令--子网掩码
摘要
-
本文介绍子网掩码的作用
-
本文基于
CentOS8(x86_64)
子网掩码
-
我们经常看到10.8.1.0/24这种ip表示方式,其表示为从10.8.1.0这个IP开始,24代表子网掩码为255.255.255.0,共包含256个地址,即从0-255共256个IP,即10.8.1.0~10.8.1.255。
-
这里
/24
代表子网掩码,IP地址由4段8位二进制数表示,总共32位长度,/24
即前面有24个1组成,后面就是32-24=8
个0,即255.255.255.0
,这就是子网掩码,后面8个0,表示可以分配的IP地址为2的8次方,共256个。
举例如下:
A类IP地址的默认子网掩码为255.0.0.0,由于255相当于二进制的8位1,所以也缩写成“/8”,表示网络号占了8位,/12表示网络号占了12位,即有12个1,以此类推。
具体的设置规则可参考下表:
IP总数 | 子网掩码 | |
---|---|---|
/24 | 256 | 255.255.255.0 |
/20 | 4096 | 255.255.240.0 |
/16 | 65536 | 255.255.0.0 |
/12 | 1048576 | 255.240.0.0 |
/8 | 16777216 | 255.0.0.0 |
子网掩码
是用来判断任意两台计算机的IP地址是否属于同一子网络的根据。
最为简单的理解就是两台计算机各自的IP地址与子网掩码进行与
运算后,得出的结果是相同的,则说明这两台计算机是处于同一个子网络上的,可以进行直接的通讯。
比如:
网段:10.8.1.0/24
网络地址:10.8.1.0
子网掩码:255.255.255.0
主机地址:10.8.1.1~10.8.1.254
广播地址:10.8.1.255
主机地址+网络地址+广播地址:256
计算规则:
10进制 | 二进制 | 说明 | |
---|---|---|---|
主机地址 | 10.8.1.1 | 00001010.00001000.00000001.00000001 |
10.8.1.1~10.8.1.254,这些ip和子网掩码与 后的结果都相同 |
子网掩码 | 255.255.255.0 | 11111111.11111111.11111111.00000000 |
/24,即24个1 |
网络地址 | 10.8.1.0 | 00001010.00001000.00000001.00000000 |
主机地址和子网掩码与 运算后的结果就得到了网络地址,同一个物理网络上的所有主机都使用同一个网络地址 |
广播地址 | 10.8.1.255 | 00001010.00001000.00000001.11111111 |
网络地址最后的0全部变为1就得到了广播地址 |
以172.16.0.0/12为例,其子网掩码是255.240.0.0,
则172.16.0.0是网络地址,172.31.255.255是广播地址,网络地址相同的ip可以互相通信
IP地址分为五类,A类保留给政府机构,B类分配给中等规模的公司,C类分配给任何需要的人,D类用于组播,E类用于实验,各类可容纳的地址数目不同。
其中A类、B类、和C类这三类地址用于TCP/IP节点,其它两类D类和E类被用于特殊用途。
A、B、C三类IP地址的特征
:当将IP地址写成二进制形式时,A类地址的第一位总是O,B类地址的前两位总是10,C类地址的前三位总是110。
地址类型 | 二进制 | 十进制 | 地址范围 | 私有地址 | 保留地址 | 说明 |
---|---|---|---|---|---|---|
A类 | 0000000.00000000.00000000.00000000 | 0.0.0.0 | 1.0.0.1~126.155.255.254 | 10.X.X.X | 127.X.X.X | 第1字节为网络地址,其它3个字节为主机地址,第1个字节的第一位固定为0,注意数字0和127不作为A类地址 |
B类 | 10000000.00000000.00000000.00000000 | 128.0.0.0 | 128.0.0.1~191.255.255.254 | 172.16.0.0~172.31.255.255 | 169.254.X.X | 第1字节和第2字节为网络地址,其它2个字节为主机地址,第1个字节的前两位固定为10 |
C类 | 11000000.00000000.00000000.00000000 | 192.0.0.0 | 192.0.0.1~223.255.255.254 | 192.168.X.X | 第1字节、第2字节和第3个字节为网络地址,第4个个字节为主机地址,第1个字节的前三位固定为110 | |
D类 | 11100000.00000000.00000000.00000000 | 224.0.0.0 | 224.0.0.1~239.255.255.254 | 不分网络地址和主机地址,第1个字节的前四位固定为1110,这一类地址被用在多点广播(Multicast)中 | ||
E类 | 11110000.00000000.00000000.00000000 | 240.0.0.0 | 240.0.0.1~255.255.255.254 | 第1个字节的前五位固定为11110,为将来使用保留 |
私有网络地址
(以下简称私网地址)是指内部网络或者主机的IP地址,IANA(互联网数字分配机构)规定将下列的IP地址保留用作私网地址,不在Internet上被分配,可在一个单位或公司内部使用。RFC918中规定私有地址如下:
私有地址类别 | 地址范围 | 网段 |
---|---|---|
A类私有地址 | 10.0.0.0 ~ 10.255.255.255 | 10.0.0.0/8 |
B类私有地址 | 172.16.0.0 ~ 172.31.255.255 | 172.16.0.0/12 |
C类私有地址 | 192.168.0.0 ~ 192.168.255.255 | 192.168.0.0/16 |
知道主机地址和子网掩码,如何快速获得网络地址、广播地址等信息
-
linux下提供了
ipcalc
和sipcalc
命令,没安装的话可以使用yum
进行安装
1 | # ipcalc |
-
mac下同样可以使用
ipcalc
和sipcalc
命令,没安装的话可以使用brew
进行安装
1 | # mac下ipcalc命令的使用方式与linux不同 |