前段时间快播案的一句“技术本身并不可耻!”在技术行业圈里流传了起来。
快播使用的是P2P(peer to peer)分享传输技术,实际上是在基础应用层上每天都在使用的东西,只不过大部分人每天都在用却完全不知道:BT下载和“种子”、电驴和迅雷、youtube和优酷、爱奇艺、暴风影音和百度影音等等非常非常多的应用,都用的是这项技术。
“种子”是怎么来的?为什么P2P会有如此广泛的应用?它和快播一案有什么关系?我们需要了解一下P2P传输技术的发展历史,以及有关P2P技术的著名案件。
“网络就是计算机”?
十几年前的互联网很简单,接入速度也很慢。不过在用户量较少数据交换量也小的情况下,一台服务器面对几百个用户基本上绰绰有余。随着互联网用户的飞速增长,网上提供服务的网站服务器的压力也变的越来越大,满足不了成几何级数增长的用户需求。那时候别说网上在线看视频,在线语音聊天都是奢望,最火的是在线文字聊天室和email。
当时著名的Sun公司首席执行官斯科特·麦克尼尔利(Scott McNealy) 提出了“网络计算机”的概念。这个概念实际上并没有被广泛应用,但它后来被引申成为了完全不同的另一种概念:“网络就是计算机”。
简单来说,就是每一台接入网络的计算机的键盘都是这个巨型计算机的输入设备,每一台计算机的显示器就是这个巨型计算机的输出设备,每一台计算机的硬盘(包括服务器和个人电脑)都是这个巨型计算机的存储设备。当基础网络线路和硬件设备达到一定普及程度时,网络就不再是由网线和光纤连接成的一台台独立的计算机设备,变是成了一个整体,整个网络便成为了一台巨大的计算机。
“整个网络是一台计算机”的概念催生了最早的P2P软件Napster。制图:大炮小白兔
Napster:最早的P2P、“种子”的种子
在 “互联网就是一台超巨型计算机”的概念提示之下,1999年,美国波士顿东北大学有一位怪才学生肖恩•范宁为了解决自己和舍友下载音乐速度慢的问题,把当时已很成熟的“即时消息传输技术”、“微软的网络映射技术”、“搜索引擎技术”和“筛选技术”等,揉在一起拼成了一个名叫Napster软件,这便是最早的P2P(peer-to-peer,对等网络/点对点)分享技术,也是现在各种P2P分享传输技术的雏形。
它的基本原理是,当电脑上启动Napster软件,Napster软件就会将你的计算机变成一台可提供上传下载服务的微型服务器,既可以为你下载文件,同时也为其他使用Napster软件的用户提供下载。
Napster有一个中央索引服务器。除了文件名列表以外,不提供任何一个文件下载。所有的文件下载,文件的互相传输都是在Napster软件用户的计算机上,由Napster用户来完成。即是说,我的计算机可以从加州大学保罗的计算机上下载一首《凤凰传奇》,也可以从哈佛大学林肯的计算机上下载一首《小苹果》。与此同时我的计算机还为耶鲁大学的霍华德提供《最炫民族风》的下载。
Napster软件界面。 图片来源:tg24.sky.it
但这里面有几个问题:如果我用Napster免费下载了别人电脑里的付费内容,这算不算侵权呢?如果是违法内容呢?
Napster的侵权案件
就上面的例子而言,Napster本身作为工具,即不生产mp3音乐,也不复制mp3音乐文件,用户是直接从其他用户的计算机上下载mp3音乐文件。而这种分享行为自然引起了音乐版权所有者的不满,美国唱片业协会和美国音乐出版商协会联合向法院起诉Napster公司。
法院认定:
(1)Napster知道在其系统上存在着侵犯原告版权的文件,但没有阻止提供侵权材料者登陆其系统,反而提供“网站和技术”等服务支持,方便其用户搜索和下载文件,Napster的行为已构成辅助性侵权。
(2)Napster没有对其系统中的文件列表进行监控,并且不断从其系统上可以获得的侵权文件中获利,从而认定Napster应该承担代理侵权责任。Napster尽管不是MP3音乐文件的提供者,但是它自始至终都处于一种参与终端用户相互交流MP3文件的地位。
2000年7月,在旧金山地区法院裁定,Napster对唱片业版权构成了侵权,并下达了关闭Napster公司的预禁令。2001年2月,美国第九巡回上诉法院对此案作出判决,要求停止把Napster软件透过互联网供人免费下载,理由是该软件让网友透过互联网交换Mp3音乐档,涉及侵犯著作权。Napster提出上诉,二审依然判其败诉。
BitTorrent和“种子”的诞生
就在Napster二审败诉的当年,纽约州立大学布法罗分校的辍学生布拉姆·科恩(Bram Cohen)编写了首款BitTorrent客户端,其主要依靠的是BitTorrent内容分发协议,这比Napster更为细致。
BitTorrent协议允许用户把文件分解成许多许多小块并给每一个碎块生成一个标识码,每个用户可以分别从不同的其他用户处下载一个个小块,最终依据标识码拼成完整的一个文件。
举个例子吧:一列火车10节车厢,每节车厢有100个座位,那就是满载的话是1000名乘客。这些乘客每人都有自己的名字,自己的座位号,凭票上车,分别从不同的车厢入口上车,直到坐满(即下载完成)。然后到站时下车也是分别从不同的车厢出口下车,从火车站不同的出口离开,最终各自回到自己所在地门牌编号皆不同的家中(即分布式上传)。每个BitTorrent用户都是一个微型的服务器节点,在自己下载的同时也成为让其他用户下载的服务器。 “人人为我,我为人人。”
发展到最后BitTorrent不再需要索引服务器的支持,只要有完整文件的标识码,即可开始加入分享网络,每个BitTorrent用户自己既是服务器又是客户端,想分享什么文件了,只需要按统一规则给文件制作完整的标识码,再把标识码发给其他的BitTorrent用户即可——
这就是你们求的BT种子。
BitTorrent软件界面。别问了,那些wmv结尾的是正经影片。图片来源:wiki.smu.edu.sg
当然,和Napster类似,BitTorrent也面临这样的问题:版权和用户上传的违法文件。
BitTorrent的相关案件
BitTorrent发明人布莱姆·科恩声称他从来没有侵犯过用BitTorrent来传输的文件的版权,事实上也从来没有被正式起诉过。但BitTorrent的用户和BT种子搜索引擎均曾被起诉。
香港海关曾指控陈乃明在家中上载3套未经版权持有人授权的电影。陈乃明的辩护律师指出陈的行为只是使档案“可供取用”,而非“发布”。此案的终审法院法官认为,复制行为不一定牵涉实物,也不同意陈乃明声称过程被动的讲法。因为他一直让电脑在线,又启动BT软件,确保下载者得到完整电脑档案,犹如有人提供汽水机,由市民付款买汽水一样,属于主动发布的侵权行为。
BT种子搜索引擎ISO Hunt也曾被美国电影协会所起诉。ISO Hunt运营者加里·方表示,ISO Hunt与谷歌一样,只是提供了一种检索服务。但法官威尔逊仍然裁决ISO Hunt的行为违法。他表示,被告的技术无非是“新瓶装旧酒”,ISO Hunt与Napster和Grokster等传统P2P分享网站无异,只不过BT技术更加高级,而且明显增加了侵权的可能性。这是美国法官首次裁定BT搜索引擎非法。
BitTorrent的原理简图。制图:大炮小白兔
P2P在视频网站的应用雏形
虽然仍有许多问题,但BitTorrent解决了过去从同一个服务器下载的用户越多,带宽越拥挤,下载速度越慢的问题。反而形成了“同一个文件下载用户越多,微型服务器越多,下载速度则会变的越快”的现象。如此以来整体互联网的下载速度岂是成倍提升,简直是从自行车到飞机的跨越。
随着BitTorrent协议的推广,越来越多的技术人员发现了P2P技术的发展前景,也看到了互联网发展的曙光。过去由于服务器带宽成本问题无法提供的在线流媒体视频播放,得益于P2P技术而得以实现。而为了能够最大程度的获得商业利益,同时又不惹上官司,大部分网站都会采用会员制,必须注册会员才能上传视频。
这里是上传到视频分享网站的服务器上,并不是直接通过P2P技术进行分享。经过网站审核后,才可以发布到视频分享网站。这里也会显示上传人,也就是责任人。只有在用户打开网页的时候视频才会开始播放,刚开始播放时也是直接使用传统方式从网站服务器进行下载播放,这时候基于文件分块标识的技术开始作用,即使没有把视频文件完整下载,也可以开始播放。这个未完成下载就已经可以播放的文件,被称之为“缓存文件”。
当播放到一定程度时,也就是缓存文件达到一定大小时,P2P技术开始起作用,将已下载的缓存文件中的小块上传,提供给其他用户下载。这就是在刚打开在线视频会提示“正在缓冲”然后非常卡顿的原因。然后多看一会儿就不再卡顿时就进入了P2P技术开始起作用的阶段,周围缓冲量多的用户开始为你提供下载,而你同时也开始为其他用户提供下载,达到一定的用户数量,用户数量越多,速度越快,就越流畅。
P2P应用的发展和改良
刚打开在线视频的“正在缓冲”,这一开始的卡顿也是非常影响体验的,于是缓存服务器技术出现了。视频分享网站事先在某些用户量较少的区域布置较大带宽的缓存服务器,其中只缓存最近时段点播最多的视频文件。然后,这个视频分享网站吸引了越来越多的用户,用户越多,速度就越来越快,看视频就越来越流畅。
然后视频分享网站服务提供商逐渐发现仅仅是在网页看单个视频时使用P2P技术,远远达不到某些高清视频的播放速度需求,如果要再提高,那么缓存服务器成本及带宽成本也会随之提高。于是服务商开发了自己的P2P客户端。
它会将用户看过的视频缓存到用户的计算机里,在使用客户端看视频的同时,也会将看过的视频缓存文件进行上传,给其他客户端用户提供下载。
这些影片不仅仅限于当前观看的,也包括以前观看过缓存过的视频文件。客户端会开启独立的p2p传输进程,即使在未开启客户端时也会保持运行。用户在使用客户端观看视频的同时,也成为了其他用户的微型服务器,使用客户端的用户越多,微型服务器也就越多,下载速度也就越快,播放也就越流畅。
最初各个视频分享网站之间是互相敌视的,装了这家的客户端,再装另一家的客户端,那么两家看视频都会出现严重卡顿。但是服务商们很快意识到了问题,开始允许自己的客户端识别对方的缓存文件,并给自己的用户传输,于是更具规模的P2P分享网络诞生了。
P2P作为一项技术,其本身并不可耻。但失控的P2P分享网络可能引发一系列问题。目前最著名的案例,就是快播了。
快播一案掀起轩然大波,这和它使用的技术有关系吗?图片来源:wikipedia.org
P2P视频软件的相关案件:快播
快播的确使用的是P2P分享式传输技术。快播并没有建视频分享网站,也就是所谓的自己本身不制作不提供视频文件,只是一个视频分享的工具。所以快播软件实际更接近于BitTorrent,甚至可以直接打开BT种子文件进行下载。任何一个快播软件用户都可以直接分享一个种子文件,然后由其他快播用户来互相传输。所不同的是,快播软件在提供分享式传输的同时,还可以进行视频文件播放。
不过谁分享了什么,谁播放了什么,快播自己并不能控制。因为快播最初没搞会员制,不注册都能使用快播来分享视频文件,任何人只要下个快播软件就能成为快播的微型服务器,在观看视频的同时给其他用户提供视频文件下载。
任何有点网龄的人都会知道,“种子”是一个多么“神奇”的东西。而P2P的一大特点就是用户越多,流畅资源越丰富。于是许多盗版和色情视频网站站长直接把快播拿过来开始用于分享自己网站上的非法视频,快播立刻就火了。2008年底快播的单日用户量突破了1500万,后期活跃用户总量大概是4亿。对于一个软件来说,破亿的用户量是怎样一种情况?
仅凭快播员工,这破亿的用户根本无法管理无法控制。然后网警就开始介入,快播这时候发现自己的P2P分享播放软件,已经完全处于一种失控的状态,开始试图改变。快播更新版本开启了会员注册审查制度,同时建立了与网警相连接的110系统。
但快播已经失控了。
快播发布新版本,用户并不买账,依旧用旧版本。这些用户里也有懂技术的程序员,甚至有人将快播早期的客户端修改之后使用,完全跳过更新指令,照样免费分享。甚至有些色情网站的站长,直接修改出了自己网站版本的快播软件。这个巨大到恐怖的分享网络,想一朝一夕立即改变现在的状况,除了关门,恐怕再也没有更好的办法了。快播完全没意识到恢复控制需要下多少功夫,花费多少时间。然后,有关部门等不及了要求全面封禁。
快播一案的思考
我们注意到,在庭审中有两项关键证据:四台服务器和2万多淫秽视频文件。但这就可能有问题了:之前不是说P2P是把所有用户作为微型服务器吗,为什么自己也有服务器?而且快播自己也不需要储存缓存文件啊?那么在庭审中作为关键证据那四台服务器是什么?认定的2万多淫秽视频文件又是什么?
如果说这四台服务器是用作初始种子发布使用,那么对于已拥有4亿用户,拥有4亿微型服务器的快播来说,这似乎完全没必要。 要是个新开的色情网站站长的话还是有可能的,不过没有哪个站长会把片源文件都放到本地同一组服务器里。
缓存文件也是。有人看有人用有人下载才会缓存,没人看的片,缓存它又占带宽又占存储,缓存它的意义何在?那么这几台服务器是仅面向本区域的缓存服务器吗?很难想象这个区域的用户没事儿整天都在看淫秽视频。
不过庭审里,我们能发现两个关键词:“网联光通”和“小区宽带”。其实早年经常去网吧的都知道,有一段时间,各大网吧为了网速会购置一台服务器,上面放满电影什么的让用户看,免的用户再开BT下载占用别人玩游戏的带宽。也许这四台服务器也是此种功能?
无论是何种原因,随着互联网的发展以及信息数据交流速度的提高,技术也再不是闷头憋在小黑屋里做的事情了。