在学习子网掩码计算之前,首先我们需要先了解IP地址
一、IP地址
1.IP地址是有32位 2进制数组成的
表现形式如下:
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0001
0000 0000 0000 0000 0000 0000 0000 0010
··· ··· ··· ··· ··· ··· ··· ··· ··· ···
1111 1111 1111 1111 1111 1111 1111 1111
共计有共计42亿9千万 约等于 43亿
2.ip地址按照一定的范围划分了五类(ipv4的ip地址规定只有32位)
如下:
A类地址 0 - 127
B类地址 128-191
C类地址 192-223
D类地址 224-239 D类一般用于组播或多播,1110 0000 - 1110 1111.X.Y.Z: 224-239.X.Y.Z
E类地址 240-255 基本保留未使用
IP地址由 网络位 和 主机位组成,网络位 只可能在 左边高位,不能出现在 右边低位, 只有 网络位相同 才可以直接通信
A类 10-127
将 第一段地址(8位一段) 前8位 作为网络位
0000 0000 0000 0000 0000 0000 0000 0000
加粗的为网络位共计8位,剩余为主机位 0000 0000 0000 0000 0000 0000
············································································
共计24位,所以主机位共有 2^24=16777216 实际可用主机位为16777216 - 2=16777214
注意网络位虽然是0 - 127(但127为特殊地址,是本机地址,ping127.0.0.1=ping 自己的ip)
0000 0000
········· ·········
0111 1111 切记首位0锁死,不能变,再变就超过了A类
由A类可知ip地址的
网络位: 2^8=256 即2^网络位数次方
主机位: 2^(32-网络位) 即主机位数次方2^24=16777216
实际可用主机位位16777216 - 2=16777214
B类地址 128 - 191
前两段(16位) 网络位 后两段主机位(16位)
B类的网络位,1000 0000 = 128 10111111 = 191 这两段并不能变
网络位:2^14=16384
主机位:2^16=65536 实际可用65536-2=65534
C类地址:192 - 223
前三段 网络位 最后一段主机位
网络位:2^21=2097152
主机位:2^8=256 实际可用256-2=254
这中间,主机位全为0 代表网段, 主机位全为1 代表广播地址
所以所有类型的网络中都有两个网络不可用(后续计算中这个不能忽视)
特殊地址
特殊地址公分两类,一类公网,一类私网
公网: 全球可达
私网: 非全球可达
A B C三类私网
A类:10.0.0.0 - 10.255.255.255
B类:172.16.0.0 - 172.31.255.255
C类:192.168.0.0 - 192.168.255.255
部分特殊ip地址
0.0.0.0 代表任意地址
255.255.255.255 广播 单播 组播
169.254 错误地址,微软私网
127.0.0.1 回环网卡,就代表自身,检查自己的网卡是否有问题
ABC三类分法过于规范,之后有了子网掩码技术
子网掩码技术和ip地址成对出现
192.168.91.0/24 有24位网络位 C类地址
192.168.91.0/25 有25位网络位 不是标准的C类地址
主机位::2^(32-25)=2^7=128
需注意子网掩码是有要求的,必须为 连续的1
这种主要是在A B C 三类的基础上在进行划分
需注意网络通信不借助外力情况下直接通信,是需要网段相同(后面特殊例题跟这个有关)
了解完这些以后可以开始计算一些子网掩码,可用主机数量以及每一段的范围 和 可用主机范围,下面有两道例题试验一下
题目一、192.168.2.0/24,平均分配给四个部门(四个子网网段)使用
1.求出子网掩码
2.每一段的可用主机数量
3.求每一段的范围 和 可用主机范围
1.第一题解题思路
求出子网掩码很好计算,192.168.2.0/24,由/24可知,子网掩码是24位1,转为10进制数,子网掩码就是255.255.255.0
2.第二题解题思路
192.168.2.0/24是一个常规的C类地址,所以它的前三段是网络位,最后一段是主机位,每段可用主机数量就为2^8=256,且因为所有类型的网络中都有两个网络不可用,256-2=254,每段可用的主机数量为254
3.第三题解题思路
因为分为4段,4可以整除2,可以平均分,直接用254/4=64,得出每一段的可用范围值是64,需注意每一段都有一个网络地址和广播地址不可用,所以-2,可以很快的计算出每段的范围和可用主机范围
第一段为192.168.2.0 - 192.168.2.63,实际可用192.168.2.1 - 192.168.2.62
第二段为192.168.2.64 - 192.168.2.127,实际可用192.168.2.65 - 192.168.2.126
第三段为192.168.2.128 - 192.168.2.191,实际可用192.168.2.129 - 192.168.2.190
第四段为192.168.2.192 - 192.168.2.255,实际可用192.168.2.192 - 192.168.2.254
题目二、10.10.10.0 /24 平均分成6个部门
1.求出子网掩码
2.每一段的可用主机数量
3.求每一段的范围 和 可用主机范围
1.第一题解题思路
求出子网掩码很好计算,10.10.10.0/24,由/24可知,子网掩码是24位1,转为10进制数,子网掩码就是255.255.255.0
2.第二题解题思路
10.10.10.0/24是一个非常规的A类地址,虽然它的前一段是网络位,后三段是主机位,但/24,只剩一段可用作为主机地址使用了,一段是8位,那么之后每段可用的主机数量就为2^8=256,且因为所有类型的网络中都有两个网络不可用,256-2=254,因为分为6段,但6无法整除2,所以分成8份,直接用256/8=32每段可用的主机数量为32
3.第三题解题思路
因为分为6段,但6无法整除2,所以分成8份,直接用256/8=32,但每一段都有一个网络地址和广播地址不可用,所以-2
第一段为10.10.10.0 - 10.10.10.31,实际可用10.10.10.1 - 10.10.10.30
第二段为10.10.10.32 - 10.10.10.63,实际可用10.10.10.33 - 10.10.10.62
第三段为10.10.10.64 - 10.10.10.95,实际可用10.10.10.65 - 10.10.10.94
第四段为10.10.10.96 - 10.10.10.127,实际可用10.10.10.97 - 10.10.10.126
第五段为10.10.10.128 - 10.10.10.159,实际可用10.10.10.129 - 10.10.10.158
第六段为10.10.10.160 - 10.10.10.191,实际可用10.10.10.161 - 10.10.10.190
特殊例题:问192.168.10.10/16与192.168.0.10/24 是否可以直接通信
解题思路:
这一题主要需要考虑网络通信不借助外力情况下直接通信,是需要网段相同
所以我们需要求一下192.168.10.10/16的网段,以及192.168.0.10/24的网段
首先192.168.10.10/16
先将192.168.10.10转成2进制数
1100 0000 . 1010 1000 . 0000 1010 . 0000 1010
再将子网掩码16个1列出来 1111 1111 . 1111 1111 . 0000 0000 . 0000 0000
求网段,所以将这两数相与得出
1100 0000 . 1010 1000 . 0000 0000 . 0000 0000
即网段为192.168.0.0
然后192.168.0.10/24
同样先将192.168.0.10转成2进制数
1100 0000 . 1010 1000 . 0000 0000 . 0000 1010
再将子网掩码24个1列出来
1111 1111 . 1111 1111 . 1111 1111 . 0000 0000
求网段,所以将这两数相与得出
1100 0000 . 1010 1000 . 0000 0000 . 0000 0000
即网段为192.168.0.0
需到这里发现 192.168.10.10/16 的网段与 192.168.0.10/24 的网段看起来一致,应该可以通信对吧
但是,这两个地址是无法通信的
因为需要注意这个192.168.10.10/16的网段192.168.0.0,中间第三段的0是主机位,而192.168.0.10/24的网段的192.168.0.0,中间第三段的0是网络位,两个网段虽然都写成192.168.0.0,但每一段对应的东西其实并不相同,所以,并不满足网络通信不借助外力情况下直接通信,是需要网段相同这一条件,所以192.168.10.10/16与192.168.0.10/24 这两个地址无法通信。