我滿臉疑惑,何時P2P火了呢?仍是按耐住心中的疑問,好不容易女友給機會,兄弟已經在臺球廳等我了,無論咋樣先表現一波。html
P2P,是Peer-To-Peer 的簡稱,翻譯成"對等網絡"或者"點對點網絡"。P2P是一種分佈式網絡,網絡的參與者共享他們所擁有的一部分硬件資源(處理能力、存儲能力、網絡鏈接能力、打印機等),這些共享資源須要由網絡提供服務和內容,能被其它對等節點(Peer)直接訪問而無需通過中間實體。在此網絡中的參與者既是資源(服務和內容)提供者(Server),又是資源(服務和內容)獲取者(Client)。程序員
在介紹對等網絡網絡以前,咱們先看看傳統的Client/Server (C/S)模式是怎樣的。安全
在傳統的C/S模式下,咱們想要下載一個20G的電影,咱們須要找到一個提供該電影資源的網站,而後鏈接網站的服務器連續下載。也就是要從文件原始位置開始下載這20G的完整數據。服務器
這種下載方式有什麼缺點?markdown
一、首先這種方式比較依賴服務器的可用性,也就是說,若是服務器掛了,那麼就電影的下載不得不終止。網絡
二、若是想要下載電影的人數增多,網站的帶寬就會成爲瓶頸,就會致使你們下載速度降低,甚至有人沒法下載。架構
三、因爲全部資源都經過服務器端輸出,存在單點問題,別人想要攻擊的話也相對方便,只要攻擊服務器就能夠了。負載均衡
正是由於傳統的C/S模式存在着這些問題,因而P2P就應運而生。分佈式
P2P打破了傳統的C/S模式,在網絡中的每一個結點的地位都是對等的。每一個結點既充當服務器,爲其餘結點提供服務,同時也享用其餘結點提供的服務。工具
在P2P模式下,若是有多我的想要下載同一個電影的話,你們就能夠沒必要分別從服務器下載完整的20G的電影。
因爲採用了P2P模式,那麼每個用戶就能夠既充當客戶端又能夠充當服務器。
若是4我的同時下載20G電影,那麼4我的分別各自下載了不同的部分,而後在下載的同時進行相互傳送。
這樣你們一邊從服務器下載獲得數據,一邊從別的下載的人那裏獲得數據,就比單一從服務器下載來得快。
女友心裏OS:不是講P2P嗎,這貨咋說到下載那去了,難道是要先從快播講起麼?真宅男!無論了,先附和一下吧。
P2P網絡的一個重要的目標就是讓全部的客戶端都能提供資源,包括帶寬,存儲空間和計算能力。
所以,當有節點加入且對系統請求增多,整個系統的容量也增大。這是具備一組固定服務器的CS結構不能實現的。
所以在P2P結構中,客戶端的增長意味着全部用戶更慢的數據傳輸。
除了速度的提高,P2P技術還有如下幾個優勢:
非中心化:網絡中的資源和服務分散在全部結點上,信息的傳輸和服務的實現都直接在結點之間進行,能夠無需中間環節和服務器的介入,避免了可能的瓶頸。P2P的非中心化基本特色,帶來了其在可擴展性、健壯性等方面的優點。
可擴展性:在P2P網絡中,隨着用戶的加入,不只服務的需求增長了,系統總體的資源和服務能力也在同步地擴充,始終能較容易地知足用戶的須要。整個體系是全分佈的,不存在瓶頸。理論上其可擴展性幾乎能夠認爲是無限的。
健壯性:P2P架構天生具備耐攻擊、高容錯的優勢。因爲服務是分散在各個結點之間進行的,部分結點或網絡遭到破壞對其它部分的影響很小。P2P網絡通常在部分結點失效時可以自動調整總體拓撲,保持其它結點的連通性。P2P網絡一般都是以自組織的方式創建起來的,並容許結點自由地加入和離開。P2P網絡還可以根據網絡帶寬、結點數、負載等變化不斷地作自適應式的調整。
高性價比:性能優點是P2P被普遍關注的一個重要緣由。隨着硬件技術的發展,我的計算機的計算和存儲能力以及網絡帶寬等性能依照摩爾定理高速增加。採用P2P架構能夠有效地利用互聯網中散佈的大量普通結點,將計算任務或存儲資料分佈到全部結點上。利用其中閒置的計算能力或存儲空間,達到高性能計算和海量存儲的目的。經過利用網絡中的大量空閒資源,能夠用更低的成本提供更高的計算和存儲能力。
隱私保護: 在P2P網絡中,因爲信息的傳輸分散在各節點之間進行而無需通過某個集中環節,用戶的隱私信息被竊聽和泄漏的可能性大大縮小。此外,目前解決Internet隱私問題主要採用中繼轉發的技術方法,從而將通訊的參與者隱藏在衆多的網絡實體之中。在傳統的一些匿名通訊系統中,實現這一機制依賴於某些中繼服務器節點。而在P2P中,全部參與者均可以提供中繼轉發的功能,於是大大提升了匿名通信的靈活性和可靠性,可以爲用戶提供更好的隱私保護。
負載均衡: P2P 網絡環境下因爲每一個節點既是服務器又是客戶機,減小了對傳統C/S結構服務器計算能力、存儲能力的要求,同時由於資源分佈在多個節點,更好的實現了整個網絡的負載均衡。
可是,P2P技術也不是毫完好點的。P2P技術相比於傳統的C/S結構有如下兩個缺點:
架構較爲複雜,除了要有開發服務端,須要專用的客戶端。
用在大規模的網路,資源分享紊亂,管理較難,安全性較低。
女友心裏OS:個人個天哪,這說的都是啥???咋感受越說越遠了呢,我得往回拉一拉。
根據中央化程度,P2P能夠分爲通常型P2P、特殊型P2P以及混合型P2P
目前,P2P網絡計算技術正不斷應用到軍事、商業、政務、電信、通信等領域。根據具體應用不一樣,能夠把P2P應用軟件大體分爲如下這些類型:
一、文件內容共享和下載,例如Napster、Gnutella、eDonkey、eMule、Maze、BT等,用戶能夠直接從任意一臺安裝同類軟件的PC上下載或上傳文件,並檢索、複製共享的文件。
二、計算能力和存儲共享,例如SETI@home、Avaki、Popular Power、Netbatch、Farsite等,可用於在網絡上將存儲對象分散存儲,或利用其空閒時間進行協同計算。
三、基於P2P技術的協同處理與服務共享平臺,例如JXTA、Magi、Groove等,可用於企業管理。
四、即時通信工具,包括ICQ、QQ、Yahoo Messenger、MSN Messenger等,多個用戶能夠經過文字、語音或文件進行交流,甚至還能夠與手機通訊。
五、P2P通信與信息共享,例如Skype、Crowds、Onion Routing等。
六、基於P2P技術的網絡電視和網絡遊戲,如沸點、PPStream、PPLive、QQLive、SopCast等,當前許多網絡遊戲也是經過對等網絡方式實現的。
女友心裏OS:這貨是在跟我裝傻仍是真的傻?我還就不信了,直接挑明瞭說吧。
廣大的程序員的女友(老婆)們,你家程序員也這麼呆萌嗎?