子网掩码介绍

IP地址的结构
要想理解什么是子网掩码,就不能不了解IP地址的构成。互联网是由许多小型网络构成的,每个网络上都有许多主机,这样便构成了一个有层次的结构。IP地址在设计时就考虑到地址分配的层次特点,将每个IP地址都分割成网络号和主机号两部分,以便于IP地址的寻址操作。
IP 地址的网络号和主机号各是多少位呢?如果不指定,就不知道哪些位是网络号、哪些是主机号,这就需要通过子网掩码来实现。
什么是子网掩码
子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。
子网掩码的设定必须遵循一定的规则。与IP地址相同,子网掩码的长度也是32位,左边是网络位,用二进制数字“1”表示;右边是主机位,用二进制数字“0”表示。附图所示的就是IP地址为“192.168.1.1”和子网掩码为“255.255.255.0”的二进制对照。其中,“1”有24个,代表与此相对应的IP地址左边24位是网络号;“0”有8个,代表与此相对应的IP地址右边8位是主机号。这样,子网掩码就确定了一个IP地址的32位二进制数字中哪些是网络号、哪些是主机号。这对于采用TCP/IP协议的网络来说非常重要,只有通过子网掩码,才能表明一台主机所在的子网与其他子网的关系,使网络正常工作。
常用的子网掩码
子网掩码有数百种,这里只介绍最常用的两种子网掩码,它们分别是“255.255.255.0”和 “255.255.0.0”。
1. 子网掩码是“255.255.255.0”的网络:最后面一个数字可以在0~255范围内任意变化,因此可以提供256个IP地址。但是实际可用的IP地址数量是256-2,即254个,因为主机号不能全是“0”或全是“1”。
2. 子网掩码是 “255.255.0.0”的网络:后面两个数字可以在0~255范围内任意变化,可以提供2552个IP地址。但是实际可用的IP地址数量是 2552-2,即65023个。
IP地址的子网掩码设置不是任意的。如果将子网掩码设置过大,也就是说子网范围扩大,那么,根据子网寻径规则,很可能发往和本地机不在同一子网内的目的机的数据,会因为错误的判断而认为目的机是在同一子网内,那么,数据包将在本子网内循环,直到超时并抛弃,使数据不能正确到达目的机,导致网络传输错误;如果将子网掩码设置得过小,那么就会将本来属于同一子网内的机器之间的通信当做是跨子网传输,数据包都交给缺省网关处理,这样势必增加缺省网关的负担,造成网络效率下降。因此,子网掩码应该根据网络的规模进行设置。
如果一个网络的规模不超过254台电脑,采用“255.255.255.0”作为子网掩码就可以了,现在大多数局域网都不会超过这个数字,因此“255.255.255.0”是最常用的IP地址子网掩码;笔者见到的最大规模的中小学校园网具有1500多台电脑,这种规模的局域网可以使用“255.255.0.0”。
默认子网掩码
在 Windows 2000 Server中,如果给一个网卡指定IP地址,系统会自动填入一个默认的子网掩码。这是 Windows 2000 Server为了节省用户输入时间自动产生的子网掩码。比如,局域网最常使用的IP地址“192.168.x.x”默认的子网掩码是“255.255.255.0”。一般情况下,IP地址使用默认子网掩码就可以了




 子网掩码是用来判断任意两台计算机的IP地址是否属于同一子网络的根据。最为简单的理解就是两台计算机各自的IP地址与子网掩码进行AND运算后,如果得出的结果是相同的,则说明这两台计算机是处于同一个子网络上的,可以进行直接的通讯。就这么简单。

  请看以下示例:

  运算演示之一:aa

  IP 地址  192.168.0.1

  子网掩码 255.255.255.0

  转化为二进制进行运算:

  IP 地址 11010000.10101000.00000000.00000001

  子网掩码 11111111.11111111.11111111.00000000

  AND运算

  11000000.10101000.00000000.00000000

  转化为十进制后为:

  192.168.0.0

  运算演示之二:

  IP 地址  192.168.0.254

  子网掩码 255.255.255.0

  转化为二进制进行运算:

  IP 地址 11010000.10101000.00000000.11111110

  子网掩码 11111111.11111111.11111111.00000000

  AND运算

  11000000.10101000.00000000.00000000

  转化为十进制后为:

  192.168.0.0

  运算演示之三:

  IP 地址  192.168.0.4

  子网掩码 255.255.255.0

  转化为二进制进行运算:

  IP 地址 11010000.10101000.00000000.00000100

  子网掩码 11111111.11111111.11111111.00000000

  AND运算

  11000000.10101000.00000000.00000000

  转化为十进制后为:

  192.168.0.0

  通过以上对三组计算机IP地址与子网掩码的AND运算后,我们可以看到它运算结果是一样的。均为192.168.0.0 所以计算机就会把这三台计算机视为是同一子网络

猜你喜欢

转载自liujinpan75.iteye.com/blog/617458