转贴-日系P2P原理探究-日本本土文件共享软件绍介
emule吧
全部回复
仅看楼主
level 10
az13ds2 楼主
[啊!]转贴网址因百毒会删故请有兴趣和原作者交流的网友自行google关键词“日本 p2p”即可获知。(注本人用百毒试验过搜索同样的关键词结果第一页没有本文)
2013年04月21日 14点04分 1
level 10
az13ds2 楼主
我为人人、人人为我的P2P精神
图片来自: az13ds2的百度相册 原文发布日期:九-18-2012[摊手]序:从BT,IP-TV系列之后,好一阵子没有回到P2P主题上了。 一方面是因为懒(这类的题目要做功课啊…),另一方面则是对这次的主题感到相当惶恐。 惶恐? 因为这次我要讲的P2P软件主题,是在台湾不甚流行(其实也只有日本流行)的Winny。 由于我(原文作者)自己亲身接触Winny的经验少之又少,对日文又不了解,只能从一些相关的中文新闻与讨论看到旁枝末节,因此接下来的文章如果有明显谬误的话,还请各位不吝指正。
2013年04月21日 14点04分 2
日本新一代p2p软件简易教程——perfect dark,https://tieba.baidu.com/p/3006826272
2014年04月26日 18点04分
level 10
az13ds2 楼主
日本所流行的P2P软件与世界其他各地非常不一样。 根据Winny传输节点数趋势分析,2006年4月为止,Winny用户数已在44万到53万之间,再来据说是WinMX,第三是Share,约有10~15万人次。 听惯BT和eMule的朋友一定觉得很奇怪,日本人干什么偏偏要特立独行,别人在用eMulel你们偏偏爱用自己写的Winny呢? 其实说起来也没这么奇怪,早期的P2P软件(像是Napster啦,Audiogalaxy等等)是只支持英文的,想找其他语言的可麻烦了。 还记得以前我在Napster上打”faye”(王菲英文名),跑出来一堆”chi_ai_mo_sen_ran”(只爱陌生人)…。 在这种情况下,想用自己语言的日本人只好自己写啰,这套软件后来大家用惯了,也就不想改用eMule了。 这就是本系列的主角:Winny。(台湾人也自己写过中文的P2P啊! 别忘了ezPeer与Kuro这两套软件)
Winny的作者叫做金子勇(Isamu Kaneko),如果对这方面新闻有印象的人,应该知道他也是日本论坛2ch的乡民之一。 他在2ch上的代号叫47氏,也被称作Mr.47或直接叫47。 关于金子勇本人的创作源起与后续发展,在下一篇会探讨。 金子勇约在2002年中时在2ch上发表这套软件,到了2003年12月时winny已经成为日本最大的p2p软件,约有25万人使用。
金子勇(1970年7月-)是栃木县出身的程式设计师、工程博士,前东京大学情报理工学系研究院研究科助手,档案分享软件Winny的开发者。栃木县立栃木高等学校、茨城大学工学院毕业,同大学研究所修毕。(粗体字内容来自维基百科)
金子勇曾经出过一本书叫做《Winnyの技术》(注1)。(下图为该书的两个版本)
当中详细解说了Winny的原理,不过尴尬的是,通篇是以日文写成,在网络上也找不到中文或英文的翻译。 幸好,虽然看不懂日文,但是该书却写满了另外一个著名的P2P网络:Freenet(谐音“紫油”网)的名字。 从Freenet的架构以及各种winny相关的介绍文章看来,极大部分的Winny承袭了Freenet理念与演算法。也好,今天这篇就让我们从Freenet着手,看看winny的创作理念是什么吧!
2013年04月21日 14点04分 3
level 10
az13ds2 楼主

“自油”网(Freenet)是一个使用点对点技术的网络软件,是由Java编写的跨平台软件,由各个Freenet机器分享带宽来而自成一体为可匿名发布信息的网络。(维基百科)
2013年04月21日 14点04分 4
level 10
az13ds2 楼主

Freenet 标志
图片来自: az13ds2的百度相册
2013年04月21日 14点04分 6
level 10
az13ds2 楼主

Freenet是以Ian Clarke为首的一群美国人所研发的。
Ian Clarke
图片来自: az13ds2的百度相册
2013年04月21日 14点04分 7
level 10
az13ds2 楼主
他们的创作理念在论文当中写得非常清楚。 他们想创造的p2p网络是:
Anonymity for both producers and consumers of information
Deniability for storers of information
Resistance to attempts by third parties to deny access to information
Effcient dynamic storage and routing of information
Decentralization of all network functions
翻译成中文就是
匿名地发布与分享资讯
无法知道谁是资料源头
无法让人查出你储存了什么资讯
快速的档案更新与网络资讯更新
所有功能都以分散(纯P2P)的方式进行
2013年04月21日 14点04分 8
level 10
az13ds2 楼主
Ian Clarke认为,真正的言论“子油”来自于完全的匿名,所以才会开发出这一套“不知道档案源头是谁,也不知道分享给谁”的软件。当然,这也引起了卫道人士的抗议,认为会被有心人士用来分享违法资讯,像是猥亵“二童”图片或是违法影音档等等。其实这类议题几乎是P2P分享软件的宿命了,一直游走在法律边缘。不过这不是今天的重点,我们先来探究Freenet是怎么运作的吧!
freenet是一套纯p2p软件,换言之,在系统中没有任何伺服器(服务器)的存在,因此一个使用者若要进行搜寻,只好像我先前在透视BT4中所说,派出小蚂蚁们去向各个邻居敲门了。 过程如下:
2013年04月21日 14点04分 9
level 10
az13ds2 楼主
图发不出,大家自己google原文吧
2013年04月21日 14点04分 11
level 10
az13ds2 楼主
整个流程用文字表达大概是:
a问b,b问c,c说不知道;
b问e,e问f,f竟回头问b,b当然不知道;
e再问另一个邻居d,终于在d处找到档案。
经过这一番折腾(图论上把这种方式称为DFS : Depth First Search),终于找到一个有档案的人了。 那么d会直接将档案回传给a吗? 错了,其实在整个过程中,每个人只知道发讯息问他档案的人是谁,并不会纪录谁是最源头,像e就只记得b向他问档案,而e最后是把这个问题丢给d去处理;b也只记得a曾经问过他,而b最后是在e处找到解答的;每个人只记得谁问他这个问题,以及他把这个问题丢给谁。在这种情况下,d仅能把档案丢给e,而e也只知道上游是b,b最后再把档案丢还给他的上游,也就是一开始的询问者a。
稍微熟悉一点网络运作的人一定会觉得这样超没效率;要档案的人是a,干麻沿路不作纪录,直接让d回传档案给a就好了啊! 何必这样沿路传,结果a,b,e,d电脑里面都有一份档案备份呢,而且a还要等b,e传完档才能下载?呵呵,可别忘了这套系统的目标在于匿名分享啊!让我们来看看这种做法有什么好处:
a可以不承认自己是下载者。 a可以谎称是另外一个上游x想要这个档案,a只是好心帮忙问而已
d可以不承认自己是档案源头。 d可以谎称是另一个下游y拥有这个档案,d只是好心帮忙问而已
如果该档案是该区网络(a,b,c,d,e,f)人人都想要的热门档,这么一来不但b,e不用搜寻就会拥有档案,而且下次c或f想搜寻这个档案的时候,随便问一个人都抓得到。
网络上关于winny的讨论文章,总是会很惊奇说:“我又没有下指令说要抓这个档,为何我电脑会自动出现这个档,而且还正在上传给我不知道的人?” 这就是原理所在了。
Freenet上值得一提的还有“发布档案的过程”。 假如今天a手上有一个新档案,freenet软件侦测到后会自动发一个搜寻的讯息出去,先看看网络上是不是已经有同名的档案。 如果网络上已经存在同名档案,则a会收到别人寄来的档案,证明档案撞名了;如果找了好几个人都找不到同名的档案,则a会很高兴地将手上的档案依着最后的路线发布出去。从前例看来,如果找到d时放弃的话,则发布路线会是a->b->e->d。
Freenet的档案搜寻与新增功能,从一方面看来有助于档案的散布,但从另一方面看来,也可说是浪费了大量的频宽,将档案散布给不知道需不需要的人;而且搜寻极没效率,只能搜索附近几个认识的邻居;因此我在年少的大学时代,幼稚地认为这套系统只会停留在学术研究阶段,不会大红;哪知道Freenet经过金子勇的改写之后,以Winny的姿态红遍东瀛,从2004至今,仍稳坐日本最热门的P2P软件。 如果各位版友对日本动漫画有狂热兴趣,相信对这套软件应该不陌生才是。
下一篇来写写Winny的缘起,以及它在日本掀起的滔天巨浪,敬请期待。
注1:该书现在仍在销售(比如亚马逊神马的,我会跟你说咩?)
2013年04月21日 14点04分 12
level 10
az13ds2 楼主

日系P2P原理探究(二) —— Winny, 日本崛起
2013年04月21日 14点04分 13
level 13
[啊]
2013年04月21日 14点04分 14
level 10
az13ds2 楼主
上一篇提了Winny的运作原理,现在让我们来了解一下Winny这款软件的缘起吧。
Winny作者金子勇(Isamu Kaneko),原是日本东京大学的资工所研究助理,也曾在日本自动化能源研究机构(Japan Atomic Enerygy Reserch Institue)待过一阵子。 他最初在2ch是以匿名身分发表文章的。 由于2ch乡民对匿名者都直接以文章编号称呼之(有点类似Ptt上常讲的五楼),因此他的网络化名就变成47号。
2013年04月21日 14点04分 15
level 10
az13ds2 楼主

Winny作者:金子勇
2013年04月21日 14点04分 16
level 10
az13ds2 楼主

在2002年Winny出现之前,日本本地最流行的P2P软件是WinMX。 WinMX使用与Napster相当类似的网络架构(Opennap)。 使用者先连到一个服务器(日文术语叫”鲭”),然后才能与在同一个鲭的使用者交换档案。 WinMX有一个特点,就是每个人能控制要把档案分享给谁,因此如果你高兴的话,可以让某个人插队:让他优先从你电脑上下载他要的档案。 这个特性进而衍生出一种交换机制: 要下载时,得先请问对方愿不愿意让你下载,而对方往往是先看几眼你电脑里有哪些东西,如果有他感兴趣的,则两方才会进行下载。 换言之,WinMX的运作方式就像是回到货币还没出现的时代,古早人所采取的”以物易物”。 为了搏取对方的好感,WinMX使用者常被教导要”懂礼貌”: 手上的档案要多,要先把自己手上的档案整理得一清二楚,让对方看你档案清单时能快速找到他要的东西,说话要客气,网络连线速度要开高一点…等等。
虽然WinMX在2002当时在日本就已经相当流行,但金子勇显然对它相当反感。 他曾经说过,WinMX只能算是”交换”软件,而不能算是”分享”软件。 因此在2002年中他独立以c++程序语言,撰写了Winny这款软件。 从名字就可以看出Winny跟WinMX的关系 : winny的”ny”正好就是”mx”的下一个字母,代表Winny比WinMX还要先进。
Winny是从Freenet改写而来,因此许多特性还保留着,包括了Freenet的
匿名连线
下载/档案发布机制
无服务器的搜寻方式
严格讲起来上面这三点都是freenet特有的网络下载机制造成,有兴趣的人可以参考上一篇的说明。
但也由于freenet无服务器的搜寻方式,使用者只能搜寻身边数位邻居,导致可能会找不到想要的档案,因此Winny干脆发展出下面这套方法:
使用者加入Winny时可用一句话,描述自己想抓哪一种类型的档案,接着在往后的日子中,只要遇到跟你描述相当接近的使用者,则你们之间成为邻居的可能性就会越强。 这个描述字眼就叫做Cluster Word (直译: 群组关键字?)。 也就是说,随着时间的演变,Winny的网络大概会长这样:
2013年04月21日 14点04分 17
这点 群集 设定尤为重要 设置查找的类型 日式软件很明显的一个特点
2013年04月29日 07点04分
level 10
az13ds2 楼主
2013年04月21日 14点04分 18
level 10
az13ds2 楼主
三个颜色底分别代表不同Cluster word的使用者们,例如左上角可以想像成是使用”电影”作为关键字的群组,右上角是”音乐”,下方是”动画”。 可以看到使用同一个Cluster word的使用者之间连结会比较紧密,因此在群组内搜寻相关关键字时(例如下方的群组成员搜寻”柯南”),找到档案的机率会高得多。
根据网站“奇想空间”的整理,在winny中这类Cluster word大概长得像这样(节录):(
奇想空间是一个网站的名字,网址域名:
blog.comicparty.com,如你想浏览请自己复制域名然后到粘贴浏览器地址栏打开,注意,是英文的)
2013年04月21日 14点04分 19
level 10
az13ds2 楼主

在winny中这类Cluster word里面的内容大概是这样记录的字符(节录):
动画:”寿限无寿限无五劫の擦り切れ海砂利の水鱼水行末云来末风来末食う寝るところに住むところやぶら小路ぶら小路パイポパイポパイポのシューリンガン、シューリンガンのグーリンダイ、グーリンダイのポンポコピーのポンポコナーの长久命の长助”
特摄:”【特撮】好物あんぱん【特撮】”
动画歌:”アニソン共有楽団”
Drama CD:”【Winny】サントラ・ドラマCD専用スレ【氷结野菜】”
一般漫画:”【漫画】强くて悪い砂漠のヤムチャ【(一般コミック)】”
2013年04月21日 14点04分 20
level 13
学习了!
2013年04月22日 07点04分 23
level 8
没有公网IP都白扯。
2013年04月22日 12点04分 24
1 2 3 尾页