子网掩码的概念及作用

来源:互联网 发布:虚拟骑行软件 编辑:程序博客网 时间:2024/05/16 15:54
一、 子网掩码的概念及作用  
子网掩码 (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 的网络地址,主机地址以此类推。
0 0