第五章习题解答

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第五章:运输层

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

答:(1)首先,从通信和信息处理的角度来看,运输层向它上面的应用层提供通信服务,并为高层用户屏蔽了下层通信通信子网的细节。

其次,运输层的另一个重要功能就是复用和分用功能。

第三,运输层对传输的报文提供了差错检测机制。

第四,根据应用的不同,运输层还采用不同的运输层协议提供不同的服务。

(2)网络层为主机之间提供逻辑通信,而运输层为应用进程之间提供端到端的逻辑通信,如下图所示:

(3)虽然无连接的运输服务和无连接的网络服务十分相似,但是运输层依然有它存在的必要性,因为:事实上,网络层是通信子网的一个组成部分,假设网络服务质量不可靠,频繁地丢失分组,网络层系统崩溃或不停的发出网络重置,这将发生什么情况呢?因为用户不能对通信子网加

以控制,所以无法采用更好的通信处理机来解决网络层服务质量低劣的问题,更不可能通过改进数据链路层纠错能力来改善低层的条件。因此,解决这一问题的唯一可行的办法就是在网络层的上面增加一层,即运输层。运输层的存在使得运输服务比网络服务更可靠,分组的丢失、残缺,甚至网络重置都可以被运输层检测到,并采用相应的补救措施,而且由于运输服务独立于网络服务,故可以采用一个标准的原语集提供运输服务。

2、网络层提供数据报或虚电路服务对上面的运输层有何影响?

答:如果下层的网络十分可靠,例如提供虚电路服务,那么用于完成数据传输的运输层协议就不需要做太多的工作。当网络层仅使用提供不可靠的数据报服务时,运输层就需要使用一些复杂的协议,以便能够提供更优质的服务。

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

答:在网络层IP提供的是无连接的服务,但是在运输层TCP提供的服务是面向连接的。但是最终,该应用程序使用的还是面向连接的传输服务。

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

答:答案见辅导材料P155页。

5、试举例说明有些应用程序愿意采用不可靠的UDP,而不愿意采用可靠的TCP。

答:

6、接收端收到有差错的UDP用户数据报时应如何处理?

答:简单的进行丢弃,其他的什么也不做。

7、如果应用程序愿意使用UDP完成可靠的传输,这可能吗?请说明理由?

答:不可能。因为UDP是无连接的,只提供尽最大可能的交付。并且UDP没有拥塞控制,当很多主机同时向网络发送高速率的数据时,网络就会产生拥塞,结果会致使大家都收不到正确的数据。

8、为什么说UDP是面向报文的,而TCP是面向字节流的?

答:在发送方,UDP对应用层送交下来的报文既不合并,也不拆分,按照原样发送,即UDP一次发送一个报文;在接收方,UDP对IP层交上来的UDP数据报,在除去首部后就原封不动的交付给上层的应用进程,即,UDP一次交付一个报文。

TCP是面向字节流的:TCP仅把应用程序交下来的数据看成一连串的无结构的字节流,并不知道所传输的字节流的含义,也不保证接收方应用程序收到的数据块和发送方发送的数据块的大小是否具有对应关系。即:TCP可能把应用层交下来的数据块分成几个部分发送出去,也可能把几个数据块合并成一个发送出去。在接收端也同样。

9、端口的作用是什么?为什么端口号要划分为三种?

答:端口的作用:

发送端:让应用层的各种应用进程都能将其数据通过端口向下交付给运输层,以便组成TPDU;

接收端:运输层收到IP层交上来的数据后,要根据目的端口号决定应当通过哪个端口将数据交付给应用层中的相应的进程。

从这个意义上讲,端口是用来标志应用层的进程。

把端口号分成三种不同的类型是为了方便不同的应用程序使用: 熟知端口号(系统端口号):其数值标号为0~1023,把它们指派给TCP/IP最重要的一些应用程序使用,让所有的用户都知道。当一种新型的应用程序出现后,IANA必须要为它指派一个熟知端口号,否者因特网上的其它应用程序就无法和它进行通信。

登记端口号:是为了给没有熟知端口号的应用程序使用的。

客户端使用的端口号:这类端口号仅在客户进程运行时才动态选择的,是留给客户进程选择暂时使用的。

10、试说明运输层中伪首部的作用。

答:伪首部既不向上也不向下传送,仅仅是为了计算检验和。

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

答:虽然都是数据报,但是应用进程不能跳过UDP直接交给IP层,因为IP数据报只能找到目的主机而无法找到目的进程。

UDP提供了IP 所不能提供的复用和分用功能;UDP可以对数据报做包括数据段在内的差错检测,而IP只对其数据报的头部做差错检测。

12、一个应用程序用了UDP,到了IP层之后把数据报再分为4个数据报片发送出去,结果是前两个数据报片丢失,后两个到达了目的站,过

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

答:不行。重传时,IP数据报的标识字段会有另一个标识符。仅当标识符相同的数据报片才能组成一个数据报。前两个数据报片的标识符和后两个数据报片的标识符不同,所以不能组成一个IP数据报。

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

答:以太网帧的数据字段的最大长度是1500字节。UDP数据报的首部是8个字节,所以整个UDP数据报的长度是8200字节。假定IP数据报的首部没有选项,即首部长度是20字节。而IP数据报的片偏移量指出了一个片在原IP数据分组中的相对位置,单位是8字节。

通过以上分析,可将UDP数据报分为6个数据报片,前5个的长度是1480字节(IP数据报是1500字节),最后一个的长度是800字节(IP数据报是820字节),片偏移量分别是:0,185,370,555,740,925.

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

答:把UDP数据报的首部各字段如下(每个字段都是2字节):

相关文档
最新文档