热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【计算机网络自顶向下方法一】应用层课后习题及解答

本文主要基于《计算机网络自顶向下方法》第六版和从网上找到的一个英文答案,加入了自己的理解,对网络没有什么认识,主要作为期末的复习材料。水平不高,能力有限,有什么问题还请大家多多指教,目前还未完成

本文主要基于《计算机网络自顶向下方法》第六版和从网上找到的一个英文答案,加入了自己的理解,对网络没有什么认识,主要作为期末的复习材料。水平不高,能力有限,有什么问题还请大家多多指教,目前还未完成,持续更新ing
英文答案链接

复习题

2.6节

R21,在BitTorrent中,假定Alice向Bob提供了一个30秒间隔的文件块吞吐量。Bob将必须进行回报,在相同的间隔中向Alice提供文件块吗?
这个题有两个意思。(1)Alice能不能成为Bob的疏通(也就是前4个对等方),显然只有Alice在30秒间隔的文件吞吐量在Bob的邻居节点中排到前四才可以,此时的Bob才会回报Alice。(2)Bob会不会也在30秒的间隔中向Alice提供文件块,这个也显然不一定,因为第五个节点是随机选取的。
R22,考虑一个新的对等方Alice加入BitTorrent而不拥有任何文件块。没有任何文件快,因此她没有任何东西可以上载,她无法成为任何其他对等方的前四位上载者,那么Alice将怎样得到她的第一个文加块呢?
根据BitTorrent的机制,一个torrent中,会时不时的有一个节点随机选中Alice,向Alice节点发送文件块,这样Alice拥有的文件块会不断积累。
R23,覆盖网络是什么?它包括路由器吗?在覆盖网络中边是什么?
覆盖网络简单说来就是应用层网络,它是面向应用层的,不考虑或很少考虑网络层,物理层的问题。覆盖网络允许对没有IP地址标识的目的主机路由信息,例如:Freenet和DHT(分布式哈希表)可以路由信息到一个存储特定文件的结点,而这个结点的IP地址事先并不知道。比如说,P2P就是一种覆盖网络。
定义来自百度百科
覆盖网络主要指应用层,而在五层的网络模型中路由器包含物理层,链路层和网络层,因此覆盖网络不包含路由器。覆盖网络的边就是对等方之间的TCP连接。
R24,考虑一个具有网状覆盖网络拓扑的DHT(即每个对等方跟踪系统中的所有对等方)。这样设计的优缺点各是什么?环形DHT(无捷径)的优缺点各是什么?
第一个的优点是速度快,定位所需节点的时间复杂度是O(1),缺点是每个对等方保存所有的对等方的信息,资源开销太大。
第二个的优点是每个对等方只需保存前一个和后一个的信息,资源开销最小。缺点是时间复杂度是O(N)。N是一个覆盖网络中的节点的个数。
R25,列出至少四个不同的应用,他们在本质上是适合P2P体系结构的
qq,迅雷,百度网盘,微信。
这些都是猜的,作者的答案是:
这里写图片描述

参考资料

《计算机网络自顶向下方法》第六版第二章。

结尾

初入计算机,请大家多多指教嘛,真诚欢迎一起讨论,共同学习~~~持续更新中……


推荐阅读
  • 解决Cydia数据库错误:could not open file /var/lib/dpkg/status 的方法
    本文介绍了解决iOS系统中Cydia数据库错误的方法。通过使用苹果电脑上的Impactor工具和NewTerm软件,以及ifunbox工具和终端命令,可以解决该问题。具体步骤包括下载所需工具、连接手机到电脑、安装NewTerm、下载ifunbox并注册Dropbox账号、下载并解压lib.zip文件、将lib文件夹拖入Books文件夹中,并将lib文件夹拷贝到/var/目录下。以上方法适用于已经越狱且出现Cydia数据库错误的iPhone手机。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • 配置IPv4静态路由实现企业网内不同网段用户互访
    本文介绍了通过配置IPv4静态路由实现企业网内不同网段用户互访的方法。首先需要配置接口的链路层协议参数和IP地址,使相邻节点网络层可达。然后按照静态路由组网图的操作步骤,配置静态路由。这样任意两台主机之间都能够互通。 ... [详细]
  • 本文介绍了前端人员必须知道的三个问题,即前端都做哪些事、前端都需要哪些技术,以及前端的发展阶段。初级阶段包括HTML、CSS、JavaScript和jQuery的基础知识。进阶阶段涵盖了面向对象编程、响应式设计、Ajax、HTML5等新兴技术。高级阶段包括架构基础、模块化开发、预编译和前沿规范等内容。此外,还介绍了一些后端服务,如Node.js。 ... [详细]
  • RouterOS 5.16软路由安装图解教程
    本文介绍了如何安装RouterOS 5.16软路由系统,包括系统要求、安装步骤和登录方式。同时提供了详细的图解教程,方便读者进行操作。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • SpringMVC接收请求参数的方式总结
    本文总结了在SpringMVC开发中处理控制器参数的各种方式,包括处理使用@RequestParam注解的参数、MultipartFile类型参数和Simple类型参数的RequestParamMethodArgumentResolver,处理@RequestBody注解的参数的RequestResponseBodyMethodProcessor,以及PathVariableMapMethodArgumentResol等子类。 ... [详细]
  • 小程序自动授权和手动接入的方式及操作步骤
    本文介绍了小程序支持的两种接入方式:自动授权和手动接入,并详细说明了它们的操作步骤。同时还介绍了如何在两种方式之间切换,以及手动接入后如何下载代码包和提交审核。 ... [详细]
  • 本文由编程笔记#小编整理,主要介绍了关于数论相关的知识,包括数论的算法和百度百科的链接。文章还介绍了欧几里得算法、辗转相除法、gcd、lcm和扩展欧几里得算法的使用方法。此外,文章还提到了数论在求解不定方程、模线性方程和乘法逆元方面的应用。摘要长度:184字。 ... [详细]
  • 在2022年,随着信息化时代的发展,手机市场上出现了越来越多的机型选择。如何挑选一部适合自己的手机成为了许多人的困扰。本文提供了一些配置及性价比较高的手机推荐,并总结了选择手机时需要考虑的因素,如性能、屏幕素质、拍照水平、充电续航、颜值质感等。不同人的需求不同,因此在预算范围内找到适合自己的手机才是最重要的。通过本文的指南和技巧,希望能够帮助读者节省选购手机的时间。 ... [详细]
  • Java和JavaScript是什么关系?java跟javaScript都是编程语言,只是java跟javaScript没有什么太大关系,一个是脚本语言(前端语言),一个是面向对象 ... [详细]
  • 本文介绍了互联网思维中的三个段子,涵盖了餐饮行业、淘品牌和创业企业的案例。通过这些案例,探讨了互联网思维的九大分类和十九条法则。其中包括雕爷牛腩餐厅的成功经验,三只松鼠淘品牌的包装策略以及一家创业企业的销售额增长情况。这些案例展示了互联网思维在不同领域的应用和成功之道。 ... [详细]
  • 本文总结了初学者在使用dubbo设计架构过程中遇到的问题,并提供了相应的解决方法。问题包括传输字节流限制、分布式事务、序列化、多点部署、zk端口冲突、服务失败请求3次机制以及启动时检查。通过解决这些问题,初学者能够更好地理解和应用dubbo设计架构。 ... [详细]
  • 本文介绍了iOS开发中检测和解决内存泄漏的方法,包括静态分析、使用instruments检查内存泄漏以及代码测试等。同时还介绍了最能挣钱的行业,包括互联网行业、娱乐行业、教育行业、智能行业和老年服务行业,并提供了选行业的技巧。 ... [详细]
author-avatar
我爱麦兜李
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有