p2p和cs模式的區別與對比


區別:P2P(Peer-to-Peer端到端)模型是與C/S(客戶/服務器)模型相對應。基於C/S的用戶間通信需要由服務器中轉,在C/S中的服務器故障將導致整個網絡通信的癱瘓,而基於P2P的用戶間則是直接通信,去掉了服務器這一層,帶來的顯著優點是通信時沒有單一的失敗點,一個用戶的故障不會影響整個p2p網絡。

P2p通信模型

     在p2p網絡中,任何兩個端點之間可實現直接通信。在基於C/s的網絡中,客戶端可以通過向服務器注冊來實現定位(獲得IP和端口)。在p2p網絡中,是如何實現彼此之間的定位和通信,下面做一闡述。

獲得網絡中可以通信端點的ip和端口

     假設有一個端點a,欲與p2p網絡中的其他端點通信,在通信之前,端點A必須首先把自己的ip和端口通知p2p網絡中的其他每一個端點。其他每個端點收到這個信息后,就獲得了端點A的ip和端口,隨后向端點A反饋自己的ip和端口信息,使端點A也獲得P2P網絡中的每個端點的ip和端口。

     這里有兩個技術可以完成端點A向其他端點通知其Ip和端口的工作,一是廣播技術,二是多播技術。

    廣播技術主要在局域網中使用,在局域網中的每一個端點(主機)都不得不接受並處理一個廣播數據包,因此為了避免網絡阻塞,路由器均限制廣播數據包的通過。所以設計基於互聯網的p2p程序不適合采用廣播技術。

  多播技術是一種允許一個或多個發送者(多播源)發送單一的數據包到多個接收者(一次的,同時的)網絡技術。多播源把數據包發送到特定多播組,而只有屬於該多播組的地址才能接受到數據包。多播可以大大的節省網絡帶寬,提高了數據的傳送效率。減少了主干網出現擁塞的可能性。多播組中的端點(主機)可以是在同一個物理網絡,也可以來自不同的物理網絡(如果由多播路由器的支持)。因此,多播技術是我們的選擇。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM