子网掩码不能单独存在,它必须结合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和子网掩码的每位数AND就可以了。
AND方法:0和1=0 0和0=0 1和1=1
如:And 192.168.0.1,255.255.255.0,先转换为二进制,然后AND每一位
IP 11000000.10101000.00000000.00000001
子网掩码 11111111.11111111.11111111.00000000
得出AND结果  11000000.10101000.00000000.00000000
转换为十进制192.168.0.0,这就是网络标识,
再将子网掩码反取,也就是00000000.00000000.00000000.11111111,与IP AND
得出结果00000000.00000000.00000000.00000001,转换为10进制,即0.0.0.1,
这0.0.0.1就是主机标识。要想在同一网段,必需做到网络标识一样。

快,滋醒这个做梦的人,有糖尿病的往后靠靠哈,不要给他点甜头!