計算機網絡-p2p


p2p架構

P2P應用:原理與文件分發

純P2P架構:Peer-to-peer

  • 沒有服務器
  • 任意端系統之間直接通信
  • 節點階段性接入Internet
  • 節點可能更換IP地址

文件分發:客戶機/服務器vs. P2P

從一個服務器向N個節點分發一個文件需要多長時間?

客戶機/服務器

服務器串行地發送N個副本,時間:NF/us,客戶機i需要F/di時間下載

P2P

服務器必須發送一個副本,時間:F/us,客戶機i需要F/di時間下載,總共需要下載NF比特,最快的可能上傳速率:us+ ∑ui

文件分發:BitTorrent

  • 文件划分為256KB的chunk

  • 節點加入torrent

    • 沒有chunk,但是會逐漸積累
    • 向tracker注冊以獲得節點清單,與某些節點(“鄰居”)建立連接
  • 下載的同時,節點需要向其他節點上傳chunk

  • 節點可能加入或離開

  • 一旦節點獲得完整的文件,它可能(自私地)離開或(無私地)留下

  • 獲取chunk

    • 給定任一時刻,不同的節點持有文件的不同chunk集合
    • 節點(Alice)定期查詢每個鄰居所持有的chunk列表
    • 節點發送請求,請求獲取缺失的chunk
      • 稀缺優先
  • 發送chunk: tit-for-tat

    • Alice向4個鄰居發送chunk:正在向其發送Chunk,速率最快的4個
      • 每10秒重新評估top 4
    • 每30秒隨機選擇一個其他節點,向其發送chunk
      • 新選擇節點可能加入top 4
      • “optimistically unchoke”10

P2P應用:索引技術

P2P: 搜索信息

P2P系統的索引:信息到節點位置(IP地址+端口號)的映射

文件共享(電驢):利用索引動態跟蹤節點所共享的文件的位置,節點需要告訴索引它擁有哪些文件,節點搜索索引,從而獲知能夠得到哪些文件

即時消息(QQ)索引負責將用戶名映射到位置,當用戶開啟IM應用時,需要通知索引它的位置,節點檢索索引,確定用戶的IP地址

集中式索引

Napster最早采用這種設計:1) 節點加入時,通知中央服務器:•IP地址•內容,2) Alice查找“Hey Jude”,3) Alice從Bob處請求文件

內容和文件傳輸是分布式的,但是內容定位是高度集中式的,存在:單點失效問題,性能瓶頸,版權問題

洪泛式查詢: Query flooding

完全分布式架構,Gnutella采用這種架構,每個節點對它共享的文件進行索引,且只對它共享的文件進行索引

覆蓋網絡(overlay network): Graph

  • 節點X與Y之間如果有TCP連接,那么構成一個邊
  • 所有的活動節點和邊構成覆蓋網絡
  • 邊:虛擬鏈路
  • 節點一般鄰居數少於10個
  • 查詢消息通過已有的TCP連接發送
  • 節點轉發查詢消息
  • 如果查詢命中,則利用反向路徑發回查詢節點

層次式覆蓋網絡

介於集中式索引和洪泛查詢之間的方法,每個節點或者是一個超級節點,或者被分配一個超級節點,節點和超級節點間維持TCP連接,某些超級節點對之間維持TCP連接,超級節點負責跟蹤子節點的內容

P2P案例應用:Skype

本質上是P2P的:用戶/節點對之間直接通信,是私有應用層協議,所以只能猜,采用層次式覆蓋網絡架構,索引負責維護用戶名與IP地址間的映射,索引分布在超級節點上

所謂P2P(Peer to Peer),其最本質的含義即“對等”,該技術最早是用於網絡中對等節點之間的資源和信息共享的技術,通常人們所知道的是將P2P技術用在文件下載過程中,即網絡上的對等終端在下載共享文件的同時又作為一個“種子”為其他對等終端提供資源和信息。后來,Skype在網絡通話業務系統中靈活應用了該技術

由於沖擊了傳統通信領域,Skype在引起很多爭議的同時也使人耳目一新,可以說,Skype是發展和演進了的P2P應用。對於P2P技術還沒有規范的定義,結合其已有的應用,就更廣泛的意義而言,P2P技術是指網絡中的所有節點都動態參與到路由、信息處理和帶寬增強等工作中,而不是單純依靠服務器來完成這些工作。Skype是P2P技術演進到混合模式后的典型應用,它結合了集中式和分布式的特點,在網絡的邊緣節點采用集中式的網絡結構,而在超級節點之間采用分布式的網絡結構


免責聲明!

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



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