第2章 IPv4地址
学习目标:
1.熟练掌握IPv4地址的分类方法及各类的特点;
2.熟练掌握IPv4地址的分配方法;
3.熟练掌握子网掩码的用法。
教学重点:
IPv4地址的分类方法及各类的特点、IPv4地址的配置方法以及子网掩码的用法。
教学难点:
1.IPv4地址的分配方法;
2.子网掩码的用法。
在网络中,为使相互通信的主机间能相互区分和识别,需要为这些主机指定一个唯一的编号,这个编号就是IP地址。在后面章节中对网络设备进行配置时,会大量用到IP地址。因此,IP地址非常重要,在此对其进行详细讲解。
2.1 IPv4地址概述
TCP/IP有两个不同的版本,即IPv4和IPv6。我们先讲IPv4地址,IPv4地址是现阶段正在大量使用的主流IP地址,是要求网络工程人员必须深入掌握的。为了叙述方便,我们沿用通俗的称呼方法,用“IP地址”表示“IPv4地址”。
图2-1 “点分十进制”形式的IP地址
2.1.1 IP地址的组成
我们常用的IP地址是第四版的IPv4地址,它由32位二进制数组成,如:10010010001000100 100000100000010。显然,这一串数字很难记,因此就用点按每八位为一组分隔为:10010010.00100010.01000001.00000010,为了书写记忆更加方便,按每八位为一组转换成为146.34.65.2,这就是平常所见的IP地址的形式,我们称之为“点分十进制”形式的IP地址,如图2-1所示。
2.1.2 IP地址的分类
为什么要对IP地址分类呢?简单地说,就是为了管理方便。由于不同的组织(公司、企业、单位、学校等)对IP地址的需求量可能不同,有的组织大,包含的主机数量多,对IP地址需求量就大,因此,为了满足不同组织对IP地址的不同需求量,IANA(因特网号码分配管理委员会)将对IP地址分为A、B、C、D、E五类。
其中A、B、C三类IP地址称为主类地址,是我们正在大量使用的IP地址,而D类地址和E类地址没有直接分配使用,D类地址主要是作为广播地址,E类地址则作为保留地址,主要用于研究使用,如下一代的IPv6地址,就是在E类地址基础上研究出来的。在本书中主要讨论的是A、B、C三类地址,这三类地址分别适用于大、中、小型的网络。
IP地址的组成:IP地址=网络号+主机号,网络号用于标识网络中的某个网段,主机号唯一地标识网段上的某台主机。对网络号和主机号在使用时有如下规则。
网络号不能全0和全1:全0全1的网络号保留,未分配使用;
主机号不能全0和全1:主机号部分全0表示某个网络,全1的主机号表示广播地址,不能作为一个主机地址分配。
A、B、C、D、E五类IP地址是根据不同的网络号来划分的。下面分别对A、B、C三类地址的特征进行讨论。
1.A类IP地址
由于IP地址由32位二进制数组成,所以在表达IP地址时,可使用4个字节的二进制数来表示,如图2-2所示。
图2-2 A类IP地址分析
2.B类IP地址
同A类地址一样,B类地址也由四个字节构成,其结构如图2-3所示。
图2-3 B类IP地址的分析
3.C类IP地址
同A、B两类地址一样,其结构如图2-4所示。
图2-4 C类IP地址的分析
4.D和E类IP地址
这两类地址未被分配使用,我们不必多花时间去讨论它。
2.1.3 A、B、C三类IP地址的特点总结
1.IP地址类别的判断
可根据表2-1作为判断依据。
表2-1 IP地址的判断
例如:14.5.7.190 A类 //由于14在1~126之内
199.45.233.43 C类 //由于199在193~239之内
11101100.11110011.10101110.11110001 D类 //第一个字节前四位为1110
01111100.11110011.10101110.11110001 A类 //第一个字节前一位为0
注意:
一般要求判断的都是十进制格式的IP地址类别,并且都只判断A、B、C类地址。
2.A、B、C三类IP地址的特点对比
表2-2所示为A、B、C三类IP地址的特点对比。
表2-2 IP地址特点对比
3.保留地址
为了满足组织内网需求,将A、B、C类IP地址中的一部分不在公网上使用,这些未在公网上使用的地址称为私有地址或保留地址。这些地址可以在一个组织内部分配使用,但不能使用这些私有地址直接访问Internet,如果要访问Internet需要进行地址转换。
这些私有地址是通过RFC 1918所指定的,如表2-3所示。
表2-3 私有地址范围
例如:用户经常在单位的电脑上或是在很多参考书、教材上举例时看到形如192.168.1.56或172.16.2.14等这样的IP地址,这些就是属于在私网中使用的IP地址,如图2-5所示。
2.1.4 划分子网
如前所述,一个A类网络,能够分配的IP地址数多达1670多万个,但很少有这么大一个组织需要这么多的IP地址,即使是一个B类网络也有6万多个IP地址,因此地址的使用效率就成了一个需要解决的问题。
什么是划分子网?就是将一个A类,B类,甚至是C类网络,利用其主机号部分的高bit位作为子网号来创建更多更小的网络,这种经重新划分过的网络称为子网。
划分子网之后形成的更小的网络根据需要分配给不同的组织,就可以减少IP地址的浪费,从而更高效地利用IP地址。
图2-5 配置私有IP地址
2.1.5 子网掩码
子网掩码的功能:区分IP地址的网络号和主机号。
子网掩码的长度是32位,一个IP地址的子网掩码的比特位为1所对应的位为网络号部分,比特位为0所对应的位为主机号部分。在表2-4中,列出了标准的A、B、C类IP地址的子网掩码。
表2-4 A、B、C类IP地址的子网掩码
例如:对IP地址192.168.0.2表示其子网掩码有如下四种方式。
十六进制表示: 192.168.0.2 0xFFFFFF00
二进制表示: 192.168.0.2 11111111111111111111111100000000
点分十进制表示 192.168.0.2 255.255.255.0
比特数表示: 192.168.0.2/24
在上述四种方式中,最后两种表示方式最常见,最常用。子网掩码在用户的电脑中配置如图2-5所示。
2.1.6 子网掩码值
子网掩码由32个二进制比特位组成,但不是32个1和0bit位任意组合都是有效的。本节讲述什么样的子网掩码才是有效子网掩码。
注意:
为了叙述方便,本书后续凡提及“长度为多少比特的子网掩码”都是指子网掩码中1的个数。如长度为27bit的子网掩码,就指前面27个1,后面5个0的子网掩码。
1)二进制1和0必须是连续的,并且1序列在前,0序列在后。
例如:11111111111111000111111100000111就不是有效的子网掩码,其中的1和0不连续。
2)十进制形式子网掩码
例如:240.255.255.0是无效的,因为这个十进制形式转为二进制后为11110000111111 111111111100000000,其中1和0不连续,所以无效。凡是在十进制掩码中,某个小于255的掩码值后必须是0,否则是无效掩码。
另外,十六进制的掩码很少被使用,其判定方法与十进制形式类似。
3)针对一个具体网络的掩码长度,一定大于或等于其用于划分子网网络的掩码长度。
在前面第2.1.4节讲过,“利用其主机号部分的高bit位作为子网号来创建更多更小的网络”,这句话就是指子网是从主机号部分借位产生的,借了多少位来产生子网号,其掩码长度就比原网络号多了多少位。
因此,由上述规则可知A、B、C三类网络的子网掩码长度如下。
A类网络:由于网络号有8位长,划分子网只能从后24位主机位中去划分,A类网络的子网掩码长度至少是8位;
B类网络:由于网络号有16位长,划分子网只能从后16位主机位中去划分,B类网络的子网掩码长度至少是16位;
C类网络:由于网络号有24位长,划分子网只能从后8位主机位中去划分,C类网络的子网掩码长度至少是24位。
4)子网掩码的最长位数。
上面讨论了子网掩码的最少位数,那么其最长位数是多少?
例如:针对一个C类网络199.3.4.0,主机号为最后8位,因此,在划分子网时,就只能在最后8位中去划分,“针对C类网络,可以从主机号借位来产生子网号的位数是0~6位”。0位表示不作划分,如果是6位,表示8位主机号中的前6位用作子网号了,一共有30位网络号,可用于分配的主机号只剩下2位。199.3.4.0子网的主机位如图2-6所示。
图2-6 199.3.4.0子网的2位主机位
在最后的第31、32位上,可能产生的主机ID为00,01,10,11,其中00表示某个子网号,11表示某个子网的广播地址,`真正可分配的IP地址在这个子网中就只有2个。为什么最大只能取6位作子网号,而不能是7位或8位呢?如果是7位作了子网号,如图2-7所示。
图2-7 199.3.4.0子网的1位主机位
此时在32位上只有两种取值:1或0,取0表示子网号,取1表示广播地址,就没有可用于分配给主机使用的IP地址了。因此不能在C类网络的主机号中取7位作为子网号,同样,8位也没有可分配的IP地址。
从上面这个例子的分析可见:在划分子网时,为使划分的子网有意义,至少要留两位给主机位。如表2-5所示。
表2-5 标准A、B、C类网络子网掩码长度范围
2.1.7 可变长子网掩码
如前所述,IPv4地址的长度是32位,最多可提供40多亿个IP地址,但事实上可用的IP地址并没有这么多。IPv4是20世纪70年代创建的,当时并没有意识到IPv4会应用到因特网上,并且因特网发展会如此之快。IP地址资源随着因特网的发展变得越来越紧张。为了缓解IPv4地址资源短缺的问题,随之就产生了划分子网、VLSM、CIDR、NAT、IPv6等解决方案。本节主要讨论的是VLSM。
VLSM(Variable-Length Subnet Masking,可变长子网掩码)是一种产生不同大小的子网的划分方法。而前面讲述的“划分子网”技术,可以避免浪费大量的IP地址,在一定程度上缓解了IPv4地址的消耗速度,但这种方法的可扩展性较差,仅产生了与IP地址数相等的各个子网,仍然难以满足实际需求。VLSM通过在相同有类地址空间提供不同的子网掩码长度,从而产生不同大小的子网来解决此问题。
在VLSM中,IP地址后使用“/掩码长度”来表示子网,如192.168.2.34/27表示IP地址192.168.2.34属于一个长度为27位掩码的子网192.168.2.32。(192.168.2.32是怎么得来的,我们在后面将举例说明)
下面举例说明如何使用VLSM。
某企业有属于远距离的四个分部,其中分部1有主机数为120台,分部2的主机数为50台,分部3的主机数为25台,分部4的主机数为12台,现申请到了一个C类网络193.2.3.0,我们在设计时,需要建立4个子网。下面是采用VLSM划分子网的过程。
第1步:找出需求量最大的网段的主机数量。现在是120台。
第2步:计算出恰当的子网掩码。由于26<120<27,则120台主机需要7位主机位,因此子网掩码长度应该是25位;25位的掩码能产生的子网是193.2.3.0/25和193.2.3.128/25,把这两个子网中的一个,如192.2.3.0分配给分部1。
第3步:利用剩余的子网,从第一步开始,对剩余的几个分部分配子网。由于25<50<26,因此分部2需要6位主机位,如将193.2.3.128/26分配给分部2;用同样的方法,可将193.2.3.192/27子网分配给分部3,将193.2.3.224/28分配给分部4。
这样分配后,还有一个193.2.3.240/28的子网未分配使用,可以分配给网络中的路由器端口使用。
分配结果如表2-6所示。
表2-6 划分子网结果
注:如193.2.3.224/27表示部门3的子网号,有27位掩码,最后5位是主机位,为了加深理解,我们把193.2.3.224转化为二进制形式观察,即11000001.00000010.00000011.11100000,可见最后5位主机位是0,这就是一个子网号。(我们在称呼子网号和网络号时,不必区分太严格,子网也是一个网络,因此可以直接把子网号说成网络号)。
为了说明采用VLSM是如何节省IP地址的,下面接着本例作进一步说明。
由图2-8可见,左图规划的网络没有采用VLSM,而是使用单一长度的子网掩码,根据案例中所述要求,最大网络需要120个主机地址,因此需要25位的掩码长度,这样将需要4个C类地址,前面仅申请一个192.2.3.0/24的网络明显不够,还需要另外再申请三个C类IP地址,这将浪费大量的IP地址。在右图中,采用了VLSM规划IP地址,根据对IP地址量的不同需求,分别设计了不同长度的子网掩码,只需要一个C类地址即可。
注意:
在路由器与路由器直接相连时,只需要2个IP地址,分别为每个路由器的端口上分配一个IP地址即可。因此,可使用的掩码长度为30。
图2-8 采用VLSM前后所需IP地址的对比
a)未采用VLSM划分子网 b)采用VLSM划分子网
2.2 IP地址计算举例
IP地址非常重要,必须要理解透彻。在网络工程中,需要经常对IP地址的分配进行规划。下面通过例题的方式,从易到难来讲解有关IP地址方面的问题。
1.判断IP地址是否可分配使用
【例1】以下哪一个是可分配的标准B类IP地址?
A.1.1.1.1 B.125.34.43.255 C.222.2.255.255 D.188.23.255.255
E.136.258.23.64 F.12.22.255.255 G.224.0.0.5
方法:判断一个IP地址是可分配的标准的B类地址,必须满足以下几个条件。
1)第一个十进制数的范围在128~191之间;
2)标准B类IP地址前16位为网络号,后16位为主机号,要求满足网络号和主机号不能全0和全1;
3)要求每个十进制数的大小在0~255内。
从上面这些条件可知,只有B正确。
分析:答案A,1.1.1.1是一个合法的A类地址,不要误认为它各位全为1,因为这是一个十进制形式的IP地址,如果用二进制表达,则为:00000001.00000001.00000001.00000001;
答案C,从第一个字节为222来看,应是一个C类地址,由于C类地址最后8位为主机位,该地址的最后一个数为255,换为二进制为11111111,因此,这是一个C类的广播地址,不能分配给主机使用;
答案D,从上面的分析可知,其主机号全为1,因此是一个B类的广播地址,不能分配使用;
答案E,从上面分析可知,它里面有一个258,超出了255,因此它不是一个IP地址;
答案F,从第一个字节为12可知,应是A类地址,A类地址前8位为网络号,后8位为主机号,都不全0和全1,因此这是一个合法的A类地址;
答案G,第一个字节为224,是一个D类的组播地址(该地址是一个路由协议的组播地址)。
2.计算子网数和地址数
【例2】将一个C类网络划分子网,子网掩码长度为27bit,能划分多少个子网?每个子网内能有多少个可分配的IP地址?
分析:标准C类网络的网络号部分为24bit,划分后的子网掩码长度为27bit,因此有27-24=3比特是使用了主机号部分的高bit位来划分的子网,即可划分23=8个子网;由于标准的C类网络,最后8位是主机号部分,现使用3位来划分子网,还余5位作为子网的主机号,因此每个子网内可分配的IP地址数为25-2=30个,如图2-9所示。
图2-9 计算子网数和地址数
【例3】给定一个子网掩码为255.255.248.0的A类网络,问能划分多少个子网,每个子网内有多少个可分配的IP地址?
分析:思路同上例,此掩码长度为21,可划分的子网数为221-8=213个,每个子网的主机位有33-21=11位,因此每个子网内可分配的IP地址数为211-2个。
3.判断两个IP地址是否在同一个子网内
【例4】判断IP地址210.23.4.90/26和210.23.4.125/26是否在同一个子网内?分析:判断IP地址是否在同一个子网内,主要是看这两个IP地址的子网号是否相同。采用26位作为子网掩码长度,则每个子网中主机位长度为6位,如表2-7所示。
表2-7 采用bit位方式分析
从以上分析可见,这两个IP地址的子网号相同,因此是在同一个子网内。
注:像这种采用位方式的分析速度太慢,可以在此原理的基础上使用一种更快的方法,详见下面的例5和例6分析过程。
4.计算一个IP地址的网络地址、广播地址、所在子网所能容纳的最大主机数
【例5】对IP地址159.34.58.217/27,计算出它的网络地址、广播地址、所在子网所能容纳的最大主机数。
计算方法如下。
第1步:根据掩码长度,找出关键字节。
一个IP地址有四个字节,关键字节指掩码长度所落在的那一个字节,这里掩码长度为27,落在第四字节,这样第四字节为关键字节,所以我们在计算时,就不必去理会前三个字节了,最后直接照写即可。
第2步:从这个IP地址的子网掩码,可以求出每个网段的最大地址容量作为步长。
这里是27位长的子网掩码,表示有5位主机位,最大主机容量25=32个(为了计算方便,不必去减2),因此,这里的步长就是32。
第3步:对最后一个字节按步长的整数倍分段。
从0开始,一直到255,可分为0—32—64—96—128—160—192—224—256。
第四步:将所求IP地址的关键字节的数值放到上面分段中,看它属于哪一段。
显然属于192~224段。
第五步:得出结论。
把192结合前三个字节,写成159.34.58.192,这就是该IP地址的网络号。
因为下一个子网的网络号减1就是该IP地址所在子网的广播地址,所以可知:
1)159.34.58.223就是该网段的广播地址。
2)因为主机位为5位,所以最大主机数为25-2=33-2=30。
【例6】对IP地址159.34.58.217/20,计算出它的网络地址、广播地址、所在子网所能容纳的最大主机数。
分析:步骤同上,只是现在关键字节为第三个,计算时只需针对第三字节计算即可,它的步长为224-20=24=16。注意,由于掩码落在第三个字节内,计算步长时就用三个字节长度去减掩码长度,所以分段为0—16—32—48—64—80—96—112—128—144—160—176—192—208—224—240—256。
由于关键字是58,58属于48~64段中,因此:
1)该IP地址所在子网的网络地址为159.34.48.0,由此可知,后面主机位为0才表示网络地址;
2)该IP地址所在子网的广播地址为159.34.63.255。这里为什么不是159.34.63.0,是因为下一个网络号为159.34.64.0,它减1是在第四个字节减1,所以是159.34.63.255。
3)该网络的主机位为33-20=12位,因此最大主机数为213-2个。
子网掩码长度在8~16之间的,计算方法与上述类似,在此不再赘述。
注意:
在分段时,计算出每段大小之后,不必把每个分段都算出来。在本例中,可直接去找58附近的两个能整除16的数,一个数小于58,另一个大于58,这两个数分别为48和64,58就属于48~64段中,159.34.48.0就是该IP地址的子网号,159.34.63.255就是广播地址。
现在我们再返回去看例4,可以知道采用26位的子网掩码,每段大小为64,关键字节90和125均落在64~128段内,因此这两个IP属于同一个子网。这种方法可以一次判断多个IP地址是否落在同一个子网内。
5.IP地址的分配设计
【例7】使用一个C类网络192.168.0.0划分四个不同的网段给一个企业的四个部门使用,要使每个部门得到的IP地址数相等,问应该如何进行子网划分?假设四个部门中有一个部门有80台主机,有一个部门有50台主机,有两个部门只有20台主机需要上网,这样划分能满足吗?应该如何划分子网?
分析:先看第一个问题,使四个部门的IP地址数相等,只需将192.168.0.0划分成四个相等大小的子网即可。由于划分子网是从主机号部分的高bit位进划分的,要划成四个子网,需使用2个bit,可产生:192.168.0.0/26、192.168.0.64/26、192.168.0.128/26、192.168.0.192/26四个子网,每个子网中的主机号有6位,最多提供26-2=62个IP地址。
对于第二个问题,能否满足要求,关键要看需要IP地址最多的子网,至少要80个IP地址,显然不能满足要求,因此需采用VLSM来划分,其划分方法参见本章2.3.7节内容。
【例8】将一个B类网络172.16.0.0划分子网,每个子网要求提供的IP地址数为480个,可以划分出多少个子网?每个子网的掩码长度是多少?
分析:要满足每个子网所需的地址数为480个,因为28<480<29,因此需要主机位为9位,在B类网络中,后16位为主机位,因此,还有16-9=7位用于划分的子网号,可以划分出27=128个子网,各子网掩码长度为B类的网络号16加上划分的子网号7,即是23位作为各子网的掩码长度。
本章习题
一、选择题
1.下列地址是合法IP地址的有( )。(合法即指可分配使用)
A.200.200.0.0 B.12.2.23.255 C.43.12.0.0 D.123.123.123.255
E.222.255.255.255 F.300.2.3.53 G.55.55.255.255 H.1.1.1.0
2.189.45.43.0/20地址是( )。
A.网络地址 B.广播地址
C.单播地址 D.任播地址
3.一个A类网络有( )个主机地址。
A.24 B.28-2 C.224-2 D.224
4.下列子网掩码是有效的是( )。
A.255.252.0.0 B.240.255.255.0
C.255.255.248 D.255.255.255.242
5.一个长度为28位的子网掩码,能将一个C类网络划分成( )个子网。
A.4 B.8 C.16 D.无法确定
6.一个子网掩码为255.255.224.0的B类网络,能有( )个子网。
A.224 B.224-2 C.211 D.23
7.使用子网掩码为255.255.248.0对一个B类网络划分子网,每个子网包含的IP地址数是( )。
A.23-2 B.25 C.211-2 D.211
8.要使每个子网中可用的IP地址数为580,则对一个B类网应采用( )位长的子网掩码。
A.20 B.25 C.22 D.23
9.IP地址159.24.48.123/27的子网地址是( )。
A.159.24.48.64 B.159.24.48.128
C.159.24.48.96 D.159.24.48.112
10.IP地址121.32.46.66/21所在子网的广播地址是( )。
A.121.32.47.255 B.121.32.255.255
C.121.32.46.255 D.121.32.47.255
11.下列( )IP地址与168.46.162.240/20是在同一个子网内。
A.168.46.169.23/20 B.168.46.120.23/20
C.168.47.169.120/20 D.168.48.169.23/20
E.168.46.180.255/20 F.168.46.188.120/20
G.168.47.180.240/20 H.168.46.177.0/20
12.IP地址185.23.34.45/20的子网号是( )。
A.185.23.32.0 B.185.23.33.0 C.185.16.0.0 D.185.24.0.0
13.IP地址185.23.34.45/20所在子网的广播地址是( )。
A.185.23.255.255 B.185.23.32.255
C.185.23.47.255 D.185.24.255.255
14.IP地址196.34.74.68/27所在子网中,共有( )个有效的IP地址。
A.30 B.126 C.32 D.62
15.IPv4一共有( )个C类网络。
A.221 B.221-2 C.224 D.224-2
16.子网掩码长度为24的网络可划分为掩码长度为27的子网有( )个。
A.4 B.8 C.16 D.32
二、填空
1.二进制数1010111所对应的十进制数是____。
2.十进制569转换成十六进制等于____。
3.IPv4是由____位二进制数所构成。
4.可用于分配的IPv4地址有A类、B类和____。
5.IP地址178.23.46.0/19的子网号是____。
6.IP地址195.67.37.66/28所在子网的广播地址是____。
7.将B类网络154.56.0.0用19位掩码来划分子网,子网个数是____。
8.总部路由器和分支机构路由器之间的点对点连接最好使用的子网掩码长度位为____。
三、判断
1.225.56.65.56是一个C类地址。( )
2.1.1.1.1不是一个有效的IP地址。( )
3.子网掩码的作用是区分主机位和网络位。( )
4.一个子网的主机位是12,则这个子网中可以分配的IP地址数是212。( )
5.一个子网的广播地址是它下一个子网号减一。( )
6.路由汇总是延长了子网掩码的长度。( )
7.使用VLSM可以节省大量的IP地址。( )