首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | HR | 镜像
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
搜索中心 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>系统管理>桌面应用>正文

突破传统:Linux下如何架设BT服务器

http://www.oklinux.cn  2005-01-01  赛迪技术天地-开放系统世界  李翔   会员收藏  游客收藏  【 】 
您查看的文章来源于http://www.oklinux.cn

传统的文件下载服务都是基于客户机/服务器模型,被下载的文件放在服务器上,用户登录服务器,将该文件下载到本地。在文件下载的过程中,被传输文件的来源和目的端并不对等,服务器只是单向地将文件传送给客户端。

这种传统软件下载模式的缺点是显而易见的,整个系统的瓶颈位于服务器。由于受到服务器处理能力、互联网接入链路带宽等多种环境的制约,当下载量非常大时,服务器往往不堪重负。而用户下载完毕后就和服务器没有任何联系,其它用户也无法从以前用户下载的版本得到任何帮助。

随着互联网技术的不断发展,P2P(Peer To Peer,点到点)技术逐渐成为文件交换和下载的成熟技术。P2P技术将互联网“自由、平等、互助、共享”的精神发扬光大。

最早的P2P技术是音乐交换软件Napster,目前最流行的P2P文件交换技术则是BT(BitTorrent,比特流)。越来越多的人使用BT共享和下载软件,互联网上提供“种子”的网站及BT客户端软件随处可见,但是互联网上有关架设BT服务器的文章大多针对Windows平台,而且往往没有涉及BT原理,这使得希望使用Unix/Linux平台架设BT服务器,并提供“种子”下载的管理员们无从下手。本文从应用者角度讨论BT原理,并详细说明如何在Unix/Linux平台下架设一台BT服务器,并提供“种子”下载服务。

BT原理

BT是BitTorrent(比特流)的简称,BT的特点是用户下载的同时,也在为其它用户提供上传,所以不会像FTP服务器那样随着用户数的增加而导致下载速度降低。恰恰相反,对于BT下载而言,下载的人越多速度越快。



传统的文件共享服务,如FTP、HTTP等工作原理如图1所示。这种方式随着用户数的增多,对带宽的要求也随之增多,用户过多就会造成瓶颈,所以很多下载网站都有并发用户数的限制及下载速度的限制等。

而BT下载采用一种共享的方式来传输文件,其工作原理如图2所示。



BT下载首先在第一个共享端(或称为Downloader)把一个文件分成N个部分,A用户可以从Downloader上随机下载第M个部分,B用户可以在Downloader服务器随机下载第K个部分。而A用户的BT客户端下载程序会根据情况从B用户下载第K个部分,同样的,B用户也可以从A用户下载第M个部分,通过这种方式减轻服务器端负荷,加快用户的下载速度。

例如,C用户直接从服务器下载,速度可能只有几Kbps,而从A、B用户处下载,速度将快很多。用户在下载的同时,也在上传文件,在享受别人提供下载服务的同时,每个用户也同时在上载并贡献自己的带宽,所以造成使用BT下载服务的人越多,大家的速度就越快。BT下载的优越性就在这里体现。

从构建BT服务器的角度来看,整个BT系统由四个部分组成。

1.BT客户端

BT客户端是安装在用户PC机上的客户端软件,目前有很多BT客户端可用,这里推荐BitComet(http://www.bitcomet.com/index-zh.htm)。它是一个类似FlashGet界面的BT下载客户端软件,简洁易用。

BitComet在下载的同时,还负责将下载的内容共享给其它用户,这个过程完全不需要用户参与。如果不知道如何使用BT客户端下载,那么安装BitComet后去访问BT中国网站,试一试就知道如何使用了。

2.BT“种子”文件

BT“种子”文件是一个名为.torrent的文件,它是由第一个发布共享文件者根据源文件制作出来的源文件的指纹信息。“种子”文件很小,一般在几十KB到几百KB之间,其中包含文件所在的BT端地址信息及目标文件的校验码。当BT用户获得“种子”后,直接在BT客户端软件中运行“种子”文件,BT软件将根据“种子”文件包含的信息,自动查找到该文件所有可用的下载源,并进行下载。

3.Tracker

使用BT服务不需要指定服务器,虽然在BT服务里面仍然有服务器的概念,但使用BT服务的人并不需要关心服务器在哪里。BT服务器称为Tracker,准确地说,Tracker是指运行于服务器上的一个程序,这个程序能够追踪到底有多少人同时在下载同一个文件。BT客户端连接上Tracker服务器,就会获得一个下载人员的名单,根据这个名单,BT客户端会自动连接网络中其它节点进行下载。

4.种子

BT服务把提供完整文件的用户节点称为“种子”(Seed),正在下载的用户称为客户(Client)。某一个文件现在有多少“种子”、多少“客户”是可以看到的。只要有一个“种子”就可以放心地下载。当然,种子越多、客户越多的文件下载的速度会越快。

如果发现“种子”数为0,那么就不需要去尝试了。当某个用户下载完成后,如没有选择关闭,其它人就可以从该用户处继续下载文件。所以当下载的人多起来,通常做“种子”的人也会随之增加,下载速度也会加快。

共2页: 上一页 1 [2] 下一页

上一篇:回眸经典:DOS命令简化八大案例   下一篇:体验SuSE Linux 9. 靓装Linux 2.6桌面

收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·回眸经典:DOS命令简化八大案例
·体验SuSE Linux 9. 靓装Linux 2.6桌面
·如何用Netfilter/IPtables限制P2P流量
·Linux应用问答系列之网络FAQ
·磨炼Gentoo的锋芒之拥有Gentoo桌面环境
·用移动存储设备将Linux随身携带
·磨炼Gentoo的锋芒之怎样正确配置网络
·Linux高手过招:量身定制Linux桌面
·企鹅面对面 Linux中QQ的配置
·桌面应用技巧:Linux控制台下轻松工作
·Linux经验技巧:Kill多个进程的妙招
·降低接入Internet成本 校园网应用Linux
·Linux应用经验技巧:Linux用Nasm巧汇编
·教您如何30分钟打造基于Linux的VPN服务器
·怎样让您的Linux操作系统更加安全
·桌面应用:Linux下特效照片也精彩
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·Aurorae: KDE 4 新的窗口边框主题引擎
·Google Chrome 主题库
·Bespin-被KDE4遗忘的主题
·10 套不错的 GNOME 主题
·无人值守安装Linux系统
·巧妙管理Linux服务器存储空间
·值得期待的Fedora 11操作系统新特性简
·面对CSS跨站攻击 IE与FireFox态度不一
·网友分享:在Linux系统上玩转磁盘阵列
·Ubuntu系统技巧之登录时查看“每日一句
·专家观点:Linux系统管理学习路线图
·开源办公软件 KOffice 2.0 Beta 7 发布
  阅读排行
·linux无线网卡设置与安装
·Ubuntu多媒体播放器的安装与配置
·VNCServer 配置 及Vncview的使用
·用新型D-BUS与Linux桌面应用程序通讯
·与微软相媲美! Ubuntu v8.04组图欣赏
·10 套不错的 GNOME 主题
·如何安装和使用wine
·菜鸟也疯狂:Linux桌面应用全攻略
·2008年Linux的25个顶级游戏
·安装Sony VAIO和HP Pavilion本本内置摄
·Linux高手过招:量身定制Linux桌面
·10套优秀的 Linux 图标 美化你的 Linux
·linux虚拟光驱介绍
·U盘Linux的制作
·引导装入工具Grub入门到精通
网摘收藏: