要知道子网掩码,网络ID,IP之间关系,那么我们需要了解一些基础知识。
1、IP地址的种类
比如我电脑IPv4 地址的地址为192.168.126.1,为了让机器识别转化为8位二进制
11000000.10101000.01111110.00000001 那么如果全部都为1一共有多少个IP呢?
255255255*255 那么一共是40多亿。很明显这个ip全部分给这么多设备是不够分的。
为了解决公网IP地址不足的情况,于是发明了私有IP (Private IP)比如一个家庭(公司)有几台电脑,每台电脑都拥有 私有IP,它们之间组成一个局域网这几个私有IP,可以通过某些技术(NAT),共同使用一个公有IP也就是说,一个公有IP,可以分出很多个很多个私有IP,这样IPV4不足的问题就解决了私有IP为了更好的管理。
tcp/ip协议中,专门保留了三个IP地址区域作为私有地址,其地址范围如下:
A:10.0.0.0/8:10.0.0.0~10.255.255.255
B:172.16.0.0/12:172.16.0.0~172.31.255.255
C:192.168.0.0/16:192.168.0.0~192.168.255.255
A、B、C类IP地址
类别 | IP地址范围 | 私网IP地址范围 | 子网掩码 | 网络数 | 网段最大主机数 |
---|---|---|---|---|---|
A | 1.0.0.1-127.255.255.254 | 10.0.0.0-10.255.255.255 | 255.0.0.0 | 126 (2^ 7-2) | 16777214 (2^ 24-2) |
B | 128.0.0.1-191.255.255.254 | 172.16.0.0-172.31.255.255 | 255.255.0.0 | 16383 (2^ 14-1) | 65534 (2^16-2) |
C | 192.0.0.1-223.255.255.254 | 192.168.0.0-192.168.255.255 | 255.0.0.0 | 255.255.255.0 | 2097152 (2^ 21-1) |
IP地址同样有两部分地址组成,分别是"网络地址(网络号)"和“主机地址(主机号),只要IP地址的"网络号net_id(紫色)"相同,我们就把这几个IP地址称之为在同一个网段
2、子网掩码
子网掩码(网络掩码/地址掩码)是一种用来指明一个IP地址的哪些位标识的是主机所在的网络地址与主机地址的位掩码。通常情况下,子网掩码和地址本身的表示方法是一样的。子网掩码不能单独存在,它必须结合IP地址一起使用。比如192.168.126.1/24 表明换算为2进制之后前24位都为网络ID。
这里用192.168.126.1/26 做一个例子
子网掩码(2进制表示,26表示前26位都为二进制的1):11111111 11111111 11111111 11000000
IP(2进制表示): 11000000.10101000.01111110.00000001
子网掩码和IP做与运算(每一个二进制位相与),得到网络ID:
网络ID(2进制): 11000000.10101000.01111110. 00000000
网络ID(10进制): 192.168.0.0
子网掩码(10进制): 255.255.255.192
我们根据上面的IP分类划分可以知道192.168.126.1为C类IP,那么网络号就是前面24位
划分的子网个数: 2的(26-24)次方=2x2=4个
192.168.0.0~192.168.0.63 (网络ID:192.168.0.0 广播地址:192.168.0.63)
192.168.0.64~192.168.0.127 (网络ID:192.168.0.64 广播地址:192.168.0.127)
192.168.0.128~192.168.0.191 (网络ID:192.168.0.128 广播地址:192.168.0.191)
192.168.0.192~192.168.0.255 (网络ID:192.168.0.192 广播地址:192.168.0.255)
那么我们通过上面的内容来判断192.168.0.1/26 和 192.168.0.5/26 是同一个网段吗?
是的,他们都属于同一个子网
那么我们通过上面的内容来判断192.168.0.1/26 和 192.168.0.191/26是同一个网段吗?
他们属于两个子网了
那么我们通过上面的内容来判断192.168.0.1/24 和 192.168.0.191/24 是同一个网段吗?
现在网络Id表示为前面三位,同属于192.168.0 ,故属于同一个网段