首页 | 邮件资讯 | 技术教程 | 解决方案 | 产品评测 | 邮件人才 | 邮件博客 | 邮件系统论坛 | 软件下载 | 邮件周刊 | 热点专题 | 工具
网络技术 | 操作系统 | 邮件系统 | 客户端 | 电子邮箱 | 反垃圾邮件 | 邮件安全 | 邮件营销 | 移动电邮 | 邮件软件下载 | 电子书下载

邮件网络安全

系统安全 | 邮件软件漏洞 | 攻防技术 | 安全基础 | 病毒公告 | 病毒查杀 | Forefront/TMG/ISA | 防火墙 | 数字签名 |
首页 > 邮件网络安全 > 软硬件防火墙 > KWF下的BitTorrent下载讨论 > 正文

KWF下的BitTorrent下载讨论

出处:ISAServerCN.org 作者:紫川枫 时间:2004-8-9 12:53:00

开始接触Kerio Winroute Firewall也是因为BT下载的原因,由于是内网用户,白天下载的速度最多不会超过10K,与我最初的期望相去甚远,终于到了无法忍耐的地步,也就有了对BitTorrent下载深入研究的兴趣。

   首先说说我的网络拓扑,512K ADSL拨号Modem(电信所说的512K其实与我们理解的不一样,512K=512Kbps=512K bits/s=64K bytes/s,也即个人用户所能独享的最大下载带宽只有64K/s),代理服务器Windows 2000 Advanced Server+SP4,使用Kerio Winroute FireWall 6.0代理上网,没有安装第三方防火墙和杀毒软件。局域网内BT下载客户机为Win98

   如果你是外网用户,那么BT下载没有任何问题,基本上不需要做任何的配置就能达到理想的下载效果。怎样区别内网和外网,论坛上有很多类似的帖子,在这里我就不罗嗦了。

   很多帖子都提到通过端口映射来提速,个人认为完全没有必要,对于内网用户来说是个误导。这是根据BitTorrent协议使用Sniffer分析数据包得出来的结论。

 

BT原理

   其他的P2P软件相比,BT有个独特的地方,它存在一个中间的WEB服务器,就是我们在发布时所填写的announce,该服务器提供了发布的统一管理。BT 打开一个 torrent文件后,先要你选择文件保存哪里。然后判断该文件不存在的话就建立新文件,存在的话就用 Sha1 校验码去校验文件---错误的就是还没下载的,这样就可以实现续传了。

   现在知道要下载什么了,到哪里下载呢?这就要寻找有谁提供上传了,BT是通过WEB服务器来实现的,首先BT会通过分析 torrent 来得到发布网址,从而建立与服务端的连接。

 

l          网环境BT客户端与WEB服务器建立TCP连接的过程

 

 

 

Source Address 61.194.98.92           ADSL拨号软件从ISP处获得的外网地址

Destiation Address 222.141.64.184      WEB服务器地址

Source Port 2198

Destiation Port 8000

我们关注的是封装在TCP帧中的HTTP协议部分:

GET /announce?info_hash=%FE%237eND%ED%3B%08%0A%118TH%03%BE%FD%86%E5%D2&peer_id=exbc%005%E1%F3Q%5EQM%B9%FD%5D%0FJ%33C%7B%BD&port=16351&natmapped=1&localip=61.149.98.92&uploaded=68468736&downloaded=52133888&left=411632144&compact=1&no_peer_id=1&event=started HTTP/1.0

 

Host: btfans.3322.org:8000

 

btfans.3322.org:8000是发布服务器的地址

 

info_hash torrent文件中的 info 部分的Sha校验码,WEB通过它在发布列表找到对应的纪录

 

peer_id 是自身的标识,它是120和当前时间+全球的唯一标识码(GUID)的Sha校验的前八位,共20

 

port 你提供上传的 port,亦即常说的监控端口,这里是16531

 

IP 你的ip地址,没有的话服务器会自己找到,由于是在外网环境,所以IPISP提供的地址61.149.98.92(问题的关键就在这里,如果你是内网用户,那么BitTorrent客户端在此填入的地址即为你的内部分配地址,比如10.10.10.x,这个地址当然是不可路由的,下面我会对内网环境TCP建立过程作相应的比较)

 

uploadED downloadED 你上传和下载了多少,服务器可以用它来做流量分析

left
你还要下载多少个字节

event
状态,告诉服务器你是准备开始下载,还是停止,还是下载完成了

以上这个操作默认 5 分钟做一次,或由服务器设定


服务器中有个一个 track 程序来管理这些请求,得到这一串代码后就会用 info_hash 来查找列表,找到你就可以下载。接着它会反连(NatCheck)你的 IP Port来判断你是内网用户还是公网用户(10.10.10.x这样的地址,它是连不通的,这就是我说的为什么内网用户做不做端口映射其实无所谓)。接下来服务器返回现在正在下载这个文件的所有公网用户的IPport

 

从上图可以看出服务端返回了一个公网用户的IPPort列表

HTTP: 6: d10:done peersi34e8:intervali1800e13:num completedi287e9:num peersi59e5:peersld2:ip14:218.184.78.2317:peer id20:exbc

HTTP: porti6881eed2:ip14:218.81.227.1217:peer id20:exbc

HTTP: 7: 4:porti15949eed2:ip13:61.64.155.1647:peer id20:exbc

HTTP: 8: ? 4:porti10502eed2:ip14:219.197.64.2327:peer id20:exbc 欿

HTTP: ??:porti19856eed2:ip12:61.62.11.1557:peer id20:exbc 蘸鉐

HTTP: ?S_4:porti21213eed2:ip13:210.68.150.147:peer id20:exbc

HTTP: :@?:porti14373eed2:ip14:218.197.203.367:peer id20:exbc

HTTP: '\%_4:porti13425eed2:ip11:219.95.7.177:peer id20:exbc

HTTP: >-O+d4:porti14673eed2:ip12:81.156.58.177:peer id20:exbc

HTTP: _ ?:porti15498eed2:ip14:218.79.175.1637:peer id20:exbc

HTTP: +t4:porti25868eed2:ip13:218.23.104.467:peer id20:exbc

HTTP: __K??:porti26102eed2:ip14:222.83.221.2547:peer id20:exbc

HTTP: {??4:porti17104eed2:ip14:218.81.227.1217:peer id20:exbc

HTTP: 9: 4:porti15949eed2:ip12:218.80.9.2467:peer id20:exbc

HTTP: ?4:porti11458eed2:ip13:220.173.6.2407:peer id20:exbc

HTTP: U o4:porti9711eed2:ip15:219.148.178.2147:peer id20:exbc

HTTP: _g4:porti13128eed2:ip13:138.88.221.197:peer id20:exbc

HTTP: ?g?:porti15492eed2:ip11:219.95.7.177:peer id20:exbc

HTTP: _?:porti19753eed2:ip12:61.150.43.307:peer id20:exbc

HTTP:

 

d10:done peersi34e8:intervali1800e13:num completedi287e9:num peersi59e5:peersld2:ip14:218.184.78.2317:peer id20:exbc

 

这里Tracker的回应信息以一种简单高效可扩展的格式(BencodingB编码格式)传送。
 
  B
编码的规则如下:
 
  ·
字符串表示为前缀十进制的字符串长度加冒号再跟原字符串。
 
4:spam就相当于'spam'
  ·
整型数据的表示是前面加'i'后面加'e'中间是十进制数,如i3e就相当于3i-3e就是-3。整型数据没有长度限制。i-0e无效,所有以'i0'开头的除了代表0i0e,其它都无效。
  ·
列表编码为一个'l'开头,后面跟它所包含的项目(已经被编码过)最后加一个'e',比如 l4:spam4:eggse 就等于 ['spam', 'eggs']
  ·
字典编码为一个'd'开头,后面是关键值(key)及其对应值轮流出现,最后加一个'e'
 
如:d3:cow3:moo4:spam4:eggse 相当于 {'cow': 'moo', 'spam': 'eggs'}
      d4:spaml1:a1:bee
相当于 {'spam': ['a', 'b']}
 
关键值必须是处理过的字符串(用原始字符串编码的,而不是数字字母混合编码的)。

interval 1800
是告诉 BT 隔多少秒来查询一次seedpeer这里是 30 分钟,如果你是公网用户它会把你提交的 IP Port 放到info_hash 对应的列表中,这样其它人就可以找到你。

 

同样我们可以注意到,公网用户的监听Port都是随机选择生成的,换句话来说,监听端口只是为了方便别人找到你。对于内网用户来说,即便你在网关上做了监听端口的映射,但是由于在与Tracer通讯的数据包中填入的是你的私有地址,Tracer就不会把你的IPPort放入列表。因此你只能主动发起对列表中公网用户的连接,而没有远程端能找到你。

网环境下客户端与服务端的TCP通信

前面说过,内网环境下,客户端与WEB服务器通信过程唯一不同的地方就在于填入的IP地址是本身的私有地址

 

GET /announce?info_hash=%FE%237eND%ED%3B%08%0A%118TH%03%BE%FD%86%E5%D2&peer_id=exbc%005%C8%8DqnvF%BFj%E4%12P%9E%D1%FC&port=15600&natmapped=1&localip=10.10.10.8&uploaded=299663360&downloaded=188547600&left=275317264&compact=1&no_peer_id=1&event=started

Host: btfans.3322.org:8000

 

综上所述,在内网环境下即便进行了端口映射,也因为Tracer不会把你提交的私有地址和端口放入info_hash列表中而导致没有远程端能主动发起与你监控端口的连接,所以下载的速度不会有根本的改善。除非你能强制客户端程序把你共享上网的IP提交给Tracer服务器作为你的绑定地址。

 

 

比特精灵就正好有此项功能,同时它还能提供所有Windows平台UPnP端口映射功能,包括Win98MeXP,但是2000并不支持UPNP,弥补这一缺陷的办法是在Windows 2000代理服务器上安装Winroute Firewall。不需要做任何的端口映射,启用它的UpnP即可。

 

接下来,在内网客户机安装BitSpirit,官方下载地址http://www.17yy.com/bs/

 

安装好以后会生成一个检测UpnP设备的程序,按提示步步往下走即可,它会自动查找安装在代理服务器的WinRoute FireWall

 

查找成功后会生成提示

 

 

最关键的一步:

选项->个人设置->高级,在“强制指定IP”一栏前打勾,填入代理服务器拨号上网后ISP分配的公网地址

 

这样设置就行了,让我们来做一下验证,查看BitSpirit的网络状态日志:

 

2004-06-22 20:06:11; 正在检查Torrent文件...;

2004-06-22 20:06:11; Tracker服务器获取种子信息 ...;

2004-06-2220:06:11;正在连接服务器:

http://btbtbt.vicp.net:8000/announce?info_hash=%c9%c7%af%3a%27%3bvN%3e%b0kK7%a1%ff%fc%16%2b%c7%cd&peer_id=%00%02BS%5f%da5%c0A%7d%5fVY%9e%8e%89b%9e%94O&port=20272&ip=61.149.98.129&uploaded=0&downloaded=0&left=614727680&event=started;

这样一来,Tracer就把你当成了公网用户,并把你的IPPort放入hash_info列表当中,让其它的BT下载也能找到你,既有本地连接,又有远程端发起的主动连接,从而把内网下载速度提高到极限。

 

如图,平均下来也有60K的下载速度,这已经是512K ADSL所能达到的极限下载速度了。

 

通过以上分析,希望你能对BitTorrent下载能有更深的认识,而不是在端口映射上做文章,那样治标不治本。让我们开始愉快的BT之旅吧!

,
相关文章 热门文章
  • 诺曼底登陆--连接VPN网络
  • KWF 6.01中的Site-to-Site VPN使用说明
  • 使用KWF工具打造与众不同的VPN服务器
  • 浅谈ISA Server 2004、KWF中的路由
  • 再论KWF后的BT下载
  • Kerio Winroute Firewall 6.01 VPN使用详解
  • [图解]如何设置代理服务器?
  • Kerio Winroute Firewall 6.01 VPN使用详解
  • Kerio WinRoute Firewall安装全攻略
  • Kerio Network Monitor完全使用教程
  • CISCO PIX 防火墙及网络安全配置
  • 路由器典型防火墙设置
  • 惊爆!腾讯QQ2003Ⅲ正式版安全出现漏洞(图)
  • PIX防火墙系统管理
  • 邮件服务器与代理服务器软件配合方案
  • 完整的pix525配置
  • 用PIX构筑铜墙铁壁
  • CISCO PIX515E 防火墙的设置
  • 自由广告区
     
    最新软件下载
  • SharePoint Server 2010 部署文档
  • Exchange 2010 RTM升级至SP1 教程
  • Exchange 2010 OWA下RBAC实现的组功能...
  • Lync Server 2010 Standard Edition 标..
  • Lync Server 2010 Enterprise Edition...
  • Forefront Endpoint Protection 2010 ...
  • Lync Server 2010 Edge 服务器部署文档
  • 《Exchange 2003专家指南》
  • Mastering Hyper-V Deployment
  • Windows Server 2008 R2 Hyper-V
  • Microsoft Lync Server 2010 Unleashed
  • Windows Server 2008 R2 Unleashed
  • 今日邮件技术文章
  • 腾讯,在创新中演绎互联网“进化论”
  • 华科人 张小龙 (中国第二代程序员 QQ...
  • 微软推出新功能 提高Hotmail密码安全性
  • 快压技巧分享:秒传邮件超大附件
  • 不容忽视的邮件营销数据分析过程中的算..
  • 国内手机邮箱的现状与未来发展——访尚..
  • 易观数据:2011Q2中国手机邮箱市场收入..
  • 穿越时空的爱恋 QQ邮箱音视频及贺卡邮件
  • Hotmail新功能:“我的朋友可能被黑了”
  • 入侵邻居网络发骚扰邮件 美国男子被重..
  • 网易邮箱莫子睿:《非你莫属》招聘多过..
  • 中国电信推广189邮箱绿色账单
  • 最新专题
  • 鸟哥的Linux私房菜之Mail服务器
  • Exchange Server 2010技术专题
  • Windows 7 技术专题
  • Sendmail 邮件系统配置
  • 组建Exchange 2003邮件系统
  • Windows Server 2008 专题
  • ORF 反垃圾邮件系统
  • Exchange Server 2007 专题
  • ISA Server 2006 教程专题
  • Windows Vista 技术专题
  • “黑莓”(BlackBerry)专题
  • Apache James 专题
  • 分类导航
    邮件新闻资讯:
    IT业界 | 邮件服务器 | 邮件趣闻 | 移动电邮
    电子邮箱 | 反垃圾邮件|邮件客户端|网络安全
    行业数据 | 邮件人物 | 网站公告 | 行业法规
    网络技术:
    邮件原理 | 网络协议 | 网络管理 | 传输介质
    线路接入 | 路由接口 | 邮件存储 | 华为3Com
    CISCO技术 | 网络与服务器硬件
    操作系统:
    Windows 9X | Linux&Uinx | Windows NT
    Windows Vista | FreeBSD | 其它操作系统
    邮件服务器:
    程序与开发 | Exchange | Qmail | Postfix
    Sendmail | MDaemon | Domino | Foxmail
    KerioMail | JavaMail | Winwebmail |James
    Merak&VisNetic | CMailServer | WinMail
    金笛邮件系统 | 其它 |
    反垃圾邮件:
    综述| 客户端反垃圾邮件|服务器端反垃圾邮件
    邮件客户端软件:
    Outlook | Foxmail | DreamMail| KooMail
    The bat | 雷鸟 | Eudora |Becky! |Pegasus
    IncrediMail |其它
    电子邮箱: 个人邮箱 | 企业邮箱 |Gmail
    移动电子邮件:服务器 | 客户端 | 技术前沿
    邮件网络安全:
    软件漏洞 | 安全知识 | 病毒公告 |防火墙
    攻防技术 | 病毒查杀| ISA | 数字签名
    邮件营销:
    Email营销 | 网络营销 | 营销技巧 |营销案例
    邮件人才:招聘 | 职场 | 培训 | 指南 | 职场
    解决方案:
    邮件系统|反垃圾邮件 |安全 |移动电邮 |招标
    产品评测:
    邮件系统 |反垃圾邮件 |邮箱 |安全 |客户端
    广告联系 | 合作联系 | 关于我们 | 联系我们 | 繁體中文
    版权所有:邮件技术资讯网©2003-2010 www.5dmail.net, All Rights Reserved
    www.5Dmail.net Web Team   粤ICP备05009143号