刚从临市做工程回来,这几天没关注论坛,发现很多关于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进制               
这个是什么,想必你一定知道~