欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于udp的可配策略數(shù)據(jù)傳輸方法

文檔序號:8301556閱讀:506來源:國知局
一種基于udp的可配策略數(shù)據(jù)傳輸方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種網(wǎng)絡(luò)數(shù)據(jù)傳輸技術(shù),屬于網(wǎng)絡(luò)傳輸技術(shù)領(lǐng)域。
【背景技術(shù)】
[0002]目前,TCP / IP協(xié)議體系是普遍采用的網(wǎng)絡(luò)通信標(biāo)準(zhǔn)。其中UDP是面向無連接的協(xié)議,效率雖然高,但不可靠;TCP是面向連接的協(xié)議,可靠性高,但效率低。由于TCP和UDP傳輸層協(xié)議本身存在實時性和可靠性之間的矛盾,再加上實際網(wǎng)絡(luò)環(huán)境的復(fù)雜性,無法直接使用現(xiàn)有的UDP或者TCP協(xié)議,就必須根據(jù)業(yè)務(wù)傳輸?shù)男枰匦略O(shè)計符合業(yè)務(wù)傳輸特點的應(yīng)用層傳輸協(xié)議。TCP協(xié)議在網(wǎng)絡(luò)編程中得到了廣泛的應(yīng)用,可實現(xiàn)數(shù)據(jù)的無差錯傳輸,但需以復(fù)雜的傳輸控制和較大的網(wǎng)絡(luò)開銷為代價。對于一些帶寬有限的信道,例如無線信道,或者傳輸數(shù)據(jù)量較大的網(wǎng)絡(luò)系統(tǒng)中,該協(xié)議會導(dǎo)致網(wǎng)絡(luò)效率低下。UDP協(xié)議是一種無連接的協(xié)議,它有著數(shù)據(jù)傳輸?shù)臅r延低、資源開銷小、支持組播通信方式、支持對等的通信方式等特點,但由于協(xié)議本身的不可靠,導(dǎo)致傳輸?shù)男畔⒖赡軄G失。為了保證數(shù)據(jù)信息的實時可靠傳輸,需要在應(yīng)用層進行適當(dāng)?shù)膽?yīng)用層傳輸格式設(shè)計,實現(xiàn)對報文的重發(fā)機制,保證基于UDP的協(xié)議能實現(xiàn)可靠傳輸。目前很難找到一種通用的基于UDP的可靠傳輸方法,不能夠在各種項目中直接使用;在針對特定的網(wǎng)絡(luò)應(yīng)用環(huán)境下往往需要針對環(huán)境的特性進行傳輸方法的編碼,不能夠通過簡單調(diào)整傳輸策略及可滿足新的傳輸信道需求,且不能夠?qū)崿F(xiàn)只通過單端策略調(diào)整來達到收發(fā)雙方的策略匹配,不利于軟件的快速開發(fā)、快速調(diào)整和維護。

【發(fā)明內(nèi)容】

[0003]本發(fā)明提出一種基于UDP的可配策略數(shù)據(jù)傳輸方法,本方法中將傳輸需要的部分策略抽象出來,形成策略配置文件,用戶根據(jù)實際使用的網(wǎng)絡(luò)傳輸信道需求,有針對性地修改滿足該信道的傳輸策略。
[0004]本方法在數(shù)據(jù)傳輸之前,自動從策略配置文件中讀取用戶配置的策略信息,包括報文傳輸模式、報文壓縮策略、報文重傳次數(shù)、報文超時時間、單包發(fā)送長度、發(fā)送窗口個數(shù)、主動報文延時等策略。
[0005]若傳輸數(shù)據(jù)量大且具有可壓縮性,用戶可將壓縮策略配置為壓縮傳輸,則在數(shù)據(jù)傳輸前先將數(shù)據(jù)按照指定的壓縮算法進行數(shù)據(jù)壓縮,壓縮完成后再根據(jù)實際配置進行分包發(fā)送;接收端在收到所有數(shù)據(jù)包后對數(shù)據(jù)進行重組,重組完成后根據(jù)指定壓縮算法進行解壓縮處理。
[0006]若應(yīng)用方式為點對點通信且傳輸信道穩(wěn)定則采用單包發(fā)送模式,對每一包數(shù)據(jù)進行應(yīng)答,保證數(shù)據(jù)的可靠傳輸;若應(yīng)用方式為點對多點的組播/廣播通信模式,則采取單任務(wù)發(fā)送模式,發(fā)送端將本次要發(fā)送的數(shù)據(jù)全部發(fā)送,接收端再收到所有數(shù)據(jù)\或超時等情況下進行單任務(wù)應(yīng)答,由此減少往返確認交互的報文。在進行單任務(wù)模式傳輸時,若接收端未正確完成接收,則向發(fā)送端發(fā)送丟失報文的序號集,請求重傳。接收端匯總所有丟失包集,對丟失包進行重傳,如此反復(fù),直到到達最大重傳次數(shù)則停止。當(dāng)達到最大重傳次數(shù)還沒有完成接收時,則判定本次傳輸任務(wù)失敗。
[0007]單包數(shù)據(jù)長度與信道特性密切相關(guān),根據(jù)信道的通信質(zhì)量和特性,設(shè)置一個信道最優(yōu)單包長度,由此來提升數(shù)據(jù)傳輸效率。
[0008]利用多發(fā)送窗口技術(shù),在發(fā)送數(shù)據(jù)時,采用多個窗口進行發(fā)送,節(jié)省了傳輸報文及確認報文在網(wǎng)絡(luò)信道中的傳輸時間,在單包模式下能夠成線性地提高發(fā)送效率。
[0009]在無線信道或者條件苛刻的信道下傳輸數(shù)據(jù)時,信道的時延非常大,且處理數(shù)據(jù)的能力有限,如果不對發(fā)送數(shù)據(jù)進行有限控制,則可能存在大量數(shù)據(jù)報文丟失,效率低下的問題。在此種信道下,適當(dāng)?shù)剡M行主動延時發(fā)送,反而能夠大大提高數(shù)據(jù)傳輸效率。
[0010]本方法中將單包超時時間間隔策略存放在報文頭中,當(dāng)用戶根據(jù)信道實際情況修改超時時間時,只需要修改發(fā)送端的配置,而不需要更改接收端的策略配置,接收端根據(jù)報文頭中的超時間隔時間進行自動調(diào)整,使得策略的修改變得更加靈活簡單。
[0011]本發(fā)明的有益技術(shù)效果是:當(dāng)用戶的網(wǎng)絡(luò)傳輸信道環(huán)境發(fā)生變化時,用戶不需要重新修改軟件代碼,只需要修改策略配置文件中的對應(yīng)策略就可以滿足實際使用需求,傳輸策略可靈活配置;數(shù)據(jù)傳輸可適應(yīng)帶寬、窄帶信道,穩(wěn)定、高時延信道;數(shù)據(jù)傳輸策略只需要修改發(fā)送端,數(shù)據(jù)接收端動態(tài)適應(yīng)發(fā)送端的策略。
【附圖說明】
[0012]圖1、本發(fā)明在網(wǎng)絡(luò)傳輸模型中的位置。
[0013]圖2、本發(fā)明傳輸協(xié)議結(jié)構(gòu)體。
[0014]圖3、標(biāo)識頭及報文類型定義。
[0015]圖4、單任務(wù)數(shù)據(jù)交互流程示意圖。
[0016]圖5、單窗口發(fā)送示意圖。
[0017]圖6、多窗口發(fā)送示意圖。
【具體實施方式】
[0018]根據(jù)網(wǎng)絡(luò)層次的劃分,網(wǎng)絡(luò)傳輸模型分為應(yīng)用層、傳輸層、網(wǎng)際層和網(wǎng)絡(luò)接口層4層,本發(fā)明主要是在UDP傳輸層之上添加一個自定義的可靠傳輸控制層(參見圖1)。用來實現(xiàn)數(shù)據(jù)傳輸?shù)撵`活可配以及可靠傳輸,最終提供一個簡單數(shù)據(jù)收/發(fā)接口供應(yīng)用層使用,形成一個通用數(shù)據(jù)傳輸方法。
[0019]本方法提出一種基于UDP的數(shù)據(jù)傳輸方法,在UDP數(shù)據(jù)報文基礎(chǔ)之上疊加一個傳輸控制頭(參見圖2)。為簡化應(yīng)用層的使用,本協(xié)議實現(xiàn)后,用戶發(fā)送數(shù)據(jù)時只需要將傳輸?shù)臄?shù)據(jù)直接交付給本協(xié)議模塊,指定其發(fā)送目的地址和端口即可,而不需要再做任何的數(shù)據(jù)傳輸控制。
[0020]本協(xié)議中的標(biāo)識頭和報文類型字段的取值(參見圖3):標(biāo)識頭用來識別是否本協(xié)議報文的第一個判別鍵,目前暫時使用0xFC、0xFD這兩個取值,OxFD表示當(dāng)前的報文是經(jīng)過壓縮后的報文,OxFC表示當(dāng)前的報文是非壓縮的報文。如果接收端接收到的報文標(biāo)識頭不是0xFC、0xFD這兩個取值,則認為不是當(dāng)前協(xié)議內(nèi)的正確報文,予以丟棄。
[0021]關(guān)于報文類型的設(shè)計,本協(xié)議中對于傳輸數(shù)據(jù)有兩種模式可供選擇,一種是單包發(fā)送模式,一種是單任務(wù)發(fā)送模式。對于單包發(fā)送模式,接收端需要對每一個報文都進行確認應(yīng)答才認為是正確接收。對于單任務(wù)模式則不必要對每一個報文都進行應(yīng)答,而是發(fā)送端按照一定的發(fā)送速率進行任務(wù)內(nèi)的所有分包發(fā)送,接收端在收到數(shù)據(jù)后進行統(tǒng)一應(yīng)答。當(dāng)接收端正確接收到所有的數(shù)據(jù)報文時,發(fā)送0x21 (單任務(wù)成功確認報文)。當(dāng)接收端收到最后一個序號的報文或者已經(jīng)超時無后續(xù)報文的情況下,通過查閱接收任務(wù)列表中的數(shù)據(jù)情況,向發(fā)送端發(fā)起0x22 (單任務(wù)重傳請求報文),報文有效數(shù)據(jù)載荷中填寫的是需要重傳的報文序號列表。發(fā)送端收到重傳請求后,將需要重傳的包進行重傳(參見圖4)。
[0022]協(xié)議中的報文號是一個由兩個字節(jié)組成的整形數(shù)字,從O— 65535循環(huán)使用,該字段針對應(yīng)用層發(fā)送過程進行計數(shù),如果應(yīng)用層要發(fā)送一個大數(shù)據(jù),數(shù)據(jù)交互協(xié)議部分需要進行分包發(fā)送,但是所有分包中的報文號是同一個序號,表示這些包同屬于一個完整的報文,這樣便于在同一個端口上同時發(fā)送處理多種數(shù)據(jù)時進行報文區(qū)分,接收端在接收到數(shù)據(jù)時根據(jù)發(fā)送端IP地址、發(fā)送端端口號、報文號共同決定本數(shù)據(jù)屬于那一個報文,保證反向重組報文時的正確性。
[0023]當(dāng)前報文序號和當(dāng)前報文總包數(shù)都是一個4個字節(jié)的整形數(shù)字(若單包長度為1024字節(jié)的情況下,理論上本方法可一次實現(xiàn)4T數(shù)據(jù)的傳輸),當(dāng)一個大數(shù)據(jù)報文進行分包發(fā)送時,當(dāng)前報文總包數(shù)用來記錄本次分包后的包個數(shù),報文序號則是表示當(dāng)前的報文是分包后的第幾個子分包報文,接收端收到的分包報文總個數(shù)等于當(dāng)前報文總包數(shù)時,則表示已經(jīng)全部收到了所有報文,而當(dāng)前報文序號的作用在于判別某些包是否是重復(fù)包,以及在最終反組包時對報文進行正確排序重組,糾正因網(wǎng)絡(luò)問題導(dǎo)致的數(shù)據(jù)亂序情況的出現(xiàn)。
[0024]超時時間由一個字節(jié)表示,其取值范圍為0—255,單位為秒。校驗碼完成對當(dāng)前包中所有數(shù)據(jù)進行循環(huán)校驗,判斷數(shù)據(jù)包在網(wǎng)絡(luò)傳輸過程中是否損壞。報文長度由兩個字節(jié)組成,表示當(dāng)前單包報文的數(shù)據(jù)總長度,因此單個數(shù)據(jù)包的長度不超過65535個字節(jié)。
[0025]在軟件的使用過程中,網(wǎng)絡(luò)環(huán)境會有不同的變化需求,在某
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
乐业县| 察隅县| 抚顺县| 深水埗区| 三门县| 临武县| 潜江市| 东安县| 凉城县| 通江县| 南阳市| 山阴县| 新泰市| 灵璧县| 公安县| 奉节县| 蒲城县| 建平县| 惠州市| 元朗区| 田东县| 察哈| 太仆寺旗| 即墨市| 克什克腾旗| 凌源市| 类乌齐县| 江孜县| 贵定县| 河东区| 平顶山市| 大埔区| 隆德县| 旌德县| 海兴县| 武城县| 凭祥市| 五原县| 济源市| 张北县| 隆德县|