子网划分一直是网管初学者头疼的问题,在网吧当中很多网管朋友是由服务员做起,慢慢学习网管技巧和知识,所以没有系统学习过TCP/IP方面的知识,由于最基础的TCIP/IP知识在日常当中根本用不到,所以导致子网划分的方法和技巧往往很难掌握到实质的经验,这也是为什么子网划分成为初学网管的难题。

  要想理解什么是子网划分,就不能不了解IP地址的构成。互联网是由许多小型网络构成的,每个网络上都有许多主机,这样便构成了一个有层次的结构。IP地址在设计时就考虑到地址分配的层次特点,将每个IP地址都分割成网络号和主机号两部分,以便于IP地址的寻址操作。

  IP地址的网络号和主机号各是多少位呢?如果不指定,就不知道哪些位是网络号、哪些是主机号,这就需要通过子网掩码来实现。本文以我曾经对一个超过255单网段网吧的实际子网划分案例,用我的理解为大家分析在网吧应用当中最常见的子网划分原则和技巧,并希望与大家交流经验。

关键知识-子网掩码:子网掩码不能单独存在,它必须结合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协议的网络来说非常重要,只有通过子网掩码,才能表明一台主机所在的子网与其他子网的关系,使网络正常工作。

子网掩码和IP地址的关系

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

运算演示:

IP地址:192。168。0。1 子网掩码:255。255。255。0 AND转化为二进制进行运算:IP地址:11000000。10101000。00000000。00000001 子网掩码:11111111。11111111。

  1111111 1。00000000 AND运算:11000000。10101000。00000000。00000000转化为十进制后为:192。168。0。0以上运算将不同IP通过AND运算后,就能确定IP是否同属于192。168。0。0这网段,也就可以判断是否可以直接通信。

案例如下:

IP地址段:192。168。0。1-192。168。0。67 子网掩码:255。255。254。0 网关:192。168。1。253 第二个子网:IP地址段:192。168。1。1-1 92。168。1。200 子网掩码:255。

  255。254。0 网关:192。168。1。253

实例当中是要按照这样来分的,但如果不知道这样分是怎么实现的,那在以后遇到这种情况仍然是不能随机应变的,所以下面我说下这样实现的原理:从已经划分成的地址类型可以看出,使用的是网吧通常使用的C类IP地址,简单的看一下子网内IP地址和网关的设定,如果懂得TCP/IP常识可以发现,IP地址是192。

  168。0。X,网关却设置成了192。168。1。X,大家会问如果这样设置的话,客户端与网关怎样进行通信呢,分明不在同一网段内。其实这样划分是有技术上的优势的,我们知道,C类IP段中,例如192。168。0。0,子网掩码为255。255。255。

  0,其中的255。255。255。0计算为二进制则表示成11111111。11111111。11111111。00000000,全为1的则表示网络部分,全为0的则表示为主机部分,那么子网掩码为255。255。255。0的网络,最多只能容纳254台主机(去除全为0和全为1的两台),那么这段网络怎么才能容纳267台主机呢。

  这里我们就用到了“借位”一说。主机位不够,那我们何不向网络位借呢,把网络位中的1位或者几位借过来作为主机位用,那不就可能容纳更多的主机了吗?

我们向网络位借该怎么借呢?该借几位呢?实际理论当中是存在这么一个公式的,这里把需要容纳的主机设为M,要借的位数设为N,那么产生一个公式,2的N次方≥M,这样就简单了,2的8次方=256,不足以容纳267台机器,那么2的9次方=512,大于267了,也可以理解为采用9位主机位的网络可以容纳512台机器,267台当然可以正常使用。

  经过这样的算法就得出了N=9,也就是要借9位主机位来表示主机数目。前文提到全为0的表示主机位,全为1的表示网络位,并且我们是用网络位来表示主机位,当然主机位是连续的了,不然这边借一位,那边再跳着借一位吧。把上面的二进制数列拿来分析一下,11111111。

  11111111。11111111。00000000这里有8位主机位,刚刚算出来需要有9位主机位,那么就向网络位借一位来用用,把网络位的最后面一位从1(网络位)变成0(主机位),这样就可以表示成11111111。11111111。11111110。

  00000000,9位主机位出来了,然后再把这个数列换算成10进制就是255。255。254。0,也就是我们划分子网的子网掩码啦,这下大家就可以知道上面方案中255。255。254。0的由来了吧。

下面该总结一下为什么网关要设置成192。168。

  1。254了,因为刚刚借过来的一位来表示主机位,我们就利用这一位来设置各个子网的IP地址段。这里我们采用的是192。168。0。0,换算成二进制就是11000000。01010100。00000000。00000000,这里第9位主机位是借来的,它可以表示成000000000和00000001,那么这个网络的IP地址就可以设置成110000000。

  01010100。00000000。00000001到11000000。01010100。00000001。11111110了,再换算成10进制就是192。168。0。1--192。168。1。254了。

这样我们就得出了最终的结果,267台机器的网络可以通过向网络位借位来表示主机位,得出的IP地址段为192。

  168。0。1--192。168。1。254,子网掩码为255。255。254。0,这样所有主机设置成IP段中的一个,子网掩码为255。255。254。0,就能够处于同一个网段,192。168。1。254自然也处于这一网段中,把它设置成网关就可以顺利的发挥网关的作用,而且整个网段内由于子网掩码作用,可以有效防止风暴的产生,还能解决互访问题。