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

        ?

        基于多播的以太網(wǎng)文件傳送協(xié)議的設(shè)計與實現(xiàn)

        2012-10-16 10:09:24張昆朋呂延慶謝華成
        制造業(yè)自動化 2012年20期
        關(guān)鍵詞:程序

        張昆朋,呂延慶,謝華成

        (1.洛陽師范學院 信息技術(shù)學院,洛陽 471022;2.信陽師范學院 網(wǎng)絡(luò)信息與計算中心,信陽 464000)

        0 引言

        在局域網(wǎng)中經(jīng)常會遇到把相同的數(shù)據(jù)復制到多臺主機上的情況,如果使用基于單播的FTP、HTTP等協(xié)議及軟件來傳送文件,會造成很多網(wǎng)絡(luò)流量的浪費。在將文件數(shù)據(jù)從一臺主機復制到多臺主機的特定情況下,使用D類多播地址可以有效的避免以上問題,從而減少網(wǎng)絡(luò)流量,提高傳輸效率。

        圖1 以太網(wǎng)上數(shù)據(jù)幀的單播和多播

        以太局域網(wǎng)本身發(fā)送數(shù)據(jù)時就是以廣播的方式發(fā)送的,只是不需要該數(shù)據(jù)的客戶端根據(jù)MAC幀包含的目的地址來舍棄該數(shù)據(jù)。在使用FTP或HTTP等協(xié)議傳輸時,由于目的地址采用單播地址,丟棄了本不應(yīng)丟棄的數(shù)據(jù),降低了傳輸效率;如果目的地址為多播地址,則該數(shù)據(jù)仍能正常被接收端主機接收和處理如圖1所示。目前網(wǎng)絡(luò)克隆的程序就是基于上述的多播原理完成工作的,但這些程序大多是基于磁盤或分區(qū)的。例如Ghost

        軟件帶有的GhostCast程序,可以通過網(wǎng)絡(luò)對客戶機的整個硬盤或分區(qū)進行克隆,一般都需要預先在多臺需要復制文件的客戶機的磁盤上專門劃分出分區(qū),破壞了原有的磁盤結(jié)構(gòu)且設(shè)置較為繁瑣。

        下面設(shè)計和實現(xiàn)一個基于單個文件或整個目錄的多播文件傳送程序,能夠較好地解決以上問題。

        1 多播文件傳送協(xié)議的設(shè)計

        1.1 多播IP地址分析

        多播通信中使用的D類IP地址范圍在224.0.0.1~239.255.255.255之間,采用多播進行通信需要使用能夠進行多播通信的網(wǎng)絡(luò)接口,如果是通常的以太網(wǎng)接口,自然的就可以進行多播通信。多播通信與以太網(wǎng)中的廣播網(wǎng)不同,屬于OSI第三層的網(wǎng)絡(luò)層協(xié)議,可以跨越支持多播協(xié)議的路由器進行通信。其中D類IP地址224.0.0.1 表示在本子網(wǎng)上的所有參加多播的主機和路由器,當使用這個IP地址時,不能跨越路由器,只能在以太網(wǎng)的相同網(wǎng)段內(nèi)使用多播,但這是能夠滿足本文針對的網(wǎng)絡(luò)實驗室的要求的。因此本程序在實現(xiàn)時采用了224.0.0.1這個固定的地址,實際使用時需要跨越多播路由器通信也可以根據(jù)需要來調(diào)整多播IP地址。

        1.2 傳輸層協(xié)議分析

        首先,在傳輸層上具有可靠性保證的TCP不支持多播,因此傳輸層采用UDP協(xié)議,而數(shù)據(jù)的可靠傳輸由協(xié)議本身的設(shè)計來保證;其次,由于涉及到文件傳送,多播文件傳送協(xié)議參考了同樣基于UDP的TFTP協(xié)議(RFC1350) 的設(shè)計思路,但考慮到TFTP沒有列目錄的功能,因此針對其適用情況做了一些修改。

        多播文件傳送協(xié)議在傳輸層使用的UDP數(shù)據(jù)報一共定義了六種協(xié)議數(shù)據(jù)單元(PDU) ,每種PDU的第一個字段是操作碼標志字段(FLAG) , 根據(jù)該標志字段的不同PDU的格式和作用各不相同如表1所示 。

        表1 多播文件傳送協(xié)議定義的6種協(xié)議數(shù)據(jù)單元

        客戶端使用“客戶端發(fā)現(xiàn)PDU”通知服務(wù)端,包含IP地址來標識不同的客戶端。這樣在文件傳送未開始之前,服務(wù)器收集所有客戶機IP地址,開始文件傳送后可以監(jiān)測并保證傳送的文件數(shù)據(jù)被每個客戶端正確接收。文件傳送是切分成文件數(shù)據(jù)塊進行的,每個“文件數(shù)據(jù)PDU”攜帶1K字節(jié)的文件數(shù)據(jù)(最后一個數(shù)據(jù)塊可能不足1K字節(jié)),這些文件數(shù)據(jù)塊使用了序號來保證順序,從而消除了UDP可能無序接收的問題。

        1.3 對PDU超時重傳的處理

        考慮到了網(wǎng)絡(luò)的質(zhì)量問題,UDP可能出現(xiàn)丟包,因此對于“文件名PDU”、“文件名確認PDU”、“文件數(shù)據(jù)PDU”、“文件數(shù)據(jù)確認PDU”都作了超時重傳的處理。

        需要做超時重傳處理的場合包括。

        1)在客戶端接收“文件數(shù)據(jù)PDU”超時的情況

        (1)如果該“文件數(shù)據(jù)PDU”是文件的第一個數(shù)據(jù)塊,重傳該文件的“文件名確認PDU”;

        (2)如果該“文件數(shù)據(jù)PDU”不是文件的第一個數(shù)據(jù)報,重傳上一個文件數(shù)據(jù)塊的“文件數(shù)據(jù)確認PDU”。

        2)在服務(wù)端接收“文件名確認PDU”超時的情況,重傳該文件的“文件名PDU”。

        3)在服務(wù)端接收“文件數(shù)據(jù)確認PDU”超時的情況,重傳該文件數(shù)據(jù)塊的“文件數(shù)據(jù)PDU”。

        對于“客戶端發(fā)現(xiàn)PDU”,由于可以在服務(wù)端看到是否所有客戶端都連接上,并控制發(fā)送開始的時間,所以不用重傳。發(fā)現(xiàn)有“客戶端發(fā)現(xiàn)PDU”丟失,即服務(wù)端無法發(fā)現(xiàn)客戶端的情況,只需要重新啟動客戶端程序就可以,或者檢查客戶端程序的IP設(shè)置是否是與服務(wù)端程序在同一以太網(wǎng)段內(nèi)。

        對于“全部傳送結(jié)束PDU”,因為服務(wù)端程序運行到發(fā)送該PDU時已經(jīng)能夠保證所有文件數(shù)據(jù)已經(jīng)被正確發(fā)送到所有多播客戶端,因此直接把該PDU數(shù)據(jù)重傳多次,使得客戶端程序能夠接收到該PDU能夠退出運行即可。如果出現(xiàn)該PDU無法被有些多播客戶端接收的情況,客戶端強行退出即可。

        2 本多播程序?qū)崿F(xiàn)概述

        Java平臺對多播協(xié)議提供了支持,本程序使用Java語言來開發(fā)。本多播程序分為服務(wù)端程序和客戶端程序兩部分。其中,服務(wù)端程序用來實現(xiàn)多播數(shù)據(jù)的發(fā)送,而客戶端程序用來接收多播數(shù)據(jù)。典型的情況是在同一以太網(wǎng)段內(nèi)運行一個服務(wù)端程序和多個客戶端程序。程序流程框圖如圖2、3所示。

        圖2 服務(wù)器端多播文件傳送流程

        圖3 客戶端接收數(shù)據(jù)流程

        3 測試

        為了測試該多播程序的有效性,測試分三步進行。在安裝了Windows Server 2003的計算機上使用1個多播服務(wù)端程序,而多播客戶端程序分別使用1個、2個和25個,也就是安裝多播客戶端的計算機數(shù)量逐步增多,以測試該多播程序的傳送效果。測試結(jié)果如表2所示。

        表2 本程序與FlashFXP對比表

        4 結(jié)論

        在此多播文件傳送協(xié)議的設(shè)計和實現(xiàn)中,參考了成熟的協(xié)議,從測試結(jié)果來看,達到了預想的效果,在以太網(wǎng)的同一網(wǎng)段內(nèi),保證數(shù)據(jù)可靠傳輸?shù)那疤嵯绿岣吡藗鬏斝?,具有較好的實用性。為了進一步提高其實用性,可在以下方面做出改進。

        1)在程序中,文件數(shù)據(jù)塊的大小(默認取1K字節(jié)) 、超時時間(默認取5秒) 等參數(shù)都可以調(diào)整以適應(yīng)網(wǎng)絡(luò)情況,以獲得最大的傳輸效率??赏ㄟ^在不同網(wǎng)絡(luò)條件下,針對不同大小和個數(shù)的多次的文件傳送實驗獲得最優(yōu)的參數(shù)。

        2)在多播傳送過程中,能夠動態(tài)調(diào)整多播客戶端的個數(shù),以避免在傳送時間比較長的情況下,某些客戶端出現(xiàn)意外情況,服務(wù)端程序無法繼續(xù)傳送數(shù)據(jù)的情況。

        3)因為本多播程序在沒有Java運行環(huán)境的機器上運行時,首先需要安裝JRE(Java Runtime Environment),可以將本程序使用C來實現(xiàn)并可以加上圖形界面,以利于Windows平臺下的部署和使用。

        [1]謝希仁.計算機網(wǎng)絡(luò)(第4版)[M].北京: 電子工業(yè)出版社,2003.

        [2]K.Sollins.The TFTP Protocol(Revision 2)[EB/OL].http://www.javvin.com/protocol/rfc1350.pdf, 2010.

        [3]Sun Microsystem.JXTA v2.3x: JavaTM Programmer’s Guide[EB/OL].http://www.jxta.org/docs/ JxtaProgGuide_v2.3.pdf, 2010.

        [4]許斌.JXTA-Java P2P網(wǎng)絡(luò)編程技術(shù)[M].北京: 清華大學出版社, 2010.

        [5]Robert Flenner etc.Java P2P Unleashed[M].Sams Publishing, 2002.

        [6]吳勝浩, 鐘亦平, 等.JXTA: 新型的網(wǎng)絡(luò)計算環(huán)境[J].計算機工程, 2004, 5(9): 4-6.

        [7]孫東.IP多播技術(shù)在實時測控軟件中的應(yīng)用[J].計算機工程與科學, 2004, (03).

        [8]黃坤, 郭書明.IP多播技術(shù)在雷達信息交互中的應(yīng)用[J].電子設(shè)計工程, 2011, (17) .

        猜你喜歡
        程序
        給Windows添加程序快速切換欄
        電腦愛好者(2020年6期)2020-05-26 09:27:33
        試論我國未決羈押程序的立法完善
        失能的信仰——走向衰亡的民事訴訟程序
        “程序猿”的生活什么樣
        英國與歐盟正式啟動“離婚”程序程序
        基于VMM的程序行為異常檢測
        偵查實驗批準程序初探
        我國刑事速裁程序的構(gòu)建
        創(chuàng)衛(wèi)暗訪程序有待改進
        恐怖犯罪刑事訴訟程序的完善
        香蕉视频在线观看国产| 亚洲精彩视频一区二区| 亚洲无av码一区二区三区| 超碰青青草手机在线免费观看| 中文字幕一区乱码在线观看 | 人妻久久一区二区三区| 亚洲熟妇丰满多毛xxxx| 精品国产av 无码一区二区三区| 香蕉视频在线观看国产| 亚洲av熟女天堂系列| 视频一区二区三区国产| 极品少妇被黑人白浆直流| 人妻夜夜爽天天爽一区 | 国产伦精品一区二区三区在线| 亚洲av日韩一卡二卡| 中文字幕乱码亚洲精品一区| 91精选视频在线观看| 久久视频在线视频精品| 色婷婷久久精品一区二区| 人妻夜夜爽天天爽| 日本高清不卡二区| 99久久精品国产一区色| 亚洲精品国产电影| 无码欧美毛片一区二区三| chinesefreexxxx国产麻豆| 亚洲免费观看一区二区三区| 国内嫩模自拍偷拍视频| 无码喷潮a片无码高潮| 午夜dj在线观看免费视频| 欧美激情五月| 蜜桃视频高清在线观看| 亚洲午夜狼人综合影院| 国产精品v欧美精品v日韩精品| 中文字幕无码专区一VA亚洲V专| 精品高清国产乱子伦| 午夜亚洲精品视频在线| 成人午夜视频精品一区| 亚洲综合久久久| 黄片一级二级三级四级| 国产69精品久久久久9999apgf | 亚洲av无码国产精品色午夜字幕|