利用centos7搭建ftp服務器詳細版(1)

一.關於ftp的基礎知識

1.什麼是ftp呢?我們先來看一下百度的解釋, “文件傳輸協議(英文:File Transfer Protocol,縮寫:FTP)是用於在網絡上進行文件傳輸的一套標準協議,使用客戶/服務器模式。它屬於網絡傳輸協議的應用層。” 簡單的來說呢,就是一臺服務器上如果啓用了ftp協議,如果你的電腦與這臺服務器相連接,只要權限夠,你就可以從這個服務器上下載東西和上傳東西。

2.ftp有兩個端口號,第一個端口號是21號,它用於傳輸控制流,第二個端口號是20號,它用於傳輸數據流。怎麼理解呢,簡單的來說,21號端口用來建立連接,20號端口用來傳輸數據。

3.現在,如果你想從一個啓用了ftp協議的服務器上下載東西,有兩種聯機模式供你選擇,但是到底你要用哪一種呢?先來介紹一下這兩種模式,第一種是主動聯機模式,第二種是被動聯機模式。

接下來我們介紹這兩種連接模式。
第一種 主機聯機模式
這種聯機模式現在幾乎不使用,因爲它的可行性不高,現在看一下下面的圖。在這裏插入圖片描述
①是控制通道的連接。 第一步:發送連接請求,其中客戶端啓用的端口必須大於1024,請求服務器。第二步:服務器收到請求後發回帶有SYN的封包。第三步:然後客戶端迴應一個ACK封包(也就是三次握手)。
②是數據傳輸通道的連接。第一步:發送數據傳輸命令,其中客戶端啓用的端口還是大於1024。第二步:服務器用20端口連接到剛剛那個大於1024的端口,髮帶有SYN與ACK確認的封包。第三步:客戶端迴應一個帶有SYN的包。第四步:服務器再回應一個ACK封包。

第二種 被動聯機模式
在這裏插入圖片描述
①過程和上主動聯機模式一樣,不再詳述。
②是數據傳輸通道的連接。只有第二步與主動聯機模式, 第二步不再是服務器主動連接到客戶端,而是服務器回包告訴客戶端我服務器這裏已經準備好了大於1024的端口,然後客戶端用之前大於1024的端口連接到服務器大於1024的端口。

爲什麼主動聯機模式幾乎沒有人用呢?????
不難發現主動聯機模式和被動聯機模式只有一個不同點,因爲主動聯機模式②的第二步是服務器的20號端口連接到客戶端的端口,這個過程中,連接會出問題的(我認爲這裏的問題是:服務器向客戶端那邊建立連接的時候,IP地址到了客戶端那邊路由器的時候,路由器IP地址應該轉換不過來,因爲你路由器是不知道對方服務器ip地址的,如果路由器的ip地址轉換對來源ip不過濾,那麼這個就很危險,所以就很危險!!!這只是我的個人理解吧,我也是個菜鳥,手動狗頭)。

4.ftp的用戶類型可以分爲三類:匿名用戶(anonymous),本地用戶,虛擬用戶。
匿名用戶:是什麼呢?比如你平時登陸到人家的ftp要下東西,你會發現你根本不需要輸入用戶名什麼的,你就能下載東西了。
本地用戶:是什麼呢?就是你在服務器上創建的用戶。(默認是允許本機用戶登陸的)
虛擬用戶:是什麼呢?舉個例子讓你明白吧,比如你註冊的百度雲賬號就是虛擬用戶,你的用戶肯定不會在百度服務器上存在的,然而又不是匿名用戶,所以這就是虛擬用戶,虛擬用戶得用一個本機用戶映射得。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章