第一章课后习题答案
1-01
计算机网络可以向用户提供哪些服务?
(略)
1-02
试简述分组交换的要点。
采用了存储转发技术,即将报文(要发送的整块数据)划分为几个较小的等长数据段,在每个数据段前加上必要的控制信息组成的首部,这些带有首部的数据段就构成了分组。首部中包含了目的地址和源地址等重要控制信息。
分组交换在传输数据之前不必占用一条端到端的通信资源,路由器接收分组后,先临时存储下来,检查其首部,查找转发表,按照首部中的目的地址,通过适当接口转发给下一个路由器。分组在传输时逐段占用通信资源,省去了建立链接和释放链接的开销,传输效率更高。
- 优点:
高效:在分组传输的过程中动态分配传输带宽,对通信链路逐段占用。
灵活:每一个分组独立地选择最合适的转发路由。
迅速:以分组作为传输单位,不先建立连接就能向其他主机发送分组。
可靠:保证可靠性的网络协议,分布式多路由的分组交换网,使网络有很好的生存性。
- 缺点:
失序:当分组采用数据报服务时,分组可能出现失序、丢失或重复。
时延:分组在各路由器存储转发时需要排队。
开销:分组必须携带控制信息,整个分组交换网络还需要专门的管理和控制机制。
1-03
试从多个方面比较电路交换、报文交换和分组交换的主要优缺点。
- 电路交换:
特点:通信有三个阶段:建立连接、通信、释放连接,通信过程始终占用物理信道。
优点:静态分配传输带宽,建立连接后,通信双方所需的传输带宽不会再改变。双方通信不受其他用户影响,占用通信资源的时间不受限制。
缺点:通信线路的利用率较低。整个连接中只要有一条链路或一个交换机出现故障,就会引发通信中断。
- 分组交换:
特点:以分组作为传输单位,采用存储转发技术。
优点:没有建立连接和释放连接阶段,传送数据比较迅速。
动态分配传输带宽,逐段占用通信线路,能够比较合理的利用各链路的传输带宽。
采用分布式的路由选择协议,当网络中某个节点或链路出现故障,分组传送的路由可以动态改变,使数据能够继续传输。
缺点:路由器存储转发时需要排队,造成时延。因为动态分配传输带宽,各段链路宽带不同,当网络某处通信量突然增大,可能在网络中某处产生拥塞,延长数据传输时间。
分组必须携带控制信息,产生额外开销。整个分组交换网络还需要专门的管理和控制机制。
- 报文交换:
特点:采用存储转发技术,传输单位为整个报文。
优点:省去划分为分组的步骤,终点节省了重装报文的过程。
缺点:灵活性不如分组交换,时延较大。
1-04
为什么说互联网是自印刷术发明以来人类在存储和交换信息领域的最大变革?
(略)
1-05
因特网的发展大致分为哪几个阶段?请指出这几个阶段的主要特点。
第一阶段是从单个网络 ARPANET 到互联网发展的过程。从单个的分组交换网向多种网络互联发展,互联网也因此产生。
第二个阶段是建成了三级结构的互联网即 NFSNET。分为主干网、地区网和校园网(或企业网)。
第三个阶段是建成了多层次 ISP 结构的互联网。NFSNET 被若干个商用互联网主干网替代,由 ISP 提供互联网服务。
1-06
简述因特网标准指定的几个阶段?
互联网草案——有效期只有六个月。这个阶段还不能是 RFC 文档。
建议标准——从这个阶段开始就成为 RFC 文档。
互联网标准——经过长期的检验,某个建议标准能称为互联网标准,就分配标准编号。
1-07
小写和大写开头的英文名 internet 和 Internet 在意思上有何重要区别?
internet,通用名词,由多个计算机网络互联而成的网络,网络间通信协议可以是任意的。
Internet,专用名词,指全球最大的、开放的、由众多网络互联而成的计算机网络,采用 TCP/IP 协议。
1-08
计算机网络都有哪些类别?各种类别的网络都有哪些特点?
- 按范围:
广域网 WAN:远程、通过高速链路相连、是 Internet 的核心网。
城域网 MAN:城市范围,连接多个局域网。
局域网:范围小,通过高速线路相连。
个域网 PAN:无线连接个人个人电子设备的小范围网络。
- 按使用者分类:
公用网,电信公司出资建设的大型网络,交钱即可用。
专用网,某个部门的网络,内部人员可用。
- 按交换技术来分:
电路交换网。
分组交换网。
混合交换网。
1-09
计算机网络中的主干网和本地接入网的主要区别是什么?
主干网由许多高速链路和路由器组成,能迅速传送数据。
本地接入网把用户接入互联网,速率低。
1-10
试在下列条件下比较电路交换和分组交换。
略
1-11
在第10题的分组交换网中,设报文长度和分组长度分别为x和(p+h)(bit),其中p为分组的数据部分的长度,h为每个分组所添加的首部长度,与p的大小无关。通信的两端共经过k段链路。链路的数据率为b(bit/s),但传播时延和节点的排队时间均可忽略不计。若打算使总的时延为最小,问分组的数据部分长度p应取为多大?
略
1-12
因特网的两大组成部分(边缘部分与核心部分)的特点是什么?它们的工作方式各有什么特点?
- 边缘部分:由所有连接在互联网上的主机组成,用户用来进行通信和资源共享的。
工作方式:C/S方式和P2P方式。 - 核心部分:由大量网络和连接这些网络的路由器组成,为边缘部分提供连通性和交换服务。
工作方式:路由器连接网络,利用存储转发技术转发分组;路由器之间交换路由信息。
1-13
客户-服务器方式与P2P对等通信方式的主要区别是什么?有没有相同的地方?
- 客户-服务器方式:客户请求服务,服务器提供服务。客户需要知道服务器地址,不需要特殊硬件和复杂操作系统。服务器不需要知道客户地址,需要特殊硬件和复杂操作系统。两者的通信是双向的。
- P2P方式:两个主机平等的进行通信。
1-14
计算机网络有哪些常用的性能指标?
速率:数据的传送速率。
带宽:单位时间内从网络中某一点到另一点所能通过的最高数据率。
吞吐量:单位时间内通过某个网络的数据量。
时延:数据从网络的一段到另一端的时间。
时延带宽积:传播时延和带宽的乘积。
往返时间RTT:发送数据到接受确认的时间
利用率:
信道利用率:信道有百分之几的时间被利用。
网络利用率:全网络信道利用率的加权平均值。
1-15
假定网络利用率达到了90%。试估计一下现在的网络时延是它的最小值的多少倍?
(略)
1-16
计算机通信网有哪些非性能特征?非性能特征与性能特征有什么区别?
(略)
1-17
收发两端之间的传输距离为1000km,信号在媒体上的传播速率为2×108m/s。 试计算以下两种情况的发送时延和传播时延: (1) 数据长度为107bit, 数据发送速率为100kb/s。 (2) 数据长度为103bit, 数据发送速率为1Gb/s。 从上面的计算中可以得到什么样的结论?
(1)发送时延:107/105=100s;传播时延:106/(2×108)=5ms=0.005s
(2)发送时延:103/109=1μs; 传播时延:106/(2×108)=5ms=0.005s
数据量大,发送速率低时,主要时延由发送时延引起;数据量少,发送速率高时,主要时延由传播时延引起。
1-18
假设信号在媒体上的传播速度为2.3×108m/s.媒体长度l分别为: (1)10cm(网络接口卡) (2)100m(局域网) (3)100km(城域网) (4)5000km(广域网) 现连续传输数据,试计算出当数据率为1Mb/s和10Gb/s时在以上媒体中正在传播的比特数。
传播时延 =0.1/(2.3×108m/s)=4.35×10−10s;
1Mb/s:比特数=1×106×4.35×10−10=4.35×10−4bit
10Gb/s:比特数 10×109×4.35×10−10=4.35bit
1-19
长度为100字节的应用层数据交给传输层传送,需加上20字节的TCP首部。再交给网络层传送,需加上20字节的IP首部。最后交给数据链路层的以太网传送,加上首部和尾部工18字节。 试求数据的传输效率。数据的传输效率是指发送的应用层数据除以所发送的总数据(即应用数据加上各种首部和尾部的额外开销)。 若应用层数据长度为1000字节,数据的传输效率是多少?
100/(100+20+20+18)=63.3%
1000/(1000+20+20+18)=94.5%
1-20
网络体系结构为什么要采用分层次的结构?试举出一些与分层体系结构的思想相似的日常生活。
分层可以将复杂问题划分为若干个较小问题,便于研究和处理。
1-21
协议与服务有何区别?有何关系?
协议概念: 为进行网络中的数据交换而建立的规则、标准或约定被称为网络协议。协议是控制两个对等实体进行通信的规则的集合。协议语法定义信息格式,语义定义操作。
关系: 协议控制本层向上层提供服务,本层协议的实现要使用下层提供的服务。
区别:协议的实现保证了能够向上一层提供服务。本层的服务用户只能看见服务而无法看见下面的协议。下面的协议对上面的服务用户是透明的。协议是“水平的”,即协议是控制两个对等实体进行通信的规则。但服务是“垂直的”,即服务是由下层通过层间接口向上层提供的。
1-22
网络协议的三个要素是什么?各有什么含义?
语法:即数据与控制信息的结构或格式。
语义:即需要发出何种控制信息,完成何种动作以及做出何种响应。
同步:即事件实现顺序的详细说明。
1-23
为什么一个网络协议必须把各种不利的情况都考虑到?
提高协议面对异常情况的能力。
1-24
论述具有五层协议的网络体系结构的要点,包括各层的主要功能。
综合OSI 和TCP/IP 的优点,采用一种原理体系结构。
物理层:透明传输比特流。
数据链路层:把网络层交下来的IP数据报组装成帧,在两个相邻节点间的链路上透明地传输帧。
网络层:把运输层产生的报文段或用户数据报封装成分组或包,通过路由器传送给目的主机。
运输层:向两台主机中进程之间的通信提供通用的数据传输服务。主要使用传输控制协议(TCP) 或 用户数据报协议(UDP)。
应用层:直接为用户的应用进程提供服务。
1-25
试举出日常生活中有关“透明”这种名词的例子。
(略)
1-26
试解释以下名词:协议栈、实体、对等层、协议数据单元、服务访问点、客户、服务器、客户-服务器方式。
协议栈:主机或路由器中的协议层称为协议栈。
实体:任何可发送或接收信息的硬件或软件进程。
对等层:网络体系结构中,通信双方实现相同功能的层。
协议数据单元:对等层次之间传送的数据单位,PDU。
服务访问点:同一系统中相邻两层交互的接口。
客户:通信的应用进程中的服务请求方。
服务器:通信的应用进程中的服务提供方。
客户-服务器方式:客户请求服务,服务器提供服务的通信方式,此外还有P2P方式。
1-27
试解释everything over IP 和IP over everthing 的含义。
TCP/IP协议可以为各式各样的应用提供服务 (所谓的everything over ip)
允许IP协议在各式各样的网络构成的互联网上运行(所谓的ip over everything)
1-28
假定要在网络上传送1.5MB的文件。设分组长度为1KB,往返时间RTT=80ms。传送数据之前还需要有建立TCP连接的时间,这时间时2*RTT=160ms。试计算在以下几种情况下接收方收完该文件的最后一个比特需要的时间。 (1)数据发送速率为10Mbit/s,数据分组可以连续发送。 (2)数据发送速率为10Mbit/s,但每发送完一个分组后要等待一个RTT时间才能在发送下一个分组。 (3)数据发送速率极快,可以不考虑发送数据所需要的时间。但规定在每一个RTT往返时间内只能发送20个分组。 (4)数据发送速率极快,可以不考虑发送数据所需要的时间。但在第一个RTT往返时间内只能发送一个分组,在第二个RTT内可以发送两个分组,在第三个RTT内可以发送四个分组。
1MB=220B=1048576B;1KB=210=1024B;1B=8b;1Mbit=106bit
这里没有说经过几段链路,节点的发送时延就不考虑了。
(1)
发送时延:1.5×1048576 × 8 / 107= 1.258s
传播时延:0.5×RTT=0.5×RTT=40ms
总时间:2×RTT+1.258+0.5×RTT=0.16+1.258+0.04=1.458s
(2)
发送时延:1.5×1048576 × 8 / 107= 1.258s
传播时延:0.5×RTT=0.5×RTT=40ms
等待的RTT总时间:(1.5 MB/1KB−1)×RTT=1535×RTT=1535×0.08=122.8s (发送完最后一个分组不需要再发送,所以要减一)
总时间:1.258+0.04+122.8+0.16=124.258s
(3)
传播时延:0.5×RTT=0.5×RTT=40ms
分组数:1.5MB/1KB=1536
需要的RTT:1536/20=76
剩余1536−76×20=16个分组不受规定约束直接发送完。
总时间:76×RTT+0.16+0.04=6.28s
(4)
若n=10,那么只发送了 2n-1=1023个分组。10个RTT不够。
若n=11,那么能发送了 2n-1= 2047个分组。11个RTT够了。
现在总共需要的时间=(2+10+0.5)×RTT=12.5×0.08=1 s
剩余513个分组不受规定约束直接发送完。
1-29
有一个对点链路,长度为50KM。若数据在此链路上的传播速率为2×108m/s,试问链路的带宽为多少才能使传播时延和发送100字节的分组的发送时延一样大?如果发送的是512字节长的分组,结果又是如何?
传播时延:5×104/(2×108)=2.5×10−4s
宽带:
100字节:100×8/(2.5×10−4) = 3.2×106bit/s
512字节:512×8/(2.5×10−4)=1.6384×107bit/s
1-30
有一个点对点链路,长度为 20000 km。数据的发送速率是 1kbit/s。要发送的数据有100bit。 数据在此链路上的传播速度为2 × 1 0 8 m / s 2\times10^8m/s2×108m/s; 假定我们可以看见在线路上传播的比特,试画出我们看到的线路上的比特(画两个图,一个在100 bit 刚刚发送完时,另一个是再经过 0.05 s 后)。
发送时延:100/1000=0.1s
传播时延:2×107/2×108= 0.1s
刚发送完最后一个bit发送完第一个bit刚好到,0.05s后传播一半,还剩一半bit在信道里。
1-31
条件同上题。但数据的发送速率改为1Mbit/s。和上题的结果相比较,你可以得出什么结论?
发送时延:100/1000000=0.0001s
传播时延:2×107/2×108= 0.1s
刚发送完最后一个bit发送完第一个bit走了20km,0.05s后传播一半,还最后一个bit在10000km处。
结论:提高发送速率能一定程度上提高数据传输速率。
1-32
以1 Gbit/s的速率发送数据。试问在以距离或时间为横坐标时,一个比特的宽度分别是多少?
时间:1/109=10−9s
距离:10−9×2×108=0.2 m
1-33
我们在互联网上传输数据经常是从某个源点传送到某个终点,而并非传送过去再传送回来。那么为什么往返实际RTT是一个很重要的性能指标呢?
有些协议传输数据时需要对方的确认。
1-34
主机A向主机B发送一个长度为 1 0 7 10^7107 比特的报文。中间要经过两个节点交换机,即一共经过三段链路。设每条链路的传输速率为2Mbit/s。忽略传播、处理和排队时延。 (1)如果采用报文交换,即整个报文不分段,每台节点交换机收到整个的报文后再转发。问从主机A把报文传送到第一个节点交换机需要多少时间?从主机A把报文传送到主机B需要多长时间? (2)如果采用分组交换。报文被划分为1000个等长的分组,并连续发送。节点交换机能够边接受边发送。试问从主机A把第一个分组传送到第一个节点交换机需要的时间?从主机A把第一个分组传送到主机B需要多少时间?从主机A把1000个分组传送到主机B需要多少时间? (3)就一般情况而言,比较用整个报文来传送和用划分多个分组来传送的优缺点。
(1)
到交换机:即发送时延:107/(2×106)=5s
到B:三段发送时延:15s
(2)
第一个分组传送到第一个节点交换机需要的时间:104/(2×106)=5×10−3s
从主机A把1000个分组传送到主机B需要的时间:5×10−3×1000+2×5×10−3s=5.01s (1000个分组的发送时延加上经过(3-1)个节点的发送时延。)
(3)
分组交换:快;如果某个分组出错,只重传那一个即可;可使某些分组通过不拥堵的链路传输。但缺一个分组其他分组就不能重组;首部带来额外开销。
报文交换:没有额外开销。但只要有一个bit出错就要全部重传。
1-35
主机A向主机B连续传送一个600000bit的文件。A和B之间有一条带宽为1Mbit/s的链路相连,距离为5000KM,在此链路上的传播速率为2.5 ×108m/s. (1)链路上的比特数目的最大值是多少? (2)链路上每比特的宽度是多少? (3)若想把链路上每比特的宽度变为5000KM,这时应把发送速率调整到什么数值?
(1)
传播时延:5×106s/(2×108s)=2×10−2s
最大比特数:2×10−2×106==2×104bit
(2)
一比特的持续时间:10−6s
距离:10−6×2.5 ×108=250m
(3)
持续时间:5×106s/(2×108s)=2×10−2s
发送速率:1/(2×10−2)=50bit/s
1-36
主机A到主机B的路径有三段路,其速率分别为2Mbit/s,1Mbit/s和500kbit/s。现在A向B发送一个文件。 (1)试计算该文件传送的吞吐量。 (2)设文件长度为10MB,而网络上没有其他流量。试问该文件从A传送到B大约需要多少时间?为什么这里只是计算大约的时间?
(1)由最小速率链路决定,即为 500kbit/s
(2)整个链路的传输速率按吞吐率计算,所以大约时间:8×107bit/5×105bit/s=160s