国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種基于Linux平臺下的文件傳輸服務器的設計與實現

2015-12-08 11:44:11譚玲麗
電腦知識與技術 2015年25期
關鍵詞:服務器

譚玲麗

摘要:目前的文件傳輸服務器大多是基于Windows操作系統(tǒng)的,很少有針對Linux系統(tǒng)?;贚inux平臺,設計并實現了一種自定義FTP文件傳輸協(xié)議的系統(tǒng),用C/C++作為開發(fā)語言編寫實現的,并詳細分析了該服務器的優(yōu)勢與不足。

關鍵詞:FTP;服務器;Linux

中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2015)25-0025-02

1 引言

FTP(File Transfer Protocol文件傳輸協(xié)議)服務器是一種傳統(tǒng)的文件傳輸系統(tǒng),也是當前互聯(lián)網上比較實用的文件傳輸系統(tǒng),以其管理簡單和能夠實現雙向傳輸的優(yōu)勢,受到了國際互聯(lián)網用戶的普遍歡迎。

隨著 Internet/Intranet 技術的迅速發(fā)展,許多公司、企業(yè)和網站開發(fā)了不少基于FTP(File Transfer Protocol文件傳輸協(xié)議)的應用系統(tǒng)。尤其在Windows系統(tǒng)下,但是在涉及一些需要保密性極其高的行業(yè)時,Windows平臺下的FTP服務器在安全性上的劣勢就顯而易見了。Linux操作系統(tǒng)是一個開源平臺,其安全性好、價格低,越來越多對穩(wěn)定性要求高的用戶和對成本控制要求嚴格的電腦生產廠商都選擇了Linux操作系統(tǒng)。因此,相對應的Linux下文件傳輸服務器的開發(fā)也是業(yè)界現在最重要的課題之一。

2 FTP服務器的設計

2.1 基本原理

文件傳輸協(xié)議是Internet上的一個主要功能,其主要功能就是將文件從一臺計算機傳遞到另一臺計算機。本服務器使用的是自定義的FTP(File Transfer Protocol)協(xié)議。本服務器采用的是一種客戶端/服務器(client/server)模式,在客戶端和服務器端之間使用TCP協(xié)議建立連接。本服務器使用的FTP的組成及結構如圖1所示。

2.2 FTP服務器工作過程

一般的FTP文件傳輸服務器所使用的數據端口取決于FTP的連接模式,一般分為主動模式(Active Mode)和被動模式(Passive Mode)。本服務器采用的是自定義的FTP協(xié)議,所以端口(大于1024)由自己決定,并采用了類似一般FTP服務器數據連接中的主動模式。工作過程:

1)客戶端打開一個動態(tài)選擇的端口(1024以上)向服務器端自定義的控制端口(1024以上)發(fā)起連接,經過TCP的3次握手之后,建立控制連接。

2)客戶端在控制連接上通知服務器自己所用的臨時數據端口。

3)服務器接到通知之后與客戶端的數據端口建立起數據連接,并開始傳輸數據。

2.3 業(yè)務流程

詳細研究用戶需求后,確定服務器的業(yè)務流程如圖2所示:

3 實現開發(fā)平臺及編譯運行

硬件環(huán)境是Linux,編輯環(huán)境我們選擇的是VI(Visual Interface),絕大多數情況下都是使用C語言為Linux開發(fā)應用程序,目前 Linux 下使用最頻繁的 C 語言編譯器是gcc(GNU Compiler Collection),它能夠編譯用C、C++和Object C等語言編寫的程序,語言我們使用的是C語言,選用的是MySQL開發(fā)后臺數據庫。預期實現功能要求,在用戶登錄、文件創(chuàng)建、上傳、下載、查詢及刪除等方面都測試運行通過。其中多用戶登錄測試運行界面截圖如圖3所示:

系統(tǒng)程序的安裝和加載運行:

1)將文件傳輸服務器的服務器端代碼和客戶端代碼復制一份到Linux平臺的Ubantu系統(tǒng)下;

2)用gcc編譯器分別編譯服務器端和客戶端代碼,然后運行服務器;

3)在確保服務器運行之后,運行客戶端,并在運行客戶端時輸入服務器的IP地址和自定義的端口號;

4)完成客戶端登陸到服務器上之后,用戶就可以通過命令在客戶端上遠程操作服務器上的文件。

4 結論

經測試,該FTP服務器實現了局域網內用戶登錄、上傳、下載、查詢、刪除文件資料等功能,并能在確保安全穩(wěn)定的前提下,方便內部工作人員在工作中共享資源,使資源利用達到最大化。測試階段發(fā)現的部分漏洞雖已修補,但仍存在一些不足,在后續(xù)工作中會繼續(xù)予以改進:

1)由于設計時間較為倉促,沒有交互界面的美化方面有所欠缺,因此用戶界面的設計還有一定的完善空間。

2)在上傳和下載文件時可能出現粘包問題,在上傳文件時,客戶端連續(xù)發(fā)送幾次數據很可能被服務器端一次性接收,可以采用應答模式解決此問題。

3)緩沖區(qū)不滿的問題,在傳輸文件的時候,接受數據的緩沖區(qū)定義的有點大,接受到最后的時候,發(fā)送端發(fā)送的數據不足以填滿緩沖區(qū),就會出現接受文件數據已經完成,但是操作不能正常結束的問題。這里的解決方案是,在文件傳送之前將要被傳送的文件的大小信息先提取出來發(fā)送給接收端,然后再發(fā)送,一直到該文件剩余大小比緩沖區(qū)小的時候,就動態(tài)創(chuàng)建一個大小跟文件剩余大小一樣的緩沖區(qū),一次將剩余文件接收,這樣就可以解決接收緩沖區(qū)不滿的問題了。

參考文獻:

[1] (美)W.Richard Stevens.TCP/IP詳解卷1:協(xié)議[M].北京:機械工業(yè)出版社,2002.

[2] 徐斌.當前嵌入式Linux分析與應用[J].電子制作,2015(2).

[3] 趙偉光.Linux的網絡流量監(jiān)測[J].網絡安全,2015(4).

猜你喜歡
服務器
通信控制服務器(CCS)維護終端的設計與實現
得形忘意的服務器標準
知識產權(2016年8期)2016-12-01 07:01:13
計算機網絡安全服務器入侵與防御
服務器操作系統(tǒng)可信加固技術研究
湖北電力(2016年10期)2016-04-25 07:55:55
關于Linux的視頻服務器開發(fā)與實現分析
河南科技(2014年18期)2014-02-27 14:14:43
積分刷刷刷-FTP服務器篇
河北区| 祁门县| 台南市| 兴国县| 天祝| 迁西县| 车致| 九龙坡区| 吉林市| 莱阳市| 西乌珠穆沁旗| 蒙自县| 岱山县| 临夏县| 西华县| 南川市| 隆化县| 凤凰县| 阜平县| 丰顺县| 大竹县| 咸阳市| 广西| 巴彦淖尔市| 武穴市| 宝鸡市| 贵南县| 甘谷县| 葵青区| 汶川县| 中西区| 余干县| 铁岭县| 德惠市| 资中县| 苍山县| 承德市| 米易县| 南木林县| 奉贤区| 宜春市|