基于GPRS的車隊(duì)管理系統(tǒng)傳輸協(xié)議
由于土地資源的限制,各級道路建設(shè)的速度遠(yuǎn)遠(yuǎn)趕不上機(jī)動車輛的增長速度,造成城市交通擁擠,加上人們對機(jī)動車安全措施的重視,使得車隊(duì)管理系統(tǒng)越來越多地受到業(yè)界的關(guān)注。
典型的車隊(duì)管理系統(tǒng)由監(jiān)控中心,通信網(wǎng)絡(luò)和車載終端3部分組成。
在通信網(wǎng)絡(luò)部分,GPRS(通用分組無線電業(yè)務(wù))由于其永遠(yuǎn)在線、流量計(jì)費(fèi)、高速傳輸?shù)忍攸c(diǎn)已成為廣大車隊(duì)管理系統(tǒng)制造商的首選,GPRS是在現(xiàn)有的GSM(全球移動通信系統(tǒng))網(wǎng)絡(luò)上增加了3種新的邏輯網(wǎng)絡(luò)實(shí)體并進(jìn)行相應(yīng)的軟件升級而發(fā)展起來的,這3種邏輯網(wǎng)絡(luò)是:SGSN(服務(wù)GPRS支持節(jié)點(diǎn))、GGSN(網(wǎng)關(guān)GPRS支持節(jié)點(diǎn))和PCU(分組控制單元)。應(yīng)用中,用戶在GPRS網(wǎng)絡(luò)上可任意選擇UDP(通用數(shù)據(jù)報(bào)協(xié)議)與TCP(傳輸控制協(xié)議),而沒有明確的標(biāo)準(zhǔn)。
本文將兩種協(xié)議進(jìn)行對比,從可靠性、適用性、資費(fèi)等方面深入討論車隊(duì)監(jiān)控系統(tǒng)中適合采用哪種數(shù)據(jù)傳輸協(xié)議。
1 兩種傳輸協(xié)議的定義與主要特征的比較
UDP是一個簡單的面向數(shù)據(jù)報(bào)的運(yùn)輸層協(xié)議,進(jìn)程的每個輸出操作都正好產(chǎn)生一個UDP數(shù)據(jù)報(bào),并組裝成一份待發(fā)送的IP數(shù)據(jù)報(bào),UDP數(shù)據(jù)報(bào)封裝成一份IP數(shù)據(jù)報(bào)的格式如圖1所示。
UDP不提供可靠性連接,它把應(yīng)用程序傳給IP層的數(shù)據(jù)發(fā)送出去,但是并不保證它們能到達(dá)目的地。
TCP和UDP都使用相同的網(wǎng)絡(luò)層IP。TCP提供了一種可靠的面向連接的字節(jié)流運(yùn)輸層服務(wù)。
TCP向應(yīng)用層提供與UDP完全不同的服務(wù)。TCP提供一種面向連接的、可靠的字節(jié)來服務(wù),TCP將用戶數(shù)據(jù)打包構(gòu)成報(bào)文段;它發(fā)送數(shù)據(jù)后啟動一個定時器。等待對端數(shù)據(jù)確認(rèn);另一端對收到的數(shù)據(jù)進(jìn)行確認(rèn),對失序的數(shù)據(jù)重新排序,丟棄重復(fù)數(shù)據(jù);TCP提供端到端的流量控制,并計(jì)算和驗(yàn)證一個強(qiáng)制性的端到端檢驗(yàn)和。
面向連接意味著兩個使用TCP的應(yīng)用(通常是一個客戶和一個服務(wù)器)在彼此交換數(shù)據(jù)之前必須先建立一個TCP連接。這一過程與打電話很相似,先撥號振鈴,等待對摘機(jī)說"喂",然后才說明是誰。
TCP傳輸協(xié)議連接過程如下,首先建立連接,TCP用3個報(bào)文段完成連接的建立,這個過程也稱為三次握手(three-way handshake),如圖2所示。
終止一個連接采用的是修改的三次握手協(xié)議,即要經(jīng)過4次握手,如圖3所示。
數(shù)據(jù)發(fā)送必須經(jīng)過接收方確認(rèn),并且有超時重傳等保障機(jī)制,這是TCP傳輸有一定保障的根本原因,可以看到,完成一次數(shù)據(jù)傳送,除了完成連接、終止連接外,至少還需要一個數(shù)據(jù)分組與一個ACK分組。
UDP與TCP提供不同的傳輸方式和傳輸質(zhì)量,TCP以增加網(wǎng)絡(luò)開銷的方式提供傳輸保障。在GPRS網(wǎng)絡(luò)實(shí)際測試,網(wǎng)絡(luò)正常情況下,從GPRS DTU→GPRR網(wǎng)絡(luò)→互聯(lián)網(wǎng)→用戶數(shù)據(jù)中心這個通路上,UDP傳輸有效性大于99%,TCP傳輸有性約為100%。
2 兩種傳輸協(xié)議傳輸效率的比較
在只考慮UDP/TCP分組情況下,發(fā)送應(yīng)用數(shù)據(jù),數(shù)據(jù)包為IP頭+UDP頭/TCP頭+應(yīng)用數(shù)據(jù)。GPRS網(wǎng)絡(luò)計(jì)費(fèi)按照流量計(jì)費(fèi),數(shù)據(jù)傳送效率就顯得十分重要。由于目前分組數(shù)據(jù)機(jī)費(fèi)按照網(wǎng)絡(luò)協(xié)議2層以上數(shù)據(jù)計(jì)算(即IP包數(shù)據(jù)),傳輸效率按下式計(jì)算:
表1列舉了一些數(shù)據(jù)長度時UDP和TCP的傳輸效率。 |
通過上述分析,可看到單包傳送的數(shù)據(jù)量比較小時,UDP傳輸效率明顯高于TCP。以上只是數(shù)據(jù)分組的傳輸效率,TCP還需要連接、終止連接、ACK包等額外開銷,UDP與TCP實(shí)際傳送效率差別將遠(yuǎn)大于表1中的計(jì)算效率。
在車隊(duì)管理系統(tǒng)中,傳輸頻率最高的是車輛的定位信息。車載終端通過GPS(全球定位系統(tǒng))接收機(jī)接收到的定位信息經(jīng)過車載終端的微控制器處理后,形成關(guān)于車輛的UTC(協(xié)調(diào)世界時間)、日期、經(jīng)緯度以及地面速度等信息,加上該車輛的標(biāo)志,形成GPS報(bào)文段發(fā)送給監(jiān)控中心,總的數(shù)據(jù)量為12字節(jié)(時間3字節(jié),日期3字節(jié),經(jīng)緯度4字節(jié),速度1字節(jié),標(biāo)志1字節(jié)),UDP效率為92.30%,TCP效率為82.75%,而且由于數(shù)據(jù)量小,發(fā)送間隔通常從幾秒到幾分,數(shù)據(jù)報(bào)文之間發(fā)送間隔通常超過TCP需要的最大確認(rèn)間隔,導(dǎo)致幾乎每個數(shù)據(jù)報(bào)文都需要在TCP中的ACK報(bào)文,因而實(shí)際傳輸中TCP的效率要更低一些。此外,傳輸保障是由應(yīng)用協(xié)議與網(wǎng)絡(luò)協(xié)議共同完成的,要充分選擇發(fā)揮應(yīng)用協(xié)議與網(wǎng)絡(luò)協(xié)議的優(yōu)勢,達(dá)到總的效率最高、效果最好的目的,在應(yīng)用協(xié)議中,大多具有基本的傳輸保障功能,通過應(yīng)用層協(xié)議中超時重傳等功能完全可以滿足對UDP中少量丟包情況的處理,按照UDP丟包的概率,重傳概率也在1左右,如果選用TCP ,將導(dǎo)致數(shù)據(jù)量大大增加。GPRS是按流量計(jì)費(fèi)的,因此采用TCP則意味著更大的成本損耗。
3 兩種傳輸協(xié)議適應(yīng)性的比較
車隊(duì)管理系統(tǒng)的實(shí)時性要求很高,超過時效的數(shù)據(jù)沒有任何用途。TCP連接保證數(shù)據(jù)傳輸?shù)目煽啃?,每個具體TCP實(shí)現(xiàn)必須選擇一個報(bào)文段MSL(最大生存時間),它是任何報(bào)文段被丟棄前在網(wǎng)絡(luò)內(nèi)的最長時間,這個時間是有限的,RFC 793[Postel 1981c]指出MSL為2min。然而,實(shí)現(xiàn)中的常用值是30s、1min或2min。使用UDP連接,當(dāng)網(wǎng)絡(luò)擁塞時,部分?jǐn)?shù)據(jù)包被丟棄,但可以改善接收數(shù)據(jù)嚴(yán)重滯后的情況,如果終端連接數(shù)量大,使用TCP連接可能帶來更嚴(yán)重的問題,GPRS終端與服務(wù)器建立了TCP連接并發(fā)送數(shù)據(jù)后,或者服務(wù)器向正在請求連接的終端發(fā)出SYN ACK應(yīng)答報(bào)文后可能無法收到對端的ACK報(bào)文,這種情況下發(fā)送端一般會重試并等待一段時間后終止這個連接,一般說來這個時間約為30s-2min。一個終端出現(xiàn)異常導(dǎo)致服務(wù)器的一個線程等待1min不是大問題,但如果網(wǎng)絡(luò)擁塞導(dǎo)致大量這種情況,服務(wù)器端為了維護(hù)一個非常大的半連接列表將消耗非常多的資源,即使是簡單的保存并遍歷也會消耗非常多的CPU時間和內(nèi)存,何況還要不斷對這個列表中的IP進(jìn)行重試。如果服務(wù)器的TCP/IP棧不夠強(qiáng)大,最后的結(jié)果往往是堆棧溢出崩潰。即使服務(wù)器系統(tǒng)足夠強(qiáng)大,也忙于處理TCP連接請求以及重傳數(shù)據(jù)導(dǎo)致系統(tǒng)性能嚴(yán)重下降,大量重傳數(shù)據(jù)進(jìn)一步加劇GPRS網(wǎng)絡(luò)的擁塞情況,嚴(yán)重時可以讓GPRS網(wǎng)絡(luò)及服務(wù)器系統(tǒng)崩潰,對應(yīng)用于車隊(duì)管理系統(tǒng)中幾十、幾百甚至上千個車載中斷終端的情況,其后果是難以想象的。
4 結(jié)束語
本文對兩種傳輸協(xié)議進(jìn)行了比較,可見對于車隊(duì)管理系統(tǒng)這種多點(diǎn)分散、數(shù)據(jù)量小、實(shí)時性要求高、終端數(shù)量多的應(yīng)用,采用UDP會更好一些。
tcp/ip相關(guān)文章:tcp/ip是什么
評論