亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        網(wǎng)絡文件傳輸技術的研究與實現(xiàn)*

        2016-09-18 08:46:59閆培哲
        山西電子技術 2016年4期
        關鍵詞:忻州局域網(wǎng)解密

        閆培哲

        (忻州師范學院,山西 忻州 034000)

        ?

        網(wǎng)絡文件傳輸技術的研究與實現(xiàn)*

        閆培哲

        (忻州師范學院,山西 忻州 034000)

        在現(xiàn)代信息社會中,信息的交換、共享顯現(xiàn)的尤為重要。局域網(wǎng)作為計算機網(wǎng)絡中的終端成員,在企事業(yè)單位中起著至關重要的作用。本文介紹了計算機網(wǎng)絡中文件的傳輸實現(xiàn)技術,并針對局域網(wǎng)特點,設計了一種較為高效安全的局域網(wǎng)文件傳輸系統(tǒng)設計方案,實現(xiàn)了網(wǎng)絡發(fā)現(xiàn),數(shù)據(jù)的實時壓縮、實時加密,流量控制等功能。

        局域網(wǎng)發(fā)現(xiàn);文件傳輸;網(wǎng)絡流量控制

        基于局域網(wǎng)的文件傳輸系統(tǒng)能夠讓局域網(wǎng)內(nèi)部資料實現(xiàn)快捷,準確,安全的共享。文件傳輸系統(tǒng)主要功能是自動獲取局域網(wǎng)內(nèi)用戶的主機名,IP地址以及其他信息,最終通過TCP/IP協(xié)議和UDP協(xié)議實現(xiàn)點到點文件傳輸功能。

        在目前的局域網(wǎng)中信息的傳輸是開放的,所以任何人都可以借助一些特殊的工具(如抓包工具)實現(xiàn)對這些信息的獲取,這樣就大大的降低了信息的安全性,甚至可能會帶來巨大的經(jīng)濟損失。另外,雖然目前局域網(wǎng)的帶寬已經(jīng)達到10 M/s到100 M/s,甚至出現(xiàn)了千兆以太網(wǎng),但是可用帶寬作為一種資源,它的不足會嚴重影響到整個局域網(wǎng)的服務質(zhì)量,使得人們的工作效率大幅度下降。

        設計基于自身局域網(wǎng)特點的文件傳輸工具顯得尤為重要。

        1 通訊參數(shù)設置

        計算機與計算機之間的網(wǎng)絡通訊實際上是運行在這兩個計算機上的進程之間的通訊,如圖1所示。

        圖1 網(wǎng)絡通訊示意圖

        網(wǎng)絡中使用一個三元組來標識全局中的唯一進程:

        (協(xié)議,本地地址,本地端口號)

        這樣一個三元組稱作半相關(half-association),它指定的是連接的一端,如果需要確定一個完整的網(wǎng)絡通訊,則需要確定兩個進程,并且只能使用一種高層協(xié)議,這就需要下面的五元組,稱為全相關(association):

        (協(xié)議,本地地址,本地端口號,遠程地址,遠程端口號)

        Heartbeat服務的目的就是收集和維護這些信息。

        2 Socket的創(chuàng)建

        在本文中,協(xié)議主要用到TCP和UDP兩種協(xié)議,用于發(fā)送和接受控制數(shù)據(jù)的Socket使用UDP協(xié)議,而用于文件傳輸?shù)腟ocket使用TCP協(xié)議。

        根據(jù)SOCK_STREAM和SOCK_DGRAM兩種類型的Socket的工作模式,可以知道,應用程序可以在整個生命周期中重復使用一個SOCK_DGRAM類型的Socket來向任意客戶端發(fā)送數(shù)據(jù)包形式數(shù)據(jù),而利用一個SOCK_STREAM類型的Socket在請求連接或接受連接時返回的Socket來進行所需的流式數(shù)據(jù)通訊。

        另外,考慮到安全性和穩(wěn)定性等因素,客戶端可以設置三種端口用于整個生命周期中的網(wǎng)絡通訊,分別為Heartbeat Service Port(每個HeartbeatService 設置需要一個端口,以適應不同Heartbeat Service Port的客戶端群),TCP Port(唯一)和UDP Port(唯一)。其中,TCP Port和UDP Port隨機創(chuàng)建,然后通過端口固定的Heartbeat服務來通知其他客戶端自己的TCP Port和UDP Port信息。

        2.1Heartbeat服務的實現(xiàn)

        HeartbeatService主要是以計時器為驅(qū)動的服務,其中包含一個Heartbeat Info List,存儲了所有Heartbeat服務節(jié)點。

        在客戶端啟動后,Heartbeat服務便開始運行。初始化過程將遍歷 Broadcast List,對每一個CHeartbeatNode做如下處理。

        1) 讀取其中的Heartbeat服務設置,通過CommManager為其創(chuàng)建CommNode數(shù)據(jù),并將此數(shù)據(jù)指針填入其中;

        2) 使創(chuàng)建的CommNode中的Socket開始監(jiān)聽;

        3) 將此CHeartbeatNode注冊到HeartbeatService中,開始廣播Heartbeat數(shù)據(jù)。

        至此開始,HeartbeatService將伴隨著客戶端的整個生命周期,定時廣播HeartbeatData,并監(jiān)聽其他客戶端廣播的HeartbeatData,并根據(jù)前文中的處理方法處理對應的Buddy。

        當BuddiesList更改了自身的數(shù)據(jù)后,會同時更新一個時間戳,UI部分在定時檢查BuddiesList時會檢查這個時間戳,以確定是否更新界面。

        2.2數(shù)據(jù)加密

        目前,網(wǎng)絡安全傳輸方案中經(jīng)典的加密方法分為對稱加密和非對稱加密兩種。對稱加密運算速度快但容易被攻擊和破解;非對稱加密算法復雜,不易被破解,但加密速度慢,不適宜傳輸大量的安全數(shù)據(jù)。由于考慮到文件傳輸?shù)奶攸c,本文使用的是對稱加密算法。

        由于本文所使用的加密算法屬于對稱加密算法,所以便需要一套較為健壯的密鑰生成算法。密鑰的生成需要以下信息:接收方IP地址:peer_ip;接收方端口:peer_port;發(fā)送方userhash:userhash;一個16位隨機數(shù):randomkey。這里用到了發(fā)送方和接收方雙方的信息,保證了信息的分散;另一方面,在一定程度上也防止了虛假Package的干擾(如果無法利用擁有的userhash正確解密Package數(shù)據(jù),則這個Package可能屬于虛假Package)。

        創(chuàng)建函數(shù)首先會創(chuàng)建一個長度為18的緩沖區(qū)key_data,緩沖區(qū)將被分為三部分:

        A0(13Bytes)A1(2Bytes)A2(3Bytes)

        圖2緩沖區(qū)示意圖

        各部分按照如下規(guī)則填充數(shù)據(jù):A0:userhash中從第3字節(jié)開始的13字節(jié)數(shù)據(jù);A1:peer_port與randomkey異或的結果;A2:peer_ip的結尾3字節(jié)數(shù)據(jù);填充完畢后生成其md5值,并根據(jù)此md5值利用RC4初始化算法KSA最終產(chǎn)生加密密鑰。

        解密過程與加密過程相反,是將加密時用于創(chuàng)建密鑰的隨機數(shù)和原始數(shù)據(jù)的md5值從加密數(shù)據(jù)中獲取出來,然后根據(jù)隨機數(shù)和相關信息創(chuàng)建密鑰解密加密數(shù)據(jù),再取得解密后數(shù)據(jù)的md5值,并與原始數(shù)據(jù)的md5值比較,判斷解密過程是否成功,成功則返回解密數(shù)據(jù)。

        3 Package的壓縮

        壓縮過程和解壓縮過程是在Package中完成的,Package中設計了三個函數(shù)用于壓縮和解壓,分別是:void CPacket::PackPacket(void);bool CPacket::UnPackPacket(UINT nUnPackSize);bool CPacket::UnPackPacket(void)。壓縮過程指的是Package在發(fā)送之前將會被壓縮,當壓縮之后的長度小于原始數(shù)據(jù)長度時,發(fā)送壓縮數(shù)據(jù),否則依然發(fā)送原始數(shù)據(jù)。解壓縮過程使用Package的兩個成員函數(shù),UnPackPacket(UINT nUnPackSize)解壓當前Package,nUnPackSize限制了解壓后數(shù)據(jù)的最大長度,如果超過這個長度,則認為解壓失敗。此函數(shù)同樣為解壓當前Package,解壓方法大致相同,與上一個函數(shù)不同的是它忽略了解壓后最大長度的限制。

        在對壓縮功能做測試時,使用了上述的函數(shù)對Regedit.exe進行了壓縮和解壓,結果如下:

        圖3 Regedit.exe壓縮解壓效果圖

        其中,regedit_compressed.exe為regedit.exe壓縮后得到的文件,regedit_uncompressed.exe為將regedit_compressed.exe解壓后得到的文件,壓縮率約為17.22%,壓縮結果較為理想。

        4 流量的控制

        流量的控制目的是為了限制網(wǎng)絡傳輸時傳輸速率的上限,保證有限地使用網(wǎng)絡帶寬,防止帶寬耗盡,影響其他需要占用網(wǎng)絡帶寬的應用程序或主機。

        流量控制可以在硬件層、驅(qū)動層或者在應用程序?qū)又型瓿?。這里將流量控制處理放在應用程序?qū)又?,以時間片調(diào)度的方式來實現(xiàn)。在每個時間片中,完成一組TransferTask的處理。

        前文中提到當應用層需要發(fā)送一個Package時,它并不直接將這個Package通過相應的受控Socket發(fā)送出去,而是將其放入BandThrottler中的任務隊列,這種任務被稱作TransferTask,通常為發(fā)送或接受一個Package。

        一個TransferTask的處理流程如圖4所示。

        圖4 TransferTask的處理流程

        當一個TransferTask創(chuàng)建并放入任務隊列之后,它將開始等待獲得傳輸權,當獲得了傳輸權后,它便被Task Processor從TaskQueue中提取出來進行處理。

        TaskQueue中包含兩個隊列,如圖5。

        圖5 TaskQueue隊列圖

        Temp Queue用于暫時存放新添加的TransferTask,相當于應用層和Task Queue之間的一個緩沖區(qū)。Temp Queue 和Process Queue各有一個互斥鎖,保證了各線程在同時訪問這兩個隊列時的數(shù)據(jù)安全。當應用層各個線程希望添加自己的任務到TaskQueue時,由于Temp Queue的互斥鎖,可以依次完成添加任務;當Process Queue由于Task Processor提取任務鎖閉時,應用層仍可以將任務提交到Temp Queue,而不必等待Process Queue解鎖;當Process Queue中無任何任務時,將執(zhí)行一次從Temp Queue中提取所有任務到自身的過程。

        為了控制整個傳輸過程,這里將時間劃分為一個個長度相同的時間片,并為當前的時間片計算出可以用于傳輸?shù)淖畲罅髁恐?,在每個時間片內(nèi),BandThrottler如果發(fā)現(xiàn)TaskQueue中有任務,將開始執(zhí)行一個循環(huán),不斷提取TaskQueue中的每個任務并進行處理,每次處理將會從單位時間片的最大傳輸流量值中減去此次任務執(zhí)行所需的流量,當流量耗盡時,將停止處理并在剩余的時間內(nèi)進入休眠,以等待下一個時間片。

        為了獲得精確的系統(tǒng)時間,這里使用了timeGetTime()。經(jīng)反復測試,每個時間片(即TIME_BETWEEN_UPLOAD_LOOPS)設置在200毫秒較為適宜。

        通過上面的設計,流量控制基本實現(xiàn)了其功能。

        至此,主要功能的實現(xiàn)大致完成。

        5 結束語

        本文提出一種結合了加密、壓縮和流量控制的文件傳輸系統(tǒng)。使用加密來提高數(shù)據(jù)的安全性,使用壓縮來減小傳輸流量,并通過一套算法來控制傳輸過程。針對文件傳輸?shù)奶攸c,本文使用的是對稱加密方式,采用RC4算法;壓縮使用了目前較為成熟的zlib壓縮函數(shù)庫。

        [1]齊治昌,譚慶平,寧洪.軟件工程[M].第2版.北京:高等教育出版社,2004.

        [2]Steve McConnell.代碼大全[M].金戈,湯凌,等譯.北京:電子工業(yè)出版社,2006.

        [3]謝希仁.計算機網(wǎng)絡 [M].第2版.北京:電子工業(yè)出版社,1999.

        [4]韓希義.計算機網(wǎng)絡基礎 [M].北京:高等教育出版社,2004.

        [5]Dr. International.國際化軟件開發(fā)[M].北京:機械工業(yè)出版社,2003.

        [6]Schneier B.Applied Cryptography,Protocols.Algorithms and Source Code in Co[M].New York:John Wiley & Sons,1996.

        [7]孟慶樹,王麗娜,傅建明,等.密碼編碼學與網(wǎng)絡安全原理與實踐[M].北京:電子工業(yè)出版社,2006.

        [8]馬永勤,李正文,汪劉艷.基于Winsock的文件互傳[J].重慶大學學報,2004,28: 49-52.

        [9]侯俊杰.深入淺出MFC[M].武漢:華中科技大學出版社,2001.

        [10]孫鑫.VC++深入詳解[M].北京:電子工業(yè)出版社,2006.

        [11]孔鵬.Visual C++技術手冊[M].北京:機械工業(yè)出版社,2007.

        [12]王曉鵬.TCP/IP下的Socket及Winsock通信機制[J].航空計算技術,2004,34: 126-128.

        [13]Dana Moore,John Hebeler.對等網(wǎng)[M].北京:清華大學出版社,2003.

        [14]Microsoft.Microsoft Visual C++分布式應用程序開發(fā)(英文版)[M].北京:北京大學出版社,2001.

        [15]黃強.WINDOWS網(wǎng)絡編程[M].北京:人民郵電出版社,2003.

        Research and Implementation on Network File Transmission Technology

        Yan Peizhe

        (XinzhouTeachersUniversity,XinzhouShanxi034000,China)

        In the modern information society, information exchange and sharing appears particularly important. LAN, as a computer network terminal member, plays a crucial role in enterprises and institutions. This paper introduces the transmission technology of files in the computer network, and according to the characteristics of the local area network, it designs a more efficient and safe network file transmission system; realizes the network discovery, data real-time compression, real-time encryption, flow control and other functions.

        LAN discovery; file transmission; network flow control

        2016-07-05

        忻州師范學院院級科研基金資助項目(201111)

        閆培哲(1981- ),男,碩士,忻州師范學院計算機助教,主要研究方向為網(wǎng)絡開發(fā)、教育管理。

        1674- 4578(2016)04- 0092- 03

        TP 393.093

        A

        猜你喜歡
        忻州局域網(wǎng)解密
        解密“熱脹冷縮”
        忻州職業(yè)技術學院
        陽煤忻州通用機械有限責任公司
        解密“一包三改”
        少先隊活動(2020年9期)2020-12-17 06:17:31
        炫詞解密
        基于VPN的機房局域網(wǎng)遠程控制系統(tǒng)
        電子制作(2019年16期)2019-09-27 09:35:04
        基于802.1Q協(xié)議的虛擬局域網(wǎng)技術研究與實現(xiàn)
        電子制作(2017年17期)2017-12-18 06:40:48
        局域網(wǎng)性能的優(yōu)化
        電子制作(2017年8期)2017-06-05 09:36:15
        《魅力忻州》
        藝術評鑒(2016年10期)2016-05-30 10:48:04
        解密“大調(diào)解”
        av午夜久久蜜桃传媒软件| 日本最新一区二区三区免费看| 超碰性爱| 免费看av网站在线亚洲| 国产视频自拍一区在线观看| 亚洲国产av玩弄放荡人妇| 1000部夫妻午夜免费| 激情人妻在线视频| 一二三四中文字幕日韩乱码| 亚洲福利一区二区不卡| 亚洲精品一区二区三区四区久久 | 欧美多人片高潮野外做片黑人| 色悠久久久久综合欧美99| 国产精品欧美亚洲韩国日本| 中文日本强暴人妻另类视频| 国产激情久久久久影院小草| 成片免费观看视频大全| 国产精品久久国产三级国电话系列| 少妇特殊按摩高潮不断| 国产中文色婷婷久久久精品| 97人人模人人爽人人喊网| 色一情一乱一伦一区二区三区日本 | 偷拍韩国美女洗澡一区二区三区| 色欲aⅴ亚洲情无码av| 久久精品国产亚洲一区二区| 国产在线91观看免费观看| 久久精品国产精品亚洲婷婷| 免费av日韩一区二区| 久久不见久久见免费影院| 欧美视频二区欧美影视| 久久99久久99精品免观看女同| 亚洲成av人片极品少妇| 亚洲av日韩aⅴ无码色老头| 女人大荫蒂毛茸茸视频| 无码丰满熟妇浪潮一区二区av| 久久综合伊人有码一区中文字幕| 久久久精品人妻一区二区三区四区| 精品免费久久久久久久| 久久天天躁狠狠躁夜夜2020!| 亚洲无人区乱码中文字幕| 欧美成人秋霞久久aa片|