2.1节

R1:

  • web冲浪——HTTP协议
  • 电子邮件——SMTP协议
  • 因特网电话——SIP协议
  • 流式多媒体——HTTP协议
  • 文件传输——FTP协议

R2:

  • 网络体系结构指的是因特网的五层网络协议。
  • 应用层序体系结构通常是由开发者自己定义的。
  • 他们的区别在于,从应用程序研发者的角度看,网络体系结构是固定的,并为应用程序提供了特定的服务集合。另一方面,应用程序体系结构由应用程序研发者设计,规定了如何在各种端系统上组织该应用程序。
  • 应用程序体系架构可以通过应用网络体系架构中的内容从而使应用拥有网络传输功能。

R3:

  • 书本定义:在一对进程之间的通信会话场景中,发起通信(即在该会话开始时发起与其他进程的联系)的进程被标识为客户,在会话开始时等待联系的进程是服务器。

R4:

  • 我不同意。P2P文件共享应用虽然能够相互传输文件,看起来每个用户即可以当客户,也可以当服务器。但是具体落实到一次通信会话中,当对等方A请求对等方B发送一个特定的文件时,在这个特定的通信会话中对等方A时客户,而对等方B时服务器。

R5:

  • 通过IP地址标识另一台主机,通过另一台主机上的目的端口号来标识另一台主机上的程序。

R6:

  • 我会使用UDP,因为TCP是面向连接的,在传输之前需要进行三次握手,而UDP是无连接的,可直接选定合适速率向外传送。

R7:

  • 火箭发射的程序。

R8:

  • 可靠数据传输——TCP
  • 吞吐量——TCP
  • 定时——TCP
  • 安全性——SSL

R9:

  • SSL运行在应用层。
  • SSL在TCP的握手阶段完成了双方的身份确认,生成密钥等操作。如果研制者要用SSL来强化UDP,因为UDP是面向无连接的,所以SSL首先要解决在UDP传输中的身份确认问题。

R10:

  • 使客户端和服务器端建立起连接,能够开始传递信息。

R11:

  • 首先要知道TCP几个重要特性:面向连接,保证数据完整性,保证数据有序性,有拥塞控制功能,而上述功能UDP都没有。
  • 再来看看HTTP,用户通过浏览器以HTTP协议向服务器发起请求,如果这个请求数据不完整,服务器将无法给出正确响应,用户也得不到想要的结果。
  • SMTP和POP3两个邮件协议也需要保证数据的完整性,并且要保证按照一定的顺序交付,所以选择TCP。

R12:

  • 用户首次访问电子商务网站时,需要提供一个用户唯一标识,电商网站根据用户标识查得用户信息,并将特定的用户信息作为cookie响应给用户。
  • 然后用户在电商网站发起的每个操作都带上cookie,电商网站便能保留每个用户的购买记录。

R13:

  • Web缓存器设置在用户和初始服务器之间,当用户要向初始服务器发起请求时,浏览器会先将请求定位到Web缓存器上,如果缓存器上有请求对象的副本则直接将该副本响应给客户,如果缓存器没有,则Web缓存器向初始服务器发起对该对象的请求,Web缓存器收到来自初始服务器的响应对象之后,自己会保留一份该对象的副本,然后再响应给用户。
  • 因此,Web缓存器只能减少缓存过的对象的时延。

R14:

  1. 不太懂题目在问什么,不过可以解释一下题目中出现的名词。
  • 使用Web缓存器最直观的问题是,如果服务器上的对象在被缓存到缓存器后被修改了,该怎么办?
  • 这涉及到HTTP协议的一种机制:条件GET。
  • 客户向Web服务器发起请求,请求首先会被缓存器拦截,这时如果缓存器中有用户请求的内容,为了保证请求的内容在缓存器上也是最新的,缓存器会向服务器发送一个GET请求,GET请求中包含首部行 If-modified-since, 其值是上次响应中Last-Modified 的值。
  • 如果缓存器中被请求对象和服务器中的最新版本一样,就没必要再发送一次了,这时服务器就会响应一个“304 Not Modified”状态码给缓存器,告诉缓存器该副本可用,不带任何多余数据。如果服务器中的对象被更新过,和缓存器中的副本不一样了,服务器会将最新的副本发送给缓存器。

R16:

  • Alice使用Web电子邮件账户向Bob发送报文时,Alice的的浏览器也就是Alice的客户代理通过HTTP连接到Alice的邮件服务器,并把报文送到该邮件服务器上。
  • 然后Alice的邮件服务器通过SMTP连接到Bob的邮件服务器上(基于TCP),并把邮件报文传送到Bob的邮件服务器中。
  • Bob使用它的用户代理(主机),通过POP3协议访问自己的邮件服务器,并以下载保存或下载删除的方式获得Alice发来的邮件报文。

R18:

  • 从用户的角度是没有的,因为无论采取哪种模式,用户都得到了邮件的报文,但是对于服务器就不同了,如果是下载删除,POP3会话结束后就会把标记的邮件报文删除,再次连接上邮件服务器这些邮件报文就不存在了。

R19:

  • 可以,因为在DNS数据库中,记录一条RR(Resource Record)需要提供4个字段:Name,Value,Type,TTL。
  • 其中Type字段记录本条记录的类型,这就让机构的Web服务器和邮件服务器用相同主机别名成为可能。假如我们要访问该机构的邮件服务器,除了要给出主机别名之外,在DNS报文中还会指定RR的类型为MX(邮件服务器的规范主机名)

R20:

  • 原因不知道
  • .edu 的可以
  • Gmail 的不行

R21:

  • 不,Bob不是必须进行回报,因为Alice会选取一定数量的“邻居”,并从他们那里获得块,而这个选择不是基于Alice向谁发送了块就要向谁索要块,而是在Alice的对等方列表中向对等方发起请求,选取响应速度最快的前4位上载者来获取块。Alice获取块的伴侣也是不停更新的。

R22:

  • Alice虽然不能成为上载者,但是她能成为接收者啊,接收到块后自然有可能成为上载者。
  • Alice在空手加入洪流时,追踪器会随机地从参与对等方集合中选择一个对等方子集,并将子集中对等方的IP地址发给Alice,Alice持有这张列表并尝试与列表中所有的对等方建立并行的TCP连接,并选择前4位上载者,向她们请求块(最稀缺优先原则)。

R23:

  • 覆盖网络时一种面向应用层的网络,包括对等方和对等方之间由虚拟联络构成的抽象逻辑网。
  • 覆盖网络不包括路由器,是对等方组成的逻辑网络,不是物理链路,边是两个对对等方之间有的TCP连接。

R24:

  • 深入:通过在遍及全球的接入ISP中部署服务器集群来深入到ISP的接入网中。好处是靠近端用户,减少端用户和CDN集群之间链路和路由器数量,改善了用户感受到的时延和吞吐量。缺点是由于高度分布式设计,维护和管理集群成本高。
  • 邀请做客:通过在关键位置建造大集群来邀请到ISP来做客。这些CDN集群通常放在因特网交换结点(IXP)。好处是产生较低的维护和管理开销。缺点是以对端用户的较高时延和较低吞吐量为代价。

R25:

  • 还要考虑它分发的内容。

R26:

  • 因为UDP是面向无连接的,他只需要有一个套接字用于接收和发送,并且可以接收来自不同地址主机的UDP包。而TCP是面向连接的,除了接收访问的套接字,每和一个客户连接就要创建一个专用的套接字。
  • n+1。

R27:

  • 建立TCP 连接需要经过一个三次握手的过程,如果服务器没有启动,则无法握手,从而无法创建连接。
  • UDP 是面向无连接的,就算服务器没有启动,客户程序照样可以把UDP 发出去,但服务器可能就收不到了。