摘要:針對P2P網(wǎng)絡(luò)(Peer-to-Peer network)中的搭便車行為進行了分析,闡述了它對網(wǎng)絡(luò)可用性、可靠性和健壯性及可擴展性等造成的負面影響,介紹了針對搭便車行為的抑制機制中的激勵機制,并評價了激勵機制,分析了其面臨的挑戰(zhàn)。最后對激勵機制研究方向進行了展望。
關(guān)鍵詞:P2P 搭便車 激勵機制 博弈論
一、P2P網(wǎng)絡(luò)中的搭便車行為及其危害分析
目前,P2P網(wǎng)絡(luò)通信模式被人們認為在加強網(wǎng)絡(luò)上人的交流、文件交換、分布計算等方面大有前途?;赑2P通信模式的軟件,如流行的eMule、Thunder、BitTorrent等,給計算機網(wǎng)絡(luò)技術(shù)領(lǐng)域帶來了重要變革。
P2P網(wǎng)絡(luò)中如果存在大量的搭便車行為,則會降低其可用性、可靠性、健壯性及可擴展性,進一步加劇很可能會導(dǎo)致整個P2P應(yīng)用系統(tǒng)最終崩潰。下面具體分析這些可能的負面影響。
(1)一般某個節(jié)點在P2P網(wǎng)絡(luò)中是為了從中獲得自己需要的數(shù)據(jù)信息。過多的搭便車行為會造成網(wǎng)絡(luò)中節(jié)點數(shù)過多而共享的信息量變化不大,這樣一來熱心節(jié)點一旦從網(wǎng)絡(luò)中獲得了其自己需要的信息以后,會主動退出該P2P網(wǎng)絡(luò)。
?。?)如果P2P網(wǎng)絡(luò)中更多的節(jié)點充當“免費乘客”角色,那么剩余的少量的熱心節(jié)點需要承擔更重的資源查詢和數(shù)據(jù)下載任務(wù),這最終可能會導(dǎo)致兩種后果:由于長期超負荷運作而計算機本身運行速度降低,甚至死機;或者其主動退出P2P網(wǎng)絡(luò)。由于許多熱心節(jié)點是P2P網(wǎng)絡(luò)中的關(guān)鍵節(jié)點,充當主要服務(wù)器或者路由器,如果一臺機器發(fā)生故障,那么整個P2P網(wǎng)絡(luò)的連通性會發(fā)生很大的變化,可靠性、健壯性都會受到嚴重影響。
?。?)過多的搭便車行為會使得P2P網(wǎng)絡(luò)越來越趨近于Client/Server模式,從而丟失了P2P網(wǎng)絡(luò)通信模式的健壯性與可擴展性。最終的結(jié)果甚至比C/S模式還差,因為其本身并不是按照Client/Server模式進行建設(shè)的,大豬角色的節(jié)點可能是由性能一般的計算機來擔當,軟、硬件環(huán)境的配置方面不如傳統(tǒng)的服務(wù)器可靠、健壯。
因此,為了確保P2P網(wǎng)絡(luò)高效、安全、可靠運行,有必要采用適當?shù)拇胧^于嚴重的搭便車行為進行抑制。
二、基于激勵機制的搭便車行為抑制機制
激勵機制(incentive mechanisms)是最早提出的搭便車行為抑制方法,也是應(yīng)用最廣泛的方法.關(guān)于激勵機制研究中的一些子問題,如定義和計算節(jié)點的信譽度,已成為P2P研究中的熱點.不同激勵機制之間的差異主要體現(xiàn)在效用函數(shù)(節(jié)點享受服務(wù)能力與節(jié)點為系統(tǒng)已做貢獻的關(guān)系)定義、測量點選擇等方面。下面給出了激勵機制的基本算法流程:1給出一個效用函數(shù);2每個節(jié)點定期或事件觸發(fā)地計算節(jié)點的效用函數(shù);3節(jié)點請求發(fā)起信息查詢或下載服務(wù);4如果節(jié)點效用函數(shù)值較高,則進行下載操作,下載后轉(zhuǎn)到6;
5如果節(jié)點效用函數(shù)值低,則拒絕下載服務(wù),轉(zhuǎn)到步7;6節(jié)點重新計算效用函數(shù);7系統(tǒng)等待事件觸發(fā),有服務(wù)請求則跳轉(zhuǎn)到步3;如果節(jié)點為其它節(jié)點提供了服務(wù),則跳轉(zhuǎn)到步6。
測量點位置選擇是激勵機制設(shè)計的關(guān)鍵。目前關(guān)于測量點的選擇主要有兩種方法:(1)節(jié)點對自身行為做自我測量,評價節(jié)點在網(wǎng)絡(luò)中的貢獻大小;(2)每個節(jié)點對鄰接節(jié)點進行測量和監(jiān)督,各個節(jié)點的貢獻大小由鄰接節(jié)點評價。第一種測量是節(jié)點把自身每次提供服務(wù)或享受服務(wù)的行為記錄下來,工程上容易實現(xiàn),且開銷比較?。茈y對付少數(shù)節(jié)點的惡意欺騙,如虛報為其它節(jié)點提供信息服務(wù)的次數(shù)。節(jié)點互相測量與監(jiān)督的方式能有效地防止少數(shù)節(jié)點的惡意欺騙,但分布式測量的系統(tǒng)開銷比較大。
目前提出的效用函數(shù)具有一個共同特點:節(jié)點能享受的服務(wù)能力與其所做貢獻的絕對大?。ㄈ缣峁┑奈募?shù)量、上傳數(shù)據(jù)大?。┲苯酉嚓P(guān)。如果對等網(wǎng)絡(luò)中所有節(jié)點的軟硬件配置和物理網(wǎng)絡(luò)接入環(huán)境具有一致性,則比較貢獻的絕對大小是合理的。
三、對激勵機制的評價
?。?)效用函數(shù)嚴格程度的選擇。過于嚴格的激勵機制會導(dǎo)致搭便車者退出對等網(wǎng)絡(luò),從而用戶數(shù)量急劇減少.特別對商用P2P系統(tǒng),用戶數(shù)量是影響整個系統(tǒng)存在的關(guān)鍵因素,太少的用戶將導(dǎo)致商業(yè)運營失敗。而不采用嚴格的激勵機制,可能又難以達到抑制搭便車行為的初衷。在如何抑制搭便車行為與鼓勵用戶加入對等網(wǎng)絡(luò)之間存在兩難。
?。?)文獻[2]指出很多節(jié)點位于防火墻或地址轉(zhuǎn)換服務(wù)器之內(nèi)。防火墻可過濾外部網(wǎng)絡(luò)對內(nèi)部網(wǎng)絡(luò)的服務(wù)請求;地址轉(zhuǎn)換服務(wù)器內(nèi)的節(jié)點沒有外部IP地址,因此物理網(wǎng)絡(luò)條件的局限導(dǎo)致它們不能為外網(wǎng)中的節(jié)點提供信息訪問服務(wù)。
分布式測量與監(jiān)視機制可有效地防范那些不遵守協(xié)議的欺騙節(jié)點。然而在實際應(yīng)用中,它面臨以下兩個挑戰(zhàn):
?。?)節(jié)點之間互相監(jiān)視開銷大.例如:節(jié)點i與10個節(jié)點相鄰,則節(jié)點犃被其它10個節(jié)點監(jiān)視.盡管來自10個鄰接節(jié)點的數(shù)據(jù)可能存在一定差異,但多數(shù)關(guān)于犃是否為搭便車者的判定結(jié)論應(yīng)該是一致的.對一個節(jié)點有多個判定過程,這種重復(fù)判斷是資源浪費。
?。?)對連接數(shù)很高的節(jié)點,監(jiān)視鄰接節(jié)點會增加節(jié)點負擔。連接數(shù)多的節(jié)點負載本來就比較重,還要監(jiān)視眾多的鄰居節(jié)點,容易導(dǎo)致節(jié)點因負載過重而當機。關(guān)鍵節(jié)點退出對等網(wǎng)絡(luò),將導(dǎo)致對等網(wǎng)絡(luò)崩潰,這違背了抑制搭便車行為的初衷。
四、下一步研究方向
如何抑制對等網(wǎng)絡(luò)中的節(jié)點搭便車行為,未來的研究將會更長期深入。在實際中已經(jīng)應(yīng)用起來的激勵機制中,也有很多地方需要投入精力研究。例如:更為平衡的效用函數(shù)與懲罰機制、能跟隨實際情況發(fā)生變化的評測點轉(zhuǎn)換機制、新加入節(jié)點得到的服務(wù)質(zhì)量問題、基于網(wǎng)絡(luò)環(huán)境硬件的抑制機制研究等。
關(guān)鍵詞:P2P 搭便車 激勵機制 博弈論
一、P2P網(wǎng)絡(luò)中的搭便車行為及其危害分析
目前,P2P網(wǎng)絡(luò)通信模式被人們認為在加強網(wǎng)絡(luò)上人的交流、文件交換、分布計算等方面大有前途?;赑2P通信模式的軟件,如流行的eMule、Thunder、BitTorrent等,給計算機網(wǎng)絡(luò)技術(shù)領(lǐng)域帶來了重要變革。
P2P網(wǎng)絡(luò)中如果存在大量的搭便車行為,則會降低其可用性、可靠性、健壯性及可擴展性,進一步加劇很可能會導(dǎo)致整個P2P應(yīng)用系統(tǒng)最終崩潰。下面具體分析這些可能的負面影響。
(1)一般某個節(jié)點在P2P網(wǎng)絡(luò)中是為了從中獲得自己需要的數(shù)據(jù)信息。過多的搭便車行為會造成網(wǎng)絡(luò)中節(jié)點數(shù)過多而共享的信息量變化不大,這樣一來熱心節(jié)點一旦從網(wǎng)絡(luò)中獲得了其自己需要的信息以后,會主動退出該P2P網(wǎng)絡(luò)。
?。?)如果P2P網(wǎng)絡(luò)中更多的節(jié)點充當“免費乘客”角色,那么剩余的少量的熱心節(jié)點需要承擔更重的資源查詢和數(shù)據(jù)下載任務(wù),這最終可能會導(dǎo)致兩種后果:由于長期超負荷運作而計算機本身運行速度降低,甚至死機;或者其主動退出P2P網(wǎng)絡(luò)。由于許多熱心節(jié)點是P2P網(wǎng)絡(luò)中的關(guān)鍵節(jié)點,充當主要服務(wù)器或者路由器,如果一臺機器發(fā)生故障,那么整個P2P網(wǎng)絡(luò)的連通性會發(fā)生很大的變化,可靠性、健壯性都會受到嚴重影響。
?。?)過多的搭便車行為會使得P2P網(wǎng)絡(luò)越來越趨近于Client/Server模式,從而丟失了P2P網(wǎng)絡(luò)通信模式的健壯性與可擴展性。最終的結(jié)果甚至比C/S模式還差,因為其本身并不是按照Client/Server模式進行建設(shè)的,大豬角色的節(jié)點可能是由性能一般的計算機來擔當,軟、硬件環(huán)境的配置方面不如傳統(tǒng)的服務(wù)器可靠、健壯。
因此,為了確保P2P網(wǎng)絡(luò)高效、安全、可靠運行,有必要采用適當?shù)拇胧^于嚴重的搭便車行為進行抑制。
二、基于激勵機制的搭便車行為抑制機制
激勵機制(incentive mechanisms)是最早提出的搭便車行為抑制方法,也是應(yīng)用最廣泛的方法.關(guān)于激勵機制研究中的一些子問題,如定義和計算節(jié)點的信譽度,已成為P2P研究中的熱點.不同激勵機制之間的差異主要體現(xiàn)在效用函數(shù)(節(jié)點享受服務(wù)能力與節(jié)點為系統(tǒng)已做貢獻的關(guān)系)定義、測量點選擇等方面。下面給出了激勵機制的基本算法流程:1給出一個效用函數(shù);2每個節(jié)點定期或事件觸發(fā)地計算節(jié)點的效用函數(shù);3節(jié)點請求發(fā)起信息查詢或下載服務(wù);4如果節(jié)點效用函數(shù)值較高,則進行下載操作,下載后轉(zhuǎn)到6;
5如果節(jié)點效用函數(shù)值低,則拒絕下載服務(wù),轉(zhuǎn)到步7;6節(jié)點重新計算效用函數(shù);7系統(tǒng)等待事件觸發(fā),有服務(wù)請求則跳轉(zhuǎn)到步3;如果節(jié)點為其它節(jié)點提供了服務(wù),則跳轉(zhuǎn)到步6。
測量點位置選擇是激勵機制設(shè)計的關(guān)鍵。目前關(guān)于測量點的選擇主要有兩種方法:(1)節(jié)點對自身行為做自我測量,評價節(jié)點在網(wǎng)絡(luò)中的貢獻大小;(2)每個節(jié)點對鄰接節(jié)點進行測量和監(jiān)督,各個節(jié)點的貢獻大小由鄰接節(jié)點評價。第一種測量是節(jié)點把自身每次提供服務(wù)或享受服務(wù)的行為記錄下來,工程上容易實現(xiàn),且開銷比較?。茈y對付少數(shù)節(jié)點的惡意欺騙,如虛報為其它節(jié)點提供信息服務(wù)的次數(shù)。節(jié)點互相測量與監(jiān)督的方式能有效地防止少數(shù)節(jié)點的惡意欺騙,但分布式測量的系統(tǒng)開銷比較大。
目前提出的效用函數(shù)具有一個共同特點:節(jié)點能享受的服務(wù)能力與其所做貢獻的絕對大?。ㄈ缣峁┑奈募?shù)量、上傳數(shù)據(jù)大?。┲苯酉嚓P(guān)。如果對等網(wǎng)絡(luò)中所有節(jié)點的軟硬件配置和物理網(wǎng)絡(luò)接入環(huán)境具有一致性,則比較貢獻的絕對大小是合理的。
三、對激勵機制的評價
?。?)效用函數(shù)嚴格程度的選擇。過于嚴格的激勵機制會導(dǎo)致搭便車者退出對等網(wǎng)絡(luò),從而用戶數(shù)量急劇減少.特別對商用P2P系統(tǒng),用戶數(shù)量是影響整個系統(tǒng)存在的關(guān)鍵因素,太少的用戶將導(dǎo)致商業(yè)運營失敗。而不采用嚴格的激勵機制,可能又難以達到抑制搭便車行為的初衷。在如何抑制搭便車行為與鼓勵用戶加入對等網(wǎng)絡(luò)之間存在兩難。
?。?)文獻[2]指出很多節(jié)點位于防火墻或地址轉(zhuǎn)換服務(wù)器之內(nèi)。防火墻可過濾外部網(wǎng)絡(luò)對內(nèi)部網(wǎng)絡(luò)的服務(wù)請求;地址轉(zhuǎn)換服務(wù)器內(nèi)的節(jié)點沒有外部IP地址,因此物理網(wǎng)絡(luò)條件的局限導(dǎo)致它們不能為外網(wǎng)中的節(jié)點提供信息訪問服務(wù)。
分布式測量與監(jiān)視機制可有效地防范那些不遵守協(xié)議的欺騙節(jié)點。然而在實際應(yīng)用中,它面臨以下兩個挑戰(zhàn):
?。?)節(jié)點之間互相監(jiān)視開銷大.例如:節(jié)點i與10個節(jié)點相鄰,則節(jié)點犃被其它10個節(jié)點監(jiān)視.盡管來自10個鄰接節(jié)點的數(shù)據(jù)可能存在一定差異,但多數(shù)關(guān)于犃是否為搭便車者的判定結(jié)論應(yīng)該是一致的.對一個節(jié)點有多個判定過程,這種重復(fù)判斷是資源浪費。
?。?)對連接數(shù)很高的節(jié)點,監(jiān)視鄰接節(jié)點會增加節(jié)點負擔。連接數(shù)多的節(jié)點負載本來就比較重,還要監(jiān)視眾多的鄰居節(jié)點,容易導(dǎo)致節(jié)點因負載過重而當機。關(guān)鍵節(jié)點退出對等網(wǎng)絡(luò),將導(dǎo)致對等網(wǎng)絡(luò)崩潰,這違背了抑制搭便車行為的初衷。
四、下一步研究方向
如何抑制對等網(wǎng)絡(luò)中的節(jié)點搭便車行為,未來的研究將會更長期深入。在實際中已經(jīng)應(yīng)用起來的激勵機制中,也有很多地方需要投入精力研究。例如:更為平衡的效用函數(shù)與懲罰機制、能跟隨實際情況發(fā)生變化的評測點轉(zhuǎn)換機制、新加入節(jié)點得到的服務(wù)質(zhì)量問題、基于網(wǎng)絡(luò)環(huán)境硬件的抑制機制研究等。