第六章 网络应用协议
6-1 应用层协议的主要功能是什么?应用层协议与网络应用程序的关系是什么?应用层协议与运输层提供的服务能力有何关系?网络体系结构与应用程序体系结构之间有什么区别? ??主要功能:定义了运行在不同端系统上的应用程序进程之间如何交互传递报文,是为某一类应用进程提供通信服务的规则。 应用层协议只是网络应用程序中与其他端系统中应用层实体交互的那个部分。 ??应用层协议与运输层提供的服务能力关系是:应用层运行在运输层之上,运输层为应用层中的不同应用进程提供不同类型的多路复用/分解的运输服务。 ??网络体系结构是指各个层次及其协议的集合,某个网络的体系结构是确定的。包括应用程序的应用层通常位于其最高层。应用程序的体系结构由应用程序研发者设计,不同的网络应用可能采用不同的体系结构,如客户/服务器体系结构和对等方到对等方体系结构。
6-2 与具有客户/服务器体系结构的系统相比,具有P2P体系结构的系统有哪些重要特点?对于一个P2P文件共享应用,“一个通信会话不存在客户机端和服务器端的概念”的说法正确吗?为什么? ??与客户/服务器体系结构相比,P2P体系结构具有以下的重要特点:一是规模效益,结点数目越多,系统效率越高。二是动态性,对等结点频繁加入或者离开社区,这将导致系统一直处于重组的动荡中。三是异构性,对等方在物理特征和行为方面存在差异。四是自扩展性,随着用户数的增多,系统能力增强。 ??对于一个P2P文件共享应用,“一个通信会话不存在客户端和服务器端的概念”的说法不正确。尽管在P2P系统中,某结点可能同时具有客户和服务器两种功能,但在一次具体会话中,仍会有请求服务的客户和提供服务的服务器。
6-3 运行在一台主机上的一个进程,使用什么信息来标识运行在另一台主机的进程? ??IP地址标识目的主机, 目的主机套接字端口号标识进程。
6-4 域名系统的主要功能是什么?域名系统中的根服务器、顶级域名服务器、权威域名服务器和本地域名服务器之间有何关系? ??域名系统功能:将域名解析为主机能识别的IP地址。 ??因特网上的域名服务器系统是按照域名的层次来安排的。每一个域名服务器都只对域名体系中的一部分进行管辖。当一个本地域名服务器不能立即回答某个主机的查询时,该本地域名服务器就以DNS客户的身份向某一个根域名服务器查询。若根域名服务器有被查询主机的信息,就发送 DNS回答报文给本地域名服务器,然后本地域名服务器再回答发起查询的主机。但当根域名服务器没有被查询的主机的信息时,它一定知道某个保存有被查询的主机名字映射的授权域名服务器的IP地址。通常根域名服务器用来管辖顶级域。根域名服务器并不直接对顶级域下面所属的所有的域名进行转换,但它一定能够找到下面的所有二级域名的域名服务器。每一个主机都必须在权威域名服务器处注册登记。通常,一个主机的权威域名服务器就是它的主机 ISP的一个域名服务器。权威域名服务器总是能够将其管辖的主机名转换为该主机的IP地址。因特网允许各个单位根据本单位的具体情况将本域名划分为若干个域名服务器管辖区。一般就在各管辖区中设置相应的权威域名服务器。
6-5 如果在本地域名服务器、根服务器和顶级域名服务器都无法找到某公司的域名,请阐述解析该公司域名的过程。域名服务器中的高速缓存能够减少域名系统的查找次数吗? ??主机要经过如下过程:(1)DNS查询报文发向本地DNS服务器,它将查询转发到权威DNS服务器;(2)DNS权威服务器将查询转发到顶级域名服务器;(3)顶级域名服务器将查询转发到根域名服务器;(4)根域名服务器在com顶级域名服务器解析该公司的权威服务器;(5)由权威服务器就可以解析到该公司的本地域名服务器。 ??域名服务器中的高速缓存可以通过缓存前面查询到的IP地址和域名对信息,从而不必每次都经历上述那样遍历整个域名系统的查询,进而大大减少域名系统查找次数和查找时间。
6-6 考虑一个HTTP客户机要以给定的URL获取一个web页面。开始时并不知道该HTTP服务器的IP地址。在这种情况下,除了HTTP 外,还需要什么运输层和应用层协议? ??应用层协议:DNS 和 HTTP; ??运输层协议:UDP用于DNS;TCP用于HTTP。
6-7 假定在浏览器中点击一条超链获得Web页面,相关联的URL的IP地址没有缓存在本地主机上,因此必须进行 DNS查询以获得IP地址。如果主机从DNS得到IP地址之前,已经访问了n个DNS服务器;相继产生的RTT依次为RTT1,RTT2,…,RTTn。进一步假定与链路相关的Web页面只包含一个对象,即由少量的HTML文本组成。令RTT0表示本地主机和包含对象的服务器之间的RTT值,且该对象传送时间为0,从客户机点击该链接到它接收到该对象需要多长时间? ??获得IP地址的总时间为RTT1+ RTT2…+ RTTn。 ??由于需要 RTT0的时间来建立TCP连接,另外RTT0的时间来接收对象…总的时间为:2RTT0+ RTT1 + RTT2·…+ RTTn。
6-8 假定在同一服务器上某HTML文件引用了3个非常小的对象。忽略发送时间,在下列情况下需要多长时间: a. 没有并行TCP连接的非持续HTTP? b. 有并行连接的非持续HTTP? c. 有流水线的持续HTTP? ??如果主机从DNS得到IP地址之前,已经访问了n个DNS服务器;相继产生的RTT依次为RTT1、…、RTTn,令 RTT0表示本地主机和包含对象的服务器之间的RTT值。当在同一服务器上某HTML文件引用了3个非常小的对象,设用户与服务器之间的往返时延为RTT,传输HTML基本文件连同3个小对象的时间为t1: ??a. 获取IP地址的总时间为:RTT1+ RTT2+…+ RTTn。 一旦获取了IP地址,需要RTT0的时间去建立HTTP连接,然后需要2RTT0的时间去请求和获取对象。因此总的反应时间为:2RTT0+ RTT1+ RTT2+…+ RTTn+t1。 使用没有并行TCP连接且用非持续HTTP,对每个对象都要打开一个HTTP连接,即需要时间:8RTT0+ RTT1+RTT2+ …+ RTTn+3t1。 ??b. 使用有并行连接的非持续HTTP,在获取IP地址的总时间后,先打开基本HTML文件,需时2RTT0;然后并行打开3个连接,需时2RTT0+t1,因此共需时4RTT0 +t1。因此总的反应时间为:4RTT0+ RTT1+ RTT2+ …+RTTn+ t1。 ??c. 使用有流水线的持续HTTP时,在获取IP地址的总时间后,先建立连接后再顺序传输3个小对象,即2RTT0+3t1。因此总的反应时间为: 2RTT0+ RTT1+ RTT2+ …+ RTTn+3 t1。
6-9 假设从服务器向客户传送一个Web 贝面,该页面含有一个基个HTML文件、8个JPEG图形和5个视频文件,这14个对象位于同一台服务器上,并且视频文件比JPEG和 HTML文件都大得多。请设计一种同时使用持续HTTP和非持续HTTP的方案,使传输时间较短并且连接数量较少。 ??对于持续HTTP连接方案,比较适合用于同一个TCP连接连续传送传输多个较小的对象,而对于非持续HTTP连接方案,以并行的方式同时传输多个较大对象更为合适。 ??由于JPEG文件较小,下载一个JPEG 文件的时间为
t
J
t_J
tJ?,下载HTML文件的时间为
t
H
T
M
L
t_{HTML}
tHTML?,采用持续连接对这9个Web 对象件进行下载。 ??5个视频文件较大,采用非持续连接进行并行下载,所需最长时间为2RTT+max(
t
V
t_V
tV?)。 因此,该下载该网页所需的时间大致为:2RTT+max { 8*
t
J
t_J
tJ?+
t
H
T
M
L
t_{HTML}
tHTML?,2RTT+max(
t
V
t_V
tV?)} ,需要的连接数目为6。
6-10 一个电子商务网站需要保留每一个客户的购买记录并以此数据为基础来统计购买商品之间的关联关系。描述如何使用cookie来完成这些功能? ??用户首次访问电子商务网站时, 需输入用户信息,web网站会产生一个该用户的识别码, 将其插入网站后端数据库的一个表项中,而后web网站将特定的用户信息作为cookie响应给用户。此后用户每访问该网站都会先发送cookie, 网站根据cookie提供的信息便知道每个用户的购买记录等信息。
6-11 在图6-12所示的用cookie 跟踪用户状态的例子中,如果此时用户张红又同时在亚马逊(amazon)公司网站上购买了图书,该网站为她分配了识别码5678。试说明当张红同时访问阿里巴巴和亚马逊网站时,这些识别码不会被误用。 ??这些识别码是不会被误用。因为在用户端系统中保留有一个cookie文件,用户的浏览器管理本用户在不同网站中的识别码。当用户与某网站连接时,HTTP是通过TCP连接与该网站连接,并在 HTTP请求报文中填写对应该网站cookie首部行的识别码,如 Set-cookie:1678。因此,不会误用网站的识别码的。
6-12 在图6-13中,有一个园区网和因特网相连。假定对象的平均长度为5M比特,从这个园区网的浏览器到初始服务器的平均请求率是每秒2个请求。还假定从访问链路的因特网一侧的路由器转发一个HTTP请求开始,到接收到其响应的平均时间是2秒。将总的平均响应时间建模为平均访问时延(即从因特网路由器到园区网路由器的时延)和平均因特网时延之和。对于平均访问时延,使用
?
/
(
1
?
?
β
)
?/(1-?β)
?/(1??β),式中?是跨越访问链路发送一个对象所需的平均时间,β是对象对该访问链路的平均到达率。 a. 求出总的响应时间。 b. 现在假定在这个园区网中安装了一个缓存器。假定命中率为0.4,求出总的响应时间。 ??a. 跨越速率为R的链路,发送一个长度为L的对象的时间为:L/R。因此:A= (5MB)/100Mbps=0.4s,流量强度为:Axβ=0.4x2=0.8,因此平均访问时间为:A(1-△β)=0.4/(1-0.8)=2s。因此,总的访问时间为:2s+2s=4s。 ??b. 假如在园区内安装了缓存器,命中率为40%,因此链路的流量强度将减少40%。因此,平均的访问时间为:0.4/ ( 1-0.8x0.6)=0.78s。因此,总响应时间为:0.78+2s=2.78s。平均的访问时间为:0.4x0sec+0.6×2.78sec = 1.67s。
6-13 假定一个超链是从一个web文档链接到另一个web文档,由于该web文档上出现了差错,使得超链指向一个无效的计算机名字。这时浏览器将向用户报告什么内容? ??Not Found(请求的文档没有在该服务器上发现)。
6-14 阅读有关FTP的RFC959。列出这个RFC中所支持的所有FTP客户机命令。 ??USER;PASS;ACCT;CWD;CDUP;SMNT;REIN;QUIT;PORT;PASV;TYPE;STRU。
6-15 文件传送协议FTP的主要工作过程是怎样的?主进程和从属进程各起什么作用? ??FTP采用客户/服务器模式工作,在 TCP之上传送文件。当FTP客户进程向远程主机的FTP服务器进程发起一个FTP会话前,FTP客户机首先在21号端口向FTP服务器发起一个控制连接。FTP服务器从该连接上收到文件传输命令后,就在20号端口上发起一个到客户的数据连接。FTP在该数据连接上传送一个文件,并在传输完成后关闭该链接。如果用户还想传送另外一个文件,FTP则可打开另一个数据连接进行。FTP控制连接则贯穿于用户会话期间,而会话中的每个文件传输则都需要建立一个新的数据连接。 ??其中主进程用于控制,从属进程用于传输文件。
6-16 简述电子邮件的最主要的组件。这些组件之间进行交互使用了哪些协议?用户代理的作用是什么?如果没有用户代理是否可行? ??电子邮件系统最重要的具有3个组件是:用户代理(UA)、邮件服务器和应用协议如SMTP和 POP3等。用户代理是用户与电子邮件系统的接口,用户代理又称为电子邮件客户软件,它是运行在用户端系统的一个软件程序。邮件服务器包括发送方邮件服务器和接收方邮件服务器。 ??发送方用户代理向发送方邮件服务器,以及发送方邮件服务器向接收方邮件服务器发送邮件使用的是 SMTP协议。接收方用户代理从接收方邮件服务器读取邮件则使用了POP3或是互联网邮件访问协议IMAP。 ??如果用户熟悉电子邮件应用层命令和规则,可以直接通过telnet直接操作邮件过程,此时没有用户代理也可以。
6-17 电子邮件的信封和内容在邮件传输过程中各起什么作用?请简述电子邮件地址格式各部分的意思。 ??电子邮件根据信封中的信息传递邮件,内容是邮件发送方传达给接收方的信息。 ??电子邮件的地址格式:收件人邮箱名@邮箱所在服务器域名。收件人邮箱名为用户自定义字符串,标识用户在对应邮件服务器中的邮箱名,邮箱所在服务器域名用来标识邮箱服务器类型和位置等信息。
6-18 试述邮局协议POP的工作过程,它为何采用“拉”工作模式?在电子邮件中,为什么必须使用POP和SMTP这两种协议?从用户的观点看,POP3中下载并删除模式和下载并保留模式有什么区别吗? ??读取邮件是接收方从邮件服务器中“拉”邮件的过程,SMTP是一种“推”的工作模式,即发送方将邮件送到邮件服务器。由于工作模式不同,因此SMTP协议用来发送电子邮件,而POP协议用来读取电子邮件。 ??下载并删除模式在用户从POP服务器检索(取回)消息后就删除消息,对于移动终端用户来说及其不方便,他们无法在不同的终端上访问邮件(办公pc、家用pc等)。而下载并保留模式在用户检索消息后不会删除消息,但是对于某些使用新机器的用户来说,检索存储的信息时以前旧的信息也会保留下来(没有时效的无用信息)。
6-19 POP与IAMP、HTTP有何区别?假定用户A使用一个基于Web的电子邮件账户向B 发报文,而用户B使用POP3从他的邮件服务器访问自己的邮件。讨论该报文是如何从A 的主机到达B的主机的。列出在两台主机间移动该报文时所使用的各种应用层协议。 ??POP是适用于C/S结构的脱机模型的电子邮件协议,目前已发展到第三版,称POP3。POP3允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时删除保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议的接收邮件服务器,用来接收电子邮件。 ??HTTP协议是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。 ??IMAP是与POP3对应的另一种协议,为美国斯坦福大学在1986年开始研发的多重邮箱电子邮件系统。它能够从邮件服务器上获取有关邮件的信息或直接收取邮件,具有高性能和可扩展性的优点。 ??邮件传送过程:A的浏览器(用户代理)通过HTTP协议连接到A的邮箱服务器,并将报文传送到该服务器上。然后A的邮件服务器连接到B的邮件服务器并把邮件报文传送到B的邮件服务器中。最后B使用它的用户代理(主机), 通过POP3协议访问自己的邮件服务器, 并以下载保存或下载删除的方式获得A发来的邮件报文。 ??从A的用户代理到A的邮件服务器使用HTTP协议,从A的邮件服务器到B的邮件服务器使用SMTP协议,从B的邮件服务器到B的用户代理使用POP3协议。
6-20 引入MIME有何作用?MIME与SMTP的关系如何? ??为了解决SMTP只支持7比特ASCII码传输的问题,在使用SMTP传输邮件之前,将二进制数据转换为ASCII编码数据,并在使用SMTP传输后再将ASCII码数据还原回二进制数据。 ??为了使电子邮件系统能够用SMTP传输非ASCII 数据的内容,发送方用户代理必须在报文首部中包括多用途互联网邮件扩展(MIME)首部行。这样,用户代理在用 SMTP发送邮件前,先会将二进制文件转换为ASCII 文件。并且在接收方,在提交给接收方用户代理前,再将该ASCII文件转换为二进制文件。
6-21 电子邮件系统在运输层使用TCP传送邮件。为什么还会有发送的电子邮件对方没有收到的情况出现?请解释原因。 ??电子邮件的传输过程包括:(1)从发送方用户代理通过SMTP向发送方邮件服务器发送报文(2)发送方邮件服务器通过SMTP向接收方邮件服务器发送报文(3)接收方用户代理用POP3或IMAP从接收方邮件服务器读取邮件等3个环节。 ??尽管每个应用协议都是基于TCP的,可以保证邮件每次端到端传输的可靠性,但并不能保证在发送邮件服务器或接收邮件服务器因服务器故障或缓存溢出等原因导致的邮件丢失;邮件服务器未工作,邮件发送不出去;电子邮件本身并没有端到端的可靠性保障机制。
6-22 为什么HTTP、FTP、SMTP、POP3及IAMP都运行在TCP之上,而不是UDP之上? ??传输的过程中要保证数据的完整性及可靠交付,因此选择TCP。这些应用层协议在进行传输时均有含首部信息,如果不能保证可靠交付,那么就无法得到期望的结果(数据不完整服务器不响应、控制信息错误等问题)。
6-23 多媒体应用大体上可以分为几类?这几类各有什么特点? ??多媒体网路应用分为三类:流式存储音频和视频、流式实况音频和视频以及实时交互音频和视频。 ??这几种多媒体应用都具有时延敏感、丢包容忍的特点。此外,流式存储音频和视频应用中,客户根据需求请求存储在服务器上的被压缩的音频和视频文件。多媒体的内容已经预先录制,并以存储媒体的形式存储在服务器上。流式实况音频和视频应用中,多媒体内容不再存储,而是来源于实况电视和无线电广播。在实时交互音频和视频应用中,允许人们使用音频/视频互相实时通信,这类应用对时延及其时延抖动要求最高。
6-24 在目前的因特网中,为了缓解多媒体应用的QoS问题,通常采用的是应用层解决方案。在应用层解决方案中,有哪些重要的技术? ??在因特网上,所有通信都是基于IP的尽力而为的传送服务,无法确保多媒体应用的QoS,因此只能采用应用层解决方案。其中包括:采用UDP而不是TCP作为运输层协议,避免拥塞控制的影响;设置客户缓冲区有效地改善时延抖动产生的影响;服务器调用适当副本以匹配客户带宽;使用丢包恢复技术,应对丢包;采用内容分发网络技术,以分散流量传输。
6-25 TCP接收缓冲区和媒体播放器的客户机缓冲区是同一个缓冲区吗?如果不是,它们是如何交互的? ??不是同一个缓冲区。 ??客户机应用要从TCP接收缓冲区中读入数据,并把数据放置入客户端缓冲区内。如果客户端缓冲区内容装满了,这时,应用将停止从TCP接收缓冲区读出数据,直到在客户端缓冲区中开放出某些空间。
6-26 在6.6.3节因特网电话的例子中,设h是添加到每个块首部的字节总数,包括UDP和IP首部。 a. 假设每20s发出一个IP数据报,求该应用端产生的数据报的传输速率,以每秒比特为单位。 b. 当使用RTP时,h的典型值是什么? ??a. 在20ms内发送160+h字节的数据,因此平均的传输速率为:(160+h)×8/20kbps= (64+0.4h) kbps。 ??b. 当使用RTP时,因为IP首部为20字节,UDP首部为8字节,RTP首部为12字节,因此h=40字节。
6-27 在CDN中DNS的作用是什么?必须修改DNS来支持CDN吗?CDN必须向DNS提供什么样的信息? ??当某用户向初始服务器请求内容时,CDN系统提供了一种机制迅速定位用户的位置,并让用户重定位到最靠近该用户的那台CDN服务器或性能最优的CDN服务器。基于DNS重定位功能模块能够通过解析用户的IP地址,在它为整个因特网构造的服务器内部映射图上查找到离用户最近或最合适的CDN服务器,并将新的URL返回给用户,而后用户基于此直接向这台CDN服务器请求服务。并不是必须DNS来支持CDN,基于任播的网络测量方案也可以实现。
6-28 当一台主机请求一个多媒体对象时,CDN提供了比该主机直接从远程初始主机请求该对象更糟糕的性能,这种情况可能吗? ??一切皆有可能(李宁)。如服务器故障或请求的服务器内容丢失、缓存溢出等。
6-29 假设向因特网发送了两个携带不同UDP报文段的IP数据报,它们的目的IP地址同为B,目的端口号同为T。但第一个数据报的源IP地址为A1,源端口为P1;第二个数据报的源IP地址为A2,源端口号为P2。假设这两个数据报都到达了目的地址,它们会被同一个套接字接收吗?为什么? ??不一定哦。一个端口号只能被一个程序占用,但是一个程序可以创建多个套接字。如果两个数据报同属于一个服务集中(不严谨个人理解,如请求相同的网页等),那么有可能交付给同一个套接字,但也有可能处理完一个之后创建新的套接字服务另一个(还是请求网页服务为例,接收服务的套接字可能是同一个,但与客户机连接使用专用套接字)。
6-30 假设用户A、B和C要使用SIP和RTP来进行音频会议呼叫。若不考虑SIP报文所需的套接字,它们之间发送和接收RTP分组只用一个UDP套接字够吗?如果只用一个,那么用户A的SIP客户机如何区分RTP分组是来自用户B还是来自用户C? ??UDP是面向无连接的,只需要有一个套接字用于接收和发送, 并且可以接收来自不同主机的UDP报文,依靠首部信息区分不同分组。
6-31 在BitTorrent中,假定用户A向用户B提供一个30秒间隔的文件块吞吐量。对等方B必须进行回报,并在相同的间隔中向用户A提供文件块吗?为什么? ??不是必须。首先对等方之间的传输选取的是为自己提供最大下载速率的前4个对等方,即使A向B提供了数据块,若B不在为A提供最大上载者的前4个列表中,就不提供。对等方列表是会更新变化的。
6-32 考虑一个新对等方A加入BitTorrent而不处理任何文件块。由于没有任何块, 它不能成为对其他任何对等方的前4位上载者,因为它没有什么可上载。那么用户A将怎样得到其第一个文件块呢? ??A在空手加入洪流时,追踪器会随机地从参与对等方集合中选择一个对等方子集,并将子集中对等方的IP地址发送给A。 A持有这张列表并尝试与列表中所有的对等方建立并行的TCP连接, 并选择前4位上载者, 向它们请求块(最稀缺优先原则)。当A从对等方下载了越来越多的块,同时也就可以为其他对等方上载更多的块。
6-33 覆盖网络是什么?它包括路由器吗?在覆盖网络中边是什么?查询洪泛网络是如何生成和维护的? ??P2P社区中对等方的关系抽象为一种逻辑网络,称为覆盖网络。 ??如果对等方x与对等方y有一条逻辑连接,就认为在覆盖网络中结点x和y之间有一条边。一个主机向它的邻居发出一个查询报文,它的邻居又给它的邻居发出一个查询,即这样查询下去,直到查询到所需信息然后返回一个报文。
6-34 具有集中式索引的即时消息以何种方式成为客户/服务器和 P2P 体系结构的混合结构体? ??由一台大型服务器充当目录服务器来提供索引服务。具有集中式索引的P2P文件共享系统具有P2P与客户/服务器混合体系结构。即文件分发过程是P2P模式的,而文件定位却是客户/服务器的。
6-35 今天大多数即时消息系统使用集中式索引来定位用户。考虑使用查询洪泛的覆盖网络(如Gnutella)来定位用户的方案。描述该方案是如何实现的,讨论这种设计优点与缺点。 ??比如用户A向用户B发送消息,则A向超级对等方发出请求。然后A的超级对等方寻找B的超级对等方。然后B的超级对等方寻找B,这样就建立了一个连接,他们之间便可以发送即时消息。优点:这样寻找用户速度快,而且也不用消耗用户太多的资源。缺点:如果超级对等方发生瘫痪,则整个网络将无法使用。
6-36 假定在一个覆盖网络中有N个活跃的对等方,每对对等方有一条活跃的TCP连接。此外,假定该TCP连接总共通过M个路由器。在对应的覆盖网络中,有多少结点和边? ??N个对等方就有N个结点,有N(N-1)/2条边。
6-37 在6.7.1节中讨论了一个使用查询洪泛的覆盖网络,并详细地描述了一个新的对等方是如何加入覆盖网络的。试探讨当一个对等方离开覆盖网络时发生的情况。假定每个参与对等方维护同时至多4个不同的对等方的TCP连接。假定对等方X与其他对等方只要有5个TCP连接,就会离开该覆盖网络。 a. 先考虑正常离开的情况。即对等方X明确地关闭了它的应用,因此正常地关闭了它的5个TCP连接。先前连接的5个对等方将分别采取哪些动作? b. 现在假定对等方X突然与因特网中断,而没有通知它的5个邻居关闭其TCP连接。这会发生什么情况? ??a. 连接的对等方收到X关闭应用的报文,关闭它与X的连接,同时从维持连接的列表中将X的纪录删除。 ??b. 连接的对等方在一定时间没有收到X的报文时会产生TCP连接的中断并认为X无法连接,因此关闭与X的连接,并从连接列表中删除该纪录。
6-38 设计一种层次覆盖网络,它具有普通对等方、超级对等方和超超级对等方组长。 a. 假设每个超超级对等方组长大约负责200个超级对等方,每个超级对等方大约负责200个普通对等方。对于一个有400万对等方的网络,需要设多少个超超级对等方? b. 每个超级对等方可能存储什么信息?每个超超级对等方存储什么信息?在这样的3层设计中,应怎样执行搜索? ??a. 每一个超级组长大约负责200的2次方= 40000个对等点。因此,需要大约100个超级组长来支持4百万的对等点。 ??b. 每个组长将储存其子对等方共享的所有文件的元数据;一个超级组长将储存其子组长所储存的所有元数据。一个普通对等方首先将发送一个query 到它的组长。这个组长将以一个匹配回应,并有可能将这个query发送给它的超级组长。超级组长将回应一个匹配信息(通过覆盖网络)。超级组长还有可能进一步将这个query 发送给其他的超级组长。
6-39 回顾BitTorrent的工作过程。其中有哪些重要组件?有哪些重要协议?跟踪器起了什么作用?对等方列表起了什么作用?对等方之间交换彼此的块信息起了什么作用? ??BitTorrent重要组件主要包括:跟踪当前活动对等方的跟踪器、需要交换信息的对等方和存放种子文件的Web服务器。 ??BitTorrent中主要的协议包括:运输层的TCP协议,应用层的HTTP和 BT协议。 ??对等方列表记录了当前已知的参与共享某文件的所有活动结点的IP地址和具有的数据块信息。 ??通过对等方之间交换彼此的块信息,能够知道哪个对等方具有自己所需的数据块,并使用本地最少优先算法请求那些系统中副本数量最少的文件块,并向疏通对等方优化提供自己所需的数据块。
6-40 参照图6-37,路由器“unicom2”的接口数量为“230”的BER编码是什么? ??编码过程: ??先对“unicom2”进行编码:第一个字节的值为4,表示该数据项类型为OCTET STRING;第二个字节包含了OCTET STRING的长度,设为7;第三个字节为“unicom2”的ASCII码表示。 ??对整数“230”进行编码:第一个字节为2,表示该数据项类型为INTEGER;第二个字节包含INTEGER长度,此时设为2;第三个字节包含了整数“230”的ASCII表示“e6”。 ??即编码为47unicom222e6。
|