网络 --- IP地址和子网掩码详解

  • IP地址是一个电脑的三层网络地址,如果是公网IP地址则必须全球唯一,如果是私有IP地址必须局域网内部唯一;
  • 子网掩码是计算网络大小及IP地址范围的一个参数,使用IP地址与子网掩码可以计算出网络地址;
  • 默认网关是本网络到达外网的出口,它必须与IP地址在同一个网段。而是否在一个网段是由IP地址与子网掩码计算得到的。

IP地址


IP地址格式为:网络地址+主机地址或 IP地址=网络地址+子网地址+主机地址。
5类IP地址

子网掩码


A类的默认子网掩码 255.0.0.0     一个子网最多可以容纳1677万多台电脑
B类的默认子网掩码 255.255.0.0    一个子网最多可以容纳6万台电脑
C类的默认子网掩码 255.255.255.0   一个子网最多可以容纳254台电脑

掩码 位数 可用主机数(主机地址数)
255.0.0.0 8 16777216-2=16777214
255.128.0.0 9 8388608-2=8388606
255.192.0.0 10 4194304-2=4194302
255.224.0.0 11 2097152-2=2097150
255.240.0.0 12 1048576-2=1048574
255.248.0.0 13 524288-2=524286
255.252.0.0 14 262143=262142
255.254.0.0 15 131072-2=131070
255.255.0.0 16 65536-2=65534
255.255.128.0 17 32768-2=32766
255.255.192.0 18 16384-2=16382
255.255.224.0 19 8192-2=8190
255.255.240.0 20 4096-2=4094
255.255.248.0 21 2048-2=2046
255.255.252.0 22 1024-2=1022
255.255.254.0 23 511=510
255.255.255.0 24 256-2=254
255.255.255.128 25 128-2=126
255.255.255.192 26 64-2=62
255.255.255.224 27 31=30
255.255.255.240 28 16-2=14
255.255.255.248 29 8-2=6
255.255.255.252 30 4-2=2

判断是否同一网段


判断是否在同一网段,必需做到网络标识相同,那网络标识怎么算呢?各类IP的网络标识算法都是不一样的。

  • A类的,只算第一段。
  • B类,只算第一、二段。
  • C类,算第一、二、三段。

计算方法:

把IP地址和子网掩码的二进制数的每位数进行AND运算得到的结果;

如:And 192.168.0.1255.255.255.0,先转换为二进制,然后AND每一位

IP地址       11000000.10101000.00000000.00000001
子网掩码       11111111.11111111.11111111.00000000
AND运算结果    11000000.10101000.00000000.00000000
转换为十进制    192.168.0.0  即网络标识;

子网掩码反取   00000000.00000000.00000000.11111111
IP       11000000.10101000.00000000.00000001
AND运算结果    00000000.00000000.00000000.00000001
转换为10进制  0.0.0.1    即主机标识;

网段表示法


用CIDR(无类别域间路由选择,Classless and Subnet Address Extensions and Supernetting))的形式表示的一个网段,或者说子网。

IP地址后面斜杠加具体数字

192.168.1.0/24

确定一个子网需要知道主机地址和子网掩码,但用CIDR的形式,可以简单得到两个数值。

如:192.168.0.0/24 

表示:
这个网段的IP地址区域为 192.168.0.1 ~ 192.168.0.254
子网掩码是255.255.255.0

(192.168.0.0和192.168.0.255有特殊含义,不能用作IP地址)

子网掩码的计算方式

其实关键就在“24”上。我们知道IP地址是四个十进制数组成的,相当于32位二进制。用CIDR表示形式,后一个数字将这32位进行了间隔(以24为例):

24位用"1"表示,后面8位用0表示,得到一个二进制数:
11111111 11111111 11111111 00000000。将其转化为十进制,就是:255.255.255.0

例如:

192.168.1.0/24表示网段是192.168.1.0,子网掩码是24位;
子网掩码为:255.255.255.0,用二进制表示为:11111111 11111111 11111111 00000000 ;
这里为什么是24呢,就是因为子网掩码里面的前面连续的“1”的个数为24个,一定要连续的才行。

例如:

192.168.1.0/28表示的意思是网段是192.168.1.0
子网掩码为:255.255.255.240,用二进制表示为:11111111 11111111 11111111 11110000。

  • 问题:

24和28两个字不一样,为什么网段是一样的呢?

24位说明网络位是24位,主机位 32 - 24 = 8位,则子网的IP个数是254个,即是从00000001到11111110

28位说明网络位是28位,主机位 4 位,则子网的IP个数是14个,即是从00000001到00001110

猜你喜欢

转载自blog.csdn.net/hakey/article/details/80947254