新聞中心

EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > 基于GPRS的車隊(duì)管理系統(tǒng)傳輸協(xié)議

基于GPRS的車隊(duì)管理系統(tǒng)傳輸協(xié)議

——
作者:電子工程師 時(shí)間:2006-10-31 來源:東南大學(xué)電子工程系 郭龍,史小軍 收藏
引言

由于土地資源的限制,各級道路建設(shè)的速度遠(yuǎn)遠(yuǎn)趕不上機(jī)動車輛的增長速度,造成城市交通擁擠,加上人們對機(jī)動車安全措施的重視,使得車隊(duì)管理系統(tǒng)越來越多地受到業(yè)界的關(guān)注。

典型的車隊(duì)管理系統(tǒng)由監(jiān)控中心,通信和車載終端3部分組成。
在通信部分,(通用分組電業(yè)務(wù))由于其永遠(yuǎn)在線、流量計(jì)費(fèi)、高速傳輸?shù)忍攸c(diǎn)已成為廣大車隊(duì)管理系統(tǒng)制造商的首選,是在現(xiàn)有的GSM(全球移動通信系統(tǒng))上增加了3種新的邏輯網(wǎng)絡(luò)實(shí)體并進(jìn)行相應(yīng)的軟件升級而發(fā)展起來的,這3種邏輯網(wǎng)絡(luò)是:SGSN(服務(wù)支持節(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是一個(gè)簡單的面向數(shù)據(jù)報(bào)的運(yùn)輸層協(xié)議,進(jìn)程的每個(gè)輸出操作都正好產(chǎn)生一個(gè)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ù)后啟動一個(gè)定時(shí)器。等待對端數(shù)據(jù)確認(rèn);另一端對收到的數(shù)據(jù)進(jìn)行確認(rèn),對失序的數(shù)據(jù)重新排序,丟棄重復(fù)數(shù)據(jù);TCP提供端到端的流量控制,并計(jì)算和驗(yàn)證一個(gè)強(qiáng)制性的端到端檢驗(yàn)和。

面向連接意味著兩個(gè)使用TCP的應(yīng)用(通常是一個(gè)客戶和一個(gè)服務(wù)器)在彼此交換數(shù)據(jù)之前必須先建立一個(gè)TCP連接。這一過程與打電話很相似,先撥號振鈴,等待對摘機(jī)說"喂",然后才說明是誰。

TCP傳輸協(xié)議連接過程如下,首先建立連接,TCP用3個(gè)報(bào)文段完成連接的建立,這個(gè)過程也稱為三次握手(three-way handshake),如圖2所示。

終止一個(gè)連接采用的是修改的三次握手協(xié)議,即要經(jīng)過4次握手,如圖3所示。

數(shù)據(jù)發(fā)送必須經(jīng)過接收方確認(rèn),并且有超時(shí)重傳等保障機(jī)制,這是TCP傳輸有一定保障的根本原因,可以看到,完成一次數(shù)據(jù)傳送,除了完成連接、終止連接外,至少還需要一個(gè)數(shù)據(jù)分組與一個(gè)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ù)中心這個(gè)通路上,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ù)長度時(shí)UDP和TCP的傳輸效率。

通過上述分析,可看到單包傳送的數(shù)據(jù)量比較小時(shí),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)世界時(shí)間)、日期、經(jīng)緯度以及地面速度等信息,加上該車輛的標(biāo)志,形成GPS報(bào)文段發(fā)送給監(jiān)控中心,總的數(shù)據(jù)量為12字節(jié)(時(shí)間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)致幾乎每個(gè)數(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é)議中超時(shí)重傳等功能完全可以滿足對UDP中少量丟包情況的處理,按照UDP丟包的概率,重傳概率也在1左右,如果選用TCP ,將導(dǎo)致數(shù)據(jù)量大大增加。GPRS是按流量計(jì)費(fèi)的,因此采用TCP則意味著更大的成本損耗。

3 兩種傳輸協(xié)議適應(yīng)性的比較

車隊(duì)管理系統(tǒng)的實(shí)時(shí)性要求很高,超過時(shí)效的數(shù)據(jù)沒有任何用途。TCP連接保證數(shù)據(jù)傳輸?shù)目煽啃裕總€(gè)具體TCP實(shí)現(xiàn)必須選擇一個(gè)報(bào)文段MSL(最大生存時(shí)間),它是任何報(bào)文段被丟棄前在網(wǎng)絡(luò)內(nèi)的最長時(shí)間,這個(gè)時(shí)間是有限的,RFC 793[Postel 1981c]指出MSL為2min。然而,實(shí)現(xiàn)中的常用值是30s、1min或2min。使用UDP連接,當(dāng)網(wǎng)絡(luò)擁塞時(shí),部分?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ā)送端一般會重試并等待一段時(shí)間后終止這個(gè)連接,一般說來這個(gè)時(shí)間約為30s-2min。一個(gè)終端出現(xiàn)異常導(dǎo)致服務(wù)器的一個(gè)線程等待1min不是大問題,但如果網(wǎng)絡(luò)擁塞導(dǎo)致大量這種情況,服務(wù)器端為了維護(hù)一個(gè)非常大的半連接列表將消耗非常多的資源,即使是簡單的保存并遍歷也會消耗非常多的CPU時(shí)間和內(nèi)存,何況還要不斷對這個(gè)列表中的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)重時(shí)可以讓GPRS網(wǎng)絡(luò)及服務(wù)器系統(tǒng)崩潰,對應(yīng)用于車隊(duì)管理系統(tǒng)中幾十、幾百甚至上千個(gè)車載中斷終端的情況,其后果是難以想象的。

4 結(jié)束語

本文對兩種傳輸協(xié)議進(jìn)行了比較,可見對于車隊(duì)管理系統(tǒng)這種多點(diǎn)分散、數(shù)據(jù)量小、實(shí)時(shí)性要求高、終端數(shù)量多的應(yīng)用,采用UDP會更好一些。

tcp/ip相關(guān)文章:tcp/ip是什么




評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉