第二章
1 请举例说明“客户机”与“服务器”的相对性(P55) 对于P2P文件共享时
主机在下载文件的时候起到客户机的作用 在上传文件的时起到的是服务器的作用
在给定的一对进程之间的通信会话中,发起通信(即在该会话开始时与其他进程联系)的进程被标示为客户机,在会话开始时等待练习的进程是服务器。
(服务器:
总是打开的主机
有固定的,“周知”的IP地址 可扩展为服务器场(主机集群) 客户机:
与服务器通信 可以间歇地连接
可以具有动态的IP地址 彼此不直接地通信
基于客户机/服务器体系结构的应用服务(google、yahoo mail、Facebook、土豆)往往是应用基础设施密集的,而且互联和带宽费用很高)
2 “应用层”和“应用层协议”有什么区别?(P32,60,61)
应用层是因特网协议分层的一部分,是网络应用程序及其应用层协议存留的地方。它包含了很多应用层协议。
应用层协议定义了运行在不同端系统上的应用程序进程如何相互传递报文。它是应用层的一部分。
3 为什么说QQ是客户机/服务器和P2P体系结构的混合体?(P62) 1、两个用户之间聊天是P2P体系结构
2、当用户在线时,向中心服务器注册其IP地址是客户机/服务器结构 用户联系中心服务器以发现伙伴的IP地址是客户机/服务器结构
4 请分别解释HTTP连接的非持久和持久两种方式。(P64,65)
1、非持久 HTTP连接是指客户机在向服务器发送请求时,客户机和服务器为每一个请求建立和维护一个TCP连接,同时客户机和服务器都分配TCP的缓冲区和变量,当一个请求结束后该连接关闭。
2、在持久连接的情况下,服务器在发送响应报文后保持该TCP连接打开,在相同的客户机与服务器的后续请求和响应报文可通过相同的连接进行传送。
5 HTTP 响应报文中Date首部行和Last-Modified首部行有什么区别?(P67) Date首部行表示服务器产生并发送响应报文的时间,不是对象创建或最后修改的时间,而是服务器从它的文件系统中检索到该对象、插入到响应报文并发送该响应报文的时间。
(Server首部行和User-agent首部行对应)
Last-Modified首部行表示对象创建或最后修改的时间,对既可能在客户机也可能在网络缓存服务器上的对象缓存来说非常重要。
6 简述HTTP中cookie的工作原理(P68,69) Cookie技术有4个组成部分
1)在HTTP响应报文中的cookie 首部行 2)在HTTP请求报文中的cookie 首部行
3)保持在用户主机中的 cookie 文件并由用户浏览器管理 4)位于Web站点的后端数据库 工作原理:客户机向服务器发送请求,当请求报文到达服务器时该服务器产生一个唯一识别码,并以此作为索引在它的的后端数据库中产生一个表项。接下来服务器用一个包含Set-cookie:首部行的HTTP响应报文对服务器进行响应,其中Set-cookie:首部行含有识别码。当服务器收到该HTTP响应报文时,它会看到Set-cookie:首部。该客户机在他管理的特定cookie文件中添加一行,其中包含该服务器的主机名和Set-cookie:首部中的识别码。当客户机继续访问服务器时,每发出一个请求,服务器就会从它的cookie文件中获取该客户机的识别码,并放到HTTP请求报文中含有识别码的cookie首部行中。在这种情况下,服务器可以跟踪该客户机在此服务器的活动。一段时间过后,当客户机再次访问该服务器时,客户机在其请求报文中继续使用该Cookie:首部行。
7 WEB缓存有什么好处?缓存怎么证实它的对象是最新的?(P72) 1 减小客户机请求的响应时间 减小机构访问链路的流量
因特网密集安装缓存使得内容提供商能有效地交付内容 2 缓存可以用条件GET方法证实它的对象是最新的。 其方法是:客户机向服务器发送一个请求报文时,服务器向缓存发送被请求对象的响应报文,服务器再将对象对象转发到客户机的同时,也将对象保存在本地缓存器中。一段时间后,另一个客户机通过缓存器请求同一个对象,该对象仍在这个缓存器中。该缓存器通过发送一个GET,执行最新检验,如果If-modified-since:首部行的值同先前服务器发送的响应报文中Last-modified:首部行的值相同。服务器向缓存器发送GET响应报文,告诉缓存对象是最新的未修改。
8请结合HTTP和FTP简述控制信息的“带外”传送和“带内”传送的含义。(P73)
HTTP协议是在传输文件的TCP连接中发送请求和响应首部行的,所以是“带内”传送
FTP使用两个并行的TCP连接来传输文件,一个是控制连接,一个是数据连接。控制连接用于在两个主机之间传输控制信息,数据连接用于实际传输一个文件。FTP使用一个分离的控制连接,所以FTP的控制信息是“带外”的。
9为何DNS不采用集中式的设计,而是采用分布式的设计?(P87) 集中式设计会出现以下问题:
单点故障:如果该DNS服务器崩溃,整个因特网将随之瘫痪! 通信容量:单个DNS服务器不得不处理所有的DNS查询
远距离的集中式数据库:单个DNS服务器不能与所有查询客户机都接近,所以会出现严重的时延
维护困难:单个DNS服务器将不得不为所有的因特网主机保留记录。这不仅将
是这个中央数据库非常庞大,而且它还不得不为解决每个新添加的主机而频繁更新。
所以为了更好的处理上面提到的问题,DNS采用分布式设计。
10 DNS的一种简单设计方式是在因特网上只使用一个DNS服务器,这种集中式设计会有什么问题?
单点故障:如果该DNS服务器崩溃,整个因特网将随之瘫痪! (P87)
通信容量:单个DNS服务器不得不处理所有的DNS查询
远距离的集中式数据库:单个DNS服务器不能与所有查询客户机都接近,所以会出现严重的时延
维护困难:单个DNS服务器将不得不为所有的因特网主机保留记录。这不仅将
是这个中央数据库非常庞大,而且它还不得不为解决每个新添加的主机而频繁更新。
11 DNS提供了一些什么服务?(P85) 1、将主机名转换成到IP地址
2、 主机别名 有着复杂主机名的主机可以拥有一个或者多个别名,主机别名比主机规范名更容易记。应用程序可以调用DNS来获得主机别名对应的规范主机名以及主机的IP地址
邮件服务器别名 电子邮件应用程序调用DNS,对提供的邮件服务器别名进行解析,以获得该主机的规范主机名极其IP地址
负载分配
对于繁忙的站点,往往一个IP地址集合对应于同一个规范主机名。DNS数据库中存储着这些地址集合,当客户机请求时,服务器用不同顺序的IP地址集合回答
12 DNS怎么实现在冗余的服务器之间进行负载分配的?
繁忙的站点被冗余分布在多台服务器上,每台服务器均运行在不同的端系统上,有着不同的IP地址。对于这些冗余的WEB服务器,一个IP地址集合对应一个规范主机名。DNS数据库中存储着这些IP地址集合。当客户机为映射到这个IP地址集合的名字发送一个DNS请求时,该服务器用包含全部这些地址的报文进行回答,但在每个回答中旋转这些地址排放的顺序。因为客户机通常总是向IP地址排在最前面的服务器发送HTTP请求报文,所以DNS就在所有这些冗余的Web服务器之间旋转分配负载。
13学校要注册一个域名scut.edu.cn,那么在edu.cn这个域的权威DNS服务器中需要加进哪两条重要的资源记录?(P89) (scut.edu.cn,dns.scut.edu.cn,NS) (dns.scut.edu.cn,IP,A)
14写出你所知道的P2P文件共享中内容定位的几种方式(P98-101) 集中式索引 查询洪泛 层次覆盖
15简述BT文件分发的下载策略和上载策略(P97)
下载哪些数据块
在任何时刻,每个对等方都具有来自某文件块的子集,且不同的对等方具有不同的文件块子集。
对等方周期性的询问邻近对等方所具有的块列表
并根据该对等方没有的块从他邻居中确定最稀罕的块,并优先请求它们 最稀罕优先:均衡每个块在洪流中的拷贝数量 上传数据的策略: 上传数据给优先邻居
优先邻居:当前能够以最高的速率供给她数据的4个邻居 每10秒重新计算,并可能修改优先邻居
每 30秒随机选择一个对等方,并开始与其进行交换数据块
如果彼此速率足够高,它们会将对方放入其前4位列表中,并继续与对方进行
第三章
? 为什么说运输层网络层服务即依赖又强化网络层服务
运输层只工作在端系统,中间路由器不处理和识别运输层的任何信息 计算机网络可以有多种运输层协议和不同的服务模型
运输层协议所能提供的服务受到底层网络协议的服务模型的限制
在网络层不提供相应服务的情况下,运输层能提供某些服务如可靠和安全 计算机网络第三章ppt第5页
? 请简述UDP和TCP提供的服务
UDP-“尽力而为”IP的服务的简单扩展,增加了两种最低限度的运输层服务 多路复用、分解(进程间交付) 差错检测 ——ppt第7页 UDP:
1、只做了运输协议能够做的最少工作,“没有不必要的,” 只有“基本要素” 的互联网传输协议
2、除了多路复用、分解和差错检测几乎没有对IP增加别的东西 3、“尽力而为”服务,UDP段可能: 丢包
对应用程序交付失序 4、无连接:
在UDP发送方和接收方之间无握手
每个UDP段的处理独立于其他段, 段之间没有顺序关系 ——ppt第22页
可靠的、按序的交付 (TCP) 复用/分解
可靠数据传输:通过使用序号、确认和定时器 流量控制 拥塞控制 ??——ppt第8页
? 什么是套接字?结合传输层的知识怎么标识一个UDP和TCP套接字? 套接字:从网络向进程传递数据和从进程向网络传递数据的门户(书上语句) 理解:从网络层向运输层或从运输层向网络层传递数据的端口号信息确认 UDP套接字是由一个包含目的IP地址和目的端口号组成的二元组来标志的; TCP套接字是通过四元组:源IP地址,源端口号,目的IP地址,目的端口号来标志的。
? 有那些常用传输层的可靠传输机制?它们分别起什么作用?这些机制可以