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
首先,我们看一个考试中常见的题型:一个主机的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 | ||
|
关于如何计算子网掩码和广播地址的问题的一个例子
题目:
如果某单位拥有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地址与子网掩码也不例外了。要想学会如何计算子网掩码,也要学会十进制与二进制的换算。最简单的方法是用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。
在自己计算子网掩码的时候,一定要正确理解,在子网掩码换算成为二进制后,主机位在哪里,网络位在哪里,才能正确理解。