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