看完这篇文章但愿能够解答的问题是:算法
一、IP地址的构成 二、什么是网络掩码? 三、如何才算是处于相同网段的通讯?
看懂所须要的门槛是:二进制换算网络
计算机之间的通讯,能够分为相同网段的通讯和不一样网段的通讯。那什么是相同网段和不一样网段呢?无论三七二十一,先画个图,感觉一下。
员工A和B就属于相同网段,A与C、B与C就是不一样网段。在图中咱们能够看到有IP地址和网关两个玩意儿,他们到底是什么呢?为何又能来区分相同网段和不一样网段?post
在回答以前,先介绍一下什么是IP地址:spa
IP地址至关于网络中的身份惟一认证ID,跟身份证ID同样是惟一的,惟一不一样的是,IP地址是能够变的,只是无论怎么变,都将会是惟一的。Mac地址的性质更加接近于身份证ID,它是设备的惟一ID。
IP地址 = 网络地址 + 主机地址code
IP地址目前广泛是IPv4版本,由32位二进制数分红4组,每组1字节Byte(8比特Bit)组成。分别用十进制表示再用圆点隔开,就是如今的172.1.1.10。blog
什么是网络地址和主机地址?图中172.1.1.10/24的24又指的是什么?
说到这里不得不解释一下什么是子网掩码(又称网络掩码)资源
24指的是子网掩码的长度,用子网掩码来表示,就是:255.255.255.0。它的做用主要是用来区分网络地址和主机地址。路由
上面咱们说了,员工A和B就属于相同网段。而归根究底是由于他们有相同的网络号,恰恰子网掩码又是用来告诉咱们他们是真的有着相同的网络号的。get
255.255.255.0用二进制表示,则是:同步
11111111.11111111.11111111.00000000
172.1.1.10用二进制表示,则是:
10101100.00000001.00000001.00001010
连续24个1,也就是172.1.1.10/24中24的由来。
经过按位与最终获得网段号:
10101100.00000001.00000001.00000000
按位与/& : 1 & 1 => 1 、 1 & 0 => 0 、 0 & 0 => 0
因此172.1.1.10中剩下的10(00001010)便是主机号,172.1.1是网段号,那回到上面的员工A、B、C中:
员工A(172.1.1.10/24)的网段号:172.1.1
员工B(172.1.1.11/24)的网段号:172.1.1
员工C(172.1.2.10/24)的网段号:172.1.2
显然A、B在同一个网段里
是否是看上去很容易了,那咱们学以至用,如今有一个IP地址:172.1.1.10/25,请问,这里的网络位、主机位是多少?主机数是多少?网络地址和广播地址是多少?网络掩码是多少?
解题步骤:
一、首先咱们将IP地址转为32位二进制:
10101100.00000001.00000001.00001010
二、从地址中知道子网掩码的长度是25,总长为32Bit,那咱们能够写上25个连续的1,剩下的补上0,获得:
11111111.11111111.11111111.10000000 (255.255.255.128)
按位与操做后,能够拿到网络位:
10101100.00000001.00000001.1xxxxxxx
三、那网络地址和广播地址是什么呢,咱们将上面的7个x,改成0,获得的就是网络地址(网络号),所有改成1,获得的就是广播地址。因此:
网络地址:10101100.00000001.00000001.10000000 十进制:172.1.1.128 广播地址: 10101100.00000001.00000001.11111111 十进制:172.1.1.255
四、那么咱们的主机位有多少呢?
172.1.1.128 ~172.1.1.255 之间(抛开网络地址和广播地址)一共能够有126个主机位。
固然这样算太累了,用一个比较简便的算法,IP地址总长 32 - 子网掩码长度 25 = 主机位 7,那么根据排列组合主机位 = 2 ^ 7 - 2 = 126,减2是减去广播地址以及网络地址。
算完上面的题目,是否是感受清晰了不少,那问题又来了?255.255.255.198这个掩码又是否是合法呢?
咱们上面的掩码长度,都是连续的1,可 255.255.255.198转为二进制是:11111111.11111111.11111111.11000110
不是连续的1了,不少人认为,这样的子网掩码是不合法的。这是错误的理解,IP协议中给子网掩码提供了必定得灵活性,容许子网掩码中的0和1不连续,可是这样的子网掩码给分配主机以及找到相同网段都形成了必定的难度。市面上也只有极少路由器支持在子网中这样使用。因此实际应用中大多都是采用上述方式。
当咱们的企业、公司去申请一个IP地址时,实际上拿到的是网络号,经过网络的性质以及规模,由本身的企业去自行分配主机号。
固然,网络号天然是要划分三六九等的,由于网络的规模差别比较大、而咱们的IP资源有限,根据网络号和主机地址来分,主要分为A、B、C三类和特殊地址D、E(能够粗略了解,传送门:https://blog.51cto.com/huchina/2159073)
至此,文章开头的问题,应该是有所解答了。
掘金同步发布