專利名稱:基于udp協(xié)議的數(shù)據(jù)傳輸方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種互聯(lián)網(wǎng)中數(shù)據(jù)傳輸?shù)姆椒?,更具體地說(shuō),涉及一種基于UDP協(xié)議 的數(shù)據(jù)傳輸方法。
背景技術(shù):
TCP (Transmission Control Protocol),傳輸控制協(xié)議,主要用于在主機(jī)間建立
一個(gè)虛擬連接,以實(shí)現(xiàn)高可靠性的數(shù)據(jù)包交換。IP協(xié)議可以進(jìn)行IP數(shù)據(jù)包的分割和組裝,
但是通過(guò)IP協(xié)議并不能清楚地了解到數(shù)據(jù)包是否順利地發(fā)送給目標(biāo)計(jì)算機(jī)。而使用TCP
協(xié)議就不同了 ,在該協(xié)議傳輸模式中在將數(shù)據(jù)包成功發(fā)送給目標(biāo)計(jì)算機(jī)后,TCP會(huì)要求發(fā)送
一個(gè)確認(rèn);如果在某個(gè)時(shí)限內(nèi)沒(méi)有收到確認(rèn),那么TCP將重新發(fā)送數(shù)據(jù)包。另外,在傳輸?shù)?br>
過(guò)程中,如果接收到無(wú)序、丟失以及被破壞的數(shù)據(jù)包,TCP還可以負(fù)責(zé)恢復(fù)。 TCP是一種面向連接的、可靠的、基于字節(jié)流的運(yùn)輸層通信協(xié)議,通常由IETF的
RFC 793說(shuō)明。在簡(jiǎn)化的計(jì)算機(jī)網(wǎng)絡(luò)OSI模型中,它完成運(yùn)輸層所指定的功能。 UDP (User Datagram Protocol),用戶數(shù)據(jù)報(bào)協(xié)議,是0SI參考模型中一種無(wú)連接
的傳輸層協(xié)議,提供面向事務(wù)的簡(jiǎn)單不可靠信息傳送服務(wù)。UDP協(xié)議基本上是IP協(xié)議與上
層協(xié)議的接口。 UDP協(xié)議適用端口分別運(yùn)行在同一臺(tái)設(shè)備上的多個(gè)應(yīng)用程序。 由于大多數(shù)網(wǎng)絡(luò)應(yīng)用程序都在同一臺(tái)機(jī)器上運(yùn)行,計(jì)算機(jī)上必須能夠確保目的地
機(jī)器上的軟件程序能從源地址機(jī)器處獲得數(shù)據(jù)包,以及源計(jì)算機(jī)能收到正確的回復(fù)。這是
通過(guò)使用UDP的"端口號(hào)"完成的。例如,如果一個(gè)工作站希望在工作站128. 1. 123. 1上使
用域名服務(wù)系統(tǒng),它就會(huì)給數(shù)據(jù)包一個(gè)目的地址128. 1. 123. l,并在UDP頭插入目標(biāo)端口號(hào)
53。源端口號(hào)標(biāo)識(shí)了請(qǐng)求域名服務(wù)的本地機(jī)的應(yīng)用程序,同時(shí)需要將所有由目的站生成的
響應(yīng)包都指定到源主機(jī)的這個(gè)端口上。UDP端口的詳細(xì)介紹可以參照相關(guān)文章。 UDP協(xié)議使用IP層提供的服務(wù)把從應(yīng)用層得到的數(shù)據(jù)從一臺(tái)主機(jī)的某個(gè)應(yīng)用程
序傳給網(wǎng)絡(luò)上另一臺(tái)主機(jī)上的某一個(gè)應(yīng)用程序。其特點(diǎn)如下 1、 UDP傳送數(shù)據(jù)前并不與對(duì)方建立連接,即UDP是無(wú)連接的,在傳輸數(shù)據(jù)前,發(fā)送 方和接收方相互交換信息使雙方同步。 2、 UDP不對(duì)收到的數(shù)據(jù)進(jìn)行排序,在UDP報(bào)文的首部中并沒(méi)有關(guān)于數(shù)據(jù)順序的信 息(如TCP所采用的序號(hào)),而且報(bào)文不一定按順序到達(dá)的,所以接收端無(wú)從排起。
3、UDP對(duì)接收到的數(shù)據(jù)報(bào)不發(fā)送確認(rèn)信號(hào),發(fā)送端不知道數(shù)據(jù)是否被正確接收,也 不會(huì)重發(fā)數(shù)據(jù)。 4、 UDP傳送數(shù)據(jù)較TCP快速,系統(tǒng)開銷也少。 從以上特點(diǎn)可知,UDP提供的是無(wú)連接的、不可靠的數(shù)據(jù)傳送方式,是一種盡力而 為的數(shù)據(jù)交付服務(wù)。問(wèn)題在于,TCP協(xié)議在網(wǎng)絡(luò)發(fā)展的前期,適用于所有的用戶。在前期使 用網(wǎng)絡(luò)的用戶,每個(gè)人都擁有一個(gè)公共的固定的ip地址,隨著用戶的增多,ip地址資源開 始變得匱乏。為了解決ip資源匱乏的問(wèn)題,nat(網(wǎng)絡(luò)地址轉(zhuǎn)換器)設(shè)備出現(xiàn)了,大的網(wǎng)絡(luò) 用戶集群使用局域網(wǎng)地址,訪問(wèn)公共網(wǎng)絡(luò)時(shí)分配臨時(shí)的公網(wǎng)地址的方式,解決了 ip匱乏問(wèn)題。但是也直接導(dǎo)致了網(wǎng)絡(luò)狀態(tài)的復(fù)雜化,并直接影響了TCP協(xié)議的適用范圍。用戶與用 戶之間使用TCP協(xié)議共享資源時(shí),絕大多數(shù)情況都無(wú)法進(jìn)行。UDP協(xié)議可以穿越絕大多數(shù)的 nat設(shè)備共享用戶資源,但是UDP協(xié)議的無(wú)連接以及不可靠傳輸?shù)奶攸c(diǎn),使得共享資源的過(guò) 程變得異常艱難。
發(fā)明內(nèi)容
本發(fā)明提供一種基于UDP協(xié)議實(shí)現(xiàn)互聯(lián)網(wǎng)中兩個(gè)客戶終端之間數(shù)據(jù)的可靠傳輸 方法,旨在彌補(bǔ)TCP協(xié)議下對(duì)傳輸數(shù)據(jù)因IP地址數(shù)量有限而受到的限制問(wèn)題。
本發(fā)明一種基于UDP協(xié)議的數(shù)據(jù)傳輸方法,包括如下步驟 (SI)發(fā)送終端將待發(fā)送的文件分成數(shù)據(jù)包,為數(shù)據(jù)包設(shè)置序號(hào),以便接收終端將 各個(gè)數(shù)據(jù)包重新恢復(fù)為發(fā)送的文件; (S2)發(fā)送終端設(shè)置三個(gè)隊(duì)列,包括等待發(fā)送數(shù)據(jù)隊(duì)列、等待應(yīng)答數(shù)據(jù)隊(duì)列和補(bǔ)發(fā) 數(shù)據(jù)隊(duì)列。其中,等待發(fā)送數(shù)據(jù)隊(duì)列,將數(shù)據(jù)包信息以先進(jìn)先出的方式按序排列,并且基于 UDP協(xié)議建立傳輸鏈路實(shí)現(xiàn)數(shù)據(jù)包的傳輸; (S3)當(dāng)?shù)却l(fā)送數(shù)據(jù)隊(duì)列中的一個(gè)數(shù)據(jù)包數(shù)據(jù)全部發(fā)出后,將該數(shù)據(jù)包信息從等 待發(fā)送數(shù)據(jù)隊(duì)列放入所述等待應(yīng)答數(shù)據(jù)隊(duì)列,等待所述接收終端應(yīng)答;當(dāng)接收終端應(yīng)答接 收成功時(shí),等待應(yīng)答數(shù)據(jù)隊(duì)列刪除成功傳輸?shù)臄?shù)據(jù)包信息; (S4)當(dāng)接收終端對(duì)所述等待應(yīng)答數(shù)據(jù)隊(duì)列中的數(shù)據(jù)包超時(shí)或未應(yīng)答,則將該數(shù)據(jù) 包放入補(bǔ)發(fā)數(shù)據(jù)隊(duì)列,用于等待重新放入等待發(fā)送數(shù)據(jù)隊(duì)列進(jìn)行發(fā)送。 本發(fā)明基于UDP協(xié)議的數(shù)據(jù)傳輸方法,其改進(jìn)在于,上述步驟(S2)中,等待發(fā)送數(shù) 據(jù)隊(duì)列根據(jù)數(shù)據(jù)包的編號(hào)按序排列。此外優(yōu)選方式下,在同一時(shí)刻,發(fā)送終端和接收終端之 間可以建立多個(gè)傳輸鏈路。 本發(fā)明基于UDP協(xié)議的數(shù)據(jù)傳輸方法,針對(duì)置于nat設(shè)備之后無(wú)法使用TCP可靠 傳輸機(jī)制的用戶,使用UDP協(xié)議進(jìn)行用戶間的資源共享。根據(jù)UDP協(xié)議的特點(diǎn),對(duì)UDP協(xié)議 進(jìn)行封裝,使UDP協(xié)議在共享資源時(shí)與TCP協(xié)議效果相同,簡(jiǎn)化數(shù)據(jù)共享的過(guò)程;從而極大 的拓寬了網(wǎng)絡(luò)間用戶互相連接的范圍,使更多的用戶可以采用互相連接的方式進(jìn)行資源共 享;并因此大幅度地提高了網(wǎng)絡(luò)的傳輸效率。尤其針對(duì)于用戶機(jī)而言,UDP協(xié)議采用端口一 對(duì)多的連接,TCP采用端口一對(duì)一的連接,UDP協(xié)議較TCP協(xié)議更加節(jié)省本地資源;擺脫了 IP地址數(shù)量的限制,從而可以廣泛地應(yīng)用于互聯(lián)網(wǎng)技術(shù)下的數(shù)據(jù)傳輸,而且能夠提高數(shù)據(jù) 傳輸?shù)目煽啃浴?br>
圖1是本發(fā)明基于UDP協(xié)議的數(shù)據(jù)傳輸方法兩終端間的流程情況示意圖。
具體實(shí)施例方式
如圖l所示本發(fā)明基于UDP協(xié)議的數(shù)據(jù)傳輸方法的流程圖,左側(cè)為發(fā)送終端的流 程情況,右側(cè)為接收終端的流程情況,二者之間通過(guò)互聯(lián)網(wǎng)網(wǎng)絡(luò)交互信息。
圖中,邏輯控制層,用于處理邏輯流程,建立在網(wǎng)絡(luò)傳輸層之上,主要負(fù)責(zé)處理邏 輯問(wèn)題,需要進(jìn)行網(wǎng)絡(luò)讀寫時(shí),通過(guò)網(wǎng)絡(luò)傳輸層完成。網(wǎng)絡(luò)鏈路控制器,用于綁定一個(gè)本地
4端口或者稱為網(wǎng)絡(luò)地址(socketaddress),負(fù)責(zé)所有使用綁定端口發(fā)送的數(shù)據(jù);由于目的 地址不同,每個(gè)目的地址與本地端口地址建立一條傳輸鏈路,每個(gè)網(wǎng)絡(luò)鏈路控制器可以擁 有多條傳輸鏈路。傳輸鏈路,其鏈路由本地地址與目的地址作為鏈路的唯一標(biāo)識(shí)。而數(shù)據(jù)處 理器,在發(fā)送數(shù)據(jù)時(shí),對(duì)需要發(fā)送的數(shù)據(jù)按傳遞順序進(jìn)行編號(hào);接收數(shù)據(jù)時(shí),按照數(shù)據(jù)編號(hào) 進(jìn)行數(shù)據(jù)整合,完成整合的數(shù)據(jù)按照順序向上傳遞到邏輯處理層進(jìn)行處理。此外,網(wǎng)絡(luò)傳輸 端口 或者稱為SocketAddress,網(wǎng)絡(luò)傳輸?shù)刂?,由IP+port組成,如202. 96. 69. 38 :4578 ; 網(wǎng)絡(luò)傳輸?shù)刂吩诰W(wǎng)絡(luò)中是唯一 的存在,標(biāo)識(shí)本機(jī)的通信地址。
本發(fā)明基于UDP協(xié)議的數(shù)據(jù)傳輸方法,具體包括如下步驟 (1)發(fā)送終端將待發(fā)送的文件分成數(shù)據(jù)包,為數(shù)據(jù)包設(shè)置序號(hào),以便接收終端將各 個(gè)數(shù)據(jù)包重新恢復(fù)為發(fā)送的文件; (2)發(fā)送終端在每個(gè)鏈路內(nèi)擁有三個(gè)數(shù)據(jù)存儲(chǔ)隊(duì)列,分別是等待發(fā)送數(shù)據(jù)隊(duì)列、
等待應(yīng)答數(shù)據(jù)隊(duì)列和補(bǔ)發(fā)數(shù)據(jù)隊(duì)列。其中,等待發(fā)送數(shù)據(jù)隊(duì)列,在隊(duì)列內(nèi)存儲(chǔ)等待發(fā)送的數(shù)
據(jù),使用可靠傳輸,要求接收方接到數(shù)據(jù)后給予發(fā)送方應(yīng)答(通知已收到)。等待發(fā)送數(shù)據(jù)
隊(duì)列等待應(yīng)答數(shù)據(jù)隊(duì)列,隊(duì)列內(nèi)的數(shù)據(jù)已經(jīng)發(fā)送過(guò),等待對(duì)方收到后的響應(yīng),確認(rèn)對(duì)方收
到。補(bǔ)發(fā)數(shù)據(jù)隊(duì)列,當(dāng)一定時(shí)間內(nèi)未收到對(duì)方的響應(yīng)信息,對(duì)可能丟失的數(shù)據(jù)進(jìn)行補(bǔ)發(fā)。傳
輸鏈路中存儲(chǔ)了所有的關(guān)于此鏈路的數(shù)據(jù),數(shù)據(jù)傳遞給鏈路后直接添加到"等待發(fā)送數(shù)據(jù)
隊(duì)列",由發(fā)送線程將數(shù)據(jù)從"等待發(fā)送數(shù)據(jù)隊(duì)列"中取出,寫入網(wǎng)絡(luò)端口 ;然后將數(shù)據(jù)加入
"等待應(yīng)答數(shù)據(jù)隊(duì)列",并定時(shí)檢查響應(yīng),一定時(shí)間內(nèi)沒(méi)有受到應(yīng)答,將會(huì)操作"補(bǔ)發(fā)數(shù)據(jù)隊(duì)
列"進(jìn)行補(bǔ)發(fā)。
具體方式為 a)等待發(fā)送數(shù)據(jù)隊(duì)列將數(shù)據(jù)包信息以先進(jìn)先出的方式按序排列,并且基于UDP協(xié) 議建立傳輸鏈路實(shí)現(xiàn)數(shù)據(jù)包的傳輸。 b)當(dāng)?shù)却l(fā)送數(shù)據(jù)隊(duì)列中的一個(gè)數(shù)據(jù)包數(shù)據(jù)全部發(fā)出后,將該數(shù)據(jù)包信息從等待 發(fā)送數(shù)據(jù)隊(duì)列放入所述等待應(yīng)答數(shù)據(jù)隊(duì)列,等待接收終端應(yīng)答;當(dāng)接收終端應(yīng)答接收成功 時(shí),等待應(yīng)答數(shù)據(jù)隊(duì)列刪除成功傳輸?shù)臄?shù)據(jù)包信息。 c)當(dāng)接收終端對(duì)所述等待應(yīng)答數(shù)據(jù)隊(duì)列中的數(shù)據(jù)包超時(shí)或未應(yīng)答,則將該數(shù)據(jù)包 放入補(bǔ)發(fā)數(shù)據(jù)隊(duì)列,用于等待重新放入等待發(fā)送數(shù)據(jù)隊(duì)列進(jìn)行發(fā)送。 此處,"超時(shí)"概念如下通常這個(gè)時(shí)間根據(jù)RTT值來(lái)計(jì)算,RTT值在網(wǎng)絡(luò)中稱為 回路時(shí)間,也就是一個(gè)數(shù)據(jù)包從發(fā)送時(shí)間開始計(jì)算,到接受到響應(yīng)包結(jié)束,其間所耗用的時(shí) 間。超時(shí)是以RTT值為基準(zhǔn),本發(fā)明優(yōu)選方式下,第一次計(jì)時(shí)以2個(gè)RTT值時(shí)間為開始補(bǔ)發(fā) 的計(jì)時(shí)基礎(chǔ),第二次是4個(gè)RTT值,依此類推,2倍數(shù)的遞增方式。當(dāng)數(shù)據(jù)包的總發(fā)送時(shí)間超 過(guò)5秒,認(rèn)為鏈路存在故障,并放棄發(fā)送。對(duì)于首次發(fā)送的數(shù)據(jù)包,RTT值默認(rèn)為50毫秒到 300毫秒中的一個(gè)優(yōu)選數(shù)值;而對(duì)于多個(gè)反饋的數(shù)據(jù)包,RTT值可取平均或加權(quán)平均計(jì)算獲 得。通常情況下,未應(yīng)答的狀態(tài)也以超時(shí)為判斷前提,也就是說(shuō),在一定時(shí)間后無(wú)法接受到 響應(yīng),即可直接判定為未作應(yīng)答;因此此處"超時(shí)"、"未作應(yīng)答"的概念等同。
根據(jù)附圖l,分別說(shuō)明發(fā)送終端和接收終端的實(shí)現(xiàn)過(guò)程。 發(fā)送終端首先由邏輯控制層產(chǎn)生數(shù)據(jù),數(shù)據(jù)經(jīng)程序內(nèi)部傳遞,傳遞到網(wǎng)絡(luò)層,網(wǎng)絡(luò) 層根據(jù)數(shù)據(jù)綁定的本地地址,關(guān)聯(lián)網(wǎng)絡(luò)鏈路控制器,再根據(jù)目的地址綁定具體的傳輸鏈路, 找到具體的鏈路后,將數(shù)據(jù)傳遞給數(shù)據(jù)處理器,對(duì)數(shù)據(jù)進(jìn)行傳輸編號(hào),以防止傳輸順序錯(cuò)亂,并將數(shù)據(jù)封裝在可執(zhí)行接口內(nèi)部;封裝完畢后,將對(duì)應(yīng)的網(wǎng)絡(luò)鏈路控制器添加到執(zhí)行隊(duì) 列,等待獨(dú)立執(zhí)行線程訪問(wèn)。獨(dú)立執(zhí)行線程遍歷執(zhí)行隊(duì)列,按照隊(duì)列內(nèi)的排放順序,將網(wǎng)絡(luò) 鏈路控制器逐個(gè)取出,檢索傳輸鏈路,將需要發(fā)送的數(shù)據(jù)發(fā)送,通過(guò)網(wǎng)絡(luò)端口 ,發(fā)送向目的 地。 而接收終端由獨(dú)立線程定時(shí)遍歷本地所有的網(wǎng)絡(luò)鏈路控制器,讀取接收到的存在 于所有鏈路的數(shù)據(jù),每接收到一個(gè)數(shù)據(jù)對(duì)發(fā)送方做接收數(shù)據(jù)應(yīng)答,將接收完整的數(shù)據(jù)傳遞 給數(shù)據(jù)處理器,由數(shù)據(jù)處理器對(duì)接收到的數(shù)據(jù)作整理,通過(guò)排序整合,將接續(xù)的數(shù)據(jù)向上傳 遞,交給邏輯處理層作處理,非連續(xù)的數(shù)據(jù)等待數(shù)據(jù)接續(xù)后再上傳。 本發(fā)明基于UDP協(xié)議的數(shù)據(jù)傳輸方法,通過(guò)發(fā)送數(shù)據(jù)后,返回接收數(shù)據(jù)響應(yīng)的方 式,對(duì)發(fā)送的每一個(gè)數(shù)據(jù)進(jìn)行確認(rèn),達(dá)到數(shù)據(jù)可靠傳輸?shù)哪康?,每個(gè)數(shù)據(jù)都需要應(yīng)答時(shí),發(fā) 送數(shù)據(jù)的速度就相應(yīng)的降低了,針對(duì)于這種情況,采取同時(shí)傳輸多個(gè)數(shù)據(jù)來(lái)提高速度,即允 許同時(shí)存在多個(gè)未收到"接收數(shù)據(jù)響應(yīng)"的數(shù)據(jù)在網(wǎng)絡(luò)中傳輸,這樣在網(wǎng)絡(luò)層傳輸?shù)乃俣染?大大的提高了 ;在網(wǎng)絡(luò)傳輸?shù)倪^(guò)程中每個(gè)數(shù)據(jù)所走的路徑都可能不同,相應(yīng)的達(dá)到目的地 的速度也不同,在網(wǎng)絡(luò)傳輸中由于應(yīng)用的不同,對(duì)于數(shù)據(jù)的傳送速度要求也不同,有很多應(yīng) 用需要保證數(shù)據(jù)的收發(fā)順序,目前多個(gè)包在網(wǎng)絡(luò)中傳輸,傳輸速度是無(wú)法保證,我們只能通 過(guò)程序內(nèi)部來(lái)保障順序,在數(shù)據(jù)發(fā)送前,對(duì)數(shù)據(jù)進(jìn)行編號(hào),接收數(shù)據(jù)時(shí),按照編號(hào)重新排序, 為防止過(guò)多的無(wú)序數(shù)據(jù)對(duì)網(wǎng)絡(luò)層造成太大的壓力,程序內(nèi)部會(huì)將數(shù)據(jù)的數(shù)量控制在一定的 范圍之內(nèi),通過(guò)以上的手段結(jié)合應(yīng)用,來(lái)實(shí)現(xiàn)UDP的可靠傳輸。 以上所述,僅為本發(fā)明較佳的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不局限于此, 任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明披露的技術(shù)范圍內(nèi),根據(jù)本發(fā)明的技術(shù)方案及其 發(fā)明構(gòu)思加以等同替換或改變,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
一種基于UDP協(xié)議的數(shù)據(jù)傳輸方法,包括在發(fā)送終端和接收終端之間建立傳輸鏈路的步驟,以及依靠所述傳輸鏈路傳輸數(shù)據(jù)的步驟;其特征在于,具體包括如下步驟(S1)所述發(fā)送終端將待發(fā)送的文件分成數(shù)據(jù)包,為數(shù)據(jù)包設(shè)置序號(hào),以便所述接收終端將各個(gè)數(shù)據(jù)包重新恢復(fù)為發(fā)送的文件;(S2)所述發(fā)送終端設(shè)置三個(gè)隊(duì)列,包括等待發(fā)送數(shù)據(jù)隊(duì)列、等待應(yīng)答數(shù)據(jù)隊(duì)列和補(bǔ)發(fā)數(shù)據(jù)隊(duì)列;所述等待發(fā)送數(shù)據(jù)隊(duì)列,將數(shù)據(jù)包信息以先進(jìn)先出的方式按序排列,并且基于UDP協(xié)議建立傳輸鏈路實(shí)現(xiàn)數(shù)據(jù)包的傳輸;(S3)當(dāng)所述等待發(fā)送數(shù)據(jù)隊(duì)列中的一個(gè)數(shù)據(jù)包數(shù)據(jù)全部發(fā)出后,將該數(shù)據(jù)包信息從所述等待發(fā)送數(shù)據(jù)隊(duì)列放入所述等待應(yīng)答數(shù)據(jù)隊(duì)列,等待所述接收終端應(yīng)答;當(dāng)所述接收終端應(yīng)答接收成功時(shí),所述等待應(yīng)答數(shù)據(jù)隊(duì)列刪除成功傳輸?shù)臄?shù)據(jù)包信息;(S4)當(dāng)所述接收終端對(duì)所述等待應(yīng)答數(shù)據(jù)隊(duì)列中的數(shù)據(jù)包未做應(yīng)答時(shí),則將該數(shù)據(jù)包放入所述補(bǔ)發(fā)數(shù)據(jù)隊(duì)列,用于等待重新放入所述等待發(fā)送數(shù)據(jù)隊(duì)列進(jìn)行發(fā)送。
2. 根據(jù)權(quán)利要求1所述基于UDP協(xié)議的數(shù)據(jù)傳輸方法,其特征在于,步驟(S2)中,所述 等待發(fā)送數(shù)據(jù)隊(duì)列根據(jù)數(shù)據(jù)包的編號(hào)按序排列。
3. 根據(jù)權(quán)利要求2所述基于UDP協(xié)議的數(shù)據(jù)傳輸方法,其特征在于,同一時(shí)刻,所述發(fā) 送終端和接收終端之間建立多個(gè)傳輸鏈路。
全文摘要
本發(fā)明公開了一種基于UDP協(xié)議的數(shù)據(jù)傳輸方法,具體步驟如下(S1)發(fā)送終端將待發(fā)送的文件分成數(shù)據(jù)包,為數(shù)據(jù)包設(shè)置序號(hào),以便接收終端將各個(gè)數(shù)據(jù)包重新恢復(fù)為發(fā)送的文件;(S2)發(fā)送終端設(shè)置三個(gè)隊(duì)列,當(dāng)?shù)却l(fā)送數(shù)據(jù)隊(duì)列中的一個(gè)數(shù)據(jù)包數(shù)據(jù)全部發(fā)出后,等待接收終端應(yīng)答;當(dāng)接收終端應(yīng)答接收成功時(shí),等待應(yīng)答數(shù)據(jù)隊(duì)列刪除成功傳輸?shù)臄?shù)據(jù)包信息。當(dāng)接收終端對(duì)所述等待應(yīng)答數(shù)據(jù)隊(duì)列中的數(shù)據(jù)包超時(shí)未應(yīng)答,則將該數(shù)據(jù)包放入補(bǔ)發(fā)數(shù)據(jù)隊(duì)列,用于等待重新放入所述等待發(fā)送數(shù)據(jù)隊(duì)列進(jìn)行發(fā)送。本發(fā)明拓寬了網(wǎng)絡(luò)間用戶互相連接的范圍,大幅提高了網(wǎng)絡(luò)的傳輸效率,可以廣泛地應(yīng)用于互聯(lián)網(wǎng)技術(shù)下的數(shù)據(jù)傳輸,并且能夠保證數(shù)據(jù)傳輸?shù)目煽啃浴?br>
文檔編號(hào)H04L12/56GK101778093SQ20091001007
公開日2010年7月14日 申請(qǐng)日期2009年1月13日 優(yōu)先權(quán)日2009年1月13日
發(fā)明者李德寶, 蔣一 申請(qǐng)人:蔣一