- FTP的概念及其應用
- 瀏覽器下載和 FTP 的下載缺點與共同點
- P2P(peer to peer) 概念及其優點
======================================
- FTP的概念及其應用:
what is ftp ? 先看百度解釋:
說白了也就是一個應用程序,分爲服務端和客戶端。作用就是存儲文件,提供客戶端的下載資源服務。
詳解FTP的工作原理:
先來一張圖瞭解一下全局概念:
連接與傳輸過程:
主動模式一張圖瞭解下:
在被動模式下。如果防火牆只開放 20 和 21 port 那還嫩傳輸數據嗎?
-
瀏覽器下載和 FTP 的下載缺點與共同點
不知道你有沒有發現,當你通過瀏覽器下載python的時候,速度及其的慢,這可能根網絡有關,但大部分卻跟它的工作方式有關。 與瀏覽器一樣 ftp 的工作模式也是 集中下載的方式。
也就是你指定了服務器,所有需要某個資源的客戶端都會不定時的訪問服務器,這樣帶寬被擠滿,下載速度慢也是正常的。 -
P2P(peer to peer) 概念及其優點
即點到點通信,當下載一個資源時,不需要去訪問遠在天邊的ftp服務器,而是可以就近選擇擁有資源的節點進行相應資源的獲取。
那麼當我請求獲取數據是咋知道距離我最近的peer呢?
我們應該聽說過 種子文件(.torrent), 如果有過下載小電影的同學應該知道,哈哈~
如藍色區域內,client1要去下載小電影,那麼會經過路由轉發去訪問 ftp ,而對於 p2p 協議,則不用,若pc1是一個 peer 則cliet 直接向 pc1 請求數據即可。
解析種子文件:
下載時,先解析種子文件,獲取 tracker URL ,然後客戶端請求 URL ,URL 將擁有資源的 peer 的 ip 地址返回給客戶端,客戶端在與 peer 建立連接,上傳和發送資源。
這時基於 tracker URL 的方式,這種下載模式是 去中心化下載(DHT)。
p2p 的這種下載方式依賴於 tracker URL ,若它掛了整個服務就不可用了。
p2p 還有一種下載方式是基於分佈式的哈希方式,在這裏知道即可。