今天,世界上历史最悠久的P2P文件共享网络——eDonkey 2000 Network(简称:eD2k) 也就是我们所熟悉的电驴网络,迎来了自己的10岁生日!
电驴诞生10周年
前言——P2P文件共享诞生
1999年当时18岁的Shawn Fanning(肖恩。范宁)还在波士顿东北大学上学,他的同学抱怨在网上寻找自己喜欢的音乐然后下载的过程实在讨厌,于是决定看看能不能绕过Web网 站,让人们直接互相交换各自的收藏。于是他在自己的宿舍里创造了一个改变互联网历史的东西,他花三个月的业余时间写了一个小程序,并用自己中学时候的外号 为其命名为“Napster”(指他头发总是湿的),这样学生们无论在哪里,只要连上网就能把自己拥有的音乐文件共享并下载别人共享的音乐,从此 Napster开启了P2P文件交换与共享的大门,到2001年的时候已经超过5000万用户,学生们为之疯狂,唱片公司们为之抓狂。
Napster创造了一种分散型的个人对个人的信息交换模式,点对点的文件交换,这就是P2P(peer to peer)的由来,它颠覆了互联网诞生以来占主导地位的“服务器/客户”这种中央集权式的信息传播方式。很快,各种各样效仿Napster的程序和p2p 网络的设计纷纷出现。也正是从此,P2P文件共享(P2P filesharing)这一互联网历史上的重要应用开始了它曲折但极富生命力的发展。
一头改变世界的驴子——电驴诞生
2000年9月6日,美国人Jed McCaleb在网站上发布了一条消息,“The Donkey is Born :: 09.06.00”,一头改变世界的驴子出生了,一种新的P2P文件共享网络“电驴网络”(eDonkey 2000 Network)诞生了,仅10天后,Jed又发布了支持Linux的电驴客户端和服务器端软件。根据Jed的解释,电驴名称的含义 为:electronic donkeys(电驴,电子驴,意思可不是有网瘾导致被电的驴子,那时候也没有网瘾这么高级的词汇)。
电驴诞生
和当时大多数P2P文件共享网络一样,电驴网络也由客户端和服务端两部分组成,但是Jed开发的电驴更有自己的特色,客户端可以共享任何文件而不仅 仅限于音乐文件,用户还可以制作收藏集来收藏和共享多个文件,可以随意搜索任何连接到网络里的其他人所共享的文件,可以从任何客户端那里下载同一个文件的 某个部分,有命令行和图形界面的控制方式来随意选择,客户端之间有唯一的身份标示,服务器端没有一个唯一的中央服务器,任何人都可以建立运行自己的服务器 端,服务器之间可以相互联系,组成一个庞大的更类似于“泛中心化”的网络。
电驴网络结构
起初,Jed为电驴设计了4种logo,说实话很糟糕,怎么糟糕如图所示。
电驴放弃的logo图
Jed最后向用户们征求电驴官方logo设计稿件,最终选择了更加抽象简洁的“驴脸”符号作为电驴的官方标示。电驴终于有了自己的形象。
电驴(国籍:美国)出生于2000年9月6 日。
2001年的时候,Jed不知道为什么突然想改掉电驴的名字。
作者Jed差 点改了电驴的名字
电驴的客户端界面依然是传统的p2p文件共享程序的界面,简单的分为:共享文件,搜索文件,下载文件,好友,IRC聊天室,收藏等几个功能。为了让 搜索功能更加强大,Jed为搜索增加了布尔运算和表达式搜索功能,除了集成的图形界面版客户端,还有分离的核心程序和控制程序供用户选择,甚至用户可以通 过Web界面,用浏览器来管理家里运行的电驴。
一个叫David Qiao的开发者为电驴制作了Java版本的控制器
由于可以建立自己的服务器,可以更加随意的共享和交换任何类型的文件,电驴很快成为了大学生们的新宠,并在全世界的大学校园里流行起来,2001年 左右的大学生们应该见过下面这个当时简陋却强大的界面,无论你在哪个国家,都可以不受阻碍的相互找到各自共享的好东西,绝对的好东西。
电驴早期版本
中心模式的局限性与改进
正像传统的“服务器/客户”这种中央集权式的信息传播方式的局限性一样,虽然P2P的出现打破了这一局面,用户不再从服务器下载文件而是相互之间传 递文件,但是由于每一个用户共享的文件都需要被中央服务器索引,以便其他用户查找,所以对服务器端的依赖性依然是不可避免的,即使人人都可以建立的服务器 端。很快开发者们意识到了这其中的局限性,一些P2P软件比如Kazaa就可以完全实现了不经过服务器索引的文件交换。
2002年美国纽约大学的两位年轻人Petar Maymounkov和David Mazières发表了一篇论文《Kademlia: A peer to peer information system based on the XOR metric》,在这篇论文他们设计了一个叫Kademlia的网络,以达成完全非集中式的P2P网络。这很快引起了当时开发者们的注意,电驴的开发者当 然也不会袖手旁观,很快发布了新的无中央服务器的分布式文件共享网络,基于Kademlia的Overnet网络,以及支持该网络的Overnet客户 端,并在2004年在Overnet成熟以后,被内置到最新电驴官方客户端中,这样电驴就同时支持两种网络,传统的电驴网络(ed2k)和分散型的 Overnet网络,从此即使你连不上任何电驴服务器,你也可以通过Overnet与其他电驴用户交换文件。如图所示,当时的电驴客户端设置里,默认支持 Overnet网络。
电驴增加支 持overnet网络
这些锐意进取的突破,让电驴在2004年超过了当时的P2P文件交换网络的老大——Kazaa(使用FastTrack网络),到了2005年的时 候,又一举反超当时的后起之秀文件发布网络BitTorrent成为使用流量第一位,占据了文件交换流量的51%之多,显示了当初设计者的强大之处。这时 候的电驴界面已经好看多了,而且支持皮肤功能。
电驴软件界面图
感谢 editor 的投稿