刚从临市做工程回来,这几天没关注论坛,发现很多关于IP和子网掩码的帖子.闲来无事,大家探讨一下.高手绕路,此贴对您没用~时间宝贵~拒绝浪费. 基础: 与运算: 当两者皆为真时,结果为真,否则为假.在计算机中,常用2进制的1表示真,0表示假. 例:1与1=1 1与0=0 网络地址: 该子网中,主机位全0的IP为网络地址.\ |——这里的1和0皆为IP的2进制表示方法时. 广播地址:该子网中,主机位全1的IP为广播地址. / 子网掩码的作用: 确定IP所在的子网. 也可以通俗的理解成办公室的墙壁,将各部门隔断. 子网掩码的表示方法: IP形式: 255.255.255.0 十进制形式: 192.168.1.1/24 红色部分为子网掩码.子网掩码与IP不可告人的秘密:概括的说,很难,所以举 192.168.1.1 为例. 十进制:192.168.1.1 255.255.255.0 二进制: IP:1100000000.10101000.00000001.00000001 掩码:1111111111.11111111.11111111.00000000 我们看到,掩码共32位,在用十进制表示掩码时,那个24,就是在掩码中1的个数.有多少个1就用多少表示.掩码与IP的运算: IP和掩码,一一对应,相与. 我们会发现一个有趣的现象,就是无论IP是多少,只要IP的那一 位的掩码为1时,IP的值不会改变. 例: 11000000.10101000.00000001.00000001 与 11111111.11111111.11111111.00000000 ------------------------------------------------------------------ 结果: 11000000.10101000.00000001.00000000 我们发现,IP的前3段,与掩码与运算后,数值没有变.这样计算机就可以确定出一个子网.也就是确定 出这个部门的墙壁. 红色部分,无论是什么值,在和子网掩码与运算后,其值不变,而蓝色部分,无论是什么,他都会变为0. 我们把结果转换成10进制:192.168.1.0 这就是该子网的网络地址. 所以,我们可以确定几个个问题: 子网掩码为1的部分,可以确定一个网络的网络地址,那么我们将所有连续的1的掩码,称为网络位. 因为这些1是确定网络地址的. 那么后面的0,就是主机位,可以决定这个子网中,有多少个IP数量.也就是办公室的座椅数.注意:子网掩码中的网络位,一定且必须是连续的1,否则,与运算后的值会变,决定不了网络,计算机不 认识.(这个不难理解吧?) 广播地址就是:11000000.10101000.00000001.11111111 (一个网络中,主机位全1的就是广播地址) 该子网的IP范围就是:192.168.1.0----192.168.1.255 该子网的可用IP范围是:192.168.1.1---192.168.1.254公式出来了: N=2^M-2 N为可用IP个数,M为主机位数. 上面的例子中 M为8,因为主机位是8个0.不难理解.!&*^!*&%^(!%^*&%!*&%!*&华丽的分割线!@*%^!*&@%^*!*&%^!&@%!^*&%!*@&%^!@进阶: 划分子网有的朋友会有疑问,你这192.168.1.0的子网,就254个可用IP,那我公司300 400个电脑,都想在一个网里,你不坑爹么~?你的网络你做主!没有错朋友~10分钟看此帖,你看不了吃亏你也看不了上当~10分钟你能做什么?看吧!没有错.我们可以通过改变子网掩码,扩充主机位,达到扩充IP数量的目的. 我这人,表达上不给力~就举例子吧,都是数字万变不离其中.例: 我公司有300台电脑,我想用的IP是192.168.1.1这种地址,该如何通过修改子网掩码来划分比较大的网络? 分析:当我们看到192.168.1.1这个地址时,首先想到的掩码是255.255.255.0(很常见吧?) 那掩码部分是11111111.11111111.11111111.00000000 主机位只有8位,可用IP数是254个,少了50多个,怎么办? 网络位去掉一个,变成0,不就OK了么!朋友~! 怎么变0?随便变? NO NO NO~~时刻记住,掩码的网络位,必须都是连续的 1啊~~ 所以,只能从右往左,变一个0. 11111111.11111111.11111110.00000000 这是多少个主机位了? 9个!没有错!不要怀疑你的眼睛! 9个0...恩..那可用IP数是多少了?算一下不麻烦: 2^9-2=510 300台电脑,绝对够了~ 我知道你会问,我就300台,多200多个我不想要~ 朋友,厚道点,买300送200你还抱怨什么?多出的这些是不可避免的,不要纠结于此,在管理上,你可以通过在设备上拒绝多出的200个IP(以后你一定会知道怎么拒绝的)从例题中,我们可以知道,如何通过改变掩码的主机位来达到扩充IP数的方法.那么能扩充,当然也可以减少.道理是一样的.例: 192.168.1.1 掩码:255.255.255.0 将其划分为5个子网.分析: 首先列出掩码2进制:11111111.11111111.11111111.00000000 我们要将一个网络,分成更小的5个网,怎么办? 这回不是IP不够用了.是子网不够用了.咋办?咋办?朋友~主机位能借,那网络位也必须能借啊~现在是24个网络位,有木有?回答我!!有木有???我想分5个子网,借几位够?不知道? 好,我们先借1位,11111111.11111111.11111111.10000000 借了一位,扩充了1个网络位,那么也就是说,第四段掩码多了一个1.这将影响到IP和掩码的与运算结果. IP: 11000000.10101000.00000001.00000001 掩码:11111111.11111111.11111111.10000000 结果:11000000.10101000.00000001.00000000 十进制:192.168.1.0(子网网络地址) 当IP到192.168.1.128时 IP: 11000000.10101000.00000001.10000000(128) 掩码:11111111.11111111.11111111.10000000 结果:11000000.10101000.00000001.10000000 十进制:192.168.1.128(子网网络地址) 从借了一位网络位后的运算结果上来看,多借了一位后,分出了2个子网,即192.168.1.0和192.168.1.128 那借2位呢?借3位呢?为了方便.我们只看第四段. 掩码: 10000000 借1位,影响2个数值,因为是2进制,只有IP相应位置的0和1受掩码的影响. 11000000 借2位,影响2个位置的2个数值,也就是2X2. 11100000 同理.3位,4位,都是2的次幂. 也就是说,当借了网络位后,所分的网络数,是你借的位数决定的.公式: N=2^M N为分了多少个子网,M是所借的网络位. 也就是说,这道题,要求分5个子网,那我需要借多少位? 借1位分2网,2位4个,3位8个.bingo!借8位. 答案出现了! 借3位. 也就是11111111.11111111.11111111.11100000 十进制:255.255.255.224 该子网掩码可将满足题目要求.多出3个,还是那句话,赠送的~当然,我们虽然可以随意将主机位借成网络位,但是还是要考虑一个基本问题.就是说,一个网络中,必须有网络地址和广播地址.也就是全0和全1.那就要考虑一个问题了. 如果这道题,你借了7位,只留1个主机位,悲剧出现了,划分的子网只有俩个IP,一个网络地址一个广播地址. 没有可用IP,这样是不行的,虽然理论上可以.但理论是为实际服务的.我知道我的表达上有很多问题,可能一些朋友看后会不理解,私信聊吧~我一定会换一种表达方式解释清楚的.可能本文存在很多错误,希望大家多多批评.实验题: 172.16.0.1/16 可用IP是多少?网络地址和广播地址是什么?附: 128 64 32 16 8 4 2 1 和为255 1 1 1 1 1 1 1 1 2进制 这个是什么,想必你一定知道~