磁力链接与RSS订阅

最近接触到了BT下载和RSS订阅,稍微学习学习,了解下概念.内容主要来自维基百科

BT介绍

BT全称BitTorrent,是用在对等网络文件分享网络协议程序。和点对点(point-to-point)的协议程序不同,它是用户群对用户群(peer-to-peer),而且用户越多,下载同一文件的人越多,下载该文件的速度越快。且下载后,继续维持上传的状态,就可以“分享”,成为其用户端节点下载的种子文件(.torrent),同时上传及下载.

普通的HTTPFTP下载使用TCP/IP协议,BitTorrent协议是架构于TCP/IP协议之上的一个P2P文件传输通信协议,处于TCP/IP结构的应用层。BitTorrent协议本身也包含了很多具体的内容协议和扩展协议,并在不断扩展中

在BT下载的流程中,文件发布者会根据要发布的文件生成提供一个.torrent文件,这就是种子文件.发布这个文件就是做种(发布者提供下载任务的全部内容的行为;下载者下载完成后继续提供给他人下载的行为).

这个种子文件本质上是文本文件,包含Tracker信息和文件信息两部分。Tracker信息主要是BT下载中需要用到的Tracker服务器的地址和针对Tracker服务器的设置文件信息是根据对目标文件的计算生成的,计算结果根据BitTorrent协议内的Bencode规则进行编码。它的主要原理是需要把提供下载的文件虚拟分成大小相等的块,块大小必须为2k的整数次方(由于是虚拟分块,硬盘上并不产生各个块文件),并把每个块的索引信息和Hash验证码写入种子文件中;所以,种子文件就是被下载文件的“索引”。

下载者要下载文件内容,需要先得到相应的种子文件,然后使用BT客户端软件进行下载。

因为种子文件中有tracker地址,这个tracker就是个服务器地址(下载者的信息也会记录.收集下载者信息的服务器,并将此信息提供给其他下载者,使下载者们相互连接起来,传输数据。).下图是在Motrix中的种子的tracker信息image-20221122140032781

下载时,BT客户端首先解析种子文件得到Tracker地址,然后连接Tracker服务器。Tracker服务器回应下载者的请求,提供下载者其他下载者(包括发布者)的IP。下载者再连接其他下载者,根据种子文件,两者分别告知对方自己已经有的块,然后交换对方所没有的数据。此时不需要其他服务器参与,分散了单个线路上的数据流量,因此减轻了服务器负担。

下载者每得到一个块,需要算出下载块的Hash验证码与种子文件中的对比,如果一样则说明块正确,不一样则需要重新下载这个块。这种规定是为了解决下载内容准确性的问题。

磁力链接

磁力链接(Magnet URI scheme),是对等网络中进行信息检索和下载文档的电脑程序。和基于“位置”连接的统一资源定位符不同,磁力链接是基于元数据(metadata)文件内容,属于统一资源名称。也就是说,磁力链接不基于文档的IP地址或定位符,而是在分布式数据库中,通过散列函数值来识别、搜索来下载文档。因为不依赖一个处于启动状态的主机来下载文档,所以特别适用没有中心服务器的对等网络。它符合开源标准

磁力链接由一组参数组成,参数间的顺序没有讲究,其格式与在HTTP链接末尾的查询字符串相同。最常见的参数是”xt”,是”exact topic”的缩写,通常是一个特定文件的内容散列函数值形成的URN

image-20221122140625013

RSS订阅

RSS(英文全称:RDF Site Summary 或 Really Simple Syndication[2]),中文译作简易信息聚合[3],也称聚合内容[4],是一种消息来源格式规范,用以聚合多个网站更新的内容并自动通知网站订阅者。使用 RSS 后,网站订阅者便无需再手动查看网站是否有新的内容,同时 RSS 可将多个网站更新的内容进行整合,以摘要的形式呈现,有助于订阅者快速获取重要信息,并选择性地点阅查看。

RSS 摘要可以借由 RSS 阅读器、feed reader 或 aggregator 等网页或以桌面为架构的软件来阅读。标准的 XML 档式可允许信息在一次发布后通过不同的程序阅览。用户借由将网摘输入 RSS 阅读器,或是用鼠标点取浏览器上指向订阅程序的 RSS 小图标 URI(非通常所称的 URL)来订阅网摘。RSS 阅读器会定期检阅网站是否有更新,然后下载至监看用户界面。

参考资料

RSS - 维基百科,自由的百科全书 (wikipedia.org)

BitTorrent (协议) - 维基百科,自由的百科全书 (wikipedia.org))

-------------本文结束感谢您的阅读-------------
感谢阅读.

欢迎关注我的其它发布渠道