子网掩码的概念及作用

一、 子网掩码的概念及作用  
子网掩码  (subnet mask)  又叫网络掩码、地址掩码、子网络遮罩,是一个应用于  TCP/IP  网络的  32  位二进制值。它可以屏蔽掉  IP  地址中的一部分,从而分离出  IP  地址中的网络部分与主机部分,基于子网掩码,管理员可以将网络进一步划分为若干子网。它必须结合  IP  地址一起使用。
二、 为什么需要使用子网掩码  
虽然我们说子网掩码可以分离出  IP  地址中的网络部分与主机部分,可大家还是会有疑问,比如为什么要区分网络地址与主机地址?区分以后又怎样呢?那么好,让我们再详细的讲一下吧!
通过计算机的子网掩码判断两台计算机是否属于同一网段的方法是,将计算机十进制的 IP 地址和子网掩码转换为二进制的形式,然后进行二进制“与” (AND) 计算(全 1 则得 1 ,不全 1 则得 0 ),如果得出的结果是相同的,那么这两台计算机就属于同一网段。具体来说:
  1. 我们通过将本机的子网掩码接受方主机的 IP 地址进行 与 运算,即可得到目标主机所在的网络号,
  2. 又由于每台主机在配置 TCP/IP 协议时都设置了一个本机 IP 地址与子网掩码,将本机的子网掩码与本机的 IP 地址进行 与 运算,即可得到本机所在的网络号。
通过比较这两个网络号,就可以知道接受方主机是否在本网络上。如果网络号相同,表明接受方在本网络上,那么可以通过相关的协议 ( 注: ARP ,详细参考下面提高部分 ) 把数据包直接发送到目标主机;如果网络号不同,表明目标主机在远程网络上,那么数据包将会发送给本网络上的路由器,由路由器将数据包发送到其他网络,直至到达目的地。在这个过程中你可以看到,子网掩码是不可或缺的!
三、 如何用子网掩码得到网络  主机地址  
既然子网掩码这么重要,那么它是如何分离出  IP  地址中的网络地址和主机地址的呢?
过程如下:
1. 将  IP  地址与子网掩码转换成二进制;
2. 将二进制形式的  IP  地址与子网掩码做  与  运算,将答案化为十进制便得到网络地址;
课程上主要讲解一下如何取网络地址
3. 将二进制形式的子网掩码取  反 
4. 将取  反  后的子网掩码与  IP  地址做  与  运算,将答案化为十进制便得到主机地址。
下面我们用一个例子给大家演示:
假设有一个  I P  地址:  192.168.0.1
子网掩码为:  255.255.255.0
化为二进制为:  I P  地址  11000000.10101000.00000000.00000001
子网掩码  11111111.11111111.11111111.00000000
将两者做  与  运算得:  11000000.10101000.00000000.00000000
将其化为十进制得:  192.168.0.0
这便是上面  IP  的网络地址,主机地址以此类推。

你可能感兴趣的:(网络)