Linux——檔案傳輸協議知識點梳理
接觸過 作業系統的同學一定對檔案傳輸協議並不陌生,因為在 Linux 作業系統裡我們對檔案的上傳下載通常不會像我們操作 window 系統那麼直觀,一般都是透過檔案傳輸協議去完成的。在我的日常工作中,常用的檔案傳輸協議有 FTP 、 SFTP 和 SCP ,今天就把對此協議淺薄的理解整理出來,希望能夠幫到大家。
一、網路通訊協議的分層
在 OSI 網路模型一共有七層,每一層接收其下一層所提供的服務(聽從下屬反饋),並且為為自己的上層提供服務(向領導彙報),上下層通訊所遵循的規範叫介面,同層之間相互通訊所遵循的規範叫協議。 OSI 網路模型對應的七層從上到下分別為:應用層、表示層、會話層、傳輸層、網路層、資料鏈路層、物理層。
應用層:是我們最有直觀感受的,它負責為應用程式提供服務,比如檔案傳輸,電子郵件等,今天跟大家分享的檔案傳輸協議就處在應用層。
表示層:主要負責將接收到的資訊轉換成協議規定的資料格式。
會話層:主要負責通訊的連結和斷開。
傳輸層:負責節點之間的資料傳輸,如 UDP (無狀態傳輸)和 TCP (有狀態傳輸)。
網路層:負責將資料傳到指定的地址,如 IP 、 ICMP 。
資料鏈路層:負責物理層面上兩個節點的傳輸,如 MAC 。
物理層:負責位元流與電子訊號之間的切換。
需要注意的是 , 在實際的資料通訊過程中,並不是每次都要用到這七層協議的。
二、檔案傳輸協議
FTP 的全稱是 File Transfer Protocol ,是網路中兩臺計算機進行檔案傳輸的協議規範,也是網路史上最早被使用的協議之一,處在 OSI 網路模型的應用層,既然用於檔案傳輸,必不可少傳送端和接收端, FTP 的傳送端和接收端都可用於以用於檔案的上傳,檔案的下載,向指定目錄傳送檔案。 FTP 是基於 TCP 協議的,由於 FTP 協議既涉及到資料的傳送,又涉及到傳送端和接收端的通訊,所以一次 FTP 通訊用到兩個 TCP 連結,一個用來傳遞資料,一個用來建立連線。
FTP 有兩種工作模式,主動 (PORT) 和被動 (PASV) 。主動的工作過程是:傳送端向接收端所在的伺服器傳送一個連線請求,接收端伺服器接收連線,當有檔案需要傳輸時,傳送端所在的伺服器告訴接收端所在的伺服器,然後接收端所在的伺服器向傳送端所在的伺服器傳送連線,建立資料通道傳輸資料。被動的主動的工作過程是:傳送端向接收端所在的伺服器傳送一個連線請求,接收端伺服器接收連線,當有檔案需要傳輸時,接收端所在的伺服器告訴傳送端所在的伺服器,通道開啟,你可以傳送資料過來。他們之間的區別就是,一個是主動傳送資料,一個是求傳送資料。
SFTP 的全稱是 Secure File Transfer Protocol ,是在 FTP 傳輸協議之間進行加密的一種傳輸方式, SFTP 屬於 SSH 的一部分,所以它的使用方法跟 SSH 一樣。但是因為 SFTP 做了加密處理,傳輸過程肯定會增加校驗處理,所以它的傳輸速度和傳輸效率要低於 FTP ,如果傳輸的檔案比較重要,建議用 SFTP 傳輸,降低檔案被破解的風險。 SFTP 的優勢在於如果傳輸過程中網路中斷,等網路恢復後可自行繼續傳輸,也就是支援斷點續傳。
SCP 的全稱是 Secure Copy ,是用來在兩個伺服器之間進行檔案複製的,等同於 Windows 系統裡的 copy 快捷鍵,傳輸過程也是基於 SSH 進行安全加密過的,但要知道目標路徑的詳細位置,如果傳輸過程中網路中斷,等網路恢復後不會像 SFTP 那樣繼續傳輸,也就是不支援斷點續傳。
以上就是對檔案傳輸協議 FTP , SFTP , SCP 的知識點梳理,比較淺顯,只是停留在使用層面上,如果你需要深層次的理解和應用,可以去 這本書去查閱。好了,今天就到這裡啦,希望能幫到大家!。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69901823/viewspace-2922714/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 支援斷點續傳的大檔案傳輸協議斷點協議
- Raysync檔案傳輸協議(FTP)協議FTP
- 檔案傳輸協議介紹協議
- 4種傳輸協議設定,檔案傳輸協議如何選擇?協議
- 檔案傳輸協議的五種安全檔案傳輸替代方案協議
- 還在使用檔案傳輸協議傳輸機密檔案?你可能是對檔案傳輸協議有什麼誤會協議
- linux下遠端傳送檔案命令,通過ssh協議傳輸檔案Linux協議
- 圖片上傳知識點梳理
- Linux之SSH協議知識點總結Linux協議
- 【知識分享】Linux檔案傳輸常用的9個命令!Linux
- HTTP協議知識點總結HTTP協議
- 在java中使用SFTP協議安全的傳輸檔案JavaFTP協議
- 傳輸層協議協議
- 當跨國檔案傳輸陷入困境時,不妨試試raysync傳輸協議協議
- Android使用Socket(Tcp/Udp)協議進行資料傳輸(傳輸大檔案)AndroidTCPUDP協議
- 關於檔案傳輸協議,你不知道的事協議
- Linux 檔案傳輸Linux
- JVM面試知識點梳理JVM面試
- Angular常用知識點梳理Angular
- 搞定PHP面試 - HTTP協議知識點整理PHP面試HTTP協議
- 網路傳輸協議協議
- 超文字傳輸協議協議
- Windows -> Linux 檔案傳輸WindowsLinux
- HTTP 協議知識點總結(二)HTTPSHTTP協議
- Java基礎知識點梳理Java
- 【整理】JVM知識點大梳理JVM
- JS函式知識點梳理JS函式
- Flex 佈局知識點梳理Flex
- 小知識二、Then協議協議
- Http協議常用知識HTTP協議
- TCP傳輸協議詳解TCP協議
- HTTP超文字傳輸協議HTTP協議
- 【傳輸協議】HttpClient基本使用協議HTTPclient
- [TCPIP] 傳輸控制協議 NoteTCP協議
- 網路安全網路協議知識點中,http協議是什麼?協議HTTP
- Mac Linux檔案互相傳輸MacLinux
- jftp通過sftp協議上傳檔案FTP協議
- php通過ftp協議上傳檔案PHPFTP協議