文件傳輸協議(File Transfer Protocol),是用於在網絡上進行文件傳輸的一套標準協議,使用客戶/服務器模式。採用兩個TCP鏈接來傳輸文件:安全
- 控制鏈接:服務器監聽21端口,客戶端發起鏈接,並經過該鏈接發送命令,接收服務器應答。如:list:獲取文件目錄,reter:取一個文件,store:存一個文件
- 數據鏈接:每當一個文件在客戶端與服務器之間傳輸時,就創建一個全新的數據鏈接
站在服務器的角度來講,有兩種工做模式:服務器
主動模式
![clipboard.png clipboard.png](http://static.javashuo.com/static/loading.gif)
- 優勢:服務器端只需開放21端口,利於安全管理
- 缺點:若是客戶端開了防火牆或者處於內網(NAT網關以後),服務器對客戶端發起的鏈接可能會失敗
被動模式
![clipboard.png clipboard.png](http://static.javashuo.com/static/loading.gif)
- 優勢:對客戶端環境沒有要求
- 缺點:有些客戶端不支持該模式,須要容許從任意遠程終端到服務器高位端口的鏈接,能夠指定FTP服務器使用的端口範圍