时间:2023-01-27 05:54:57
前言世界上没有LSP。 另外,每个人都是LSP。 说到种子,你会想到什么?
农民叔叔在春天播种,秋天收获果实吗? 还是以. torrent结尾的文件? 如果是前者,你一定是热爱自然的人。 在后者的情况下,你一定是个“热爱生活”的人。 但是,今天不是关于自然的种类,而是关于LSP们高兴的种类。
在P2P和BitTorrent协议中被称为"种子" (或种子文件)实际上是以. torrent结尾的文件,之所以将他称为种子,是因为该文件包含关于需要获取的文件的信息它和自然界的种子一样,含有将来形成一个果实所需的最基本的成分。 此. torrent后缀实际上是指支持BitTorrent协议的文件。 BitTorrent简称BT,通称为比特流。 看了这个,你已经有一些印象了吧。 我们常说的BT种子和种子其实是一个东西。 那么这个BitTorrent协议是什么? 不,在介绍BitTorrent之前,请先回到高中的课上,回想一下以前抄作业的时间。
抄作业的例子如上图所示,老板写完作业后,必须把作业借给同学抄,但一次只能借给一个人,其他人只能抄老板的作业,如果包括老板在内的7个人想完成作业,那就只能抄老板的作业了我们知道这样的效率一定很低,所以聪明的老板想出了第二种方法。 如下图所示。
称霸的方法是把作业分成几个块,让每个人抄写不同的部分。 例如,a抄一道题,b抄一道题,c抄填空题……然后,每个人把自己抄的作业和别人抄的作业调换一下,全员就能在规定的时间内抄完所有的作业,这样很有效。
P2P和文件下载之所以要先提到抄表工作,是因为这两种方案与文件下载非常相似。 传统文件的下载与上面的第一个方案类似。 如上图所示,当客户端向服务器发送“下载文件”命令时,服务器会将文件重新发送回客户端。 在此方案中,客户端下载文件的速度取决于两个因素:服务器上传带宽和客户端下载带宽。 带宽是指单位时间(通常为1秒钟)内可以传输的数据量。 如果需要下载的文件数为多个,则下载的总时间受下载数n的限制。 也就是说,下载某个文件的人越多,理论上所需的下载时间就越长,如下图所示。
这个用户体验明显很差,有解决这个问题的好方法吗? 这是我们本期的《天降猛男》——p2p(peer-to-peer )请发出来。
与点对点协议程序不同,这里的P2P是用户组对用户组,当然也不是我们几年前经常听到的暴雷P2P (互联网金融贷款平台)。
本文中提到的P2P是一种体系结构模型,与前面提到的客户端/服务器端( C/S )体系结构类似。 在P2P模式下,服务和资源是分布式的,资源分散存储在运行P2P程序的设备上,而不是存储在特定的设备上,每个对等方可以向其他对等方提供服务。 还是以抄作业为例,学霸的第二个方案是典型的P2P模式。 他把自己的作业分成填表、选课、单选、多选等部分,分别发给6个人。 这样,如果每个人都有自己的复印件,就不需要拜托老板本人做作业,直接委托和自己复印件不同的人交换资源就可以了。 在网络中,P2P模式也非常重要,它影响了所有LSP的应用,即BitTorrent,即本文开头所述的种子。
BitTorrent协议维基百科对BitTorrent的说明如下。
BitTorrent协议(简称BT,通称比特流下载)是用于在对等网络上共享文件的网络协议程序。 与点对点协议程序不同,它是用户组对用户组( peer-to-peer )。
BitTorrent协议是构建在TCP/IP协议之上的P2P文件传输通信协议,位于TCP/IP结构的APP应用层。 简单来说,BitTorrent是一种用于传输文件的协议,与第二个工作情况的特性类似。 该协议的特点是用户越多,也就是下载同一文件的人越多,下载该文件的速度就越快。 且下载后继续保持上传状态,则“共享”其客户端节点成为下载的种子文件. torrent,可以同时上传和下载。 在很多人的感觉中,BitTorrent和P2P是一组对等的概念,它确实将P2P技术发展到了近乎完美的地步。
原理介绍BitTorrent协议后,谈谈他的原理吧。 其实,就像学霸把作业分成选择题、填空题等抄给别人一样,Bittorrent协议也把下载的文件虚拟分成相同大小的块,这些块的大小要求为2k的整数次方, 将各块的索引信息和Hash认证码简称为. Torrent文件(即种子文件)的下载者要下载文件的内容,首先要得到合适的. Torrent文件,然后BT客户端软件. torrent文件的本质是信息列表,其中包含文件大小、哈希值和跟踪器地址等信息,如下图所示。
下载时,BT客户端首先分析. torrent文件以获取Tracker地址,然后连接到Tracker服务器。 根据下载者的请求,跟踪器提供其他下载者的IP,包括发布者。 或者,BT客户端也可以解析. torrent文件以获取节点路由表,并连接到路由表中的有效节点,以从网络节点提供下载者的其他下载者的IP。 下载者与其他下载者连接,基于. torrent文件,两者分别告知对方自己已经拥有的块,交换对方没有的数据。 这种情况下,不需要其他服务器或其他网络节点的参与,从而分散单线路上的数据流量,减轻服务器的负担。 下载者每次获得一个块时,都必须计算下载块的Hash认证码与. torrent文件的比较。 如果相同,则表示该块正确,如果不同,则需要重新下载该块。 因此,下载的人越多,提供的带宽也越多,种子也越多,下载速度越快。 如下图所示。
从BT客户端来看,下载的原理分为以下步骤。 根据BitTorrent协议,文件发行者根据发行的文件生成提供. torrent文件。 客户端可以从Web服务器下载种子文件,并获取Tracker服务器的URL。 基于Tracker URL建立与Tracker服务器的连接,并从服务器获取Peers信息。 基于Peers信息建立与Peer的连接,基于Peer wire协议完成握手,从Peer端下载数据文件。 同时监听Peer的连接,将数据文件上传到Peer。
追踪器不见了怎么办? 通过上述分析,我们发现要利用种子下载资源,第一步是根据种子信息获取Tracker地址。 此时,如果运营商切断了你和Tracker服务器的连接,你会怎么办?
有以下两种解决方案。
PT的第一个是采用非运营商屏蔽的跟踪器服务器、PT (专用跟踪器)、即私有种子服务器。 他和BT最大的不同在于可以在私人范围内下载。 由于是私有的,一般的PT网站采用邀请制,注册用户向信任的人发送邀请,确保用户的质量。 例如,花之黄站是南大人专用的网络资源的PT网站(需要在连接到校园网的状态下登录)。
闲话不多说,紫荆花的花语矢志不渝,这个网站之所以叫紫荆花,是因为开发商答应和她一起在南大种一朵紫荆花。 最后因为学校的原因没能种下,意外地诞生了纪念他们爱情的紫荆花PT。 正如紫荆作者所说,紫荆是胡同中他的导师“紫荆MM”写的情书,“你的心,刻着我的名字”。 不,我要去吃柠檬。
DHT网络的第二个解决方案是DHT网络。 维基百科对他的说明如下。
DHT都称为分布式哈希表( Distributed Hash Table ),是一种分布式存储方法。 如果不需要服务器,每个客户端负责小范围的路由,并存储部分数据以实现整个DHT网络的寻址和存储。 使用支持该技术的BT下载软件,用户无需连接跟踪器也可以下载。 因为软件会寻找在DHT网络上下载同一文件的其他用户进行通信,然后开始下载任务。
不知道能不能理解以上的说明,如果换个说法的话,也许大家会变得清楚。 曾经有一个非常有名的理论。 最多5个人就可以了解世界上的陌生人,也就是6度分离理论。 在DHT网络中,所有的节点都和人一样,你可以通过你的朋友,或者你朋友的朋友,或者你朋友的朋友,递归地找到你想要的资源地址。 这样,在一个网络中也就不需要Tracker服务器了。 或者,在此网络中,所有计算机都充当Tracker服务器。 回顾开头提到的句子,就会发现世界上没有LSP,或者说谁都是LSP。 这么一想,是不是闻到了那个味道?
这也是磁力链接的原理。 所以,其实磁力下载和种子下载的本质都是P2P下载,让所有下载者共享资源片段,从而拼凑出完整的资源,下载者既是资源的消费者,也是资源的传播者。 他们的不同只是寻找其他下载者的方法不同。 由于篇幅所限,本文不详细介绍磁力链接如何寻找下载者,感兴趣的朋友可以搜索相关资料进行学习。
看了这个,你对BT种子一定已经有了一定的了解。 其实BT技术已经涉及到我们生活的方方面面,以网络游戏为例,魔兽这样的网络游戏的网络更新就是采用BT的技术。 因此,每次改版后,都会有数百MB的更新文件通过游戏厂商提供的更新程序以BT方式下载分流。 这就带来了另一种降低成本的经营模式,与其他传统的网络游戏不同,每次重大改版都需要重新压制磁盘或者等待单一下载点的下载方式。 技术是一把双刃剑,利用BT发布非付费内容的好处是显而易见的,但利用BT免费发布版权内容会损害版权所有者的合法权益,因此,是否立法全面禁止BT仍然是一个焦点问题
大部分85后、90后表示,第一次接触BT种子应该和“快播”玩家没有关系,但我至今还记得王欣的技术书是无罪的。 其实Facebook创立之初是为了找个漂亮的女孩,BT的也是他的作者柯亨收集了免费的色情电影才吸引了很多人来测试他的程序,从某种意义上说,不得不说ghs真的促进了网络技术的发展。
最后,以上是本文的全部内容。 如果你觉得还行的话,欢迎关注。 请跟进。 你们的支持是我肝文的最大动力。