计算机网络 第二章课后题答案
答案目前只包含复习题
R1. 列出5种非专用的因特网应用及它们所使用的应用层协议.
应用 应用层协议
浏览网页 HTTP协议
文件传输 FTP协议
P2P下载 P2P协议
发送邮件 SMTP协议
DNS服务 DNS协议
R2. 网络体系结构与应用程序体系结构之间有什么区别?
网络体系结构是分层的体系结构,但从应用程序开发者的角度看,网络体系结构是固定的,为应用程序提供了特定的服务集合。
应用程序体系结构规定了如何在各种端系统上组织应用程序。有两种主流体系结构:客户-服务器体系结构和对等体系结构。
R3. 对两进程之间的通信会话而言, 哪个进程是客户, 哪个进程是服务器?
最先发起会话的进程是客户,最先等待连接的进程是服务器。
R4. 对一个P2P文件共享应用, 你同意"一个通信会话不存在客户端和服务器端的概念"的说法吗? 为什么?
我不同意. P2P文件共享应用虽然能够相互传输文件, 看起来每个用户即可以当客户, 也可以当服务器. 但是具体落实到一次通信会话中, 当对等方A请求对等方B发送一个特定的文件时, 在这个特定的通信会话中对等方A是客户, 而对等方B是服务器.
R5. 运行在一台主机上的一个进程, 使用什么信息来标识运行在另一台主机上的进程?
通过IP地址标识另一台主机, 通过另一台主机上的目的地端口号来标识另一台主机上的程序.
R6. 假定你想尽快地处理从远程客户到服务器的事务, 你将使用UDP还是TCP? 为什么?
使用UDP。UDP不需要建立连接,拥塞控制等等,所以更快。
R7. 参见图2-4, 我们看到在该图中所列出的应用程序没有一个同时既要求无数据丢失又要求定时的. 你能设想一个既要求无数据丢失又高度时间敏感的应用程序吗?
计算机控制机械
R8. 列出一个运输协议能够提供的4种宽泛类型的服务. 对于每种服务类型, 指出是UDP还是TCP(或这两种协议)提供这样的服务?
服务 UDP Or TCP
可靠数据传输 TCP
吞吐量 TCP
定时 TCP
安全性 SSL
R9. 前面讲过TCP能用SSL来强化, 以提供进程到进程的安全性服务, 包括加密. SSL运行在运输层还是应用层? 如果某应用程序研制者想要用SSL来强化UDP, 该研制者应当做些什么工作?
SSL运行在应用层.
SSL在TCP的握手阶段完成了双方的身份确认, 生成密钥等操作. 如果研制者要用SSL来强化UDP, 因为UDP是面向无连接的, 所以SSL首先要解决在UDP传输中的身份确认问题.
R10. 握手协议的作用是什么?
确认身份,建立TCP连接,使客户和服务器为接受大量的分组做好准备。
R11. 为什么HTTP, SMTP及POP3都运行在TCP上, 而不是在UDP上?
因为上述协议需要可靠的数据传输,不允许丢失数据。
R12. 考虑一个电子商务网站需要保留每一个客户的购买记录. 描述如何使用cookie来完成该功能?
对于每一个访问电子商务网站的新客户,设置浏览器相应的cookie,并在服务器存储对应客户的购买记录。同一客户后来再访问时,HTTP请求中会附带cookie,服务器便能确定是同一客户,并继续存储购买记录。
R13. 描述Web缓存器是如何减少接收被请求对象的延时的. Web缓存器将减少一个用户请求的所有对象或只是其中的某些对象的时延吗? 为什么?
Web缓存器中存储了最近请求过的对象的副本。web请求会先定向到Web缓存器。
只能减少部分对象的时延。因为Web缓存器只存储了访问过的副本,未访问过的对象在Web缓存器中没有。此时就不能减少请求该对象的时延了。
R14. Telnet到一台Web服务器并发送一个多行的请求报文. 在该请求报文中包含If-modified-since: 首部行, 迫使响应报文中出现"304 Not Modified"状态代码.
略
R15. 列出几种流行的即时通信应用.它们使用相同的协议作为SMS吗?
电子邮件, FaceBook, 微信等.
以上三个的应用层协议各不相同.
R16. 假定Alice使用一个基于Web的电子邮件账户(例如Hotmail或Gmail)向Bob发报文, 而Bob使用POP3从他的邮件服务器访问自己的邮件. 讨论该报文是如何从Alice主机到Bob主机的. 要列出在两台主机间移动该报文时所使用的各种应用层协议.
Alice主机-(HTTP协议)-Alice的服务器-(SMTP协议)-Bob的服务器-(POP3协议)-Bob的主机
R17. 将你最近收到的报文首部打印出来. 其中有多少Received: 首部行? 分析该报文的首部行中的每一行.
略
R18. 从用户的观点看, POP3协议中下载并删除模式和下载并保存模式有什么区别吗?
区别是,如果选择下载并保留模式,即使存放在本地的邮件丢失,用户也能重新取回邮件
R19. 一个机构的Web服务器和邮件服务器可以有完全相同的主机名别名吗? 包含邮件服务器主机名的RR有什么样的类型?
可以有完全相同的主机名。
RR必须有一条类型为MX的记录。
R20. 仔细检查收到的电子邮件, 查找由使用.edu电子邮件地址的用户发送的报文首部. 从其首部, 能够确定发送该报文的主机的IP地址吗? 对于由Gmail账号发送的报文做相同的事.
略
R21. 在BitTorrent中, 假定Alice向Bob提供一个30秒间隔的文件块吞吐量. Bob将必须进行回报, 在相同的间隔中向Alice提供文件块吗? 为什么?
不, Bob并不必须进行回报. 因为Alice会选取一定数量的"邻居", 并从它们那里获得块. 而这个选择不是基于Alice向谁发送了块就要向谁索要块, 而是在Alice的对等方列表中向对等方发起请求, 选取响应速度快的前4位上载者来获取块. Alice获取块的伴侣也是不停更新的.
R22. 考虑一个新对等方Alice加入BitTorrent而不拥有任何文件块. 没有任何文件快, 因此她没有任何东西可上载, 她无法成为任何其他对等方的前4位上载者. 那么Alice是怎样得到她的第一个文件块呢?
每过30秒,其它对等方将随机的选择一名新的对等方开始对换,如果选择到了Alice,则Alice就会获得文件块。
R23. 覆盖网络是什么? 它包括路由器吗? 在覆盖网络中边是什么?
覆盖网络是一种面向应用层的网络,包括对等方和对等方之间由虚拟联络构成的抽象的逻辑网。覆盖网络不包括路由器。在覆盖网络中“边”就是对等方和对等方之间的逻辑链路。
R24. CDN通常采用两种不同的服务器放置方法之一. 列举并简单描述它们.
深入: 通过在遍及全球的接入ISP中部署服务器集群来深入到ISP的接入网中. 好处是靠近端用户, 减少端用户和CDN集群之间链路和路由器数量, 改善了用户感受到的时延和吞吐量. 缺点是由于高度分布式设计, 维护和管理集群成本高.
邀请做客: 通过在少量关键位置建造大集群来邀请到ISP做客. 这些CDN集群通常放在因特网交换结点(IXP). 好处是产生较低的维护和管理开销. 缺点是以对端用户的较高时延和较低吞吐量为代价.
R25. 除了如时延, 丢包和带宽性能等网络相关的考虑外, 设计一种CDN服务器选择策略时还有其他重要因素. 它们是什么?
分布式文件存储,即时讯息,分布式下载,区块链
R26. 2.7节中所描述的UDP服务器仅需要一个套接字, 而TCP服务器需要两个套接字. 为什么? 如果TCP服务器支持n个并行连接, 每条连接来自不同的客户主机, 那么TCP服务器需要多少个套接字.
因为一个UDP端口可以接收多个主机发送的报文。而一个TCP端口只能与一个客户端建立连接。因此需要空出端口来接受新的客户端连接。 需要n+1个套接字
R27. 对于2.7节所描述的运行在TCP之上的客户-服务器应用程序, 服务器程序为什么必须先于客户程序运行? 对于运行在UDP之上的客户-服务器应用程序, 客户程序为什么可以先于服务器程序运行.
因为TCP发送之前需要建立连接,UDP不需要。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)