课后习题和问题

复习题2.1节

R1.列出5种非专用的因特网应用及它们所使用的应用层协议。

The Web: HTTP;

file transfer: FTP;

remote login: Telnet;

e-mail: SMTP;
 BitTorrent file sharing: BitTorrent protocol(比特率协议)

R2.网络体系结构与应用程序体系结构之间有什么区别?

网络体系结构是指通信系统的整体设计(例如,五层互联网架构)

应用架构由应用程序开发者的设计和规定的广泛结构应用(例如,客户端 - 服务器或P2P)

R3.对两进程之间的通信会话而言,哪个进程是客户,哪个进程是服务器?

发起通信会话的方法在客户端;该等待联络的进程在是服务器。

R4.对一个P2P文件共享应用,你同意“一个通信会话不存在客户端和服务器端的概念”的说法吗?为什么?

不是,在一个P2P文件共享应用程序,接收文件的一端通常是客户端,发送文件的一端通常是服务器。

R5.运行在一台主机上的一个进程,使用什么信息来标识运行在另一台主机上的进程?

  目的主机的IP地址和套接字中的端口号的目标进程。

R6.假定你想尽快地处理从远程客户到服务器的事务,你将使用UDP还是TCP?为什么?

你会使用UDP。使用UDP,交易可以在一个往返完成时间(RTT)内 - 客户端发送交易请求到一个UDP   套接字,服务器发送的答复返回给客户端的UDP套接字。

如果用TCP,至少有两个往返时间的需要 - 一个建立TCP连接,另一个客户端发送请求,并为服务器   发回的答复。

R7.参见图2-4,我们看到在该图中所列出的应用程序没有一个同时既要求无数据丢失又要求定时的。你能设想一个既要求无数据丢失又高度时间敏感的应用程序吗?

其中一个例子是远程的文字处理,例如,与谷歌文档。然而,由于谷歌文档运行在互联网(使用     TCP),定时保证不设置。

R8.列出一个运输协议能够提供的4种宽泛类型的服务。对于每种服务类型,指出是UDP还是TCP(或这两种协议)提供这样的服务?

a) 可靠的数据传输

TCP提供客户端和服务器之间的可靠的字节流,但UDP没有。

b)在保证吞吐量一定值将保持

都不是

c)该数据将在指定的时间量内交付的保证

都不是

D)保密性(通过加密)

都不是

R9.前面讲过TCP能用SSL来强化,以提供进程到进程的安全性服务,包括加密。SSL运行在运输层还是应用层?如果某应用程序研制者想要用SSL来强化UDP,该研制者应当做些什么工作?

SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。

TLS与SSL在传输层对网络连接进行加密。

SSL的在应用层进行操作。SSL套接字接受来自未加密的数据应用层,将其加密,然后将其传递到TCP套接字。如果应用程序开发人员希望TCP与SSL得到提升,她先后为包括在应用SSL代码。

时间: 2024-10-09 13:21:53

课后习题和问题的相关文章

问题 1018: C语言程序设计教程(第三版)课后习题6.8

/******************************************************************** @file Main.cpp @date 2017-05-12 @author Zoro_Tiger @brief 问题 1018: C语言程序设计教程(第三版)课后习题6.8 http://www.dotcpp.com/oj/problem1018.html *************************************************

问题 1041: C语言程序设计教程(第三版)课后习题9.8

/******************************************************************** @file Main.cpp @date 2017-05-28 22:02:55 @author Zoro_Tiger @brief 问题 1041: C语言程序设计教程(第三版)课后习题9.8 http://www.dotcpp.com/oj/problem1041.html ****************************************

问题 1040: C语言程序设计教程(第三版)课后习题9.6

/******************************************************************** @file Main.cpp @date 2017-05-28 21:57:02 @author Zoro_Tiger @brief 问题 1040: C语言程序设计教程(第三版)课后习题9.6 http://www.dotcpp.com/oj/problem1040.html ****************************************

问题 1042: C语言程序设计教程(第三版)课后习题9.10

/******************************************************************** @file Main.cpp @date 2017-05-28 22:10:10 @author Zoro_Tiger @brief 问题 1042: C语言程序设计教程(第三版)课后习题9.10 http://www.dotcpp.com/oj/problem1042.html ***************************************

问题 1023: C语言程序设计教程(第三版)课后习题7.2

/******************************************************************** @file Main.cpp @date 2017-05-20 22:05:39 @author Zoro_Tiger @brief 问题 1023: C语言程序设计教程(第三版)课后习题7.2 http://www.dotcpp.com/oj/problem1023.html ****************************************

问题 1008: C语言程序设计教程(第三版)课后习题5.6

/******************************************************************** @file Main.cpp @date 2017-5-8 @author Zoro_Tiger @brief 问题 1008: C语言程序设计教程(第三版)课后习题5.6 http://www.dotcpp.com/oj/problem1008.html ***************************************************

问题 1006: C语言程序设计教程(第三版)课后习题5.4

/******************************************************************** @file Main.cpp @date 2017-05-07 @author Zoro_Tiger @brief 问题 1006: C语言程序设计教程(第三版)课后习题5.4 http://www.dotcpp.com/oj/problem1006.html *************************************************

计算机组成原理_第四版课后习题答案(完整版)

计算机组成原理_第四版课后习题答案(完整版) ?第一章 1.?比较数字计算机和模拟计算机的特点. 解:模拟计算机的特点:数值由连续量来表示,运算过程是连续的: 数字计算机的特点:数值由数字量(离散量)来表示,运算按位进行. 两者主要区别见P1?表1.1. 2.?数字计算机如何分类?分类的依据是什么? 解:分类: 数字计算机分为专用计算机和通用计算机.通用计算机又分为巨型机.大型机. 中型机.小型机.微型机和单片机六类. 分类依据:专用和通用是根据计算机的效率.速度.价格.运行的经济性和适应性来划

【算法竞赛入门经典】【第三章】课后习题(第一部分)

课后习题第三波来了,到第三章之后代码之类的稍微变长了一些,所以我把这一章的答案分为几部分.这一章重点是字符串的处理,对于字符串问题,通常只要细心就没有问题了,下面不多说了直接上详解. 习题3-1 分数统计(stat) 任务1:这个比较简单就直接上代码了: #include <stdlib.h> #include <stdio.h> #include <string.h> #define MAXN 100 + 10 int cmp(const void*a,const v

《七周七语言:理解多种编程范型》のruby课后习题答案

本系列是<七周七语言>的课后习题答案.这本书不拘泥于语法细节,而是横向比较各种编程语言(非热门)之间的编程范式. 是本对编程觉悟能有所帮助的好书,这里就不多做介绍了,感兴趣的同学不妨去看一下. 不得不说,Ruby的风格很黑客. 1. 打印字符串"Hello, world." puts "Hello, world." 2. 在字符串“Hello, Ruby.”中,找出"Ruby."所在下标. puts "Hello, Ruby