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