時間:2022-06-20 12:28:10
緒論:在尋找寫作靈感嗎?愛發表網為您精選了8篇文件傳輸協議,愿這些內容能夠啟迪您的思維,激發您的創作熱情,歡迎您的閱讀與分享!
[關鍵詞]傳統文化;藝術;和諧社會;作用
一、傳統文化藝術及其精神動力
中國的傳統文化藝術,博大而豐富多彩,成為中華民族文化得以發展的源泉。傳統文化藝術的產生有著深刻的民族習俗、政治、經濟、宗教乃至審美的歷史淵源,是中華民族文化千百年來沉淀的結果,是廣大勞動人民集體的智慧和創造,它與勞動人民的生活、密不可分。從“藝術”這一詞的演變,可以看出與勞動生產的關系密不可分。“藝”字原為“藪”,在我國甲骨文中,它是人類在種植的形象,象征著勞動技術。我國學者鄧福星先生寫道:“人的起源不僅為藝術的發生提供了最基本的條件,而且使之成為必然。在一定意義上,我們可以把從猿到人的轉變看成是上述三個主要體系的進化――人類各部分器官和機體的日趨完善,心理機能的發展和人類社會關系的形成,這些都是藝術發生的基本條件。一切精美的傳統文化藝術品無不出自人類靈巧的雙手;動聽的歌聲需要人的歌喉才能唱出,優美的舞姿也要靠人的肢體來表現。一定歷史條件下的社會關系既為藝術的發展提供了產生和發展的條件,也就從根本上規定、制約著藝術作品的特征和基調。……”“科學充實提高了我們的知識生活,而藝術也同樣充實提高了我們的感情生活”,喚醒了人類求美精神意識。如原始民族喜歡紅色一類的強烈色調,山頂洞人在他們同伴的尸體旁撒上礦物質的紅粉,山頂洞人裝飾品的穿孔也幾乎都是紅色,因為他們的穿帶都用赤鐵礦染過,這是他們最初的求美精神意識的產生。也許紅色引起的感情愉悅中積淀了人的想象和理解,或許原始人從紅色想到了與他們生命攸關的火,或許想到了溫暖的太陽,總之,這一切都促使了人類的求美精神意識的發展。在人類社會歷史的發展中,傳統文化藝術活動促進了人類精神意識的產生和發展。而傳統文化藝術品則是物化了的人的精神,其產生離不開人的精神活動。
首先,傳統文化藝術是以人的社會心理需要而產生的。人們在生產勞動中,有了社會交往等強烈的心理需要,為滿足這種需要,就產生了傳統的文化藝術。
其次,傳統文化藝術離不開人的情緒、情感與想象。由于人的情緒、情感等的推動,加上藝術豐富的想象,人們便把舊的表象進行加工改造,而產生了新的藝術形象。一切傳統文化藝術的出現都是思維的結果,離不開入的精神活動,都是人精神活動的產物,依賴于人的精神活動,一般是意識與潛意識活動的相互依存、相互作用、相互調節及相互轉化的結果。
從精神層次來說,傳統文化藝術作品的完成依賴于意識――潛意識――意識,這一點我們從原始初民的實際生活中可以看出。他們通過對夢的表現與交流則導致了人類最早藝術的實現。如原始初民們幾乎人人怕死,然而在夢中他們又“見”到死去的家人或熟人,于是醒后就造出一個“天堂”與“地獄”的世界,以及“圖滕”藝術等,而這一認識的途徑是在夢中,絕大多數是形象的夢,是潛意識的產物,夢態生活及對夢的分析導致了藝術的產生。尤其現代藝術創作則更與人的思維等精神活動不可分,一切創作都是精神活動的結果。由此可見,傳統文化藝術的歷史源遠流長,對人類生活的涵蓋面廣泛。在世界文化歷史的進程當中,以中國為代表的傳統文化藝術,表現了中國人追求“天人合一”的思想以及和諧文化的精神意蘊。
二、傳統文化藝術在構建和諧社會中的作用
在藝術活動中,傳統文化藝術表達了人們對社會、對美好生活的共同祝愿,促進了群體間以及人們與先祖、與自然的情感交流,鞏固了民間群體的穩定和發展。在藝術活動中,傳統文化藝術終擔任著重要的角色。傳統文化藝術包納了百姓生活的方方面面,涵蓋了宗教、倫理、道德、價值等全部精神文化和生產勞作等物質文化。傳統文化藝術是依賴民眾生活而發生和存在的,依靠群體的齊心協力來維系生存和發展,使民眾文化生活更為豐富和頻繁,同時,也使傳統文化藝術更為廣泛和普及。
人類有史以來在不同時期、不同地域創造的各種傳統文化藝術,并不存在先進和落后,而只有文化觀念的差異及由此而形成的美學觀念的區別。中國傳統美學強調的是主客體的統一的整體意識和求全美滿的美學觀念,認為萬事萬物都是一個和諧的整體都遵循著一個本質的規律。因而中國古代的藝術家始終致力于以整體為美的創作。將天、地、人、藝術、道德看作是一個生機勃勃的有機整體,以人的感情賦予物的形式,借物抒情是一種善和美的行為和意志。在傳統文化藝術的題材和構成形式上都表露出那種善始善終的處世哲學和精神力量。
【關鍵詞】 中國傳統吉祥紋樣 民間藝術 山西繡花鞋墊 傳承 保護
隨著經濟與科技的飛速發展,西方文化思潮的傳入,多年來現代物質文化對中國社會各個方面的影響,社會的進步導致了一些傳統的手工藝技術停止發展,甚至幾近消失。然而中國要不斷發展壯大,其根本還是要發揚和壯大自己的東西、自己的文化,讓世界認識中國了解中國。現在越來越多的人開始關注我們祖先留下來的經典之作,開始關注中國傳統的文脈。注重于中國傳統吉祥紋樣的繼承、發揚、保護、研究,并與現代設計相結合,出現了很多具有中國特色的現代設計創意。本文通過對山西民間繡花鞋墊藝術表現的研究,來探討了中國吉祥紋樣在民間藝術生中的應用。讓跟多的人認識中國傳統紋樣的藝術魅力,以及其所包含的文化價值、所體現的中華民族千百年多彩燦爛的生命力與創造力。首先讓我們了解一下中國傳統吉祥紋樣。
一、中國傳統吉祥紋樣的發展與表現
中國傳統吉祥紋樣的雛形可以追溯到原古時代圖騰崇拜時期,吉祥紋樣的產生與人們對自然崇拜的信仰是密不可分的,人類對自然充滿了敬畏、對生活充滿了熱情,作為吉事的祭祀和卜笠便是原古人們對吉兇的最初認識,表現在人們在甲骨上記錄了吉、大吉之類的卜辭。李硯祖先生這樣認為“從紋的形式而言,吉祥紋樣的起源與原古先民觀物取像的觀察方式以及在卜笠活動中察看紋像的認識有直接關系”。到新石器時期當時的器物上如彩陶、石雕、玉刻上出現了各種形狀的怪獸,如龍、鳳、龜、鳥等,以及回紋、云紋等。到商、周、春秋戰國時間,真正意義的吉祥紋樣出現在了青銅器與漆器中,例如我們熟悉的饕餮紋、夔龍紋,象紋等,這些紋飾及承載紋飾的器物象征了擁有者地位的尊貴,象征著擁有權利。到秦漢時期,佛教傳入中土,佛教、道教、儒學思想的融合,再加之民間神話傳說的積淀,極大程度的豐富了吉祥紋樣的題材。例如儒家嚴格具有等級的君臣、父子、兄弟、夫妻、朋友五種倫理關系,在傳統紋樣中用鳳凰、白鶴、白頭、鴛鴦、燕子五中瑞鳥組合來表現,稱之為“五翎”(指“五倫”)。并且這些紋樣被廣泛的應用到了當時的建筑、陶瓷、刺繡、繪畫等藝術表現中,伴隨工藝水品的發展,各種表現手法相應而生。到隋唐元宋時期,吉祥紋樣日漸完善,并開始有了新的發展,到明清時期,吉祥紋樣走向了成熟。圖案表達形式更加豐富多彩,并產生了圖案表現技法與規范,使吉祥紋樣更趨于完美,對整個社會文化影響深遠,不僅從圖形上有了進一步發展,同時也有了一些能代表吉祥的風俗與語言,來贊譽人們向往的吉祥社會。
吉祥圖案發展到目前,種類繁多,我們從他的表現內容簡單給他做一個分類:1)借助于諧音。也就是人們常說的“口彩”。漢字中有許多讀音相同,字義不一的現象。借助于這點,就產生了這樣一類型吉祥紋樣。例如 “喜上眉梢”,它的表現則是一只喜鵲落在梅枝上的景象,暗語有喜事。再例如在今天很多地方結婚都保持的一個祝福民俗“早生貴子”,即棗、花生、桂圓、蓮子。2)對動植物屬性的借鑒。借鑒植物和動物的一些自然屬性來借物喻志。例如孔子有言“歲寒,知松柏之后凋也”便是“歲寒三友”松、竹、梅的人格原型。再如被稱之為“四君子”的梅、蘭、竹、菊,則借鑒的是梅凌歲寒而獨開之傲而不俗,蘭空谷幽香、孤芳自賞之幽而不病,竹瀟灑挺拔、清麗俊逸之輕而不佻,菊凌霜自行、不趨炎勢之麗而不嬌。對動物的屬性的借鑒在傳統紋樣中也是數不勝數的,例如“喜從天降”則是被稱為親客的蜘蛛,從蛛網上沿著一根蛛絲往下滑。3)吉祥文字的變形組合應用。最具代表的莫過于百壽圖了。福、祿、壽、喜、富貴、吉祥、招財進寶這些大多數在日常生活里我們都能見到。
二、繡花鞋墊中的吉祥紋樣特征
繡花鞋墊是山西民間文化藝術的一個重要表現,十五六歲女子出嫁之前,都會為自己、為愛人繡制鞋墊,作為自己必不可少的嫁妝。他是女子像男子表達愛情的一種信物,也是女子對生活、對婚姻、對愛情充滿向往的一種寄托。民間手繡花工鞋墊的制作工藝大概需要5-7天完成,需要經過打底(制坯子)、裁剪、粘表層、包邊、畫圖、繡制、表內襯,熨燙幾道工序。依據所送對象的不同,繡花鞋墊有著不同的內容與題材,圖案豐富、主題多樣、含義深刻,寄托著各種各樣的祝福。
傳統繡花鞋墊圖案題材的選擇寓意深遠,在不同的環境下使用的鞋墊選材不盡相同。用于婚嫁的繡花鞋墊,多為未出嫁的女子為自己為愛人繡制的嫁妝,是愛情的信物。它的表現多用動植物來圖案來創作,采用了諧音寓意的方式。題材多采用傳統吉祥紋樣中的“連生貴子”、“榴開百子”、“百年和合”等,大多采用了諧音的表現方式,“榴開百子”石榴籽多,則“籽”與“子”相關,寓意多生男孩,“百年和合”百多為百合花,年指萬年青,和多用荷花代替,合為盒子,通過這樣雙關的手法來祝愿新婚夫婦百年好合。動物類型題材有“鴛鴦戲水”、“鳳戲牡丹”、“喜鵲登梅”、“龍鳳呈祥”等等。如果鞋墊是送給長輩、朋友的,那么他的題材也會改變,例如“壽比南山”、“松鶴延年”、“五福捧壽”等。傳統繡花鞋墊除了動植物題材以外還會直接用文字來表達吉祥的祝福,如“一生平安”、“事事順心”、“百壽圖”、“百福圖”、“心想事成”、“四季平安”以及象征繁衍不息的“卐”字等。小小一雙鞋墊,通過不同的組合圖案傳達著濃濃的祝福與情義。
繡花鞋墊題材的多樣性,決定了其構圖方法的豐富性。民間手工制繡花鞋墊的圖案一般都是多種傳統吉祥紋樣的重組構成。制作者以心造型,以理造型,每個鞋墊圖樣都有著自身的語言表述。表現自然、淳樸。民間繡花鞋墊最大的構圖特征便是“滿”。或許這邊是民間淳樸感情的體現,繡制者對生活、對新人、對愛情、對長輩充滿了濃厚的愛意,滿腔的祝福,所以繡制鞋墊的時候會把所有的能表達的祝福一股腦繪制上去。這或許也正是繡花鞋墊的魅力所在。最具代表性的莫過于被稱之為“全鞋墊”的婚禮用鞋墊。全鞋墊中出現了很多動植物為代表的吉祥紋樣,分別有:代表財富的金蟬,代表富貴的牡丹,繁衍不息用于裝飾的“卐”字,以及兔子、蔥、葫蘆、佛手、剪刀、魚兒、如意、扇子,蓮花、蝙蝠、喜珠等,組合多樣、表現豐富、色彩質樸,深的大眾喜歡。全鞋墊上圖案的意義有這樣一首民謠可以解釋:
蛤蟆搬金磚,輩輩都當官;剪子鉸佛手,兩口好相守;扇子扇牡丹,兩口好喜歡;大鞋套小鞋,葫蘆倒寶來;兔兔吃蔥蔥,來年抱孫孫;時時如節慶,歲歲都有余;事事如意牡丹根,蓮花佛手貴長生。
除了“滿”以外,繡花鞋墊構圖還遵循了“對稱”的原則,意指成雙成對。繡花鞋墊的對稱表現分為兩種形式,一種是圖案的絕對對稱。左右兩只鞋墊形成圖案上的對稱,另一種則是意識形態上的對稱。例如: “金童”對“玉女”,“龍”對“鳳”,“獅子”對“老虎”,“喜鵲”對“鴛鴦”等。通過這樣的組合來表達豐富的內涵。例如“喜鵲”對“鴛鴦”,則表示雙喜臨門,夫妻恩愛。
第三個構圖特征我們給它歸納為“三分法”,即把鞋墊按照腳形分開構圖,這三部分是腳掌、腳心、腳跟。聽起來很有意思,但也正是民間藝術質樸可愛的一種表現。例如,腳掌有佛手、石榴、桃子,寓指福壽、多子又安康;腳心兩尾順魚,寓意順順利利、如魚得水;腳跟金蟬抱磚,寓指必定做官。再如,腳掌有獅虎,寓指虎虎生威,祛病鎮邪。腳心書福、囍,寓指福喜臨門;腳跟蓮花,寓指步步生蓮,仕途人生順風順水等。
三、保護、傳承和發揚
手工繡花鞋墊發展至今,近年來多被機器繡制所代替,大量的刺繡產業化充斥著市場,但是也出現了很多亂象。批量生產,加之設計上的缺乏,繡花鞋墊中的紋樣被簡化、使民間繡花鞋墊的表現單一,呆板缺失了那種本身的文化內涵,以及所要表現的祝福寓意。這就要求在市場與技術發展的同時,我們需要培養大批的創意、設計、研發新產品的人才。在充分了解認識傳統圖案表現手法、表達方式,以及繡花鞋墊所傳達的民俗真諦后,對制品進行再設計。注重繡品的內容表現豐富,題材寓意貼切,內涵延伸廣,順應繡花鞋墊本身繡制特征,來促進產業的發展。我們需要傳承的不僅僅是一些圖案表現,而是與之共存的傳統文化與民俗精神。
參考文獻
[1] 季寶玲.魯南刺繡鞋墊[J].科技信致富向導,2000.03.
[2] 高琪.淺析陜北繡花鞋墊的生命內涵[J].裝飾,2008.01.
[3] 鐘敬文.民俗學概論[M].上海文藝出版社,1998.
關鍵詞:TCP/IP協議 文件傳輸協議FTP Windows Sockets 套接口
中圖分類號:TP319 文獻標識碼:A 文章編號:1007-9416(2013)06-0105-01
1 引言
TCP/IP協議棧應用層是超越網絡通信機制限制的一層。在TCP/IP協議棧中有三大基本協議之一文件傳輸協議FTP使Internet上任何異構型主機或操作系統之間都能實現相互間的文件傳輸。它有自己一套獨立的命令(或稱子命令),獨立于各種主機本身的操作系統,是任何用戶都可以使用的網絡通用命令。研究和開發在Windows下的網絡編程技術具有普遍的應用價值。[1]
2 Windows Sockets和FTP應用協議
2.1 Windows Sockets
TCP/IP協議核心作用是對物理網絡(物理層和數據鏈路層)在傳輸層/網絡層建立統一虛擬“邏輯網絡”,屏蔽所有物理網絡硬件差異,以實現普遍的“連通性”。[2]TCP/IP應用中,最普遍使用的是Windows Sockets API編程接口。應用程序調用Windows Sockets的API實現相互之間的通訊。Windows Sockets又利用下層的網絡通訊協議功能和操作系統調用實現實際的通訊工作。任何能夠與Windows Sockets兼容實現協同工作的應用程序就被認為是具有Windows Sockets接口。
2.2 基于TCP/IP的FTP應用協議
文件傳輸協議(FTP)提供文件傳輸服務,以使在客戶和服務器之間拷貝文件,并提供附加的服務以方便文件傳輸過程。
FTP是基于字符的客戶接口,同時使用兩個不同TCP連接。“分配號”RFC(評議征求)為FTP分配兩個公認端口號。[3]當FTP服務器模塊裝入TCP/IP系統時,程序打開端口21,使服務器在此監聽。FTP客戶呼叫服務器時,它和端口21建立一個在整個FTP任務過程中都活躍存在的連接。通過該連接,客戶被服務器認證,發控制以后所有活動的命令。當客戶發命令給服務器請求文件傳輸時(列目錄被認為是一個ASCII文件傳輸),使用端口號20的第二個連接被打開,當傳輸結束時此連接被關閉。FTP客戶和服務器在控制連接上的通信是通過用戶協議解釋器(客戶程序中)和服務器協議解釋器間交換命令進行,FTP客戶發給服務器的每一個命令必須有至少一個來自服務器的應答。應答由一個三個數字的編碼和一個文本字符串組成。文本字符串顯示給用戶看,編碼由客戶程序解釋以決定下一步動作。
2.3 套接口
套接口存在于通訊域中,是通訊的基石,一個正在被使用的套接口都有它的類型和與其相關的進程。套接口通常和同一個域中的套接換數據(數據交換也可能穿越域的界限,但這時一定要執行某種解釋程序)。用戶目前可以使用兩種套接口,即流套接口和數據報套接口。流套接口提供了雙向的,有序的,無重復并且無記錄邊界的數據流服務。數據報套接口支持雙向的數據流,但并不保證是可靠,有序,無重復的。[4]
3 面向連接的FTP編程應用
4 結語
本文主要論述了使用Windows Sockets開發FTP應用的研究與實現。FTP是TCP/IP上一個非常典型應用。采用流套接口,實現了接收不同長度數據流。并且有較完善的錯誤處理機制,能給出網絡錯誤的消息描述。隨著Internet的不斷發展和Windows平臺的普及,基于Winsock接口這樣的網絡編程也會顯得越發重要。
參考文獻
[1]胡道元.計算機局域網[M].清華大學出版社,1990.9.
[2][美]Craig Zacker著,TCP/IP網絡管理[M].中國水利水電出版社,1998.8.
MSN最新安全版中關村在線免費下載頁面:
.cn/detail/11/109664.shtml
QQ和MSN應該是我們最常用的IM軟件,但是相信不少人都注意到,兩個軟件在傳輸文件的時候,MSN要比QQ慢很多,當然也不是絕對的每次傳輸MSN都慢,然而這絕對是大多數情況。這到底是為什么呢?讓我們來一看究竟。
就本質上而言,QQ是一個基于TCP/UDP協議的通訊軟件,而MSN是基于TCP協議的通訊軟件,但對博大精深的網絡通訊協議的理解和應用,QQ和MSN卻有著彼此不同的理念。
那么QQ是如何通訊的呢?在TCP/IP協議中,唯一標識一個應用進程的是socket,它通過網絡層的IP地址和傳輸層的端口號來實現,對于同一個IP地址的內部網絡,通過不同的端口號來標識不同的QQ進程;當你登錄QQ服務器的時候,服務器會保留你的保留IP地址和端口號信息,并在你的好友的QQ進程中進行列表顯示,然后兩個進程就可以通信了。
通常,發送文件的計算機首先要通過消息服務器將其IP地址發送給接收計算機,當接收計算機同意接收的確認消息反饋到消息服務器后,消息服務器將據此設置好文件傳輸對話。隨即,發送計算機與接收計算機就會在確定好的端口范圍內,建立起TCP或UDP連接開始文件的檢索與傳輸。
在默認狀態下,QQ優先采用了UDP(User Data Protocol,用戶數據報協議)協議傳送數據,而對可靠性要求高的數據通訊系統往往使用TCP協議傳輸數據。與TCP協議不同,UDP協議并不提供數據傳送的驗證機制――在整個文件傳輸過程中如果出現數據報的丟失,協議本身并不能作出任何的檢測或提示。因此,通常人們把UDP協議稱為不可靠的傳輸協議。
UDP協議適用于無需應答、要求時效的軟件使用,這樣的設計正好與QQ追求的目標相符,所以QQ優先使用了此協議進行一切功能應用。但是,由于UDP協議具有不可靠性,常會因種種原因導致消息或數據的發送失敗(很多時候會發現發送文件給對方接收時,對方根本收不到要求接收文件的消息。或是發送聊天消息時,對方根本沒有收到過消息)。顯然,UDP協議由于排除了信息可靠傳遞機制,將安全和排序等功能移交給上層應用來完成,極大降低了執行時間,使速度得到了保證。QQ在數據傳輸上更注重實際性能,為了獲得更好的使用效果,往往可以犧牲一定的可靠性。因此,使用QQ來傳輸數據,在很多時候就成了一個“不錯”的選擇。
一般內網傳輸首選QQ,速度最快。QQ的文件傳輸是直接個人對個人,采用P2P的傳輸方式,具有不需中轉的優勢,而且服務器都在國內,傳輸性能要高于外國IM軟件。
看過了QQ,我們再來看看MSN的傳輸原理。MSN全稱MSN Messenger,是微軟公司推出的即時通訊軟件。MSN Messenger憑借自身的優秀性能和簡易操作,已躋身為目前世界上使用最為廣泛的IM軟件(即時通訊軟件),在國內也有著眾多的用戶,是唯一一款可以和QQ抗衡的IM軟件。如今MSN除了互聯網通信外還廣泛用于局域網,如學校、公司、政府機構等內部人員交流。
就MSN所用的TCP協議來說,它已經包含了數據傳遞驗證機制。而網絡傳輸協議中的驗證機制往往是接收方收到發送方信息后自動回復一個確認信息,因此有時候在網絡出現延遲或線端擁塞時,即使MSN顯示連接正常也會出現“無法將XXXX信息發送給所有接收者”。
中國航空工業西安航空計算技術研究所 陜西西安 710119
[摘要]隨著綜合化航電的深入發展,分區操作系統下文件傳輸服務已成為新的應用需求。本文從VxworksAE653操作系統的體系架構出發,結合簡單文件傳輸協議(Trivial File Transfer Protocol,TFTP)的工作模式,引入選項協商機制對協議進行了擴展,給出了在分區機制操作系統VxworksAE653下TFTP的實現方法。
[
關鍵詞 ]綜合化航電;分區操作系統;簡單文件傳輸協議;選項協商
引言
隨著航電系統綜合化的不斷發展、新一代航電系統中對于數據傳輸要求的不斷提高,航電系統中傳輸的不僅僅是命令和狀態數據,而且還有大量的中間結果、可加載的應用軟件等,文件傳輸服務在分區機制操作系統下廣泛應用已成為航電系統新的需求。在分區操作系統下實現文傳傳輸服務,將為綜合化航電系統文件傳輸應用的開發提供有力的支持。
1.VxwoksAE653操作系統簡介
VxworksAE653操作系統美國WindRiver公司依據ARINC653標準推出的具備分區機制的高安全操作系統。操作系統分為上下兩層,下層操作系統稱之為核心操作系統,上層操作系統稱之為分區操作系統。核心操作系統提供分區機制,并且提供最基本的分區相關服務,如根據主時間框架內分配給分區的時間窗口調度分區;利用處理器的MMU對分區的空間進行保護。分區操作系統主要負責與分區無關的分區內進程的管理,如分區內的進程管理、進程調度、進程間通信、分區內端口的管理等。在該結構下,分區機制的實現依賴于核心操作系統及其支撐硬件,與分區無關的進程管理依賴于每個分區自己的分區操作系統,本文中TFTP軟件是基于VxworksAE653操作系統設計和實現的。
2.TFTP簡介
TFTP是一種基于UDP的用來傳輸文件的簡單文件傳輸協議,它是基于客戶/服務器模式,主要功能是從遠程服務器上讀取文件或者將文件傳輸給遠程服務器。
2.1 TFTP數據報文格式
TFTP數據以定長512字節傳輸。一個TFTP包頭含以下兩個部分: TFTP操作碼和數據。圖1為5種TFTP報文格式。
2.2 TFTP的工作模式
TFTP的工作模式為客戶/服務器(C/S)模式。創建連接后,客戶端和服務器端通過協議包進行信息交互。下面是一個客戶端向服務器端發送文件的例子,(1)客戶端通過發送端口向服務器端的接收端口上發送WRQ請求。(2)服務器端的接收端口接收到請求后,通過發送端口向客戶端發出ACK,塊號為0。(3)客戶端接收到塊號為0的ACK包后,連接建立。(4)客戶端依次向服務器端發送DATA包,DATA包序列從1開始,同時客戶端檢查ACK包序列,如ACK包檢查有誤,中止傳輸。如ACK包序列正確,繼續傳輸直至傳輸結束。
3.TFTP在分區機制操作系統下的設計
TFTP的客戶端和服務器段分別處于VxworksAE653操作系統的應用分區中,應用分區中支持滿足ARINC653標準的接口。TFTP的任何一個傳輸服務都以客戶端申請寫文件或者讀文件請求發起連接,如果服務器同意連接請求,則連接成功。文件中的數據以定長的字節傳輸,每個數據包都包含一個數據塊,在發送一個數據包之前,前一個數據必須得到確認。在VxworksAE653操作系統下,TFTP的設計需要考慮通信和文件系統配置、超時重傳機制、協議包的合法性檢查、協議包序列號驗證以及協議的可擴展性問題。
3.1 通信配置
VxworksAE653操作系統下,核心操作系統提供了一組設備管理接口,系統集成人員通過調用該接口可向核心操作系統注冊網絡設備驅動。本文中的TFTP軟件所使用的網絡為以太網UDP驅動。通過將以太網UDP驅動注冊到核心操作系統可完成網絡驅動配置。分區間通信為端口-通道-虛端口機制,分區中通過端口進行數據收發,虛端口可直接訪問下層設備進行數據收發,端口和虛端口之間通過通道連接。在VxworksAE653操作系統的配置藍圖中,分別為TFTP客戶端和服務器端配置通信端口,使得TFTP客戶端和服務器端可通過端口進行數據通信。
3.2 文件系統配置
TFTP軟件通過以文件的形式對數據進行管理。VxworksAE653操作系統提供了系統調用機制,分區可通過系統調用的形式使用核心操作系統的服務,通過在核心操作系統向分區擴展文件系統服務接口,分區中運行的TFTP軟件可以通過系統調用的方式訪問文件系統服務。
3.3 超時重傳
TFTP協議通過超時和重傳機制在協議層保證數據傳輸的可靠性。TFTP超時和重傳策略為:TFTP發送一個數據包,接收方收到此數據包后,必須對發送方做出應答。發送方在設定的超時時間內如果沒有收到應答,將重新發送此數據包,如果在限定的發送次數內仍然沒有收到應答包,則此次文件傳輸失敗。
3.4 協議包序號檢查
在數據傳輸過程中,如果數據的源序列號和期望的序列號不同,這個包則被認為是一個無效的包而丟棄。設想發送方發出一個數據包,這個數據包由于某種原因在網絡設備中被復制成兩個包,接收方將先后接受兩個包。接收方在接收到第一個包后,期望的數據序列號會自動加1,當第二個包到達后,數據序列號和期望序列號不同,所以第一個包被丟棄,而不會導致一個數據包接收兩次。TFTP協議包需要檢查序號的數據包為DATA包和ACK包。
3.5 異常處理
TFTP軟件在進行文件傳輸過程中,在客戶端/服務器端可能會出現一些異常情況(如文件未找到、訪問越界、非法的TFTP操作等),當出現異常情況后,異常的發現方立即組織一個ERROR,發給對方,同時退出連接。ERROR包的接收方收到消息后,退出連接。
3.6 協議擴展
RFC1350標準推薦的協議數據包大小為512字節,超時時間為2S,重傳次數為3次。TFTP協議在設計中在RFC1350標準的基礎上參考RFC2347標準加入了選項協商機制。選項協商機制是在原有的WRQ和RRQ包中擴展了數據包長度、重傳次數和超時時間協商選項,引入了OACK包回應選項協商。文件傳輸的發起方在發送WRQ或RRQ包的時候,將建議的數據報長度、重傳次數、超時時間寫入到WRQ或RRQ包中,接收收方接收并解析WRQ或RRQ包后,如果支持選項協商中的一項或者多項,發送OACK包進行回應。如果接收方不支持選項協商機制,發送ACK包進行回應,傳輸雙方按照RFC1350標準推薦的協議設置工作。
4.TFTP的軟件實現
TFTP軟件的客戶端軟件和服務器端軟件分別駐留的不同硬件模塊上的VxworksAE653操作系統分區中,通過應用分區中的應用端口進行數據通信,通過文件系統對文件數據進行存儲和訪問。
4.1 TFTP客戶端的實現
TFTP的客戶端軟件首先在WRQ和RRQ包中設置選項協商參數,包括TFTP數據包大小、重傳次數和超時時間,然后將讀/寫命令請求發送出去,接收服務端的回應信息,若連接失敗,退出本次服務;如果和服務器端連接成功,在服務器端的回應信息中判定服務器端是否支持選項協商機制,如果服務器端不支持選項協商機制,則恢復缺省協議參數后開始上傳/下載文件數據傳輸。如果服務器端支持選項協商機制,則直接開始上傳/下載文件數據傳輸。上傳文件時,從本地文件中讀出協議參數規定長度的數據,從發送端口將數據發送到服務器的接收端口上,同時在接收端口上等待來自服務器端的應答包。如果在協議參數設定的時間內接收端口上接收到了應答包,且應答包包序列正確,說明服務器端口已經確認數據包已經收到,接下來進行下一包數據的傳送,如果在設定的時間內接收端口上沒有收到應答信息,則客戶端認為服務器端沒有接收到數據包,繼續對此數據進行重傳。若按照協議參數設定的次數連續重傳后仍然沒有收到應答包,則認為此次上傳任務失敗。客戶端將退出連接。下載文件時,客戶端程序在在協議限定的時間內(超時時間和重傳次數相乘)接收數據,如果沒有收到數據,則退出,如果能收到數據,則將收到的數據寫入文件,同時向遠程服務器發送回應消息。重復此過程,直至接收完所有的文件數據。
4.2 TFTP服務端的實現
TFTP服務端工作流程如下:1)服務器端接收客戶端發送的命令。2)服務器端解析客戶端命令請求。解析客戶端WRQ/RRQ協議包,若客戶端發送的WRQ/RRQ具備協議協商機制要求,同步服務端的協議參數,發送OACK協議包進行應答。3)根據(2)的解析結果,在分區操作系統中創建文件上傳/下載傳輸任務進行文件傳輸,服務器端上傳/下載傳輸與客戶端相應服務處理流程相同。
5.結束語
本文在研究分區操作系統VxWorksAE653架構的基礎上,介紹了TFTP的數據報文格式和工作過程,并結合相關協議標準對TFTP協議進行了擴展設計,給出了分區機制操作系統VxWorksAE653下TFTP的設計思路和實現方法,在開發實例測試中,Vxworks653平臺下的TFTP軟件穩定運行,在傳輸過程中,客戶端軟件與Windows平臺下的TFTP服務器可以兼容工作,出現網絡故障時,可以進行超時重傳,具有良好的容錯能力。
參考文獻
[1]徐曉光,員海順等.分區操作系統下的分區間通信設計[J],現代電子技術.2013,36(14):58-64.
[2]李偉,李杰濤等.VxWorks下文件傳輸的設計和實現[J],科技創新導報.2013.19:38-39.
[3]Sollins K. RFC2347,The TFTP Protocol ( Revision 2) [S].USA: IETF,2010.
關鍵詞:FTP;文件傳輸;上傳;下載
中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2015)09-0110-02
Abstract:FTP protocol and software, used to transmit files, is a complex technique and its many functions have not been developed in Internet. This paper introduced the software of FTP client, which is developed in the environment of win7 and JAVA. The software is carrying out file transmission and file operation between Client and Server in Internet/LAN. Integrated functions of the softwarewere the following:file uploading, file downloading, file browsing at client, file browsing at server and information feedback. The software has visual interfaces and the basic and common functions of FTP protocol.It is easy to use.
Key words:FTP; file transmission; upload, download
文件傳輸協議(FTP)是使用最為普遍的網絡協議之一,由最早的簡單文件傳輸協議(TFTP)發展而來,經過不斷的修正與完善,已成為網絡間文件傳輸的重要協議。FTP在Internet上用于控制文件的雙向傳輸,可以在網絡中傳輸電子文檔、圖片、聲音、影視及程序等多種類型的文件。市面上FTP軟件一般功能多,實現技術復雜,許多功能用戶很少使用。為了適應公司員工上傳和下載文件需要,在 win7環境下應JAVA開發了一套FTP客戶端軟件。該軟件在Inter-net/LAN的環境中能實現客戶機與服務器之間文件的傳輸和操作的基本功能。
1 FTP相關技術
1.1 FTP工作原理
FTP是網絡上的應用層協議,使用TCP協議傳輸。FTP會話時包含了兩個通道,一個叫控制通道,一個叫數據通道。控制通道是和FTP服務器進行溝通的通道,連接FTP,發送FTP指令都是通過控制通道來完成的。數據通道是和FTP服務器進行文件傳輸或者列表的通道。
1.2 FTP的工作方式
FTP的工作方式有PORT模式和PASV模式兩種。
PORT模式:是主動模式,在主動傳輸模式下,由服務器向客戶端發起一個用于數據傳輸的連接。客戶端的連接端口由服務器端和客戶端通過協商確定。主動傳輸模式下,FTP服務器使用20端口與客戶端的端口進行連接,并傳輸數據,客戶端只是處于接收狀態。
PASV模式:是被動模式。在被動傳輸模式下,FTP服務器等待客戶與其聯系。由客戶端向服務器發起一個用于數據傳輸的連接。被動傳輸模式下,FTP服務器打開一個暫態端口等待客戶端對其進行連接,并傳輸數據,服務器并不參與數據的主動傳輸,只是被動接受。
2 系統設計
2.1總體設計
1)基本功能:界面設計;本機文件資源瀏覽;遠程文件資源瀏覽;與服務器連接時的信息反饋。
2)文件傳輸功能:文件的上傳和下載。
3)擴展功能:傳輸進度顯示;文件瀏覽、文件刪除功能。
2. 2 系統功能設計
文件傳輸模塊是整個系統的核心。此模塊實現FTP客戶端與服務器之間的文件傳送。文件的傳輸包括上傳和下載兩個功能。
本機文件瀏覽模塊的功能是對本機上的文件進行瀏覽。
遠程瀏覽模塊的功能是對服務器上的文件進行瀏覽。
文件操作模塊主要實現文件刪除、打開等功能。
傳輸進度、信息顯示模塊顯示客戶端與服務器之間進行信息交過程的實時情況(連接成功與否、上傳和下載的進度等)。
3 系統實現
3.1登錄模塊
客戶端中使用connectServe方法來實現連接服務器功能,首先是使用FtpClient類的openServer(string server)方法打開遠程FTP服務器,然后使用FtpClient類的login(user, password)方法登錄服務器。登錄遠程FTP服務器有兩種方式,一種是注冊用戶登錄,另一種是以匿名方式登錄。為了安全,本系統使用第一種方式登錄,所以需要擁有該服務器的注冊用戶名和密碼。
為了建立一條與指定主機、指定端口上的FTP服務器的連接,首先定義4個變量,命名為ip(服務器IP地址),username(用戶名),port(端口號),password(密碼),分別用來接收來自數據輸入界面的數據。連接服務器的命令函數:openServer(String host,String username, int port, String password )。然后將接收到的數據發送至服務器驗證,驗證成功則使用append()方法在信息顯示界面中提示連接成功,失敗則顯示無法連接,并給出錯誤提示。
3.2 本地文件瀏覽模塊
功能是顯示本機的文件目錄。首先用類DefaultTableModel創建一個表格模型,DefaultTableModel是 TableModel 的一個實現,它使用一個 Vector 來存儲單元格的值。表格包括三個數據項:文件名,文件大小,修改日期。通過使用一個二維數組Object[][]來存儲這三個數據。通過方法getCurrentDirectory()獲得當前目錄,再利用listFile()獲取該目錄下的文件,經解析后存入二維數組中。
3.3 遠程文件瀏覽模塊
具體功能是顯示服務器端的文件目錄。當連接服務器,登入成功之后,可以使用FtpClient控件的List()方法來獲取FTP服務器上目錄與文件的詳細內容,包括創建文件日期,文件大小,目錄與文件的名稱等相關信息。在得到文件名后,調用其方法getSystemIcon()就可以獲得相應的文件圖標。由于List()方法執行后的結果是TelnetInputStream數據流,本系統通過getFileAll()方法進行解析后把它顯示在表格中。
3.4 上傳模塊和下載模塊
1)文件下載模塊
文件的下載,使用TelnetInputStream流,并使用FTPClient控件的get()方法將流的源頭綁定,然后再在本地用將要下載的文件或者目錄名來新建一個文件或者目錄,并綁定到FileOutputStream流中,執行TelnetInputStream流的讀并寫入FileOutputStream流中,就可以完成下載功能。文件下載流程圖如圖1所示。在下載之前程序首先需要判斷瀏覽框中選中的是目錄還是文件。若選中的是文件,則直接調用方法:void downloadFile(String filename, String newfilename);
若選中的是目錄需要使用遞歸的方法下載目錄中的文件或者是子目錄。它調用了三個方法,依次為:void downloadDir(String filename);
void downloadFile_x(String pathname,String filename);
void downloadFile(Stringfilename, String newfilename);
2)文件上傳程序
文件的上傳和文件的下載基本類似,不過使用的是TelnetOutputStream流,并使用FtpClient控件的put方法和流綁定,然后在遠程目錄上新建要上傳的文件或者目錄,將本地文件綁定到FileInputStream流中,執行FileInputStream流的讀入并寫入TelnetOutputStream流中即可完成上傳功能,對于目錄的上傳同樣需要遞歸方法來實現。
3.5 傳輸進度、信息顯示模塊
1)傳輸進度
該模塊幫助用戶了解文件傳輸的狀態,使用Timer組件來實現。
Timer函數的構造如下:Timer(int delay,ActionListener);
利用Timer組件根據所給予的dalay時間內周期性地觸發ActionEvent事件,調用ActionListener接口所定義的actionPerformed()方法,通過計算已傳輸的內容和要傳輸的文件的大小,實現傳輸進度的顯示。start()方法和stop()方法分別用于Timer組件的激活和停止。
2)信息顯示模塊
使用JTextArea類可以創建顯示多行文本的對象,通過方法append()來顯示客戶端與服務器的交互信息,如顯示登入成功與否,顯示來自服務器端的友好信息,以及文件上傳和下載成功與否。
4 結束語
該軟件能夠以帳戶和密碼遠程登入FTP服務器,完成文件的上傳與下載并保證文件的完好。軟件體積小巧、直觀,利用圖形界面操作簡單易懂。
參考文獻:
[1] Douglas E Comer. 用TCP/IP進行網際互聯(第一、二、三卷)[M]. 林遙, 譯. 北京: 機械工業出版社, 2004.
[2] 張峰. Java程序設計與項目實戰(全程實錄)[M]. 北京: 清華大學出版社, 2011.
本文主要向大家闡述的是安全技巧之保護企業FTP安全的最佳實踐方案,以下就是相關內容的具體描述。希望你能從中獲得自己想要的東西。雖然各種威脅在持續發展演變,但是文件傳輸協議(通常稱為FTP)基本上還是跟幾年前一樣,而且還在大范圍地使用。
FTP主要用來傳輸大文件,它就是為了這個目的設計的。FTP是一種客戶端服務器(主從模式)協議,它使用控制和數據兩條通道進行文件傳輸。控制通道用來進行身份認證,并給服務器發送命令。該協議本身不支持加密,因此,在控制通道中發送的所有流量都是直接發送的,或者說是未加密的,這是該協議的弱點之一。在企業中,FTP服務通常被用來處理那些不敏感的內容,而且跟其他敏感信息系統都是完全隔離的。人們還得保證FTP服務能夠及時更新。配置錯誤的以及結構不合理的FTP服務可能會成為企業中重要的安全漏洞。
企業確保FTP安全的最佳做法是什么?FTP安全狀況達到可以傳輸敏感數據的地步了嗎?或者說有什么好的方法可以讓FTP更安全?如果FTP還不夠安全,不足以用來傳輸敏感數據,那么有哪些協議可以替代它呢?我們會在本文中回答這些問題。
FTP無處不在,這一點不可否認。就像其他廣泛使用的技術一樣,FTP也開始成為攻擊者易于攻擊的目標。這么多年來,攻擊者已經有了許多使用FTP以及利用FTP漏洞的經驗。有關FTP服務安全性的討論很激烈,一般來說,人們沒有就哪種方法能最好地保護FTP安全達成共識。主要是由于商業需要,才讓這項服務繼續存在,而沒有使用其他更加安全的替代產品。一般來說,任何使用或者考慮使用FTP的企業都應該先問自己以下三個問題:
(1) 我們真的需要FTP嗎?
(2) 我們怎樣才能安全地設置FTP(我將會解釋這個自相矛盾的情況)?
(3) 有沒有既安全又容易使用的FTP替代產品?
第一個問題很有趣。從技術上講,答案是否定的。其實市面上有許多更加安全的其他技術,我們將在后面討論。然而,實際的答案卻是肯定的,因為FTP應用非常廣泛,而且具有跨平臺的支持性,大多數企業都被迫選擇支持FTP。
我花了相當多的時間對過濾設備(即防火墻)上的FTP連接進行故障排除,了解到FTP的控制和數據通道設計不是很適合在數據包穿越多個不同的網絡設備環境中使用。
正如我先前提到的,FTP是一個客戶端服務器協議,使用單獨的控制和數據通道進行文件傳輸。控制通道用來進行身份認證,并給服務器發送命令。這種身份認證機制比較脆弱,因為認證信息沒有經過加密就直接發送到服務器,使得這種網絡傳輸很容易被竊聽。在一般的FTP實施過程中,一些典型的安全漏洞讓這個問題更加復雜化。
盡管企業FTP安全存在弊端,但是許多企業還是選擇它進行大容量的數據傳輸。大多數工作站、應用程序,甚至網絡過濾設備都內置了對FTP的支持。其他產品可能會更加安全,但是它們還是無法與FTP的便利性和低成本相抗衡。
讓我們暫且假設FTP是唯一的選擇。那么,我們可以來仔細研究幾種能夠讓這項服務達到一定安全性的方法。先從網絡設計階段開始,我們可以把FTP服務限制在專用虛擬局域網網段上。通常需要從你的交換機、路由器或者防火墻設備中分出一個單獨的專用網段來管理FTP服務。這種做法有多方面的目的,不僅能使你專門使用防火墻的一部分來防護這個網段,并進行策略(控制源IP)控制和簡化故障排除(主動/被動連接),而且會給你提供一個阻塞點(choke point),從而監視和使用網絡安全設備,比如IDS或者IPS。在這種情況下,阻塞點方法可以非常方便地進行監測和預防,你能夠監視利用FTP服務(比如IDS)相關漏洞而發起的攻擊,或者主動攔截利用IPS對FTP服務的攻擊等。
下一步,我們需要側重于讓管理FTP的服務器本身變得更為強大(盡管我在上文中提到首先要進行網絡設計,但是我不建議在所有的安全強化步驟完成之后才對服務器進行處理)。我建議大家不僅僅要考慮應用最新補丁,按照因特網安全中心(CIS)的標準來設置服務器,還要考慮更多的東西。當受到攻擊的時候,FTP服務往往會引起嚴重的附加損失。這是因為,在許多情況下,FTP服務是具有高優先級的過程(比如:作為根用戶),如果被攻擊者成功利用的話,攻擊者會得到系統級的權限。
在服務器上隔離FTP服務,可以很大程度地防止利用這種漏洞攻擊。這與基于網絡的隔離有所不同,這種隔離是通過處理服務的硬件實現的。FTP隔離可以通過在虛擬環境(開源Xen系統管理程序)中運行FTP服務或者改變根目錄(chroot)來實現。在改變根目錄這種方法中,管理員能夠在處理過程中改變磁盤根目錄,這基本上限制了超出自身限制范圍的操作以及訪問文件系統敏感區域的能力。改變根目錄可以用幾種方法實現,有些例子用“/etc/FTPchroot”為特定用戶確定一個chroot環境,有些則使用“FTP-chroot”登錄。這兩種方法都建議FTP后臺程序在ls支持下重新編譯,所以沒有特殊的依賴關系。
目前,有一種易于安全維護的FTP替代品,叫做Secure Shell(SSH)。與FTP不一樣,SSH以加密的形式發送所有內容。SSH使用加密的傳輸服務,并且把一個文件傳輸放在最高層,避免了FTP服務普遍的安全缺陷和復雜性。為了簡單起見,我認為SCP(主要是文件傳輸)、SFTP(運行在SSH上面的、全新的文件傳輸協議)和以SSH為通道的FTP會話,每種服務都使用了SSH,它們都可以作為FTP可以接受的、更加安全的替代品。在這個分類中比較奇怪的是FTPS(SSL上的FTP)。說實話,我認為FTPS作為FTP替代品不可行,因為它與防火墻不兼容。使用更加安全的協議需要進行服務隔離,并且要采取適當的服務器安全強化措施。
關鍵詞:TCP;文件傳輸;線程池;OpenSSL
中圖分類號:TP311文獻標識碼:A文章編號:1007-9599 (2011) 06-0000-01
TCP-based Secure File Transmission System Design and Research
Liu Xianqiang,Lin Hui,Huang Chengmao
(School of Optoelectronic Information,University of Electronic Science&Technology,Chengdu610054,China)
Abstract:This article describes the file transmission system processes and design,base on TCP protocol in Linux.In the transmission process,the server uses the thread pool technology to achieve the multi-threaded design,and using openSSL library to ensure security of the data encryption during file tarnsmission.
Keywords:TCP;File Transmission;Thread Pool;OpenSSL
文件傳輸系統是目前一項非常廣泛的應用。在網絡如此發達的今天,基本上隨處都會用到文件的傳輸功能。本系統是基于Linux平臺TCP協議的安全文件傳輸系統。通過TCP協議對文件數據進行加密的傳輸。在傳輸過程中,使用了openSSL庫實現了對文件數據的2048位的非對稱加密,以保證傳輸過程中文件數據的安全。而系統的大框架使用了線程池實現多線程的技術,以實現多個客戶端同時進行文件傳輸的功能。這種設計非常適合多用戶段任務的系統設計。
一、TCP傳輸協議
TCP(Transmission Control Protocol,TCP)是重要的傳輸層協議,它是是一種面向連接的,可靠的,基于字節流的傳輸層通信協議。在簡化的計算機網絡OSI模型中,他完成傳輸層所指定的功能。它能提供端口編號的譯碼,以識別主機的應用程序,而且完成數據的可靠傳輸。TCP協議具有嚴格的內裝差錯檢驗算法確保數據的完整性。TCP是面向字節的順序協議,這意味著包內的每個字節被分配一個順序編號,并分配給每包一個順序編號。
二、利用線程池實現多線程技術
程序中,我們用到了多線程的設計。如果單一的進行多線程設計,那么當有任務來時,要創建一個線程,當任務結束的時候,要銷毀線程,這樣會耗費大量的系統資源。我們考慮到文件傳輸是短任務,多用戶的情況,該系統可以使用線程池來進行多線程的設計,這樣會節約很多的系統資源。
系統首先創建一個線程池,讓線程池中所有的線程都處于等待的狀態。在系統有任務請求時,處理過程中將任務添加到隊列,然后在調用一個在線程池中處于空閑等待的線程對任務進行處理。在任務處理完后,該線程又回到等待狀態,等待下一次任務的到來,這樣就不用重復的創建和銷毀線程,節約了很大的系統資源和時間資源。如果線程池中所有的線程都處于忙的狀態,那么在有任務進來,我就將其添加到等待隊列中去,以等待有空閑線程時,在對該任務進行處理。
線程池中所有的線程都是資源共享的,我們在設計時在對公共資源進行訪問時,必須進行保護。這里我們通過互斥鎖和條件變量的機制來保護系統中被訪問的公共資源,這樣能夠防止多個線程同時訪問一個資源是出現的沖突的情況。
三、在文件的傳輸過程中對文件數據加密與解密
SSL就是為了加密數據而產生的協議,它是位于應用層和TCP/IP之間的一層,數據經過它流出的時候被加密,再往TCP/IP送,而數據從TCP/IP流入之后先進入它這一層被解密,同時它也能夠驗證網絡連接兩端的身份。它的主要功能就是兩個:1.解密在網絡中傳輸的數據包,同時保護這些數據不被修改,和偽造。2.認證網絡對話中雙方的身份。在對文件數據進行加密傳輸的時候,我們需要生成數字證書(cacert.pem)和密鑰(privkey.pem),這是我們在加解密過程中要用到得。這里我們采用2048位的非對稱加密。OpenSSL庫中提供的生成2048位非對稱加密的密鑰和證書的命令非別為:
openssl genrsa -out privkey.pem 2048
openssl req -new -x509 -key privkey.pem -out cacert.pem -days 1095
四、整個系統的設計框架流程簡述
五、結語
本文中提出的用線程池來實現多線程的算法非常適合文件傳輸這類多用戶短任務設計。用OpenSSL對傳輸過程中的數據加密是非常安全的,目前是使用最多的對數據加密的工具。該系統的設計還有很大的提升空間,我們可以對傳輸的文件進行完整性驗證,這可以利用目前使用廣泛的hash MD5算法來實現,還有斷點續傳功能也可以在很大程度上完善該系統的設計,這樣可以使文件傳輸系統得到進一步的擴展。
參考文獻:
[1]尤晉元,張亞英,戚正偉.UNIX環境高級編程(第2版)[M].北京:人民郵電出版社,2006
[2]謝希仁.計算機網絡[M].大連:大連理工大學出版社,2004:79-80
[3]Al Kelley Ira Pohl.C語言解析教程(原書第4版)[M].Addision-Wesley,2002