子网掩码相关教学 子网掩码快速算法 (沉睡不醒blog)
如果你希望每个子网中只有5个ip地址可以给机器用,那么你就最少需要准备给每个子网7个
ip地址,因为需要加上两头的不可用的网络和广播ip,所以你需要选比7多的最近的那位,也
就是8,就是说选每个子网8个ip。好,到这一步,你就可以算掩码了,这个方法就是:最后
一位掩码就是256减去你每个子网所需要的ip地址的数量,那么这个例子就是256-8=248,那
么算出这个,你就可以知道那些ip是不能用的了,看:0-7,8-15,16-23,24-31依此类推,写
在上面的0、7、8、15、16、23、24、31(依此类推)都是不能用的,你应该用某两个数字之
间的IP,那个就是一个子网可用的IP,怎么了?是不是不相信?太简单了。。。
我再试验一下,就拿200台机器分成4个子网来做例子吧。
200台机器,4个子网,那么就是每个子网50台机器,设定为192.168.10.0,C类的IP,大子网
掩码应为255.255.255.0,对巴,但是我们要分子网,所以按照上面的,我们用32个IP一个子
网内不够,应该每个子网用64个IP(其中62位可用,足够了吧),然后用我的办法:子网掩
码应该是256-64=192,那么总的子网掩码应该为:255.255.255.192。不相信?算算:0-63,
64-127,128-191,192-255,这样你就可以把四个区域分别设定到四个子网的机器上了,是
不是很简单?
子网掩码的主要功能是告知网络设备,一个特定的IP地址的哪一部分是包含网络地址与子网地址,哪一部分是主机地址。网络的路由设备只要识别出目的地址的网络号与子网号即可作出路由寻址决策,IP地址的主机部分不参与路由器的路由寻址操作,只用于在网段中唯一标识一个网络设备的接口。
本来,如果网络系统中只使用A、B、C这三种主类地址,而不对这三种主类地址作子网划分或者进行主类地址的汇总,则网络设备根据IP地址的第一个字节的数值范围即可判断它属于A、B、C中的哪一个主类网,进而可确定该IP地址的网络部分和主机部分,不需要子网掩码的辅助。
但为了使系统在对A、B、C这三种主类网进行了子网的划分,或者采用无类别的域间选路技术(Classless Inter-Domain Routing,CIDR)对网段进行汇总的情况下,也能对IP地址的网络及子网部分与主机部分作正确的区分,就必须依赖于子网掩码的帮助。
子网掩码使用与IP相同的编址格式,子网掩码为1的部分对应于IP地址的网络与子网部分,子网掩码为0的部分对应于IP地址的主机部分。将子网掩码和IP地址作"与"操作后,IP地址的主机部分将被丢弃,剩余的是网络地址和子网地址。
例如,一个IP分组的目的IP地址为: 10.2.2.1,若子网掩码为: 255.255.255.0,与之作"与"运算得: 10.2.2.0,则网络设备认为该IP地址的网络号与子网号为: 10.2.2.0。子网掩码是用来判断任意两台计算机的IP地址是否属于同一子网络的根据。
最为简单的理解就是两台计算机各自的IP地址与子网掩码进行AND运算后,如果得出的结果是相同的,则说明这两台计算机是处于同一个子网络上的,可以进行直接的通讯。就这么简单。请看以下示例:
运算演示之一:aa
I P 地址 192.168.0.1
子网掩码 255.255.255.0
AND运算
转化为二进制进行运算:
I P 地址 11010000.10101000.00000000.00000001
子网掩码 11111111.11111111.11111111.00000000
AND运算
11000000.10101000.00000000.00000000
转化为十进制后为:
192.168.0.0
运算演示之二:
I P 地址 192.168.0.254
子网掩码 255.255.255.0
AND运算
转化为二进制进行运算:
I P 地址 11010000.10101000.00000000.11111110
子网掩码 11111111.11111111.11111111.00000000
AND运算
11000000.10101000.00000000.00000000
转化为十进制后为:
192.168.0.0
运算演示之三:
I P 地址 192.168.0.4
子网掩码 255.255.255.0
AND运算
转化为二进制进行运算:
I P 地址 11010000.10101000.00000000.00000100
子网掩码 11111111.11111111.11111111.00000000
AND运算
11000000.10101000.00000000.00000000
转化为十进制后为:
192.168.0.0
通过以上对三组计算机IP地址与子网掩码的AND运算后,我们可以看到它运算结果是一样的。均为192.168.0.0,所以计算机就会把这三台计算机视为是同一子网络,然后进行通讯的。我现在单位使用的代理服务器,内部网络就是这样规划的。
也许你又要问,这样的子网掩码究竟有多少了IP地址可以用呢?你可以这样算。
根据上面我们可以看出,局域网内部的ip地址是我们自己规定的(当然和其他的ip地址是一样的),这个是由子网掩码决定的通过对255.255.255.0的分析。可得出:前三位IP码由分配下来的数字就只能固定为192.168.0,所以就只剩下了最后的一位了,那么显而易见了,ip地址只能有(2的8次方-1),即256-1=255一般末位为0或者是255的都有其特殊的作用。
但是这样划分但浪费地址了,所以后来又引出一种叫VLSM(可变长掩码)的新算法。
如果共有50台机器 ,那一定是用C类地址。但是如果用C类的话每一个网段可以用到253台主机而你现在只有50台,这样的话不是要浪费200台了吗?但是如果用了VLSM就不同了请看。
如果是静态掩码的话C类地址因该是255.255.255.0
50<2的7次方,化为十进制就是64。所以VLSM就是255.255.255.64
例一:IP:192.168.0.1
SubstMask:255.255.255.64
转化为二进制11000000.10101000.00000000.00000001
11111111.11111111.00000000.1000000
AND与运算
11000000.10101000.00000000.00000000
转化为十进制192.168.0.0
例二:192.168.0.50
SubstMask:255.255.255.64
转化为二进制11000000.10101000.00000000.00110010
11111111.11111111.11111111.01000000
AND与运算
11000000.10101000.00000000.00000000
转化为十进制192.168.0.0
以上二个地址在同一网段
再看:
例三:IP:192.168.0.65
SubstMask:255.255.255.64
转化为二进制11000000.10101000.00000000.01000001
11000000.10101000.00000000.01000000
AND与运算
110000000.10101000.00000000.010000000
转化为十进制192.168.0.64
划开了!!就这么简单!
若是嫌自己手工计算子网掩码麻烦,请使用专门的子网掩码计算工具,如SubNetter。
关于子网掩码计算
IP地址是32位的二进制数值,用于在TCP/IP通讯协议中标记每台计算机的地址。通常我们使用点式十进制来表示,如192.168.0.5等等。
每个IP地址又可分为两部分。即网络号部分和主机号部分:网络号表示其所属的网络段编号,主机号则表示该网段中该主机的地址编号。按照网络规模的大小,IP地址可以分为A、B、C、D、E五类,其中A、B、C类是三种主要的类型地址,D类专供多目传送用的多目地址,E类用于扩展备用地址。A、B、C三类IP地址有效范围如下表:
类别 网络号 /占位数 主机号 /占位数 用途
A 1~126 / 8 0~255 0~255 1~254 / 24 国家级
B 128~191 0~255 / 16 0~255 1~254 / 16 跨过组织
C 192~223 0~255 0~255 / 24 1~254 / 8 企业组织
随着互连网应用的不断扩大,原先的IPv4的弊端也逐渐暴露出来,即网络号占位太多,而主机号位太少,所以其能提供的主机地址也越来越稀缺,目前除了使用NAT在企业内部利用保留地址自行分配以外,通常都对一个高类别的IP地址进行再划分,以形成多个子网,提供给不同规模的用户群使用。
这里主要是为了在网络分段情况下有效地利用IP地址,通过对主机号的高位部分取作为子网号,从通常的网络位界限中扩展或压缩子网掩码,用来创建某类地址的更多子网。但创建更多的子网时,在每个子网上的可用主机地址数目会比原先减少。
子网掩码是标志两个IP地址是否同属于一个子网的,也是32位二进制地址,其每一个为1代表该位是网络位,为0代表主机位。它和IP地址一样也是使用点式十进制来表示的。如果两个IP地址在子网掩码的按位与的计算下所得结果相同,即表明它们共属于同一子网中。
在计算子网掩码时,我们要注意IP地址中的保留地址,即“ 0”地址和广播地址,它们是指主机地址或网络地址全为“ 0”或“ 1”时的IP地址,它们代表着本网络地址和广播地址,一般是不能被计算在内的。
下面就来以实例来说明子网掩码的算法:
对于无须再划分成子网的IP地址来说,其子网掩码非常简单,即按照其定义即可写出:如某B类IP地址为 10.12.3.0,无须再分割子网,则该IP地址的子网掩码为255.255.0.0。如果它是一个C类地址,则其子网掩码为 255.255.255.0。其它类推,不再详述。下面我们关键要介绍的是一个IP地址,还需要将其高位主机位再作为划分出的子网网络号,剩下的是每个子网的主机号,这时该如何进行每个子网的掩码计算。
一、利用子网数来计算
在求子网掩码之前必须先搞清楚要划分的子网数目,以及每个子网内的所需主机数目。
1)将子网数目转化为二进制来表示
2)取得该二进制的位数,为 N
3)取得该IP地址的类子网掩码,将其主机地址部分的的前N位置 1 即得出该IP地址划分子网的子网掩码。
如欲将B类IP地址168.195.0.0划分成27个子网:
1)27=11011
2)该二进制为五位数,N = 5
3)将B类地址的子网掩码255.255.0.0的主机地址前5位置 1,得到 255.255.248.0
即为划分成 27个子网的B类IP地址 168.195.0.0的子网掩码。
二、利用主机数来计算
1)将主机数目转化为二进制来表示
2)如果主机数小于或等于254(注意去掉保留的两个IP地址),则取得该主机的二进制位数,为 N,这里肯定 N<8。如果大于254,则 N>8,这就是说主机地址将占据不止8位。
3)使用255.255.255.255来将该类IP地址的主机地址位数全部置1,然后从后向前的将N位全部置为 0,即为子网掩码值。
如欲将B类IP地址168.195.0.0划分成若干子网,每个子网内有主机700台:
1) 700=1010111100
2)该二进制为十位数,N = 10
3)将该B类地址的子网掩码255.255.0.0的主机地址全部置 1,得到255.255.255.255
然后再从后向前将后 10位置0,即为: 11111111.11111111.11111100.00000000
即255.255.252.0。这就是该欲划分成主机为700台的B类IP地址 168.195.0.0的子网掩码。
下面列出各类IP地址所能划分出的所有子网,其划分后的主机和子网占位数,以及主机和子网的(最大)数目,注意要去掉保留的IP地址(即划分后有主机位或子网位全为“0”或全为“1”的):
A类IP地址:
子网位 /主机位 子网掩码 子网最大数 /主机最大数
2/22 255.192.0.0 2/4194302
3/21 255.224.0.0 6/2097150
4/20 255.240.0.0 14/1048574
5/19 255.248.0.0 30/524286
6/18 255.252.0.0 62/262142
7/17 255.254.0.0 126/131070
8/16 255.255.0.0 254/65536
9/15 255.255.128.0 510/32766
10/14 255.255.192.0 1022/16382
11/13 255.255.224.0 2046/8190
12/12 255.255.240.0 4094/4094
13/11 255.255.248.0 8190/2046
14/10 255.255.252.0 16382/1022
15/9 255.255.254.0 32766/510
16/8 255.255.255.0 65536/254
17/7 255.255.255.128 131070/126
18/6 255.255.255.192 262142/62
19/5 255.255.255.224 524286/30
20/4 255.255.255.240 1048574/14
21/3 255.255.255.248 2097150/6
22/2 255.255.255.252 4194302/2
B类IP地址:
子网位 /主机位 子网掩码 子网最大数 /主机最大数
2/14 255.255.192.0 2/16382
3/13 255.255.224.0 6/8190
4/12 255.255.240.0 14/4094
5/11 255.255.248.0 30/2046
6/10 255.255.252.0 62/1022
7/9 255.255.254.0 126/510
8/8 255.255.255.0 254/254
9/7 255.255.255.128 510/126
10/6 255.255.255.192 1022/62
11/5 255.255.255.224 2046/30
12/4 255.255.255.240 4094/14
13/3 255.255.255.248 8190/6
14/2 255.255.255.252 16382/2
C类IP地址:
子网位 /主机位 子网掩码 子网最大数 /主机最大数
2/6 255.255.255.192 2/62
3/5 255.255.255.224 6/30
4/4 255.255.255.240 14/14
5/3 255.255.255.248 30/6
6/2 255.255.255.252 62/2
再根据CCNA中会出现的题目给大家举个例子:
首先,我们看一个考试中常见的题型:一个主机的IP地址是202.112.14.137,掩码是255.255.255.224,要求计算这个主机所在网络的网络地址和广播地址。
常规办法是把这个主机地址和子网掩码都换算成二进制数,两者进行逻辑与运算后即可得到网络地址。其实大家只要仔细想想,可以得到另一个方法:255.255.255.224的掩码所容纳的IP地址有256-224=32个(包括网络地址和广播地址),那么具有这种掩码的网络地址一定是32的倍数。而网络地址是子网IP地址的开始,广播地址是结束,可使用的主机地址在这个范围内,因此略小于137而又是32的倍数的只有128,所以得出网络地址是202.112.14.128。而广播地址就是下一个网络的网络地址减1。而下一个32的倍数是160,因此可以得到广播地址为202.112.14.159。可参照下表来理解本例。
子网络 2进制子网络域数 2进制主机域数的范围 2进制主机域数的范围
第1个子网络 000 00000 thru 11111 .0 thru.31
第2个子网络 001 00000 thru 11111 .32 thru.63
第3个子网络 010 00000 thru 11111 .64 thru.95
第4个子网络 011 00000 thru 11111 .96 thru.127
第5个子网络 100 00000 thru 11111 .128 thru.159
第6个子网络 101 00000 thru 11111 .160 thru.191
第7个子网络 110 00000 thru 11111 .192 thru.223
第8个子网络 111 00000 thru 11111 .124 thru.255
CCNA考试中,还有一种题型,要你根据每个网络的主机数量进行子网地址的规划和计算子网掩码。这也可按上述原则进行计算。比如一个子网有10台主机,那么对于这个子网需要的IP地址是:
10+1+1+1=13
注意:加的第一个1是指这个网络连接时所需的网关地址,接着的两个1分别是指网络地址和广播地址。因为13小于16(16等于2的4次方),所以主机位为4位。而
256-16=240
所以该子网掩码为255.255.255.240。
如果一个子网有14台主机,不少人常犯的错误是:依然分配具有16个地址空间的子网,而忘记了给网关分配地址。这样就错误了,因为:
14+1+1+1=17
17大于16,所以我们只能分配具有32个地址(32等于2的5次方)空间的子网。这时子网掩码为:255.255.255.224。
快速计算子网掩码和主机IP
业务的发展常常会导致许多单位面临这样一个问题:工作站数量越来越多,管理单一的大型网络也变得越来越艰难。如果将一个单一的大型网络划分为多个子网,通过对每个子网进行单独管理,可以明显地提高整个网络的性能。
要划分子网就需要计算子网掩码和分配相应的主机块,尽管采用二进制计算可以得出相应的结论,但如果采用十进制计算方法,计算起来更为简便。经过长期实践与经验积累,笔者总结出子网掩码及主机块的十进制算法。
一、明确概念
在介绍十进制算法前我们先要明确一些概念。
类范围:
IP地址常采用点分十进制表示方法X.Y.Y.Y,在这里,X在1~126范围内称为A类地址;X在128~191范围内称为B类地址;X在192~223范围内称为C类地址。比如10.202.52.130,因为X为10,在1~126范围内,所以称为A类地址。
类默认子网掩码:
A类为 255.0.0.0; B类为 255.255.0.0; C类为 255.255.255.0。当我们要划分子网用到子网掩码M时,类子网掩码的格式如下:A类为 255.M.0.0,B类为 255.255.M.0,C类为255.255.255.M。M是相应的子网掩码,比如255.255.255.240。十进制计算基数是256(下面,我们所有的十进制计算都要用256来进行)。
二、变量说明
1.Subnet_block指可分配子网块大小,表示在某一子网掩码下子网的块数。
2.Subnet_num是可分配子网数,指可分配子网块中要剔除首、尾两块,是某一子网掩码下可分配的实际子网数量。Subnet_num =Subnet_block-2。
3.IP_block指每个子网可分配的IP地址块大小。
4.IP_num指每个子网实际可分配的IP地址数。因为每个子网的首、尾IP地址必须保留(一个为网络地址,一个为广播地址),所以它等于IP_block-2,IP_num也用于计算主机块。
5.M指子网掩码。
表示上述变量关系的公式如下:
M=256-IP_block IP_block=256/Subnet_block或Subnet_block=256/IP_block IP_num=IP_block-2 Subnet_num=Subnet_block-2。
6.2的幂数。大家要熟练掌握28(256)以内的2的幂代表的十进制数(如128=27、64=26等),这样可以使我们立即推算出Subnet_block和IP_block的数目。
三、举例说明
现在,通过举一些实际例子,大家可以对子网掩码和主机块的十进制算法有深刻的了解。
1.已知所需子网数12,求实际子网数。
这里实际子网数指Subnet_num,由于12最接近2的幂为16(24),即Subnet_block=16,那么Subnet_num=16-2=14,故实际子网数为14。
2.已知一个B类子网的每个子网主机数要达到60×255个(约相当于X.Y.0.1~X.Y.59.254的数量),求子网掩码。
首先,60接近2的幂为64(26),即IP_block=64; 其次,子网掩码M=256-IP_block=256-64=192,最后由子网掩码格式B类是255.255.M.0得出子网掩码为255.255.192.0。
3.如果所需子网数为7,求子网掩码。
7最接近2的幂为8,但8个Subnet_block因为要保留首、尾2个子网块,即 8-2=6< 7,并不能达到所需子网数,所以应取2的幂为16,即Subnet_block=16。因为IP_block=256/Subnet_block=256/16=16,所以子网掩码M=256-IP_block=256-16=240。
4.已知网络地址为211.134.12.0,要有4个子网,求子网掩码及主机块。
由于211.Y.Y.Y是一个C类网,子网掩码格式为255.255.255.M,又知有4个子网,4接近2的幂是8(23),所以Subnet_block=8,Subnet_num=8-2=6,IP_block=256/Subnet_block=256/8=32,子网掩码M=256-IP_block=256-32=224,故子网掩码表示为255.255.255.224。又因为子网块的首、尾两块不能使用,所以可分配6个子网,每个子网有32个可分配主机块,即32~63、64~95、96~127、128~159、160~191、192~223,其中首块(0~31)和尾块(224~255)不能使用。
由于每个子网块中的可分配主机块又有首、尾两个不能使用(一个是子网网络地址,一个是子网广播地址),所以主机块分别为33~62、65~94、97~126、129~158、161~190及193~222,因此子网掩码为255.255.255.224,主机块共有6段,分别为211.134.12.33~211.134.12.62、211.134.12.65~211.134.12.94、211.134.12.97~211.134.12.126、211.134.12.129~211.134.12.158、211.134.12.161~211.134.12.190及211.134.12.193~211.134.12.222。用户可以任选其中的4段作为4个子网。
总之,只要理解了公式中的逻辑关系,就能很快计算出子网掩码,并得出可分配的主机块。
关于如何计算子网掩码和广播地址的问题的一个例子
题目:
如果某单位拥有100台计算机和一个C类注册IP地址段:218.102.142.0,其内网(LAN)需要进一步划分为两个子网,每个子网分别有40台和60台计算机,
要求:
(1)试规定子网掩码;
(2)假设内网中的某两台计算机的IP地址分别是: 218.102.142.7和218.102.142.219,试分别推算这两台计算机的所属的子网地址和广播地址,并说明它们是否在同一个子网中。
分析问题与解答:
这个问题很简单,其实就跟我们学过的数字电路里面的存储器级联的问题类似。
比方说:
C类地址有4个段:218.102.142.0,其中有3个是表示网络号的。
以这个为例
它就有255个机子
地址从218.102.142.0---218.102.142.255
网络地址是:218.102.142.*
如果要把这个网络拆开成几个子网
就是要把网络号向后面扩展
把原来表示机子号的数字一部分用来表示网络号
这样就实现了划分子网的目的
像这个情况
因为需要划分两个子网
那就需要扩展一个位用来表示网络号
而剩下的部分必须保证能够表示机器号
像这个就必须保证后面留够6位
前面两位作为区分子网的就行了
前面的两位和3个字节共同表示一个子网
xxxxxxxx.xxxxxxxx.xxxxxxxx.xxyyyyyy
x表示网络号
y表示主机号
其实没有子网掩码也照样可以确定子网的地址
因为我们可以手动计算出来
而子网掩码的作用就是取得上面的那几位
所以子网掩码就是把那些x全部换成1就行了
所以最后的那两个x一共有4种不同组合
可以随便弄两个不同的
这样子网地址就不一定了
但是掩码是一定的:255.255.255.192
但是下面给出的两个机子
我们把它们的地址和子网掩码相与一下取出前面的那些x来就是它的子网地址了
218.102.142.0
218.102.142.192
换成2进制就是
1111111.11111111.11111111.00
1111111.11111111.11111111.11
这就是两个网络的子网地址
而规定的是每个子网的广播地址就是他这个子网机子的最大地址
哪个最大啊?
当然是y全部是1的最大了!
所以,第一个的广播地址就是:11111111.11111111.11111111.0011111111
第二个的广播地址就是:11111111.11111111.11111111.1111111111
1的个数能不太对
:)
换算成10进制
就是
255.255.255.191
255.255.255.255
IP地址与子网掩码
IP地址与子网掩码
IP地址和子网掩码的设置,是每个网管必须具备的网络基础知识,只有理解了IP地址和子网掩码的真正含义,才能得心应手的管理一个网络。我们要想理解IP地址与子网掩码的真正应用,首先要理解IP地址与子网掩码的常识。
由于计算机的基本原理是二进制,因此IP地址与子网掩码也不例外了。要想学会如何计算子网掩码,也要学会十进制与二进制的换算。最简单的方法是用Windows的计算器,在科学型中,选择十进制,输入一个数字,然后点击二进制,该数字就会换算成二进制了。
一、IP地址的常识:
1、IP地址的作用:IP地址用于标识主机的地址,一个网络是由若干台主机组成的,每台主机必须有一个全球唯一的IP地址,就像我们的生活中的电话号码一样,每部电话只能有一个全球唯一的电话号码。广义上的主机可以是工作在网络中的工作站、服务器、路由器。IP地址一般是用十进制来表示的,由四个数字段来组成,中间用逗号隔开。如192.168.1.5就是一个IP地址。
图一
1、IP地址的组成:IP地址由两部分组成,如图一:前面一部分是是网络号,后面是主机号。网络号决定了主机所处位置的信息,相当于我们电话号码的区号,主机号才是该机器的地址。IP地址加上子网掩码,才是该主机在网络上的真正地址。这个就与我们的电话号码一个道理,也是由区号和电话号码来组成的。IP地址原理是基于二进制的形式,但我们在使用的时候,全部换算成了十进制,只有在计算子网掩码的时候,才用二进制的形式来表示。
2、IP地址的分类:IP地址一般分为A、B、C三类,我们以w.x.y.z这个IP地址为例,说明一下三类IP地址的划分:当W的数值在1-126之间的时,IP地址为A类,默认的子网掩码是255.0.0.0。当W数值在128-191之间时,IP地址为B类,默认的子网掩码是255.255.0.0。当W的数字在192-223之间时,IP地址为C类,默认的子网掩码是255.255.255.0。
3、国际NIC组织的几条规定:
127.0.0.1是为本机做环回测试保留的IP地址。
192.X.X.X和10.X.X.X为局域网的保留地址。
主机位全部为1的地址是网络的广播地址
主机位全部为0的IP地址是指网络本身
4、IP地址的合理选择:使用哪一类的IP地址,就直接决定了这个子网中可以容纳的机器数量,因此,我们可以根据自己的网络规模,选择合理的IP地址。我们要以C类的IP地址来看一下,192.168.1.X,最后这个数值,我们不要以十进制来分析,转换成二进制,有8个二进制数字的位置,就是要用0和1做成一个八位数的不重复的数字。经过组合排列可以有28个不同的数字产生,由于全部为0的组合是网络本身,不能使用,全部为1的组合是广播地址,因此将会有28-2个不同的数值,也就是254个,不同的数值,这就决定了C类子网中最多可以容纳254台主机。同样的道理,大家可以自己研究一下A类和B类的一个IP地址段,最多可以容纳多少台主机。经过分析,我们可以得出一个结论,B类IP地址中可以容纳的主机数量为216-2台主机,A类地址中可以容纳的主机数量为224-2台主机。综合上面,我们可以总结出来一个公式,主机数量=2n-2其中N的值是主机位的位数。
二、子网掩码常识
1、子网掩码的作用:子网掩码的作用就是判断两个需要通信的主机是否需要经过网络转发,如果两个要通信的主机在同一个子网内,就可以直接通信,如果两个需要通信的主机不在同一个子网内,则需要寻找路径进行通讯了。通俗的说,我自己的电话是021-55554444,我朋友的电话是010-666688888,我们两个人要通信,我先要看一下我们两个的电话是不是在同一个区间(相当于子网掩码中的子网),结果不在一个区间,我要打他的电话,肯定要加上区号了,也就是要通过转发了。
2、子网掩网的组成:子网掩码其实还是一个IP地址,ABC三类IP地址都有默认的子网掩码,请大家在使用的时候,不要随意更改。我们可以将255.255.255.0这个子网掩码换算成二进制的是这样的:11111111. 11111111. 11111111.00000000。在子网掩码中,网络位用1来表示,主机位用0来表示。只要网络位相同,那么两个子网间就可以通讯了,这就是判断两个需要通信的主机是否在一个子网中的依据。
三、子网掩码的高级应用--合理选择IP地址和子网掩码
IP地址属于哪一类,就决定了在这一个子网中,可以容纳的主机数量。通过修改子网掩网,可以改变一个子网中可容纳的机器数量,并优化自己网络的通讯性能更高。
一个网络中,使用哪一类的IP地址和子网掩码,表面上看来没有什么关系,实际上,如果子网掩码选择不当,可能会引起广播风暴,降低网络性能。我们以一个实例来分析一下:我们的机器IP地址为192.168.0.X网段的,我们没有用默认的子网掩码255.255.255.0,而是选择了255.255.0.0这个作为子网掩码。我们将子网掩码换算成二进制后是:
11111111.11111111.00000000.00000000,在进行网络通信的时候,由于主机位占用了16位,数据广播的范围会扩大,因此可能会产生大量的广播信息,降低网络的通讯性能。如何为自己的网络选择一个IP地址段和配套的子网掩码,提高我们的网络通讯性能,是我们关心的议题。因此,我们可以根据我们网络中的机器数量,打造属于自己网络的子网掩网。
在一般情况下,如果机器数量不超过250台,没有必要自己修改默认的子网掩码,在机器数量超过250台的时候,才有必要自己修改子网掩码。我们以450台的机器一个网络为例,说一下如何选择合适的IP地址和子网掩码。450台机器的网络,由于C类的IP地址只支持254台主机,肯定不可以了。我们只能选择B类的IP地址,如选择使用188.188.X.X,默认的子网掩码是255.255.0.0。我们通过公式主机数量=2n-2可以看出,在B类IP地址可以容纳的机器数量有65536台主机,有点太大了,我们是否可以修改一下呢?我们用公式计算一下450=2n-2,经过计算可以知道N的值最合适的值可以取9最合适了。我们将子网掩码换算为二进制:
11111111.11111111.00000000.00000000,子网掩码目前的主机位数是16,我们改成9后,子网掩码成为:11111111.11111111.11111110.00000000,换算成十进制后是:255.255.254.0。成功了。用在网络中测试一下,是否可能通讯,一切OK。
在自己计算子网掩码的时候,一定要正确理解,在子网掩码换算成为二进制后,主机位在哪里,网络位在哪里,才能正确理解。