其实关于子网计算的文章很多,无论是书本上还是网络上都能找到,但有一点大家可能都忘记了,那就是在学会计算子网之前,必须要对IP地址和子网掩码的原理做一个比较正确地理解,可以说,理解了原理之后,任何文章都是一个方法的问题了。
对于网络入门者来说,如果不明白原理,那么这些数字192.168…..只会让我们的头脑越来越迷糊。
本人也是这么过来的,在这里用一种比较诙谐的方式写下自己的一点学习经验,只希望初学者们把这个问题弄明白,共同提高。
《猪八戒夜战子网》从培训中心出来,八戒闷闷不乐,低头不语,回到住处后也一声不吭的倒头便睡,悟空和沙僧不明就里,莫名其妙。
沙僧更是纳闷:“自从上网络培训班取经以来,二师兄总是喜笑颜开,外了讨好漂亮的女班任更是一反常态地用功学习,今天到底是哪里不开心了呢?”悟空一摆手:“莫管他,呆子肯定是想回高老庄了”。
入夜时分,八戒悄悄地起来,到外屋点起灯,把《网络基础培训》教材打开,双手托腮,认真地看了起来:“IP地址共32位,每8位为一个八位组,其中的第1个八位组决定了该地址的分类”“为什么要用IP地址来表示网络主机呢,用网卡的MAC地址不是也可以吗”八戒心中刚刚涌起这个疑问便立刻想起了课堂上田中老师的话:“同一物理网络上的主机只有在它们相互知道对方的MAC地址的基础上才能通信,但是因为本地网卡的MAC地址和不同的网络类型有很大的关系,以太网,令牌环网,FDDI等等,为了使主机的网络地址与计算机硬件能够相对独立出来,以增强网络的路由选择能力,IP地址就在一定程度上代替了网卡的MAC地址”原来如此!八戒暗暗点头,怪不得无论是安装windows还是linux,总是把TCP/IP协议自己安上,看来IP地址是我们上网的身份证呀!八戒接着向下看:“IP地址有两部分组成:网络地址和主机地址,分配给两者的位数随地址类型的不同而变化,见下表:这个表有什么用呢?也许只是告诉我们看到一个IP地址的第一个反应是知道它是属于哪一类的吧。
八戒安慰着自己,又看到了下一个表格:保留地址,这个我可明白,八戒心想,有一些IP地址在实际运作中被保留起来代表一些特定的事物,往往不能用来表示某一台具体的主机,必须要学会看懂这些地址。
看来对于IP地址而言,概念上也不是很难理解,至少现在看到一个IP地址地址我知道它的基本信息了。
八戒眨了眨猪眼,喝了一杯水,又翻到了下一页。
“子网化”看到了这几个字,八戒的眉头开始皱了起来,今天课堂上,女老师用了三个小时,费尽口舌给大家讲的就是这个问题,子网到底如何计算?八戒可是越听越迷糊,等做题时看到200.16.10.0的时候头都疼了,老师讲解的10道例题一个也没弄懂,确实郁闷之极,但八戒转念一想:这是我上培训班遇到的第一个难题,难道我堂堂天蓬元帅会被几个数字难道吗?我一定能搞定的!八戒又睁大猪眼看了起来,不想有决心是一回事,看明白又是另外一回事。
半个时辰下来,八戒看的头晕脑胀,眼冒金星,不由得气极败坏,甩掉书本,便欲发作……就在这个时候,一片笑声从后面传来,八戒一回头,原来是悟空和沙僧,正在每人手持一串葡萄,边吃边看自己的窘态呢。
八戒有点脸红,又有点不忿:看我这么辛苦,也不来帮忙,你们还是我的好兄弟呢?悟空却不理这个话茬,反而直接向八戒发问:"为什么要划分子网?子网划分有什么意义?""这个..."一个问题就把八戒问住了,是啊,子网划分有什么用处呢?我还真不知道.悟空又接着说:"不正确了解子网的概念,不明白划分子网的道理就机械地去做题,把子网计算当作单纯的算术题.能不糊涂吗?差之毫厘,谬之千里也"一句话点醒梦中人!八戒仔细一想,还真是这个道理,吃掉了沙僧手里的葡萄,八戒渐渐地静下心来,开始向悟空虚心请教:"大师兄能不能给我讲讲呢?""其实也很简单"悟空回答道.目前IP地址采用分类编址的缺点日益明显,最突出的问题就是IP地址不够用!确切的讲是B类地址不够用.因为A类地址可提供的主机地址数十分巨大,虽然其网络地址较少,但毕竟用得不是很多.C类地址可提供更多的网络地址数,但由于每个网络可以提供的主机地址数太少(254),往往不能满足需要.所以B类地址把大量的注册申请,造成地址资源紧张.比如,某个机构需要1000个IP地址,去申请B类地址,那么无论对IP地址,还是对这个机构,都是一种浪费.因此,我们必须对现有的IP地址进行合理的子网化.用书上的话说:就是(1)可以扩展网络。
通过增加路由器、创建子网来扩展网络,以连接更多的计算机。
(2)减少CPU的负载和占用贷款。
一个网络内计算机越多,占用资源越多,发的广播越多,CPU处理这些广播所用资源越多。
(3)便于管理,通过将大的网络划分称几个小的子网可以在某个子网内的硬件出现故障后不会影响整个网络,通过管理手段提高了网络的安全性,而且可以在不同的子网内使用不同的介质,好处多多""这么说,子网掩码就是这个作用了?""对,子网化就是通过从原先用于分配主机地址的位数中分出一部分位数来形成子网地址,减少了子网内主机地址的数目,但是多出了一些新的子网,而子网掩码的作用就是用于从IP地址中提取出整个网络地址部分(包括主网地址和子网地址).让我们知道这台主机到底处于哪一个子网中""既然如此,没有子网掩码的IP地址就不能算是一个真正有用的IP地址了,对吧?"八戒问道。
“是的,具体说来,我们要用IP地址和子网掩码作二进制的“与”运算,其结果就是这个IP的网络地址,举个例子吧”IP地址:11.16.10.1子网掩码:255.0.0.0先分别变成二进制00001011.00010000.00001010.0000000111111111.00000000.00000000.00000000这两行进行了&运算的结果00001011.00000000.00000000.00000000 这就是11.16.10.1的网络地址八戒仔细的想了一下,好像明白了,又好像不明白.沙僧看出了这一点,"二师兄,老师说过了,多看一些例子就能理解了,我们必须先理论,后实践,再理论,再实践,多次反复才能进步"悟空插嘴道"沙师弟,你给八戒讲一讲例题吧"沙僧拿出一枝笔,边写边说:“你首先要理解"全0全1原则",就是在主网地址,子网地址,主机地址中,全0全1的地址不可用.在做IP计算时必须要注意这一点,然后就可以动手了,我们先考虑C类地址的子网化计算方法”对于任意一个C类地址和子网掩码,不妨设有X位用于子网化,剩余M位用于主机分配,我们有5个问题要问:1,确定该地址的类型,先定出主网地址和缺省子网掩码2,用出分配给子网的位数能产生多少个有效子网?答案:2^X-23,每个子网能提供多少个有效主机地址?答案:2^M-24,列出每个有效的子网?答案:子网掩码从右到左,找到的一个非全0的组(设其为P)转换成十进制后去减256,得数就是第一个有效子网号,第二个有效子网号=第一个有效子网号X2,依此类推,最后一个有效子网=P-第一个有效子网5,每个有效的子网的广播地址?本子网的广播地址=相邻的下一个子网地址-16,每个子网内有效的主机地址是什么?本子网的第一个有效地址=本子网地址+1例题1:IP:200.16.10.0,掩码:255.255.255.252我们按照上面的6步来1,C类地址,缺省子网掩码255.255.255.02,252变为二进制11111100,用了6位划子网,则有62个子网3,M=2,每个子网提供俩主机(少了点)4,256-252=4.则第一个子网:200.16.10.4余下类推5,第一个子网的广播地址=200.16.10.76,第一个子网的第一个有效地址=200.16.10.5例题2:IP:200.16.10.0,掩码:255.255.255.224我们按照上面的6步来1,C类地址,缺省子网掩码255.255.255.02,224变为二进制11100000,用了3位划子网,则有6个子网3,M=5,每个子网提供30主机4,256-224=32,则第一个子网:200.16.10.32余下类推5,第一个子网的广播地址=200.16.10.636,第一个子网的第一个有效地址=200.16.10.33例题3:IP:200.16.10.0,掩码:255.255.255.2401,C类地址,缺省子网掩码255.255.255.02,240变为二进制11110000,用了4位划子网,则有14个子网3,M=4,每个子网提供14个主机4,256-240=16,则第一个子网:200.16.10.16余下类推5,第一个子网的广播地址=200.16.10.316,第一个子网的第一个有效地址=200.16.10.17第一个子网的最后一个有效地址=200.16.10.30例题4:IP:200.16.10.0,掩码:255.255.255.2481,C类地址,缺省子网掩码255.255.255.02,248变为二进制11111000,用了5位划子网,则有30个子网3,M=3,每个子网提供6个主机4,256-248=8,则第一个子网:200.16.10.8余下类5,第一个子网的广播地址=200.16.10.156,第一个子网的第一个有效地址=200.16.10.8第一个子网的最后一个有效地址=200.16.10.14“这样看来,对于一个C类地址来说,当子网掩码为255.255.255.240时,所能提供的主机地址数目是最多的,对吧?"八戒已经在作总结了."C类地址的计算还是很容易麽,因为能够借用来划分子网的位数就这么几个.位数掩码子网主机2 255.255.255.192 2 623 255.255.255.224 6 304 255.255.255.240 14 145 255.255.255.248 30 66 255.255.255.252 62 2到了现在,八戒终于明白一些了,不由得想自己来试验一下,悟空却装作不知道,说"既然八戒已经学会C类地址的计算.给他一个题目做做吧."说完,悟空就在纸上写了这样一个题目.IP:199.141.27.0.子网掩码255.255.255.240请你选出下列地址中的有效的主机地址?A. 199.141.27.33B. 199.141.27.112C. 199.141.27.119D. 199.141.27.126E. 199.141.27.175F. 199.141.27.208八戒不慌不忙,开始计算,240转换为二进制是11110000,用了4位划分子网,则有效的子网数目2^4-2=14个.256-240=16,第一个有效的子网段199.141.27.16,第二个199.141.27.32,依此类推出所有网段:199.141.27.16199.141.27.32199.141.27.48199.141.27.64199.141.27.80199.141.27.96199.141.27.112199.141.27.128199.141.27.144199.141.27.160199.141.27.176199.141.27.192199.141.27.208199.141.27.224真的是14个耶.八戒心中暗喜.经过对比和筛选,八戒发现:B是一个网段地址,E是199.141.27.176的广播地址,F也是网段地址,只有A,C,D才是有效的主机地址."二师兄果然厉害,一下子就作对了!"沙僧由衷的赞叹道.“不忙,C类地址很容易的,B类的就不容易了,因为C类仅有一个八位组参与子网划分,而B类的选择要大得多,最多可以中14未参与划分子网,计算起来要注意.下面给出几个B类地址计算的例题,看看上面的5个问题是否还适用?”例题1:IP:172.16.0.0子网掩码:255.255.192.01,B类地址,缺省子网掩码:255.255.0.02,192变成二进制11000000,用了2位,则有2个有效子网3,14位用于主机地址,则每个子网的主机数(2^14-2)个4,256-192=64,则第一个子网172.16.64.05,第一个子网的广播地址=172.16.127.2556,第一个子网的第一个有效地址=172.16.64.1第一个子网的最后一个有效地址=172.16.127.254"好像有一点不同吧",悟空笑道."确实如此,就是网络地址跨越两个八位组需要注意,其他的一样"八戒道:"让我自己来看下一道题吧例题2:IP:172.16.0.0子网掩码:255.255.254.01,B类地址,缺省子网掩码:255.255.0.02,254变成二进制11111110,用了7位,则有126个子网3,9位用于主机地址,则每个子网的主机数(2^9-2)个4,256-254=2,则第一个子网172.16.2.05,第一个子网的广播地址=172.16.3.2556,第一个子网的第一个有效地址=172.16.2.1第一个子网的最后一个有效地址=172.16.3.254例题3:IP:172.16.0.0子网掩码:255.255.255.0"1,B类地址,缺省子网掩码:255.255.0.02,255变成二进制11111111,用了8位,则有254个子网3,8位用于主机地址,则每个子网的主机数(2^8-2)个4,256-255=1,则第一个子网172.16.1.05,第一个子网的广播地址=172.16.1.2556,第一个子网的第一个有效地址=172.16.1.1第一个子网的最后一个有效地址=172.16.1.254例题4:IP:172.16.0.0子网掩码:255.255.255.1281,B类地址,缺省子网掩码:255.255.0.02,255.128变成二进制11111111.10000000,用了9位,则有510个子网3,7位用于主机地址,则每个子网的主机数126个4,因为本题要涉及两个八位组,所以要分别计算,对于第四个八位组,可能的子网有256-128=128.0;对于第三个八位组,可能的子网有256-255=1,2,.....我们要对这两个结果进行排列组合,结论正好是510个子网,第一个子网应该是172.16.0.128第一个子网应该是172.16.1.05,第一个子网的广播地址=172.16.0.2556,第一个子网的第一个有效地址=172.16.0.129第一个子网的最后一个有效地址=172.16.0254这最后一道例题看起来很复杂,八戒开始有一点糊涂,不明白子网的地址是如何计算来的,但是当八戒用二进制把子网掩码列出来时,再加上“全0全1原则”的运用,我们的老猪终于把这道题弄明白了。