有很多帖子是关于子网掩码的,把它贡献给大家吧。本人在工程实践中的一点体会。即用于交流。
我们现在采用的是IP v4的标准,子网掩码共32位(bit)。子网掩码为1的位表示网络好,0表示主机号。比如一个ip地址 10.112.1.2 掩码255.255.255.0 它的网络号为10.112.1.0 (也就是把IP地址和子网掩码作与运算),所有在同一个网络号中的主机之间相互进行访问是不需要走路由的,通俗点说,网络号相同的主机相当于在同一个房间中的人,他们相互联系不需要出门口(网关)。
我们知道ip地址分abcde五类,其中de一个用于广播,一个是保留地址,我们不去讨论。在正常情况下,a类地址的掩码是255.0.0.0 b类地址的掩码是255.255.0.0 c类地址的掩码是255.255.255.0 我们把它称之为标准的子网掩码。
在实际的应用中,我们常采用可变长子网掩码,可变长子网掩码的思想是把原来用于表示主机号的一部分为拿过来表示子网号。或许你已经蒙了。没关系,这些理论你可以慢慢看书,下面我来讲一下工程中的做法。我们知道,很多人并不是学网络专业的,专业知识也并不多,但是干工程却是一把好手,原因在于它把复杂的理论简单化了,让我们一起来看一下吧。
首先你应该记住这样几个数字256 128 64 32 16 8 4 这个对你应该是不难的(2的2次幂到2的8次幂)
其次要记住每一个网络中(一个网络号)必须有一个网关(本网络的大门)地址
具体计算如下:8-3〉=5〉=4-3 所以子网掩码为255.255.255.248(256-8),如果有六台计算机的话子网掩码就应该是 16-3〉=6〉=8-3 255.255.255.240(256-16)
这就是工程中的计算方法,要注意我这里采用的是a类地址中的私有地址,采用可变长子网掩码,子网的划分只能在你所拥有的地址范围内进行。
不要试图把一二百台以上的计算机划入到一个网络中去,这样是非常危险的,容易引起广播风暴。不同的子网间的通讯问题可以采用三层协议解决,比如走路由。
不知道你清楚了没有,文字表述总是不如当面讲解得好,或许我的文字功底太差了吧。给你讲一个事例吧,我处理过的一个网络故障。
有两个局域网一个局域网网关10.112.14.1 掩码255.255.255.224 里面有一台服务器地址为10.112.14.14
另一个局域网网关10.112.14.129 掩码255.255.255.128 有80台计算机 做好之后一切正常。
三层协议正常不多说了。一台有人打电话说,80台计算机能够上网访问internet和其他内网服务器,唯独无法访问10.112.14.14这台服务器。在我办公室和其他地方都可以正常访问此服务器。我详细询问了故障发生前的情况,管理员说把80台计算机重新做了之后(网络同传后只更改了IP地址)就无法访问那台服务器了。确定故障原因在于80台计算机。仔细检查(用tracert10.112.14.14跟踪路由)后,发现子网掩码被设为255.255.255.0导致计算机认为服务器和自己在同一个网络内(网络号相同),没走网关,当然无法访问,更改为255.255.255.128后问题解决。由此可见,千万别小看了子网掩码。它的作用一是确认网络所属,二是限制网络中可接入设备的数量。
首先要强调一点,ip地址和子网掩码不是独立存在的,只有把两者结合起来才具有实际的意义。下面给出一个实例仅供参考。比如有五个局域网,每个局域网中计算机的数量为4,5,17,30,40,注意使计算机的数量,每一个局域网中还应该有一个网关地址,再加上全0和全1的地址才是主机地址数(0表示没有主机,1表示广播地址),下面给出ip地址及子网掩码。
ip地址 子网掩码 网络号 主机可用地址范围
10.112.1.1 255.255.255.248 10.112.1.0 10.112.1.1--10.112.1.6
10.112.1.9 255.255.255.248 10.112.1.8 10.112.1.9--10.112.1.14
10.112.1.33 255.255.255.224 10.112.1.32 10.112.1.33--10.112.1.62(注意起始地址不能是17,否则的话网络号与第一个子网重复,就出错了)
10.112.1.65 255.255.255.192 10.112.1.64 10.112.1.65--10.112.1.126
10.112.1.129 255.255.255.192 10.112.1.128 10.112.1.129--10.112.1.190
以上划分方法仅供参考,二进制的运算过程自己慢慢算吧