一種m2m終端及其tcp傳輸擁塞控制方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明設(shè)及一種M2M終端及其TCP傳輸擁塞控制方法和系統(tǒng),屬于計(jì)算機(jī)通信領(lǐng) 域。
【背景技術(shù)】
[0002]物聯(lián)網(wǎng)(InternetofThings)是通過(guò)射頻識(shí)別(RFID)、紅外感應(yīng)器、全球定位系 統(tǒng)、激光掃描器等信息傳感設(shè)備,按約定的協(xié)議,把任何物體與互聯(lián)網(wǎng)相連接,進(jìn)行信息交 換和通信,W實(shí)現(xiàn)對(duì)物體的智能化識(shí)別、定位、跟蹤、監(jiān)控和管理的一種網(wǎng)絡(luò)。物聯(lián)網(wǎng)的基礎(chǔ) 就是設(shè)備與設(shè)備通信加21(1113油;[]16-1:0-1]13油;[]16),在該種通信形式中,機(jī)器能自動(dòng)完成整 個(gè)通信過(guò)程。M2M通信近年來(lái)發(fā)展迅猛,在很多領(lǐng)域中得到了廣泛的應(yīng)用,例如電子醫(yī)療、智 能電網(wǎng)、沒(méi)有人為干預(yù)的多媒體娛樂(lè)與休閑等。在實(shí)際環(huán)境中,M2M通信具有和傳統(tǒng)的人與 人通信化2H)業(yè)務(wù)不同的一些特點(diǎn):。
[000引M2M網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示,M2M業(yè)務(wù)節(jié)點(diǎn)每次傳輸?shù)臄?shù)據(jù)分組都是非常小的,但是 傳輸數(shù)據(jù)的頻率高于H2H節(jié);M2M的節(jié)點(diǎn)數(shù)大大多于肥H的節(jié)點(diǎn)數(shù);M2M設(shè)備的移動(dòng)性低、處 理能力弱;M2M業(yè)務(wù)對(duì)時(shí)延的需求并不是非常嚴(yán)格,M2M應(yīng)用在移動(dòng)性、業(yè)務(wù)量特征、接入條 件、優(yōu)先級(jí)、群組特征等方面有自己的特點(diǎn),傳統(tǒng)移動(dòng)通信網(wǎng)絡(luò)是面向人與人化2H)通信業(yè) 務(wù)設(shè)計(jì)的,適應(yīng)肥H的業(yè)務(wù)需求。
[0004]TCP是目前應(yīng)用最廣泛的傳輸控制協(xié)議,擁塞控制機(jī)制是其核屯、元素。隨著主機(jī)數(shù) 量的增多和數(shù)據(jù)通信量的加大,網(wǎng)絡(luò)中存在過(guò)多的分組時(shí),網(wǎng)絡(luò)性能會(huì)明顯下降,產(chǎn)生資源 競(jìng)爭(zhēng),導(dǎo)致網(wǎng)絡(luò)出現(xiàn)擁塞。
[0005]TCP網(wǎng)絡(luò)擁塞控制中,發(fā)送端通過(guò)減少TCP發(fā)送端數(shù)據(jù)包發(fā)送速率,降低網(wǎng)絡(luò)負(fù) 載,擁塞控制機(jī)制通過(guò)調(diào)整擁塞窗口(CWND)來(lái)控制TCP數(shù)據(jù)發(fā)送速率,CWND表示TCP發(fā)送 端一次可W發(fā)送的最大數(shù)據(jù)包個(gè)數(shù)。
[0006] 常用方法如圖2所示,當(dāng)發(fā)送端發(fā)了TCP數(shù)據(jù)包后,接收端接收數(shù)據(jù)后,如果數(shù)據(jù) 正確就發(fā)送ACK,否則就發(fā)送重傳信息,發(fā)送端如果碰到網(wǎng)絡(luò)擁塞,就減小CWND,如果網(wǎng)絡(luò) 狀況好,就增加CWND,該就是TCP網(wǎng)絡(luò)擁塞控制的基本思想
[0007] 傳統(tǒng)TCP擁塞控制機(jī)制很多,常見(jiàn)的例如有線網(wǎng)絡(luò)的Reno,Vegas等方法,該些方 法通過(guò)判斷擁塞狀況W及調(diào)整發(fā)送窗口來(lái)減少進(jìn)一步的擁塞,對(duì)于TCP傳輸能有效減少擁 塞,但是該些方法適用于有線網(wǎng)絡(luò)W及一般的無(wú)線網(wǎng)路。
[0008]物聯(lián)網(wǎng)M2M終端通信中,雖然擁塞控制可W減少網(wǎng)絡(luò)擁塞,但是終端的功耗依然 沒(méi)有減少,即便是窗口減小,發(fā)出的TCP包有些有可能沒(méi)有接收到,然后需要額外的重傳, 消耗過(guò)多的節(jié)點(diǎn)能量。另外多數(shù)M2M終端對(duì)數(shù)據(jù)的時(shí)延要求不高,但是對(duì)功耗比較敏感,對(duì) 于該樣一類(lèi)的終端,提供了一種TCP擁塞控制方法,減少網(wǎng)絡(luò)擁塞同時(shí)減小終端的能量消 耗。
【發(fā)明內(nèi)容】
[0009] 本發(fā)明所要解決的問(wèn)題是;在現(xiàn)有技術(shù)中,M2M終端在TCP傳輸擁塞時(shí)候,大量重 傳導(dǎo)致終端功耗增加,本發(fā)明根據(jù)目前的方法,提出了一種TCP傳輸自適應(yīng)擁塞控制方法, 通過(guò)對(duì)網(wǎng)絡(luò)擁塞狀況的判斷,如果網(wǎng)絡(luò)使M2M終端進(jìn)入休眠的低功耗狀態(tài),減小功耗和網(wǎng) 絡(luò)數(shù)據(jù)流量。
[0010] 為解決上述問(wèn)題,本發(fā)明提出如下技術(shù)方案:
[0011] 第一個(gè)技術(shù)方案是提出一種M2M終端,包括如下裝置:
[0012] 發(fā)送TCP數(shù)據(jù)包的裝置;
[0013] 接收TCP數(shù)據(jù)包確認(rèn)消息的裝置;
[0014] 處理TCP數(shù)據(jù)包擁塞狀態(tài)的裝置;
[0015] 根據(jù)信令控制終端硬件進(jìn)行休眠操作的裝置;
[0016] 休眠結(jié)束后對(duì)硬件喚醒操作的裝置。
[0017] 優(yōu)選地,上述方案進(jìn)一步包括;響應(yīng)于在預(yù)定時(shí)間段內(nèi)發(fā)送數(shù)據(jù),接收從服務(wù)器端 來(lái)的數(shù)據(jù)的裝置。
[0018] 優(yōu)選地,上述方案還進(jìn)一步包括;被配置為利用處理器獲取數(shù)據(jù)包中的時(shí)間戳信 息的裝置。
[0019] 優(yōu)選地,上述方案進(jìn)一步包括:被配置為利用處理器獲取計(jì)算收到的ACK數(shù)目的 裝置。
[0020] 優(yōu)選地,上述方案進(jìn)一步包括:可W收到發(fā)送端數(shù)據(jù)并且判斷數(shù)據(jù)的正確性的裝 置。
[0021] 第二個(gè)技術(shù)方案是提出一種用于M2M終端的TCP傳輸擁塞控制方法,如圖3所示, 該系統(tǒng)中至少包括M2M接收端和服務(wù)器接收端,包括:
[0022] 步驟1 ;M2M終端向接收端發(fā)送TCP數(shù)據(jù),
[002引步驟2 ;服務(wù)器接收端接收數(shù)據(jù),
[0024] 步驟3 ;服務(wù)器接收端校驗(yàn)數(shù)據(jù)正確性,
[00巧]步驟4 ;服務(wù)器接收端發(fā)送響應(yīng)數(shù)據(jù)ACK
[0026] 步驟5 ;M2M終端判斷網(wǎng)絡(luò)擁塞情況,根據(jù)擁塞情況指示底層是否進(jìn)行休眠操作。
[0027] 優(yōu)選地,步驟1進(jìn)一步包括初始化擁塞窗口大小的能力。
[0028] 優(yōu)選地,步驟3進(jìn)一步包括對(duì)數(shù)據(jù)CRC進(jìn)行校驗(yàn),如果CRC校驗(yàn)通過(guò),則發(fā)送ACK 數(shù)據(jù)包給M2M終端。
[0029] 優(yōu)選地,步驟5進(jìn)一步包括對(duì)網(wǎng)絡(luò)層擁塞程度做判斷。
[0030] 優(yōu)選地,對(duì)網(wǎng)絡(luò)層擁塞程度做判斷時(shí)進(jìn)一步包括:如果到達(dá)擁塞等級(jí),則停止發(fā)送 TCP數(shù)據(jù)包。
[0031] 優(yōu)選地,對(duì)網(wǎng)絡(luò)層擁塞程度做判斷時(shí)進(jìn)一步包括通過(guò)收到的ACK數(shù)目來(lái)確定網(wǎng)絡(luò) 擁塞狀況,如果收到的ACK數(shù)據(jù)包次數(shù)超過(guò)闊值,則判定網(wǎng)絡(luò)擁塞。
[0032] 優(yōu)選地,所述預(yù)定值為3。
[0033] 優(yōu)選地,M2M終端具有向物理層發(fā)送信令,使終端進(jìn)入休眠狀態(tài)的能力。
[0034] 優(yōu)選地,M2M終端根據(jù)發(fā)給發(fā)送端的ACK值,確定發(fā)送端是否進(jìn)入休眠狀態(tài),如果 進(jìn)入休眠狀態(tài),獲得休眠的時(shí)間間隔,不再等待發(fā)送端的TCP數(shù)據(jù)塊。
[00巧]優(yōu)選地,進(jìn)一步包括發(fā)送端休眠狀態(tài)結(jié)束后,物理層通知高層,高層獲取當(dāng)前TCP 發(fā)送塊的序號(hào)。
[0036] 優(yōu)選地,所述休眠的時(shí)間間隔按照如下公式確定;(已發(fā)送的數(shù)據(jù)包的大小/(未 發(fā)送的數(shù)據(jù)包的大小+1))/2
[0037] 第S個(gè)技術(shù)方案是提出一種用于M2M終端系統(tǒng)中的TCP傳輸擁塞控制方法,如圖 4所示,該系統(tǒng)中至少包括M2M接收端和服務(wù)器接收端,包括W下步驟:
[0038] 步驟1;發(fā)送端開(kāi)始發(fā)送TCP數(shù)據(jù)包,初始化擁塞窗口(CWND)大??;
[003引步驟2 ;接收端接收到TCP包后,通過(guò)CRC校驗(yàn)數(shù)據(jù)正確性,如果正確返回ACK;
[0040] 步驟3:發(fā)送端對(duì)網(wǎng)絡(luò)層擁塞程度做判斷,如果到達(dá)設(shè)定的擁塞等級(jí)a,則減小 CWND,繼續(xù)發(fā)生TCP數(shù)據(jù)塊;如果到達(dá)擁塞等級(jí)b,則停止發(fā)送TCP數(shù)據(jù)包,向底層發(fā)送信 令,下層接到信令后,進(jìn)入休眠狀態(tài);
[0041] 步驟4;接收端根據(jù)發(fā)給發(fā)送端的ACK值,確定發(fā)送端是否進(jìn)入休眠狀態(tài),如果進(jìn) 入休眠狀態(tài),獲得休眠的時(shí)間間隔,不再等待發(fā)送端的TCP數(shù)據(jù)塊;
[0042] 步驟5;發(fā)送端休眠狀態(tài)結(jié)束后,其物理層通知高層,高層獲取當(dāng)前TCP發(fā)送塊的 序號(hào);
[0043] 步驟6;接收端在休眠時(shí)間結(jié)束后,繼續(xù)等待下一個(gè)TCP數(shù)據(jù)塊。
[0044] 步驟7;如果數(shù)據(jù)發(fā)送完成,則退出上述步驟,斷開(kāi)TCP鏈接,否則重復(fù)步驟1~6;
[0045] 其中,步驟3中所述擁塞等級(jí)按照如下方法確定:
[0046] 通過(guò)檢測(cè)回路響應(yīng)時(shí)間(RTT)來(lái)確定,RIT指一個(gè)數(shù)據(jù)包從源端發(fā)送到接收端直 至源端收到接收端該數(shù)據(jù)包確認(rèn)信息所經(jīng)歷的時(shí)間間隔,源數(shù)據(jù)段發(fā)送時(shí)候會(huì)在TCP報(bào)文 中加入時(shí)間戳,接收端接收后,讀取收到數(shù)據(jù)包的時(shí)間戳,通過(guò)計(jì)算兩個(gè)的時(shí)間差值得到 RTT;
[0047] 優(yōu)選地,進(jìn)一步包括:發(fā)送端發(fā)送數(shù)據(jù)包,收到ACK后,如果RTT值小于闊值1,則 確定為等級(jí)a,發(fā)送端調(diào)整窗口,增大CWND,否則大于闊值1減小CWND;
[0048] 優(yōu)選地,進(jìn)一步包括:發(fā)送端收到下一個(gè)ACK包,如果RIT闊值大于闊值2,該時(shí)候 接收端判斷網(wǎng)絡(luò)擁塞比較嚴(yán)重,則確定為等級(jí)b。
[0049] 優(yōu)選地,所述休眠的時(shí)間間隔按照如下公式確定;(已發(fā)送的數(shù)據(jù)包的大小/(未 發(fā)送的數(shù)據(jù)包的大小+1))/2。
【附圖說(shuō)明】
[0050] 圖1;本發(fā)明設(shè)及的系統(tǒng)結(jié)構(gòu)圖。
[005。圖2;本發(fā)明設(shè)及的TCP傳輸擁塞控制原理圖。
[005引圖3;本發(fā)明設(shè)及的發(fā)送端擁塞控制流程圖之一。
[005引圖4;本發(fā)明設(shè)及的發(fā)送端擁塞控制流程圖之二[0054]圖5;本發(fā)明設(shè)及的接收端擁塞控制流程圖 [00巧]圖6 ;本發(fā)明設(shè)及的發(fā)送端控制終端休眠流程圖
【具體實(shí)施方式】