《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 嵌入式FTP服務器的設計與實現
嵌入式FTP服務器的設計與實現
陳倩
摘要: 嵌入式FTP服務器的設計與實現,本文重點介紹了一個以DSP為核心所構建的嵌入式FTP服務器的實現方法。且經實際檢驗,運行狀況良好。本方法對其它形式的嵌入式系統的FTP下載功能,也有很強的借鑒意義。
關鍵詞: DSP FTP服務器 ADSP-BF537
Abstract:
Key words :

0 引言

隨著嵌入式設備的不斷發展,其對通信也提出了越來越高的要求。FTP(File Transfer Protocol)作為internet上最早提供的服務之一,至今仍然被人們廣泛使用,FTP是實現文件傳輸服務的最主要的規范。當需要考慮到文件傳輸安全、傳輸質量、訪問控制等諸多因素時,FTP服務器就成了解決文件傳輸問題的關鍵所在。

然而,有時嵌入式系統的開發環境并不支持FTP協議(如ADSP的集成開發環境Visual DSP++),在這種情況下,利用已有的LWIP堆棧中的一些基礎函數來構建一個FTP服務器,正是本文要詳細探討的話題。

1 文件傳輸過程

FTP協議與一般的Intemet協議不同。Intemet協議通常采用一個TCP連接來傳送信息(如HTTP協議);而FTP協議則采用兩個TCP連接來實現文件的傳輸,其中一個用來為文件傳輸下命令,另一個則實現真正的傳輸過程。圖1所示是FTP文件傳輸的原理圖。



客戶端想要獲取存放在服務器上的文件時,應先通過一個預定義的端口號21主動與服務器建立連接,服務器收到請求后,通過3次握手,就可在進行FTP命令處理的用戶協議解釋器(PI)和服務器協議解釋器之間建立一條TCP連接。該連接始終等待用戶和服務器之間的通信,并傳輸用戶輸入的所有FTP命令和服務器的應答,即FTP傳輸中的命令連接。

當客戶通過交互式用戶界面向FTP服務器發出要下載服務器上某一文件的命令時,該命令即被送到用戶協議解釋器,并由用戶協議解釋器進行處理。FTP將在服務器端口號20上打開一個數據TCP連接。在數據連接上傳送完本次請求需傳送的文件之后,它將關閉數據連接,直到再有文件傳送請求時再重新打開。因此,在FTP中,控制連接在整個用戶會話期間一直打開著,而數據連接則是一條臨時連接,當且僅當執行文件傳輸過程時才被創建。

FTP服務器的內部結構可根據不同的需求,選擇不同的服務器模式。因為服務器模式決定著設計結構,而不同的設計結構又很大程度地影響著FTP服務器的性能。服務器的模式主要有循環服務器和并發服務器。

1.1 循環服務器

循環服務器只適應于最簡單的應用協議,它采用客戶輪流等待的工作方式。但它的設計、編程、調試和修改都比較簡單,在其響應時間可以滿足需求的條件下(這個時間可以在本地或全局網絡中進行測試),可以采用循環服務器模式。

1.2  并發服務器

如果構建一個響應需要大量的I/O操作,且各個請求所需要的處理時間差別非常大,或服務器在一臺多處理器的計算機上運行,則可引入并發性方法來縮短響應時間。大多數并發服務器使用多個進程以及多個線程。其線程可分為兩類:主服務器線程和從服務器線程。然而,在有些情況下,一些操作系統創建一個線程的開銷很大,服務器無法承擔為每個請求或每個連接都創建一個線程的重負時,可采用單線程的并發模式。

2 嵌入式FTP服務器的實現

圖2所示是以ADSP-BF537為核心的嵌入式系統的硬件組成框圖。圖中,基于Blackfin處理器的ADSP--BF537具有接口豐富,性能優良,價格低廉等特點,并具有強大的多媒體數據處理能力。ADSP的集成開發環境Visual DSP++中嵌入了實時操作系統內核VDK,適合于多任務多線程的嵌入式操作。此外,ADI還提供了一個用于Blackfin系列嵌入式處理器的LwIP協議棧端口,利用它可以快速將一個獨立的嵌入式應用聯網。圖2中的BF537可通過網絡芯片LAN8187實現與上位機之間的網絡通信,同時利用自身的PPI口實現與存儲陣列的通信和管理。



由于系統中的服務器和客戶端在同一個局域網內,考慮到硬件芯片本身的特點,在文件下載時,與存儲陣列的通信只能通過同一套PPI總線,因此,較好的方式是一次只接受一個用戶的下載請求,于是可構建一個循環服務器來滿足需求。

出于安全性考慮,服務器通常只接受用戶名/密碼的登錄方式。登錄時所需的用戶名和密碼存放在存儲板中。每次收到用戶請求信息后,先從存儲板處獲得已有的用戶信息并比較,若與其中任何一個相符合,則發送接受請求信息,否則,回送拒絕信息。用戶登陸成功后,服務器會響應它的各種操作。圖3所示是FTP服務器的操作流程圖。



當用戶需要下載文件時,需先獲取文件列表。文件列表存放于存儲板中,可先由服務器向存儲板發送回送文件列表的請求,在得到響應后。再通過網絡回送給用戶,由用戶從中選擇所需下載文件的文件名,并發送給服務器。服務器收到文件名后,先判斷其所屬的文件夾,再由此向對應存儲板發送下載該文件的命令。存儲板通過PPI向管理板回送信息(在此每包數據的大小為64KB),管理板每緩存完十包數據后,將通過網絡回送給用戶。需要指出的是,一開始,在實際的下載過程中,有時文件會出現丟幀現象,而且跟網絡狀況有關。經過分析其原因是網絡速度與PPI傳輸相比過慢而導致接收緩存溢出,從而引起下載過程中的數據丟失。于是,可采取流控的下載方式。事實上,存儲板并不會一下將所有數據都連續地發送過來,而是每發送完十包以后,再等待控制板的確認包。控制板只有在將所有數據都通過網路發送完畢后,才給存儲板發送確認包,以等待接收下一次的十包數據。以此循環,直至下載完成。其命令處理流程圖如圖4所示。



3 結束語

在嵌入式系統中,依靠通信技術可以創造出很多十分有用的產品,本文重點介紹了一個以DSP為核心所構建的嵌入式FTP服務器的實現方法。且經實際檢驗,運行狀況良好。本方法對其它形式的嵌入式系統的FTP下載功能,也有很強的借鑒意義。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久高清国产| 欧美综合第一页| 午夜精品久久久久久久99樱桃| 91久久黄色| 国语精品一区| 国产亚洲一区精品| 国产乱码精品一区二区三区av| 欧美日韩午夜在线| 欧美日韩一区二区三区视频| 欧美日韩精品| 欧美日韩大陆在线| 欧美日本亚洲视频| 欧美日韩国产限制| 欧美日韩国产成人在线| 欧美另类女人| 欧美日韩国产在线看| 欧美日本高清视频| 欧美三级在线视频| 国产精品爱久久久久久久| 国产精品va在线| 国产精品xxxav免费视频| 国产精品日韩二区| 国产欧美日韩视频在线观看| 国产精品一区二区在线观看网站 | 中文无字幕一区二区三区| 99re国产精品| 亚洲综合电影一区二区三区| 亚洲女人天堂av| 欧美在线观看你懂的| 久久精品一本久久99精品| 久久久青草婷婷精品综合日韩| 久久综合色播五月| 欧美电影在线观看完整版| 欧美日韩国产首页在线观看| 国产精品ⅴa在线观看h| 国产欧美在线| 在线播放日韩专区| 亚洲日本电影| 亚洲——在线| 久久精品一级爱片| 99精品国产在热久久下载| 亚洲视屏在线播放| 欧美一级网站| 久久午夜国产精品| 欧美精品久久久久久久免费观看| 欧美日韩一区二区三区四区在线观看| 国产精品免费视频xxxx| 国产午夜精品全部视频播放 | 亚洲第一毛片| 一本大道久久a久久综合婷婷| 亚洲专区在线| 亚洲经典视频在线观看| 亚洲一区二区三区乱码aⅴ蜜桃女| 欧美一区激情视频在线观看| 欧美91福利在线观看| 国产精品久久久久久久9999| 国产一区二区欧美| 日韩系列在线| 欧美一级电影久久| 一本色道久久99精品综合 | 欧美日韩国产91| 国产视频欧美视频| 亚洲精品在线免费| 香蕉久久一区二区不卡无毒影院 | 欧美日韩国产三级| 国产欧美一区二区三区国产幕精品| 亚洲大片在线观看| 亚洲一区二区视频在线| 亚洲精品1区2区| 欧美一区二区视频在线观看2020| 欧美电影在线播放| 国产日韩欧美高清免费| 亚洲精品一区二区在线观看| 欧美一区二区网站| 亚洲午夜影视影院在线观看| 久久免费99精品久久久久久| 欧美三级欧美一级| 亚洲成人在线观看视频| 亚洲女人小视频在线观看| 亚洲精品乱码久久久久久黑人| 欧美中文在线观看国产| 欧美三级午夜理伦三级中文幕 | 亚洲国产精品久久精品怡红院| 亚洲视频综合| 日韩亚洲欧美一区| 巨乳诱惑日韩免费av| 国产精品免费电影| 亚洲精品一二三| 久久精品国产清高在天天线| 亚洲欧美久久久| 欧美精品一区二区在线观看| 国精品一区二区| 亚洲系列中文字幕| 夜夜夜久久久| 欧美激情第六页| 红桃视频国产精品| 午夜欧美视频| 亚洲欧美成人一区二区在线电影| 欧美高清一区二区| 韩日成人在线| 先锋影院在线亚洲| 午夜精品美女久久久久av福利| 欧美日本一区| 最近中文字幕日韩精品 | 日韩亚洲国产欧美| 蜜臀久久99精品久久久久久9| 国产一区二区三区电影在线观看| 亚洲私人影吧| 亚洲在线观看| 欧美日韩在线高清| 亚洲美女精品成人在线视频| 最新国产拍偷乱拍精品| 老司机精品导航| 一区二区在线观看视频| 欧美一区二区在线观看| 久久精品青青大伊人av| 国产三区二区一区久久| 亚洲欧美日韩一区二区| 欧美一级久久久| 国产欧美日韩精品专区| 午夜精品视频| 久久gogo国模啪啪人体图| 国产精品一区二区久激情瑜伽| 亚洲一区二区三区乱码aⅴ蜜桃女 亚洲一区二区三区乱码aⅴ | 亚洲亚洲精品在线观看 | 国产欧美日韩在线视频| 亚洲欧美日本日韩| 欧美一区二区视频在线观看| 国产精品女人毛片| 午夜精品国产| 久久激情网站| 国内免费精品永久在线视频| 久久国产福利| 久久只精品国产| 亚洲国产经典视频| 亚洲国产欧美日韩精品| 欧美不卡激情三级在线观看| 亚洲高清精品中出| aaa亚洲精品一二三区| 欧美三级视频在线播放| 亚洲一区免费网站| 久久精品一区二区三区中文字幕| 黑人操亚洲美女惩罚| 最近中文字幕日韩精品 | 亚洲一区国产精品| 久久国产手机看片| 伊人久久大香线蕉综合热线| 亚洲日本电影在线| 欧美日韩一区二区三区视频 | 欧美日韩国产限制| 亚洲综合欧美日韩| 久久久蜜桃精品| 亚洲国产一区二区三区在线播| 国产精品99久久久久久宅男| 国产精品视频1区| 久久国产精品毛片| 欧美国产激情二区三区| 9l视频自拍蝌蚪9l视频成人| 亚洲欧美日韩久久精品| 国产综合在线看| av成人黄色| 国产精品永久免费视频| 亚洲高清精品中出| 欧美日本中文字幕| 午夜久久久久| 欧美成人一品| 亚洲一区在线视频| 欧美成人国产va精品日本一级| 亚洲精品视频在线| 久久er99精品| 亚洲日本中文| 欧美一级夜夜爽| 亚洲国产日韩欧美| 校园春色国产精品| 亚洲国产精品一区二区第一页 | 国产女人精品视频| 亚洲人成久久| 国产精品爽爽爽| 亚洲日韩欧美视频一区| 国产精品家庭影院| 亚洲精品久久久久久久久久久 | 国产亚洲欧洲一区高清在线观看| 亚洲精品中文字幕女同| 国产精品网曝门| 最新国产成人av网站网址麻豆| 国产精品免费一区豆花| 亚洲精品婷婷| 国产日产高清欧美一区二区三区| 亚洲卡通欧美制服中文| 国产日韩1区| 在线综合亚洲欧美在线视频| 好吊妞**欧美| 午夜免费日韩视频| 亚洲精品在线视频观看| 久久一区免费| 亚洲欧美国产高清va在线播| 欧美精品九九| 亚洲国产欧美一区二区三区同亚洲 | 激情欧美一区二区三区| 亚洲欧美伊人|