<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="http://www.majordojo.com/projects/FeedManager/atom.xsl" type="text/xsl" media="screen"?>
<feed xmlns="http://www.w3.org/2005/Atom" 
      xmlns:thr="http://purl.org/syndication/thread/1.0">
  <link rel="alternate" type="text/html" href="http://www.thinkjam.org/zoptuno/archives/2005/06/bitcometdht.html" />
  <link rel="self" type="application/atom+xml" href="http://www.thinkjam.org/zoptuno/archives/2005/06/bitcometdht.html" />
  <id>tag:www.thinkjam.org,2009:/zoptuno//2/tag:www.thinkjam.org,2005:/zoptuno//2.157-</id>
  <updated>2009-09-21T03:16:38Z</updated>
  <title>Comments for 评论：新版Bitcomet发布，DHT加深反盗难度</title>
  <subtitle>My think. My dream.</subtitle>
  <generator uri="http://www.sixapart.com/movabletype/">Movable Type 4.31-zh-cn</generator>
  <entry>
    <id>tag:www.thinkjam.org,2005:/zoptuno//2.157</id>
    <link rel="alternate" type="text/html" href="http://www.thinkjam.org/zoptuno/archives/2005/06/bitcometdht.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://www.thinkjam.org/loveblog/batom.cgi/weblog/blog_id=2/entry_id=157" title="评论：新版Bitcomet发布，DHT加深反盗难度" />
    <published>2005-06-28T14:26:37Z</published>
    <updated>2008-01-27T06:56:45Z</updated>
    <title>评论：新版Bitcomet发布，DHT加深反盗难度</title>
    <summary>本文已发表于《电脑商情报·家用电脑》 2005年6月8日，著名的BT下载软件Bi...</summary>
    <author>
      <name>平生一笑</name>
      <uri>http://www.thinkjam.org/zoptuno</uri>
    </author>
    
    <category term="评论" />
    
    <content type="html" xml:lang="en" xml:base="http://www.thinkjam.org/zoptuno/">
      <![CDATA[<p><font color="red">本文已发表于《电脑商情报·家用电脑》</font></p>

<p><strong>2005年6月8日，著名的BT下载软件Bitcomet升级到版本0.59。这次的升级与以往不同，它包含着里程碑式的改变——其开始“支持连入公用DHT网络，实现无Tracker下载”。联想到此前另一著名BT客户端Azureus从2.3.0.0，以及BT官方的BitTorrent从Beta 4.1.0开始使用的"trackerless" torrents，BT下载已经进入崭新的DHT时代。</p>

<p>那么，DHT究竟为BT带来了什么？我们采访了Bitcomet的作者灿烂微笑，并将在此文中加以剖析。</strong></p>]]>
      <![CDATA[<p><strong>一、实战新版Bitcomet</strong></p>

<p>目前国内用户使用最多的BT客户端就是Bitcomet，因此我们在这里也以它为例讲解DHT网络的使用。</p>

<p>默认情况下，无须做任何设置BitComet即可自动连接并使用DHT网络。启动软件，它会使用和TCP端口号相同的UDP端口进行DHT网络连接。此时，用户可以在Bitcomet的状态条上得到DHT网络连接的状态。</p>

<p>当然，如果要顺利使用DHT功能，除了连接DHT网络之外，还需要文件的发布者在制作种子的时候就打开DHT选项。单击菜单“文件”－“制作Torrent文件”，在弹出的窗口中，就可以调节是否让种子使用DHT网络，共有三种选择。</p>

<p>“使用公用DHT网络(推荐)”表示种子同时使用Tracker服务器和公用DHT网络来寻找用户，列表框中可以填写传统Tracker服务器地址或者DHT网络节点地址，也可以只填其中一种，也可以什么都不填。什么都不填代表仅仅使用DHT网络，自动连接节点；只填写DHT网络节点代表仅仅使用DHT网络，而且默认连接这几个填写的节点；只填写Tracker代表同时使用Tracker和DHT网络，自动连接Tracker服务器和节点；同时填写Tracker和DHT网络节点代表同时使用Tracker和DHT网络，而且默认连接这几个Tracker服务器和节点。总之，此种方式下的BT种子将采取尽可能多的方式进行连接，因此建议种子制作者保持这个默认选项，列表框中像往常一样填写一两个普通的Tracker服务器地址。</p>

<p>另外两个选择：“不使用公用DHT网络(优先使用Tracker服务器)”表示在不能链接上Tracker服务器的情况下使用DHT网络功能，如果能链接上Tracker服务器，就不使用DHT网络功能；“仅从Tracker服务器获取用户信息(禁用DHT及用户来源交换)”则代表禁止使用公用DHT网络以及用户来源交换来寻找用户，完全禁用DHT网络功能，相当于Azureus软件的“安全Torrent”。</p>

<p>如果你不想用Bitcomet的DHT网络功能，则可以在“选项”－“高级设置”中去掉“自动添加DHT网络作为备用Tracker”，并在其下的“网络连接”中去掉“允许加入到公用DHT网络”前面的勾。</p>

<p>在Azureus和BitTorrent Beta中制作支持DHT功能的种子，以及使用DHT网络同样简单，只不过它们的DHT网络功能都没有Bitcomet这么强大。因此Bitcomet可以同时支持DHT网络和Tracker服务器，而其它两种软件同时只能支持这两者之一。</p>

<p>有关BT之DHT网络的使用，还请参看我的另外一篇文章－－实战BT之DHT网络。</p>

<p><strong>二、DHT技术让反盗版更加困难？</strong></p>

<p>在多数人眼中，任何P2P技术的改进都与版权的博奕脱不了干系，DHT网络能够引起如此注目亦是如此。</p>

<p>确实，BT采用DHT网络后，反盗版将变得更加困难。因为在此之前，用户进行BT下载时，必需首先连接上Tracker服务器，根据所获得的正在进行下载和上传的用户列表，才能够进行正常的文件交换。这样的话，只需封禁掉提供Tracker服务的网站，便可以截断盗版传播的途径。DHT网络则不同，由于此时互联网中任何一个运行BT客户端的用户都可以作为DHT网络中的节点，因此即使封禁掉那些提供Tracker服务的网站，用户还是能够通过全球范围的逻辑DHT网络分享文件，反盗版就无从谈起。除非让世界上的人都不上网，或宣布使用BT软件为重罪。</p>

<p>不过，在我们对Bitcomet作者的采访中，他否认了DHT网络是为了更好的传播盗版。他指出，DHT网络的“主要优势是稳定性，本来Tracker服务器人多了很容易宕机，但是DHT网络没有这个问题，再多的人也没事”。</p>

<p>这一切还是印证着那句话——“技术从来都是一把双刃剑”。在批判BT助长盗版气焰的同时，我们也应该看到，BT也正在日渐成为合法作品传播的途径。由于无法承受大流量的访问，一些免费和共享软件（如Foobar2000等）开始采用BT方式分发，大型的合法软件——Linux系统，更是将BT作为主要的分发渠道。这种良性的应用可能会为BitTorrent带来一定的法律保护，使BT下载商业化甚至合法化。</p>

<p>而随着DHT技术的采用，这种应用还将向纵深发展。虽然它加重了反盗版的难度，但也将使合法分发各种文件更加容易。事物就是如此辩证，但笔者相信P2P软件一定能够寻求到一个更加合理的应用。</p>

<p><strong>三、主要优势在于稳定－－采访Bitcomet作者“灿烂微笑”</strong></p>

<p>Bitcomet 0.59发布笠日，我们有幸通过MSN Messenger采访了Bitcomet的作者“灿烂微笑”（网名），请他来谈一下使用DHT网络后的BT：</p>

<p><strong>问：BT的各个客户端软件是从什么时候开始用DHT的？它与eMule中的Kad有何不同？</strong><br />
<strong>答：</strong>BitTorrent是5月份开始测试DHT的，Azureus比较早，但糟糕的是它们两个不互通。eMule中的Kad也是DHT的一种，不过它的实现协议与BT中的并不相同，所以不能互通。 Bitcomet中的DHT与BitTorrent是兼容的。</p>

<p><strong>问：为何会出现不互通的现像呢？</strong><br />
<strong>答：</strong>开发者不同，而且在这个DHT问题上互相之间没有协调好，所以就成了现在这样。更糟糕的是Azureus的DHT代码很长，我却找不到协议文档。</p>

<p><strong>问：对一个用户来说，它获得一个使用DHT网络的种子后，启动Bitcomet进行下载，这时软件是如何连接的？</strong><br />
<strong>答：</strong>用户打开软件以后就连入网络了，启动使用DHT网络的种子的任务后，Bitcomet就会在DHT网络中搜索。种子上如果有默认节点，那么可以帮助没有连入网络的用户通过那些节点连入网络，如果下载者已经联入DHT网络了，种子里填写的节点就不需要了。Bitcomet内置了2个节点，分别是node://router.bittorrent.com:6881和node://router.bitcomet.net:554。其实任何一个长期在线的用户都可以做个好节点。</p>

<p><strong>问：如果这两个长期在线的内置节点出现问题时，是不是就连接不上DHT网络了？</strong><br />
<strong>答：</strong>不会，这个只是最初的连接用的，如果它们都失效了，那么1.曾经连上过DHT的用户保存了其他节点，所以只要不要很长时间不用，应该还可以连上；2.新的用户可以通过打开带有DHT节点的种子连入。</p>

<p><strong>问：那么，DHT网络相比Tracker服务器来说，有什么主要的优势？是不是以前下载时，种子只是同时连接同一台Tracker服务器的下载者，而现在却可以搜索整个DHT网络中，得到更多的源？</strong><br />
<strong>答：</strong>主要优势是稳定性，本来Tracker服务器人多了很容易宕机，但是DHT网络没有这个问题，再多的人也没事。如果是单个文件的种子，确实也有你说的好处。</p>

<p><strong>问：刚才你说Emule也用DHT，那么相比之下，BT协议在技术上的优势是什么呢？</strong><br />
<strong>答：</strong>应该说BT的DHT才刚开始，eMule应该测试了有1年左右了，BT的优势可能还是原来的吧，就是对新的东西分享比较快。</p>

<p><strong>问：你是如何看待BT下载和软件版权问题的？</strong><br />
<strong>答：</strong>这个……有难度啊！BT本来只是一种不错的P2P网络技术，我觉得它的流行也代表了一种市场需要吧，说明通过互联网分发作品的可能的价值。虽然目前BT有些被滥用了，不过我想这种P2P技术应该能够寻求到一个更加合理的应用，就像Skype的创始人原来做的是Kazza一样。</p>

<p><strong>问：再问一个读者关心的问题，你认为BT伤硬盘么？</strong><br />
<strong>答：</strong>软件刚出来的时候，没有任何缓冲，完全大范围随机地按16K来读写硬盘，所以确实对硬盘不好（不过要速度快的时候才有影响）。当然后来就在软件里面做缓存了，这个问题就基本不存在了。</p>

<p><strong>问：最后一个问题，你自己经常使用BT下载吗？</strong><br />
<strong>答：</strong>我很久没用了（很出乎意料吧），不过感觉DHT很好玩，现在的乐趣更多是在编写软件上了。</p>

<p><strong>附录</strong></p>

<blockquote>

<p><strong>DHT网络</strong></p>

<p>DHT的全称是Distributed Hash Table，即分布式哈希表技术，是一种分布式存储方法。这种网络不需要中心节点服务器，而是每个客户端负责一个小范围的路由，并负责存储一小部分数据，从而实现整个DHT网络的寻址和存储。和中心节点服务器不同，DHT网络中的各节点并不需要维护整个网络的信息，而是只在节点中存储其临近的后继节点信息，大幅减少了带宽的占用和资源的消耗。DHT网络还在与关键字最接近的节点上复制备份冗余信息，避免了单一节点失效问题。</p>

<p>形象地，我们可以把整个DHT网络想象成一个大城市，那么每个客户端，就好比城市里各个角落的地图，上面绘制了附近区域的地形情况，把这些地图一汇总，城市的全貌就出来了。</p>

<p>而DHT所采用的算法中最出名的是Kademlia，eMule早在一年多前就开始采用，Bitcomet、Azureus和BitTorrent只是步其后尘，同样使用Kademlia算法的DHT。不过它们各自的实现协议不尽相同，因此不能相互兼容（BitComet与BitTorrent兼容，Azureus更像eMule，但与其它都不兼容）。</p>

<p><strong>Tracker</strong></p>

<p>Tracker是指运行于服务器上的一个服务程序，也称Tracker服务器。这个程序能够追踪到底有多少人同时在下载或上传同一个文件。客户端连上Tracker服务器，就会获得一个正在下载和上传的用户的信息列表（通常包括IP地址、端口、客户端ID等信息），根据这些信息，BT客户端会自动连上别的用户进行下载和上传。 </blockquote></p>

<blockquote>

<p><strong>相关网站：</strong></p>

<p>Bitcomet：<a href="http://www.bitcomet.com" target="_blank">http://www.bitcomet.com</a><br />
BitTorrent：<a href="http://www.bittorrent.com/">http://www.bittorrent.com/</a><br />
Azureus：<a href="http://azureus.sourceforge.net/">http://azureus.sourceforge.net/</a><br />
eMule：<a href="http://www.emule-project.org">http://www.emule-project.org</a><br />
Kademlia：<a href="http://en.wikipedia.org/wiki/Kademlia">http://en.wikipedia.org/wiki/Kademlia</a></blockquote></p>

<p><span class="technoratitag">Technorati Tags: <a href="http://www.technorati.com/tags/BitTorrent" rel="tag" target="blank">BitTorrent</a>, <a href="http://www.technorati.com/tags/BT" rel="tag" target="blank">BT</a>, <a href="http://www.technorati.com/tags/Bitcomet" rel="tag" target="blank">Bitcomet</a>, <a href="http://www.technorati.com/tags/Azureus" rel="tag" target="blank">Azureus</a>, <a href="http://www.technorati.com/tags/eMule" rel="tag" target="blank">eMule</a>, <a href="http://www.technorati.com/tags/Kademlia" rel="tag" target="blank">Kademlia</a></span></p>]]>
    </content>
  </entry>

  <entry>
    <id>tag:www.thinkjam.org,2005:/zoptuno//2.157-comment:1196</id>
    <thr:in-reply-to ref="tag:www.thinkjam.org,2005:/zoptuno//2.157" type="text/html" href="http://www.thinkjam.org/zoptuno/archives/2005/06/bitcometdht.html"/>
    <link rel="alternate" type="text/html" href="http://www.thinkjam.org/zoptuno/archives/2005/06/bitcometdht.html#c1196" />
    <title>Comment from peterwillcn on 2005-07-14</title>
    <author>
        <name>peterwillcn</name>
<!--         -->
    </author>
    <content type="html" xml:lang="en" xml:base="">
	<![CDATA[<p>分布式计算是下一代计算机的发展方向吗？</p>]]>
    </content>
    <published>2005-07-14T15:04:07Z</published>
    <updated>2005-07-14T15:04:07Z</updated>
  </entry>

  <entry>
    <id>tag:www.thinkjam.org,2005:/zoptuno//2.157-comment:1197</id>
    <thr:in-reply-to ref="tag:www.thinkjam.org,2005:/zoptuno//2.157" type="text/html" href="http://www.thinkjam.org/zoptuno/archives/2005/06/bitcometdht.html"/>
    <link rel="alternate" type="text/html" href="http://www.thinkjam.org/zoptuno/archives/2005/06/bitcometdht.html#c1197" />
    <title>Comment from 平生一笑 on 2005-07-15</title>
    <author>
        <name>平生一笑</name>
<!--         -->
    </author>
    <content type="html" xml:lang="en" xml:base="">
	<![CDATA[<p>应该是往两个方面发展，即分布式和集中式两个方向，满足不同的需要</p>]]>
    </content>
    <published>2005-07-15T08:01:47Z</published>
    <updated>2005-07-15T08:01:47Z</updated>
  </entry>

  <entry>
    <id>tag:www.thinkjam.org,2005:/zoptuno//2.157-comment:1198</id>
    <thr:in-reply-to ref="tag:www.thinkjam.org,2005:/zoptuno//2.157" type="text/html" href="http://www.thinkjam.org/zoptuno/archives/2005/06/bitcometdht.html"/>
    <link rel="alternate" type="text/html" href="http://www.thinkjam.org/zoptuno/archives/2005/06/bitcometdht.html#c1198" />
    <title>Comment from wuwu_hzl on 2005-09-12</title>
    <author>
        <name>wuwu_hzl</name>
<!--         -->
    </author>
    <content type="html" xml:lang="en" xml:base="">
	<![CDATA[<p>我下载了BITCOMET 0.60,不能下载任何东东,显示DHT没有连接,请问怎么样解决?</p>]]>
    </content>
    <published>2005-09-12T11:19:01Z</published>
    <updated>2005-09-12T11:19:01Z</updated>
  </entry>

  <entry>
    <id>tag:www.thinkjam.org,2005:/zoptuno//2.157-comment:1199</id>
    <thr:in-reply-to ref="tag:www.thinkjam.org,2005:/zoptuno//2.157" type="text/html" href="http://www.thinkjam.org/zoptuno/archives/2005/06/bitcometdht.html"/>
    <link rel="alternate" type="text/html" href="http://www.thinkjam.org/zoptuno/archives/2005/06/bitcometdht.html#c1199" />
    <title>Comment from 平生一笑 on 2005-09-15</title>
    <author>
        <name>平生一笑</name>
<!--        <uri>http://www.thinkjam.org/zoptuno/</uri> -->
    </author>
    <content type="html" xml:lang="en" xml:base="http://www.thinkjam.org/zoptuno/">
	<![CDATA[<p>网络结构说说。另外这类问题最好到论坛提问</p>]]>
    </content>
    <published>2005-09-15T09:09:50Z</published>
    <updated>2005-09-15T09:09:50Z</updated>
  </entry>

</feed>
