NO.1
P2P是Peer-to-Peer的縮寫,“Peer”在英語(yǔ)里有“對(duì)等者、伙伴、對(duì)端”的意義。因此,從字面意思來(lái)看,P2P可以理解為對(duì)等網(wǎng)絡(luò)。國(guó)內(nèi)一些媒體將P2P翻譯成“點(diǎn)對(duì)點(diǎn)”或者“端對(duì)端”,學(xué)術(shù)界則統(tǒng)一稱為對(duì)等網(wǎng)絡(luò)(Peer-to-Peer networking)或?qū)Φ扔?jì)算(Peer-to-Peer computing)。
P2P對(duì)等網(wǎng)絡(luò)的基本模型
P2P對(duì)等網(wǎng)絡(luò)是一種在對(duì)等者(Peer)之間分配任務(wù)和工作負(fù)載的分布式應(yīng)用架構(gòu),是對(duì)等計(jì)算模型在應(yīng)用層形成的一種組網(wǎng)或網(wǎng)絡(luò)形式。
簡(jiǎn)單一點(diǎn)說(shuō),P2P對(duì)等網(wǎng)絡(luò)是一種網(wǎng)絡(luò)結(jié)構(gòu)的思想,與目前網(wǎng)絡(luò)中占據(jù)主導(dǎo)地位的客戶端/服務(wù)器(C/S=Client/Server)結(jié)構(gòu)的主要區(qū)別在于:P2P對(duì)等網(wǎng)絡(luò)結(jié)構(gòu)中不存在中心節(jié)點(diǎn)(或中心服務(wù)器);每個(gè)參與者(節(jié)點(diǎn))的地位對(duì)等,既充當(dāng)服務(wù)器(Server),為其他節(jié)點(diǎn)提供服務(wù),同時(shí)也享用其他節(jié)點(diǎn)提供的服務(wù),即客戶端(Client);而對(duì)等節(jié)點(diǎn)(Peer)之間無(wú)需經(jīng)過(guò)第三方中間實(shí)體就可以實(shí)現(xiàn)互相訪問(wèn)。
CS架構(gòu) vs P2P架構(gòu)
NO.2
分布式文件共享場(chǎng)景的應(yīng)用
P2P網(wǎng)絡(luò)計(jì)算技術(shù)正不斷應(yīng)用到軍事、商業(yè)、政務(wù)、電信、通訊等領(lǐng)域。根據(jù)具體應(yīng)用不同,可以把P2P應(yīng)用大致分為文件內(nèi)容共享和下載、流媒體技術(shù)、計(jì)算能力和存儲(chǔ)共享等方面,本文中主要對(duì)P2P網(wǎng)絡(luò)技術(shù)中文件內(nèi)容共享和下載進(jìn)行測(cè)試說(shuō)明。
BT客戶端下載一個(gè)共享文件的過(guò)程是客戶端首先解析種子文件,獲取待下載的共享文件的一些信息,其中包括Tracker服務(wù)器的地址。然后客戶端連接Tracker獲取當(dāng)前下載該文件的所有下載者的IP和端口信息,之后客戶端根據(jù)IP和端口信息連接其他下載者,從他們那里下載文件,同時(shí)也會(huì)把自己已經(jīng)下載的部分提供給其他下載者下載。
NO.3
基于ALPS平臺(tái)在P2P網(wǎng)絡(luò)技術(shù)的測(cè)試
針對(duì)P2P對(duì)等網(wǎng)絡(luò)技術(shù),信而泰ALPS測(cè)試平臺(tái)可以通過(guò)Application Simulator 測(cè)試組件,對(duì)BitTorrent(BT)和eDonkey這兩種協(xié)議進(jìn)行基本功能模擬及性能測(cè)試,并輸出詳細(xì)的測(cè)試統(tǒng)計(jì)結(jié)果。
信而泰BigTao、Daryu及Darpeng2000E測(cè)試設(shè)備所搭載的ALPS測(cè)試平臺(tái)具備了多種測(cè)試插件,ALPS平臺(tái)可以通過(guò)Application Simulator插件實(shí)現(xiàn) BitTorrent Simulator功能和eDonkey Simulator功能。
BigTao測(cè)試平臺(tái)
DarYu測(cè)試平臺(tái)
Darpeng2000E測(cè)試平臺(tái)
可通過(guò)瀏覽器界面進(jìn)行相應(yīng)的Application Simulator 插件的創(chuàng)建,相關(guān)IP/port資源的預(yù)留、應(yīng)用模型、流量模型和負(fù)載類型的配置,實(shí)現(xiàn)測(cè)試?yán)膭?chuàng)建、修改、保存、刪除、執(zhí)行、測(cè)試結(jié)果的查看等功能。
ALPS BitTorrent 協(xié)議仿真功能,重點(diǎn)仿真Tracker HTTP Protocol和Peer Wire Protocol兩個(gè)協(xié)議,分別對(duì)應(yīng)仿真客戶端與Tracker 交互,以及客戶端從Peer處下載數(shù)據(jù)的流程,通過(guò)在此平臺(tái)上的配置,可以實(shí)現(xiàn)Download File和Upload File兩種action,Download File表示客戶端向遠(yuǎn)端peer請(qǐng)求數(shù)據(jù),Upload File表示遠(yuǎn)端peer向客戶端請(qǐng)求數(shù)據(jù),表示數(shù)據(jù)傳輸?shù)膬蓚(gè)方向。
eDonkey又稱為ED2K協(xié)議,用于對(duì)等客戶端之間的通信,眾多的對(duì)等客戶端形成了基于服務(wù)器的P2P文件共享系統(tǒng)。目前我們的ALPS eDonkey用于仿真client與client交互的場(chǎng)景。
除了協(xié)議仿真測(cè)試之外,這兩種協(xié)議也可以支持作為攻擊測(cè)試的應(yīng)用背景流和混合流量測(cè)試。
可以在攻擊測(cè)試的同時(shí),通過(guò)配置p2p協(xié)議流量作為攻擊測(cè)試中的背景流量,來(lái)測(cè)試被測(cè)設(shè)備對(duì)流量類型種類的區(qū)分與相應(yīng)處理能力。
可以通過(guò)在Application Simulator組件中創(chuàng)建多條應(yīng)用流,構(gòu)造混合流量,來(lái)測(cè)試被測(cè)設(shè)備對(duì)混合流量的接收能力。
以Bittorrent為例,在ALPS上模擬Bittorrent Download協(xié)議仿真的主要操作步驟:
1、占用端口,配置網(wǎng)絡(luò)鄰居
2、配置應(yīng)用流及應(yīng)用配置
3、創(chuàng)建測(cè)試?yán)?/p>
4、保存并運(yùn)行測(cè)試?yán)?/p>
將“新建速率”配置為200,在結(jié)果統(tǒng)計(jì)中新建速率結(jié)果為1400,這是因?yàn)锽ittorrent需要運(yùn)行BitTorrent Tracker 和BitTorrent Peer 這兩個(gè)程序流,分別模擬 BitTorrent 對(duì)等方與跟蹤器服務(wù)器通信和BitTorrent 點(diǎn)對(duì)點(diǎn)協(xié)議,整個(gè)過(guò)程需要六條peer會(huì)話和一條控制會(huì)話,因此新建速率統(tǒng)計(jì)結(jié)果與新建速率預(yù)設(shè)值就是七倍的關(guān)系。
NO.4
補(bǔ)充說(shuō)明
根據(jù)抓包現(xiàn)象可以看出,真實(shí)BT下載的時(shí)候,對(duì)于client來(lái)說(shuō),只有一個(gè)IP(11.0.0.7),但是提供下載文件的人是不同的IP,這里模擬提供下載文件的人的時(shí)候,沒有占用多個(gè)IP,只用了一個(gè)IP,但是必須要用不同的端口號(hào),所以抓包看IP是相同的,端口號(hào)有6個(gè)(6881-6886);而在測(cè)試?yán)惺莾蓚(gè)flow,六條peer會(huì)話和一條控制會(huì)話,因此新建統(tǒng)計(jì)結(jié)果與預(yù)設(shè)值就是“6+1”倍的關(guān)系。