考点二:IP地址
1.IP地址概述
利用网络层协议可以使这些性能各异的网络从用户层面看起来是一个统一的网络,把整个因特网看成一个单一的、抽象的网络,最直接的方法就是对不同的网络进行编号(编址),网络层提供了一种统一的地址编码方案,这种方案就是IP地址。IP地址就是给每个连接在因特网上的主机(或路由器)分配一个在全世界范围内唯一的32位的标识符,IP地址现在由互联网名称与数字地址分配机构(ICANN)进行分配。
从现在看,32位地址结构不够使用,事实上,互联网名称与数字地址分配机构在2011年2月份已将其IPv4地址空间段的最后2个“/8”地址组分配出去。这一事件标志着区域互联网注册管理机构(RIR)可用IPv4地址空间中“空闲池”的终结,也就是可以分配的IPv4地址没有了。
分类IP地址是最基本的编址方法,在1981年就通过了相应的标准协议。但是这种方式存在诸多问题,其中最主要的问题是IP地址面临枯竭问题。后来又提出了子网划分、无类别域间路由(CIDR)、私有IP等一系列提升IP地址利用率的方法,并最终提出IPv6的解决方案。
2.分类IP地址
分类IP地址是最早设计的IP地址结构,每类地址都由两个固定长度的字段组成,其中一个字段是网络号net-id,它标记主机或路由器所连接到的网络,而另一个字段则是主机号host-id,它标记该主机或路由器。两级的IP地址可以记为:IP地址::={<网络号>,<主机号>}。如图4-3所示,网络层规定A类、B类和C类地址的网络号字段(在图中这个字段是灰色的)分别为1个、2个和3个字节长,而在网络号字段的最前面有1~3位的类别位,其数值分别规定为0、10和110,并作为单播地址使用。同时规定D类地址的类别位是1110,作为组播地址使用,E类地址的类别位是1111,作为科研地址使用。
图4-3 分类IP地址
注意:单播可以理解为一对一,组播可以理解为一对多。
A类地址(大规模网络):一个A类IP地址由1个字节的网络地址和3个字节的主机地址组成,网络地址的最高位必须是0,0是保留的并且表示所有IP地址,而127也是保留的地址,是用于测试环回用的,范围为1.0.0.0~126.0.0.0。可用的A类网络有126个,每个网络能容纳1亿多个主机(224的主机数目)。
B类地址(中等规模网络):一个B类IP地址由2个字节的网络地址和2个字节的主机地址组成,网络地址的最高位必须是10,地址范围为128.0.0.0~191.255.255.255。可用的B类网络有16382个,每个网络能容纳65534个主机。
C类地址(小规模局域网):一个C类IP地址由3个字节的网络地址和1个字节的主机地址组成,网络地址的最高位必须是110,地址范围为192.0.0.0~223.255.255.255。C类网络可达209万个,每个网络能容纳254个主机。
D类地址(多播):D类IP地址的第一个字节以“1110”开始,地址范围为224~239,它是一个专门保留的地址。它并不指向特定的网络,目前这类地址被用在多点广播中。多点广播地址用来一次寻址一组计算机,它标识共享同一协议的一组计算机。
E类地址:E类IP地址是以“11110”开始的,地址范围为240~254,为保留地址。
在这些IP地址中,包含一些特殊的IP地址和网络,如表4-1所示。
表4-1 特殊IP地址
(1)127也是保留的地址,并且是用于测试环回用的,测试本机是否安装TCP/IP协议栈。
(2)全“0”的IP地址(0.0.0.0)对应于当前主机,同时相当于本网络,即当前主机所在网络。
(3)全“1”的IP地址(255.255.255.255)的本意是全网络的广播,但是由于路由器有路由隔离功能,它表示的是当前子网的广播地址。
(4)网络地址是主机位全为0,网络位是A、B、C网络的网络位。
(5)一个网络的广播地址是主机位全为1,网络位是A、B、C网络的网络位。
(6)因为存在网路地址和网络的广播地址,所以每个网络中可用主机数量要减2。
(7)32位IP地址不容易记忆,通常采用点分十进制来表示,即机器中存放的IP地址是32位二进制代码,将每8位的二进制数转换为十进制数。例如,IP地址1000 0000 0000 1011 0000 0011 0001 1111可以化为10000000 00001011 00000011 00011111,并把每组转化成十进制,得到128.11.3.31。
(8)把IP地址表示成点分十进制之后,就可以根据左边第一个字节的数值范围来判断某个IP地址属于哪类IP地址。若IP地址的第一个字节的范围为0~126,则这个IP地址就属于A类地址;若范围为128~191,则这个IP地址就属于B类地址;若范围为192~223,这个IP地址就属于C类地址;若范围为224~239,则这个IP地址就属于D类地址。
需要说明的是,IP地址是一种分等级的地址结构。实际上IP地址是标志一个主机(或路由器)和一条链路的接口。由于一个路由器至少应当连接到两个网络(这样它才能将IP数据报从一个网络转发到另一个网络),因此一个路由器至少应当有两个不同的IP地址。用转发器或网桥连接起来的若干个局域网仍为一个网络,因此这些局域网都具有同样的网络号net-id。所有分配到网络号net-id的网络,不论是范围很小的局域网,还是可能覆盖很大地理范围的广域网,都是平等的。
3.子网划分
(1)分类IP的缺点。
首先IP地址空间的利用率有时很低。每个B类地址网络可连接的主机数超过6万个。有的单位申请到了一个B类地址,但所连接的主机数并不多,可是又不愿意申请一个足够使用的C类地址,理由是考虑到今后可能的发展。IP地址的浪费,还会使IP地址空间的资源过早地被用完。其次给每个物理网络分配一个网络号会使路由表变得太大,因而使网络性能变坏。最后两级IP地址不够灵活。
(2)子网划分。
针对上述的不足,把IP从两级IP地址提升到三级IP地址,从主机号借用若干个位作为子网号subnet-id,而主机号host-id也就相应减少了若干个位。IP地址::={<网络号>,<子网号>,<主机号>}。凡是从其他网络发送给本单位某个主机的IP数据报,仍然是根据IP数据报的目的网络号net-id,先找到连接在本单位网络上的路由器。然后此路由器在收到IP数据报后,再按目的网络号net-id和子网号subnet-id找到目的子网。最后将IP数据报直接交付目的主机。
(3)子网掩码。
从一个IP数据报的首部无法判断源主机或目的主机所连接的网络是否进行了子网划分。需要另一种技术来确定是否进行了子网划分以及借用了多少位来进行子网划分。子网掩码(Subnet Mask)技术满足上述需求。
所谓子网掩码,就是主机位全是0,网络位包括子网位全是1,其中1的个数就是网络位包括子网位。根据子网掩码,计算网络地址的方式是(IP地址)AND(子网掩码)=网络地址。例如,IP地址是141.14.72.24,子网掩码是255.255.192.0,试求网络地址,计算过程如图4-4所示。把IP地址化成二进制,然后每位和子网掩码进行按位与操作。
图4-4 子网掩码和IP地址计算网络地址
可以得到网络地址是141.14.64.0。
网络层规定了A、B、C类网络的默认子网掩码如下:
A类地址的默认子网掩码是255.0.0.0或0xFF 00 00 00。
B类地址的默认子网掩码是255.255.0.0或0xFF FF 00 00。
C类地址的默认子网掩码是255.255.255.0或0xFF FF FF 00。
需要特别提醒的是,子网划分是在A、B、C类的基础上进行的,所以具有子网划分的子网掩码比默认的子网掩码要长。
4.无分类域间路由选择(CIDR)
(1)无分类域间路由选择(Classless Inter-Domain Routing,CIDR)的概念和掩码。
虽然子网划分能够提高IP地址的利用率,但是这种划分方法是在A、B、C三类网络的基础上进行的,仍然具有很多局限性,因此就提出了CIDR。CIDR消除了传统的A类、B类和C类地址以及划分子网的概念,因而可以更加有效地分配IPv4的地址空间。
CIDR使用各种长度的“网络前缀”(Network-Prefix)来代替分类地址中的网络号和子网号。IP地址从三级编址(使用子网掩码)又回到了两级编址。无分类的两级编址的记法是IP地址::={<前缀>,<主机号>}。
CIDR还使用“斜线记法”(Slash Notation),它又称为CIDR记法,即在IP地址后面加上一个斜线“/”,然后写上网络前缀所占的位数(这个数值对应于三级编址中子网掩码中1的个数)。CIDR把网络前缀都相同的连续的IP地址组成“CIDR地址块”。例如,128.14.32.0/20表示的地址块共有212个地址(因为斜线后面的“20”是网络前缀的位数,所以这个地址的主机号是12位)。这个地址块的起始地址是128.14.32.0。在不需要指出地址块的起始地址时,也可将这样的地址块简称“/20地址块”。128.14.32.0/20地址块的最小地址是128.14.32.0;128.14.32.0/20地址块的最大地址是128.14.47.255。
(2)路由聚合和最长前缀匹配。
一个CIDR地址块可以表示很多地址,这种地址的聚合常称为路由聚合,它使得路由表中的一个项目可以表示很多个原来传统分类地址的路由。路由聚合也称为超网(Supernetting)。例如,有下面4条路由:172.18.129.0/24、172.18.130.0/24、172.18.132.0/24和172.18.133.0/24,如果进行路由聚合,能覆盖这4条路由的地址是172.18.128.0/21。这是因为要覆盖这4条路由,需要找到这4个路由的公共部分,在172.18.129.0/24、172.18.130.0/24、172.18.132.0/24和172.18.133.0/24中,172.18是相同的,把第三个字节化成二进制,129的二进制是10000001,130的二进制是1000 0010,132的二进制是1000 0100,133的二进制是1000 0101,因此相同的是10000,共有5位。
使用CIDR时,路由表中的每个项目由“网络前缀”和“下一跳地址”组成。在查找路由表时可能会得到不止一个匹配结果。应当从匹配结果中选择具有最长网络前缀(Longest-Prefix Matching)的路由。网络前缀越长,其地址块就越小,因而路由就越具体。最长前缀匹配又称为最长匹配或最佳匹配。我们以定位天安门为例来理解这个知识点,天安门在北京市,天安门也在中国、地球、太阳系、银河系等,当我们要寻找天安门时,告诉天安门在银河系是对的,告诉天安门在地球也是对的,那么地址越精确,越容易定位地址。
为了进行更加有效的查找,通常把无分类编址的路由表存放在一种层次的数据结构中,然后自上而下地按层次进行查找。这里最常用的就是线索二叉树,它是一种特殊结构的树,具体性质和构造可以参考数据结构相关章节,在此不赘述。
【政哥点拨】
1.一个网段的网络号为198.90.10.0/27,子网掩码固定为255.255.255.224,最多可以分成( )个子网,而每个子网最多具有( )个有效的IP地址。
A.8,30 B.4,62 C.16,14 D.32,6
解析 A 给定的地址是198.90.10.0/27,且子网掩码固定为255.255.255.224,由地址结构可知,这是一个C类地址,默认子网掩码是24位,但是题目中给定的子网掩码是27位,因此借用了3位的主机位充当子网位,因此子网个数是23=8(个)。子网掩码是27位,那么主机位是5位,每个子网中最多有25=32(个)IP地址,但是要去掉网络地址和广播地址,于是每个子网中有30个有效的IP地址(主机地址/可分配地址)。
2.一个自治系统有5个局域网,其连接图如图4-5所示。LAN2~LAN5上的主机数分别为91个、150个、3个和15个,该自治系统分配到的IP地址块为30.138.118/23,试给出每个局域网的地址块(包括前缀)。
图4-5 局域网连接图
解析 子网划分方法有两种:第一种是主机优先策略,此类情形是每个网络中的主机数不一样多时,优先分配主机数比较多的主机,以避免主机位不够;第二种是网络优先策略,此策略用于每个网络中的主机数一样多或大约数量相等的情形。
根据考试题型,本题要采用主机优先的策略,LAN2~LAN5上的主机数分别为91个、150个、3个和15个,该自治系统分配到的IP地址块为30.138.118/23。
首先分配LAN3,具有150个主机,所需的主机位数是「log2(150+2)=8(位),因为30.138.118/23已经有23位网络位了,又需要8位主机位,所以在地址30.138.118/23中借用1位主机位充当子网位,将该网络切割成2个子网,将118这个字节化成二进制0111 0110,其中最低位的0位置借用为子网位,可以是0或1,于是(假设我们按照从小到大依次分配,这个也是考试中的默认要求)
子网1:30.138.118.0/24,其IP地址范围是30.138.118.0~30.138.118.255,分配给LAN3;
子网2:30.138.119.0/24,这个子网继续分配。
其次分配LAN2,具有91个主机,所需的主机位数是「log2(91+2)=7(位),因 为30.138.119.0/24已 经 有24位 网 络 位 了,又 需 要7位 主 机 位,因 此,在 地 址30.138.119.0/24中借用1位主机位充当子网位,将该网络切割成2个子网,将第4个字节化成二进制0000 0000,其中最高位的0位置借用为子网位,可以是0或1,于是
子网1:30.138.119.0/25,其IP地址范围是30.138.119.0~30.138.119.127,分配给LAN2;
子网2:30.138.119.128/25,这个子网继续分配。
最后分配LAN1、LAN4和LAN5三个子网,我们可以在30.138.119.128/25的基础上切割4个子网,于是将128这个字节化成二进制1000 0000;划分4个子网,需要借用2位主机位充当子网位,于是
子网1:30.138.119.128/27,其IP地址范围是30.138.119.128~30.138.119.159,分配给LAN1;
子网2:30.138.119.160/27,其IP地址范围是30.138.119.160~30.138.119.191,分配给LAN4;
子网3:30.138.119.192/27,其IP地址范围是30.138.119.192~30.138.119.223,分配给LAN5;
子网4:30.138.119.224/27,其IP地址范围是30.138.119.224~30.138.119.255,未进行分配。
3.若将101.200.16.0/20划分为5个子网,则可能的最小子网的可分配IP地址数是( )。
A.126 B.254 C.510 D.1022
解析 B 按照我们总结的两种分配方式,首先尝试使用网络优先的分配策略,划分为5个子网,那么所对应的子网位是「log25=3(位),于是主机位是32-3-20=9(位),对应的主机数是29-2=510。这种分法就没有最小子网和最大子网的区别了。
接着按照主机优先的分配策略。为了让子网中的主机数最多,就需要让主机位尽可能多,题干给的网络是101.200.16.0/20,留出一位主机位充当子网位,那么主机位是32-20-1=11(位)(假设我们按照从小到大依次分配,这个也是考试中的默认要求),101.200.0001 0000.0/20可以划分为
101.200.0001 0000.0/21 →子网1
101.200.0001 1000.0/21 这个地址继续分配,且让主机位尽可能多
101.200.0001 1000.0/22 →子网2
101.200.0001 1100.0/22 这个地址继续分配,且让主机位尽可能多
101.200.0001 1100.0/23 →子网3
101.200.0001 1110.0/23 这个地址继续分配,且让主机位尽可能多
101.200.0001 1110.0/24 →子网4
101.200.0001 1111.0/24 →子网5
很显然,最小的主机数是28-2=254(个),最多的主机数是211-2=2046(个)。选择B项。
5.私有IP
我们知道,局域网是整个网络的核心,现实世界中,存在局部性的概念,我们以最熟悉的场景来引入,在大学入学时,每个人都有一个学号,如张三,学号是20200101001。所谓局部性,是开学以后,我们基本上都在学校中,很少出校门,也就是我们局限于学校;当我们放假时,我们基本上都在家,也就是我们局限于家中。根据局部性特点,我们在学校可以使用学号,我们在家可以使用身份证号,其中学校是私有的编号,身份证号是公共的编号。为什么呢?其实不同学校的学号可能是一样的,但是身份证号是不一样的。
类似地,局域网中的计算机也有局部性特点,IP地址分为公网IP地址和私有IP地址。公网IP地址是在因特网上使用的IP地址,而私有IP地址则是在局域网中使用的IP地址,在互联网上不使用。私有IP地址的范围如表4-2所示。
表4-2 私有IP地址的范围
这些地址只能用于一个机构的内部通信,不能用于与因特网上的主机通信。专用地址只能用作本地地址而不能用作全球地址。在因特网中的所有路由器对目的地址是专用地址的数据报一律不进行转发。
回到我们的场景中,我们在学校中可以使用学号,但是当我们放假回家需要买票时,必须使用身份证号。类似地,当私有IP地址需要上网时,需要在专用网连接到因特网的路由器上安装网络地址转换软件(Network Address Translation,NAT)。装有NAT软件的路由器称为NAT路由器,它至少有一个有效的外部全球地址IP。所有使用本地地址的主机在与外界通信时都要在NAT路由器上将其本地地址转换成公有IP地址,才能和因特网连接。我们通过一个例子来说明,这个也是最近几年考试的重点。
如图4-6所示,有一台私有IP为192.168.0.3(记作IPA)的主机A要访问具有公有IP为213.18.2.4(记作IPB)的主机B,为了说明,我们让主机A向主机B发送一个数据,也让主机B给主机A发送一个数据,同时有一个公共的IP为172.38.1.5(记作IPG)的NAT路由器。
图4-6 NAT路由器的工作原理
内部主机A用本地地址IPA和互联网上主机B通信所发送的数据报必须经过NAT路由器。NAT路由器将数据报的源地址IPA转换成全球地址IPG,并把转换结果记录到NAT地址转换表中,目的地址IPB保持不变,然后发送到互联网。
NAT路由器收到主机B发回的数据报时,知道数据报中的源地址是IPB而目的地址是IPG。根据NAT转换表,NAT路由器将目的地址IPG转换为IPA,转发给最终的内部主机A。
可以看出,在内部主机与外部主机通信时,在NAT路由器上发生了两次地址转换:离开专用网时,替换源地址,将内部地址替换为全球地址;进入专用网时,替换目的地址,将全球地址替换为内部地址(表4-3)。
表4-3 NAT路由器的地址转换表
注意:表4-3是在配置私有IP地址时,由网络管理员配置好,保存到路由器中。
为了更加有效地利用NAT路由器上的全球IP地址,现在常用的NAT转换表把传输层的端口号也利用上。这样就可以使多个拥有本地地址的主机,共用一个NAT路由器上的全球IP地址,因而可以同时与互联网上的不同主机进行通信。
网络地址端口转换(Network Address and Port Translation,NAPT)。将多个内部地址映射为一个合法公网地址,但以不同的协议端口号与不同的内部地址相对应。这个端口号其实是传输层中用于标识进程的编号。NAPT路由器的地址转换表示例如表4-4所示。
表4-4 NAPT路由器的地址转换表示例
续表
NAPT把专用网内不同的源IP地址,都转换为同样的全球IP地址。但对源主机所采用的TCP端口号(不管相同或不同),则转换为不同的新的端口号。因此,当NAPT路由器收到从互联网发来的应答时,就可以从IP数据报的数据部分找出传输层的端口号,然后根据不同的目的端口号,从NAPT路由器的地址转换表中找到正确的目的主机。
6.IPv6
(1)IPv6的特点。
尽管使用了子网划分等方法,但还是无法从根本上解决IP地址枯竭的问题,于是就提出了IPv6。与IPv4相比,IPv6具有如下优点:
①更大地址空间:128位的地址空间可以满足地球上所有人。
②IPv6定义了3种不同的地址类型,包括单播、多播、任意播。
③支持移动性和安全性:有助于确保遵循移动IP标准和安全标准。
④更简单的报文提高了路由器的效率。
⑤IPv6报文头部定长(固定为40字节)。
⑥IPv6的报文头部取消了校验和字段。
每个接口多个地址,所有类型的IPv6地址都是属于接口(Interface)而不是节点(Node)。一个IPv6单点传送地址被赋给某个接口,而一个接口又只能属于某个特定的节点,一个节点的任意一个接口的单点传送地址都可以用来标识该节点。
(2)IPv6的表示方式。
IPv6不使用点分十进制进行表示,而是用冒分十六进制表示法,基本格式为×:×:×:×:×:×:×:×,其中每个×代表16位,以十六进制显示,如ABCD:EF01:2345:6789:ABCD:EF01:2345:6789。这种表示方式中前导的0可以省略表示(每个×中前面连续的0可以省略不写,若整个×都为0,则用一个0表示整个×),2001:0DB8:0000:0023:0008:0800:200C:417A=2001:DB8:0:23:8:800:200C:417A,同时为了方便可以对多个零进行压缩,也就是0位压缩表示法,可以把连续的一段0压缩为“::”。但为保证地址解析的唯一性,地址中“::”只能出现一次,如FF01:0:0:0:0:0:0:1101=FF01::1101,0:0:0:0:0:0:0:0=::。
(3)IPv6的数据转发方式。
单播:一个地址标识单个接口,发送给单播地址的分组将传输到该地址标识接口。
多播:一个多播地址标识位于不同设备上的一组接口,发送给多播地址的分组将传输到该地址标识的所有接口,多播地址不会作为源地址出现。
任意播:一个地址分配给多个接口,这些接口代表不同的节点,将分组发送到任意播组中最近的接口(第一个邻居),其他情况根据路由协议的度量值确定。
(4)IPv4到IPv6的过渡。
①双栈技术:主机或路由器同时装有IPv4和IPv6两个协议栈,因此,主机既能与IPv4网络通信,也能与IPv6网络通信。
IPv6和IPv4是功能相近的网络层协议,两者都基于相同的物理平台,而且加载于其上的传输层协议TCP和UDP又没有任何区别。如果一台主机同时支持IPv6和IPv4两种协议,那么该主机既能与支持IPv4协议的主机通信,又能与支持IPv6协议的主机通信,这就是双协议栈技术的工作原理。
②隧道技术:在IPv6分组进入IPv4网络时,将IPv6分组封装成IPv4分组;当封装成IPv4分组离开IPv4网络时,再将数据部分(IPv6部分)转发给目的节点。
利用隧道技术,可以通过现有的运行IPv4协议的Internet骨干网络(隧道)将局部的IPv6网络连接起来,因而是IPv4向IPv6过渡的初期最易于采用的技术。路由器将IPv6的数据分组封装入IPv4,IPv4分组的源地址和目的地址分别是隧道入口和出口的IPv4地址。在隧道的出口处,再将IPv6分组取出转发给目的站点。
政哥应试提醒:IP地址结构是考试的重中之重,涉及IP地址的类别分辨、IP地址个数计算、网络个数计算及子网划分等,大家务必多练习、勤思考。
难度系数:★★★
牛刀小试
1.IP地址包含( )。
A.网络号 B.网络号和主机号 C.网络号和MAC地址 D.MAC地址
2.IP地址为172.16.101.20,子网掩码为255.255.255.0,则该IP地址中,网络地址占前( )位。
A.19 B.21 C.20 D.24
3.把网络202.112.78.0划分为多个子网,子网掩码是255.255.255.192,则各子网中可用的主机地址数是( )。
A.254 B.252 C.128 D.62
4.假设一个主机的IP地址为192.168.5.121,而子网掩码为255.255.255.248,那么该主机的网络号是( )。
A.192.168.5.12 B.192.168.5.121 C.192.168.5.120 D.192.168.5.32
5.假如正在构建一个有22个子网的B类网络,但是几个月后该网络将增至80个子网。每个子网要求支持至少200个主机,应该选择下面哪个子网掩码?( )
A.255.255.0.0 B.255.255.254.0 C.255.255.255.0 D.255.255.248.0
6.127.0.0.1属于哪类特殊地址?( )。
A.广播地址 B.回环地址 C.本地链路地址 D.网络地址
7.给 出B类 地 址190.168.0.0及 其 子 网 掩 码255.255.224.0,则 它 可 以 划 分( )个子网。
A.8 B.6 C.4 D.2
8.IP地址10.10.13.15/24表示该主机所在网络的网络号为( )。
A.10.10.13.0 B.10.10.0.0 C.10.13.15.0 D.10.0.0.0
9.以下为源主机和目标主机的不同IP地址组合,其中( )组合可以不经过路由直接寻址。
A.125.2.5.3/24和136.2.2.3/24 B.125.2.5.3/16和125.2.2.3/16
C.126.2.5.3/16和136.2.2.3/21 D.125.2.5.3/24和136.2.2.3/16
10.如果IP地址为202.115.32.33,子网掩码为255.255.255.0,那么网络地址是( )。
A.202.115.0.0 B.202.0.0.0 C.202.115.32.33 D.202.115.32.0
11.有如下的4个/24地址块:172.16.156.100/24、172.16.157.111/24、172.16.158.112/24、172.16.159.113/24,进行最大可能的聚合,结果是( )。
A.172.16.156.100/22 B.172.16.157.111/23
C.172.16.158.0/24 D.172.16.159.0/25
12.以下网络地址中属于私有地址(Private Address)的是( )。
A.172.15.22.1 B.128.168.22.1 C.172.16.22.1 D.192.158.22.1
13.IPv6的地址长度为( )位。
A.48 B.32 C.64 D.128
14.IPv6地址以十六进制数表示,每4个十六进制数为1组,组间用冒号隔开。下面的地址ADBF:0000:FEEA:0000:0000:00EA:00AC:DEED的简化写法是( )。
A.ADBF:0:FEEA:00:EA:DEED B.ADBF:0:FEEA::EA:AC:DEED
C.ADBF:0:FEEA:EA:AC:DEED D.ADBF::FEEA::EA:AC:DEED
15.IP协议规定每个C类网络最多可以有( )台主机或路由器。
A.254 B.256 C.3 D.1024
16.下列地址中,属于子网86.32.0.0/12的地址是( )。
A.86.33.224.123 B.86.79.65.126 C.86.79.65.216 D.86.68.206.154
17.关于无分类编址CIDR,下列说法错误的是( )。
A.CIDR使用各种长度的“网络前缀”来代替分类地址中的网络号和子网号
B.CIDR将网络前缀都相同的连续的IP地址组成“CIDR”地址块
C.网络前缀越短,其地址块所包含的地址数就越少
D.使用CIDR,查找路由表时可能会得到多个匹配结果,应当从匹配结果中选择具有最长网络前缀的路由。因为网络前缀越长,路由就越具体
牛刀小试解析
1.B 解析 本题考查IP地址结构。IP地址包括网络号和主机号两个部分。MAC地址是数据链路层的内容,不是网络层的内容,所以选择B项。
2.D 解析 本题考查应用IP地址和子网掩码计算网络号的方法。根据题干,172开头的IP地址是B类地址。若是没有子网划分,IP地址172.16.101.20的前16位是网络地址。因为子网掩码是255.255.255.0,子网掩码的前24位是1,表示前24位是网络号。
3.D 解析 202.112.78.0是C类地址,子网掩码是255.255.255.192。IP地址的最后一个字节192表示成二进制是1100 0000。子网掩码简单理解,就是“子网掩码前面全部都是1,1的个数表示网络号的二进制位数,后面全是0,0的个数表示主机号的位数”。本题中,主机号是6位,每个子网内可以有26-2=62(个)主机。
4.C 解析 本题考查利用IP地址和子网掩码计算网络号的方法。我们写二进制的时候,不必每个字节都写,简单地写最后一个字节就可以了。子网掩码255.255.255.248,第4个字节有0有1可写成二进制的1111 1000。
IP地址192.168.5.121的最后一个字节121表示成二进制是0111 1001,该字节的前5位表示网络号,因此网络地址是192.168.5.120,选择C项。
5.C 解析 首先,一个子网要求最少要支持200台主机,需要8位来表示,而80个子网需要7位二进制数表示。注意,这里向上取整,原则是“保证够用,但是不要浪费!”。
划分子网的网络地址结构是IP地址={<网络号>,<子网号>,<主机号>}。那么,该网络IP地址后面的15位都用来表示子网号和主机号了,前面的17位表示网络号,子网号用7位表示。子网掩码包括IP地址结构的网络号和子网号两部分。故而,子网掩码有24位。前面3个字节的子网掩码的二进制表示都是1111 1111,最后一个字节全0。
故而,我们得到子网掩码是255.255.255.0,选择C项。
6.B 解析 本题考查IP地址的特殊地址。特殊地址有如下三类:
①D类地址:是多播地址。该类IP地址的最前面为“1110”,所以地址的网络号取值为224~239。D类地址一般用于多播用户。
②E类地址:是保留地址。该类IP地址的最前面为“1111”,所以地址的网络号取值为240~255。
③回环地址:127.0.0.1。回环地址一般用于测试使用,是本机IP堆栈内部的地址,主要用于网络软件测试及本机进程间通信。无论什么程序,一旦使用回环地址发送数据,协议软件立即返回,不进行任何网络传输。
我们来总结一下各类特殊地址,如表4-5所示。
表4-5 各类特殊地址
7.A 解析 地址190.168.0.0的子网是255.255.224.0,将该IP地址的第3个字段224写成二进制是1110 0000。可以看出,IP地址第3个字节的前3位用来表示子网号。
8.A 解析 本题考查利用IP地址和子网划分来计算网络号。由题意可知,IP地址的10.10.13.15的前24位是网络号。所以,网络号是10.10.13.0,选择A项。
9.B 解析 源到目的地址寻址不经过路由的两台主机须位于同一个网络上。A项给的网络号分别是125.2.5.0和136.2.2.0,显然不在同一个网络上。同理,B项的两个IP地址对应的网络号都是125.2.0.0,所以源到目的主机可以不经过路由而直接寻址。同理可推出,C、D项的两个IP也不是相同的网络号。
10.D 解析 子网掩码是255.255.255.0,表明IP地址202.115.32.33的前24位表示网络地址,故而网络地址为202.115.32.0,选择D项。
11.A 解析 本题考查路由聚合。根据题干可知,4个IP地址块的前两个字节都是172.16。为了简单起见,我们分析的时候,仅考虑第3个字节。我们依次写出4个地址块的第3个字节的二进制数:①1001 1100;②1001 1101;③1001 1110;④1001 1111。
可以看出,路由聚合可以取到22位。第3个字节是1001 1100,即156。故而,得到的路由聚合结果为172.16.156.100/22。
12.C 解析 考查私有地址的范围。A类地址中私有地址范围为10.0.0.0~10.255.255.255,B类地址中私有地址范围为172.16.0.0~172.31.255.255,C类地址中私有地址范围为192.168.0.0~192.168.255.255。故而,本题选择C项。
13.D 解析 本题考查IPv6地址的长度。IPv6的长度是128位,用16个字节表示,而IPv4是32位,这一点要切记。
14.B 解析 本题考查IPv6的化简方法。双冒号(::)在化简IPv6的时候,只能出现一次,而且用来化简最长的0000。设想一下,若是多个0000段都被化简了。例如,本题中,化简成“ADBF::FEEA::EA:AC:DEED”,若是不看题干,要还原出来题干的IPv6地址是不可能的。
15.A 解析 在分类的IP网络中,C类地址的前24位为网络号,后8位为主机位,主机位全“0”表示网络号,主机位全“1”表示广播地址,因此最多可以有28-2=254(台)主机或路由器。
16.A 解析 CIDR地址块86.32.0.0/12的网络前缀为12位,说明第2个字节的前4位在前缀中,第2个字节“32”的二进制形式为0010 0000,选项给出的4个地址的前8位均相同,而第2个字节的前4位分别是0010、0100、0011、0100,所以选择A项。
17.C 解析 网络前缀越短,用来表示主机号的二进制位越多,地址块中包含的地址数越多。故而,C项错误。