《计算机网络系统方法(第5版)》课后答案 中文 下载本文

第一章概述

1-01 计算机网络向用户可以提供那些服务? 答:连通性和共享

1-02 简述分组交换的要点。 答:(1)报文分组,加首部 (2)经路由器储存转发 (3)在目的地合并

1-03 试从多个方面比较电路交换、报文交换和分组交换的主要优缺点。

答:(1)电路交换:端对端通信质量因约定了通信资源获得可靠保障,对连续传送大量数据效率高。

(2)报文交换:无须预约传输带宽,动态逐段利用传输带宽对突发式数据通信效率高,通信迅速。

(3)分组交换:具有报文交换之高效、迅速的要点,且各分组小,路由灵活,网络生存性能好。

1-04 为什么说因特网是自印刷术以来人类通信方面最大的变革?

答:融合其他通信网络,在信息化过程中起核心作用,提供最好的连通性和信息共享,第一次提供了各种媒体形式的实时交互能力。

1-05 因特网的发展大致分为哪几个阶段?请指出这几个阶段的主要特点。 答:从单个网络APPANET向互联网发展;TCP/IP协议的初步成型 建成三级结构的Internet;分为主干网、地区网和校园网; 形成多层次ISP结构的Internet;ISP首次出现。

1-06 简述因特网标准制定的几个阶段?

答:(1)因特网草案(Internet Draft) ——在这个阶段还不是 RFC 文档。

(2)建议标准(Proposed Standard) ——从这个阶段开始就成为 RFC 文档。

(3)草案标准(Draft Standard)

(4)因特网标准(Internet Standard)

1-07小写和大写开头的英文名字 internet 和Internet在意思上有何重要区别? 答:(1) internet(互联网或互连网):通用名词,它泛指由多个计算机网络互连而成的网络。;协议无特指

(2)Internet(因特网):专用名词,特指采用 TCP/IP 协议的互联网络 区别:后者实际上是前者的双向应用

1-08 计算机网络都有哪些类别?各种类别的网络都有哪些特点? 答:按范围:(1)广域网WAN:远程、高速、是Internet的核心网。 (2)城域网:城市范围,链接多个局域网。 (3)局域网:校园、企业、机关、社区。 (4)个域网PAN:个人电子设备

按用户:公用网:面向公共营运。专用网:面向特定机构。

1-09 计算机网络中的主干网和本地接入网的主要区别是什么? 答:主干网:提供远程覆盖\\高速传输\\和路由器最优化通信 本地接入网:主要支持用户的访问本地,实现散户接入,速率低。

1-10 试在下列条件下比较电路交换和分组交换。要传送的报文共x(bit)。从源点到终点共经过k段链路,每段链路的传播时延为d(s),数据率为b(b/s)。在电路交换时电路的建立时间为s(s)。在分组交换时分组长度为p(bit),且各结点的排队等待时间可忽略不计。问在怎样的条件下,分组交换的时延比电路交换的要小?(提示:画一下草图观察k段链路共有几个结点。)

答:线路交换时延:kd+x/b+s, 分组交换时延:kd+(x/p)*(p/b)+ (k-1)*(p/b)

其中(k-1)*(p/b)表示K段传输中,有(k-1)次的储存转发延迟,当s>(k-1)*(p/b)时,电路交换的时延比分组交换的时延大,当x>>p,相反。

1-11 在上题的分组交换网中,设报文长度和分组长度分别为x和(p+h)(bit),其中p为分组的数据部分的长度,而h为每个分组所带的控制信息固定长度,与p的大小无关。通信的两端共经过k段链路。链路的数据率为b(b/s),但传播时延和结点的排队时间均可忽略不计。若打算使总的时延为最小,问分组的数据部分长度p应取为多大?(提示:参考图1-12的分组交换部分,观察总的时延是由哪几部分组成。)

答:总时延D表达式,分组交换时延为:D= kd+(x/p)*((p+h)/b)+ (k-1)*(p+h)/b D对p求导后,令其值等于0,求得p=[(xh)/(k-1)]^0.5

1-12 因特网的两大组成部分(边缘部分与核心部分)的特点是什么?它们的工作方式各有什么特点?

答:边缘部分:由各主机构成,用户直接进行信息处理和信息共享;低速连入核心网。 核心部分:由各路由器连网,负责为边缘部分提供高速远程分组交换。

1-13 客户服务器方式与对等通信方式的主要区别是什么?有没有相同的地方? 答:前者严格区分服务和被服务者,后者无此区别。后者实际上是前者的双向应用。

1-14 计算机网络有哪些常用的性能指标?

答:速率,带宽,吞吐量,时延,时延带宽积,往返时间RTT,利用率

1-15 假定网络利用率达到了90%。试估计一下现在的网络时延是它的最小值的多少倍? 解:设网络利用率为U。,网络时延为D,网络时延最小值为D0 U=90%;D=D0/(1-U)---->D/ D0=10 现在的网络时延是最小值的10倍

1-16 计算机通信网有哪些非性能特征?非性能特征与性能特征有什么区别? 答:征:宏观整体评价网络的外在表现。性能指标:具体定量描述网络的技术性能。

1-17 收发两端之间的传输距离为1000km,信号在媒体上的传播速率为2×108m/s。试计算以下两种情况的发送时延和传播时延: (1)数据长度为107bit,数据发送速率为100kb/s。

(2)数据长度为103bit,数据发送速率为1Gb/s。 从上面的计算中可以得到什么样的结论? 解:(1)发送时延:ts=107/105=100s 传播时延tp=106/(2×108)=0.005s (2)发送时延ts =103/109=1μs 传播时延:tp=106/(2×108)=0.005s

结论:若数据长度大而发送速率低,则在总的时延中,发送时延往往大于传播时延。但若数据长度短而发送速率高,则传播时延就可能是总时延中的主要成分。

1-18 假设信号在媒体上的传播速度为2×108m/s.媒体长度L分别为: (1)10cm(网络接口卡) (2)100m(局域网) (3)100km(城域网) (4)5000km(广域网)

试计算出当数据率为1Mb/s和10Gb/s时在以上媒体中正在传播的比特数。 解:(1)1Mb/s:传播时延=0.1/(2×108)=5×10-10 比特数=5×10-10×1×106=5×10-4 1Gb/s: 比特数=5×10-10×1×109=5×10-1 (2)1Mb/s: 传播时延=100/(2×108)=5×10-7 比特数=5×10-7×1×106=5×10-1 1Gb/s: 比特数=5×10×1×10=5×10 (3) 1Mb/s: 传播时延=100000/(2×108)=5×10-4 比特数=5×10-4×1×106=5×102 1Gb/s: 比特数=5×10-4×1×109=5×105

(4)1Mb/s: 传播时延=5000000/(2×108)=2.5×10-2 比特数=2.5×10×1×10=5×10 1Gb/s: 比特数=2.5×10-2×1×109=5×107

-2

6

4

-7

9

2

1-19 长度为100字节的应用层数据交给传输层传送,需加上20字节的TCP首部。再交给网络层传送,需加上20字节的IP首部。最后交给数据链路层的以太网传送,加上首部和尾部工18字节。试求数据的传输效率。数据的传输效率是指发送的应用层数据除以所发送的总数据(即应用数据加上各种首部和尾部的额外开销)。 若应用层数据长度为1000字节,数据的传输效率是多少? 解:(1)100/(100+20+20+18)=63.3% (2)1000/(1000+20+20+18)=94.5%

1-20 网络体系结构为什么要采用分层次的结构?试举出一些与分层体系结构的思想相似的日常生活。 答:分层的好处:

①各层之间是独立的。某一层可以使用其下一层提供的服务而不需要知道服务是如何实现的。 ②灵活性好。当某一层发生变化时,只要其接口关系不变,则这层以上或以下的各层均不受影响。

③结构上可分割开。各层可以采用最合适的技术来实现 ④易于实现和维护。 ⑤能促进标准化工作。

与分层体系结构的思想相似的日常生活有邮政系统,物流系统。

1-21 协议与服务有何区别?有何关系?

答:网络协议:为进行网络中的数据交换而建立的规则、标准或约定。由以下三个要素组成: (1)语法:即数据与控制信息的结构或格式。

(2)语义:即需要发出何种控制信息,完成何种动作以及做出何种响应。 (3)同步:即事件实现顺序的详细说明。

协议是控制两个对等实体进行通信的规则的集合。在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务,而要实现本层协议,还需要使用下面一层提供服务。 协议和服务的概念的区分:

1、协议的实现保证了能够向上一层提供服务。本层的服务用户只能看见服务而无法看见下面的协议。下面的协议对上面的服务用户是透明的。

2、协议是“水平的”,即协议是控制两个对等实体进行通信的规则。但服务是“垂直的”,即服务是由下层通过层间接口向上层提供的。上层使用所提供的服务必须与下层交换一些命令,这些命令在OSI中称为服务原语。

1-22 网络协议的三个要素是什么?各有什么含义?

答:网络协议:为进行网络中的数据交换而建立的规则、标准或约定。由以下三个要素组成: (1)语法:即数据与控制信息的结构或格式。

(2)语义:即需要发出何种控制信息,完成何种动作以及做出何种响应。 (3)同步:即事件实现顺序的详细说明。

1-23 为什么一个网络协议必须把各种不利的情况都考虑到?

答:因为网络协议如果不全面考虑不利情况,当情况发生变化时,协议就会保持理想状况,一直等下去!就如同两个朋友在电话中约会好,下午3点在公园见面,并且约定不见不散。这个协议就是很不科学的,因为任何一方如果有耽搁了而来不了,就无法通知对方,而另一方就必须一直等下去!所以看一个计算机网络是否正确,不能只看在正常情况下是否正确,而且还必须非常仔细的检查协议能否应付各种异常情况。

1-24 论述具有五层协议的网络体系结构的要点,包括各层的主要功能。 答:综合OSI 和TCP/IP 的优点,采用一种原理体系结构。各层的主要功能: 物理层物理层的任务就是透明地传送比特流。(注意:传递信息的物理媒体,如双绞 线、同轴电缆、光缆等,是在物理层的下面,当做第0 层。)物理层还要确定连接电缆插头的定义及连接法。

数据链路层数据链路层的任务是在两个相邻结点间的线路上无差错地传送以帧(frame)为单位的数据。每一帧包括数据和必要的控制信息。

网络层网络层的任务就是要选择合适的路由,使发送站的运输层所传下来的分组能够 正确无误地按照地址找到目的站,并交付给目的站的运输层。

运输层运输层的任务是向上一层的进行通信的两个进程之间提供一个可靠的端到端 服务,使它们看不见运输层以下的数据通信的细节。 应用层应用层直接为用户的应用进程提供服务。

1-25 试举出日常生活中有关“透明”这种名词的例子。

答:电视,计算机视窗操作系统、工农业产品

1-26 试解释以下名词:协议栈、实体、对等层、协议数据单元、服务访问点、客户、服务器、客户-服务器方式。

答:实体(entity) 表示任何可发送或接收信息的硬件或软件进程。 协议是控制两个对等实体进行通信的规则的集合。

客户(client)和服务器(server)都是指通信中所涉及的两个应用进程。客户是服务的请求方,服务器是服务的提供方。

客户服务器方式所描述的是进程之间服务和被服务的关系。

协议栈:指计算机网络体系结构采用分层模型后,每层的主要功能由对等层协议的运行来实现,因而每层可用一些主要协议来表征,几个层次画在一起很像一个栈的结构. 对等层:在网络体系结构中,通信双方实现同样功能的层. 协议数据单元:对等层实体进行信息交换的数据单位.

服务访问点:在同一系统中相邻两层的实体进行交互(即交换信息)的地方.服务访问点SAP是一个抽象的概念,它实体上就是一个逻辑接口.

1-27 试解释everything over IP 和IP over everthing 的含义。 TCP/IP协议可以为各式各样的应用提供服务(所谓的everything over ip)

答:允许IP协议在各式各样的网络构成的互联网上运行(所谓的ip over everything)

第二章物理层

2-01 物理层要解决哪些问题?物理层的主要特点是什么? 答:物理层要解决的主要问题:

(1)物理层要尽可能地屏蔽掉物理设备和传输媒体,通信手段的不同,使数据链路层感觉不到这些差异,只考虑完成本层的协议和服务。

(2)给其服务用户(数据链路层)在一条物理的传输媒体上传送和接收比特流(一般为串行按顺序传输的比特流)的能力,为此,物理层应该解决物理连接的建立、维持和释放问题。 (3)在两个相邻系统之间唯一地标识数据电路 物理层的主要特点:

(1)由于在OSI之前,许多物理规程或协议已经制定出来了,而且在数据通信领域中,这些物理规程已被许多商品化的设备所采用,加之,物理层协议涉及的范围广泛,所以至今没有按OSI的抽象模型制定一套新的物理层协议,而是沿用已存在的物理规程,将物理层确定为描述与传输媒体接口的机械,电气,功能和规程特性。

(2)由于物理连接的方式很多,传输媒体的种类也很多,因此,具体的物理协议相当复杂。

2-02 归层与协议有什么区别? 答:规程专指物理层协议

2-03 试给出数据通信系统的模型并说明其主要组成构建的作用。 答:源点:源点设备产生要传输的数据。源点又称为源站。

发送器:通常源点生成的数据要通过发送器编码后才能在传输系统中进行传输。 接收器:接收传输系统传送过来的信号,并将其转换为能够被目的设备处理的信息。 终点:终点设备从接收器获取传送过来的信息。终点又称为目的站 传输系统:信号物理通道

2-04 试解释以下名词:数据,信号,模拟数据,模拟信号,基带信号,带通信号,数字数据,数字信号,码元,单工通信,半双工通信,全双工通信,串行传输,并行传输。 答:数据:是运送信息的实体。

信号:则是数据的电气的或电磁的表现。 模拟数据:运送信息的模拟信号。 模拟信号:连续变化的信号。

数字信号:取值为有限的几个离散值的信号。 数字数据:取值为不连续数值的数据。

码元(code):在使用时间域(或简称为时域)的波形表示数字信号时,代表不同离散数值的基本波形。

单工通信:即只有一个方向的通信而没有反方向的交互。

半双工通信:即通信和双方都可以发送信息,但不能双方同时发送(当然也不能同时接收)。这种通信方式是一方发送另一方接收,过一段时间再反过来。 全双工通信:即通信的双方可以同时发送和接收信息。

基带信号(即基本频带信号)——来自信源的信号。像计算机输出的代表各种文字或图像文件的数据信号都属于基带信号。

带通信号——把基带信号经过载波调制后,把信号的频率范围搬移到较高的频段以便在信道中传输(即仅在一段频率范围内能够通过信道)。

2-05 物理层的接口有哪几个方面的特性?个包含些什么内容? 答:(1)机械特性

明接口所用的接线器的形状和尺寸、引线数目和排列、固定和锁定装置等等。 (2)电气特性

指明在接口电缆的各条线上出现的电压的范围。 (3)功能特性

指明某条线上出现的某一电平的电压表示何意。 (4)规程特性

说明对于不同功能的各种可能事件的出现顺序。

2-06 数据在信道重的传输速率受哪些因素的限制?信噪比能否任意提高?香农公式在数据通信中的意义是什么?“比特/每秒”和“码元/每秒”有何区别? 答:码元传输速率受奈氏准则的限制,信息传输速率受香农公式的限制

香农公式在数据通信中的意义是:只要信息传输速率低于信道的极限传信率,就可实现无差传输。

比特/s是信息传输速率的单位

码元传输速率也称为调制速率、波形速率或符号速率。一个码元不一定对应于一个比特。

2-07 假定某信道受奈氏准则限制的最高码元速率为20000码元/秒。如果采用振幅调制,把码元的振幅划分为16个不同等级来传送,那么可以获得多高的数据率(b/s)?

答:C=R*Log2(16)=20000b/s*4=80000b/s

2-08 假定要用3KHz带宽的电话信道传送64kb/s的数据(无差错传输),试问这个信道应具有多高的信噪比(分别用比值和分贝来表示?这个结果说明什么问题?) 答:C=Wlog2(1+S/N)(b/s)

W=3khz,C=64khz----àS/N=64.2dB 是个信噪比要求很高的信源

2-09 用香农公式计算一下,假定信道带宽为为3100Hz,最大信道传输速率为35Kb/s,那么若想使最大信道传输速率增加60%,问信噪比S/N应增大到多少倍?如果在刚才计算出的基础上将信噪比S/N应增大到多少倍?如果在刚才计算出的基础上将信噪比S/N再增大到十倍,问最大信息速率能否再增加20%?

答:C = W log2(1+S/N) b/s-àSN1=2*(C1/W)-1=2*(35000/3100)-1 SN2=2*(C2/W)-1=2*(1.6*C1/w)-1=2*(1.6*35000/3100)-1 SN2/SN1=100信噪比应增大到约100倍。 C3=Wlong2(1+SN3)=Wlog2(1+10*SN2) C3/C2=18.5%

如果在此基础上将信噪比S/N再增大到10倍,最大信息通率只能再增加18.5%左右

2-10 常用的传输媒体有哪几种?各有何特点? 答:双绞线

屏蔽双绞线 STP (Shielded Twisted Pair) 无屏蔽双绞线 UTP (Unshielded Twisted Pair) 同轴电缆 50 W 同轴电缆 75 W 同轴电缆 光缆

无线传输:短波通信/微波/卫星通信

2-11假定有一种双绞线的衰减是0.7dB/km(在 1 kHz时),若容许有20dB的衰减,试问使用这种双绞线的链路的工作距离有多长?如果要双绞线的工作距离增大到100公里,试应当使衰减降低到多少?

解:使用这种双绞线的链路的工作距离为=20/0.7=28.6km 衰减应降低到20/100=0.2db

2-12 试计算工作在1200nm到1400nm之间以及工作在1400nm到1600nm之间的光波的频带宽度。假定光在光纤中的传播速率为2*10e8m/s. 解:

V=L*F-àF=V/L--àB=F2-F1=V/L1-V/L2 1200nm到1400nm:带宽=23.8THZ 1400nm到1600nm:带宽=17.86THZ

2-13 为什么要使用信道复用技术?常用的信道复用技术有哪些? 答:为了通过共享信道、最大限度提高信道利用率。 频分、时分、码分、波分。

2-14 试写出下列英文缩写的全文,并做简单的解释。

FDM,TDM,STDM,WDM,DWDM,CDMA,SONET,SDH,STM-1 ,OC-48. 答:FDM(frequency division multiplexing) TDM(Time Division Multiplexing)

STDM(Statistic Time Division Multiplexing) WDM(Wave Division Multiplexing) DWDM(Dense Wave Division Multiplexing) CDMA(Code Wave Division Multiplexing)

SONET(Synchronous Optical Network)同步光纤网 SDH(Synchronous Digital Hierarchy)同步数字系列 STM-1(Synchronous Transfer Module)第1级同步传递模块 OC-48(Optical Carrier)第48级光载波

2-15 码分多址CDMA为什么可以使所有用户在同样的时间使用同样的频带进行通信而不会互相干扰?这种复用方法有何优缺点?

答:各用户使用经过特殊挑选的相互正交的不同码型,因此彼此不会造成干扰。 这种系统发送的信号有很强的抗干扰能力,其频谱类似于白噪声,不易被敌人发现。占用较大的带宽。

2-16 共有4个站进行码分多址通信。4个站的码片序列为

A:(-1-1-1+1+1-1+1+1) B:(-1-1+1-1+1+1+1-1)

C:(-1+1-1+1+1+1-1-1) D:(-1+1-1-1-1-1+1-1)

现收到这样的码片序列S:(-1+1-3+1-1-3+1+1)。问哪个站发送数据了?发送数据的站发送的是0还是1?

解:S·A=(+1-1+3+1-1+3+1+1)/8=1, A发送1 S·B=(+1-1-3-1-1-3+1-1)/8=-1, B发送0 S·C=(+1+1+3+1-1-3-1-1)/8=0, C无发送 S·D=(+1+1+3-1+1+3+1-1)/8=1, D发送1

2-17 试比较xDSL、HFC以及FTTx接入技术的优缺点?

答:xDSL 技术就是用数字技术对现有的模拟电话用户线进行改造,使它能够承载宽带业务。成本低,易实现,但带宽和质量差异性大。

HFC网的最大的优点具有很宽的频带,并且能够利用已经有相当大的覆盖面的有线电视网。要将现有的450 MHz 单向传输的有线电视网络改造为 750 MHz 双向传输的 HFC 网需要相当的资金和时间。

FTTx(光纤到……)这里字母 x 可代表不同意思。可提供最好的带宽和质量、但现阶段线路和工程成本太大。

2-18为什么在ASDL技术中,在不到1MHz的带宽中却可以传送速率高达每秒几个兆比? 答:靠先进的DMT编码,频分多载波并行传输、使得每秒传送一个码元就相当于每秒传送多个比特

第三章 数据链路层

3-01 数据链路(即逻辑链路)与链路(即物理链路)有何区别? “电路接通了”与”数据链路接通了”的区别何在?

答:数据链路与链路的区别在于数据链路出链路外,还必须有一些必要的规程来控制数据的传输,因此,数据链路比链路多了实现通信规程所需要的硬件和软件。

“电路接通了”表示链路两端的结点交换机已经开机,物理连接已经能够传送比特流了,但是,数据传输并不可靠,在物理连接基础上,再建立数据链路连接,才是“数据链路接通了”,此后,由于数据链路连接具有检测、确认和重传功能,才使不太可靠的物理链路变成可靠的数据链路,进行可靠的数据传输当数据链路断开连接时,物理电路连接不一定跟着断开连接。

3-02 数据链路层中的链路控制包括哪些功能?试讨论数据链路层做成可靠的链路层有哪些优点和缺点. 答:链路管理 帧定界 流量控制 差错控制 将数据和控制信息区分开 透明传输 寻址

可靠的链路层的优点和缺点取决于所应用的环境:对于干扰严重的信道,可靠的链路层可以将重传范围约束在局部链路,防止全网络的传输效率受损;对于优质信道,采用可靠的链路层会增大资源开销,影响传输效率。

3-03 网络适配器的作用是什么?网络适配器工作在哪一层?

答:适配器(即网卡)来实现数据链路层和物理层这两层的协议的硬件和软件

网络适配器工作在TCP/IP协议中的网络接口层(OSI中的数据链里层和物理层)

3-04 数据链路层的三个基本问题(帧定界、透明传输和差错检测)为什么都必须加以解决?

答:帧定界是分组交换的必然要求

透明传输避免消息符号与帧定界符号相混淆

差错检测防止合差错的无效数据帧浪费后续路由上的传输和处理资源

3-05 如果在数据链路层不进行帧定界,会发生什么问题? 答:无法区分分组与分组

无法确定分组的控制域和数据域

无法将差错更正的范围限定在确切的局部

3-06 PPP协议的主要特点是什么?为什么PPP不使用帧的编号?PPP适用于什么情况?为什么PPP协议不能使数据链路层实现可靠传输? 答:简单,提供不可靠的数据报服务,检错,无纠错 不使用序号和确认机制

地址字段A 只置为 0xFF。地址字段实际上并不起作用。 控制字段 C 通常置为 0x03。 PPP 是面向字节的

当 PPP 用在同步传输链路时,协议规定采用硬件来完成比特填充(和 HDLC 的做法一样),当 PPP 用在异步传输时,就使用一种特殊的字符填充法 PPP适用于线路质量不太差的情况下、PPP没有编码和确认机制

3-07 要发送的数据为1101011011。采用CRC的生成多项式是P(X)=X4+X+1。试求应添加在数据后面的余数。数据在传输过程中最后一个1变成了0,问接收端能否发现?若数据在传输过程中最后两个1都变成了0,问接收端能否发现?采用CRC检验后,数据链路层的传输是否就变成了可靠的传输?

答:作二进制除法,1101011011 0000 10011 得余数1110 ,添加的检验序列是1110. 作二进制除法,两种错误均可发展

仅仅采用了CRC检验,缺重传机制,数据链路层的传输还不是可靠的传输。

3-08 要发送的数据为101110。采用CRCD 生成多项式是P(X)=X3+1。试求应添加在数据后面的余数。

答:作二进制除法,101110 000 10011 添加在数据后面的余数是011

3-09 一个PPP帧的数据部分(用十六进制写出)是7D 5E FE 27 7D 5D 7D 5D 65 7D 5E。试问真正的数据是什么(用十六进制写出)? 答:7D 5E FE 27 7D 5D 7D 5D 65 7D 5E 7E FE 27 7D 7D 65 7D

3-10 PPP协议使用同步传输技术传送比特串0110111111111100。试问经过零比特填充后变成怎样的比特串?若接收端收到的PPP帧的数据部分是

0001110111110111110110,问删除发送端加入的零比特后变成怎样的比特串? 答:011011111 11111 00 011011111011111000 0001110111110111110110 000111011111 11111 110

3-11 试分别讨论一下各种情况在什么条件下是透明传输,在什么条件下不是透明传输。(提示:请弄清什么是“透明传输”,然后考虑能否满足其条件。) (1)普通的电话通信。

(2)电信局提供的公用电报通信。 (3)因特网提供的电子邮件服务。

3-12 PPP协议的工作状态有哪几种?当用户要使用PPP协议和ISP建立连接进行通信需要建立哪几种连接?每一种连接解决什么问题?

3-13 局域网的主要特点是什么?为什么局域网采用广播通信方式而广域网不采用呢?

答:局域网LAN是指在较小的地理范围内,将有限的通信设备互联起来的计算机通信网络 从功能的角度来看,局域网具有以下几个特点:

(1) 共享传输信道,在局域网中,多个系统连接到一个共享的通信媒体上。 (2) 地理范围有限,用户个数有限。通常局域网仅为一个单位服务,只在一个相对独立的局部范围内连网,如一座楼或集中的建筑群内,一般来说,局域网的覆盖范围越位10m~10km内或更大一些。

从网络的体系结构和传输检测提醒来看,局域网也有自己的特点: (1) 低层协议简单

(2) 不单独设立网络层,局域网的体系结构仅相当于相当与OSI/RM的最低两层 (3) 采用两种媒体访问控制技术,由于采用共享广播信道,而信道又可用不同的传输媒体,所以局域网面对的问题是多源,多目的的连连管理,由此引发出多中媒体访问控制技术

在局域网中各站通常共享通信媒体,采用广播通信方式是天然合适的,广域网通常采站点间直接构成格状网。

3-14 常用的局域网的网络拓扑有哪些种类?现在最流行的是哪种结构?为什么早期的以太网选择总线拓扑结构而不是星形拓扑结构,但现在却改为使用星形拓扑结构? 答:星形网,总线网,环形网,树形网

当时很可靠的星形拓扑结构较贵,人们都认为无源的总线结构更加可靠,但实践证明,连接有大量站点的总线式以太网很容易出现故障,而现在专用的ASIC芯片的使用可以讲星形结构的集线器做的非常可靠,因此现在的以太网一般都使用星形结构的拓扑。

3-15 什么叫做传统以太网?以太网有哪两个主要标准? 答:DIX Ethernet V2 标准的局域网

DIX Ethernet V2 标准与 IEEE 的 802.3 标准

3-16 数据率为10Mb/s的以太网在物理媒体上的码元传输速率是多少码元/秒? 答:码元传输速率即为波特率,以太网使用曼彻斯特编码,这就意味着发送的每一位都有两个信号周期。标准以太网的数据速率是10MB/s,因此波特率是数据率的两倍,即20M波特

3-17 为什么LLC子层的标准已制定出来了但现在却很少使用?

答:由于 TCP/IP 体系经常使用的局域网是 DIX Ethernet V2 而不是 802.3 标准中的几种局域网,因此现在 802 委员会制定的逻辑链路控制子层 LLC(即 802.2 标准)的作用已经不大了。

3-18 试说明10BASE-T中的“10”、“BASE”和“T”所代表的意思。

答:10BASE-T中的“10”表示信号在电缆上的传输速率为10MB/s,“BASE”表示电缆上的信号是基带信号,“T”代表双绞线星形网,但10BASE-T的通信距离稍短,每个站到集线器的距离不超过100m。

3-19 以太网使用的CSMA/CD协议是以争用方式接入到共享信道。这与传统的时分复用TDM相比优缺点如何?

答:传统的时分复用TDM是静态时隙分配,均匀高负荷时信道利用率高,低负荷或符合不均匀时资源浪费较大,CSMA/CD课动态使用空闲新到资源,低负荷时信道利用率高,但控制复杂,高负荷时信道冲突大。

3-20 假定1km长的CSMA/CD网络的数据率为1Gb/s。设信号在网络上的传播速率为200000km/s。求能够使用此协议的最短帧长。

答:对于1km电缆,单程传播时间为1/200000=5为微秒,来回路程传播时间为10微秒,为了能够按照CSMA/CD工作,最小帧的发射时间不能小于10微秒,以Gb/s速率工作,10微秒可以发送的比特数等于10*10^-6/1*10^-9=10000,因此,最短帧是10000位或1250字节长

3-21 什么叫做比特时间?使用这种时间单位有什么好处?100比特时间是多少微秒?

答:比特时间是发送一比特多需的时间,它是传信率的倒数,便于建立信息长度与发送延迟的关系

“比特时间”换算成“微秒”必须先知道数据率是多少,如数据率是10Mb/s,则100比特时间等于10微秒。

3-22 假定在使用CSMA/CD协议的10Mb/s以太网中某个站在发送数据时检测到碰撞,执行退避算法时选择了随机数r=100。试问这个站需要等待多长时间后才能再次发送数据?如果是100Mb/s的以太网呢?

答:对于10mb/s的以太网,以太网把争用期定为51.2微秒,要退后100个争用期,等待时间是51.2(微秒)*100=5.12ms

对于100mb/s的以太网,以太网把争用期定为5.12微秒,要退后100个争用期,等待时间是5.12(微秒)*100=512微秒

3-23 公式(3-3)表示,以太网的极限信道利用率与连接在以太网上的站点数无关。能否由此推论出:以太网的利用率也与连接在以太网的站点数无关?请说明你的理由。 答:实际的以太网各给发送数据的时刻是随即的,而以太网的极限信道利用率的得出是假定以太网使用了特殊的调度方法(已经不再是CSMA/CD了),使各结点的发送不发生碰撞。

3-24 假定站点A和B在同一个10Mb/s以太网网段上。这两个站点之间的传播时延为225比特时间。现假定A开始发送一帧,并且在A发送结束之前B也发送一帧。如果A发送的是以太网所容许的最短的帧,那么A在检测到和B发生碰撞之前能否把自己的数据发送完毕?换言之,如果A在发送完毕之前并没有检测到碰撞,那么能否肯定A所发送的帧不会和B发送的帧发生碰撞?(提示:在计算时应当考虑到每一个以太网帧在发送到信道上时,在MAC帧前面还要增加若干字节的前同步码和帧定界符)

答:设在t=0时A开始发送,在t=(64+8)*8=576比特时间,A应当发送完毕。t=225比特时间,B就检测出A的信号。只要B在t=224比特时间之前发送数据,A在发送完毕之前就一定检测到碰撞,就能够肯定以后也不会再发送碰撞了

如果A在发送完毕之前并没有检测到碰撞,那么就能够肯定A所发送的帧不会和B发送的帧发生碰撞(当然也不会和其他站点发生碰撞)。

3-25 在上题中的站点A和B在t=0时同时发送了数据帧。当t=255比特时间,A和B同时检测到发生了碰撞,并且在t=255+48=273比特时间完成了干扰信号的传输。A和B在CSMA/CD算法中选择不同的r值退避。假定A和B选择的随机数分别是rA=0和rB=1。试问A和B各在什么时间开始重传其数据帧?A重传的数据帧在什么时间到达B?A重传的数据会不会和B重传的数据再次发生碰撞?B会不会在预定的重传时间停止发送数据?

答:t=0时,A和B开始发送数据

T1=225比特时间,A和B都检测到碰撞(tau)

T2=273比特时间,A和B结束干扰信号的传输(T1+48) T3=594比特时间,A 开始发送(T2+Tau+rA*Tau+96)

T4=785比特时间,B再次检测信道。(T4+T2+Tau+Rb*Tau)如空闲,则B在T5=881比特时间发送数据、否则再退避。(T5=T4+96)

A重传的数据在819比特时间到达B,B先检测到信道忙,因此B在预定的881比特时间停止发送

3-26 以太网上只有两个站,它们同时发送数据,产生了碰撞。于是按截断二进制指数退避算法进行重传。重传次数记为i,i=1,2,3,…..。试计算第1次重传失败的概率、第2次重传的概率、第3次重传失败的概率,以及一个站成功发送数据之前的平均重传次数I。 答:将第i次重传成功的概率记为pi。显然

第一次重传失败的概率为0.5,第二次重传失败的概率为0.25,第三次重传失败的概率为0.125.平均重传次数I=1.637

3-27 假定一个以太网上的通信量中的80%是在本局域网上进行的,而其余的20%的通信量是在本局域网和因特网之间进行的。另一个以太网的情况则反过来。这两个以太网一个使用以太网集线器,而另一个使用以太网交换机。你认为以太网交换机应当用在哪一个网络?

答:集线器为物理层设备,模拟了总线这一共享媒介共争用,成为局域网通信容量的瓶颈。 交换机则为链路层设备,可实现透明交换 局域网通过路由器与因特网相连

当本局域网和因特网之间的通信量占主要成份时,形成集中面向路由器的数据流,使用集线器冲突较大,采用交换机能得到改善。

当本局域网内通信量占主要成份时,采用交换机改善对外流量不明显

3-28 有10个站连接到以太网上。试计算一下三种情况下每一个站所能得到的带宽。 (1)10个站都连接到一个10Mb/s以太网集线器; (2)10个站都连接到一个100Mb/s以太网集线器; (3)10个站都连接到一个10Mb/s以太网交换机。 答:(1)10个站都连接到一个10Mb/s以太网集线器:10mbs (2)10个站都连接到一个100mb/s以太网集线器:100mbs (3)10个站都连接到一个10mb/s以太网交换机:10mbs

3-29 10Mb/s以太网升级到100Mb/s、1Gb/S和10Gb/s时,都需要解决哪些技术问题?为什么以太网能够在发展的过程中淘汰掉自己的竞争对手,并使自己的应用范围从局域网一直扩展到城域网和广域网?

答:技术问题:使参数a保持为较小的数值,可通过减小最大电缆长度或增大帧的最小长度

在100mb/s的以太网中采用的方法是保持最短帧长不变,但将一个网段的最大电缆的度减小到100m,帧间时间间隔从原来9.6微秒改为现在的0.96微秒

吉比特以太网仍保持一个网段的最大长度为100m,但采用了“载波延伸”的方法,使最短帧长仍为64字节(这样可以保持兼容性)、同时将争用时间增大为512字节。并使用“分组突发”减小开销

10吉比特以太网的帧格式与10mb/s,100mb/s和1Gb/s以太网的帧格式完全相同 吉比特以太网还保留标准规定的以太网最小和最大帧长,这就使用户在将其已有的以太网进行升级时,仍能和较低速率的以太网很方便地通信。

由于数据率很高,吉比特以太网不再使用铜线而只使用光纤作为传输媒体,它使用长距离(超过km)的光收发器与单模光纤接口,以便能够工作在广

3-30 以太网交换机有何特点?用它怎样组成虚拟局域网? 答:以太网交换机则为链路层设备,可实现透明交换

虚拟局域网 VLAN 是由一些局域网网段构成的与物理位置无关的逻辑组。 这些网段具有某些共同的需求。

虚拟局域网协议允许在以太网的帧格式中插入一个 4 字节的标识符,称为 VLAN 标记(tag),用来指明发送该帧的工作站属于哪一个虚拟局域网。

3-31 网桥的工作原理和特点是什么?网桥与转发器以及以太网交换机有何异同? 答:网桥工作在数据链路层,它根据 MAC 帧的目的地址对收到的帧进行转发。

网桥具有过滤帧的功能。当网桥收到一个帧时,并不是向所有的接口转发此帧,而是先检查此帧的目的 MAC 地址,然后再确定将该帧转发到哪一个接口 转发器工作在物理层,它仅简单地转发信号,没有过滤能力 以太网交换机则为链路层设备,可视为多端口网桥

3-32 图3-35表示有五个站点分别连接在三个局域网上,并且用网桥B1和B2连接起来。每一个网桥都有两个接口(1和2)。在一开始,两个网桥中的转发表都是空的。以后有以下各站向其他的站发送了数据帧:A发送给E,C发送给B,D发送给C,B发送给A。试把有关数据填写在表3-2中。

发送的帧 B1的转发表

地址

A→E C→B D→C B→A

A C D B

接口 1 2 2 1

B2的转发表 地址 A C D

接口 1 1 2

B1的处理

(转发?丢弃?登记?) 转发,写入转发表 转发,写入转发表 写入转发表,丢弃不转发 写入转发表,丢弃不转发

B2的处理

(转发?丢弃?登记?) 转发,写入转发表 转发,写入转发表 转发,写入转发表 接收不到这个帧

3-33 网桥中的转发表是用自学习算法建立的。如果有的站点总是不发送数据而仅仅接受数据,那么在转发表中是否就没有与这样的站点相对应的项目?如果要向这个站点发送数据帧,那么网桥能够把数据帧正确转发到目的地址吗? 答:没有与这样的站点相对应的项目;

网桥能够利用广播把数据帧正确转发到目的地址

第四章 网络层

1.网络层向上提供的服务有哪两种?是比较其优缺点。

网络层向运输层提供 “面向连接”虚电路(Virtual Circuit)服务或“无连接”数据报服务

前者预约了双方通信所需的一切网络资源。优点是能提供服务质量的承诺。即所传送的分组不出错、丢失、重复和失序(不按序列到达终点),也保证分组传送的时限,缺点是路由器复杂,网络成本高;

后者无网络资源障碍,尽力而为,优缺点与前者互易

2.网络互连有何实际意义?进行网络互连时,有哪些共同的问题需要解决? 网络互联可扩大用户共享资源范围和更大的通信区域 进行网络互连时,需要解决共同的问题有: 不同的寻址方案 不同的最大分组长度 不同的网络接入机制 不同的超时控制 不同的差错恢复方法 不同的状态报告方法 不同的路由选择技术 不同的用户接入控制

不同的服务(面向连接服务和无连接服务) 不同的管理与控制方式

3.作为中间设备,转发器、网桥、路由器和网关有何区别? 中间设备又称为中间系统或中继(relay)系统。 物理层中继系统:转发器(repeater)。

数据链路层中继系统:网桥或桥接器(bridge)。 网络层中继系统:路由器(router)。 网桥和路由器的混合物:桥路器(brouter)。 网络层以上的中继系统:网关(gateway)。

4.试简单说明下列协议的作用:IP、ARP、RARP和ICMP。

IP协议:实现网络互连。使参与互连的性能各异的网络从用户看起来好像是一个统一的网络。网际协议IP是TCP/IP体系中两个最主要的协议之一,与IP协议配套使用的还有四个协议。

ARP协议:是解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题。 RARP:是解决同一个局域网上的主机或路由器的硬件地址和IP地址的映射问题。 ICMP:提供差错报告和询问报文,以提高IP数据交付成功的机会 因特网组管理协议IGMP:用于探寻、转发本局域网内的组成员关系。

5.IP地址分为几类?各如何表示?IP地址的主要特点是什么? 分为ABCDE 5类;

每一类地址都由两个固定长度的字段组成,其中一个字段是网络号 net-id,它标志主机(或路由器)所连接到的网络,而另一个字段则是主机号 host-id,它标志该主机(或路由器)。 各类地址的网络号字段net-id分别为1,2,3,0,0字节;主机号字段host-id分别为3字节、2字节、1字节、4字节、4字节。 特点:

(1)IP 地址是一种分等级的地址结构。分两个等级的好处是:

第一,IP 地址管理机构在分配 IP 地址时只分配网络号,而剩下的主机号则由得到该网络号的单位自行分配。这样就方便了 IP 地址的管理。

第二,路由器仅根据目的主机所连接的网络号来转发分组(而不考虑目的主机号),这样就可以使路由表中的项目数大幅度减少,从而减小了路由表所占的存储空间。 (2)实际上 IP 地址是标志一个主机(或路由器)和一条链路的接口。

当一个主机同时连接到两个网络上时,该主机就必须同时具有两个相应的 IP 地址,其网络号 net-id 必须是不同的。这种主机称为多归属主机(multihomed host)。

由于一个路由器至少应当连接到两个网络(这样它才能将 IP 数据报从一个网络转发到另一个网络),因此一个路由器至少应当有两个不同的 IP 地址。

(3) 用转发器或网桥连接起来的若干个局域网仍为一个网络,因此这些局域网都具有同样的网络号 net-id。

(4) 所有分配到网络号 net-id 的网络,范围很小的局域网,还是可能覆盖很大地理范围的广域网,都是平等的。

6.试根据IP地址的规定,计算出表4-2中的各项数据。

解:1)A类网中,网络号占七个bit, 则允许用的网络数为2的7次方,为128,但是要 除去0和127的情况,所以能用的最大网络数是126,第一个网络号是1,最后一个网络号是 126。主机号占24个bit, 则允许用的最大主机数为2的24次方,为16777216,但是也要除去全0和全1的情况,所以能用的最大主机数是16777214。

2) B类网中,网络号占14个bit,则能用的最大网络数为2的14次方,为16384,第一个网络号是128.0,因为127要用作本地软件回送测试,所以从128开始,其点后的还可以容纳2的8次方为256,所以以128为开始的网络号为128.0~~128.255,共256个,以此类推,第16384个网络号的计算方法是:16384/256=64128+64=192,则可推算出为191.255。主机号占16个 bit, 则允许用的最大主机数为2的16次方,为65536,但是也要除去全0和全 1的情况,所以能用的最大主机数是65534。

3)C类网中,网络号占21个bit, 则能用的网络数为2的21次方,为2097152,第一个网络号是 192.0.0,各个点后的数占一个字节,所以以 192 为开始的网络号

为 192.0.0~~192.255.255,共256*256=65536,以此类推,第2097152个网络号的计算方法是: 2097152/65536=32192+32=224,则可推算出为223.255.255。主机号占8个bit, 则允许用的最大主机数为2的8次方,为256,但是也要除去全0和全1的情况,所以能用的最大主机数是254。

7.试说明IP地址与硬件地址的区别,为什么要使用这两种不同的地址?

IP 地址就是给每个连接在因特网上的主机(或路由器)分配一个在全世界范围是唯一的 32 位的标识符。从而把整个因特网看成为一个单一的、抽象的网络 在实际网络的链路上传送数据帧时,最终还是必须使用硬件地址。

MAC地址在一定程度上与硬件一致,基于物理、能够标识具体的链路通信对象、IP地址给予逻辑域的划分、不受硬件限制。

8.IP地址方案与我国的电话号码体制的主要不同点是什么? 于网络的地理分布无关

9.(1)子网掩码为255.255.255.0代表什么意思? 有三种含义

其一是一个A类网的子网掩码,对于A类网络的IP地址,前8位表示网络号,后24位表示主机号,使用子网掩码255.255.255.0表示前8位为网络号,中间16位用于子网段的划分,最后8位为主机号。

第二种情况为一个B类网,对于B类网络的IP地址,前16位表示网络号,后16位表示主机号,使用子网掩码255.255.255.0表示前16位为网络号,中间8位用于子网段的划分,最后8位为主机号。

第三种情况为一个C类网,这个子网掩码为C类网的默认子网掩码。

(2)一网络的现在掩码为255.255.255.248,问该网络能够连接多少个主机? 255.255.255.248即11111111.11111111.11111111.11111000. 每一个子网上的主机为(2^3)=6 台

掩码位数29,该网络能够连接8个主机,扣除全1和全0后为6台。

(3)一A类网络和一B网络的子网号subnet-id分别为16个1和8个1,问这两个子网掩码有何不同?

A类网络:11111111 11111111 11111111 00000000 给定子网号(16位“1”)则子网掩码为255.255.255.0 B类网络 11111111 11111111 11111111 00000000 给定子网号(8位“1”)则子网掩码为255.255.255.0但子网数目不同

(4)一个B类地址的子网掩码是255.255.240.0。试问在其中每一个子网上的主机数最多是多少?

(240)10=(128+64+32+16)10=(11110000)2 Host-id的位数为4+8=12,因此,最大主机数为: 2^12-2=4096-2=4094

11111111.11111111.11110000.00000000 主机数2^12-2

(5)一A类网络的子网掩码为255.255.0.255;它是否为一个有效的子网掩码? 是 10111111 11111111 00000000 11111111

(6)某个IP地址的十六进制表示C2.2F.14.81,试将其转化为点分十进制的形式。这个地址是哪一类IP地址?

C2 2F 14 81--à(12*16+2).(2*16+15).(16+4).(8*16+1)---à194.47.20.129 C2 2F 14 81 ---à11000010.00101111.00010100.10000001 C类地址

(7)C类网络使用子网掩码有无实际意义?为什么?

有实际意义.C类子网IP地址的32位中,前24位用于确定网络号,后8位用于确定主机号.如果划分子网,可以选择后8位中的高位,这样做可以进一步划分网络,并且不增加路由表的内容,但是代价是主机数相信减少.

10.试辨认以下IP地址的网络类别。

(1)128.36.199.3 (2)21.12.240.17 (3)183.194.76.253 (4)192.12.69.248 (5)89.3.0.1 (6)200.3.6.2

(2)和(5)是A类,(1)和(3)是B类,(4)和(6)是C类.

11. IP数据报中的首部检验和并不检验数据报中的数据。这样做的最大好处是什么?坏处是什么?

在首部中的错误比在数据中的错误更严重,例如,一个坏的地址可能导致分组被投寄到错误的主机。许多主机并不检查投递给他们的分组是否确实是要投递给它们,它们假定网络从来不会把本来是要前往另一主机的分组投递给它们。

数据不参与检验和的计算,因为这样做代价大,上层协议通常也做这种检验工作,从前,从而引起重复和多余。

因此,这样做可以加快分组的转发,但是数据部分出现差错时不能及早发现。

12.当某个路由器发现一IP数据报的检验和有差错时,为什么采取丢弃的办法而不是要求源站重传此数据报?计算首部检验和为什么不采用CRC检验码? 答:纠错控制由上层(传输层)执行

IP首部中的源站地址也可能出错请错误的源地址重传数据报是没有意义的 不采用CRC简化解码计算量,提高路由器的吞吐量

13.设IP数据报使用固定首部,其各字段的具体数值如图所示(除IP地址外,均为十进制表示)。试用二进制运算方法计算应当写入到首部检验和字段中的数值(用二进制表示)。 4 1

5

0

28 0

0

4

10.12.14.5 12.6.7.9

17

1000101 00000000 00000000-00011100 00000000 00000001 00000000-00000000 00000100 00010001 xxxxxxxx xxxxxxxx 00001010 00001100 00001110 00000101

00001100 00000110 00000111 00001001 作二进制检验和(XOR) 01110100 01001110取反码 10001011 10110001

14. 重新计算上题,但使用十六进制运算方法(没16位二进制数字转换为4个十六进制数字,再按十六进制加法规则计算)。比较这两种方法。

01000101 00000000 00000000-00011100 4 5 0 0 0 0 1 C 00000000 00000001 00000000-00000000 0 0 0 1 0 0 0 0 00000100 000010001 xxxxxxxx xxxxxxxx 0 4 1 1 0 0 0 0 00001010 00001100 00001110 00000101 0 A 0 C 0 E 0 5 00001100 00000110 00000111 00001001 0 C 0 6 0 7 0 9 01011111 00100100 00010101 00101010 5 F 2 4 1 5 2 A 5 F 2 4 1 5 2 A

7 4 4 E-à8 B B 1

15.什么是最大传送单元MTU?它和IP数据报的首部中的哪个字段有关系?

答:IP层下面数据链里层所限定的帧格式中数据字段的最大长度,与IP数据报首部中的总长度字段有关系

16.在因特网中将IP数据报分片传送的数据报在最后的目的主机进行组装。还可以有另一种做法,即数据报片通过一个网络就进行一次组装。是比较这两种方法的优劣。

在目的站而不是在中间的路由器进行组装是由于: (1)路由器处理数据报更简单些;效率高,延迟小。

(2)数据报的各分片可能经过各自的路径。因此在每一个中间的路由器进行组装可能总会缺少几个数据报片;

(3)也许分组后面还要经过一个网络,它还要给这些数据报片划分成更小的片。如果在中间的路由器进行组装就可能会组装多次。

(为适应路径上不同链路段所能许可的不同分片规模,可能要重新分片或组装)

17. 一个3200位长的TCP报文传到IP层,加上160位的首部后成为数据报。下面的互联网由两个局域网通过路由器连接起来。但第二个局域网所能传送的最长数据帧中的数据部分只有1200位。因此数据报在路由器必须进行分片。试问第二个局域网向其上层要传送多少比特的数据(这里的“数据”当然指的是局域网看见的数据)?

答:第二个局域网所能传送的最长数据帧中的数据部分只有1200bit,即每个IP数据片的数据部分<1200-160(bit),由于片偏移是以8字节即64bit为单位的,所以IP数据片的数据部分最大不超过1024bit,这样3200bit的报文要分4个数据片,所以第二个局域网向上传送的比特数等于(3200+4×160),共3840bit。

18.(1)有人认为:“ARP协议向网络层提供了转换地址的服务,因此ARP应当属于数据链路层。”这种说法为什么是错误的?

因为ARP本身是网络层的一部分,ARP协议为IP协议提供了转换地址的服务,数据链路层使用硬件地址而不使用IP地址,无需ARP协议数据链路层本身即可正常运行。因此ARP不再数据链路层。

(2)试解释为什么ARP高速缓存每存入一个项目就要设置10~20分钟的超时计时器。这个时间设置的太大或太小会出现什么问题?

答:考虑到IP地址和Mac地址均有可能是变化的(更换网卡,或动态主机配置) 10-20分钟更换一块网卡是合理的。超时时间太短会使ARP请求和响应分组的通信量太频繁,而超时时间太长会使更换网卡后的主机迟迟无法和网络上的其他主机通信。 (3)至少举出两种不需要发送ARP请求分组的情况(即不需要请求将某个目的IP地址解析为相应的硬件地址)。

在源主机的ARP高速缓存中已经有了该目的IP地址的项目;源主机发送的是广播分组;源主机和目的主机使用点对点链路。

19.主机A发送IP数据报给主机B,途中经过了5个路由器。试问在IP数据报的发送过程中总共使用了几次ARP?

6次,主机用一次,每个路由器各使用一次。

20.设某路由器建立了如下路由表: 目的网络 子网掩码 下一跳

128.96.39.0 255.255.255.128 接口m0 128.96.39.128 255.255.255.128 接口m1 128.96.40.0 255.255.255.128 R2 192.4.153.0 255.255.255.192 R3 *(默认) —— R4

现共收到5个分组,其目的地址分别为: (1)128.96.39.10 (2)128.96.40.12 (3)128.96.40.151 (4)192.153.17 (5)192.4.153.90

(1)分组的目的站IP地址为:128.96.39.10。先与子网掩码255.255.255.128相与,得128.96.39.0,可见该分组经接口0转发。 (2)分组的目的IP地址为:128.96.40.12。

① 与子网掩码255.255.255.128相与得128.96.40.0,不等于128.96.39.0。

② 与子网掩码255.255.255.128相与得128.96.40.0,经查路由表可知,该项分组经R2转发。

(3)分组的目的IP地址为:128.96.40.151,与子网掩码255.255.255.128相与后得128.96.40.128,与子网掩码255.255.255.192相与后得128.96.40.128,经查路由表知,该分组转发选择默认路由,经R4转发。

(4)分组的目的IP地址为:192.4.153.17。与子网掩码255.255.255.128相与后得192.4.153.0。与子网掩码255.255.255.192相与后得192.4.153.0,经查路由表知,该分组经R3转发。

(5)分组的目的IP地址为:192.4.153.90,与子网掩码255.255.255.128相与后得192.4.153.0。与子网掩码255.255.255.192相与后得192.4.153.64,经查路由表知,该分组转发选择默认路由,经R4转发。

21某单位分配到一个B类IP地址,其net-id为129.250.0.0.该单位有4000台机器,分布在16个不同的地点。如选用子网掩码为255.255.255.0,试给每一个地点分配一个子网掩码号,并算出每个地点主机号码的最小值和最大值

4000/16=250,平均每个地点250台机器。如选255.255.255.0为掩码,则每个网络所连主机数=28-2=254>250,共有子网数=28-2=254>16,能满足实际需求。 可给每个地点分配如下子网号码

地点:子网号(subnet-id)子网网络号 主机IP的最小值和最大值 1: 00000001 129.250.1.0 129.250.1.1---129.250.1.254 2: 00000010 129.250.2.0 129.250.2.1---129.250.2.254 3: 00000011 129.250.3.0 129.250.3.1---129.250.3.254 4: 00000100 129.250.4.0 129.250.4.1---129.250.4.254 5: 00000101 129.250.5.0 129.250.5.1---129.250.5.254 6: 00000110 129.250.6.0 129.250.6.1---129.250.6.254 7: 00000111 129.250.7.0 129.250.7.1---129.250.7.254 8: 00001000 129.250.8.0 129.250.8.1---129.250.8.254 9: 00001001 129.250.9.0 129.250.9.1---129.250.9.254 10: 00001010 129.250.10.0 129.250.10.1---129.250.10.254 11: 00001011 129.250.11.0 129.250.11.1---129.250.11.254 12: 00001100 129.250.12.0 129.250.12.1---129.250.12.254 13: 00001101 129.250.13.0 129.250.13.1---129.250.13.254 14: 00001110 129.250.14.0 129.250.14.1---129.250.14.254 15: 00001111 129.250.15.0 129.250.15.1---129.250.15.254 16: 00010000 129.250.16.0 129.250.16.1---129.250.16.254

22..一个数据报长度为4000字节(固定首部长度)。现在经过一个网络传送,但此网络能够

传送的最大数据长度为1500字节。试问应当划分为几个短些的数据报片?各数据报片的数据字段长度、片偏移字段和MF标志应为何数值?

IP数据报固定首部长度为20字节

原始数据报 数据报片1 数据报片2 数据报片3 总长度(字节) 数据长度(字节) 4000 1500 1500 1040 3980 1480 1480 1020 MF 0 1 1 0 片偏移 0 0 185 370 23 分两种情况(使用子网掩码和使用CIDR)写出因特网的IP成查找路由的算法。 见课本P134、P139 24.试找出可产生以下数目的A类子网的子网掩码(采用连续掩码)。 (1)2,(2)6,(3)30,(4)62,(5)122,(6)250. (1)255.192.0.0,(2)255.224.0.0,(3)255.248.0.0,(4)255.252.0.0,(5)255.254.0.0,(6)255.255.0.0 25.以下有4个子网掩码。哪些是不推荐使用的?为什么? (1)176.0.0.0,(2)96.0.0.0,(3)127.192.0.0,(4)255.128.0.0。 只有(4)是连续的1和连续的0的掩码,是推荐使用的 26.有如下的4个/24地址块,试进行最大可能性的聚会。 212.56.132.0/24 212.56.133.0/24 212.56.134.0/24 212.56.135.0/24 212=(11010100)2,56=(00111000)2 132=(10000100)2, 133=(10000101)2 134=(10000110)2, 135=(10000111)2 所以共同的前缀有22位,即11010100 00111000 100001,聚合的CIDR地址块是:212.56.132.0/22

27.有两个CIDR地址块208.128/11和208.130.28/22。是否有那一个地址块包含了另一个地址?如果有,请指出,并说明理由。 208.128/11的前缀为:11010000 100

208.130.28/22的前缀为:11010000 10000010 000101,它的前11位与208.128/11的前缀是一致的,所以208.128/11地址块包含了208.130.28/22这一地址块。

28.已知路由器R1的路由表如表4—12所示。 表4-12 习题4-28中路由器R1的路由表 地址掩码 目的网络地址 /26 /24 /16 /16 /16 默认

140.5.12.64 130.5.8.0 110.71.0.0 180.15.0.0 196.16.0.0 默认

下一跳地址 180.15.2.5 190.16.6.2 …… …… …… 110.71.4.5

路由器接口 m2 m1 m0 m2 m1 m0

试画出个网络和必要的路由器的连接拓扑,标注出必要的IP地址和接口。对不能确定的情应该指明。

图形见课后答案P380

29.一个自治系统有5个局域网,其连接图如图4-55示。LAN2至LAN5上的主机数分别为:91,150,3和15.该自治系统分配到的IP地址块为30.138.118/23。试给出每一个局域网的地址块(包括前缀)。 30.138.118/23--à30.138.0111 011 分配网络前缀时应先分配地址数较多的前缀

题目没有说LAN1上有几个主机,但至少需要3个地址给三个路由器用。 本题的解答有很多种,下面给出两种不同的答案: 第一组答案 第二组答案

LAN1 30.138.119.192/29 30.138.118.192/27 LAN2 30.138.119.0/25 30.138.118.0/25 LAN3 30.138.118.0/24 30.138.119.0/24 LAN4 30.138.119.200/29 30.138.118.224/27 LAN5 30.138.119.128/26 30.138.118.128/27

30. 一个大公司有一个总部和三个下属部门。公司分配到的网络前缀是192.77.33/24.公司的网络布局如图4-56示。总部共有五个局域网,其中的LAN1-LAN4都连接到路由器R1上,R1再通过LAN5与路由器R5相连。R5和远地的三个部门的局域网LAN6~LAN8通过广域网相连。每一个局域网旁边标明的数字是局域网上的主机数。试给每一个局域网分配一个合适的网络的前缀。 见课后答案P380

31.以下地址中的哪一个和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位前缀说明第二字节的前4位在前缀中。 给出的四个地址的第二字节的前4位分别为:0010 ,0100 ,0011和0100。因此只有(1)是匹配的。

32.以下地址中的哪一个地址2.52.90。140匹配?请说明理由。 (1)0/4;(2)32/4;(3)4/6(4)152.0/11 前缀(1)和地址2.52.90.140匹配 2.52.90.140 è 0000 0010.52.90.140 0/4 è 0000 0000 32/4 è 0010 0000 4/6 è 0000 0100 80/4 è 0101 0000

33.下面的前缀中的哪一个和地址152.7.77.159及152.31.47.252都匹配?请说明理由。 (1)152.40/13;(2)153.40/9;(3)152.64/12;(4)152.0/11。

前缀(4)和这两个地址都匹配

34. 与下列掩码相对应的网络前缀各有多少位?

(1)192.0.0.0;(2)240.0.0.0;(3)255.254.0.0;(4)255.255.255.252。 (1)/2 ; (2) /4 ; (3) /11 ; (4) /30 。

35. 已知地址块中的一个地址是140.120.84.24/20。试求这个地址块中的最小地址和最大地址。地址掩码是什么?地址块中共有多少个地址?相当于多少个C类地址? 140.120.84.24 è 140.120.(0101 0100).24 最小地址是 140.120.(0101 0000).0/20 (80) 最大地址是 140.120.(0101 1111).255/20 (95) 地址数是4096.相当于16个C类地址。

36.已知地址块中的一个地址是190.87.140.202/29。重新计算上题。 190.87.140.202/29 è 190.87.140.(1100 1010)/29 最小地址是 190.87.140.(1100 1000)/29 200 最大地址是 190.87.140.(1100 1111)/29 207 地址数是8.相当于1/32个C类地址。

1. 37. 某单位分配到一个地址块136.23.12.64/26。现在需要进一步划分为4个一样大

的子网。试问:

(1)每一个子网的网络前缀有多长? (2)每一个子网中有多少个地址? (3)每一个子网的地址是什么?

(4)每一个子网可分配给主机使用的最小地址和最大地址是什么? (1)每个子网前缀28位。

(2)每个子网的地址中有4位留给主机用,因此共有16个地址。 (3)四个子网的地址块是:

第一个地址块136.23.12.64/28,可分配给主机使用的

最小地址:136.23.12.01000001=136.23.12.65/28 最大地址:136.23.12.01001110=136.23.12.78/28 第二个地址块136.23.12.80/28,可分配给主机使用的 最小地址:136.23.12.01010001=136.23.12.81/28 最大地址:136.23.12.01011110=136.23.12.94/28 第三个地址块136.23.12.96/28,可分配给主机使用的 最小地址:136.23.12.01100001=136.23.12.97/28 最大地址:136.23.12.01101110=136.23.12.110/28 第四个地址块136.23.12.112/28,可分配给主机使用的 最小地址:136.23.12.01110001=136.23.12.113/28 最大地址:136.23.12.01111110=136.23.12.126/28

1. 38. IGP和EGP这两类协议的主要区别是什么?

IGP:在自治系统内部使用的路由协议;力求最佳路由

EGP:在不同自治系统便捷使用的路由协议;力求较好路由(不兜圈子)

EGP必须考虑其他方面的政策,需要多条路由。代价费用方面可能可达性更重要。 IGP:内部网关协议,只关心本自治系统内如何传送数据报,与互联网中其他自治系统使用什么协议无关。

EGP:外部网关协议,在不同的AS边界传递路由信息的协议,不关心AS内部使用何种协议。

注:IGP主要考虑AS内部如何高效地工作,绝大多数情况找到最佳路由,对费用和代价的有多种解释。

39. 试简述RIP,OSPF和BGP路由选择协议的主要特点。 主要特点 网关协议 路由表内容 最优通路依据

RIP 内部

OSPF 内部

BGP 外部

目的网,下一站,距离 目的网,下一站,距离 目的网,完整路径 跳数

费用

多种策略

算法 传送方式 其他

距离矢量 运输层UDP

链路状态 IP数据报

距离矢量 建立TCP连接

简单、效率低、跳数为效率高、路由器频繁交规模大、统一度量为可16不可达、好消息传的换信息,难维持一致性 达性 快,坏消息传的慢

1. 40. RIP使用UDP,OSPF使用IP,而BGP使用TCP。这样做有何优点?为什么RIP

周期性地和临站交换路由器由信息而BGP却不这样做?

RIP只和邻站交换信息,使用UDP无可靠保障,但开销小,可以满足RIP要求; OSPF使用可靠的洪泛法,直接使用IP,灵活、开销小;

BGP需要交换整个路由表和更新信息,TCP提供可靠交付以减少带宽消耗;

RIP使用不保证可靠交付的UDP,因此必须不断地(周期性地)和邻站交换信息才能使路由信息及时得到更新。但BGP使用保证可靠交付的TCP因此不需要这样做。

1. 41. 假定网络中的路由器B的路由表有如下的项目(这三列分别表示“目的网络”、“距离”

和“下一跳路由器”)

N1 7 A N2 2 B N6 8 F N8 4 E N9 4 F

现在B收到从C发来的路由信息(这两列分别表示“目的网络”“距离”): N2 4 N3 8 N6 4 N8 3 N9 5

试求出路由器B更新后的路由表(详细说明每一个步骤)。 路由器B更新后的路由表如下:

N1 7 A 无新信息,不改变

N2 5 C 相同的下一跳,更新 N3 9 C 新的项目,添加进来

N6 5 C 不同的下一跳,距离更短,更新 N8 4 E 不同的下一跳,距离一样,不改变 N9 4 F 不同的下一跳,距离更大,不改变

1. 42. 假定网络中的路由器A的路由表有如下的项目(格式同上题):

N1 4 B

N2 2 C N3 1 F N4 5 G

现将A收到从C发来的路由信息(格式同上题): N1 2 N2 1 N3 3 N4 7

试求出路由器A更新后的路由表(详细说明每一个步骤)。 路由器A更新后的路由表如下:

N1 3 C 不同的下一跳,距离更短,改变 N2 2 C 不同的下一跳,距离一样,不变 N3 1 F 不同的下一跳,距离更大,不改变 N4 5 G 无新信息,不改变

43.IGMP协议的要点是什么?隧道技术是怎样使用的? IGMP可分为两个阶段:

第一阶段:当某个主机加入新的多播组时,该主机应向多播组的多播地址发送IGMP 报文,声明自己要成为该组的成员。本地的多播路由器收到 IGMP 报文后,将组成员关系转发给因特网上的其他多播路由器。

第二阶段:因为组成员关系是动态的,因此本地多播路由器要周期性地探询本地局域网上的主机,以便知道这些主机是否还继续是组的成员。只要对某个组有一个主机响应,那么多播路由器就认为这个组是活跃的。但一个组在经过几次的探询后仍然没有一个主机响应,则不再将该组的成员关系转发给其他的多播路由器。

隧道技术:多播数据报被封装到一个单播IP数据报中,可穿越不支持多播的网络,到达另一个支持多播的网络。

1. 44. 什么是VPN?VPN有什么特点和优缺点?VPN有几种类别?

P171-173

1. 45. 什么是NAT?NAPT有哪些特点?NAT的优点和缺点有哪些?NAT的优点和缺点

有哪些? P173-174

第五章 传输层

5—01 试说明运输层在协议栈中的地位和作用,运输层的通信和网络层的通信有什么重要区别?为什么运输层是必不可少的?

答:运输层处于面向通信部分的最高层,同时也是用户功能中的最低层,向它上面的应用层提供服务

运输层为应用进程之间提供端到端的逻辑通信,但网络层是为主机之间提供逻辑通信(面向主机,承担路由功能,即主机寻址及有效的分组交换)。

各种应用进程之间通信需要“可靠或尽力而为”的两类服务质量,必须由运输层以复用和分用的形式加载到网络层。

5—02 网络层提供数据报或虚电路服务对上面的运输层有何影响? 答:网络层提供数据报或虚电路服务不影响上面的运输层的运行机制。

但提供不同的服务质量。

5—03 当应用程序使用面向连接的TCP和无连接的IP时,这种传输是面向连接的还是面向无连接的?

答:都是。这要在不同层次来看,在运输层是面向连接的,在网络层则是无连接的。

5—04 试用画图解释运输层的复用。画图说明许多个运输用户复用到一条运输连接上,而这条运输连接有复用到IP数据报上。

5—05 试举例说明有些应用程序愿意采用不可靠的UDP,而不用采用可靠的TCP。 答:VOIP:由于语音信息具有一定的冗余度,人耳对VOIP数据报损失由一定的承受度,但对传输时延的变化较敏感。

有差错的UDP数据报在接收端被直接抛弃,TCP数据报出错则会引起重传,可能带来较大的时延扰动。

因此VOIP宁可采用不可靠的UDP,而不愿意采用可靠的TCP。

5—06 接收方收到有差错的UDP用户数据报时应如何处理? 答:丢弃

5—07 如果应用程序愿意使用UDP来完成可靠的传输,这可能吗?请说明理由 答:可能,但应用程序中必须额外提供与TCP相同的功能。

5—08 为什么说UDP是面向报文的,而TCP是面向字节流的?

答:发送方 UDP 对应用程序交下来的报文,在添加首部后就向下交付 IP 层。UDP 对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。

接收方 UDP 对 IP 层交上来的 UDP 用户数据报,在去除首部后就原封不动地交付上层的应用进程,一次交付一个完整的报文。

发送方TCP对应用程序交下来的报文数据块,视为无结构的字节流(无边界约束,课分拆/合并),但维持各字节

5—09 端口的作用是什么?为什么端口要划分为三种?

答:端口的作用是对TCP/IP体系的应用进程进行统一的标志,使运行不同操作系统的计算机的应用进程能够互相通信。

熟知端口,数值一般为0~1023.标记常规的服务进程;

登记端口号,数值为1024~49151,标记没有熟知端口号的非常规的服务进程;

5—10 试说明运输层中伪首部的作用。 答:用于计算运输层数据报校验和。

5—11 某个应用进程使用运输层的用户数据报UDP,然而继续向下交给IP层后,又封装成IP数据报。既然都是数据报,可否跳过UDP而直接交给IP层?哪些功能UDP提供了但IP没提提供?

答:不可跳过UDP而直接交给IP层

IP数据报IP报承担主机寻址,提供报头检错;只能找到目的主机而无法找到目的进程。

UDP提供对应用进程的复用和分用功能,以及提供对数据差分的差错检验。

5—12 一个应用程序用UDP,到IP层把数据报在划分为4个数据报片发送出去,结果前两个数据报片丢失,后两个到达目的站。过了一段时间应用程序重传UDP,而IP层仍然划分为4个数据报片来传送。结果这次前两个到达目的站而后两个丢失。试问:在目的站能否将这两次传输的4个数据报片组装成完整的数据报?假定目的站第一次收到的后两个数据报片仍然保存在目的站的缓存中。 答:不行

重传时,IP数据报的标识字段会有另一个标识符。 仅当标识符相同的IP数据报片才能组装成一个IP数据报。

前两个IP数据报片的标识符与后两个IP数据报片的标识符不同,因此不能组装成一个IP数据报。

5—13 一个UDP用户数据的数据字段为8192季节。在数据链路层要使用以太网来传送。试问应当划分为几个IP数据报片?说明每一个IP数据报字段长度和片偏移字段的值。 答:6个

数据字段的长度:前5个是1480字节,最后一个是800字节。 片偏移字段的值分别是:0,1480,2960,4440,5920和7400.

5—14 一UDP用户数据报的首部十六进制表示是:06 32 00 45 00 1C E2 17.试求源端口、目的端口、用户数据报的总长度、数据部分长度。这个用户数据报是从客户发送给服务器发送给客户?使用UDP的这个服务器程序是什么?

解:源端口1586,目的端口69,UDP用户数据报总长度28字节,数据部分长度20字节。 此UDP用户数据报是从客户发给服务器(因为目的端口号<1023,是熟知端口)、服务器程序是TFFTP。

5—15 使用TCP对实时话音数据的传输有没有什么问题?使用UDP在传送数据文件时会有什么问题?

答:如果语音数据不是实时播放(边接受边播放)就可以使用TCP,因为TCP传输可靠。接收端用TCP讲话音数据接受完毕后,可以在以后的任何时间进行播放。但假定是实时传输,则必须使用UDP。

UDP不保证可靠交付,但UCP比TCP的开销要小很多。因此只要应用程序接受这样的服务质量就可以使用UDP。

5—16 在停止等待协议中如果不使用编号是否可行?为什么? 答:分组和确认分组都必须进行编号,才能明确哪个分则得到了确认。

5—17 在停止等待协议中,如果收到重复的报文段时不予理睬(即悄悄地丢弃它而其他什么也没做)是否可行?试举出具体的例子说明理由。 答:

收到重复帧不确认相当于确认丢失

5—18 假定在运输层使用停止等待协议。发送发在发送报文段M0后再设定的时间内未收到确认,于是重传M0,但M0又迟迟不能到达接收方。不久,发送方收到了迟到的对M0的确认,于是发送下一个报文段M1,不久就收到了对M1的确认。接着发送方发送新的报文段M0,但这个新的M0在传送过程中丢失了。正巧,一开始就滞留在网络中的M0现在到达接收方。接收方无法分辨M0是旧的。于是收下M0,并发送确认。显然,接收方后来收到的M0是重复的,协议失败了。

试画出类似于图5-9所示的双方交换报文段的过程。

答:

旧的M0被当成新的M0。

5—19 试证明:当用n比特进行分组的编号时,若接收到窗口等于1(即只能按序接收分组),当仅在发送窗口不超过2n-1时,连接ARQ协议才能正确运行。窗口单位是分组。

解:见课后答案。

5—20 在连续ARQ协议中,若发送窗口等于7,则发送端在开始时可连续发送7个分组。因此,在每一分组发送后,都要置一个超时计时器。现在计算机里只有一个硬时钟。设这7个分组发出的时间分别为t0,t1…t6,且tout都一样大。试问如何实现这7个超时计时器(这叫软件时钟法)? 解:见课后答案。

5—21 假定使用连续ARQ协议中,发送窗口大小事3,而序列范围[0,15],而传输媒体保证在接收方能够按序收到分组。在某时刻,接收方,下一个期望收到序号是5. 试问:

(1) 在发送方的发送窗口中可能有出现的序号组合有哪几种?

(2) 接收方已经发送出去的、但在网络中(即还未到达发送方)的确认分组可能有哪些?说明这些确认分组是用来确认哪些序号的分组。

5—22 主机A向主机B发送一个很长的文件,其长度为L字节。假定TCP使用的MSS有1460字节。

(1) 在TCP的序号不重复使用的条件下,L的最大值是多少?

(2) 假定使用上面计算出文件长度,而运输层、网络层和数据链路层所使用的首部开销共66字节,链路的数据率为10Mb/s,试求这个文件所需的最短发送时间。 解:(1)L_max的最大值是2^32=4GB,G=2^30.

(2) 满载分片数Q={L_max/MSS}取整=2941758发送的总报文数

N=Q*(MSS+66)+{(L_max-Q*MSS)+66}=4489122708+682=4489123390

总字节数是N=4489123390字节,发送4489123390字节需时间为:N*8/(10*10^6)=3591.3秒,即59.85分,约1小时。

5—23 主机A向主机B连续发送了两个TCP报文段,其序号分别为70和100。试问:

(1) 第一个报文段携带了多少个字节的数据?

(2) 主机B收到第一个报文段后发回的确认中的确认号应当是多少?

(3) 如果主机B收到第二个报文段后发回的确认中的确认号是180,试问A发送的第二个报文段中的数据有多少字节?

(4) 如果A发送的第一个报文段丢失了,但第二个报文段到达了B。B在第二个报文段到达后向A发送确认。试问这个确认号应为多少?

解:(1)第一个报文段的数据序号是70到99,共30字节的数据。 (2)确认号应为100. (3)80字节。 (4)70

5—24 一个TCP连接下面使用256kb/s的链路,其端到端时延为128ms。经测试,发现吞吐量只有120kb/s。试问发送窗口W是多少?(提示:可以有两种答案,取决于接收等发出确认的时机)。 解:

来回路程的时延等于256ms(=128ms×2).设窗口值为X(注意:以字节为单位),假

定一次最大发送量等于窗口值,且发射时间等于256ms,那么,每发送一次都得停下来期待 再次得到下一窗口的确认,以得到新的发送许可.这样,发射时间等于停止等待应答的时间, 结果,测到的平均吞吐率就等于发送速率的一半,即 8X÷(256×1000)=256×0.001 X=8192

所以,窗口值为8192.

5—25 为什么在TCP首部中要把TCP端口号放入最开始的4个字节?

答:在ICMP的差错报文中要包含IP首部后面的8个字节的内容,而这里面有TCP首部中的源端口和目的端口。当TCP收到ICMP差错报文时需要用这两个端口来确定是哪条连接出了差错。

5—26 为什么在TCP首部中有一个首部长度字段,而UDP的首部中就没有这个这个字段?

答:TCP首部除固定长度部分外,还有选项,因此TCP首部长度是可变的。UDP首部长度是固定的。

5—27 一个TCP报文段的数据部分最多为多少个字节?为什么?如果用户要传送的数据的字节长度超过TCP报文字段中的序号字段可能编出的最大序号,问还能否用TCP来传送?

答:65495字节,此数据部分加上TCP首部的20字节,再加上IP首部的20字节,正好是IP数据报的最大长度65535.(当然,若IP首部包含了选择,则IP首部长度超过 20字节,这时TCP报文段的数据部分的长度将小于65495字节。)

数据的字节长度超过TCP报文段中的序号字段可能编出的最大序号,通过循环使用序号,仍能用TCP来传送。

5—28 主机A向主机B发送TCP报文段,首部中的源端口是m而目的端口是n。当B向A发送回信时,其TCP报文段的首部中源端口和目的端口分别是什么? 答:分别是n和m。

5—29 在使用TCP传送数据时,如果有一个确认报文段丢失了,也不一定会引起与该确认报文段对应的数据的重传。试说明理由。 答:还未重传就收到了对更高序号的确认。

5—30 设TCP使用的最大窗口为65535字节,而传输信道不产生差错,带宽也不受限制。若报文段的平均往返时延为20ms,问所能得到的最大吞吐量是多少?

答:在发送时延可忽略的情况下,最大数据率=最大窗口*8/平均往返时间=26.2Mb/s。

5—31 通信信道带宽为1Gb/s,端到端时延为10ms。TCP的发送窗口为65535字节。试问:可能达到的最大吞吐量是多少?信道的利用率是多少?

答:

L=65536×8+40×8=524600 C=109b/s L/C=0.0005246s Td=10×10-3s 0.02104864

Throughput=L/(L/C+2×Td)=524600/0.0205246=25.5Mb/s Efficiency=(L/C)//(L/C+2×D)=0.0255

最大吞吐量为25.5Mb/s。信道利用率为25.5/1000=2.55%

5—32 什么是Karn算法?在TCP的重传机制中,若不采用Karn算法,而是在收到确认时都认为是对重传报文段的确认,那么由此得出的往返时延样本和重传时间都会偏小。试问:重传时间最后会减小到什么程度?

答:Karn算法:在计算平均往返时延RTT时,只要报文段重传了,就不采用其往返时延样本。

设新往返时延样本Ti

RTT(1)=a*RTT(i-1)+(1-a)*T(i); RTT^(i)=a* RTT(i-1)+(1-a)*T(i)/2; RTT(1)=a*0+(1-a)*T(1)= (1-a)*T(1); RTT^(1)=a*0+(1-a)*T(1)/2= RTT(1)/2 RTT(2)= a*RTT(1)+(1-a)*T(2); RTT^(2)= a*RTT(1)+(1-a)*T(2)/2; = a*RTT(1)/2+(1-a)*T(2)/2= RTT(2)/2

RTO=beta*RTT,在统计意义上,重传时间最后会减小到使用karn算法的1/2.

5—33 假定TCP在开始建立连接时,发送方设定超时重传时间是RTO=6s。 (1)当发送方接到对方的连接确认报文段时,测量出RTT样本值为1.5s。试计算现在的RTO值。

(2)当发送方发送数据报文段并接收到确认时,测量出RTT样本值为2.5s。试计算现在的RTO值。

答:

(1)据RFC2988建议,RTO=RTTs+4*RTTd。其中RTTd是RTTs的偏差加权均值。 初次测量时,RTTd(1)= RTT(1)/2;

后续测量中,RTTd(i)=(1-Beta)* RTTd(i-1)+Beta*{ RTTs- RTT(i)}; Beta=1/4

依题意,RTT(1)样本值为1.5秒,则

RTTs(1)=RTT(1)=1.5s RTTd(1)=RTT(1)/2=0.75s RTO(1)=RTTs(1)+4RTTd(1)=1.5+4*0.75=4.5(s) (2)RTT(2)=2.5 RTTs(1)=1.5s RTTd(1)=0.75s RTTd(2)=(1-Beta)* RTTd(1)+Beta*{ RTTs(1)- RT (2)}=0.75*3/4+{1.5-2.5}/4=13/16

RTO(2)=RTTs(1)+4RTTd(2)=1.5+4*13/16=4.75s

5—34 已知第一次测得TCP的往返时延的当前值是30 ms。现在收到了三个接连的确认报文段,它们比相应的数据报文段的发送时间分别滞后的时间是:26ms,32ms和24ms。设α=0.9。试计算每一次的新的加权平均往返时间值RTTs。讨论所得出的结果。 答:a=0.1, RTTO=30 RTT1=RTTO*(1-a) +26*a=29.6 RTT2=RTT1*a+32(1-a)=29.84 RTT3=RTT2*a+24(1-a)=29.256

三次算出加权平均往返时间分别为29.6,29.84和29.256ms。 可以看出,RTT的样本值变化多达20%时,加权平均往返

5—35 试计算一个包括5段链路的运输连接的单程端到端时延。5段链路程中有2段是卫星链路,有3段是广域网链路。每条卫星链路又由上行链路和下行链路两部分组成。可以取这两部分的传播时延之和为250ms。每一个广域网的范围为1500km,其传播时延可按150000km/s来计算。各数据链路速率为48kb/s,帧长为960位。 答:5段链路的传播时延=250*2+(1500/150000)*3*1000=530ms 5段链路的发送时延=960/(48*1000)*5*1000=100ms 所以5段链路单程端到端时延=530+100=630ms

5—36 重复5-35题,但假定其中的一个陆地上的广域网的传输时延为150ms。 答:760ms

5—37 在TCP的拥塞控制中,什么是慢开始、拥塞避免、快重传和快恢复算法?这里每一种算法各起什么作用? “乘法减小”和“加法增大”各用在什么情况下? 答:慢开始:

在主机刚刚开始发送报文段时可先将拥塞窗口cwnd设置为一个最大报文段MSS的数值。在每收到一个对新的报文段的确认后,将拥塞窗口增加至多一个MSS的数值。用这样的方法逐步增大发送端的拥塞窗口cwnd,可以分组注入到网络的速率更加合理。 拥塞避免:

当拥塞窗口值大于慢开始门限时,停止使用慢开始算法而改用拥塞避免算法。拥塞避免算法使发送的拥塞窗口每经过一个往返时延RTT就增加一个MSS的大小。 快重传算法规定:

发送端只要一连收到三个重复的ACK即可断定有分组丢失了,就应该立即重传丢手的报文段而不必继续等待为该报文段设置的重传计时器的超时。 快恢复算法:

当发送端收到连续三个重复的ACK时,就重新设置慢开始门限 ssthresh 与慢开始不同之处是拥塞窗口 cwnd 不是设置为 1,而是设置为ssthresh 若收到的重复的AVK为n个(n>3),则将cwnd设置为ssthresh 若发送窗口值还容许发送报文段,就按拥塞避免算法继续发送报文段。 若收到了确认新的报文段的ACK,就将cwnd缩小到ssthresh 乘法减小:

是指不论在慢开始阶段还是拥塞避免阶段,只要出现一次超时(即出现一次网络拥塞),就把慢开始门限值 ssthresh 设置为当前的拥塞窗口值乘以 0.5。

当网络频繁出现拥塞时,ssthresh 值就下降得很快,以大大减少注入到网络中的分组数。 加法增大:

是指执行拥塞避免算法后,在收到对所有报文段的确认后(即经过一个往返时间),就把拥塞窗口 cwnd增加一个 MSS 大小,使拥塞窗口缓慢增大,以防止网络过早出现拥塞。

5—38 设TCP的ssthresh的初始值为8(单位为报文段)。当拥塞窗口上升到12时网络发生了超时,TCP使用慢开始和拥塞避免。试分别求出第1次到第15次传输的各拥塞窗口大小。你能说明拥塞控制窗口每一次变化的原因吗?

答:拥塞窗口大小分别为:1,2,4,8,9,10,11,12,1,2,4,6,7,8,9.

5—39 TCP的拥塞窗口cwnd大小与传输轮次n的关系如下所示: cwnd 1 n

1

2 2

4 3

8 4

16 32 33 34 35 36 37 38 39 5

6

7

8

9

10 11 12 13

2

4

8

cwnd 40 41 42 21 22 23 24 25 26 1 n

14 15 16 17 18 19 20 21 22 23 24 25 26

(1)试画出如图5-25所示的拥塞窗口与传输轮次的关系曲线。 (2)指明TCP工作在慢开始阶段的时间间隔。 (3)指明TCP工作在拥塞避免阶段的时间间隔。

(4)在第16轮次和第22轮次之后发送方是通过收到三个重复的确认还是通过超市检测到丢失了报文段?

(5)在第1轮次,第18轮次和第24轮次发送时,门限ssthresh分别被设置为多大? (6)在第几轮次发送出第70个报文段?

(7)假定在第26轮次之后收到了三个重复的确认,因而检测出了报文段的丢失,那么拥塞窗口cwnd和门限ssthresh应设置为多大?

答:(1)拥塞窗口与传输轮次的关系曲线如图所示(课本后答案): (2)慢开始时间间隔:【1,6】和【23,26】 (3)拥塞避免时间间隔:【6,16】和【17,22】

(4)在第16轮次之后发送方通过收到三个重复的确认检测到丢失的报文段。在第22轮次之后发送方是通过超时检测到丢失的报文段。 (5)在第1轮次发送时,门限ssthresh被设置为32

在第18轮次发送时,门限ssthresh被设置为发生拥塞时的一半,即21. 在第24轮次发送时,门限ssthresh是第18轮次发送时设置的21 (6)第70报文段在第7轮次发送出。

(7)拥塞窗口cwnd和门限ssthresh应设置为8的一半,即4.

5—40 TCP在进行流量控制时是以分组的丢失作为产生拥塞的标志。有没有不是因拥塞而引起的分组丢失的情况?如有,请举出三种情况。 答:

当Ip数据报在传输过程中需要分片,但其中的一个数据报未能及时到达终点,而终点组装IP数据报已超时,因而只能丢失该数据报;IP数据报已经到达终点,但终点的缓存没有足够的空间存放此数据报;数据报在转发过程中经过一个局域网的网桥,但网桥在转发该数据报的帧没有足够的差错空间而只好丢弃。

5—41 用TCP传送512字节的数据。设窗口为100字节,而TCP报文段每次也是传送100字节的数据。再设发送端和接收端的起始序号分别选为100和200,试画出类似于图5-31的工作示意图。从连接建立阶段到连接释放都要画上。

5—42 在图5-32中所示的连接释放过程中,主机B能否先不发送ACK=x+1的确认? (因为后面要发送的连接释放报文段中仍有ACK=x+1这一信息) 答:

如果B不再发送数据了,是可以把两个报文段合并成为一个,即只发送FIN+ACK报文段。但如果B还有数据报要发送,而且要发送一段时间,那就不行,因为A迟迟收不到确认,就会以为刚才发送的FIN报文段丢失了,就超时重传这个FIN报文段,浪费网络资源。

5—43 在图(5-33)中,在什么情况下会发生从状态LISTEN到状态SYN_SENT,以及从状态SYN_ENT到状态SYN_RCVD的变迁?

答:当A和B都作为客户,即同时主动打开TCP连接。这时的每一方的状态变迁都是:CLOSED----àSYN-SENT---àSYN-RCVD--àESTABLISHED

5—44 试以具体例子说明为什么一个运输连接可以有多种方式释放。可以设两个互相通信的用户分别连接在网络的两结点上。

答:设A,B建立了运输连接。协议应考虑一下实际可能性: A或B故障,应设计超时机制,使对方退出,不至于死锁; A主动退出,B被动退出 B主动退出,A被动退出

5—45 解释为什么突然释放运输连接就可能会丢失用户数据,而使用TCP的连接释放方法就可保证不丢失数据。

答:

当主机1和主机2之间连接建立后,主机1发送了一个TCP数据段并正确抵达主机2,接着主机1发送另一个TCP数据段,这次很不幸,主机2在收到第二个TCP数据段之前发出了释放连接请求,如果就这样突然释放连接,显然主机1发送的第二个TCP报文段会丢失。 而使用TCP的连接释放方法,主机2发出了释放连接的请求,那么即使收到主机1的确认后,只会释放主机2到主机1方向的连接,即主机2不再向主机1发送数据,而仍然可接受主机1发来的数据,所以可保证不丢失数据。

5—46 试用具体例子说明为什么在运输连接建立时要使用三次握手。说明如不这样做可能会出现什么情况。 答:

3次握手完成两个重要的功能,既要双方做好发送数据的准备工作(双方都知道彼此已准备好),也要允许双方就初始序列号进行协商,这个序列号在握手过程中被发送和确认。 假定B给A发送一个连接请求分组,A收到了这个分组,并发送了确认应答分组。按照两次握手的协定,A认为连接已经成功地建立了,可以开始发送数据分组。可是,B在A的应答分组在传输中被丢失的情况下,将不知道A是否已准备好,不知道A建议什么样的序列号,B甚至怀疑A是否收到自己的连接请求分组,在这种情况下,B认为连接还未建立成功,将忽略A发来的任何数据分组,只等待连接确认应答分组。

而A发出的分组超时后,重复发送同样的分组。这样就形成了死锁。

5—47 一个客户向服务器请求建立TCP连接。客户在TCP连接建立的三次握手中的最后一个报文段中捎带上一些数据,请求服务器发送一个长度为L字节的文件。假定: (1)客户和服务器之间的数据传输速率是R字节/秒,客户与服务器之间的往返时间是RTT(固定值)。

(2)服务器发送的TCP报文段的长度都是M字节,而发送窗口大小是nM字节。 (3)所有传送的报文段都不会出错(无重传),客户收到服务器发来的报文段后就及时发送确认。

(4)所有的协议首部开销都可忽略,所有确认报文段和连接建立阶段的报文段的长度都可忽略(即忽略这些报文段的发送时间)。

试证明,从客户开始发起连接建立到接收服务器发送的整个文件多需的时间T是:

T=2RTT+L/R 当nM>R(RTT)+M 或 T=2RTT+L/R+(K-1)[M/R+RTT-nM/R] 当nM