复习题
R1.
- 浏览器:HTTP
- 对等文件传输:FTP
- 网络安全协议:SSH
- 电子邮件:SMTP
- 远程连接:Telnet
R2.
网络体系结构:将通信过程组织成层,例如五层结构。
应用程序结构:客户-服务器体系结构,或P2P体系结构。
R3.
发起通信的进程是客户端;
等待被联系的进程是服务器;
R4.
不。对于P2P文件共享而言,下载文件的为客户进程,上传文件的为服务器进程。
一个进程既可能是客户端,也可能是服务器。
R5.
目标主机的IP地址和目标进程的端口号(套接字)
R6.
我选择UDP。使用UDP,事务可以在一次往返时间(RTT)中完成——客户端将事务请求发送到UDP套接字,服务器将回复发送回客户端UDP套接字。对于TCP,至少需要两个RTTs:一个用于建立TCP连接,另一个用于客户机发送请求,以及服务器发送回复。
R7.
秒杀系统。时间非常敏感,而且订单信息不能出问题。
R8.
运输服务 | TCP | UDP |
---|---|---|
可靠数据传输 | √ | × |
恒定吞吐量 | × | × |
定时 | × | × |
安全保障 | × | × |
R9.
SSL运行在应用层。
研制者必须在应用编码过程进行SSL加密。
R10.
两个通信实体在发送数据之前,需要通过握手来确认一些控制信息,如发送窗口大小、接收窗口等。
R11.
使用这三个协议的应用程序是数据敏感的,所以需要可靠的传输协议。
R12.
当新的客户访问网站时,生成cookie并返回给客户,给浏览器保管,同时服务器也记录一份cookie。等这个客户再次访问或买东西时,浏览器带着这个cookie将请求发送到服务器,服务器再在对应的cookie上添加商品记录。(存储数据结构可用Map<Cookie, List<Order>>
来模拟)
R13.
客户发出请求后,先在Web缓存器中寻找有无请求对象,如果有,就直接作为响应返回给客户,这样的话客户就不用直接请求初始服务器了;相同的,如果Web缓存器里没有请求对象,那就向初始服务器请求该对象,由于上一步就解决了一大批请求,初始服务器链路的流量竞争也缓解了许多。所以Web缓存器能减少请求的所有对象的时延。
R14.
略
R15.
SMS:短信息服务
脸书,微信,Snapchat都使用不同的协议做为SMS。
R16.
Alice使用浏览器作为用户代理,基于HTTP协议将邮件发送到Alice的邮件服务器中。然后Alice的邮件服务器使用SMTP协议将邮件发送到Bob的邮件服务器中。Bob使用POP3协议从他的邮件服务器中下载目标邮件到主机。
R17.
略
R18.
对于下载和删除,用户从POP服务器检索邮件后,邮件将被删除。这给四处奔波的用户带来了一个问题,他们可能通过不同主机(办公室PC、家庭PC等)来访问邮件。
在下载和保留中,邮件不会在被用户检索后被删除。这也很不方便,因为每次用户从新机器检索存储的邮件时,所有未删除的邮件都将转移到新机器 (包括非常旧的邮件)。
R19.
RR(Resource Record):资源记录。DNS储存的资源记录
可以。包含邮件主机名的RR有MX
类型和A
类型,MX
记录邮件服务器的简写全名映射,A
记录邮件服务器的全名和IP地址映射。
R20.
可以;不行;
R21.
答主看不懂题目,下面是原版答案:
It is not necessary that Bob will also provide chunks to Alice. Alice has to be in the
top 4 neighbors of Bob for Bob to send out chunks to her; this might not occur even if
Alice provides chunks to Bob throughout a 30-second interval.
R22.
她会从那个邻居那里请求块。
R23.
P2P文件共享系统中的覆盖网络由参与文件共享系统的节点和节点之间的逻辑链路组成。如果a和B之间有半永久的TCP连接,则从节点a到节点B有一个逻辑链接(图论中的“边”)。一个覆盖网络不包括路由器。
R24.
CDN的两种安置原则:
- 深入(Enter Deep)
在遍及全球的ISP中部署服务器集群来深入到ISP接入网中。目标是靠近端用户,通过减少端用户到CDN集群之间的链路长度和路由器数量,从而改善用户请求时延。但管理、维护这一堆集群的成本很高。 - 邀请做客(Bring Home)
这种方式被许多CDN公司采用。通过在少量关键位置建造大型集群来邀请周边ISP访问。不是将集群放在ISP中,通常放在IXP中(因特网交换点)。这种设计维护和管理开销更低,但牺牲了部分端用户的体验。
R25.
还有负载均衡、昼夜问题、热点流量、ISP收费等因素。
R26.
对于UDP服务器,没有欢迎套接字,来自不同客户机的所有数据都通过这个套接字进入服务器。对于TCP服务器,有一个欢迎套接字,每当客户机启动到服务器的连接时,就会创建一个新的连接套接字。因此,要支持 n n n 个同时连接,服务器需要 n + 1 n+1 n+1 个套接字。
R27.
对于TCP应用程序,一旦执行客户机,它就会尝试启动与服务器的TCP连接。如果TCP服务器没有运行,那么客户机将无法握手,当然也无法建立连接。对于UDP应用程序,客户端在执行时不会立即启动连接(或尝试与UDP服务器通信)
习题
P1.
a) 错。文本和图像是通过不同的URL请求的,应该对应4个请求报文。
b) 对。HTTP提供持续连接。
c) 错。非持续连接时,客户发送一个请求报文,服务器做出相应后就关闭了。
d) 错。相应报文中的Date指的是服务器将相应内容封装好准备发送的时间。(接近于客户受到相应的时间)
e) 错。304类型的响应就是空报文体,告诉客户:访问的资源是最新的。
P2.
SMS(短消息服务)是一种允许通过蜂窝网络在移动电话之间发送和接收文本消息的技术。一条短信可以包含140字节的数据,它支持国际语言。消息的最大大小可以是160个7位字符、140个8位字符或70个16位字符。短信通过ss# 7协议的移动应用部分(MAP)实现,短信协议由3GPP TS 23.040和3GPP TS 23.041定义。此外,MMS(多媒体消息服务)扩展了原始文本消息的功能,并支持发送照片、较长的文本消息和其他内容。
iMessage是苹果公司开发的一种即时通讯服务。iMessage支持通过移动数据网络或WiFi发送到iOS设备和mac上的文本、照片、音频或视频。苹果的iMessage是基于专有的二进制协议APNs(苹果推送通知服务)。
WhatsApp Messenger是一种即时通讯服务,支持许多移动平台,如iOS、Android、手机和黑莓。WhatsApp用户可以通过蜂窝数据网络或WiFi相互发送无限制的图片、文本、音频或视频。WhatsApp使用XMPP协议(可扩展消息传递和到场协议)。
iMessage和WhatsApp与SMS不同,因为它们使用数据计划(data plan)来发送消息,并且在TCP/IP网络上工作,但SMS使用的是我们从无线运营商购买的短信计划。此外,iMessage和WhatsApp支持发送照片、视频、文件等,而原来的短信只能发送文本信息。最后,iMessage和WhatsApp可以通过WiFi运行,但SMS不能。
P3.
需要应用层的DNS协议来找到对应的IP地址,DNS寻址过程中会使用运输层的UDP协议来传递信息。当客户获取到IP地址后,就会基于HTTP协议访问目的IP的资源,这个过程运输层使用的TCP协议。
P4.
a) http://gaia.cs.umass.edu/cs453/index.html
b) HTTP/1.1
c) 持续连接
d) 通过该报文无法识别
e) Mozilla / 5.0;服务器需要浏览器类型信息来将同一对象的不同版本发送给不同类型的浏览器
P5.
a) 可以;Tue, 07 Mar 2008 12:39:45GMT
b) Sat, 10 Dec2005 18:27:46GMT
c) 3874bit
d) 前五个字节:<!doc
;同意持续连接
P6.
HTTP1.1规范(使用Google翻译食用更佳)
a) 都可以。客户端或服务器在连接头字段中标识Connection: close
,即可通知对方关闭连接。
b) HTTP不提供任何的加密服务。
c) 使用持久连接的客户端应该限制它们与给定服务器的同时连接的数量。单用户客户端不应该与任何服务器或代理保持超过2个连接。
d) 是的。当服务器决定关闭“空闲”连接时,客户机可能已经开始发送新的请求。从服务器的角度来看,连接在空闲时被关闭,但从客户端的角度来看,请求正在进行。
P7.
经过 R T T 1 + R T T 2 + ⋯ + R T T n R T T_{1}+R T T_{2}+\cdots+R T T_{n} RTT1+RTT2+⋯+RTTn时间获取到了目标IP地址后,就需要消耗 R T T 0 RTT_0 RTT0的时间来建立TCP握手连接,然后又需要 R T T 0 RTT_0 RTT0的时间来建立TCP数据连接。
对象传输时间为0,所以一共耗时: 2 R T T o + R T T 1 + R T T 2 + ⋯ + R T T n 2 R T T_{o}+R T T_{1}+R T T_{2}+\cdots+R T T_{n} 2RTTo+RTT1+RTT2+⋯+RTTn
P8.
注意!这里是引用了8个小对象,不是只请求8个小对象,所以原来的页面要算进去的。
a) R T T 1 + ⋯ + R T T n + 2 R T T o + 8 ⋅ 2 R T T o R T T_{1}+\cdots+R T T_{n}+2 R T T_{o}+8 \cdot 2 R T T_{o} R