Znn3bq.jpeg
²é¿´: 445  |  »Ø¸´: 0
µ±Ç°Ö÷ÌâÒѾ­´æµµ¡£

Сµ¶¶ù

¾èÖú¹ó±ö (ÕýʽдÊÖ)

[½»Á÷] [תÌù]BitTorrent ÐÔÄÜ׿ԽµÄÔ­Òò

¶¼ÔÚBT°É,Á˽âÒ»ÏÂ×Ó¹¤×÷Ô­Àí,bitcomet¾ÍÊÇ»ùÓÚBitTorrentºËÐÄÍê³ÉµÄ...




Bram Cohenbram@bitconjurer.org
2003Äê5ÔÂ22ÈÕ
·­Ò룺СÂí¸ç
ÈÕÆÚ£º2004-6-1

¸ÅÒª
BitTorrent Îļþ·¢²¼ÏµÍ³²ÉÓÃÕë·æÏà¶Ô£¨tit_for_tat£©µÄ·½·¨À´´ïµ½ÅÁÀÛÍÐÓÐЧ£¬Ó뵱ǰÒÑÖªµÄЭ×÷¼¼ÊõÏà±È£¬Ëü¾ßÓиü¸ßµÄ»îÁ¦¡£±¾ÎĽ«½âÊÍBitTorrent µÄÓÃ;£¬ÒÔ¼°ÊÇÔõÑùÓþ­¼ÃѧµÄ·½·¨À´´ïµ½Õâ¸öÄ¿±êµÄ¡£
1¡¢BitTorrent ÓÃÀ´×öʲô£¿
µ±Í¨¹ýHTTPЭÒéÀ´ÏÂÔØÒ»¸öÎļþµÄʱºò£¬ËùÓеÄÉÏÔØ¿ªÏú¶¼ÔÚÖ÷»úÉÏ¡£¶øÊ¹Óà BitTorrent£¬µ±¶à¸öÈËͬʱÏÂÔØÍ¬Ò»¸öÎļþµÄʱºò£¬ËûÃÇÖ®¼äÒ²Ï໥Ϊ¶Ô·½ÌṩÎļþµÄ²¿·ÖƬ¶ÏµÄÏÂÔØ¡£ÕâÑù£¬¾Í°ÑÉÏÔØµÄ¿ªÏú·Ö̯µ½Ã¿¸öÏÂÔØÕßÄÇÀҲ¾Í¿ÉÒÔÔÚÀíÂÛÉÏÖ§³ÖÎÞÏÞ¶à¸öÏÂÔØÕßÀ´ÏÂÔØÍ¬Ò»¸öÎļþ¡£
Ñо¿ÈËÔ±ÒÔǰҲÔÚѰÕÒÒ»ÖÖ´ïµ½ÕâÖÖЧ¹ûµÄ¿ÉʵÓõļ¼Êõ[3]¡£ÕâÖÖ¼¼ÊõÔ­À´²¢Ã»ÓÐÔÚ´óµÄ·¶Î§ÄÚÔËÓùý£¬ÒòΪÂß¼­ºÍµÄÎÊÌâ·Ç³£¼¬ÊÖ¡£Èç¹û½ö½ö¼ÆËãÄÄЩ peers ÓµÓÐÎļþµÄÄÄЩƬ¶ÏÒÔ¼°ÕâЩƬ¶ÏÓ¦¸Ã±»·¢Ë͸øË­£¬ÄÇôºÜÄÑÖ»²úÉú±È½ÏСµÄϵͳ¿ªÏú¡£PeersÖ®¼äµÄÁ¬½ÓºÜÉٻᳬ¹ý¼¸¸öСʱ£¬Í¨³£ÊǼ¸·ÖÖÓ¶øÒÑ¡£×îºó£¬ÓÐÒ»¸öÆÕ±éµÄÎÊÌ⣬¾ÍÊǹ«Æ½ÐÔ¡£
ÎÒÃǽ«½âÊÍBitTorrent ÊÇÈçºÎºÜºÃµÄ½â¾öÕâЩÎÊÌâµÄ¡£

1.1¡¢BitTorrent½Ó¿Ú
BitTorrent µÄ½Ó¿Ú¿ÉÄÜÊÇ×î¼òµ¥µÄ¡£Óû§µã»÷Ï£ÍûÏÂÔØµÄÎļþµÄ³¬¼¶Á´½Ó£¬È»ºó»áµ¯³öÒ»¸ö±ê×¼µÄ¡°±£´æµ½¡±¶Ô»°¿ò¡£´Ëºó£¬³öÏÖÒ»¸öÏÂÔØ½ø¶ÈµÄ´°¿Ú£¬ÔÚÕâ¸ö´°¿ÚÖУ¬³ýÁËÏÔʾÏÂÔØËÙÂÊÍ⣬»¹ÏÔʾһ¸öÉÏÔØËÙÂÊ¡£BTÔÚʹÓÃÉϷdz£¼òµ¥£¬Ê¹µÃBTÄܹ㷺µÄ±»ÔËÓá£

1.2¡¢²¿Êð
¾ö¶¨²ÉÓÃBitTorrentµÄÔ­ÒòÊÇÒòΪÓÐһЩÎļþÐèÒª·¢²¼¡£¶øÏÂÔØÕßʹÓà BitTorrent£¬ÊÇÒòΪÕâÊÇËûÃÇ»ñÈ¡ËùÐèÒªµÄÎļþµÄΨһ;¾¶¡£ÏÂÔØÕß¾­³£Ò»Íê³ÉÏÂÔØ£¬¾ÍֹͣΪ±ðÈËÉÏÔØ£¬ËäȻ˵£¬ÔÚBT ¿Í»§¶ËÍê³ÉÏÂÔØÖ®ºó£¬¼ÌÐøÎª±ðÈËÌṩһ¶Îʱ¼äµÄÉÏÔØÊÇÒ»ÖÖÀñòµÄÐÐΪ¡£±ê×¼µÄʵÏÖÊÇÈÿͻ§¶ËÒ»Ö±±£³ÖÉÏÔØ£¬³ý·Ç´°¿Ú±»¹Ø±Õ¡£
ÔÚÒ»¸öµäÐ͵IJ¿ÊðÖУ¬Î´Íê³ÉµÄÏÂÔØÕß
һ̨Ö÷»ú¸ºÔðÌṩԭʼµÄÎļþ£¬ÏÂÔØÕßͨ¹ýBTÀ´ÏÂÔØÕâ¸öÎļþ¡£ÏÂÔØÕßÔÚÏÂÔØµÄͬʱ£¬ÎªÆäËüÈËÌṩÉÏÔØ£¬×îºó£¬À뿪Õâ¸öϵͳ¡£

2¡¢¼¼Êõ¿ò¼Ü

2.1·¢²¼ÄÚÈÝ
ΪÁ˲¿Êð BT£¬Ê×ÏȽ«Ò»¸öÀ©Õ¹ÃûΪ .torrent µÄÎļþ·ÅÔÚÒ»¸öÆÕͨµÄweb·þÎñÆ÷ÉÏ¡£.torrentÎļþ°üº¬ÁËÒª¹²ÏíµÄÎļþµÄÐÅÏ¢£¬°üÀ¨ÎļþÃû¡¢´óС¡¢ÎļþµÄÉ¢ÁÐÐÅÏ¢ºÍÒ»¸öÖ¸ÏòtrackerµÄurl¡£Tracker¸ºÔð°ïÖúÏÂÔØÕßÄܹ»»ñÈ¡ÆäËüÏÂÔØÕßµÄÐÅÏ¢¡£TrackerºÍÏÂÔØÕßÖ®¼äʹÓÃÒ»Öֺܼòµ¥µÄ»ùÓÚHTTPµÄЭÒé½øÐн»»¥£¬ÏÂÔØÕ߸æËßtracker×Ô¼ºÒªÏÂÔØµÄÎļþ¡¢×Ô¼ºÊ¹ÓõĶ˿ÚÒÔ¼°ÀàËÆµÄÐÅÏ¢£¬tracker¸æËßÏÂÔØÕ߯äËüÏÂÔØÍ¬ÑùÎļþµÄÏÂÔØÕßµÄÁªÏµÐÅÏ¢¡£ÏÂÔØÕßÀûÓÃÕâЩÐÅÏ¢Ï໥֮¼ä½¨Á¢Á¬½Ó¡£Ò»¸ö±»³ÉΪ¡°ÖÖ×Ó¡±µÄÏÂÔØÕߣ¬±ØÐëÊ×Ïȱ»Æô¶¯£¬ËüÖªµÀÍêÕûµÄÎļþÐÅÏ¢¡£¶ÔtrackerºÍweb·þÎñÆ÷µÄ´ø¿íÐèÇóºÜµÍ£¬¶øÖÖ×Ó±ØÐëÖÁÉÙ·¢ËÍԭʼÎļþµÄÒ»·ÝÍêÕû¿½±´¡£

Òë×¢£º
P2PµÄºËÐÄ˼Ïë¾ÍÊÇûÓзþÎñÆ÷µÄ¸ÅÄÈκÎÒ»¸öÏÂÔØÕß¼ÈÊÇclient£¬ÓÖÊÇserver¡£
ÏÂÔØÕß´Ó±ðÈËÄÇÀïÈ¡ÎļþµÄʱºò£¬³ÆÎªÏÂÔØ£¬¶øÎª±ðÈËÌṩÎļþµÄʱºò£¬³ÆÎªÉÏÔØ£¨´«£©¡£
ΪÁËÍê³ÉÒ»´Î²¿Êð£¬ÖÁÉÙÐèÒªÒ»¸ö trackerºÍÒ»¸öseed¡£Ëùνtracker£¬ÊÇÒ»¸ö·þÎñÆ÷£¬¸ºÔð°ïÖúpeersÖ®¼äÏ໥½¨Á¢Á¬½Ó¡£¶øseed£¬Í¨³£ÊǵÚÒ»¸öÏòtracker×¢²á£¬È»ºóËü¾Í¿ªÊ¼½øÈëÑ­»·£¬µÈ´ýΪ±ðÈËÌṩÎļþ£¬Ò²¾ÍÊÇ˵£¬µÚÒ»¸öseedÖ»¸ºÔðÉÏ´«Îļþ¡£Ò»µ©ÓÐÒ»¸öpeerÏòtracker×¢²áºó£¬¾Í¿ÉÒÔÈ¡µÃseedµÄÐÅÏ¢£¬´Ó¶øÓëseed½¨Á¢Á¬½Ó¡£´Óseed´¦¶ÁÈ¡Îļþ¡£ÓÉÓÚԭʼµÄÎļþ£¬Ö»ÓÐseedÓµÓУ¬ËùÓÐ˵£¬seedÖÁÉÙÒªÉÏ´«Ô­Ê¼ÎļþµÄÒ»·ÝÍêÕû¿½±´¡£Èç¹ûÓÖÓÐÒ»¸öpeer¼ÓÈë½øÀ´£¬ÄÇôËü¿ÉÒÔͬʱºÍseedºÍǰһ¸öpeer½¨Á¢Á¬½Ó£¬È»ºó´ÓÕâÁ½Õß´¦»ñÈ¡Îļþ¡£

2.2¶ÔµÈ·¢²¼
ËùÓкÍÎļþÏÂÔØÏà¹ØµÄÂß¼­ÎÊÌ⣬ͨ¹ý peersÖ®¼äµÄ½»»¥À´½â¾ö¡£Ò»Ð©¹ØÓÚÏÂÔØºÍÉÏ´«µÄËÙÂʵÄÐÅÏ¢±»·¢Ë͸øtracker£¬trackerËѼ¯ÕâЩÐÅÏ¢ÓÃÓÚͳ¼Æ¡£TrackerµÄÖ°Ôð±»ÑϸñÏÞ¶¨Îª¡°°ïÖúpeersÏ໥·¢ÏÖ¶Ô·½¡±¡£
¾¡¹ÜtrackerÊÇpeersÖ®¼äÏ໥·¢ÏÖµÄΨһ;¾¶£¬Ò²ÊÇpeersÖ®¼äÏ໥Э×÷µÄΨһµØµã£¬±ê×¼µÄtrackerËã·¨·µ»ØÒ»¸öËæ»úµÄ peersµÄÁÐ±í¡£Ëæ»úͼ¾ßÓзdz£Ç¿´óµÄÌØÐÔ£¬Ðí¶àµÄpeerÑ¡ÔñËã·¨×îÖÕ²úÉúÁËÒ»¸öÃÝÂÉͼ£¬ÃÝÂÉͼÄÜÒÔÉÙÁ¿µÄ½Á°èÀ´»ñµÃ·ÖƬ¡£×¢Ò⣬peersÖ®¼äµÄÁ¬½Ó¶¼ÊÇË«Ïò´«ÊäµÄ¡£
ΪÁ˸ú×Ùÿ¸öpeers¶¼ÓµÓÐʲô£¬BT½«ÎļþÇиîΪ¹Ì¶¨´óСµÄƬ£¨µäÐ͵ĴóСÊÇ256k£©¡£Ã¿¸öÏÂÔØÕß±ØÐë֪ͨÆäËüpeers£¬ËüÓµÓÐÄÄЩƬ¡£ÎªÁËÑéÖ¤ÎļþµÄÍêÕûÐÔ£¬¶Ôÿ¸öƬ¶Ï¶¼Í¨¹ýSHA1Ëã·¨¼ÆËã³öËüµÄhashÐÅÏ¢£¬²¢±£´æÔÚtorrentÎļþÖС£PeersÖ»ÓÐÔÚ¼ì²éÁËÆ¬¶ÏµÄÍêÕûÐÔÖ®ºó£¬²Å»á֪ͨÆäËüpeersËüÓµÓÐÕâ¸öƬ¶Ï¡£É¾³ý´úÂëÊÇÒ»ÖÖ±»½¨ÒéʹÓõİïÖúÎļþ·Ö²¼µÄ¼¼Êõ£¬µ«ÊÇÕâÖÖ¸ü¼òµ¥µÄ·½·¨£¨¼È·ÖƬ£©Ò²ÊÇ¿ÉÓõġ£
Peers²»¶ÏµÄ´ÓËüÄÜÁ¬½Óµ½µÄpeersÄÇÀïÏÂÔØÎļþƬ¶Ï¡£µ±È»£¬Ëü²»ÄÜ´ÓûÓиúËü½¨Á¢Á¬½ÓµÄpeersÄÇÀïÏÂÔØÈκζ«Î÷¡£¼´Ê¹Êǽ¨Á¢ÁËÁ¬½ÓµÄpeers£¬ÓеÄÒ²²¢²»°üº¬ËüÏëÒªµÄƬ¶Ï£¬»òÕß»¹²»ÔÊÐíËüÈ¥ÏÂÔØ¡£¹ØÓÚ²»ÔÊÐíÆäËüpeers´ÓËüÄÇÀïÏÂÔØÎļþƬ¶ÏµÄ²ßÂÔ£¬±»³ÆÎª ×èÈûchoking£¬ºóÎĽ«½øÐÐÌÖÂÛ¡£ÆäËü¹ØÓÚÎļþ·Ö²¼µÄ·½·¨Í¨³£¶¼ÒªÓõ½Âé·³µÄÊ÷½á¹¹£¬¶øÇÒÊ÷Ò¶µÄÉÏÔØÄÜÁ¦²¢Ã»Óб»ÀûÓÃÆðÀ´¡£¼òµ¥µÄÈà peers Ðû²¼ËüÓµÓÐʲô»áµ¼Ö²»µ½ 10 % µÄ´ø¿í¿ªÖ§£¬È´¿ÉÒÔ¿É¿¿µÄʹÓÃËùÓеÄÉÏÔØÄÜÁ¦¡£

2.3Á÷Ë®×÷Òµ
¹¹¼ÜÔÚTCPÖ®ÉϵÄÓ¦ÓòãЭÒ飬ÀýÈçBT£¬ºÜÖØÒªµÄÒ»µãÊÇÓ¦¸Ãͬʱ·¢ËͶà¸öÇëÇó£¬ÒÔ±ÜÃâÔÚÁ½¸öƬ¶Ï·¢ËÍÖ®¼äµÄÑÓ³Ù£¬ÒòΪÄÇÑù»áÑÏÖØÓ°Ïì´«ÊäËÙÂÊ¡£ÎªÁË´ïµ½ÕâÖÖÄ¿µÄ£¬BT½«Ã¿¸öƬ¶ÏÓÖ½øÒ»²½·ÖΪ×ÓÆ¬¶Ï£¬Ã¿¸ö×ÓÆ¬¶ÏµÄ´óСһ°ãÊÇ16k£¬Í¬Ê±£¬ËüÒ»Ö±±£³Ö¼¸¸öÇëÇó£¨Í¨³£ÊÇ5¸ö£©±»Á÷Ë®µÄͬʱ·¢ËÍ¡£Á÷Ë®×÷ÒµËùÑ¡ÔñµÄdata£¨Ó¦¸ÃÊÇÖ¸µÄͬʱ·¢Ë͵ÄÇëÇóÊýÄ¿£¬Ò²¾ÍÊÇ5¸örequest£©µÄÒÀ¾ÝÊÇÄÜʹµÃ´ó¶àÊýÁ¬½Ó±äµÃ±¥ºÍ¡£
Òë×¢£ºÒ²¾ÍÊÇ˵£¬Ã¿´Î·¢ËÍ5¸öÇëÇó£¬È»ºó¹ýÒ»¶Îʱ¼ä£¬ÓÖ·¢ËÍ5¸öÇëÇó¡£Á÷Ë®×÷ÒµÔÚHTTP ЭÒé1.1°æ±¾Öб»¹ã·ºÔËÓá£

2.4Ƭ¶ÏÑ¡Ôñ
Ñ¡ÔñÒ»¸öºÃµÄ˳ÐòÀ´ÏÂÔØÆ¬¶Ï£¬¶ÔÌá¸ßÐÔÄܷdz£ÖØÒª¡£Ò»¸ö²îµÄƬ¶ÏÑ¡ÔñËã·¨¿ÉÄܵ¼ÖÂËùÓÐµÄÆ¬¶Ï¶¼´¦ÓÚÏÂÔØÖУ¬»òÕßÁíÒ»ÖÖÇé¿ö£¬Ã»ÓÐÈÎºÎÆ¬¶Ï±»ÉÏÔØ¸øÆäËü peers¡£

2.4.1ÑϸñµÄÓÅÏȼ¶
Ƭ¶ÏÑ¡ÔñµÄµÚÒ»¸ö²ßÂÔÊÇ£ºÒ»µ©ÇëÇóÁËij¸öƬ¶ÏµÄ×ÓÆ¬¶Ï£¬ÄÇô¸ÃƬ¶ÏʣϵÄ×ÓÆ¬¶ÏÓÅÏȱ»ÇëÇó¡£ÕâÑù£¬¿ÉÒÔ¾¡¿ÉÄÜ¿ìµÄ»ñµÃÒ»¸öÍêÕûµÄƬ¶Ï

2.4.2×îÉÙµÄÓÅÏÈ
¶ÔÒ»¸öÏÂÔØÕßÀ´Ëµ£¬ÔÚÑ¡ÔñÏÂÒ»¸ö±»ÏÂÔØµÄƬ¶Ïʱ£¬Í¨³£Ñ¡ÔñµÄÊÇËüµÄpeersÃÇËùÓµÓеÄ×îÉÙµÄÄǸöƬ¶Ï£¬Ò²¾ÍÊÇËùνµÄ¡°×îÉÙÓÅÏÈ¡±¡£ÕâÖÖ¼¼Êõ£¬È·±£ÁËÿ¸öÏÂÔØÕß¶¼ÓµÓÐËüµÄpeersÃÇ×îÏ£ÍûµÃµ½µÄÄÇЩƬ¶Ï£¬´Ó¶øÒ»µ©ÓÐÐèÒª£¬ÉÏÔØ¾Í¿ÉÒÔ¿ªÊ¼¡£ÕâҲȷ±£ÁËÄÇЩԽÆÕͨµÄƬ¶ÏÔ½·ÅÔÚ×îºóÏÂÔØ£¬´Ó¶ø¼õÉÙÁËÕâÑùÒ»ÖÖ¿ÉÄÜÐÔ£¬¼´Ä³¸öpeerµ±Ç°ÕýÌṩÉÏÔØ£¬¶øËæºóȴûÓÐÈκεı»±ðÈ˸ÐÐËȤµÄƬ¶ÏÁË¡£

Òë×¢£º
Ò²¾Í˵˵£¬Ã¿¸öpeer¶¼ÓÅÏÈÑ¡ÔñÕû¸öϵͳÖÐ×îÉÙµÄÄÇЩƬ¶ÏÈ¥ÏÂÔØ£¬¶øÄÇЩÔÚϵͳÖÐÏà¶Ô½Ï¶àµÄƬ¶Ï£¬·ÅÔÚºóÃæÏÂÔØ£¬ÕâÑù£¬Õû¸öϵͳ¾ÍÇ÷ÏòÓÚÒ»ÖÖ¸üÓŵÄ״̬¡£Èç¹û²»ÓÃÕâÖÖËã·¨£¬´ó¼Ò¶¼È¥ÏÂÔØ×î¶àµÄÄÇЩƬ¶Ï£¬ÄÇôÕâЩƬ¶Ï¾Í»áÔÚϵͳÖзֲ¼µÄÔ½À´Ô½¶à£¬¶øÄÇЩÔÚϵͳÖÐÏà¶Ô½ÏÉÙµÄÆ¬¶ÏÈÔÈ»ºÜÉÙ£¬×îºó£¬Ä³Ð© peer ¾Í²»ÔÙÓµÓÐÆäËü peer ¸ÐÐËȤµÄƬ¶ÏÁË£¬ÄÇôϵͳµÄ²ÎÓëÕßÔ½À´Ô½ÉÙ£¬Õû¸öϵͳµÄÐÔÄܾÍϽµ¡£
ÔÚBTϵͳÖУ¬³ä·Ö¿¼ÂÇÁ˾­¼ÃѧµÄ¸ÅÄ´¦´¦´ÓÕû¸öϵͳµÄÐÔÄܳö·¢£¬²ÎÓëÕßÔ½¶à£¬ÏµÍ³Ô½ÓÅ»¯¡£

ÐÅÏ¢ÀíÂÛÏÔʾ³ý·ÇÖÖ×ÓÉÏ´«ÁËÎļþµÄËùÓÐÆ¬¶Ï£¬·ñÔòûÓÐÈκÎÏÂÔØÕß¿ÉÒÔÍê³ÉËùÓÐÎļþµÄÏÂÔØ¡£Èç¹ûÔÚÒ»¸ö²¿ÊðÖУ¬Ö»ÓÐÒ»¸öÖÖ×Ó£¬¶øÇÒÖÖ×ÓµÄÉÏÔØÄÜÁ¦±ÈËüµÄ´ó¶àÊýÏÂÔØÕß¶¼Òª²î£¬ÄÇô£¬²»Í¬µÄÏÂÔØÕß´ÓÖÖ×ÓÄÇÀïÏÂÔØ²»Í¬µÄƬ¶Ï£¬ÐÔÄܾͻá±äµÃ±È½ÏºÃ£¬ÒòΪ£¬Öظ´µÄÏÂÔØÀË·ÑÁËÖÖ×Ó»ñÈ¡¸ü¶àÐÅÏ¢µÄ»ú»á¡£¡°×îÉÙÓÅÏÈ¡±Ê¹µÃÏÂÔØÕßÖ»´ÓÖÖ×Ó´¦ÏÂÔØÐÂµÄÆ¬¶Ï£¨Ò²¾ÍÊÇÕû¸öϵͳÖÐÆäËüpeer¶¼Ã»ÓÐµÄÆ¬¶Ï£©£¬ÒòΪ£¬ÏÂÔØÕßÄܹ»¿´µ½ÆäËüpeersÄÇÀïÒѾ­ÓÐÁËÖÖ×ÓÒѾ­ÉÏ´«µÄƬ¶Ï¡£

ÔÚijЩ²¿ÊðÖУ¬Ô­Ê¼µÄÖÖ×ÓÓÉÓÚijЩԭÒò×îÖչرգ¬Ö»ºÃÓÉʣϵÄÕâЩÏÂÔØÕßÃÇÀ´¸ºÔðÉÏ´«¡£ÕâÑùÏÔÈ»»á´øÀ´Ò»¸ö·çÏÕ£ºÄ³Ð©Æ¬¶ÏÈκÎÒ»¸öÏÂÔØÕß¶¼²»ÓµÓС£¡°×îÉÙÓÅÏÈ¡±Ò²ºÜºÃµÄ´¦ÀíÁËÕâÖÖÇé¿ö¡£Í¨¹ý¾¡¿ìµÄ¸´ÖÆ×îÉÙµÄÆ¬¶Ï£¬¼õÉÙÁËÕâÖÖÓÉÓÚµ±Ç°µÄpeersÍ£Ö¹ÉÏÔØºó´øÀ´µÄ·çÏÕ¡£

2.4.3Ëæ»úµÄµÚÒ»¸öƬ¶Ï
¡°×îÉÙÓÅÏÈ¡±µÄÒ»¸öÀýÍâÊÇÔÚÏÂÔØ¸Õ¿ªÊ¼µÄʱºò¡£´Ëʱ£¬ÏÂÔØÕßûÓÐÈÎºÎÆ¬¶Ï¿É¹©ÉÏ´«£¬ËùÒÔ£¬ÐèÒª¾¡¿ìµÄ»ñȡһ¸öÍêÕûµÄƬ¶Ï¡£¶ø×îÉÙµÄÆ¬¶Ï£¬Í¨³£Ö»ÓÐijһ¸öpeerÓµÓУ¬ËùÒÔ£¬Ëü¿ÉÄܱȶà¸öpeers¶¼ÓµÓеÄÄÇЩƬ¶ÏÏÂÔØµÄÒªÂý¡£Òò´Ë£¬µÚÒ»¸öƬ¶ÏÊÇËæ»úÑ¡ÔñµÄ£¬Ö±µ½µÚÒ»¸öƬ¶ÏÏÂÔØÍê³É£¬²ÅÇл»µ½¡°×îÉÙÓÅÏÈ¡±µÄ²ßÂÔ¡£

2.4.4×îºó½×¶Îģʽ
ÓÐʱºò£¬´ÓÒ»¸öËÙÂʺÜÂýµÄpeerÄÇÀïÇëÇóÒ»¸öƬ¶Ï¡£ÔÚÏÂÔØµÄÖмä½×¶Î£¬Õâ²»ÊÇʲôÎÊÌ⣬µ«ÊÇÈ´¿ÉÄÜDZÔÚµÄÑÓ³ÙÏÂÔØµÄÍê³É¡£ÎªÁË·ÀÖ¹ÕâÖÖÇé¿ö£¬ÔÚ×îºó½×¶Î£¬peerÏòËüµÄËùÓеÄpeersÃǶ¼·¢ËÍijƬ¶ÏµÄ×ÓÆ¬¶ÏµÄÇëÇó£¬Ò»µ©Ä³Ð©×ÓÆ¬¶Ïµ½ÁË£¬ÄÇô¾Í»áÏòÆäËüpeer·¢ËÍcancel ÏûÏ¢£¬È¡Ïû¶ÔÕâЩ×ÓÆ¬¶ÏµÄÇëÇó£¬ÒÔ±ÜÃâ´ø¿íµÄÀË·Ñ¡£Êµ¼ÊÉÏ£¬ÓÃÕâÖÖ·½·¨²¢Ã»ÓÐÀ˷ѶàÉÙ´ø¿í£¬¶øÎļþµÄ½áÊø²¿·ÖÒ²Ò»Ö±ÏÂÔØµÄ·Ç³£¿ì¡£

3 ×èÈû£¨choking£©Ëã·¨
BT²¢²»¼¯ÖзÖÅä×ÊÔ´¡£Ã¿¸öpeer×Ô¼ºÓÐÔðÈÎÀ´¾¡¿ÉÄܵÄÌá¸ßËüµÄÏÂÔØËÙÂÊ¡£Peers´ÓËü¿ÉÒÔÁ¬½ÓµÄpeers´¦ÏÂÔØÎļþ£¬²¢¸ù¾Ý¶Ô·½ÌṩµÄÏÂÔØËÙÂʸøÓèͬµÈµÄÉÏ´«»Ø±¨£¨Äã¾´ÎÒÒ»³ß£¬ÎÒ¾´ÄãÒ»ÕÉ£©¡£¶ÔÓÚºÏ×÷Õߣ¬ÌṩÉÏ´«·þÎñ£¬¶ÔÓÚ²»ºÏ×÷µÄ£¬¾Í×èÈû¶Ô·½¡£ËùÒÔ˵£¬×èÈûÊÇÒ»ÖÖÁÙʱµÄ¾Ü¾øÉÏ´«²ßÂÔ£¬ËäÈ»ÉÏ´«Í£Ö¹ÁË£¬µ«ÊÇÏÂÔØÈÔÈ»¼ÌÐø¡£ÔÚ×èÈûÍ£Ö¹µÄʱºò£¬Á¬½Ó²¢²»ÐèÒªÖØÐ½¨Á¢¡£
×èÈûËã·¨²¢²»ÊôÓÚBT¶ÔµÈЭÒ飨ָpeers Ö®¼ä½»»¥µÄЭÒ飩µÄ¼¼Êõ²¿·Ö£¬µ«ÊǶÔÌá¸ßÐÔÄÜÊDZØÒªµÄ¡£Ò»¸öºÃµÄ×èÈûËã·¨Ó¦¸ÃÀûÓÃËùÓпÉÓõÄ×ÊÔ´£¬ÎªËùÓÐÏÂÔØÕßÌṩһÖ¿ɿ¿µÄÏÂÔØËÙÂÊ£¬²¢Êʵ±³Í·£ÄÇЩֻÏÂÔØ¶ø²»ÉÏ´«µÄpeers¡£

3.1ÅÁÀÛÍÐÓÐЧ
ÅÁÀÛÍÐÓÐЧÊÇÖ¸×ÊÔ´ÅäÖÃÒÑ´ïµ½ÕâÑùÒ»ÖÖ¾³µØ£¬¼´ÈκÎÖØÐ¸ıä×ÊÔ´ÅäÖõķ½Ê½£¬¶¼²»¿ÉÄÜʹһ²¿·ÖÈËÔÚûÓÐÆäËûÈËÊÜËðµÄÇé¿öÏÂÊÜÒæ¡£ÕâÒ»×ÊÔ´ÅäÖõÄ״̬£¬±»³ÆÎª¡°ÅÁÀÛÍÐ×îÓÅ¡±£¨Pareto optimum£©×´Ì¬£¬»ò³ÆÎª¡°ÅÁÀÛÍÐÓÐЧ¡±£¨Pareto efficient£©
ÔÚ¼ÆËã»úÁìÓò£¬Ñ°ÇóÅÁÀÛÍÐÓÐЧÊÇÒ»ÖÖ±¾µØÓÅ»¯Ëã·¨
BitTorrentµÄ×èÈûËã·¨£¬ÓÃÒ»ÖÖÕë·æÏà¶ÔµÄ·½Ê½À´ÊÔͼ´ïµ½ÅÁÀÛÍÐ×îÓÅ¡££¨Ô­ÎIJ»Ì«ºÃ·­Ò룬ÎÒ¼ò»¯ÁË£©¡£Peers¶ÔÄÇЩÏòËûÌṩÉÏ´«·þÎñµÄpeers¸øÓèͬÑùµÄ»Ø±¨£¬Ä¿µÄÊÇÏ£ÍûÔÚÈκÎʱºò¶¼ÓÐÈô¸É¸öÁ¬½ÓÕýÔÚ½øÐÐ×ÅË«Ïò´«Êä¡£

3.2 BitTorrentµÄ×èÈûËã·¨
´Ó¼¼Êõ²ãÃæÉÏ˵£¬BTµÄÿ¸öpeerÒ»Ö±Óë¹Ì¶¨ÊýÁ¿µÄÆäËü peers ±£³ÖÊèͨ£¨Í¨³£ÊÇ4¸ö£©£¬ËùÒÔÎÊÌâ¾Í±ä³ÉÁËÄÄЩpeersÓ¦¸Ã±£³ÖÊèͨ£¿ÕâÖÖ·½·¨Ê¹µÃTCPµÄÓµÈû¿ØÖÆÐÔÄÜÄܹ»¿É¿¿µÄ±¥ºÍÉÏ´«ÈÝÁ¿¡££¨Ò²¾ÍÊÇ˵£¬¾¡Á¿ÈÃÕû¸öϵͳµÄÉÏ´«ÄÜÁ¦´ïµ½×î´ó£©¡£
ÑϸñµÄ¸ù¾Ýµ±Ç°µÄÏÂÔØËÙÂÊÀ´¾ö¶¨ÄÄЩpeersÓ¦¸Ã±£³ÖÊèͨ¡£ÁîÈ˾ªÑȵÄÊÇ£¬¼ÆË㵱ǰÏÂÔØËÙÂÊÊǸö´óÄÑÌâ¡£µ±Ç°µÄʵÏÖʵÖÊÉÏÊÇÒ»¸öÿ¸ô20ÃëµÄÂÖѯ¡£¶øÔ­À´µÄËã·¨ÊǶÔÒ»¸ö³¤Ê±¼äµÄÍøÂç´«Êä½øÐÐ×ܼƣ¬µ«ÕâÖÖ·½·¨ºÜ²î¾¢£¬ÒòΪÓÉÓÚ×ÊÔ´¿ÉÓûòÕß²»¿ÉÓ㬴ø¿í»á±ä»¯µÄºÜ¿ì¡£
ΪÁ˱ÜÃâÒòΪƵ·±µÄ×èÈûºÍÊèͨ peersÔì³ÉµÄ×ÊÔ´ÀË·Ñ£¬BTÿ¸ô10Ãë¼ÆËãÒ»´ÎÄĸöpeerÐèÒª±»×èÈû£¬È»ºó½«ÕâÖÖ״̬±£³Öµ½ÏÂÒ»¸ö10Ãë¡£10ÃëÒѾ­×㹻ʹµÃTCPÀ´µ÷ÕûËüµÄ´«ÊäÐÔÄܵ½×î´ó¡£

3.3¡¢optimistic unchoking
Èç¹ûÖ»ÊǼòµ¥µÄΪÌṩ×îºÃµÄÏÂÔØËÙÂʵÄpeersÃÇÌṩÉÏÔØ£¬ÄÇô¾ÍûÓа취À´·¢ÏÖÄÇЩ¿ÕÏеÄÁ¬½ÓÊÇ·ñ±Èµ±Ç°ÕýʹÓõÄÁ¬½Ó¸üºÃ¡£ÎªÁ˽â¾öÕâ¸öÎÊÌ⣬ÔÚÈκÎʱºò£¬Ã¿¸öpeer¶¼ÓµÓÐÒ»¸ö³ÆÎª¡°optimistic unchoking¡±µÄÁ¬½Ó£¬Õâ¸öÁ¬½Ó×ÜÊDZ£³ÖÊèͨ״̬£¬¶ø²»¹ÜËüµÄÏÂÔØËÙÂÊÊÇÔõÑù¡£Ã¿¸ô30Ãë£¬ÖØÐ¼ÆËãÒ»´ÎÄĸöÁ¬½ÓÓ¦¸ÃÊÇ¡°optimistic unchoking¡±¡£30Ãë×ãÒÔÈÃÉÏÔØÄÜÁ¦´ïµ½×î´ó£¬ÏÂÔØÄÜÁ¦Ò²ÏàÓ¦µÄ´ïµ½×î´ó¡£ÕâÖÖºÍÕë·æÏà¶ÔÀàËÆµÄ˼Ïë·Ç³£µÄΰ´ó¡£¡°optimistic unchoking¡±·Ç³£ºÍгµÄÓë¡°ÇôͽÀ§¾³¡±ºÏ×÷¡£

3.4¡¢·´¶ÔÆçÊÓ
ijЩÇé¿öÏ£¬Ò»¸öpeer¿ÉÄܱ»ËüËùÓеÄpeers¶¼×èÈûÁË£¬ÕâÖÖÇé¿öÏ£¬Ëü½«»á±£³Ö½ÏµÍµÄÏÂÔØËÙÂÊÖ±µ½Í¨¹ý¡°optimistic unchoking¡±ÕÒµ½¸üºÃpeers¡£ÎªÁ˼õÇáÕâÖÖÎÊÌ⣬Èç¹ûÒ»¶Îʱ¼ä¹ýºó£¬´Óij¸öpeerÄÇÀïÒ»¸öƬ¶ÏҲûÓеõ½£¬ÄÇôÕâ¸öpeerÈÏΪ×Ô¼º±»¶Ô·½¡°µ¡Âý¡±ÁË£¬ÓÚÊDz»ÔÙΪ¶Ô·½ÌṩÉÏ´«£¬³ý·Ç¶Ô·½ÊÇ¡°optimistic unchoking¡±¡£ÕâÖÖÇé¿öƵ·±·¢Éú£¬»áµ¼Ö¶àÓÚÒ»¸öµÄ²¢·¢µÄ¡°optimistic unchoking¡±¡£

3.5½ö½öÉÏ´«
Ò»µ©Ä³¸öpeerÍê³ÉÁËÏÂÔØ£¬Ëü²»ÄÜÔÙͨ¹ýÏÂÔØËÙÂÊ£¨ÒòΪÏÂÔØËÙÂÊÒѾ­Îª0ÁË£©À´¾ö¶¨ÎªÄÄЩ peers ÌṩÉÏÔØÁË¡£Ä¿Ç°²ÉÓõĽâ¾ö°ì·¨ÊÇ£¬ÓÅÏÈÑ¡ÔñÄÇЩ´ÓËüÕâÀïµÃµ½¸üºÃµÄÉÏÔØËÙÂʵÄpeers¡£ÕâÑùµÄÀíÓÉÊÇ¿ÉÒÔ¾¡¿ÉÄܵÄÀûÓÃÉÏÔØ´ø¿í¡£

4¡¢ÕæÊµÊÀ½çµÄÌåÑé
BitTorrent²»½ö½öÔçÒѾ­ÊµÏÖ£¬¶øÇÒÔçÒѾ­±»¹ã·ºµÄʹÓã¬ËüΪÐí¶à²¢·¢µÄÏÂÔØÕßÌṩ³É°ÙÕ×µÄÎļþÏÂÔØ¡£ÒÑÖªµÄ×î´óµÄ²¿ÊðÖУ¬Í¬Ê±Óг¬¹ý1000¸öµÄÏÂÔØÕß¡£µ±Ç°µÄÆ¿¾±£¨Êµ¼Ê»¹Ã»Óдﵽ£©¿´À´ÊÇtrackerµÄ´ø¿í¡£Ëü£¨trakcerµÄ´ø¿í£©´ó¸ÅÕ¼ÓÃÁË´ø¿í×ÜÁ¿µÄǧ·ÖÖ®Ò»£¬Ò»Ð©Ð¡µÄЭÒéÀ©Õ¹¿ÉÄÜ»áʹËü½µµ½Íò·ÖÖ®Ò»¡£

²Î¿¼×ÊÁÏ£º

[1] E. Adar and B. A. Huberman. Free riding on gnutella. First Monday, 5(10), 2000.
[2] A.-L. Barab´asi. Linked: The New Science of Networks.Perseus Publishing, 2002.
[3] M. Castro, P. Druschel, A.-M. Kermarrec, A. Nandi, A. Rowstron, and A. Singh. Splitstream: High-bandwidth content distribution in cooperative environments. In Proceedings of IPTPS03, Berkeley, USA, Feb. 2003.
[4] P. Maymounkov and D. Mazieres. Kademlia: A peer-to-peer information system based on the xormetric. In Proceedings of IPTPS02, Cambridge, USA, Mar. 2002.

[ Last edited by »ÃÓ°ÎÞºÛ on 2006-11-20 at 16:28 ]
»Ø¸´´ËÂ¥

» ²ÂÄãϲ»¶

ΪÌìµØÁ¢ÐÄ£¬ÎªÉúÃñÁ¢Ãü£¬ÎªÍùÊ¥¼Ì¾øÑ§£¬ÎªÍòÊÀ¿ªÌ«Æ½
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
Ïà¹Ø°æ¿éÌø×ª ÎÒÒª¶©ÔÄÂ¥Ö÷ Сµ¶¶ù µÄÖ÷Ìâ¸üÐÂ
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] 291Çóµ÷¼Á +6 ¹ØÒä±±. 2026-04-14 6/300 2026-04-15 21:32 by Ц´º·ç¡î
[¿¼ÑÐ] 291·Öµ÷¼Á +10 Éϰ¶Ð¡Ó¨¼ÓÓÍ 2026-04-09 11/550 2026-04-15 19:51 by ѧϰ:)
[¿¼ÑÐ] Çóµ÷¼Á +10 СÄô°®Ñ§Ï° 2026-04-11 14/700 2026-04-15 19:08 by ºÚ¿Æ¼¼»¨¸ÚÑÒ
[¿¼ÑÐ] ÉúÎïѧµ÷¼Á +9 Ö½ÉÈzhishan 2026-04-13 9/450 2026-04-15 18:28 by ANÁ÷800
[¿¼ÑÐ] 310Çóµ÷¼Á +16 666ÕæºÃ 2026-04-11 18/900 2026-04-15 13:28 by ºÚ¿Æ¼¼¿óÒµ
[¿¼ÑÐ] ҩѧ305Çóµ÷¼Á +7 Â꿨°Í¿¨boom 2026-04-11 7/350 2026-04-15 13:21 by Î÷±±Íû¡ª·çɳ
[¿¼ÑÐ] 335Çóµ÷¼Á +19 ÏëÉϰ¶Ñ½£¡£¡ 2026-04-12 21/1050 2026-04-14 16:23 by Art1977
[¿¼ÑÐ] 297Çóµ÷¼Á +23 ORCHID1 2026-04-10 26/1300 2026-04-14 13:52 by ³ÂƤƤ
[¿¼ÑÐ] Çóµ÷¼Á +12 Á§ÜÔÒ»¶¨Éϰ¶ 2026-04-10 13/650 2026-04-14 00:08 by Equinoxhua
[¿¼ÑÐ] 2026˶ʿµ÷¼Á_Äܶ¯_ºÓÄÏũҵ´óѧ +4 ºÓÄÏũҵ´óѧ-ÄÜ 2026-04-12 4/200 2026-04-13 22:01 by bljnqdcc
[¿¼ÑÐ] 293Çóµ÷¼Á +16 ÎÒ°®¸ßÊý¸ßÊý°®Î 2026-04-12 18/900 2026-04-13 21:47 by ѧԱJpLReM
[¿¼ÑÐ] 290Çóµ÷¼Á +18 ¿Â»´È» 2026-04-12 20/1000 2026-04-13 12:56 by cyh¡ª315
[¿¼ÑÐ] Ò»Ö¾Ô¸»ª¹¤085600 331·Ö +7 ÌìÏÂww 2026-04-09 7/350 2026-04-13 09:01 by lhj2009
[¿¼ÑÐ] ±¾¿ÆÄÏ·½Ò½¿Æ´óѧ Ò»Ö¾Ô¸985 ҩѧѧ˶284·Ö Çóµ÷¼Á +5 ÈõË®ÌýÎÄ 2026-04-09 5/250 2026-04-12 13:16 by shengxi123
[¿¼ÑÐ] 326Çóµ÷¼Á +6 Shansyn 2026-04-10 6/300 2026-04-12 09:46 by hammer3
[¿¼ÑÐ] 283Çóµ÷¼Á 086004¿¼Ó¢¶þÊý¶þ +17 ÄǸöàà×Ó 2026-04-10 18/900 2026-04-11 16:27 by Ã÷Ô´ËʱÓÐ
[¿¼ÑÐ] ũҵ¹ÜÀí302·ÖÇóµ÷¼Á +3 xuening1 2026-04-10 3/150 2026-04-11 10:18 by zhq0425
[¿¼ÑÐ] ¼ª´ó¼ÆËã»ú¼¼Êõ331·Ö£¬Ó¢ÓïÁù¼¶£¬Çóµ÷¼Á +3 ·å·å021116 2026-04-09 3/150 2026-04-10 20:01 by chemisry
[¿¼ÑÐ] 282£¬µçÆø¹¤³Ìרҵ£¬Çóµ÷¼Á£¬²»Ìôרҵ +9 jggshjkkm 2026-04-10 9/450 2026-04-10 14:55 by ÄæË®³Ë·ç
[¿¼ÑÐ] Çóµ÷¼Á ²ÄÁÏÓ빤³Ì 324·Ö ר˶ +19 ôæôæÒ»ÊéÉú 2026-04-10 21/1050 2026-04-10 11:41 by wp06
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û