第4章 网络层
习题
4-01 网络层向上提供的服务有哪两种?试比较其优缺点。
答:虚电路服务和数据报服务。
虚电路服务:
优点:①使用面向连接的通信方式,能够提供可靠的通信服务;②因为数据是沿着建立的虚电路进行传输的,因此分组的首部不需要携带完整的目的主机的地址,只需要填写这条虚电路的编号(并不大的整数),因此减少了分组的开销;③所有分组可以按序到达,无重复、无丢失。缺点:①每次通信需要建立连接(逻辑连接而非物理连接),数据传输启动慢。②同属于一条虚电路的分组只能按照同一路由进行转发,在这条通路上,只要有一个结点出现故障,整条通路均无法工作。③因为网络层要保证可靠传输,所以使用虚电路服务的网络节点交换机也比较昂贵和复杂。
数据报服务:
优点:①每个分组可独立查找转发表进行转发,比较灵活;②由于传输网络不提供端到端的可靠传输服务,这就使得网络中的路由器比较简单,且价格较便宜,这就使得网络造价大大降低。缺点:①不能提供可靠的通信服务;②分组不能有序到达,可能出现分组的重复或者丢失;③因为网络层不提供可靠通信,因此由主机来负责端到端的可靠性,包括差错处理和流量控制,因此主机的处理负担比较大。
4-02 网络互连有何实际意义?进行网络互连时,有哪些共同的问题需要解决?
答:网络互连暗含了相互连接的计算机进行通信,也就是说从功能上和逻辑上看,这些相互连接的计算机网络组成了一个大型的计算机网络。网络互连可以使处于不同地理位置的计算机进行通信,方便了信息交流(和资源共享),促成了当今的信息世界。
网络互连需要解决的问题有:
1. 不同的寻址方案;
2. 不同的最大分组长度;
3. 不同的网络接入机制;
4. 不同的超时控制;
5. 不同的差错恢复方法;
6. 不同的状态报告方法;
7. 不同的路由选择技术;
8. 不同的服务(面向连接服务和无连接服务);
9.不同的管理与控制方式;等等
4-03 作为中间设备,转发器、网桥、路由器和网关有何区别?
答:转发器:物理层使用的中间设备
网桥:数据链路层使用的中间设备
路由器:网络层使用的将网络互连的中间设备
网关:在网络层以上使用的网络互连的中间设备
转发器和网桥仅仅是将一个网络扩大了,从网络层的角度看来,这仍然是一个网络,并不叫网络的互连。
4-04 试简单说明下列协议的作用:IP,ARP和ICMP。
答:IP:网际协议,是TCP/IP体系中两个最重要的协议之一,使许多异构网络互连,以使这些性能各异的网络在网络层上看起来好像是一个统一的网络;
ARP:地址解析协议,实现地址转换,将IP地址映射为MAC地址;
ICMP:网际控制报文协议,为了有效地转发IP数据报和提高交付成功的机会,在网际层使用了ICMP,ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告。
4-05 IP地址如何表示?
答:IP地址::={<网络号>,<主机号>} 共32位
4-06 IP地址的主要特点是什么?
答:
(1)每个IP地址都是由网络号和主机号两部分组成的;
(2)实际上IP地址是标志一台主机(或路由器)和一条链路的接口;
(3)用转发器或交换机连接起来的若干个局域网仍为一个网络;
(4)在IP地址中,所有分配到网络前缀的网络都是平等的。
4-07 试说明IP地址与MAC地址的区别。为什么要使用这两种不同的地址?
答:IP地址:IP地址是网络层和以上各层使用的地址,是一种逻辑地址(称IP地址为逻辑地址是因为IP地址是用软件实现的)。
MAC地址:MAC地址是数据链路层使用的地址。由于MAC地址已固化在网卡的ROM中,因此常将MAC地址称为硬件地址或物理地址。
IP地址放在IP数据报的首部,而MAC地址则放在MAC帧的首部。
为什么要使用这两种不同的地址?
由于全世界存在着各式各样的网络,它们使用不同的MAC地址。要使这些异构网络能够互相通信就必须进行非常复杂的MAC地址转换工作,因此由用户或用户主机来完成这项工作几乎是不可能的事。即使是对分布在全世界的以太网MAC地址进行寻址,也是极其困难的。然而IP编址解决了这个问题,连接到互联网的主机只需各自拥有一个IP地址,它们之间的通信就可以像连接在同一个网络上那样简单方便,即便必须多次调用ARP来找到MAC地址,但这个过程都是由计算机软件自动进行的,用户看不见
4-09 IP数据报中的首部检验和并不检验数据报中的数据。这样做的最大好处是什么?坏处是什么?
答:好处:减少计算的工作量,加快路由器的处理速度
坏处:不能及时发现数据部分的错误,只有在到达主机的时候才能检查到错误。
4-10 当某个路由器发现一IP数据报的检验和有差错时,为什么采取丢弃的办法而不是要求源站重传此数据报?计算首部检验和为什么不采用CRC检验码?
答:不要求源站重发,是因为IP首部中地址字段也有可能出错,要求错误的源地址主机重传数据是无意义的。
为了减少计算校验和的工作量。
4-13 什么是最大传送单元MTU?它和IP数据报首部中的哪个字段有关系?
答:MTU:是数据链路层协议规定的一个数据帧中的数据字段的最大长度。
MTU与IP数据报的总长度字段有关系。当一个IP数据报封装成链路层的帧时,此数据报的总长度(即首部加上数据部分)一定不能超过下面数据链路层所规定的MTU值。
4-14 互联网中将IP数据报分片传送的数据报在最后的目的主机进行组装。还可以有另一种做法,即数据报分片通过一个网络就进行一次组装。试比较这两种方法的优劣。
答:第二种方法不可行。(1)数据报分片如果每通过一个网络就进行重组,会导致路由器需消耗更多的时间和空间进行重组,将影响数据传输效率。(2)数据报的每一个分片可能需要经过不同的路径,如果在每一个中间的网络进行组装可能根本凑不齐所有的数据报片,那么组装也是毫无意义。(3)分组后面还需要经过网络,给这些数据报会分成更小的片,会再次分开再组装,增加传输资源和时间。(4)路由器与主机相比,性能要差很多,在路由器中组装可能要需要很长时间,从而影响传输效率。
4-15 一个3200位长的TCP报文传到IP层,加上160位的首部后成为数据报。下面的互联网由两个局域网通过路由器连接起来,但第二个局域网所能传送的最长数据帧中的数据部分只有1200位,因此数据报在路由器必须进行分片。试问第二个局域网向其上层要传送多少比特的数据(这里的“数据”当然指的是局域网看见的数据)?
答:
4-16
(1)试解释为什么ARP高速缓存每存入一个项目就要设置10~20分钟的超时计时器。这个时间设置得太大或太小会出现什么问题?
(2)举出至少两种不需要发送ARP请求分组的情况(即不需要请求将某个目的IP地址解析为相应的MAC地址)。
答:(1)当网络中某个IP地址和硬件地址的映射发生变化时,ARP高速缓存中的相应的项目就要改变。例如,更换以太网网卡就会发生这样的事件。10 ~ 20分钟更换一块网卡是合理的。超时时间太短会使ARP请求和响应分组的通信量太频繁,而超时时间太长会使更换网卡后的主机迟迟无法和网络上的其他主机通信。
(2)在源主机的ARP高速缓存中已经有了该目的IP地址的项目;源主机发送的是广播分组;源主机和目的主机使用点对点链路。
4-17 主机A发送IP数据报给主机B,途中经过了5个路由器。试问在IP数据报的发送过程中总共使用了几次ARP?
答:6次,主机用一次,每个路由器各使用一次。
4-18 设某路由器建立了如下转发表:
现收到5个分组,其目的地址分别为:
(1)128.96.39.10
(2)128.96.40.12
(3)128.96.40.151
(4)192.4.153.17
(5)192.4.153.90
试分别计算下一跳。
答:(1)接口m0;(2)R2;(3)R4;(4)R3;(5)R4。
4-19 某单位分配到一个地址块129.250/16。该单位有4000台机器,平均分布在16个不同的地点。试给每一个地点分配一个地址块,并算出每个地址块中IP地址的最小值和最大值。
答:
地点序号 |
地址块 |
IP地址最小值 |
IP地址最大值 |
01 |
129.250.0.0/20 |
129.250.0.1/20 |
129.250.15.254/20 |
02 |
129.250.16.0/20 |
129.250.16.1/20 |
129.250.31.254/20 |
03 |
129.250.32.0/20 |
129.250.32.1/20 |
129.250.47.254/20 |
04 |
129.250.48.0/20 |
129.250.48.1/20 |
129.250.63.254/20 |
05 |
129.250.64.0/20 |
129.250.64.1/20 |
129.250.79.254/20 |
06 |
129.250.80.0/20 |
129.250.80.1/20 |
129.250.95.254/20 |
07 |
129.250.96.0/20 |
129.250.96.1/20 |
129.250.111.254/20 |
08 |
129.250.112.0/20 |
129.250.112.1/20 |
129.250.127.254/20 |
09 |
129.250.128.0/20 |
129.250.128.1/20 |
129.250.143.254/20 |
10 |
129.250.144.0/20 |
129.250.144.1/20 |
129.250.159.254/20 |
11 |
129.250.160.0/20 |
129.250.160.1/20 |
129.250.175.254/20 |
12 |
129.250.176.0/20 |
129.250.176.1/20 |
129.250.191.254/20 |
13 |
129.250.192.0/20 |
129.250.192.1/20 |
129.250.207.254/20 |
14 |
129.250.208.0/20 |
129.250.208.1/20 |
129.250.223.254/20 |
15 |
129.250.224.0/20 |
129.250.224.1/20 |
129.250.239.254/20 |
16 |
129.250.240.0/20 |
129.250.240.1/20 |
129.250.255.254/20 |
4-20 一个数据报长度为4000字节(固定首部长度)。现在经过一个网络传送,但此网络能够传送的最大数据长度为1500字节。试问应当划分为几个短些的数据报片?各数据报片的数据字段长度、片偏移字段和MF标志应为何数值?
答:划分为3个数据报片。其数据字段长度分别为1480字节、1480字节和1020字节;片偏移字段分别为0、185和370;MF标志为:1、1和0。
4-21 写出互联网的IP层查找路由的算法。
答:使用子网掩码时,互联网的IP层查找路由的算法如下。
(1)从收到的数据报的首部提取目的IP地址D;
(2)先判断是否为直接交付。对路由器直接相连的网络逐个进行检查:用各网络的子网掩码和D逐位相“与”(AND操作),看结果是否和相应的网络地址匹配。若匹配,则把分组进行直接交付(当然还需要把D转换成物理地址,把数据报封装成帧发送出去),转发任务结束。否则就是间接交付,执行(3);
(3)若路由表中有目的地址为D的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行(4);
(4)对路由表中的每一行(目的网络地址,子网掩码,下一跳地址),用其中的子网掩码和D逐位相“与”(AND操作),其结果为N。若N与该行的目的网络地址匹配,则把数据报传送给该行指明的下一跳路由器;否则,执行(5);
(5)若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则,执 行(6);
(6)报告转发分组出错。
使用CIDR时,互联网的IP层查找路由的算法和上面的算法并无什么不同。但应注意的是,在使用CIDR时,我们使用地址掩码(这种地址掩码也常常称为子网掩码)。地址掩码的前一部分是一连串的1,对应于CIDR中的网络前缀。而掩码中的后一部分是一连串的0,对应于CIDR中的网络后缀(即对应于主机号部分)。在使用CIDR的路由表中,每个项目由“网络前缀”和“下一跳地址”组成。但是在查找路由表时可能会得到不止一个匹配结果。这时应当从匹配结果中选择具有最长网络前缀的路由。如果在路由表中的各项目是按网络前缀的长度排序的,把最长的网络前缀放在最前面,那么当查找路由表找到匹配时,就是找到了正确的路由,因而结束了查找。但如果在路由表中的各项目不是按网络前缀的长度排序,那么就应当从匹配结果中选择具有最长网络前缀的路由。
4-24 己知路由器R1的转发表如表4-10所示。试画出各网络和必要的路由器的连接拓扑,标注出必要的IP地址和接口。对不能确定的情况应当指明。
答:
4-27 以下地址中的哪一个和86.32/12匹配?请说明理由。
(1)86.33.224.123(2)86.79.65.216;(3)86.58.119.74;(4)86.68.206.154
答:86.32/12 86.00100000/12,前十二位为网络号,除去第一字节的八位,第二字节的前四位在网络号中,下面(1)(2)(3)(4)中的第一个字节都为86,可以直接看第二个字节的前四位,给出的四个地址的第二字节的前四位分别为:0010,0100,0011和0100.因此只有(1)是匹配的。
(1)86.00100001.224.123,匹配
(2)86.01001111.65.216,不匹配
(3)86.00111010.119.74,不匹配
(4)86.01000100.206.154,不匹配
4-28 以下的地址前缀中的哪一个地址与2.52.90.140匹配?请说明理由。
(1)0/4;(2)32/4;(3)4/6;(4)80/4。
答:2.52.90.140 00000010.52.90.140
(1)00000000/4 00000010.52.90.140 匹配
(2)00100000/4 00000010.52.90.140 不匹配
(3)00000100/6 00000010.52.90.140 不匹配
(4)01010000/4 00000010.52.90.140 不匹配
4-29 下面的前缀中的哪一个和地址152.7.77.159及152.31.47.252都匹配?请说明理由。
(1)152.40/13;(2)153.40/9;(3)152.64/12;(4)152.0/11。
答:152.7.77.159:10011000.00000111.01001101.10011111
152.31.47.252:10011000.00011111.00101111.11111100
(1)152.40/13:10011000.00101000.00000000.00000000
152.7.77.159:10011000.00000111.01001101.10011111
152.31.47.252:10011000.00011111.00101111.11111100
前缀(1)与两个地址均不匹配;
(2)153.40/9:10011001.00101000.00000000.00000000
152.7.77.159:10011000.00000111.01001101.10011111
152.31.47.252:10011000.00011111.00101111.11111100
前缀(2)与两个地址均不匹配;
(3)152.64/12:10011000.01000000.00000000.00000000
152.7.77.159:10011000.00000111.01001101.10011111
152.31.47.252:10011000.00011111.00101111.11111100
前缀(3)与两个地址均不匹配;
(4)152.0/11:10011000.00000000.00000000.00000000
152.7.77.159:10011000.00000111.01001101.10011111
152.31.47.252:10011000.00011111.00101111.11111100
前缀(4)与两个地址均匹配。
4-30 与下列掩码相对应的网络前缀各有多少位?
(1)192.0.0.0;(2)240.0.0.0;(3)255.224.0.0;(4)255.255.255.252。
答:上述掩码相对应的网络前缀各有2、4、11和30位。
4-31 已知地址块中的一个地址是140.120.84.24/20。试求这个地址块中的最小地址和最大地址。地址掩码是什么?地址块中共有多少个地址?相当于多少个C类地址?
答:最小地址:140.120.80.0/20;
最大地址:140.120.95.255/20;
地址掩码:255.255.240.0;
地址块中共有4096个地址;
相当于16个C类地址。
4-34 IP和 EGP这两类协议的主要区别是什么?
答:IGP:内部网关协议(Interior Gateway Protocol)
内部网关协议(IGP)是一种专用于一个自治网络系统(比如:某个当地社区范围内的一个自治网络系统)中网关间交换数据流转通道信息的协议。网络IP协议或者其他的网络协议常常通过这些通道信息来决断怎样传送数据流。目前最常用的内部网关协议分别是:路由信息协议(RIP)和最短路径优先路由协议(OSPF)分级的链接状态路由协议(ISIS)。
EGP:外部网关协议(Exterior Gateway Protocol)
外部网关协议(EGP)是一种在自治系统的相邻两个网关主机间交换路由信息的协议。 EGP 通常用于在因特网主机间交换路由表信息。它是一个轮询协议,利用 Hello 和 I-Heard-You 消息的转换,能让每个网关控制和接收网络可达性信息的速率,允许每个系统控制它自己的开销,同时发出命令请求更新响应。路由表包含一组已知路由器及这些路由器的可达地址以及路径开销,从而可以选择最佳路由。每个路由器每间隔 120 秒或 480 秒会访问其邻居一次,邻居通过发送完整的路由表以示响应,代表协议是边界网关协议(BGP)。
4-35 试简述RIP,OSPF和BGP路由选择协议的主要特点。
答:RIP主要特点:
①是一个内部网关协议,其最大的优点是简单
②RIP是基于距离向量的路由选择协议,RIP对“距离”的定义是:从一路由器到直接连接的网络的距离定义为1;从一主机到非直接连接的网络的距离定义为所经过的路由器+1
③要求网络中每个路由器都维护从它到其他每一个目的网络的距离的记录
④RIP只适用于小型网络,允许一条路径只能包含15个网络,因此“距离”等于16即相当于不可达
⑤RIP要求网络中的路由器仅和相邻路由器交换信息
⑥路由器交换的信息是本路由器所知道的全部信息
⑦按固定时间间隔交换路由信息
OSPF主要特点:
①是一个内部网关协议,是为了克服RIP协议的缺点开发出来的
②OSPF是基于链路状态的路由选择协议
③向本自治系统中所有路由器发送消息
④发送的消息就是与本路由器相邻的所有路由器的链路状态
⑤当链路状态发生变化或每隔一段时间,路由器向所有路由器用洪泛法发送链路信息
⑥由于各路由器之间频繁的交换路由状态信息,因此所有的路由器最后都能建立一个链路状态信息库——全网的拓扑结构图
⑦OSPF的最大优点是更新过程收敛得快
BGP主要特点:
①BGP是一种外部网关协议,其着眼点不在于发现和计算路由,而在于控制路由的传播和选择最佳路由
②BGP使用TCP作为其传输层协议s,提高了协议的可靠性
③BGP是一种距离矢量路由协议,在设计上就避免了环路的发生
④BGP提供了丰富的路由策略,能够实现路由的灵活过滤和选择
⑤BGP采用触发式增量更新,而不是周期性更新
4-36 RIP使用UDP,OSPF使用IP,而 BGP使用TCP。这样做有何优点?为什么RIP周期性地和邻站交换路由信息而BGP却不这样做?
答:RIP只和邻站交换信息,使用UDP无可靠保障,但开销小,可以满足RIP要求;
OSPF使用可靠的洪泛法,直接使用IP,灵活、开销小;
BGP需要交换整个路由表和更新信息,TCP提供可靠交付以减少带宽消耗;
RIP使用不保证可靠交付的UDP,因此必须不断地(周期性地)和邻站交换信息才能使路由信息及时得到更新。但BGP使用保证可靠交付的TCP因此不需要这样做。
4-37 假定网络中的路由器B的路由表有如下的项目(这三列分别表示“目的网络”“距离”和“下一跳路由器”):
N1 |
7 |
A |
N2 |
2 |
C |
N6 |
8 |
F |
N8 |
4 |
E |
N9 |
4 |
F |
现在B收到从C发来的路由信息(这两列分别表示“目的网络”和“距离”):
N2 |
4 |
N3 |
8 |
N6 |
4 |
N8 |
3 |
N9 |
5 |
试求出路由器B更新后的路由表(详细说明每一个步骤)。
答:
4-41 什么是VPN? VPN有什么特点和优缺点? VPN有几种类别?
答:VPN虚拟专用网,用于同一机构之间的主机的之间的通信的“专用网”
优点:
①减少运营成本以及降低远程用户的连接成本。
②虚拟专用网提供一个高水平的安全保障
③虚拟专用网技术能够让应用者使用容易设置的互联网基础设施,允许迅速地和方便地向这个网络增加新用户。
④虚拟专用网能够让移动员工、远程办公人员、业务合作伙伴和其他人利用本地可用的、高速宽带接入技术访问公司的网络
缺点:
①机构必须依靠提供虚拟专用网的互联网服务提供商保持服务的启动和运行。
②企业创建和部署一个虚拟专用网并不是非常容易。
③不同厂商的虚拟专用网产品和解决方案并不是总是相互兼容
④虚拟专用网在与无线设备一起使用时会产生安全风险
VPN的类别:内联网、外联网、远程接入VPN
4-42 什么是NAT? NAPT有哪些特点? NAT的优点和缺点有哪些?
答:NAT是在内部专用网络中使用本地地址,而当内部主机要与外界网络发生联系时,就在边缘路由器或者防火墙处,将内部地址替换成全球地址,即可路由的合法注册地址,从而在外部公共网上正常使用,其具体的做法是把IP包内本地地址域用全球IP地址来替换。
NAPT特点:
将内部连接映射到外部网络中的一个单独的IP地址上,同时在该地址上加上一个由NAT设备选定的TCP端口号,这样就可以使多个拥有本地地址的主机,共用NAT路由器上的一个全球IP地址。
NAT的优点:
节省全球地址,处理地址交叉,增强灵活性,安全性。
NAT的缺点:
延迟增大,配置和维护的复杂性,不支持某些应用。
4-43 把下列IPv4地址从二进制记法转换为点分十进制记法。
(1)10000001 00001011 00001011 11101111
(2)11000001 10000011 00011011 11111111
(3)11100111 11011011 10001011 01101111
(4)11111001 10011011 11111011 00001111
答:(1)129.11.11.239;
(2)193.131.27.255;
(3)231.219.139.111;
(4)249.155.251.15。